fix: revert to standalone Home Manager architecture for fast UI updates
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
56
flake.nix
56
flake.nix
@@ -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";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user