Nixfiles! :3
0

Configure Feed

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

Going back to waybar (probably)


Signed-off-by: MLC Bloeiman <mar@strawmelonjuice.com>

MLC Bloeiman (May 14, 2026, 8:47 AM +0200) f82f9724 d9a7e8a7

+216 -67
+38 -56
home/modules/niri.nix
··· 1 1 { 2 2 pkgs, 3 3 inputs, 4 - config, 5 4 ... 6 5 }: 7 6 8 7 { 9 8 imports = [ 10 - ./niri/noctalia.nix 9 + ./niri/waybar.nix 10 + # ./niri/noctalia.nix 11 11 ./niri/hyprlock.nix 12 12 ./niri/wlogout.nix 13 13 ··· 18 18 home.packages = with pkgs; [ 19 19 wev 20 20 kdePackages.krunner 21 + # Emoji's in KDE Runner 22 + emoji-runner 21 23 kdePackages.kdeconnect-kde 22 24 kdePackages.qttools 23 25 gnome-console 24 - gnome-keyring 25 26 nautilus 26 27 pavucontrol 27 28 btop 29 + wofi 28 30 hyprlock 29 31 libnotify 30 32 wireplumber ··· 53 55 }; 54 56 xdg.configFile."niri/scripts/overview-runner.sh" = { 55 57 text = '' 56 - #!/run/current-system/sw/bin/bash 57 - overviewstatus="$(niri msg overview-state)" 58 - if [[ $overviewstatus == *"is close"* ]]; then 59 - niri msg action open-overview 60 - else 61 - niri msg action close-overview 62 - noctalia-shell ipc call launcher toggle 63 - fi 58 + #!/run/current-system/sw/bin/bash 59 + overviewstatus="$(niri msg overview-state)" 60 + if [[ $overviewstatus == *"is close"* ]]; then 61 + niri msg action open-overview 62 + else 63 + niri msg action close-overview 64 + ${pkgs.kdePackages.krunner}/bin/krunner & 65 + fi 64 66 ''; 65 67 executable = true; 66 68 }; ··· 86 88 layer-rules = [ 87 89 { 88 90 matches = [ 89 - { namespace = "^noctalia-overview*"; } 91 + { namespace = "waybar"; } 90 92 ]; 91 93 place-within-backdrop = true; 92 94 } ··· 102 104 ELECTRON_OZONE_PLATFORM_HINT = "auto"; 103 105 }; 104 106 105 - # samurott-nix's second screen is on the left. 106 - outputs."Hewlett Packard HP E202 3CQ7450ZT4" = { 107 - position = { 108 - x = -30000; 109 - y = 0; 110 - }; 111 - transform.rotation = 90; 112 - }; 113 107 outputs."Microstep MSI MP341CQ 0x00000316".variable-refresh-rate = true; 114 108 115 109 layout = { ··· 155 149 }; 156 150 # Startup spawns! 157 151 spawn-at-startup = [ 158 - { command = [ "noctalia-shell" ]; } 152 + { command = [ "waybar" ]; } 159 153 # { command = [ "spotify" ]; } 160 154 { command = [ "strawberry" ]; } 161 - { command = [ "discord" ]; } 162 - { command = [ "teams-for-linux" ]; } 163 155 { command = [ "thunderbird" ]; } 164 156 { 165 157 command = [ ··· 193 185 } 194 186 { 195 187 command = [ 196 - "gnome-keyring-daemon" 197 - "--start" 198 - "--components=secrets" 188 + "dbus-update-activation-environment" 189 + "--systemd" 190 + "DISPLAY" 191 + "WAYLAND_DISPLAY" 192 + "XDG_CURRENT_DESKTOP" 199 193 ]; 200 194 } 201 195 { command = [ "kdeconnectd" ]; } 202 196 { sh = "sleep 5s; niri msg action focus-workspace 1 && systemctl --user start wallpaper-switcher"; } 203 - # This should make sure Fluffychat doesn't break my key store every damn time 😭 204 - { sh = "hostname | gnome-keyring-daemon --replace --unlock"; } 205 197 ]; 206 198 207 199 prefer-no-csd = true; ··· 307 299 308 300 hotkey-overlay.title = "Open that gnome file browser"; 309 301 }; 302 + "Mod+B" = { 303 + action.spawn = "zen"; 304 + hotkey-overlay.title = "Open browser: Zen"; 305 + }; 310 306 "Mod+Shift+B" = { 311 - action.spawn = "librewolf"; 312 - hotkey-overlay.title = "Open browser: Librewolf"; 313 - }; 314 - "Mod+B" = { 307 + 315 308 action.spawn = "vivaldi"; 316 309 hotkey-overlay.title = "Open browser: Vivaldi"; 317 310 }; ··· 322 315 ]; 323 316 hotkey-overlay.title = "HeyLogin Quick Access"; 324 317 }; 325 - "Mod+Alt+C" = { 326 - action.spawn = [ 327 - "vivaldi" 328 - "--app=https://app.cinny.in" 329 - ]; 330 - hotkey-overlay.title = "Cinny"; 331 - }; 332 318 "Mod+D" = { 333 319 action.spawn = [ 334 - "noctalia-shell" 335 - "ipc" 336 - "call" 337 - "launcher" 338 - "toggle" 320 + "krunner" 339 321 ]; 340 322 hotkey-overlay.title = "Launcher"; 341 323 }; ··· 349 331 }; 350 332 "Mod+V" = { 351 333 action.spawn = [ 352 - "noctalia-shell" 353 - "ipc" 354 - "call" 355 - "launcher" 356 - "clipboard" 334 + "sh" 335 + "-c" 336 + "cliphist list | wofi --dmenu | cliphist decode | wl-copy" 357 337 ]; 358 - hotkey-overlay.title = "Clipboard"; 338 + hotkey-overlay.title = "Clipboard History"; 359 339 }; 340 + 360 341 "Mod+Period" = { 361 342 action.spawn = [ 362 - "noctalia-shell" 363 - "ipc" 364 - "call" 365 - "launcher" 366 - "emoji" 343 + "qdbus" 344 + "org.kde.krunner" 345 + "/App" 346 + "org.kde.krunner.App.querySingleRunner" 347 + "emojirunner" 348 + "emoji " 367 349 ]; 368 - hotkey-overlay.title = "Emoji"; 350 + hotkey-overlay.title = "Emoji Picker (KRunner)"; 369 351 }; 370 352 371 353 # Audio media keys
+175
home/modules/niri/waybar.nix
··· 1 + { 2 + pkgs, 3 + ... 4 + }: 5 + 6 + { 7 + config = { 8 + home.packages = [ 9 + pkgs.waybar 10 + pkgs.swaybg 11 + pkgs.wlsunset 12 + pkgs.networkmanagerapplet 13 + pkgs.pavucontrol 14 + pkgs.kdePackages.kwallet 15 + pkgs.kdePackages.kwalletmanager 16 + pkgs.kdePackages.ksshaskpass 17 + ]; 18 + 19 + systemd.user.services.swaybg = { 20 + Unit.Description = "Swaybg wallpaper daemon"; 21 + Install.WantedBy = [ "graphical-session.target" ]; 22 + Service = { 23 + ExecStart = "${pkgs.swaybg}/bin/swaybg -i /home/mar/.local/share/wallpapers/current_wallpaper.png -m fill"; 24 + Restart = "always"; 25 + }; 26 + }; 27 + 28 + services.wlsunset = { 29 + enable = true; 30 + latitude = "51.4"; 31 + longitude = "5.4"; 32 + temperature.night = 4000; 33 + }; 34 + 35 + programs.waybar = { 36 + enable = true; 37 + systemd.enable = false; 38 + settings = [ 39 + { 40 + layer = "top"; 41 + position = "top"; 42 + margin = "10 15 0 15"; 43 + spacing = 8; 44 + 45 + modules-left = [ 46 + "niri/workspaces" 47 + "niri/window" 48 + ]; 49 + modules-center = [ "clock" ]; 50 + modules-right = [ 51 + "tray" 52 + "pulseaudio" 53 + "backlight" 54 + "battery" 55 + "custom/power" 56 + ]; 57 + 58 + "niri/workspaces" = { 59 + format = "{name}"; 60 + all-outputs = true; 61 + }; 62 + 63 + "clock" = { 64 + format = "{:%H:%M}"; 65 + format-alt = "{:%A, %B %d, %Y (%R)}"; 66 + tooltip-format = "<tt><small>{calendar}</small></tt>"; 67 + }; 68 + 69 + "pulseaudio" = { 70 + format = "{icon} {volume}%"; 71 + format-muted = "󰝟"; 72 + format-icons = { 73 + default = [ 74 + "󰕿" 75 + "󰖀" 76 + "󰕾" 77 + ]; 78 + }; 79 + on-click = "pavucontrol"; 80 + }; 81 + 82 + "battery" = { 83 + states = { 84 + warning = 30; 85 + critical = 15; 86 + }; 87 + format = "{icon} {capacity}%"; 88 + format-icons = [ 89 + "󰁺" 90 + "󰁻" 91 + "󰁼" 92 + "󰁽" 93 + "󰁾" 94 + "󰁿" 95 + "󰂀" 96 + "󰂁" 97 + "󰂂" 98 + "󰁹" 99 + ]; 100 + }; 101 + 102 + "custom/power" = { 103 + format = " 󰐥 "; 104 + on-click = "wlogout"; 105 + }; 106 + } 107 + ]; 108 + 109 + style = '' 110 + * { 111 + font-family: "Font Awesome 6 Free", "Hermit", "Roboto"; 112 + font-size: 13px; 113 + color: #e8a0a5; 114 + border: none; 115 + border-radius: 0; 116 + } 117 + 118 + window#waybar { 119 + background: transparent; 120 + } 121 + 122 + .modules-left, .modules-center, .modules-right { 123 + background: rgba(30, 30, 35, 0.8); 124 + border-radius: 12px; 125 + padding: 2px 10px; 126 + border: 1px solid rgba(255, 255, 255, 0.1); 127 + } 128 + 129 + #workspaces button { 130 + border-radius: 12px; 131 + border: dotted 2px #bfa6a8; 132 + padding: 0 5px; 133 + margin: 0 5px; 134 + color: #f1c4c7; 135 + } 136 + 137 + #workspaces button.focused { 138 + border: dotted 2px #1e8b44; 139 + color: #1e8b44; 140 + font-weight: bold; 141 + } 142 + 143 + #clock { 144 + color: #e8a0a5; 145 + } 146 + 147 + #battery.critical { 148 + color: #cf6679; 149 + animation: blink 0.5s linear infinite alternate; 150 + } 151 + 152 + @keyframes blink { 153 + to { color: white; } 154 + } 155 + ''; 156 + }; 157 + 158 + home.sessionVariables = { 159 + SSH_ASKPASS = "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass"; 160 + GIT_ASKPASS = "${pkgs.kdePackages.ksshaskpass}/bin/ksshaskpass"; 161 + }; 162 + 163 + home.file.".config/kwalletrc".text = '' 164 + [Wallet] 165 + First Use=false 166 + Enabled=true 167 + Default Wallet=kdewallet 168 + ''; 169 + xdg.portal = { 170 + enable = true; 171 + extraPortals = [ pkgs.xdg-desktop-portal-cosmic ]; 172 + config.common.default = [ "gtk" ]; 173 + }; 174 + }; 175 + }
+3 -2
hosts/all-hosts.nix
··· 108 108 ]; 109 109 110 110 programs.niri.enable = true; 111 - services.gnome.gnome-keyring.enable = true; 112 - security.pam.services.mar.enableGnomeKeyring = true; 111 + # services.gnome.gnome-keyring.enable = true; 112 + # security.pam.services.mar.enableGnomeKeyring = true; 113 + security.pam.services.login.kwallet.enable = true; 113 114 114 115 services.desktopManager.cosmic.enable = true; 115 116 services.system76-scheduler.enable = true;
-9
hosts/frigometri/configuration.nix
··· 191 191 }; 192 192 programs.zsh.enable = true; 193 193 environment.systemPackages = with pkgs; [ 194 - git 195 194 jj 196 - podman-compose 197 - podman-tui 198 - polkit_gnome 199 - wayland-utils 200 - wl-clipboard 201 - xclip 202 - xwayland-satellite 203 195 # coreutils 204 196 uutils-coreutils-noprefix 205 - git 206 197 neovim 207 198 git 208 199 podman