Commit Graph
59 Commits
Author SHA1 Message Date
DamienandClaude Sonnet 5 2efdcaeecb Unifie le compte generique flotte : usagers -> nixos (compte, attribut, dossier)
Renomme partout (flake.nix, hosts/usagers -> hosts/nixos,
install.sh, autoUpgrade.flake, home-manager.users, README) pour
que compte systeme, attribut de flake et mot de passe portent tous
le meme nom "nixos" -- un seul mot a retenir sur un poste partage.

Remplace aussi hosts/nixos/dconf.ini (jusque-la un seul reglage,
le fond d'ecran) par le dconf complet d'oreo (panneau, themes,
reglages GTK/Nemo...), chemins de wallpaper adaptes vers
hosts/common/wallpaper (partage, pas par-profil). Warpinator
connect-id retire du dconf copie : deja exclu du bureau Cinnamon
sur les trois profils (fleet/thomas-clara-jade/oreo) via
environment.cinnamon.excludePackages, une valeur figee partagee
par tout le parc aurait de toute facon casse l'appairage si le
paquet avait ete present.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 14:23:18 +02:00
DamienandClaude Sonnet 5 8f99c20ec5 README : documente comment forcer une mise a jour immediate
Trois options (timer, systemctl start nixos-upgrade.service, ou
git pull + rebuild manuel sur place) au lieu d'attendre le prochain
passage hebdomadaire.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 13:52:54 +02:00
DamienandClaude Sonnet 5 73c93f3aac README : corrige le mot de passe fleet et documente les commandes nix verifiees
Etape 6 annoncait a tort un changement de mot de passe force pour
"PC normal" -- usagers garde nixos stable sans expiration, seuls les
postes nominatifs (nixos_users) le forcent. Ajoute comment reactiver
ce mecanisme sur la fleet si besoin un jour.

Avant-derniere section : commandes nix desormais reellement testees
(WSL), plus --no-build/--dry-run pour rester rapides, avec le
perimetre exact de ce qu'elles verifient.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 13:27:34 +02:00
DamienandClaude Sonnet 5 9f4fc59709 Firefox : active la locale fr et desactive le widget meteo
RequestedLocales manquait -- le langpack fr etait deja installe
(languagePacks) mais jamais active comme locale par defaut.
FirefoxHome.Weather=false (ajoute en Firefox 152 / ESR 140.12)
retire le widget meteo (demande la geolocalisation) de la page
d'accueil.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 13:27:27 +02:00
DamienandClaude Sonnet 5 a1762f2922 install.sh : ajoute oreo-i3 a la liste blanche des utilisateurs nommes
Sans ca, taper 'oreo-i3' a l'install repondait 'Utilisateur inconnu' --
la liste etait en dur, pas derivee du repo nixos_users.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 12:11:55 +02:00
DamienandClaude Sonnet 5 6d9ec09ecb README : documente le workflow dconf dump/load pour personnaliser le bureau
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 11:18:49 +02:00
DamienandClaude Sonnet 5 ccae2984bc usagers : dconf.settings typé -> fichier dconf.ini brut chargé par home-manager
hosts/usagers/dconf.ini (nouveau) : même clé qu'avant (fond d'écran),
mais sous forme de fichier ini mis à jour par 'dconf dump' + commit
depuis une machine réelle, pas en retranscrivant à la main -- même
mécanisme que oreo. Prépare le terrain pour enrichir ce fichier plus
tard sans toucher au .nix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 11:17:52 +02:00
DamienandClaude Sonnet 5 618db31477 README : section installer/déboguer WSL + Nix sous Windows
Couvre l'installation WSL2/Nix, le fait que les flakes sont déjà
activées par défaut (2.35+), le symptôme classique 'ping IP marche
mais résolution DNS time out' (fix: networkingMode=mirrored dans
.wslconfig), et comment appeler nix depuis un outil qui pilote WSL en
non-interactif (wsl.exe -e bash -lc, pas wsl.exe nix directement).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 11:08:45 +02:00
DamienandClaude Sonnet 5 980eb9d71b home-manager : remplace la base dconf système + activation script par du per-user
- flake.nix : ajoute l'input home-manager (release-26.05, même branche
  que nixpkgs, confirmé qu'elle existe), importe
  home-manager.nixosModules.home-manager sur le profil usagers
- hosts/common/default.nix : le fond d'écran par défaut passe par
  home-manager.users.usagers.dconf.settings au lieu de
  environment.etc."dconf/db/local.d/..." + system.activationScripts
  dconfUpdate -- home-manager gère lui-même le contexte utilisateur et
  le rechargement dconf
- useGlobalPkgs = true : partage le pkgs du système, pas de deuxième
  évaluation nixpkgs (RAM, PC à 4 Go)
