my nixos dotfiles :3 (git.koi.rip mirror) git.koi.rip/koi/dotfiles
linux dotfiles neovim nixos catppuccin
1
fork

Configure Feed

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

refact(niri): various improvements (#11)

authored by

adam and committed by
GitHub
cf89d772 ac23128b

+97 -96
+2
.github/workflows/nix.yml
··· 3 3 on: 4 4 pull_request: 5 5 push: 6 + branches: 7 + - main 6 8 7 9 jobs: 8 10 lints:
+15 -15
flake.lock
··· 145 145 "xwayland-satellite-unstable": "xwayland-satellite-unstable" 146 146 }, 147 147 "locked": { 148 - "lastModified": 1763030490, 149 - "narHash": "sha256-U1xBvM3vbh7GZyc2ahziMVhi4qQyQ8pRwb9l8jD4ShI=", 148 + "lastModified": 1763367422, 149 + "narHash": "sha256-ilyoR1GrMdZAv1TcLdJKeJ9JAdf97f6ldlWLwoiUWsA=", 150 150 "owner": "sodiboo", 151 151 "repo": "niri-flake", 152 - "rev": "7920a7b0553e0bebce825b0d9deb575e26f6f6ac", 152 + "rev": "799fc36e07fc78a444803562c4ec6fe477945b4e", 153 153 "type": "github" 154 154 }, 155 155 "original": { ··· 178 178 "niri-unstable": { 179 179 "flake": false, 180 180 "locked": { 181 - "lastModified": 1763014447, 182 - "narHash": "sha256-nmu7S8J9IJKLQyIkSU8QWYHygrfw76NHGTkcr+bXMX0=", 181 + "lastModified": 1763359500, 182 + "narHash": "sha256-FCI98SnBKggWDBHKOUh5r5Z68tHzbcNHT4qhABjAMu8=", 183 183 "owner": "YaLTeR", 184 184 "repo": "niri", 185 - "rev": "a52df533c4694b5ed0a04140af60fd26146df911", 185 + "rev": "3eef19dc7dde989e27dc61f251a611d7f9d513de", 186 186 "type": "github" 187 187 }, 188 188 "original": { ··· 209 209 }, 210 210 "nixpkgs-unstable": { 211 211 "locked": { 212 - "lastModified": 1762844143, 213 - "narHash": "sha256-SlybxLZ1/e4T2lb1czEtWVzDCVSTvk9WLwGhmxFmBxI=", 212 + "lastModified": 1763283776, 213 + "narHash": "sha256-Y7TDFPK4GlqrKrivOcsHG8xSGqQx3A6c+i7novT85Uk=", 214 214 "owner": "NixOS", 215 215 "repo": "nixpkgs", 216 - "rev": "9da7f1cf7f8a6e2a7cb3001b048546c92a8258b4", 216 + "rev": "50a96edd8d0db6cc8db57dab6bb6d6ee1f3dc49a", 217 217 "type": "github" 218 218 }, 219 219 "original": { ··· 224 224 }, 225 225 "nixpkgs_2": { 226 226 "locked": { 227 - "lastModified": 1762756533, 228 - "narHash": "sha256-HiRDeUOD1VLklHeOmaKDzf+8Hb7vSWPVFcWwaTrpm+U=", 227 + "lastModified": 1763049705, 228 + "narHash": "sha256-A5LS0AJZ1yDPTa2fHxufZN++n8MCmtgrJDtxFxrH4S8=", 229 229 "owner": "NixOS", 230 230 "repo": "nixpkgs", 231 - "rev": "c2448301fb856e351aab33e64c33a3fc8bcf637d", 231 + "rev": "3acb677ea67d4c6218f33de0db0955f116b7588c", 232 232 "type": "github" 233 233 }, 234 234 "original": { ··· 278 278 ] 279 279 }, 280 280 "locked": { 281 - "lastModified": 1762718300, 282 - "narHash": "sha256-oOQimZTaV1jCw0OBmmK2g7Rdj3E8YGVpkJYD32BWKRQ=", 281 + "lastModified": 1763267524, 282 + "narHash": "sha256-CywB4iCpGr4CYZAD+WboFwBQ7Wnc7LdfSemFWuH/1Ro=", 283 283 "owner": "Gerg-L", 284 284 "repo": "spicetify-nix", 285 - "rev": "c7175bd485ed5052df5075fcdde395b631316e94", 285 + "rev": "cf33e39bd1a21993a28ffee8be433e212ecf346a", 286 286 "type": "github" 287 287 }, 288 288 "original": {
+4 -2
home/modules/packages.nix
··· 9 9 lsd 10 10 jq 11 11 12 + noto-fonts 13 + noto-fonts-cjk-sans 14 + noto-fonts-color-emoji 12 15 nerd-fonts.fira-code 16 + 13 17 wl-clipboard 14 - grim 15 - slurp 16 18 17 19 unstable.kitget 18 20 ];
+70 -76
home/modules/programs/niri.nix
··· 43 43 }; 44 44 }; 45 45 46 + gestures.hot-corners.enable = false; 47 + 46 48 outputs = { 47 49 HDMI-A-1 = { 48 50 scale = 1; ··· 51 53 height = 1080; 52 54 refresh = 60.0; 53 55 }; 54 - 55 - # TODO: uncomment on next niri release 56 - # hot-corners.enable = false; 57 56 }; 58 57 59 58 eDP-1 = { ··· 63 62 height = 1080; 64 63 refresh = 60.0; 65 64 }; 66 - 67 - # TODO: uncomment on next niri release 68 - # hot-corners.enable = false; 69 65 }; 70 66 }; 71 67 ··· 165 161 } 166 162 ]; 167 163 168 - binds = with config.lib.niri.actions; { 169 - "Mod+Shift+Slash".action = show-hotkey-overlay; 164 + binds = { 165 + "mod+shift+slash".action.show-hotkey-overlay = [ ]; 170 166 171 - "Mod+Return".action = spawn "kitty"; 172 - "Mod+Shift+Return".action.spawn = [ 167 + "mod+return".action.spawn = [ "kitty" ]; 168 + "mod+shift+return".action.spawn = [ 173 169 "rofi" 174 170 "-show" 175 171 "drun" 176 172 ]; 177 173 178 - "Mod+Tab".action = toggle-overview; 179 - "Mod+Shift+C".action = close-window; 174 + "mod+tab".action.toggle-overview = [ ]; 175 + "mod+shift+c".action.close-window = [ ]; 180 176 181 - "Mod+Home".action = focus-column-first; 182 - "Mod+End".action = focus-column-last; 183 - "Mod+Shift+Home".action = move-column-to-first; 184 - "Mod+Shift+End".action = move-column-to-last; 177 + "mod+home".action.focus-column-first = [ ]; 178 + "mod+end".action.focus-column-last = [ ]; 179 + "mod+shift+home".action.move-column-to-first = [ ]; 180 + "mod+shift+end".action.move-column-to-last = [ ]; 185 181 186 182 # TODO: make a loop for these 187 - "Mod+H".action = focus-column-left; 188 - "Mod+J".action = focus-window-down; 189 - "Mod+K".action = focus-window-up; 190 - "Mod+L".action = focus-column-right; 191 - "Mod+Left".action = focus-column-left; 192 - "Mod+Down".action = focus-window-down; 193 - "Mod+Up".action = focus-window-up; 194 - "Mod+Right".action = focus-column-right; 183 + "mod+n".action.focus-column-left = [ ]; 184 + "mod+e".action.focus-window-down = [ ]; 185 + "mod+i".action.focus-window-up = [ ]; 186 + "mod+o".action.focus-column-right = [ ]; 187 + "mod+left".action.focus-column-left = [ ]; 188 + "mod+down".action.focus-window-down = [ ]; 189 + "mod+up".action.focus-window-up = [ ]; 190 + "mod+right".action.focus-column-right = [ ]; 195 191 196 - "Mod+Shift+H".action = move-column-left; 197 - "Mod+Shift+J".action = move-window-down; 198 - "Mod+Shift+K".action = move-window-up; 199 - "Mod+Shift+L".action = move-column-right; 200 - "Mod+Shift+Left".action = move-column-left; 201 - "Mod+Shift+Down".action = move-window-down; 202 - "Mod+Shift+Up".action = move-window-up; 203 - "Mod+Shift+Right".action = move-column-right; 192 + "mod+shift+n".action.move-column-left = [ ]; 193 + "mod+shift+e".action.move-window-down = [ ]; 194 + "mod+shift+i".action.move-window-up = [ ]; 195 + "mod+shift+o".action.move-column-right = [ ]; 196 + "mod+shift+left".action.move-column-left = [ ]; 197 + "mod+shift+down".action.move-window-down = [ ]; 198 + "mod+shift+up".action.move-window-up = [ ]; 199 + "mod+shift+right".action.move-column-right = [ ]; 204 200 205 - "Mod+Ctrl+H".action = focus-monitor-left; 206 - "Mod+Ctrl+J".action = focus-monitor-down; 207 - "Mod+Ctrl+K".action = focus-monitor-up; 208 - "Mod+Ctrl+L".action = focus-monitor-right; 209 - "Mod+Ctrl+Left".action = focus-monitor-left; 210 - "Mod+Ctrl+Right".action = focus-monitor-right; 211 - "Mod+Ctrl+Up".action = focus-monitor-up; 212 - "Mod+Ctrl+Down".action = focus-monitor-down; 201 + "mod+ctrl+n".action.focus-monitor-left = [ ]; 202 + "mod+ctrl+e".action.focus-monitor-down = [ ]; 203 + "mod+ctrl+i".action.focus-monitor-up = [ ]; 204 + "mod+ctrl+o".action.focus-monitor-right = [ ]; 205 + "mod+ctrl+left".action.focus-monitor-left = [ ]; 206 + "mod+ctrl+right".action.focus-monitor-right = [ ]; 207 + "mod+ctrl+up".action.focus-monitor-up = [ ]; 208 + "mod+ctrl+down".action.focus-monitor-down = [ ]; 213 209 214 - "Mod+I".action = focus-workspace-up; 215 - "Mod+U".action = focus-workspace-down; 216 - "Mod+Page_Up".action = focus-workspace-up; 217 - "Mod+Page_Down".action = focus-workspace-down; 210 + "mod+l".action.focus-workspace-up = [ ]; 211 + "mod+u".action.focus-workspace-down = [ ]; 212 + "mod+page_up".action.focus-workspace-up = [ ]; 213 + "mod+page_down".action.focus-workspace-down = [ ]; 218 214 219 - "Mod+Shift+I".action = move-column-to-workspace-up; 220 - "Mod+Shift+U".action = move-column-to-workspace-down; 221 - "Mod+Shift+Page_Up".action = move-column-to-workspace-up; 222 - "Mod+Shift+Page_Down".action = move-column-to-workspace-down; 215 + "mod+shift+l".action.move-column-to-workspace-up = [ ]; 216 + "mod+shift+u".action.move-column-to-workspace-down = [ ]; 217 + "mod+shift+page_up".action.move-column-to-workspace-up = [ ]; 218 + "mod+shift+page_down".action.move-column-to-workspace-down = [ ]; 223 219 224 220 # TODO: make a loop for these 225 - "Mod+1".action = focus-workspace 1; 226 - "Mod+2".action = focus-workspace 2; 227 - "Mod+3".action = focus-workspace 3; 228 - "Mod+4".action = focus-workspace "social"; 229 - "Mod+0".action = focus-workspace "social"; 221 + "mod+1".action.focus-workspace = 1; 222 + "mod+2".action.focus-workspace = 2; 223 + "mod+3".action.focus-workspace = 3; 224 + "mod+4".action.focus-workspace = "social"; 225 + "mod+0".action.focus-workspace = "social"; 230 226 231 - # the flake doesnt implement this (yet?) 232 - # "Mod+Shift+1".action = move-column-to-workspace 1; 233 - # "Mod+Shift+2".action = move-column-to-workspace 2; 234 - # "Mod+Shift+3".action = move-column-to-workspace 3; 235 - # "Mod+Shift+4".action = move-column-to-workspace "social"; 236 - # "Mod+Shift+0".action = move-column-to-workspace "social"; 227 + "mod+shift+1".action.move-column-to-workspace = 1; 228 + "mod+shift+2".action.move-column-to-workspace = 2; 229 + "mod+shift+3".action.move-column-to-workspace = 3; 230 + "mod+shift+4".action.move-column-to-workspace = "social"; 231 + "mod+shift+0".action.move-column-to-workspace = "social"; 237 232 238 - "Mod+BracketLeft".action = consume-or-expel-window-left; 239 - "Mod+BracketRight".action = consume-or-expel-window-right; 233 + "mod+bracketleft".action.consume-or-expel-window-left = [ ]; 234 + "mod+bracketright".action.consume-or-expel-window-right = [ ]; 240 235 241 - "Mod+F".action = maximize-column; 242 - "Mod+Shift+F".action = fullscreen-window; 243 - "Mod+Ctrl+F".action = expand-column-to-available-width; 244 - "Mod+R".action = switch-preset-column-width; 236 + "mod+f".action.maximize-column = [ ]; 237 + "mod+shift+f".action.fullscreen-window = [ ]; 238 + "mod+ctrl+f".action.expand-column-to-available-width = [ ]; 239 + "mod+r".action.switch-preset-column-width = [ ]; 245 240 246 - "Mod+Minus".action = set-column-width "-10%"; 247 - "Mod+Equal".action = set-column-width "+10%"; 248 - "Mod+Shift+Minus".action = set-window-height "-10%"; 249 - "Mod+Shift+Equal".action = set-window-height "+10%"; 241 + "mod+minus".action.set-column-width = "-10%"; 242 + "mod+equal".action.set-column-width = "+10%"; 243 + "mod+shift+minus".action.set-window-height = "-10%"; 244 + "mod+shift+equal".action.set-window-height = "+10%"; 250 245 251 - "Mod+Space".action = toggle-window-floating; 252 - "Mod+Shift+Space".action = switch-focus-between-floating-and-tiling; 246 + "mod+space".action.toggle-window-floating = [ ]; 247 + "mod+shift+space".action.switch-focus-between-floating-and-tiling = [ ]; 253 248 254 - # "Print".action = screenshot; 255 - # "Shift+Print".action = screenshot-window; 256 - # this doesnt work for some reason? 257 - # "Ctrl+Print".action = screenshot-screen; 249 + "print".action.screenshot = [ ]; 250 + "shift+print".action.screenshot-window = [ ]; 251 + "ctrl+print".action.screenshot-screen = [ ]; 258 252 259 - "Mod+Shift+Q".action = quit; 253 + "mod+shift+q".action.quit = [ ]; 260 254 }; 261 255 }; 262 256 }
+6 -3
modules/base.nix
··· 40 40 nixpkgs = { 41 41 config.allowUnfree = true; 42 42 overlays = [ 43 - (final: prev: { 43 + (_: prev: { 44 44 unstable = import inputs.nixpkgs-unstable { 45 45 system = prev.stdenv.hostPlatform.system; 46 46 config = prev.config; 47 47 }; 48 - niri = inputs.niri.overlays.niri; 49 48 }) 49 + inputs.niri.overlays.niri 50 50 ]; 51 51 }; 52 52 ··· 58 58 ]; 59 59 }; 60 60 61 - programs.niri.enable = true; 61 + programs.niri = { 62 + enable = true; 63 + package = pkgs.niri-unstable; 64 + }; 62 65 63 66 programs.hyprland = { 64 67 enable = true;