Fold more logic into the tagging system

This commit is contained in:
Bun 2025-06-30 19:42:19 -04:00
parent 3398c611b7
commit 7999794410
14 changed files with 60 additions and 25 deletions

View file

@ -2,6 +2,7 @@
{
options.home = with lib; {
desktop.enable = mkEnableOption "Desktop programs and services";
chat.enable = mkEnableOption "Chat applications";
gaming.enable = mkEnableOption "Gaming apps and programs";
production.enable = mkEnableOption "Apps for visual productivity";
school.enable = mkEnableOption "Apps for school and college";

View file

@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }:
{
home = lib.mkIf config.home.chat.enable {
packages = with pkgs; [
element-desktop
vesktop
wasistlos
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/Element"
"data/${removePrefix "${homeDirectory}/" configHome}/vesktop"
"data/${removePrefix "${homeDirectory}/" cacheHome}/wasistlos"
];
};
}

View file

@ -2,6 +2,7 @@
{
imports = [
./avtools
./chat
./gaming
./general
./headless

View file

@ -4,12 +4,10 @@
packages = with pkgs; [
libreoffice
qbittorrent
vesktop
];
persistence."${config.xdg.userDirs.extraConfig.XDG_PERSIST_DIR}".directories =
with lib; with config.home; with config.xdg; [
"data/${removePrefix "${homeDirectory}/" configHome}/qBittorrent"
"data/${removePrefix "${homeDirectory}/" configHome}/vesktop"
];
};
}

View file

@ -7,7 +7,7 @@
support32Bit = true;
};
pulse.enable = true;
#jack.enable = true;
jack.enable = builtins.elem "production" config.system.nixos.tags;
wireplumber.extraConfig."wireplumber.settings"."bluetooth.autoswitch-to-headset-profile" = false;
};
}

View file

@ -1,7 +1,7 @@
{ ... }:
{ config, ... }:
{
networking.wireless = {
enable = true;
enable = !config.networking.networkmanager.enable;
userControlled.enable = true;
};
}

View file

@ -1,7 +1,7 @@
{ config, ... }:
{
programs.gamemode = {
enable = builtins.elem "pc" config.system.nixos.tags;
enable = builtins.elem "gaming" config.system.nixos.tags;
settings = {
general.renice = 10;
gpu = {

View file

@ -45,6 +45,7 @@
imports = [ ../../../home ];
home = {
desktop.enable = builtins.elem "pc" config.system.nixos.tags;
chat.enable = builtins.elem "chat" config.system.nixos.tags;
gaming.enable = builtins.elem "gaming" config.system.nixos.tags;
production.enable = builtins.elem "production" config.system.nixos.tags;
school.enable = builtins.elem "school" config.system.nixos.tags;