From 96142444b2392f8b66c80bca627c0fc5649f751a Mon Sep 17 00:00:00 2001 From: Julien Moutinho <julm+julm-nix@sourcephile.fr> Date: Sun, 21 Nov 2021 05:47:34 +0100 Subject: [PATCH] nix: move some settings to nixos/profiles --- homes/julm.nix | 56 ++++---- homes/julm/hosts/oignon.nix | 1 + homes/programs/bash.nix | 7 + homes/programs/firefox.nix | 3 + homes/sevy.nix | 1 - homes/sevy/hosts/patate.nix | 13 +- hosts/oignon.nix | 125 ++-------------- hosts/patate.nix | 174 ++--------------------- hosts/patate/ilico.nix | 14 ++ nixos/profiles/bash.nix | 13 +- nixos/profiles/graphical.nix | 32 +++++ nixos/profiles/lang-fr.nix | 12 ++ nixos/profiles/networking.nix | 32 +++++ nixos/profiles/printing.nix | 14 ++ nixos/profiles/system.nix | 37 +++++ {hosts/oignon => nixos/profiles}/tor.nix | 0 profiles/networking.nix | 2 +- profiles/xfce.nix | 2 +- 18 files changed, 219 insertions(+), 319 deletions(-) create mode 100644 hosts/patate/ilico.nix create mode 100644 nixos/profiles/graphical.nix create mode 100644 nixos/profiles/lang-fr.nix create mode 100644 nixos/profiles/networking.nix create mode 100644 nixos/profiles/printing.nix create mode 100644 nixos/profiles/system.nix rename {hosts/oignon => nixos/profiles}/tor.nix (100%) diff --git a/homes/julm.nix b/homes/julm.nix index 121d241..1b5b93e 100644 --- a/homes/julm.nix +++ b/homes/julm.nix @@ -6,36 +6,34 @@ imports = [ julm/mutt.nix (import (julm/hosts + "/${hostName}.nix")) ]; -programs.firefox = { - profiles = - let defaultProfile = { - settings = { - "browser.bookmarks.showMobileBookmarks" = true; - "browser.compactmode.show" = true; - "browser.search.isUS" = false; - "browser.search.region" = "FR"; - "distribution.searchplugins.defaultLocale" = "fr-FR"; - "general.useragent.locale" = "fr-FR"; - "security.identityblock.show_extended_validation" = true; - "toolkit.legacyUserProfileCustomizations.stylesheets" = true; - }; - userChrome = builtins.readFile programs/firefox/userChrome.css; - }; in { - "rp4xy6ye.2021" = lib.mkMerge [defaultProfile { - id = 0; - name = "2021"; - settings = { - "browser.startup.homepage" = "https://code.sourcephile.fr"; - }; - }]; - "8y3d28fa.tor" = lib.mkMerge [defaultProfile { - id = 1; - name = "tor"; - settings = { - "browser.startup.homepage" = "https://check.torproject.org"; - }; - }]; +programs.firefox.profiles = + let defaultProfile = { + settings = { + "browser.bookmarks.showMobileBookmarks" = true; + "browser.compactmode.show" = true; + "browser.search.isUS" = false; + "browser.search.region" = "FR"; + "distribution.searchplugins.defaultLocale" = "fr-FR"; + "general.useragent.locale" = "fr-FR"; + "security.identityblock.show_extended_validation" = true; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; }; + userChrome = builtins.readFile programs/firefox/userChrome.css; + }; in { + "rp4xy6ye.2021" = lib.mkMerge [defaultProfile { + id = 0; + name = "2021"; + settings = { + "browser.startup.homepage" = "https://code.sourcephile.fr"; + }; + }]; + "8y3d28fa.tor" = lib.mkMerge [defaultProfile { + id = 1; + name = "tor"; + settings = { + "browser.startup.homepage" = "https://check.torproject.org"; + }; + }]; }; home.file."${config.programs.gpg.homedir}/gpg.conf".text = '' # julm@autogeree.net diff --git a/homes/julm/hosts/oignon.nix b/homes/julm/hosts/oignon.nix index 3180717..6c24cf8 100644 --- a/homes/julm/hosts/oignon.nix +++ b/homes/julm/hosts/oignon.nix @@ -21,6 +21,7 @@ home.sessionVariables = { PASSWORD_STORE_DIR = "$HOME/documents/sec/.password-store"; }; home.packages = [ + pkgs.chromium pkgs.gpsbabel (pkgs.qgis.override { extraPythonPackages = (ps: [ ps.pyqt5_with_qtwebkit diff --git a/homes/programs/bash.nix b/homes/programs/bash.nix index fed0d59..db8cb2f 100644 --- a/homes/programs/bash.nix +++ b/homes/programs/bash.nix @@ -33,6 +33,13 @@ programs.bash = { # Disable ctrl-s/ctrl-q flow control stty -ixon + ibm-fan () { + if [ $# -gt 0 ] + then sudo tee /proc/acpi/ibm/fan <<<"level $1" + else grep '^\(level\|speed\):' /proc/acpi/ibm/fan + fi + acpi -t + } mkcd () { mkdir -p "$1" && cd "$1" diff --git a/homes/programs/firefox.nix b/homes/programs/firefox.nix index b6cfc36..c34fbc5 100644 --- a/homes/programs/firefox.nix +++ b/homes/programs/firefox.nix @@ -1,5 +1,8 @@ { config, pkgs, lib, ... }: { +home.packages = [ + pkgs.tor-browser-bundle-bin +]; programs.firefox = { /* extensions = diff --git a/homes/sevy.nix b/homes/sevy.nix index 0f87810..d3df46f 100644 --- a/homes/sevy.nix +++ b/homes/sevy.nix @@ -7,7 +7,6 @@ imports = [ ]; programs.git.enable = true; programs.git.package = pkgs.gitMinimal; -programs.vim.enable = true; home.sessionVariables = { EDITOR = "vim -g"; }; diff --git a/homes/sevy/hosts/patate.nix b/homes/sevy/hosts/patate.nix index 5cd89bd..8ed7a3d 100644 --- a/homes/sevy/hosts/patate.nix +++ b/homes/sevy/hosts/patate.nix @@ -15,17 +15,18 @@ imports = [ ../../../profiles/web.nix ../../../profiles/xfce.nix ]; +programs.direnv.enable = true; +programs.doom-emacs.enable = true; programs.firefox.enable = false; # error: attribute 'gtk3' missing -programs.bash.shellAliases.riseup = "sudo ip netns exec riseup sudo -u $USER PULSE_SERVER=/run/user/$(id -u $USER)/pulse/native"; -programs.bash.shellAliases.firefox = "riseup firefox"; +programs.git.enable = true; home.sessionVariables = { }; home.packages = [ - pkgs.gpsbabel - (pkgs.qgis.override { extraPythonPackages = (ps: [ - ps.pyqt5_with_qtwebkit - ]); }) + pkgs.chromium pkgs.firefox + #(pkgs.qgis.override { extraPythonPackages = (ps: [ + # ps.pyqt5_with_qtwebkit + #]); }) #pkgs.libva-utils #pkgs.ristretto ]; diff --git a/hosts/oignon.nix b/hosts/oignon.nix index 2f6cbf8..2ea3c34 100644 --- a/hosts/oignon.nix +++ b/hosts/oignon.nix @@ -2,11 +2,15 @@ { imports = [ ../nixos/profiles/dnscrypt-proxy2.nix + ../nixos/profiles/graphical.nix + ../nixos/profiles/lang-fr.nix + ../nixos/profiles/networking.nix + ../nixos/profiles/printing.nix ../nixos/profiles/security.nix + ../nixos/profiles/system.nix ../nixos/profiles/wireguard/wg-intra.nix oignon/hardware.nix oignon/wireguard.nix - oignon/tor.nix oignon/backup.nix ]; @@ -17,8 +21,6 @@ home-manager.users.julm = { systemd.services.home-manager-julm.postStart = '' ${pkgs.nix}/bin/nix-env --delete-generations +1 --profile /nix/var/nix/profiles/per-user/julm/home-manager ''; -security.lockKernelModules = false; -users.mutableUsers = false; users.users.julm = { isNormalUser = true; uid = 1000; @@ -40,18 +42,16 @@ users.users.julm = { # If created, zfs-mount.service would require: # zfs set overlay=yes ${hostName}/home createHome = false; + openssh.authorizedKeys.keys = map lib.readFile [ + ../private/shared/ssh/julm/losurdo.pub + ]; }; nix = { extraOptions = '' secret-key-files = ${private}/${hostName}/nix/binary-cache/priv.pem ''; - autoOptimiseStore = true; - gc.automatic = true; - gc.dates = "weekly"; - gc.options = "--delete-older-than 7d"; - nixPath = lib.mkForce []; - trustedUsers = [ config.users.users.julm.name ]; + trustedUsers = [ config.users.users."julm".name ]; binaryCaches = [ "http://nix-localcache.losurdo.wg" ]; @@ -62,15 +62,6 @@ nix = { #environment.etc."nixpkgs".source = pkgs.path; #environment.etc."nixpkgs-overlays".source = inputs.self + "/nixpkgs"; -documentation = { - enable = true; - dev.enable = true; - doc.enable = true; - info.enable = false; - man.enable = true; - nixos.enable = false; -}; - nix.allowedUsers = [ config.users.users."nix-ssh".name ]; nix.sshServe = { enable = true; @@ -80,80 +71,11 @@ nix.sshServe = { ../private/shared/ssh/julm/oignon.pub ]; }; -users.users.julm.openssh.authorizedKeys.keys = map lib.readFile [ - ../private/shared/ssh/julm/losurdo.pub -]; - -time.timeZone = "Europe/Paris"; -i18n.defaultLocale = "fr_FR.UTF-8"; -console.font = "Lat2-Terminus16"; -console.keyMap = "fr"; - -networking = { - hostName = hostName; - domain = "localdomain"; - search = [ "sourcephile.fr" ]; - networkmanager = { - enable = true; - #dhcp = "dhcpcd"; - logLevel = "INFO"; - wifi = { - #backend = "iwd"; - #backend = "wpa_supplicant"; - powersave = false; - }; - }; - firewall = { - enable = true; - allowPing = true; - }; -}; - -sound.enable = true; -hardware.pulseaudio.enable = true; -hardware.sane.enable = true; -hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ]; - -environment.variables = { - EDITOR = "vim"; - PAGER = "less -R"; - SYSTEMD_LESS = "FKMRX"; -}; - -programs.bash.interactiveShellInit = '' - fan () { - if [ $# -gt 0 ] - then sudo tee /proc/acpi/ibm/fan <<<"level $1" - else grep '^\(level\|speed\):' /proc/acpi/ibm/fan - fi - acpi -t - } -''; -programs.dconf.enable = true; -programs.mtr.enable = true; -services.avahi = { - enable = true; - nssmdns = true; - openFirewall = false; - publish = { - enable = false; - }; -}; -services.davfs2.enable = true; -fileSystems."/home/julm/mnt/ilico/severine" = { - device = "https://nuage.ilico.org/remote.php/dav/files/severine/"; - fsType = "davfs"; - options = - let conf = pkgs.writeText "davfs2.conf" '' - backup_dir /home/julm/documents/backup/ilico/severine - cache_dir /home/julm/.cache/davfs2/ilico/severine - ''; in - [ "conf=${conf}" "user" "noexec" "nosuid" "noauto" ]; # "x-systemd.automount" -}; environment.systemPackages = [ pkgs.riseup-vpn # Can't be installed by home-manager because it needs to install policy-kit rules ]; + programs.fuse.userAllowOther = true; fileSystems."/mnt/losurdo" = { device = "${pkgs.sshfsFuse}/bin/sshfs#julm@losurdo.wg:/"; @@ -177,10 +99,7 @@ fileSystems."/mnt/losurdo" = { "ServerAliveInterval=15" ]; }; -services.dbus = { - packages = [ pkgs.gnome3.dconf ]; -}; -services.gvfs.enable = true; + services.ipfs = { #enable = true; defaultMode = "online"; @@ -196,31 +115,16 @@ services.ipfs = { }; startWhenNeeded = true; }; -services.openssh = { - forwardX11 = true; - openFirewall = true; -}; -services.printing = { - enable = true; - drivers = [ - pkgs.gutenprint - pkgs.hplip - ]; -}; + services.udev = { packages = [ - # Allow members of the "adbusers" group to mount Android devices via MTP. - pkgs.android-udev-rules # Allow the console user access the Yubikey USB device node, # needed for challenge/response to work correctly. pkgs.yubikey-personalization ]; }; + services.xserver = { - enable = true; - layout = "fr"; - xkbOptions = "eurosign:e"; - libinput.enable = true; desktopManager = { session = [ # Let the session be generated by home-manager @@ -235,8 +139,9 @@ services.xserver = { displayManager = { defaultSession = "home-manager"; #defaultSession = "none+xmonad"; + #defaultSession = "mate"; + #defaultSession = "cinnamon"; autoLogin = { - enable = true; user = config.users.users.julm.name; }; }; diff --git a/hosts/patate.nix b/hosts/patate.nix index c30728a..341c162 100644 --- a/hosts/patate.nix +++ b/hosts/patate.nix @@ -1,8 +1,14 @@ -{ config, pkgs, lib, inputs, hostName, ... }: +{ config, pkgs, lib, ... }: { imports = [ ../nixos/profiles/dnscrypt-proxy2.nix + ../nixos/profiles/graphical.nix + ../nixos/profiles/lang-fr.nix + ../nixos/profiles/networking.nix + ../nixos/profiles/printing.nix ../nixos/profiles/security.nix + ../nixos/profiles/system.nix + ../nixos/profiles/tor.nix ../nixos/profiles/wireguard/wg-intra.nix patate/backup.nix patate/hardware.nix @@ -15,8 +21,6 @@ home-manager.users.sevy = { systemd.services.home-manager-sevy.postStart = '' ${pkgs.nix}/bin/nix-env --delete-generations +1 --profile /nix/var/nix/profiles/per-user/sevy/home-manager ''; -security.lockKernelModules = false; -users.mutableUsers = false; users.users.sevy = { isNormalUser = true; uid = 1000; @@ -38,14 +42,7 @@ users.users.sevy = { }; nix = { - extraOptions = '' - ''; - autoOptimiseStore = true; - gc.automatic = true; - gc.dates = "weekly"; - gc.options = "--delete-older-than 7d"; - nixPath = lib.mkForce [ ]; - trustedUsers = [ config.users.users.sevy.name ]; + trustedUsers = [ config.users.users."sevy".name ]; binaryCaches = [ "http://nix-localcache.losurdo.wg" "ssh://nix-ssh@oignon.wg" @@ -55,171 +52,26 @@ nix = { ../private/shared/nix/oignon.pub ]; }; -services.openssh.passwordAuthentication = false; environment.systemPackages = [ - pkgs.riseup-vpn + pkgs.riseup-vpn # Can't be installed by home-manager because it needs to install policy-kit rules ]; -documentation.nixos.enable = true; -time.timeZone = "Europe/Paris"; -i18n.defaultLocale = "fr_FR.UTF-8"; -console.font = "Lat2-Terminus16"; -console.keyMap = "fr"; - -networking = { - hostName = hostName; - domain = "localdomain"; - networkmanager = { - enable = true; - #dhcp = "dhcpcd"; - logLevel = "INFO"; - wifi = { - #backend = "iwd"; - #backend = "wpa_supplicant"; - powersave = false; - }; - }; - firewall = { - enable = true; - allowPing = false; - allowedTCPPorts = [ - 51413 # transmission-gtk - 4662 # edonkey - ]; - allowedUDPPorts = [ - 51413 # transmission-gtk - 4667 # edonkey - 4672 # edonkey - ]; - }; -}; - -sound.enable = true; -hardware.pulseaudio.enable = true; -hardware.sane.enable = true; -hardware.sane.extraBackends = [ pkgs.hplipWithPlugin ]; - -environment.variables = { - EDITOR = "vim -g"; - PAGER = "less -R"; - SYSTEMD_LESS = "FKMRX"; -}; - -programs = { - bash = { - interactiveShellInit = '' - bind '"\e[A":history-search-backward' - bind '"\e[B":history-search-forward' - - # Ignore duplicate commands, ignore commands starting with a space - export HISTCONTROL=erasedups:ignorespace - export HISTSIZE=42000 - # Append to the history instead of overwriting (good for multiple connections) - shopt -s histappend - - # Utilities - mkcd () { mkdir -p "$1"; cd "$1"; } - fan () { - if [ $# -gt 0 ] - then sudo tee /proc/acpi/ibm/fan <<<"level $1" - else grep '^\(level\|speed\):' /proc/acpi/ibm/fan - fi - acpi -t - } - ''; - shellAliases = { - cl = "clear"; - grep = "grep --color"; - l = "ls -alh"; - ll = "ls -al"; - ls = "ls --color=tty"; - mem = "ps -e -orss=,user=,args= | sort -b -k1,1n"; - - s="sudo systemctl"; - st="sudo systemctl status"; - u="systemctl --user"; - j="sudo journalctl -u"; - jb="sudo journalctl -b"; - - nix-history="sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; - mv = "mv -i"; - sshfs = "sshfs -o ServerAliveInterval=15 -o reconnect -f"; - }; - }; - dconf.enable = true; - mtr.enable = true; -}; - -services.avahi = { - enable = true; - nssmdns = true; - openFirewall = false; - publish = { - enable = false; - }; -}; -services.davfs2.enable = true; -fileSystems."/home/sevy/mnt/ilico/severine" = { - device = "https://nuage.ilico.org/remote.php/dav/files/severine/"; - fsType = "davfs"; - options = - let conf = pkgs.writeText "davfs2.conf" '' - backup_dir /home/sevy/Documents/EnTransfert/ilico/severine - cache_dir /home/sevy/.cache/davfs2/ilico/severine - ''; in - [ "conf=${conf}" "user" "noexec" "nosuid" "noauto" ]; # "x-systemd.automount" -}; -services.dbus = { - packages = [ pkgs.gnome3.dconf ]; -}; -services.gvfs = { - enable = true; -}; -services.journald = { - extraConfig = '' - Compress=true - MaxRetentionSec=1month - Storage=persistent - SystemMaxUse=100M - ''; -}; services.physlock = { enable = true; allowAnyUser = true; # NOTE: xfconf-query -c xfce4-session -p /general/LockCommand -s "physlock" --create -t string }; -services.printing = { - enable = true; - drivers = [ - pkgs.gutenprint - pkgs.hplip - ]; -}; -services.udev = { - packages = [ - # Allow members of the "adbusers" group to mount Android devices via MTP - pkgs.android-udev-rules - ]; -}; + services.xserver = { - enable = true; - layout = "fr"; - xkbOptions = "eurosign:e"; - libinput.enable = true; desktopManager = { - xfce = { - enable = true; - thunarPlugins = [ - #pkgs.xfce.thunar-archive-plugin - ]; - }; + mate.enable = true; + xfce.enable = true; xterm.enable = false; }; displayManager = { - defaultSession = "xfce"; + defaultSession = "mate"; autoLogin = { - enable = true; user = config.users.users.sevy.name; }; }; diff --git a/hosts/patate/ilico.nix b/hosts/patate/ilico.nix new file mode 100644 index 0000000..6704398 --- /dev/null +++ b/hosts/patate/ilico.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, ... }: +{ +services.davfs2.enable = true; +fileSystems."/home/sevy/mnt/ilico/severine" = { + device = "https://nuage.ilico.org/remote.php/dav/files/severine/"; + fsType = "davfs"; + options = + let conf = pkgs.writeText "davfs2.conf" '' + backup_dir /home/sevy/Documents/EnTransfert/ilico/severine + cache_dir /home/sevy/.cache/davfs2/ilico/severine + ''; in + [ "conf=${conf}" "user" "noexec" "nosuid" "noauto" ]; # "x-systemd.automount" +}; +} diff --git a/nixos/profiles/bash.nix b/nixos/profiles/bash.nix index f52add1..3dc19c7 100644 --- a/nixos/profiles/bash.nix +++ b/nixos/profiles/bash.nix @@ -1,4 +1,4 @@ - +{ programs = { bash = { interactiveShellInit = '' @@ -13,13 +13,6 @@ programs = { # Utilities mkcd () { mkdir -p "$1"; cd "$1"; } - fan () { - if [ $# -gt 0 ] - then sudo tee /proc/acpi/ibm/fan <<<"level $1" - else grep '^\(level\|speed\):' /proc/acpi/ibm/fan - fi - acpi -t - } ''; shellAliases = { cl = "clear"; @@ -31,12 +24,12 @@ programs = { s="sudo systemctl"; st="sudo systemctl status"; - u="systemctl --user"; j="sudo journalctl -u"; jb="sudo journalctl -b"; nix-history="sudo nix-env --list-generations --profile /nix/var/nix/profiles/system"; mv = "mv -i"; - sshfs = "sshfs -o ServerAliveInterval=15 -o reconnect -f"; }; }; +}; +} diff --git a/nixos/profiles/graphical.nix b/nixos/profiles/graphical.nix new file mode 100644 index 0000000..4622f0b --- /dev/null +++ b/nixos/profiles/graphical.nix @@ -0,0 +1,32 @@ +{ config, pkgs, lib, ... }: +{ +networking.networkmanager = { + enable = lib.mkDefault true; + #dhcp = "dhcpcd"; + logLevel = lib.mkDefault "INFO"; + wifi = { + #backend = "iwd"; + #backend = "wpa_supplicant"; + powersave = lib.mkDefault false; + }; +}; + +services.dbus.packages = [ pkgs.gnome3.dconf ]; +services.gvfs.enable = lib.mkDefault true; + +sound.enable = lib.mkDefault true; +hardware.pulseaudio.enable = lib.mkDefault true; + +services.udev.packages = [ + # Allow members of the "adbusers" group to mount Android devices via MTP. + pkgs.android-udev-rules +]; + +services.xserver = { + enable = lib.mkDefault true; + desktopManager = { + xterm.enable = lib.mkDefault false; + }; + displayManager.autoLogin.enable = lib.mkDefault true; +}; +} diff --git a/nixos/profiles/lang-fr.nix b/nixos/profiles/lang-fr.nix new file mode 100644 index 0000000..a09ccf7 --- /dev/null +++ b/nixos/profiles/lang-fr.nix @@ -0,0 +1,12 @@ +{ config, pkgs, lib, ... }: +{ +time.timeZone = lib.mkDefault "Europe/Paris"; +i18n.defaultLocale = "fr_FR.UTF-8"; +console.font = "Lat2-Terminus16"; +console.keyMap = "fr"; +services.xserver = { + layout = "fr"; + xkbOptions = "eurosign:e"; + libinput.enable = true; +}; +} diff --git a/nixos/profiles/networking.nix b/nixos/profiles/networking.nix new file mode 100644 index 0000000..6ae4a1d --- /dev/null +++ b/nixos/profiles/networking.nix @@ -0,0 +1,32 @@ +{ config, pkgs, lib, hostName, ... }: +let + wg-intra-peers = import wireguard/wg-intra/peers.nix; +in +{ +networking = { + hostName = hostName; + domain = lib.mkDefault "localdomain"; + search = [ "sourcephile.fr" ]; + firewall = { + enable = lib.mkDefault true; + allowPing = lib.mkDefault true; + }; +}; + +programs.mtr.enable = true; + +services.avahi = { + enable = lib.mkDefault true; + nssmdns = lib.mkDefault true; + openFirewall = lib.mkDefault false; + publish.enable = lib.mkDefault false; +}; + +services.openssh = { + forwardX11 = lib.mkDefault true; + openFirewall = true; + listenAddresses = [ + { addr = wg-intra-peers.${hostName}.ipv4; port = 22; } + ]; +}; +} diff --git a/nixos/profiles/printing.nix b/nixos/profiles/printing.nix new file mode 100644 index 0000000..e997e6e --- /dev/null +++ b/nixos/profiles/printing.nix @@ -0,0 +1,14 @@ +{ config, pkgs, lib, ... }: +{ +services.printing = { + enable = true; + drivers = [ + pkgs.gutenprint + pkgs.hplip + ]; +}; +hardware.sane.enable = true; +hardware.sane.extraBackends = [ + pkgs.hplipWithPlugin +]; +} diff --git a/nixos/profiles/system.nix b/nixos/profiles/system.nix new file mode 100644 index 0000000..edf986e --- /dev/null +++ b/nixos/profiles/system.nix @@ -0,0 +1,37 @@ +{ config, pkgs, lib, ... }: +{ +imports = [ + ./bash.nix +]; +documentation = { + enable = lib.mkDefault true; + dev.enable = lib.mkDefault false; + doc.enable = lib.mkDefault true; + info.enable = lib.mkDefault false; + man.enable = lib.mkDefault true; + nixos.enable = lib.mkDefault false; +}; +environment.variables = { + EDITOR = "vim"; + PAGER = "less -R"; + SYSTEMD_LESS = "FKMRX"; +}; +nix = { + autoOptimiseStore = lib.mkDefault true; + gc.automatic = lib.mkDefault true; + gc.dates = lib.mkDefault "weekly"; + gc.options = lib.mkDefault "--delete-older-than 7d"; + nixPath = lib.mkForce [ ]; +}; +security.lockKernelModules = false; +services.openssh.passwordAuthentication = false; +services.journald = { + extraConfig = '' + Compress=true + MaxRetentionSec=1month + Storage=persistent + SystemMaxUse=100M + ''; +}; +users.mutableUsers = false; +} diff --git a/hosts/oignon/tor.nix b/nixos/profiles/tor.nix similarity index 100% rename from hosts/oignon/tor.nix rename to nixos/profiles/tor.nix diff --git a/profiles/networking.nix b/profiles/networking.nix index 116ccb3..0133011 100644 --- a/profiles/networking.nix +++ b/profiles/networking.nix @@ -1,4 +1,4 @@ -{ pkgs, lib, config, nixosConfig, ... }: +{ pkgs, lib, config, ... }: { programs.git.enable = lib.mkDefault true; programs.ssh.enable = lib.mkDefault true; diff --git a/profiles/xfce.nix b/profiles/xfce.nix index dfb2633..7f87b07 100644 --- a/profiles/xfce.nix +++ b/profiles/xfce.nix @@ -7,7 +7,7 @@ home.file.".profile".text = '' fi ''; home.packages = [ - pkgs.mate.caja # Thunar does not map user_id over sftp:// + pkgs.mate.caja-with-extensions # Thunar does not map user_id over sftp:// pkgs.elementary-xfce-icon-theme pkgs.gnome3.defaultIconTheme pkgs.gnome3.file-roller -- 2.47.2