1 { config, pkgs, inputs, machineName, ... }:
3 inherit (config.users) users;
11 documentation.nixos.enable = true;
13 users.mutableUsers = false;
17 # Put the hashedPassword in /nix/store, but it will also be in /etc/passwd
18 # which is already world readable.
19 hashedPassword = builtins.readFile ../secrets/julm/hashedPassword;
28 # If created, zfs-mount.service would require:
29 # zfs set overlay=yes ${machineName}/home
35 auto-optimise-store = true
40 options = "--delete-older-than 7d";
43 "nixpkgs=/etc/nixpkgs"
44 "nixpkgs-overlays=/etc/nixpkgs-overlays/overlays.nix"
46 trustedUsers = [ users.julm.name ];
48 environment.etc."nixpkgs".source = pkgs.path;
49 environment.etc."nixpkgs-overlays".source = inputs.self + "/nixpkgs";
55 time.timeZone = "Europe/Paris";
56 i18n.defaultLocale = "fr_FR.UTF-8";
57 console.font = "Lat2-Terminus16";
58 console.keyMap = "fr";
61 hostName = machineName;
62 domain = "localdomain";
69 #backend = "wpa_supplicant";
79 hardware.pulseaudio.enable = true;
81 environment.variables = {
84 SYSTEMD_LESS = "FKMRX";
86 environment.systemPackages = with pkgs; [
142 interactiveShellInit = ''
143 bind '"\e[A":history-search-backward'
144 bind '"\e[B":history-search-forward'
146 # Ignore duplicate commands, ignore commands starting with a space
147 export HISTCONTROL=erasedups:ignorespace
148 export HISTSIZE=42000
149 # Append to the history instead of overwriting (good for multiple connections)
153 mkcd () { mkdir -p "$1"; cd "$1"; }
159 ls = "ls --color=tty";
160 mem = "ps -e -orss=,user=,args= | sort -b -k1,1n";
163 st="sudo systemctl status";
164 s-u="systemctl --user";
165 j="sudo journalctl -u";
166 jb="sudo journalctl -b";
168 nix-history="sudo nix-env --list-generations --profile /nix/var/nix/profiles/system";
170 sshfs = "sshfs -o ServerAliveInterval=15 -o reconnect -f";
176 enableSSHSupport = true;
187 packages = [ pkgs.gnome3.dconf ];
195 MaxRetentionSec=1month
203 # NOTE: xfconf-query -c xfce4-session -p /general/LockCommand -s "physlock" --create -t string
214 extraArgs = [ "--verbose" ];
216 "${machineName}/home" = {
225 "${machineName}/var" = {
238 # Allow members of the "adbusers" group to mount Android devices via MTP
239 pkgs.android-udev-rules
245 xkbOptions = "eurosign:e";
246 libinput.enable = true;
249 # Let the session be generated by home-manager
250 { name = "home-manager";
252 ${pkgs.runtimeShell} $HOME/.hm-xsession &
261 pkgs.xfce.thunar-archive-plugin
265 xterm.enable = false;
268 defaultSession = "home-manager";
269 #defaultSession = "none+xmonad";
272 user = users.julm.name;
278 #virtualisation.virtualbox.host.enable = true;
280 # This value determines the NixOS release with which your system is to be
281 # compatible, in order to avoid breaking some software such as database
282 # servers. You should change this only after NixOS release notes say you should.
283 system.stateVersion = "20.09"; # Did you read the comment?