diff --git a/flake.nix b/flake.nix index 0c703ea..dab962b 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,9 @@ outputs = { self, nixpkgs, disko, home-manager, ... }: + let + repoUrl = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git"; + in { nixosConfigurations = { nixos = nixpkgs.lib.nixosSystem { @@ -27,6 +30,24 @@ disko.nixosModules.disko home-manager.nixosModules.home-manager ./hosts/nixos/configuration.nix + ./diskos/plain.nix + { system.autoUpgrade.flake = "${repoUrl}#nixos"; } + ]; + }; + + # Même profil logiciel que "nixos", mais sans disko : pour une + # machine où NixOS est déjà installé (partitionnement existant, + # quel qu'il soit, à ne pas toucher) -- utilise le + # hardware-configuration.nix réel de cette machine à la place de + # diskos/plain.nix, comme pxe-server. --impure obligatoire au + # nixos-rebuild (lit un chemin hors du flake). + nixos-existing = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + home-manager.nixosModules.home-manager + ./hosts/nixos/configuration.nix + /etc/nixos/hardware-configuration.nix + { system.autoUpgrade.flake = "${repoUrl}#nixos-existing"; } ]; }; diff --git a/hosts/common/default.nix b/hosts/common/default.nix index f4cafe7..4c08c92 100644 --- a/hosts/common/default.nix +++ b/hosts/common/default.nix @@ -168,11 +168,16 @@ in # (déjà la valeur par défaut de ce module -- explicité ici) : si la # machine est éteinte au moment prévu, la maj se lance dès le # prochain démarrage plutôt que d'attendre la semaine suivante. + # `flake` n'est PAS fixé ici : il dépend de l'attribut réellement + # utilisé pour cette machine (nixos vs nixos-existing, disko ou pas) + # -- injecté par flake.nix, comme dans nixos_users. Le fixer ici + # ferait basculer une machine "nixos-existing" vers l'attribut + # "nixos" (disko) à son prochain auto-upgrade, avec un layout disque + # potentiellement incompatible avec l'existant. system.autoUpgrade = { enable = true; persistent = true; dates = "weekly"; - flake = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git#nixos"; }; # Compte admin de la flotte : root, mot de passe "nixos" STABLE (pas diff --git a/hosts/nixos/configuration.nix b/hosts/nixos/configuration.nix index cb10a50..75799fc 100644 --- a/hosts/nixos/configuration.nix +++ b/hosts/nixos/configuration.nix @@ -1,10 +1,13 @@ # Profil générique "nixos" : poste non-nominatif de la flotte. +# Le module disque (diskos/plain.nix pour une install neuve, ou le +# hardware-configuration.nix réel d'une machine déjà installée) est +# injecté par flake.nix, pas ici -- ce fichier ne connaît pas le +# layout disque, comme dans nixos_users. { ... }: { imports = [ ../common - ../../diskos/plain.nix ]; # Compte de session non-nominatif, mot de passe "nixos" stable, sans