feat(home-manager): add core+extras profile and wire it into vps

Introduce myHomeProfile.extraPrograms (mirrors myPackages.extra) so each
host's NixOS config declares which extra Home Manager modules it needs
on top of a shared core (fish, starship, btop, git). miku-homelab's
former home.nix becomes its extras list; vps gets home-manager for the
first time using core alone.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
emmatherockandClaude Sonnet 5 committed 2026-08-13 02:43:27 -03:00
1 parent e008288d52
commit 5a4b51112f
7 files changed
+49 -21

No files matched your search

+12 -1
View File
@@ -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;
};
}
];
};
};
+11
View File
@@ -0,0 +1,11 @@
{
imports = [
./git.nix
./shell.nix
];
programs.home-manager.enable = true;
programs.btop.enable = true;
home.stateVersion = "25.11";
}
-18
View File
@@ -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";
}
+2 -1
View File
@@ -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
];
}
+13
View File
@@ -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;
+3 -1
View File
@@ -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"
+8
View File
@@ -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.";
};
}