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:
1 parent
e008288d52
commit
5a4b51112f
7 files changed
+49
-21
No files matched your search
@@ -54,7 +54,9 @@
|
|||||||
home-manager.sharedModules = [
|
home-manager.sharedModules = [
|
||||||
plasma-manager.homeModules.plasma-manager
|
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; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/vps
|
./hosts/vps
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
vscode-server.nixosModules.default
|
vscode-server.nixosModules.default
|
||||||
agenix.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;
|
||||||
|
};
|
||||||
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./git.nix
|
||||||
|
./shell.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
programs.btop.enable = true;
|
||||||
|
|
||||||
|
home.stateVersion = "25.11";
|
||||||
|
}
|
||||||
@@ -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";
|
|
||||||
}
|
|
||||||
@@ -1,10 +1,11 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
programs.btop.package = pkgs.btop.override { cudaSupport = false; rocmSupport = true; };
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# --- Base y Terminal ---
|
# --- Base y Terminal ---
|
||||||
vim
|
vim
|
||||||
fastfetch
|
fastfetch
|
||||||
(btop.override { cudaSupport = false; rocmSupport = true; })
|
|
||||||
nvtopPackages.full
|
nvtopPackages.full
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -6,6 +6,7 @@
|
|||||||
../../modules/profiles/desktop.nix
|
../../modules/profiles/desktop.nix
|
||||||
../../modules/profiles/server.nix
|
../../modules/profiles/server.nix
|
||||||
../../modules/services/samba.nix
|
../../modules/services/samba.nix
|
||||||
|
../../modules/system/home-profile.nix
|
||||||
../../modules/system/nix-ld.nix
|
../../modules/system/nix-ld.nix
|
||||||
../../modules/system/packages.nix
|
../../modules/system/packages.nix
|
||||||
];
|
];
|
||||||
@@ -19,6 +20,18 @@
|
|||||||
steam-run
|
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 = {
|
myNetworking = {
|
||||||
hostName = "miku-homelab";
|
hostName = "miku-homelab";
|
||||||
useNetworkManager = true;
|
useNetworkManager = true;
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
{ config, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../modules/profiles/server.nix
|
../../modules/profiles/server.nix
|
||||||
|
../../modules/system/home-profile.nix
|
||||||
../../modules/system/packages.nix
|
../../modules/system/packages.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
myUsers = {
|
myUsers = {
|
||||||
admins.emmatherock = {
|
admins.emmatherock = {
|
||||||
description = "EmmaTheRock";
|
description = "EmmaTheRock";
|
||||||
|
shell = pkgs.fish;
|
||||||
extraGroups = [ "wheel" ];
|
extraGroups = [ "wheel" ];
|
||||||
authorizedKeys = [
|
authorizedKeys = [
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8vfwM5g9RJXqHtqTgNqsYg9SxSm+UMvFqTjBoAsLJ6 emmatherock@MAIN-PC"
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA8vfwM5g9RJXqHtqTgNqsYg9SxSm+UMvFqTjBoAsLJ6 emmatherock@MAIN-PC"
|
||||||
|
|||||||
@@ -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.";
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in new issue
Block a user