This commit is contained in:
2026-09-06 17:32:17 +02:00
commit e37e956f95
12 changed files with 956 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
# Compte admin des machines de la flotte : root, mot de passe "nixos"
# STABLE (pas d'expiration forcée ici, contrairement à nixos_users) —
# ces machines sont génériques/partagées, un mot de passe connu et
# constant sur tout le parc est voulu pour l'administration courante.
{ pkgs, ... }:
{
users.mutableUsers = true;
users.users.root = {
initialPassword = "nixos";
};
# Login root direct autorisé nativement dès qu'un mot de passe est
# défini (console/tty). SSH reste sur le défaut NixOS (clé uniquement) :
# le mot de passe "nixos" n'ouvre pas la porte à distance, seulement en
# local sur la machine.
# `initialPassword` n'est appliqué par NixOS qu'à la création du compte,
# donc un rebuild/auto-upgrade ultérieur ne le réécrit jamais — mais ici
# on ne force pas non plus de changement : "nixos" doit rester valide
# indéfiniment sur la flotte.
}
+68
View File
@@ -0,0 +1,68 @@
# Socle commun à toutes les machines de la flotte (repo public).
{ pkgs, ... }:
{
# Toutes les machines de la flotte portent le même nom : pas
# d'identification individuelle pour l'instant (voir README du repo
# racine). À revoir plus tard via le numéro de série DMI si un vrai
# besoin d'identification apparaît.
networking.hostName = "Nixos_Fleet";
networking.networkmanager.enable = true;
time.timeZone = "Europe/Paris";
i18n.defaultLocale = "fr_FR.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
services.xserver.xkb = {
layout = "fr";
variant = "";
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.configurationLimit = 10;
services.openssh.enable = true;
networking.firewall.enable = true;
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nixpkgs.config.allowUnfree = true;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Convergence : chaque machine de la flotte tire ses mises à jour du
# même repo public, sans intervention humaine (pas de netrc nécessaire
# ici, contrairement au repo nixos_users). Voir README pour adapter
# l'URL réelle du repo.
system.autoUpgrade = {
enable = true;
dates = "daily";
flake = "git+https://gitea.miniclic.net/Damien/Nixos_Fleet.git#usagers";
};
environment.systemPackages = with pkgs; [
git
curl
wget
htop
nixfmt
];
system.stateVersion = "26.05";
}
+57
View File
@@ -0,0 +1,57 @@
# Bureau Cinnamon générique pour la flotte. Adapté (pas importé) depuis
# nixos_cinnamon/hosts/cinnamon/desktop-cinnamon.nix : les deux repos
# restent indépendants au `git pull`.
{ pkgs, ... }:
{
services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.cinnamon.enable = true;
services.accounts-daemon.enable = true;
environment.cinnamon.excludePackages = with pkgs; [
celluloid
warpinator
];
# Réglages de confidentialité génériques (pas de SearXNG/DNS personnels
# comme sur le poste perso — cette config est destinée à être publique).
programs.firefox = {
enable = true;
languagePacks = [ "fr" ];
preferences = {
"privacy.resistFingerprinting" = true;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.search.suggest.enabled" = false;
"dom.security.https_only_mode" = true;
"media.peerconnection.enabled" = false;
"geo.enabled" = false;
"network.captive-portal-service.enabled" = false;
};
policies = {
DisableTelemetry = true;
DisablePocket = true;
DisableFirefoxStudies = true;
OfferToSaveLogins = false;
DontCheckDefaultBrowser = true;
EnableTrackingProtection = {
Value = true;
Locked = true;
};
ExtensionSettings = {
"uBlock0@raymondhill.net" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
installation_mode = "force_installed";
};
};
};
};
environment.systemPackages = with pkgs; [
libreoffice
thunderbird
vlc
];
}
+20
View File
@@ -0,0 +1,20 @@
# Profil générique "usagers" : poste non-nominatif de la flotte.
{ ... }:
{
imports = [
../common/base.nix
../common/accounts.nix
../common/desktop.nix
../../disks/plain.nix
];
# Compte de session non-nominatif, mot de passe "nixos" stable, sans
# expiration forcée (voir hosts/common/accounts.nix).
users.users.usagers = {
isNormalUser = true;
description = "Usagers";
extraGroups = [ "networkmanager" ];
initialPassword = "nixos";
};
}