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.

refinements

+259 -40
+60 -16
flake.lock
··· 89 89 ] 90 90 }, 91 91 "locked": { 92 - "lastModified": 1746251417, 93 - "narHash": "sha256-u6snZSfmjgHmdyr57mDcGZ+h9mEQhl1rcagC+PQSEuQ=", 92 + "lastModified": 1746355589, 93 + "narHash": "sha256-LguszqsDBTtdBxblQTtN7vOAYmfoe43aHkB8aK1dChE=", 94 94 "owner": "feel-co", 95 95 "repo": "hjem", 96 - "rev": "b034b70f8850729b828a7327e29bbecd287e09c6", 96 + "rev": "77b37eeb583d43e1c723119a69c906235174ce57", 97 97 "type": "github" 98 98 }, 99 99 "original": { ··· 104 104 }, 105 105 "hjem-rum": { 106 106 "inputs": { 107 + "hjem": "hjem_2", 107 108 "nixpkgs": [ 108 109 "nixpkgs" 109 - ] 110 + ], 111 + "treefmt-nix": "treefmt-nix" 110 112 }, 111 113 "locked": { 112 - "lastModified": 1746160248, 113 - "narHash": "sha256-IGYDY1TtHNEY5snzzWr0J+LhIa7Gk9Y6efwnl7hQsN8=", 114 + "lastModified": 1746649889, 115 + "narHash": "sha256-BPOqzm+PfrGul5XQm00bUayOp4G6w4FAx6SStXyZeUo=", 114 116 "owner": "snugnug", 115 117 "repo": "hjem-rum", 116 - "rev": "5519659f967bf6c8910c59fada57bb9b2aa50251", 118 + "rev": "5dd596a204f3dfeb88803ab8c46bfa449a4b5805", 117 119 "type": "github" 118 120 }, 119 121 "original": { ··· 122 124 "type": "github" 123 125 } 124 126 }, 127 + "hjem_2": { 128 + "inputs": { 129 + "nixpkgs": [ 130 + "hjem-rum", 131 + "nixpkgs" 132 + ] 133 + }, 134 + "locked": { 135 + "lastModified": 1746355589, 136 + "narHash": "sha256-LguszqsDBTtdBxblQTtN7vOAYmfoe43aHkB8aK1dChE=", 137 + "owner": "feel-co", 138 + "repo": "hjem", 139 + "rev": "77b37eeb583d43e1c723119a69c906235174ce57", 140 + "type": "github" 141 + }, 142 + "original": { 143 + "owner": "feel-co", 144 + "repo": "hjem", 145 + "type": "github" 146 + } 147 + }, 125 148 "nix-index-database": { 126 149 "inputs": { 127 150 "nixpkgs": [ ··· 129 152 ] 130 153 }, 131 154 "locked": { 132 - "lastModified": 1746054057, 133 - "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", 155 + "lastModified": 1746330942, 156 + "narHash": "sha256-ShizFaJCAST23tSrHHtFFGF0fwd72AG+KhPZFFQX/0o=", 134 157 "owner": "nix-community", 135 158 "repo": "nix-index-database", 136 - "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", 159 + "rev": "137fd2bd726fff343874f85601b51769b48685cc", 137 160 "type": "github" 138 161 }, 139 162 "original": { ··· 144 167 }, 145 168 "nixos-hardware": { 146 169 "locked": { 147 - "lastModified": 1745955289, 148 - "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=", 170 + "lastModified": 1746621361, 171 + "narHash": "sha256-T9vOxEqI1j1RYugV0b9dgy0AreiZ9yBDKZJYyclF0og=", 149 172 "owner": "NixOS", 150 173 "repo": "nixos-hardware", 151 - "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b", 174 + "rev": "2ea3ad8a1f26a76f8a8e23fc4f7757c46ef30ee5", 152 175 "type": "github" 153 176 }, 154 177 "original": { ··· 160 183 }, 161 184 "nixpkgs": { 162 185 "locked": { 163 - "lastModified": 1746232882, 164 - "narHash": "sha256-MHmBH2rS8KkRRdoU/feC/dKbdlMkcNkB5mwkuipVHeQ=", 186 + "lastModified": 1746663147, 187 + "narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=", 165 188 "owner": "NixOS", 166 189 "repo": "nixpkgs", 167 - "rev": "7a2622e2c0dbad5c4493cb268aba12896e28b008", 190 + "rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54", 168 191 "type": "github" 169 192 }, 170 193 "original": { ··· 197 220 "original": { 198 221 "owner": "nix-systems", 199 222 "repo": "default", 223 + "type": "github" 224 + } 225 + }, 226 + "treefmt-nix": { 227 + "inputs": { 228 + "nixpkgs": [ 229 + "hjem-rum", 230 + "nixpkgs" 231 + ] 232 + }, 233 + "locked": { 234 + "lastModified": 1746216483, 235 + "narHash": "sha256-4h3s1L/kKqt3gMDcVfN8/4v2jqHrgLIe4qok4ApH5x4=", 236 + "owner": "numtide", 237 + "repo": "treefmt-nix", 238 + "rev": "29ec5026372e0dec56f890e50dbe4f45930320fd", 239 + "type": "github" 240 + }, 241 + "original": { 242 + "owner": "numtide", 243 + "repo": "treefmt-nix", 200 244 "type": "github" 201 245 } 202 246 },
+5
packages/klassy-qt5/package.nix
··· 1 + { 2 + klassy, 3 + libsForQt5, 4 + }: 5 + klassy.override { qtPackages = libsForQt5; }
+87
packages/klassy/package.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + cmake, 6 + ninja, 7 + kdePackages, 8 + qtPackages ? kdePackages, 9 + gitUpdater, 10 + }: 11 + let 12 + qtMajorVersion = lib.versions.major qtPackages.qtbase.version; 13 + in 14 + stdenv.mkDerivation (finalAttrs: { 15 + pname = "klassy-qt${qtMajorVersion}"; 16 + version = "6.3.breeze6.3.5"; 17 + 18 + src = fetchFromGitHub { 19 + owner = "paulmcauley"; 20 + repo = "klassy"; 21 + tag = finalAttrs.version; 22 + hash = "sha256-psXlkTo11e1Yuk85pI1KTRHl0eVdXh0bXcYbnhTa7Qk="; 23 + }; 24 + 25 + nativeBuildInputs = [ 26 + cmake 27 + ninja 28 + qtPackages.extra-cmake-modules 29 + qtPackages.wrapQtAppsHook 30 + ]; 31 + 32 + buildInputs = 33 + with qtPackages; 34 + [ 35 + qtbase 36 + qtdeclarative 37 + qttools 38 + frameworkintegration 39 + kcmutils 40 + kdecoration 41 + kiconthemes 42 + kwindowsystem 43 + ] 44 + ++ lib.optionals (qtMajorVersion == "5") [ 45 + qtx11extras 46 + kconfigwidgets 47 + kirigami2 48 + ] 49 + ++ lib.optionals (qtMajorVersion == "6") [ 50 + qtsvg 51 + kcolorscheme 52 + kconfig 53 + kcoreaddons 54 + kdecoration 55 + kguiaddons 56 + ki18n 57 + kirigami 58 + kwidgetsaddons 59 + ]; 60 + 61 + cmakeFlags = map (v: lib.cmakeBool "BUILD_QT${v}" (v == qtMajorVersion)) [ 62 + "5" 63 + "6" 64 + ]; 65 + 66 + passthru.updateScript = gitUpdater { }; 67 + 68 + meta = 69 + { 70 + description = "Highly customizable binary Window Decoration, Application Style and Global Theme plugin for recent versions of the KDE Plasma desktop"; 71 + homepage = "https://github.com/paulmcauley/klassy"; 72 + platforms = lib.platforms.linux; 73 + license = with lib.licenses; [ 74 + bsd3 75 + cc0 76 + gpl2Only 77 + gpl2Plus 78 + gpl3Only 79 + gpl3Plus # KDE-Accepted-GPL 80 + mit 81 + ]; 82 + maintainers = with lib.maintainers; [ pluiedev ]; 83 + } 84 + // lib.optionalAttrs (qtMajorVersion == "6") { 85 + mainProgram = "klassy-settings"; 86 + }; 87 + })
+25
packages/meowpdf/package.nix
··· 1 + { 2 + rustPlatform, 3 + fetchFromGitHub, 4 + }: 5 + let 6 + version = "1.0.0"; 7 + in 8 + rustPlatform.buildRustPackage { 9 + pname = "meowpdf"; 10 + inherit version; 11 + 12 + src = fetchFromGitHub { 13 + owner = "monoamine11231"; 14 + repo = "meowpdf"; 15 + tag = "v${version}"; 16 + hash = "sha256-C5GqyZW0pDmBuaKM890hx2JZtkZqZx+x/RZFCPhpjho="; 17 + }; 18 + 19 + cargoHash = "sha256-hCGMm0ORKuyyWU5D9k+nthSwmq8ALz0qASLDaMiW30U="; 20 + 21 + nativeBuildInputs = [ 22 + rustPlatform.bindgenHook 23 + ]; 24 + } 25 +
+6 -2
systems/common.nix
··· 37 37 38 38 nixpkgs = { 39 39 # I'm not part of the FSF and I don't care 40 - config.allowUnfree = true; 40 + config = { 41 + allowUnfree = true; 42 + cudaSupport = true; 43 + }; 44 + 41 45 flake.setNixPath = true; 42 46 43 47 overlays = [ inputs.self.overlays.default ]; ··· 59 63 plymouth.enable = true; 60 64 kernelParams = [ 61 65 "quiet" 62 - "splash" 63 66 "plymouth.use-simpledrm" 64 67 "i915.fastboot=1" 65 68 ]; ··· 73 76 74 77 services = { 75 78 flatpak.enable = true; 79 + udisks2.enable = true; 76 80 77 81 pulseaudio.enable = false; 78 82 pipewire = {
+22 -1
users/leah/appearance.nix
··· 26 26 }; 27 27 }; 28 28 29 + # programs.dconf.profiles.user.databases = [ 30 + # { 31 + # settings = { 32 + # "org/gnome/desktop/interface" = { 33 + # font-name = "DM Sans 13"; 34 + # gtk-theme = "Adwaita"; 35 + # icon-theme = "Adwaita"; 36 + # color-scheme = "prefer-dark"; 37 + # # Not exactly maroon, but close enough 38 + # accent-color = "pink"; 39 + # cursor-theme = "BreezeX-Dark"; 40 + # cursor-size = lib.gvariant.mkInt32 32; 41 + # }; 42 + # }; 43 + # } 44 + # ]; 45 + 29 46 hjem.users.leah = { 30 47 ctp = { 31 48 enable = true; 32 49 inherit flavor accent; 33 50 }; 34 51 35 - packages = [ pkgs.breezex-cursor ]; 52 + packages = with pkgs; [ 53 + breezex-cursor 54 + adw-gtk3 55 + adwaita-icon-theme 56 + ]; 36 57 37 58 rum.programs.fish.earlyConfigFiles.ctp-eza = '' 38 59 set -x LS_COLORS (${lib.getExe pkgs.vivid} generate catppuccin-${flavor})
+4
users/leah/default.nix
··· 17 17 "wheel" # 1984 powers 18 18 "rtkit" # Some apps may need to adjust audio priority at runtime 19 19 "networkmanager" # Manage networks 20 + 21 + "qemu-libvirtd" 22 + "libvirtd" 20 23 ]; 21 24 home = "/home/leah"; 22 25 ··· 36 39 ]; 37 40 extraLocaleSettings.LC_TIME = "de_DE.UTF-8"; 38 41 }; 42 + 39 43 }
+5 -2
users/leah/presets/niri/config.kdl
··· 71 71 72 72 window-rule { 73 73 match app-id=r#"^org\.gnome\.World\.Secrets$"# 74 + match app-id="1Password" 74 75 75 76 block-out-from "screen-capture" 76 77 } ··· 83 84 Super+D repeat=false { spawn "bash" "-c" "pkill fuzzel || fuzzel"; } 84 85 Super+Alt+L { spawn "swaylock"; } 85 86 86 - XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; } 87 - XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; } 87 + XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+" "-l" "1.0"; } 88 + XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-" "-l" "1.0"; } 88 89 XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } 89 90 XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } 90 91 ··· 245 246 workspace "dev" 246 247 workspace "gaming" 247 248 249 + // TODO: I do not know why 1Pass doesn't work on Wayland 250 + spawn-at-startup "1password --ozone-platform-hint=x11" 248 251 spawn-at-startup "ghostty" 249 252 spawn-at-startup "firefox" 250 253
+15 -9
users/leah/presets/niri/gui-toolkits.nix
··· 5 5 }: 6 6 { 7 7 hjem.users.leah.packages = with pkgs; [ 8 - darkly 9 - darkly-qt5 10 - adw-gtk3 11 - adwaita-icon-theme 8 + qadwaitadecorations 9 + qadwaitadecorations-qt6 12 10 ]; 13 11 14 12 # Theme Qt apps via qt{5,6}ct + Darkly 15 - qt = { 16 - enable = true; 17 - platformTheme = "qt5ct"; 18 - }; 13 + # TODO: Declaratively configure qt*ct 14 + qt.enable = true; 15 + environment.variables.QT_QPA_PLATFORMTHEME = "adwaita"; 19 16 20 - # TODO: Declaratively configure qt*ct and GTK3/4 gsettings appearance flags 17 + programs.dconf.profiles.user.databases = [ 18 + { 19 + settings = { 20 + "org/gnome/desktop/wm/preferences" = { 21 + # Both minimize and maximize do nothing in niri 22 + button-layout = "icon:close"; 23 + }; 24 + }; 25 + } 26 + ]; 21 27 22 28 # On native Wayland compositors that support text-input-v3 23 29 # (incl. Niri), it's recommended to set this flag to true,
+15 -2
users/leah/presets/niri/services.nix
··· 2 2 config, 3 3 pkgs, 4 4 lib, 5 + inputs, 5 6 ... 6 7 }: 7 8 let 9 + 8 10 mkStartupService = run: { 9 11 enable = true; 10 12 wantedBy = [ "graphical-session.target" ]; ··· 50 52 swayidle' = pkgs.writeShellScript "swayidle-wrapped" '' 51 53 ${lib.getExe pkgs.swayidle} -w \ 52 54 timeout 300 ${swaylock'} \ 53 - timeout 600 'niri msg action power-off-monitors' \ 54 - resume 'niri msg action power-on-monitors' \ 55 + timeout 600 '${pkgs.niri} msg action power-off-monitors' \ 56 + resume '${pkgs.niri} msg action power-on-monitors' \ 55 57 before-sleep ${swaylock'} \ 56 58 lock ${swaylock'} \ 57 59 unlock 'pkill -SIGUSR1 -ux $USER ${swaylock'}' ··· 64 66 xwayland-satellite 65 67 ]; 66 68 69 + hjem.users.leah.files = { 70 + ".config/systemd/user/default.target.wants/swaync.service".source = 71 + "${pkgs.swaynotificationcenter}/lib/systemd/user/swaync.service"; 72 + ".config/systemd/user/default.target.wants/xwayland-satellite.service".source = 73 + "${pkgs.xwayland-satellite}/lib/systemd/user/xwayland-satellite.service"; 74 + ".config/systemd/user/default.target.wants/waybar.service".source = 75 + "${pkgs.waybar}/lib/systemd/user/waybar.service"; 76 + }; 77 + 67 78 systemd.user.services = { 79 + # waybar.serviceConfig.ExecReload = 80 + 68 81 polkit-gnome-authentication-agent-1 = mkStartupService "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; 69 82 70 83 swaybg = mkStartupService "${lib.getExe pkgs.swaybg} -i ${../../wallpaper.jpg}";
+7 -1
users/leah/presets/niri/waybar/config.jsonc
··· 74 74 "format": " {percent}%" 75 75 }, 76 76 "clock": { 77 - "format": "<b>{0:%H:%M}</b> <span size='small' color='#a6adc8'>{0:%e %b '%y / %a}</span>" 77 + "format": "<b>{0:%H:%M}</b> <span size='small' color='#a6adc8'>{0:%e %b '%y / %a (%Ez)}</span>", 78 + "locale": "de_DE.UTF-8", 79 + "tooltip-format": "{tz_list}", 80 + "timezones": [ 81 + "Europe/Berlin", 82 + "Asia/Shanghai", 83 + ], 78 84 }, 79 85 "bluetooth": { 80 86 "format-off": " ",
+1 -7
users/leah/programs/1password.nix
··· 18 18 19 19 # Add 1Pass as SSH agent 20 20 hjem.users.leah = { 21 - files.".ssh/config".text = '' 22 - Host * 23 - IdentityAgent ${config.hjem.users.leah.directory}/.1password/agent.sock 24 - ''; 25 - 26 - ext.programs.git.settings.gpg.ssh.program = 27 - lib.getExe' config.programs._1password-gui.package "op-ssh-sign"; 21 + environment.sessionVariables.SSH_AUTH_SOCK = "${config.hjem.users.leah.directory}/.1password/agent.sock"; 28 22 }; 29 23 }
+7
users/leah/programs/default.nix
··· 24 24 nix-index-database.comma.enable = true; 25 25 }; 26 26 27 + services.spice-webdavd.enable = true; 28 + virtualisation = { 29 + libvirtd.enable = true; 30 + spiceUSBRedirection.enable = true; 31 + }; 32 + 27 33 hjem.users.leah = { 28 34 packages = with pkgs; [ 29 35 # Apps ··· 32 38 vlc 33 39 thunderbird 34 40 telegram-desktop 41 + gnome-boxes 35 42 36 43 # Command-line apps 37 44 just