From 79997944100b7cf945fdd21c8516c61b328e6a25 Mon Sep 17 00:00:00 2001 From: Bun Date: Mon, 30 Jun 2025 19:42:19 -0400 Subject: [PATCH] Fold more logic into the tagging system --- hosts/jupiter/disko/default.nix | 2 +- hosts/jupiter/jovian/default.nix | 29 +++++++------------ hosts/jupiter/services/default.nix | 8 +++++ hosts/jupiter/services/nginx/default.nix | 6 ++++ .../jupiter/services/nginx/nixfox/default.nix | 10 +++++++ hosts/tower/default.nix | 1 + modules/home/profiles/default.nix | 1 + modules/home/programs/misc/chat/default.nix | 16 ++++++++++ modules/home/programs/misc/default.nix | 1 + .../home/programs/misc/general/default.nix | 2 -- modules/system/devices/audio/default.nix | 2 +- .../devices/networking/wireless/default.nix | 4 +-- modules/system/programs/gaming/default.nix | 2 +- modules/system/users/main/default.nix | 1 + 14 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 hosts/jupiter/services/nginx/default.nix create mode 100644 hosts/jupiter/services/nginx/nixfox/default.nix create mode 100644 modules/home/programs/misc/chat/default.nix diff --git a/hosts/jupiter/disko/default.nix b/hosts/jupiter/disko/default.nix index abb7808a..3cd69390 100644 --- a/hosts/jupiter/disko/default.nix +++ b/hosts/jupiter/disko/default.nix @@ -4,7 +4,7 @@ disk = { "${name}" = { type = "disk"; - device = "/dev/nvme0n1"; + device = "/dev/disk/by-id/nvme-Sabrent_SB-2130-1TB_48791579308725"; content = { type = "gpt"; partitions = { diff --git a/hosts/jupiter/jovian/default.nix b/hosts/jupiter/jovian/default.nix index b8d075e9..c6c170d8 100644 --- a/hosts/jupiter/jovian/default.nix +++ b/hosts/jupiter/jovian/default.nix @@ -3,6 +3,15 @@ imports = [ ./desktop ]; config = lib.mkIf config.jovian.steam.enable { + # Kernel and hardware + boot = { + kernelPackages = lib.mkForce pkgs.linuxPackages_jovian; + supportedFilesystems.nfs = lib.mkForce false; + }; + + hardware.xone.enable = true; + + # Steam and Jovian services jovian = { steam = { autoStart = true; @@ -18,18 +27,10 @@ }; }; - # Evil kernel - boot.kernelPackages = lib.mkForce pkgs.linuxPackages_jovian; - programs.steam.extest.enable = true; - hardware.xone.enable = true; - - # Use networkmanager for ui compatibility - networking = { - networkmanager.enable = true; - wireless.enable = lib.mkForce false; - }; + # Networkmanager for UI compatibility + networking.networkmanager.enable = true; # Disable conflicting services services = { @@ -37,14 +38,6 @@ tlp.enable = lib.mkForce false; }; - # Disable network filesystems - fileSystems = { - "midas".enable = false; - "kitty".enable = false; - "detritus".enable = false; - "prophet".enable = false; - }; - environment.persistence."/persist".directories = [ "/etc/NetworkManager/system-connections" "/var/lib/decky-loader" diff --git a/hosts/jupiter/services/default.nix b/hosts/jupiter/services/default.nix index 3ead25ff..4aec46c2 100644 --- a/hosts/jupiter/services/default.nix +++ b/hosts/jupiter/services/default.nix @@ -9,5 +9,13 @@ libvirtd.enable = true; vmware.host.enable = true; }; + + services.nginx = { + enable = true; + virtualHosts."localhost" = { + default = true; + root = "/var/www/landing-page"; + }; + }; }; } diff --git a/hosts/jupiter/services/nginx/default.nix b/hosts/jupiter/services/nginx/default.nix new file mode 100644 index 00000000..99142a59 --- /dev/null +++ b/hosts/jupiter/services/nginx/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ ./nixfox ]; + + services.nginx.enable = true; +} diff --git a/hosts/jupiter/services/nginx/nixfox/default.nix b/hosts/jupiter/services/nginx/nixfox/default.nix new file mode 100644 index 00000000..3b9860c6 --- /dev/null +++ b/hosts/jupiter/services/nginx/nixfox/default.nix @@ -0,0 +1,10 @@ +{ config, lib, ... }: +{ + services.nginx = { + enable = true; + virtualHosts."localhost" = { + default = true; + root = "/var/www/landing-page"; + }; + }; +} diff --git a/hosts/tower/default.nix b/hosts/tower/default.nix index 11daf4cb..5a764540 100644 --- a/hosts/tower/default.nix +++ b/hosts/tower/default.nix @@ -10,6 +10,7 @@ system = { nixos.tags = [ "pc" + "chat" "gaming" "production" ]; diff --git a/modules/home/profiles/default.nix b/modules/home/profiles/default.nix index 7b85ee23..008fba9f 100644 --- a/modules/home/profiles/default.nix +++ b/modules/home/profiles/default.nix @@ -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"; diff --git a/modules/home/programs/misc/chat/default.nix b/modules/home/programs/misc/chat/default.nix new file mode 100644 index 00000000..9a55dc85 --- /dev/null +++ b/modules/home/programs/misc/chat/default.nix @@ -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" + ]; + }; +} diff --git a/modules/home/programs/misc/default.nix b/modules/home/programs/misc/default.nix index f22a58fd..bab93757 100644 --- a/modules/home/programs/misc/default.nix +++ b/modules/home/programs/misc/default.nix @@ -2,6 +2,7 @@ { imports = [ ./avtools + ./chat ./gaming ./general ./headless diff --git a/modules/home/programs/misc/general/default.nix b/modules/home/programs/misc/general/default.nix index f8e7530e..855583fd 100644 --- a/modules/home/programs/misc/general/default.nix +++ b/modules/home/programs/misc/general/default.nix @@ -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" ]; }; } diff --git a/modules/system/devices/audio/default.nix b/modules/system/devices/audio/default.nix index 4d66e614..39f634aa 100644 --- a/modules/system/devices/audio/default.nix +++ b/modules/system/devices/audio/default.nix @@ -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; }; } diff --git a/modules/system/devices/networking/wireless/default.nix b/modules/system/devices/networking/wireless/default.nix index eab13bb7..15204dc2 100644 --- a/modules/system/devices/networking/wireless/default.nix +++ b/modules/system/devices/networking/wireless/default.nix @@ -1,7 +1,7 @@ -{ ... }: +{ config, ... }: { networking.wireless = { - enable = true; + enable = !config.networking.networkmanager.enable; userControlled.enable = true; }; } diff --git a/modules/system/programs/gaming/default.nix b/modules/system/programs/gaming/default.nix index 44949786..4f0806c7 100644 --- a/modules/system/programs/gaming/default.nix +++ b/modules/system/programs/gaming/default.nix @@ -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 = { diff --git a/modules/system/users/main/default.nix b/modules/system/users/main/default.nix index 88ccf70d..d646d278 100644 --- a/modules/system/users/main/default.nix +++ b/modules/system/users/main/default.nix @@ -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;