Externalise le module disque (comme nixos_users) + ajoute nixos-existing
hosts/nixos/configuration.nix importait diskos/plain.nix en dur -- deplace vers flake.nix (injection externe), meme pattern que nixos_users/flake.nix (mkHost). Necessaire pour ajouter nixos-existing : meme profil logiciel que "nixos", mais avec le hardware-configuration.nix reel de la machine a la place de diskos/plain.nix -- pour appliquer cette config sur un NixOS deja installe, sans toucher au partitionnement existant (meme principe que pxe-server, --impure requis). Deplace aussi system.autoUpgrade.flake hors de hosts/common/default.nix (etait fixe sur #nixos pour tous les profils) vers une injection par attribut dans flake.nix : sans ca, une machine nixos-existing aurait bascule sur l'attribut "nixos" (disko) a son prochain auto-upgrade, avec un layout disque potentiellement incompatible avec l'existant. Verifie : nix flake check --no-build passe pour "nixos" ; "nixos-existing" echoue nur pour la meme raison attendue que pxe-server (hardware-configuration.nix absent hors du vrai serveur/poste), pas une regression. Dry-run build de "nixos" toujours complet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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"; }
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user