1 { pkgs, lib, config, ... }:
2 let inherit (lib) types;
7 defaults/predictable-interface-names.nix
11 #binaryCaches = lib.mkForce [];
14 # Use gc.automatic to keep disk space under control.
18 options = "--delete-older-than 30d";
21 ("nixpkgs=" + toString pkgs.path)
29 packageOverrides = pkgs: {
30 postfix = pkgs.postfix.override {
36 overlays = import ./overlays.nix;
39 documentation.nixos = {
40 enable = false; # NOTE: useless on a server, and CPU intensive.
44 timeZone = "Europe/Paris";
48 defaultLocale = "fr_FR.UTF-8";
52 font = "Lat2-Terminus16";
56 # Always try to start all the units (default.target)
57 # because systemd's emergency shell does not try to start sshd.
58 # https://wiki.archlinux.org/index.php/systemd#Disable_emergency_mode_on_remote_machine
59 systemd.enableEmergencyMode = false;
61 # This is a remote headless server: always reboot on a kernel panic,
62 # to not have to physically go power cycle the apu2e4.
63 # Which happens if the wrong ZFS password is used
64 # but the boot is manually forced to continue.
65 # Using kernelParams instead of kernel.sysctl
66 # sets this up as soon as the initrd.
67 boot.kernelParams = [ "panic=10" ];
69 boot.cleanTmpDir = true;
70 boot.tmpOnTmpfs = true;
75 passwordAuthentication = false;
87 #checkConfigurationOptions = false;
88 systemPackages = with pkgs; [
106 pkgs.linuxPackages.cpupower
109 etc."inputrc".text = lib.readFile defaults/readline/inputrc;
114 interactiveShellInit = ''
115 bind '"\e[A":history-search-backward'
116 bind '"\e[B":history-search-forward'
118 # Ignore duplicate commands, ignore commands starting with a space
119 export HISTCONTROL=erasedups:ignorespace
120 export HISTSIZE=42000
122 # Append to the history instead of overwriting (good for multiple connections)
129 ls = "ls --color=tty";
130 mem = "ps -e -orss=,user=,args= | sort -b -k1,1n";
133 s-u="systemctl --user";
135 nixos-clean="sudo nix-collect-garbage -d";
136 nixos-history="sudo nix-env --list-generations --profile /nix/var/nix/profiles/system";
137 nixos-rollback="sudo nixos-rebuild switch --rollback";
138 nixos-update="sudo nix-channel --update";
139 nixos-upgrade="sudo nixos-rebuild switch";
140 nixos-upstream="sudo nix-channel --list";
145 pinentryFlavor = "curses";