- backupFileExtension : évite un échec d'activation si un fichier
  existant est dans le chemin (migration sur machine déjà installée)

ATTENTION : flake.lock est maintenant périmé (nouvel input non
verrouillé) -- nix flake lock à relancer avant déploiement.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 09:07:17 +02:00
DamienandClaude Sonnet 5 2cb72503d5 Wallpapers : symlink un fichier précis, pas tout le dossier (préparation multi-source)
Évite un conflit si un profil ajoute son propre XML dans
/usr/share/cinnamon-background-properties à côté du commun (cas réel
côté nixos_users : oreo). Sans effet fonctionnel ici (un seul profil
sur ce repo), appliqué pour la cohérence entre les deux repos.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 08:58:01 +02:00
DamienandClaude Sonnet 5 3459a89720 README: corrige la cadence de mise à jour (weekly, pas daily)
Doc restée à 'tous les jours' après le passage à weekly.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-12 08:54:04 +02:00
DamienandClaude Sonnet 5 83d4bed8c4 Corrige (vraiment) le sélecteur de fond d'écran Cinnamon : mauvais mécanisme la première fois
Le précédent correctif visait gnome-background-properties (XDG_DATA_DIRS)
-- mais Cinnamon ne suit pas ce standard. Vérifié dans le vrai source du
sélecteur (linuxmint/cinnamon, cs_backgrounds.py) :
properties_dir = "/usr/share/cinnamon-background-properties", un
chemin ABSOLU EN DUR, jamais résolu via XDG_DATA_DIRS. Notre XML avait
beau être au bon endroit dans le store, Cinnamon ne le trouvait jamais.

