diff --git a/home/default.nix b/home/default.nix index d64df3ee..3e83076c 100644 --- a/home/default.nix +++ b/home/default.nix @@ -1,4 +1,9 @@ -{ home-manager, specialArgs, ... }: +{ + home-manager, + specialArgs, + config, + ... +}: { imports = [ home-manager.nixosModules.home-manager ]; @@ -11,5 +16,7 @@ home.username = "lilith"; home.stateVersion = "24.11"; }; - home-manager.extraSpecialArgs = specialArgs; + home-manager.extraSpecialArgs = specialArgs // { + systemConfig = config; + }; } diff --git a/home/lilith/default.nix b/home/lilith/default.nix index 9ea9c764..c1f4e12a 100644 --- a/home/lilith/default.nix +++ b/home/lilith/default.nix @@ -1,42 +1,46 @@ -{ sops-nix, ... }: +{ + systemConfig, + lib, + sops-nix, + ... +}: { imports = [ sops-nix.homeManagerModules.sops - - ./hyprland - ./rofi.nix - ./dunst.nix - ./hyprpanel.nix - ./env.nix - #zen-browser (WIP) - ./firefox - - ./alacritty.nix - ./clipman.nix - ./input.nix ./starship.nix ./fish.nix ./common.nix ./direnv.nix - # ./firefox.nix ./fzf.nix ./git.nix ./gpg.nix ./helix.nix ./packages.nix - ./playerctld.nix ./sops.nix ./ssh.nix - ./stylix.nix - ./thunderbird.nix - ./messaging.nix ./zsh ./nushell.nix ./hyfetch.nix + ] + ++ lib.optionals systemConfig.desktop.enable [ + ./stylix.nix + ./hyprland + ./rofi.nix + ./dunst.nix + ./hyprpanel.nix + + ./firefox + ./alacritty.nix + ./clipman.nix + ./input.nix + + ./playerctld.nix + ./thunderbird.nix + ./messaging.nix ]; } diff --git a/home/lilith/packages.nix b/home/lilith/packages.nix index eba7ba25..36241380 100644 --- a/home/lilith/packages.nix +++ b/home/lilith/packages.nix @@ -1,36 +1,52 @@ -{ pkgs, rose-pine-hyprcursor, ... }: { - home.packages = with pkgs; [ - rose-pine-hyprcursor.packages.${pkgs.stdenv.hostPlatform.system}.default - + systemConfig, + lib, + pkgs, + rose-pine-hyprcursor, + ... +}: +let + common = with pkgs; [ gcc gnumake git libsecret + nh + btop + htop + grc + nix-output-monitor + nvd + + unzip + yazi + bluez + + upower + libgtop + gvfs + gtksourceview3 + libsoup_3 + ]; + desktop = with pkgs; [ + + rose-pine-hyprcursor.packages.${pkgs.stdenv.hostPlatform.system}.default pulsemixer pavucontrol playerctl blueman networkmanagerapplet - nh + wl-clipboard clipse xdg-utils hyprshot - upower - libgtop - gvfs - bluez - gtksourceview3 - libsoup_3 - vlc obs-studio keepassxc - ncspot signal-desktop-bin telegram-desktop @@ -41,17 +57,17 @@ inkscape libreoffice - btop - htop - grc - nix-output-monitor - nvd + ueberzugpp + ]; + gaming = with pkgs; [ prismlauncher lutris - - unzip - ueberzugpp - yazi ]; +in +{ + home.packages = + common + ++ lib.optionals systemConfig.desktop.enable desktop + ++ lib.optionals systemConfig.gaming.enable gaming; } diff --git a/home/lilith/stylix.nix b/home/lilith/stylix.nix index 7c6c5974..6637d650 100644 --- a/home/lilith/stylix.nix +++ b/home/lilith/stylix.nix @@ -1,6 +1,6 @@ -{ ... }: +{ systemConfig, lib, ... }: { - stylix.targets = { + stylix.targets = lib.mkIf systemConfig.auto_styling.enable { firefox.enable = true; zen-browser.profileNames = [ "lilith" ]; }; diff --git a/hosts/lilith-lab/default.nix b/hosts/lilith-lab/default.nix index 4c4b3a53..b872c560 100644 --- a/hosts/lilith-lab/default.nix +++ b/hosts/lilith-lab/default.nix @@ -5,7 +5,7 @@ in { system.stateVersion = "24.05"; - nfs.host.enable = true; + server.nfs.enable = true; hardware.nvidia = { package = config.boot.kernelPackages.nvidiaPackages.stable;