fix: revert to standalone Home Manager architecture for fast UI updates

This commit is contained in:
Bernardo Magri
2026-04-13 13:57:31 +01:00
parent 73ae1232f3
commit 540718693f
4 changed files with 53 additions and 43 deletions

View File

@@ -3,7 +3,7 @@
# Nomarchy Update Script # Nomarchy Update Script
# 1. Updates the flake inputs in the repository # 1. Updates the flake inputs in the repository
# 2. Applies system-wide NixOS changes # 2. Applies system-wide NixOS changes
# 3. Applies user-level Home Manager changes # 3. Applies user-level Home Manager changes (Standalone)
set -e set -e
@@ -27,9 +27,9 @@ sudo nix flake update --flake "$REPO_DIR"
echo "Applying system-level updates..." echo "Applying system-level updates..."
sudo nixos-rebuild switch --flake "$REPO_DIR#default" --impure sudo nixos-rebuild switch --flake "$REPO_DIR#default" --impure
# 3. Rebuild Home Environment # 3. Rebuild Home Environment (Standalone)
echo "Applying user-level updates..." echo "Applying user-level updates..."
home-manager switch --flake "$REPO_DIR#default" --impure home-manager switch --flake "$REPO_DIR#$USER" --impure
# 4. Commit changes if it's a git repo # 4. Commit changes if it's a git repo
if [ -d "$REPO_DIR/.git" ]; then if [ -d "$REPO_DIR/.git" ]; then

View File

@@ -2,7 +2,7 @@
# Nomarchy Environment Update Script # Nomarchy Environment Update Script
# 1. Runs the pre-flight state migration # 1. Runs the pre-flight state migration
# 2. Applies user-level Home Manager changes # 2. Applies user-level Home Manager changes (Standalone)
set -e set -e
@@ -21,8 +21,8 @@ if command -v nomarchy-preflight-migration >/dev/null 2>&1; then
nomarchy-preflight-migration nomarchy-preflight-migration
fi fi
# Apply changes via nixos-rebuild (since home-manager is integrated as a NixOS module) # Apply Home Manager changes from the local flake (Standalone)
echo "Applying user-level changes from $REPO_DIR using nixos-rebuild..." echo "Applying user-level changes from $REPO_DIR#$USER..."
sudo nixos-rebuild switch --flake "$REPO_DIR#default" --impure home-manager switch --flake "$REPO_DIR#$USER" --impure
echo "Environment update complete." echo "Environment update complete."

View File

@@ -54,38 +54,21 @@
"${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix" "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix"
./hosts/live-iso.nix ./hosts/live-iso.nix
./core ./core
home-manager.nixosModules.home-manager
{ {
system.stateVersion = "25.11"; system.stateVersion = "25.11";
home-manager.extraSpecialArgs = { inherit inputs; };
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = "nixos"; services.displayManager.autoLogin.user = "nixos";
home-manager.useGlobalPkgs = false;
home-manager.useUserPackages = true;
home-manager.users.nixos = {
imports = [ ./features ];
home.username = "nixos";
home.homeDirectory = "/home/nixos";
home.stateVersion = "25.11";
};
} }
]; ];
}; };
# VM for testing graphical installer # Default configuration (VM and testing)
installerVm = nixpkgs.lib.nixosSystem {
# ... (rest of installerVm)
};
default = nixpkgs.lib.nixosSystem { default = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [
{ nixpkgs.hostPlatform = "x86_64-linux"; } { nixpkgs.hostPlatform = "x86_64-linux"; }
./core/default.nix ./core/default.nix
./core/system/vm-guest.nix ./core/system/vm-guest.nix
home-manager.nixosModules.home-manager
{ {
system.stateVersion = "25.11"; system.stateVersion = "25.11";
networking.hostName = "nomarchy"; networking.hostName = "nomarchy";
@@ -103,15 +86,36 @@
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = "nomarchy"; services.displayManager.autoLogin.user = "nomarchy";
}
];
};
};
home-manager.useGlobalPkgs = false; homeConfigurations = {
home-manager.useUserPackages = true; # Standalone Home Manager configuration for Live ISO
home-manager.users.nomarchy = { "nixos" = home-manager.lib.homeManagerConfiguration {
imports = [ ./features/default.nix ]; pkgs = nixpkgs.legacyPackages.x86_64-linux;
home.username = "nomarchy"; extraSpecialArgs = { inherit inputs; };
home.homeDirectory = "/home/nomarchy"; modules = [
home.stateVersion = "25.11"; ./features
}; {
home.username = "nixos";
home.homeDirectory = "/home/nixos";
home.stateVersion = "25.11";
}
];
};
# Standalone Home Manager configuration for VM testing
"nomarchy" = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; };
modules = [
./features
{
home.username = "nomarchy";
home.homeDirectory = "/home/nomarchy";
home.stateVersion = "25.11";
} }
]; ];
}; };

View File

@@ -413,17 +413,19 @@ generate_flake_config() {
./hardware-selection.nix ./hardware-selection.nix
nomarchy.nixosModules.system nomarchy.nixosModules.system
./system.nix ./system.nix
home-manager.nixosModules.home-manager ];
};
homeConfigurations.@USERNAME@ = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inputs = nomarchy.inputs // inputs; };
modules = [
nomarchy.nixosModules.home
./home.nix
{ {
home-manager.useGlobalPkgs = true; home.username = "@USERNAME@";
home-manager.useUserPackages = true; home.homeDirectory = "/home/@USERNAME@";
home-manager.extraSpecialArgs = { inherit inputs; }; home.stateVersion = "25.11";
home-manager.users.@USERNAME@ = {
imports = [ nomarchy.nixosModules.home ./home.nix ];
home.username = "@USERNAME@";
home.homeDirectory = "/home/@USERNAME@";
home.stateVersion = "25.11";
};
} }
]; ];
}; };
@@ -451,6 +453,10 @@ EOF
$impermanence_opt $impermanence_opt
environment.systemPackages = with pkgs; [
home-manager
];
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = "$USERNAME"; services.displayManager.autoLogin.user = "$USERNAME";