Personal Nix setup
at main 2.1 kB view raw
1{ lib, pkgs, helpers, ... } @ inputs: 2 3with lib; 4let 5 inherit (import ../../lib/colors.nix inputs) hex; 6in helpers.linuxAttrs { 7 environment.systemPackages = [ pkgs.sbctl ]; 8 9 console = { 10 earlySetup = true; 11 useXkbConfig = true; 12 13 colors = [ 14 "000000" 15 "${hex.red}" 16 "${hex.green}" 17 "${hex.yellow}" 18 "${hex.blue}" 19 "${hex.magenta}" 20 "${hex.aqua}" 21 "${hex.white}" 22 "${hex.grey}" 23 "${hex.brightRed}" 24 "${hex.brightGreen}" 25 "${hex.orange}" 26 "${hex.brightBlue}" 27 "${hex.pink}" 28 "${hex.cyan}" 29 "${hex.muted}" 30 ]; 31 }; 32 33 boot = { 34 bootspec.enable = mkDefault true; 35 consoleLogLevel = mkDefault 2; 36 37 loader = { 38 timeout = mkDefault 2; 39 systemd-boot.configurationLimit = mkDefault 3; 40 }; 41 42 initrd = { 43 verbose = false; 44 systemd.enable = true; 45 }; 46 47 kernelPackages = mkDefault pkgs.linuxPackages_latest; 48 49 kernelParams = [ 50 "quiet" 51 "splash" 52 "boot.shell_on_fail" 53 "rd.systemd.show_status=auto" 54 "rd.udev.log_level=3" 55 "udev.log_priority=3" 56 "nmi_watchdog=0" 57 "mitigations=off" 58 ]; 59 60 kernel.sysctl = { 61 "vm.swappiness" = 10; 62 "vm.vfs_cache_pressure" = 10; 63 "vm.dirty_ratio" = 2; 64 "vm.dirty_background_ratio" = 5; 65 "net.ipv4.tcp_fin_timeout" = mkDefault 5; 66 "net.ipv4.tcp_mtu_probing" = mkDefault true; 67 }; 68 }; 69 70 time.timeZone = "Europe/London"; 71 72 i18n = { 73 defaultLocale = "en_GB.UTF-8"; 74 extraLocaleSettings = { 75 LC_TIME = "en_GB.UTF-8"; 76 LC_ADDRESS = "en_GB.UTF-8"; 77 LC_IDENTIFICATION = "en_GB.UTF-8"; 78 LC_MEASUREMENT = "en_GB.UTF-8"; 79 LC_MONETARY = "en_GB.UTF-8"; 80 LC_NAME = "en_GB.UTF-8"; 81 LC_NUMERIC = "en_GB.UTF-8"; 82 LC_PAPER = "en_GB.UTF-8"; 83 LC_TELEPHONE = "en_GB.UTF-8"; 84 }; 85 supportedLocales = [ 86 "en_GB.UTF-8/UTF-8" 87 "en_US.UTF-8/UTF-8" 88 ]; 89 }; 90 91 security = { 92 sudo.enable = true; 93 polkit.enable = true; 94 }; 95 96 services.dbus.enable = true; 97 98 virtualisation.oci-containers.backend = mkDefault "podman"; 99}