All my system configs and packages in one repo
fork

Configure Feed

Select the types of activity you want to include in your feed.

systems/bavette: reuse most of existing user system

pluie.me 968fc333 8a53bc2f

verified
+117 -138
+3 -42
systems/bavette/configuration.nix
··· 11 11 device = "lenovo-wormdingler"; 12 12 }) 13 13 ../desktop.nix 14 - ]; 15 - 16 - nixpkgs.overlays = [ 17 - (final: prev: { 18 - # FIXME: wtf 19 - # > ====================================================================== 20 - # > FAIL: test_how_to_type (__main__.TestXkbcli.test_how_to_type) (args=['--verbose', '1']) 21 - # > ---------------------------------------------------------------------- 22 - # > Traceback (most recent call last): 23 - # > File "/build/source/test/tool-option-parsing.py", line 583, in test_how_to_type 24 - # > assert len(lines) >= 1 25 - # > ^^^^^^^^^^^^^^^ 26 - # > AssertionError 27 - # > 28 - # > ---------------------------------------------------------------------- 29 - # > Ran 20 tests in 52.199s 30 - # > 31 - # > FAILED (failures=13, skipped=95) 32 - libxkbcommon = prev.libxkbcommon.overrideAttrs { 33 - doCheck = false; 34 - }; 35 - }) 14 + ../../users 36 15 ]; 37 16 38 17 # TODO: is this truly necessary? ··· 48 27 chromeos-sc7180-unredistributable-firmware 49 28 ]; 50 29 51 - services.desktopManager.gnome.enable = true; 52 - 53 30 users.users.leah = { 54 31 enable = true; 55 - isNormalUser = true; 56 - description = "Leah C"; 57 - extraGroups = [ 58 - "wheel" # 1984 powers 59 - ]; 60 - home = "/home/leah"; 61 - 62 - openssh.authorizedKeys.keys = [ 63 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINcpWY17MNJBx56APRSvLOfUjHllXn9gY/cV51JaLoh6" 64 - ]; 32 + presets.niri.enable = false; 65 33 }; 66 34 67 - services.openssh = { 68 - enable = true; 69 - settings.PermitRootLogin = "prohibit-password"; 70 - }; 71 - 72 - users.users.root.openssh.authorizedKeys.keys = [ 73 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbsavGX9rGRx5R+7ovLn+r7D/w3zkbqCik4bS31moSz" 74 - ]; 35 + services.desktopManager.gnome.enable = true; 75 36 }
+34 -17
systems/common.nix
··· 2 2 { 3 3 config, 4 4 inputs, 5 - pkgs, 6 5 ... 7 6 }: 8 7 { ··· 36 35 ]; 37 36 trusted-users = [ "@wheel" ]; 38 37 }; 39 - 40 - # distributedBuilds = true; 41 - 42 - # buildMachines = [ 43 - # { 44 - # hostName = "aarch64-build-box"; 45 - # sshUser = "pluiedev"; 46 - # sshKey = "/root/.ssh/remotebuild"; 47 - # system = "aarch64-linux"; 48 - # supportedFeatures = [ 49 - # "nixos-test" 50 - # "big-parallel" 51 - # "kvm" 52 - # ]; 53 - # } 54 - # ]; 55 38 }; 56 39 57 40 nixpkgs = { ··· 89 72 zramSwap = { 90 73 enable = true; 91 74 algorithm = "zstd"; 75 + }; 76 + 77 + # SSH access 78 + services.openssh = { 79 + enable = true; 80 + ports = [ 81 + 22 82 + 42069 83 + ]; 84 + settings.PermitRootLogin = "prohibit-password"; 85 + }; 86 + 87 + users.users.root.openssh.authorizedKeys.keys = [ 88 + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbsavGX9rGRx5R+7ovLn+r7D/w3zkbqCik4bS31moSz" 89 + ]; 90 + 91 + networking = { 92 + # Allow Tailscale users to connect to port 22 directly 93 + firewall = { 94 + allowedTCPPorts = [ 42069 ]; 95 + extraInputRules = '' 96 + iifname "tailscale0" tcp dport 22 accept 97 + ''; 98 + }; 99 + nftables.enable = true; 100 + }; 101 + 102 + i18n = { 103 + defaultLocale = "en_US.UTF-8"; 104 + extraLocales = [ 105 + "zh_CN.UTF-8/UTF-8" 106 + "de_DE.UTF-8/UTF-8" 107 + ]; 108 + extraLocaleSettings.LC_TIME = "de_DE.UTF-8"; 92 109 }; 93 110 94 111 system.configurationRevision = inputs.self.rev or inputs.self.dirtyRev or "unknown-dirty";
-5
systems/focaccia/configuration.nix
··· 32 32 allowedUDPPorts = [ 33 33 443 34 34 ]; 35 - # Allow Tailscale users to connect to port 22 directly 36 - extraInputRules = '' 37 - iifname "tailscale0" tcp dport 22 accept 38 - ''; 39 35 }; 40 - nftables.enable = true; 41 36 }; 42 37 43 38 users.users.leah = {
+3
systems/laptop.nix
··· 44 44 # instead of power-profile-daemon's rigid profiles 45 45 services.tlp.enable = true; 46 46 47 + # Firmware updates 48 + services.fwupd.enable = true; 49 + 47 50 # Allow GPU usage monitoring utilities like `intel_gpu_top` 48 51 # to function without superuser access 49 52 boot.kernel.sysctl."kernel.perf_event_paranoid" = 0;
+7 -2
systems/pappardelle/configuration.nix
··· 11 11 12 12 hardware.bluetooth.enable = true; 13 13 networking.hostName = "pappardelle"; 14 - users.users.leah.enable = true; 14 + 15 + users.users.leah = { 16 + enable = true; 17 + presets.niri = { 18 + enable = true; 19 + }; 20 + }; 15 21 16 22 boot.kernelParams = [ "intel_idle.max_cstate=9" ]; 17 - services.fwupd.enable = true; 18 23 }
+1 -11
users/leah/default.nix
··· 7 7 imports = [ 8 8 ../common.nix 9 9 ./appearance.nix 10 - # ./presets/plasma 11 10 ./presets/niri 12 11 ./programs 13 12 ]; ··· 29 28 }; 30 29 31 30 # Name and directory should be populated by users.users 32 - hjem.users.leah.enable = true; 33 - 34 - i18n = { 35 - defaultLocale = "en_US.UTF-8"; 36 - extraLocales = [ 37 - "zh_CN.UTF-8/UTF-8" 38 - "de_DE.UTF-8/UTF-8" 39 - ]; 40 - extraLocaleSettings.LC_TIME = "de_DE.UTF-8"; 41 - }; 31 + hjem.users.leah.enable = config.users.users.leah.enable; 42 32 }
+69 -61
users/leah/presets/niri/default.nix
··· 1 1 { 2 2 pkgs, 3 + lib, 4 + config, 3 5 ... 4 6 }: 5 7 { ··· 11 13 ./swayosd 12 14 ]; 13 15 14 - programs.niri.enable = true; 16 + config.users.users.leah.presets.niri = { 17 + enable = lib.mkEnableOption "the Niri preset"; 18 + }; 15 19 16 - services.gnome.gnome-keyring.enable = true; 17 - security.pam.services.login.enableGnomeKeyring = true; 20 + options = lib.mkIf config.users.users.leah.presets.niri { 21 + programs.niri.enable = true; 18 22 19 - hjem.users.leah = { 20 - packages = with pkgs; [ 21 - networkmanagerapplet 22 - xwayland-satellite 23 - brightnessctl 24 - wleave 23 + services.gnome.gnome-keyring.enable = true; 24 + security.pam.services.login.enableGnomeKeyring = true; 25 25 26 - # Desktop utilities 27 - file-roller 28 - loupe 29 - gnome-logs 30 - resources 31 - # I'm using Nautilus here because it a) looks nice 32 - # and b) avoids configuring XDP GNOME to use a XDP GTK's file chooser 33 - nautilus 34 - ]; 26 + hjem.users.leah = { 27 + packages = with pkgs; [ 28 + networkmanagerapplet 29 + xwayland-satellite 30 + brightnessctl 31 + wleave 35 32 36 - xdg.config.files."niri/config.kdl".source = ./config.kdl; 33 + # Desktop utilities 34 + file-roller 35 + loupe 36 + gnome-logs 37 + resources 38 + # I'm using Nautilus here because it a) looks nice 39 + # and b) avoids configuring XDP GNOME to use a XDP GTK's file chooser 40 + nautilus 41 + ]; 37 42 38 - ext.programs.swaylock = { 39 - enable = true; 40 - package = pkgs.swaylock-effects; 43 + xdg.config.files."niri/config.kdl".source = ./config.kdl; 41 44 42 - settings = { 43 - show-failed-attempts = true; 44 - ignore-empty-password = true; 45 - daemonize = true; 45 + ext.programs.swaylock = { 46 + enable = true; 47 + package = pkgs.swaylock-effects; 46 48 47 - screenshots = true; 48 - scaling = "fit"; 49 - clock = true; 50 - indicator-idle-visible = true; 51 - grace = 3; 52 - effect-blur = "10x10"; 53 - effect-vignette = "0.5:0.8"; 54 - effect-pixelate = 4; 49 + settings = { 50 + show-failed-attempts = true; 51 + ignore-empty-password = true; 52 + daemonize = true; 55 53 56 - text-color = "#cdd6f4"; 57 - inside-color = "#181825"; 58 - inside-clear-color = "#a6e3a1"; 59 - inside-ver-color = "#cba6f7"; 60 - inside-wrong-color = "#f38ba8"; 61 - ring-color = "#1e1e2e"; 62 - ring-clear-color = "#a6e3a1"; 63 - ring-ver-color = "#cba6f7"; 64 - ring-wrong-color = "#f38ba8"; 65 - key-hl-color = "#eba0ac"; 66 - bs-hl-color = "#6c7086"; 67 - line-color = "#313244"; 54 + screenshots = true; 55 + scaling = "fit"; 56 + clock = true; 57 + indicator-idle-visible = true; 58 + grace = 3; 59 + effect-blur = "10x10"; 60 + effect-vignette = "0.5:0.8"; 61 + effect-pixelate = 4; 62 + 63 + text-color = "#cdd6f4"; 64 + inside-color = "#181825"; 65 + inside-clear-color = "#a6e3a1"; 66 + inside-ver-color = "#cba6f7"; 67 + inside-wrong-color = "#f38ba8"; 68 + ring-color = "#1e1e2e"; 69 + ring-clear-color = "#a6e3a1"; 70 + ring-ver-color = "#cba6f7"; 71 + ring-wrong-color = "#f38ba8"; 72 + key-hl-color = "#eba0ac"; 73 + bs-hl-color = "#6c7086"; 74 + line-color = "#313244"; 68 75 69 - timestr = "%H:%M"; 70 - datestr = "%e %b '%y / %a"; 76 + timestr = "%H:%M"; 77 + datestr = "%e %b '%y / %a"; 78 + }; 71 79 }; 72 - }; 73 80 74 - ext.programs.vicinae = { 75 - enable = true; 76 - settings = { 77 - closeOnFocusLoss = false; 78 - considerPreedit = true; 79 - font.size = 12; 80 - keybinding = "default"; 81 - popToRootOnClose = true; 82 - window = { 83 - csd = true; 84 - opacity = 0.85; 85 - rounding = 16; 81 + ext.programs.vicinae = { 82 + enable = true; 83 + settings = { 84 + closeOnFocusLoss = false; 85 + considerPreedit = true; 86 + font.size = 12; 87 + keybinding = "default"; 88 + popToRootOnClose = true; 89 + window = { 90 + csd = true; 91 + opacity = 0.85; 92 + rounding = 16; 93 + }; 86 94 }; 87 95 }; 88 96 };