All my system configs and packages in one repo
1
fork

Configure Feed

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

systems/bavette: init

+122 -121
+1 -1
overlay.nix
··· 23 23 # See https://github.com/jj-vcs/jj/issues/5723 24 24 (prev.fetchpatch2 { 25 25 url = "https://github.com/pluiedev/jj/commit/daa88d4dd485ed0c188023d2af8f811fd4db4a14.patch"; 26 - hash = "sha256-F8fp+LXQwuFVVVnYHJAEaQ9dFr6z9tdCkmcKDC39mM8="; 26 + hash = "sha256-6fDLHVB/tZMNxD7okUVpgT7Fd77KCWThVANJ/Xqg1Xc="; 27 27 }) 28 28 ]; 29 29 doCheck = false;
+19 -15
systems/bavette/configuration.nix
··· 1 1 { 2 2 inputs, 3 3 pkgs, 4 - lib, 5 - config, 4 + # lib, 5 + # config, 6 6 ... 7 7 }: 8 8 { ··· 11 11 device = "lenovo-wormdingler"; 12 12 }) 13 13 ../desktop.nix 14 - ../../users 14 + ../../users/leah 15 15 ]; 16 16 17 17 # TODO: is this truly necessary? 18 - mobile.system.depthcharge.kpart.dtbs = lib.mkForce ( 19 - pkgs.runCommand "sc7180-dtbs" { } '' 20 - mkdir -p $out 21 - cd $out 22 - ln -sv ${config.mobile.boot.stage-1.kernel.package}/dtbs/qcom/sc7180-trogdor-wormdingler-rev1-inx.dtb 23 - '' 24 - ); 18 + # mobile.system.depthcharge.kpart.dtbs = lib.mkForce ( 19 + # pkgs.runCommand "sc7180-dtbs" { } '' 20 + # mkdir -p $out 21 + # cd $out 22 + # ln -sv ${config.mobile.boot.stage-1.kernel.package}/dtbs/qcom/sc7180-trogdor-wormdingler-rev1-inx.dtb 23 + # '' 24 + # ); 25 25 26 26 hardware.firmware = with pkgs; [ 27 27 chromeos-sc7180-unredistributable-firmware 28 28 ]; 29 29 30 - users.users.leah = { 31 - enable = true; 32 - presets.niri.enable = false; 33 - }; 30 + services.desktopManager.gnome.enable = true; 31 + services.displayManager.gdm.enable = true; 32 + 33 + networking.hostName = "bavette"; 34 34 35 - services.desktopManager.gnome.enable = true; 35 + # The default mobile-nixos kernel isn't compiled with 36 + # IPv6 FIB lookup, so the default setting would cause 37 + # nftables to stop working. Not that this little thing 38 + # needs extra security anyways. 39 + networking.firewall.checkReversePath = false; 36 40 }
+8 -2
systems/common.nix
··· 57 57 # Use dbus-broker for higher D-Bus performance 58 58 services.dbus.implementation = "broker"; 59 59 60 - services.tailscale.enable = true; 61 - 62 60 # This is very bizarre. 63 61 # 64 62 # Within the Tangled CI environment there's no user information at all, ··· 97 95 ''; 98 96 }; 99 97 nftables.enable = true; 98 + }; 99 + 100 + services.tailscale.enable = true; 101 + 102 + # Make nftables wait for tailscaled to go up 103 + systemd.services.nftables = { 104 + after = [ "tailscaled.service" ]; 105 + wants = [ "tailscaled.service" ]; 100 106 }; 101 107 102 108 i18n = {
-8
systems/focaccia/configuration.nix
··· 43 43 "wheel" # 1984 powers 44 44 ]; 45 45 home = "/home/leah"; 46 - 47 - openssh.authorizedKeys.keys = [ 48 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINcpWY17MNJBx56APRSvLOfUjHllXn9gY/cV51JaLoh6" 49 - ]; 50 46 }; 51 47 52 48 services.openssh = { ··· 57 53 ]; 58 54 settings.PermitRootLogin = "prohibit-password"; 59 55 }; 60 - 61 - users.users.root.openssh.authorizedKeys.keys = [ 62 - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKbsavGX9rGRx5R+7ovLn+r7D/w3zkbqCik4bS31moSz" 63 - ]; 64 56 65 57 # Reverse proxy 66 58 services.caddy = {
+2 -1
systems/laptop.nix
··· 6 6 { 7 7 imports = [ 8 8 ./desktop.nix 9 - ../users 9 + ../users/leah 10 + ../users/leah/presets/niri 10 11 ]; 11 12 12 13 # Enable building and testing aarch64 packages for Nixpkgs dev
+5 -3
users/leah/default.nix
··· 7 7 imports = [ 8 8 ../common.nix 9 9 ./appearance.nix 10 - ./presets/niri 11 10 ./programs 12 11 ]; 13 12 14 13 users.users.leah = { 15 - enable = lib.mkDefault false; # Machines must manually enable the user 16 14 isNormalUser = true; 17 15 description = "Leah C"; 18 16 extraGroups = [ ··· 25 23 # FIXME: huge fucking hack 26 24 # Why isn't this working? who knows 27 25 packages = config.hjem.users.leah.packages; 26 + 27 + openssh.authorizedKeys.keys = [ 28 + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINcpWY17MNJBx56APRSvLOfUjHllXn9gY/cV51JaLoh6" 29 + ]; 28 30 }; 29 31 30 32 # Name and directory should be populated by users.users 31 - hjem.users.leah.enable = config.users.users.leah.enable; 33 + hjem.users.leah.enable = true; 32 34 }
+61 -67
users/leah/presets/niri/default.nix
··· 13 13 ./swayosd 14 14 ]; 15 15 16 - config.users.users.leah.presets.niri = { 17 - enable = lib.mkEnableOption "the Niri preset"; 18 - }; 19 - 20 - options = lib.mkIf config.users.users.leah.presets.niri { 21 - programs.niri.enable = true; 16 + programs.niri.enable = true; 22 17 23 - services.gnome.gnome-keyring.enable = true; 24 - security.pam.services.login.enableGnomeKeyring = true; 18 + services.gnome.gnome-keyring.enable = true; 19 + security.pam.services.login.enableGnomeKeyring = true; 25 20 26 - hjem.users.leah = { 27 - packages = with pkgs; [ 28 - networkmanagerapplet 29 - xwayland-satellite 30 - brightnessctl 31 - wleave 21 + hjem.users.leah = { 22 + packages = with pkgs; [ 23 + networkmanagerapplet 24 + xwayland-satellite 25 + brightnessctl 26 + wleave 32 27 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 - ]; 28 + # Desktop utilities 29 + file-roller 30 + loupe 31 + gnome-logs 32 + resources 33 + # I'm using Nautilus here because it a) looks nice 34 + # and b) avoids configuring XDP GNOME to use a XDP GTK's file chooser 35 + nautilus 36 + ]; 42 37 43 - xdg.config.files."niri/config.kdl".source = ./config.kdl; 38 + xdg.config.files."niri/config.kdl".source = ./config.kdl; 44 39 45 - ext.programs.swaylock = { 46 - enable = true; 47 - package = pkgs.swaylock-effects; 40 + ext.programs.swaylock = { 41 + enable = true; 42 + package = pkgs.swaylock-effects; 48 43 49 - settings = { 50 - show-failed-attempts = true; 51 - ignore-empty-password = true; 52 - daemonize = true; 44 + settings = { 45 + show-failed-attempts = true; 46 + ignore-empty-password = true; 47 + daemonize = true; 53 48 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; 49 + screenshots = true; 50 + scaling = "fit"; 51 + clock = true; 52 + indicator-idle-visible = true; 53 + grace = 3; 54 + effect-blur = "10x10"; 55 + effect-vignette = "0.5:0.8"; 56 + effect-pixelate = 4; 62 57 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"; 58 + text-color = "#cdd6f4"; 59 + inside-color = "#181825"; 60 + inside-clear-color = "#a6e3a1"; 61 + inside-ver-color = "#cba6f7"; 62 + inside-wrong-color = "#f38ba8"; 63 + ring-color = "#1e1e2e"; 64 + ring-clear-color = "#a6e3a1"; 65 + ring-ver-color = "#cba6f7"; 66 + ring-wrong-color = "#f38ba8"; 67 + key-hl-color = "#eba0ac"; 68 + bs-hl-color = "#6c7086"; 69 + line-color = "#313244"; 75 70 76 - timestr = "%H:%M"; 77 - datestr = "%e %b '%y / %a"; 78 - }; 71 + timestr = "%H:%M"; 72 + datestr = "%e %b '%y / %a"; 79 73 }; 74 + }; 80 75 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 - }; 76 + ext.programs.vicinae = { 77 + enable = true; 78 + settings = { 79 + closeOnFocusLoss = false; 80 + considerPreedit = true; 81 + font.size = 12; 82 + keybinding = "default"; 83 + popToRootOnClose = true; 84 + window = { 85 + csd = true; 86 + opacity = 0.85; 87 + rounding = 16; 94 88 }; 95 89 }; 96 90 };
+26 -24
users/leah/programs/steam.nix
··· 5 5 ... 6 6 }: 7 7 { 8 - programs.gamemode.enable = true; 8 + config = lib.mkIf (pkgs.stdenv.hostPlatform.system == "x86_64-linux") { 9 + programs.gamemode.enable = true; 9 10 10 - programs.steam = { 11 - enable = true; 11 + programs.steam = { 12 + enable = true; 12 13 13 - package = pkgs.steam.override { 14 - extraEnv = lib.optionalAttrs config.hardware.nvidia.prime.offload.enable { 15 - __NV_PRIME_RENDER_OFFLOAD = 1; 16 - __GLX_VENDOR_LIBRARY_NAME = "nvidia"; 14 + package = pkgs.steam.override { 15 + extraEnv = lib.optionalAttrs config.hardware.nvidia.prime.offload.enable { 16 + __NV_PRIME_RENDER_OFFLOAD = 1; 17 + __GLX_VENDOR_LIBRARY_NAME = "nvidia"; 18 + }; 17 19 }; 18 - }; 19 20 20 - # Install Proton GE by default 21 - extraCompatPackages = [ pkgs.proton-ge-bin ]; 21 + # Install Proton GE by default 22 + extraCompatPackages = [ pkgs.proton-ge-bin ]; 22 23 23 - # Some native Linux games *assume* the distro has 24 - # certain packages that may not be present on NixOS. 25 - extraPackages = [ 26 - pkgs.ncurses6 # Crusader Kings III 24 + # Some native Linux games *assume* the distro has 25 + # certain packages that may not be present on NixOS. 26 + extraPackages = [ 27 + pkgs.ncurses6 # Crusader Kings III 28 + ]; 29 + 30 + protontricks.enable = true; 31 + remotePlay.openFirewall = true; 32 + }; 33 + 34 + hjem.users.leah.packages = [ 35 + (pkgs.makeAutostartItem { 36 + name = "steam"; 37 + package = pkgs.steam; 38 + }) 27 39 ]; 28 - 29 - protontricks.enable = true; 30 - remotePlay.openFirewall = true; 31 40 }; 32 - 33 - hjem.users.leah.packages = [ 34 - (pkgs.makeAutostartItem { 35 - name = "steam"; 36 - package = pkgs.steam; 37 - }) 38 - ]; 39 41 }