Fix : le XML est maintenant généré sous cinnamon-background-properties
(bon nom), et systemd.tmpfiles.rules force un symlink
/usr/share/cinnamon-background-properties -> notre dérivation --
seul moyen d'atteindre ce chemin en dur sur NixOS (pas de /usr/share
FHS classique). Réappliqué à chaque switch, pas besoin de reboot.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 20:26:57 +02:00
DamienandClaude Sonnet 5 972f9c8d3c Firefox flotte : reprend la config oreo (page de bienvenue + pubs), DuckDuckGo, extensions réduites
Le config Firefox précédente ne coupait que showSponsored -- pas
aboutwelcome (page de config au premier lancement), pas les autres
sources de contenu sponsorisé/promo (FirefoxHome TopSites/Highlights/
Pocket/Snippets, FirefoxSuggest, UserMessaging...). Reprend la config
complète d'oreo (nixos_users/hosts/oreo/configuration.nix), avec deux
changements : SearXNG (perso/privé) -> DuckDuckGo (public, intégré,
pas besoin d'Add) ; ExtensionSettings réduit à uBlock Origin + Privacy
Badger (oreo en a une quinzaine, hors sujet pour un poste générique).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 20:19:49 +02:00
DamienandClaude Sonnet 5 9c8847f3d4 Corrige le sélecteur de fond d'écran Cinnamon vide (mint-artwork + notre wallpaper)
Root cause identifiée : Cinnamon découvre les fonds d'écran
sélectionnables via un XML gnome-background-properties (même
mécanisme que nixos-artwork.wallpapers dans nixpkgs, vérifié dans son
source). mint-artwork (déjà installé par défaut avec Cinnamon) ne
fournit PAS ce XML -- ses images existent bien dans le store mais sont
invisibles au clic droit > changer le fond d'écran. On génère ce XML
nous-mêmes au build, à partir des fichiers réellement présents dans
mint-artwork (pas de liste en dur) + notre propre wallpaper par défaut.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 19:42:34 +02:00
DamienandClaude Sonnet 5 54803f2f92 Explicite system.autoUpgrade.persistent = true
Déjà le défaut du module NixOS (nixos/modules/tasks/auto-upgrade.nix) :
si la machine est éteinte au moment prévu, systemd rattrape la maj au
prochain démarrage (Persistent= côté timer). Aucun changement de
comportement, juste documenté en dur plutôt que de dépendre d'un défaut
invisible.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 18:36:52 +02:00
DamienandClaude Sonnet 5 6a42052663 Simplification : fusion base.nix+desktop.nix+accounts.nix -> hosts/common/default.nix
Aucun changement fonctionnel, juste moins de fichiers à gérer côté
admin (structure inspirée de modules/anssi/ : un rôle clair par fichier,
mais un seul profil ici donc un seul fichier commun suffit).
hosts/usagers/configuration.nix importe désormais juste `../common`
(default.nix résolu automatiquement) + le layout disko.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 18:33:46 +02:00
DamienandClaude Sonnet 5 bd77248935 Cadence weekly (format oreo) + paquets/Flatpak communs sur toutes les machines
- system.autoUpgrade.dates : daily -> weekly, même cadence que oreo
- hosts/common/desktop.nix : ajoute la liste de paquets demandée (System
  tools, Office, Communication/Media) + Flatpak (repo/install/update) +
  AppImage, déjà présents sur oreo, maintenant sur usagers aussi

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 18:24:40 +02:00
DamienandClaude Sonnet 5 0a1bcd18c0 Bluetooth commun (même config que oreo) sur toutes les machines
hardware.bluetooth.enable + powerOnBoot=false + blueman, déplacé dans
hosts/common/base.nix -- avant ça n'existait que sur le profil oreo.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:53:46 +02:00
DamienandClaude Sonnet 5 ec562a3655 Firefox flotte : uBlock+Privacy Badger forcés, DuckDuckGo, DNT, anti-pub écran d'accueil
- ExtensionSettings : ajoute Privacy Badger (uBlock Origin déjà présent),
  même id AMO que oreo/nixos_cinnamon
- SearchEngines.Default = DuckDuckGo (moteur intégré, pas besoin d'Add,
  confirmé via firefox-admin-docs.mozilla.org)
- FirefoxHome.Sponsored{TopSites,Pocket} + FirefoxSuggest.SponsoredSuggestions
  = false : retire les pubs du nouvel onglet / barre d'adresse
  (showSponsored seul ne couvrait que l'ancien mécanisme)
- privacy.donottrackheader.enabled = true : DNT n'a plus d'UI dans les
  Firefox récents mais le pref existe toujours et envoie l'en-tête DNT=1
- https_only_mode déjà réglé, rien à changer là-dessus

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:47:17 +02:00
DamienandClaude Sonnet 5 fddcca0e51 Comments: style plus concis (calé sur modules/anssi/, écrit par des pros)
Aucun changement fonctionnel -- juste les commentaires : essais de
justification en plusieurs paragraphes remplacés par des notes courtes,
type/quoi/pourquoi en une ou deux lignes. Corrige au passage un
commentaire obsolète dans installer-base.nix qui décrivait encore l'usage
de disko-install (abandonné depuis pour disko + nixos-install séparés).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:42:51 +02:00
DamienandClaude Sonnet 5 bfd7ed4eed install.sh: ne garde sur /etc/nixos que ce qui sert (flakes, hosts, modules, diskos)
Retire installer/ (script d'install, obsolète une fois fait) et
pxe-server/ (config d'un autre host) du clone copié sur la machine
installée -- inutiles pour un poste client, ne concernent que le
serveur PXE / le moment de l'install. Nix ne lit ces fichiers que si on
build l'attribut correspondant (jamais le cas pour un poste installé),
donc rien ne casse. N'affecte que la branche fleet : nixos_users n'a ni
installer/ ni pxe-server/, le rm -rf ne trouve rien à supprimer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:39:11 +02:00
DamienandClaude Sonnet 5 8735b8336c Firmware au maximum : enableAllFirmware au lieu de enableRedistributableFirmware
Vérifié dans nixpkgs (nixos/modules/hardware/all-firmware.nix) :
enableAllFirmware inclut déjà enableRedistributableFirmware (son défaut
est config.hardware.enableAllFirmware) et ajoute en plus
broadcom-bt-firmware (Bluetooth), b43Firmware (wifi Broadcom),
xone-dongle-firmware, facetimehd-firmware. Nécessaire pour coller à un
parc de PC inconnu à l'avance (logique Linux Mint : firmware non-libre
inclus par défaut). allowUnfree déjà réglé, rien d'autre à changer.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:18:42 +02:00
DamienandClaude Sonnet 5 ae3461b085 Garde l'hyperthreading (exception R8 explicite, pas de contournement silencieux)
R8 (mitigations CPU) coupe le SMT via mds=full,nosmt. Désactivé via
security.anssi.exceptions.R8 (mécanisme prévu par le module), puis
boot.kernelParams réaffirme le reste de R8 à l'identique du texte
source (modules/anssi/kernel-options.nix), sauf mds=full,nosmt ->
mds=full (valeur alternative documentée du même paramètre, mitige MDS
sans couper l'hyperthreading).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:03:12 +02:00
DamienandClaude Sonnet 5 6bcb16b8ab Durcissement ANSSI (module SécurixOS) sur toutes les machines de la flotte
- vendor modules/anssi/ depuis SécurixOS (DINUM), copy-paste explicitement
  supporté par son propre README, licence MIT
- hosts/common/base.nix: security.anssi.enable, level=intermediary,
  category=client -- remplace le bloc sysctl qui n'existait que sur le
  profil oreo (nixos_users), même valeurs, rien de plus fort
- garde systemd.coredump.enable=false + apparmor (pas couvert par le
  module ANSSI, exception R45 explicite côté Sécurix)
- ip_forward=0 (R12) n'affecte pas pxe-server, qui n'importe pas ce fichier

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 17:00:17 +02:00
DamienandClaude Sonnet 5 77b089bc45 Persiste la config sur /etc/nixos à l'install, firmware wifi, wallpaper par défaut
- install.sh: copie le repo (clone substitué) vers /mnt/etc/nixos après
  nixos-install, sinon la machine installée n'a aucun fichier à éditer
- base.nix: hardware.enableRedistributableFirmware pour les cartes wifi
  nécessitant un firmware non-libre
- desktop.nix: fond d'écran NixOS par défaut via dconf (n'existait pas)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-09 16:53:08 +02:00
Damien 096e534e91 fix swapfile btrfs: chattr +C avant ecriture, ajout e2fsprogs 2026-09-09 13:20:15 +02:00
Damien 7523532dfd install.sh: clone+sed pour la substitution disque (pas de mecanisme --disk cote disko seul) 2026-09-09 13:08:50 +02:00
Damien 3bbe301b38 installe en 3 étapes avec swap sur disque cible, pour les PC à 4 Go de RAM 2026-09-09 12:52:33 +02:00
Damien d725d633cd console.keyMap fr sur pxe-server 2026-09-09 12:32:44 +02:00
Damien 991222bd70 fix: mkForce nécessaire (mkImageMediaOverride = priorité 60, gagnait sur notre simple assignation) 2026-09-09 12:24:10 +02:00
Damien 032040fc11 fix: le vrai tmpfs à agrandir est /nix/.rw-store, pas / 2026-09-09 11:46:02 +02:00
Damien 09c11c6ea5 zramSwap pour les PC à faible RAM (4 Go) 2026-09-09 11:25:35 +02:00
Damien 6753beacdf commit flake.lock (jamais fait jusqu'ici, cause de l'echec disko-install) 2026-09-09 11:02:48 +02:00
Damien 7909ea351a install.sh attend le réseau avant de démarrer 2026-09-09 10:53:38 +02:00
Damien 1f297e5684 install.sh: --no-write-lock-file --refresh pour disko-install 2026-09-09 10:37:45 +02:00
Damien 3344afa565 pxe-publish démarre automatiquement au boot 2026-09-09 10:34:35 +02:00
Damien bbd6c5a615 NAT/forwarding PXE -> Internet (routage manquant) 2026-09-09 10:33:09 +02:00
Damien 9fdef043d9 NAT/forwarding PXE -> Internet (routage manquant) 2026-09-09 10:31:41 +02:00
Damien 213ba07cfe fix: set -e dans install.sh, DNS DHCP standalone, loginShellInit 2026-09-09 10:03:58 +02:00
Damien dd2f9cd665 update 2026-09-09 09:57:10 +02:00
Damien 5e6594d731 pxe-publish attend le réseau + doc du souci IP statique 2026-09-09 09:55:16 +02:00
Damien 3510290902 fix format unmanaged (interface-name:...) 2026-09-09 09:50:43 +02:00
Damien 44bff3917e IP statique sur l'interface PXE 2026-09-09 09:48:49 +02:00
Damien f332fcf1d7 dnsmasq: bind-dynamic + attend network-online 2026-09-09 09:44:39 +02:00
Damien e1eb433ee2 pxe-publish: --refresh (évite le cache de rev main) 2026-09-09 09:36:01 +02:00
Damien 1826ac09c1 standaloneDhcp=true, interface=enp0s31f6 2026-09-09 09:34:17 +02:00
Damien 7c8b55034a fix conflit autologinUser (mkForce) 2026-09-09 09:33:03 +02:00
Damien 377ed5f6f7 pxe-publish: --no-write-lock-file 2026-09-09 09:30:56 +02:00
Damien 8a8a0f37de fix DNS casse par dnsmasq (resolveLocalQueries = false) 2026-09-09 09:27:05 +02:00
Damien 5c79340282 locale fr_FR sur pxe-server 2026-09-09 09:25:28 +02:00
Damien 74b99e5cd9 update 2026-09-09 09:24:26 +02:00
Damien a2e98243bb ajoute git au path du service pxe-publish 2026-09-09 09:22:18 +02:00
Damien 294c6dc3a6 update 2026-09-09 09:14:46 +02:00
Damien 99c0bbf949 update 2026-09-09 09:12:05 +02:00
Damien 3f50049e17 update 2026-09-09 09:08:13 +02:00
Damien 3e98a56607 update 2026-09-09 08:57:32 +02:00
Damien 28f4f7365f update 2026-09-06 18:21:37 +02:00
Damien bfe86bfbfd update 2026-09-06 17:50:29 +02:00
Damien e37e956f95 init 2026-09-06 17:32:17 +02:00