diff --git a/flake.nix b/flake.nix index 4a6a7bd..f793ddb 100644 --- a/flake.nix +++ b/flake.nix @@ -54,7 +54,9 @@ home-manager.sharedModules = [ plasma-manager.homeModules.plasma-manager ]; - home-manager.users.emmatherock = import ./home/emmatherock/home.nix; + home-manager.users.emmatherock = { osConfig, ... }: { + imports = [ ./home/emmatherock/core.nix ] ++ osConfig.myHomeProfile.extraPrograms; + }; } ]; }; @@ -65,8 +67,17 @@ specialArgs = { inherit inputs; }; modules = [ ./hosts/vps + home-manager.nixosModules.home-manager vscode-server.nixosModules.default agenix.nixosModules.default + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.emmatherock = { osConfig, ... }: { + imports = [ ./home/emmatherock/core.nix ] ++ osConfig.myHomeProfile.extraPrograms; + }; + } ]; }; }; diff --git a/home/emmatherock/core.nix b/home/emmatherock/core.nix new file mode 100644 index 0000000..189bfba --- /dev/null +++ b/home/emmatherock/core.nix @@ -0,0 +1,11 @@ +{ + imports = [ + ./git.nix + ./shell.nix + ]; + + programs.home-manager.enable = true; + programs.btop.enable = true; + + home.stateVersion = "25.11"; +} diff --git a/home/emmatherock/home.nix b/home/emmatherock/home.nix deleted file mode 100644 index d89f972..0000000 --- a/home/emmatherock/home.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - imports = [ - ./agents.nix - ./audio.nix - ./desktop-apps.nix - ./deskflow.nix - ./gaming.nix - ./git.nix - ./media.nix - ./packages.nix - ./plasma.nix - ./shell.nix - ./vscode.nix - ]; - - programs.home-manager.enable = true; - home.stateVersion = "25.11"; -} diff --git a/home/emmatherock/packages.nix b/home/emmatherock/packages.nix index a772e6c..0d03a66 100644 --- a/home/emmatherock/packages.nix +++ b/home/emmatherock/packages.nix @@ -1,10 +1,11 @@ { pkgs, ... }: { + programs.btop.package = pkgs.btop.override { cudaSupport = false; rocmSupport = true; }; + home.packages = with pkgs; [ # --- Base y Terminal --- vim fastfetch - (btop.override { cudaSupport = false; rocmSupport = true; }) nvtopPackages.full ]; } diff --git a/hosts/miku-homelab/default.nix b/hosts/miku-homelab/default.nix index 9d30f40..d794feb 100644 --- a/hosts/miku-homelab/default.nix +++ b/hosts/miku-homelab/default.nix @@ -6,6 +6,7 @@ ../../modules/profiles/desktop.nix ../../modules/profiles/server.nix ../../modules/services/samba.nix + ../../modules/system/home-profile.nix ../../modules/system/nix-ld.nix ../../modules/system/packages.nix ]; @@ -19,6 +20,18 @@ steam-run ]; + myHomeProfile.extraPrograms = [ + ../../home/emmatherock/agents.nix + ../../home/emmatherock/audio.nix + ../../home/emmatherock/desktop-apps.nix + ../../home/emmatherock/deskflow.nix + ../../home/emmatherock/gaming.nix + ../../home/emmatherock/media.nix + ../../home/emmatherock/packages.nix + ../../home/emmatherock/plasma.nix + ../../home/emmatherock/vscode.nix + ]; + myNetworking = { hostName = "miku-homelab"; useNetworkManager = true; diff --git a/hosts/vps/default.nix b/hosts/vps/default.nix index 491a17b..8f98ddc 100644 --- a/hosts/vps/default.nix +++ b/hosts/vps/default.nix @@ -1,9 +1,10 @@ -{ config, ... }: +{ config, pkgs, ... }: { imports = [ ./hardware-configuration.nix ../../modules/profiles/server.nix + ../../modules/system/home-profile.nix ../../modules/system/packages.nix ]; @@ -39,6 +40,7 @@ myUsers = { admins.emmatherock = { description = "EmmaTheRock"; + shell = pkgs.fish; extraGroups = [ "wheel" ]; authorizedKeys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8vfwM5g9RJXqHtqTgNqsYg9SxSm+UMvFqTjBoAsLJ6 emmatherock@MAIN-PC" diff --git a/modules/system/home-profile.nix b/modules/system/home-profile.nix new file mode 100644 index 0000000..8df3291 --- /dev/null +++ b/modules/system/home-profile.nix @@ -0,0 +1,8 @@ +{ lib, ... }: +{ + options.myHomeProfile.extraPrograms = lib.mkOption { + type = lib.types.listOf lib.types.path; + default = [ ]; + description = "Extra Home Manager modules to import for this user, on top of the core profile."; + }; +}