22 Commits
Author SHA1 Message Date
DamienandClaude Sonnet 5 8cca5d3ebb 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>
2026-09-12 15:53:32 +02:00
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 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 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 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 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 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 09c11c6ea5 zramSwap pour les PC à faible RAM (4 Go) 2026-09-09 11:25:35 +02:00
Damien bfe86bfbfd update 2026-09-06 17:50:29 +02:00
Damien e37e956f95 init 2026-09-06 17:32:17 +02:00