home-manager: enable for darman on every host, not just terra
terra was the only host with real ~/.zshrc/.zshenv (via home-manager), so it never hit the plain-zsh zsh-newuser-install wizard that shows up on first login everywhere else. Wire home-manager.nixosModules.home-manager into jupiter/neptun/mars/mercury (+ mercury-vm/jupiter-vbox test targets) and give darman terra's shared zsh baseline via home/common.nix, imported from common.nix. terra's own home.nix now only carries its desktop/dev-specific profile (Hyprland, alacritty, git identity, direnv, dev packages) layered on top via home-manager.users.darman.imports. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Du1WQRk1F8DenrPhf8TofF
This commit is contained in:
+13
@@ -53,6 +53,19 @@
|
||||
|
||||
environment.systemPackages = with pkgs; [ git btop tmux curl wget zsh-powerlevel10k lsd ];
|
||||
|
||||
# ---- home-manager (user-level config for darman, all hosts) ----
|
||||
# Requires home-manager.nixosModules.home-manager in the host's own
|
||||
# `modules` list (flake.nix) — this only sets values for options that
|
||||
# module declares, it doesn't import it, so every nixosSystem using
|
||||
# common.nix needs that line too (mirrors terra's original setup).
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
# Protects activation if a plain (non-symlink) ~/.zshrc etc. already
|
||||
# exists from before home-manager managed it — e.g. a host where the
|
||||
# zsh-newuser-install wizard's option (0) was used to silence itself.
|
||||
home-manager.backupFileExtension = "hm-bak";
|
||||
home-manager.users.darman.imports = [ ./home/common.nix ];
|
||||
|
||||
# ---- zsh / oh-my-zsh / powerlevel10k ----
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
@@ -80,6 +80,7 @@
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/jupiter/configuration.nix
|
||||
];
|
||||
};
|
||||
@@ -91,6 +92,7 @@
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/neptun/configuration.nix
|
||||
];
|
||||
};
|
||||
@@ -117,6 +119,7 @@
|
||||
modules = [
|
||||
disko.nixosModules.disko
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/mars/configuration.nix
|
||||
];
|
||||
};
|
||||
@@ -131,6 +134,7 @@
|
||||
modules = [
|
||||
(nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64.nix")
|
||||
sops-nix.nixosModules.sops
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/mercury/configuration.nix
|
||||
];
|
||||
};
|
||||
@@ -143,6 +147,7 @@
|
||||
inherit system; # x86_64-linux, fast to build/boot with KVM
|
||||
modules = [
|
||||
(nixpkgs + "/nixos/modules/virtualisation/qemu-vm.nix")
|
||||
home-manager.nixosModules.home-manager
|
||||
./common.nix
|
||||
./services/network/unbound.nix
|
||||
./services/network/pihole.nix
|
||||
@@ -169,7 +174,10 @@
|
||||
jupiter-vbox = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [ ./hosts/jupiter/vm.nix ];
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
./hosts/jupiter/vm.nix
|
||||
];
|
||||
};
|
||||
|
||||
# Custom kexec installer with our SSH key baked in, for headless install
|
||||
|
||||
@@ -43,11 +43,12 @@ in
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
# ---- home-manager (user-level config for darman) ----
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "hm-bak";
|
||||
# Base settings (useGlobalPkgs/useUserPackages/backupFileExtension) and the
|
||||
# shared zsh baseline now live in common.nix + home/common.nix, applied to
|
||||
# every host. This just layers terra's desktop/dev-specific profile on top
|
||||
# — home-manager.users.darman.imports merges additively across modules.
|
||||
home-manager.extraSpecialArgs = { inherit unstable inputs; };
|
||||
home-manager.users.darman = import ./home.nix;
|
||||
home-manager.users.darman.imports = [ ./home.nix ];
|
||||
|
||||
# ---- Boot (UEFI) ----
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
||||
@@ -3,9 +3,11 @@ let
|
||||
tome = pkgs.callPackage ../../pkgs/tome.nix { src = inputs.tome; };
|
||||
in
|
||||
{
|
||||
# home.stateVersion, programs.home-manager.enable, programs.zsh.enable all
|
||||
# come from home/common.nix (shared across every host) via
|
||||
# configuration.nix's home-manager.users.darman.imports.
|
||||
imports = [ ./home/hyprland.nix ./home/theme.nix ];
|
||||
|
||||
home.stateVersion = "26.05";
|
||||
home.keyboard.layout = "de";
|
||||
|
||||
programs.git = {
|
||||
@@ -15,9 +17,6 @@ in
|
||||
user.email = "mail@erik-s.dev";
|
||||
};
|
||||
};
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
programs.zsh.enable = true;
|
||||
|
||||
# direnv + nix-direnv: lets per-repo devShells (e.g. ~/Data/Dev/repos/Tome's
|
||||
# flake.nix) auto-load in the shell AND in Rider via its "direnv
|
||||
|
||||
Reference in New Issue
Block a user