105 lines
2.3 KiB
Nix
105 lines
2.3 KiB
Nix
{ pkgs, ... }:
|
||
{
|
||
imports = [ ./hardware-configuration.nix ];
|
||
|
||
# Use flakes.
|
||
nix.settings.experimental-features = "nix-command flakes";
|
||
|
||
# Automatic updating.
|
||
system.autoUpgrade.enable = true;
|
||
system.autoUpgrade.dates = "weekly";
|
||
|
||
# Automatic cleanup.
|
||
nix.gc.automatic = true;
|
||
nix.gc.dates = "daily";
|
||
nix.gc.options = "--delete-older-than 10d";
|
||
nix.settings.auto-optimise-store = true;
|
||
|
||
# Bootloader.
|
||
boot.loader = {
|
||
systemd-boot.enable = true;
|
||
efi.canTouchEfiVariables = true;
|
||
};
|
||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||
boot.initrd.luks.devices."luks-374c6259-18c4-462b-9f30-9c9648de00ae".device =
|
||
"/dev/disk/by-uuid/374c6259-18c4-462b-9f30-9c9648de00ae";
|
||
|
||
networking = {
|
||
hostName = "nixos";
|
||
networkmanager.enable = true;
|
||
};
|
||
|
||
# Set your time zone.
|
||
time.timeZone = "Europe/Paris";
|
||
|
||
# Select internationalisation properties.
|
||
i18n.defaultLocale = "en_GB.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 = {
|
||
# Use X11.
|
||
enable = true;
|
||
# Set keyboard layout in X11.
|
||
xkb.layout = "fr";
|
||
xkb.variant = "ergol";
|
||
};
|
||
# Use GNOME.
|
||
services.displayManager.gdm.enable = true;
|
||
services.desktopManager.gnome.enable = true;
|
||
|
||
services.gnome.gnome-browser-connector.enable = true;
|
||
# Use CUPS for printing.
|
||
services.printing.enable = true;
|
||
# Use pipewire for audio.
|
||
services.pulseaudio.enable = false;
|
||
services.pipewire = {
|
||
enable = true;
|
||
alsa.enable = true;
|
||
alsa.support32Bit = true;
|
||
pulse.enable = true;
|
||
};
|
||
services.openssh.enable = true;
|
||
|
||
# Configure console keymap.
|
||
console.keyMap = "fr";
|
||
|
||
# Define a user account.
|
||
users.users.hms = {
|
||
isNormalUser = true;
|
||
description = "hms";
|
||
extraGroups = [
|
||
"networkmanager"
|
||
"wheel"
|
||
];
|
||
packages = [ ];
|
||
};
|
||
|
||
nixpkgs = {
|
||
overlays = [ ];
|
||
config.allowUnfree = true;
|
||
};
|
||
|
||
environment.systemPackages = with pkgs; [
|
||
helix
|
||
wget
|
||
gnumake
|
||
clang
|
||
];
|
||
|
||
programs.gnupg.agent = {
|
||
enable = true;
|
||
enableSSHSupport = true;
|
||
};
|
||
|
||
system.stateVersion = "25.11";
|
||
}
|