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 =
|
outputs =
|
||||||
{ self, nixpkgs, disko, home-manager, ... }:
|
{ self, nixpkgs, disko, home-manager, ... }:
|
||||||
|
let
|
||||||
|
repoUrl = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
nixos = nixpkgs.lib.nixosSystem {
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
@@ -27,6 +30,24 @@
|
|||||||
disko.nixosModules.disko
|
disko.nixosModules.disko
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
./hosts/nixos/configuration.nix
|
./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
|
# (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
|
# 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.
|
# 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 = {
|
system.autoUpgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
persistent = true;
|
persistent = true;
|
||||||
dates = "weekly";
|
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
|
# 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.
|
# 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 = [
|
imports = [
|
||||||
../common
|
../common
|
||||||
../../diskos/plain.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Compte de session non-nominatif, mot de passe "nixos" stable, sans
|
# Compte de session non-nominatif, mot de passe "nixos" stable, sans
|
||||||
|
|||||||
Reference in New Issue
Block a user