Files
nixos-workstations/configuration.nix
T

78 lines
2.0 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
# Le matériel reste propre à la machine et n'est pas stocké dans le dépôt.
# Avec un build Flake, utiliser --impure afin d'autoriser cet import local.
/etc/nixos/hardware-configuration.nix
./modules/software.nix
./modules/users.nix
./modules/homed.nix
./modules/security.nix
./modules/workstation-setup.nix
./modules/provisioning.nix
];
# Les flakes utilisent encore les fonctionnalités expérimentales du client Nix.
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Cette configuration est volontairement commune. Elle doit toujours être
# appelée par une fiche de poste qui choisit explicitement un utilisateur.
assertions = [
{
assertion = config.nixosWorkstations.provisioning.enable;
message = "Sélectionnez une fiche dans hosts/ au lieu de construire configuration.nix directement.";
}
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
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.enable = true;
services.displayManager.sddm.enable = true;
services.desktopManager.plasma6.enable = true;
services.xserver.xkb = {
layout = "fr";
variant = "";
};
console.keyMap = "fr";
services.printing.enable = true;
services.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
nixpkgs.config.allowUnfree = true;
system.stateVersion = "26.05";
}