Flake for my NixOS devices

Switch to Wezterm

bwc9876.dev 223bb2aa 9463a0ac

verified
+61 -76
+24 -24
flake.lock
··· 7 7 ] 8 8 }, 9 9 "locked": { 10 - "lastModified": 1739283129, 11 - "narHash": "sha256-GXJllf1wY7tOF6uei9S3PnSEghFbnJP1vkxM0kkMOoI=", 10 + "lastModified": 1739934729, 11 + "narHash": "sha256-PcrLk10meIJICzUJqtCMOJxoITzbH52fZg2XAB7SSsM=", 12 12 "owner": "catppuccin", 13 13 "repo": "nix", 14 - "rev": "d4e258e29075a86a82dacaf4f5e0985935ae4658", 14 + "rev": "b1ff2a638afa827f1473498190a2c1cae1cf41cf", 15 15 "type": "github" 16 16 }, 17 17 "original": { ··· 168 168 ] 169 169 }, 170 170 "locked": { 171 - "lastModified": 1739191238, 172 - "narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=", 171 + "lastModified": 1739796086, 172 + "narHash": "sha256-jxpUiVJ6O+V1YsXsvWdMgqnv8zk9TFiqF86CRdGGGH4=", 173 173 "owner": "nix-community", 174 174 "repo": "flakelight", 175 - "rev": "5656e7f5fda93676642d199fd9eb47b970d6139e", 175 + "rev": "540efca2f9015aff7dc574c7a03404e5fa72d42f", 176 176 "type": "github" 177 177 }, 178 178 "original": { ··· 208 208 ] 209 209 }, 210 210 "locked": { 211 - "lastModified": 1739191238, 212 - "narHash": "sha256-DRuhQDWscKWXAZcatFDLQ0+pMKmGZ9lEZdxygq8rVSU=", 211 + "lastModified": 1739796086, 212 + "narHash": "sha256-jxpUiVJ6O+V1YsXsvWdMgqnv8zk9TFiqF86CRdGGGH4=", 213 213 "owner": "nix-community", 214 214 "repo": "flakelight", 215 - "rev": "5656e7f5fda93676642d199fd9eb47b970d6139e", 215 + "rev": "540efca2f9015aff7dc574c7a03404e5fa72d42f", 216 216 "type": "github" 217 217 }, 218 218 "original": { ··· 361 361 ] 362 362 }, 363 363 "locked": { 364 - "lastModified": 1739735835, 365 - "narHash": "sha256-S4VskZCNjRX6saW7GtVb4MD3kWdfvRvLurLj9QcM4Wg=", 364 + "lastModified": 1740161709, 365 + "narHash": "sha256-QInyU5nXiwGzzCc3qxYHJKFY/YWege8Us7aZZOCFW4Q=", 366 366 "owner": "nix-community", 367 367 "repo": "home-manager", 368 - "rev": "b15e9ec6769d770879759f086dd4e51fae7f2394", 368 + "rev": "148a6b55651ac794f5c20bbd76780b4d8fed4334", 369 369 "type": "github" 370 370 }, 371 371 "original": { ··· 485 485 }, 486 486 "nixos-hardware": { 487 487 "locked": { 488 - "lastModified": 1738816619, 489 - "narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=", 488 + "lastModified": 1740089251, 489 + "narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=", 490 490 "owner": "NixOS", 491 491 "repo": "nixos-hardware", 492 - "rev": "2eccff41bab80839b1d25b303b53d339fbb07087", 492 + "rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30", 493 493 "type": "github" 494 494 }, 495 495 "original": { ··· 500 500 }, 501 501 "nixpkgs": { 502 502 "locked": { 503 - "lastModified": 1739580444, 504 - "narHash": "sha256-+/bSz4EAVbqz8/HsIGLroF8aNaO8bLRL7WfACN+24g4=", 503 + "lastModified": 1739866667, 504 + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", 505 505 "owner": "NixOS", 506 506 "repo": "nixpkgs", 507 - "rev": "8bb37161a0488b89830168b81c48aed11569cb93", 507 + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", 508 508 "type": "github" 509 509 }, 510 510 "original": { ··· 547 547 "treefmt-nix": "treefmt-nix" 548 548 }, 549 549 "locked": { 550 - "lastModified": 1739708385, 551 - "narHash": "sha256-H6qPfgE8P6rYMpwj9GsmcZEry52O3U82IqJJy6hx/88=", 550 + "lastModified": 1739902813, 551 + "narHash": "sha256-BgOQcKKz7VNvSHIbBllHisv32HvF3W3ALF9sdnC++V8=", 552 552 "owner": "nix-community", 553 553 "repo": "nixvim", 554 - "rev": "d636d254088a2fa49b585b79097a2766d4e3af80", 554 + "rev": "0ab9947137cd034ec64eb5cd9ede94e53af21f50", 555 555 "type": "github" 556 556 }, 557 557 "original": { ··· 676 676 ] 677 677 }, 678 678 "locked": { 679 - "lastModified": 1739673031, 680 - "narHash": "sha256-Z/GT8ebbvc4goxN4A0A5ACj26G1HaGJO+VetrPuC5Mo=", 679 + "lastModified": 1740104932, 680 + "narHash": "sha256-FaN+HBAhOW1wAjxPI/Ko1DX0ax4ucHCZoMJ0dGMxm8o=", 681 681 "owner": "oxalica", 682 682 "repo": "rust-overlay", 683 - "rev": "538528d55318e0c8af1c307dcf10b7629b988fc3", 683 + "rev": "c932b3873a5d56126bc1f1416fb8a58315f86c17", 684 684 "type": "github" 685 685 }, 686 686 "original": {
+12 -6
nixosModules/dev/nvim.nix
··· 442 442 "path" 443 443 "buffer" 444 444 ]; 445 - mapping = lib.fix (self: { 445 + mapping = { 446 446 "<Esc>" = "cmp.mapping.abort()"; 447 - "<CR>" = "cmp.mapping.confirm({ select = true })"; 447 + "<Tab>" = "cmp.mapping.confirm({ select = true })"; 448 448 "<Up>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})"; 449 449 "<Down>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})"; 450 - "<Tab>" = self."<Up>"; 451 - "<S-Tab>" = self."<Down>"; 452 - }); 450 + }; 453 451 }; 454 452 }; 455 453 ··· 463 461 lsp-format.enable = true; 464 462 lspkind.enable = true; 465 463 # jupytext.enable = true; 466 - hex.enable = true; 464 + 465 + hex = { 466 + enable = true; 467 + settings = { 468 + assemble_cmd = "xxd -r"; 469 + dump_cmd = "xxd -g 1 -u"; 470 + }; 471 + }; 467 472 468 473 lspsaga = { 469 474 enable = true; ··· 514 519 bashls.enable = true; 515 520 nushell.enable = true; 516 521 taplo.enable = true; 522 + typos_lsp.enable = true; 517 523 rust_analyzer.enable = true; 518 524 rust_analyzer.installCargo = false; 519 525 rust_analyzer.installRustc = false;
+1 -2
nixosModules/graphics/apps.nix
··· 4 4 [Desktop Entry] 5 5 Type=Application 6 6 Name=Htop 7 - Exec=kitty --title="Htop" --app-id="htop" htop 7 + Exec=wezterm start --class="htop" htop 8 8 Icon=htop 9 9 ''; 10 10 ··· 156 156 157 157 environment.systemPackages = with pkgs; [ 158 158 chromium 159 - kitty 160 159 161 160 # Office 162 161 libreoffice-qt6
+2 -2
nixosModules/graphics/hypr.nix
··· 70 70 key_press_enables_dpms = true; 71 71 }; 72 72 env = [ 73 - "TERMINAL,kitty" 73 + "TERMINAL,wezterm" 74 74 ]; 75 75 windowrulev2 = [ 76 76 "workspace 1 silent,class:(.*)vesktop(.*),title:(.*)[Vv]esktop(.*)" ··· 78 78 ]; 79 79 submap = "reset"; 80 80 bind = let 81 - openTerminal = "uwsm app -- kitty.desktop"; 81 + openTerminal = "uwsm app -- org.wezfurlong.wezterm.desktop"; 82 82 forEachWorkspace = { 83 83 mod, 84 84 dispatch,
-16
nixosModules/graphics/kitty.nix
··· 1 - {...}: { 2 - home-manager.users.bean.programs.kitty = { 3 - enable = true; 4 - font = { 5 - name = "monospace"; 6 - size = 18; 7 - }; 8 - keybindings = { 9 - "ctrl+shift+o" = "open_url_with_hints"; 10 - }; 11 - settings = { 12 - cursor_shape = "beam"; 13 - background_opacity = 0.92; 14 - }; 15 - }; 16 - }
-1
nixosModules/graphics/shell.nix
··· 146 146 "SUPER,B,exec,uwsm app -- ${pkgs.rofi-bluetooth}/bin/rofi-bluetooth" 147 147 "SUPER,Tab,exec,uwsm app -- rofi -show window -show-icons" 148 148 "SUPER,E,exec,uwsm app -- ${pkgs.nushell}/bin/nu ${inputs.self}/res/rofi/rofi-places.nu" 149 - "SUPER SHIFT,T,exec,uwsm app -- ${pkgs.nushell}/bin/nu ${inputs.self}/res/rofi/rofi-zoxide.nu" 150 149 "SUPER,N,exec,uwsm app -- ${pkgs.swaynotificationcenter}/bin/swaync-client -t -sw" 151 150 "SUPER,A,exec,uwsm app -- pavucontrol --tab 5" 152 151 ''SUPER,V,exec,cliphist list | sed -r 's/\[\[ binary data (.* .iB) (.*) (.*) \]\]/ 󰋩 \2 Image (\3, \1)/g' | rofi -dmenu -display-columns 2 -p Clipboard | cliphist decode | wl-copy''
-2
nixosModules/graphics/waybar.nix
··· 419 419 { 420 420 cpu = { 421 421 format = "󰍛 {usage}󰏰"; 422 - on-click = "kitty --title=\"Htop\" --app-id=\"htop\" htop --sort-key=PERCENT_CPU"; 423 422 states = { 424 423 critical = 95; 425 424 warning = 80; ··· 432 431 layer = "top"; 433 432 memory = { 434 433 format = " {}󰏰 ({used:0.1f}/{total:0.1f} GiB)"; 435 - on-click = "kitty --title=\"Htop\" --app-id=\"htop\" htop --sort-key=PERCENT_MEM"; 436 434 states = { 437 435 critical = 90; 438 436 warning = 70;
+19
nixosModules/graphics/wezterm.nix
··· 1 + {...}: { 2 + home-manager.users.bean.programs.wezterm = { 3 + enable = true; 4 + extraConfig = '' 5 + return { 6 + font = wezterm.font("monospace"), 7 + font_size = 18.0, 8 + color_scheme = "Catppuccin Mocha", 9 + enable_tab_bar = false, 10 + window_background_opacity = 0.92, 11 + default_cursor_style = "SteadyBar", 12 + cursor_thickness = 2, 13 + keys = { 14 + {key="o", mods="CTRL|SHIFT", action="OpenLinkAtMouseCursor"} 15 + } 16 + } 17 + ''; 18 + }; 19 + }
+1 -1
nixosModules/graphics/xdg.nix
··· 39 39 "image/x-portable-graymap" = imageViewers; 40 40 "image/x-portable-anymap" = imageViewers; 41 41 "image/svg+xml" = imageViewers; 42 - "x-terminal-emulator" = ["kitty"]; 42 + "x-terminal-emulator" = ["wezterm.desktop"]; 43 43 "x-scheme-handler/http" = browsers; 44 44 "x-scheme-handler/https" = browsers; 45 45 "x-scheme-handler/chrome" = browsers;
+1 -7
nixosModules/ssh.nix
··· 1 1 { 2 2 lib, 3 - pkgs, 4 3 config, 5 4 ... 6 5 }: let ··· 10 9 beanPubkey 11 10 ]; 12 11 13 - environment = { 14 - enableAllTerminfo = true; 15 - systemPackages = with pkgs; [ 16 - kitty # Needed for terminfo to work over ssh 17 - ]; 18 - }; 12 + environment.enableAllTerminfo = true; 19 13 20 14 services.openssh = { 21 15 enable = true;
-14
res/rofi/rofi-zoxide.nu
··· 1 - #!/usr/bin/env nu 2 - 3 - let dirs = zoxide query -l "" | lines 4 - 5 - let menu = $dirs | each {|it| $"($it | split row "/" | last) <span color=\"#A2A2A2\"><i><small>\(($it | str replace $"/home/($env.USER)" "~")\)</small></i></span>" } | str join "\n" 6 - 7 - let res = ($menu | rofi -dmenu -i -markup-rows -p "Zoxide" | complete) 8 - 9 - if $res.exit_code == 1 { 10 - echo "Cancelled" 11 - } else { 12 - let dir = $res.stdout | split row " <span color=\"#A2A2A2\"><i><small>(" | get 1 | split row ")</small>" | get 0 13 - kitty -d ($dir | str replace "~" $"/home/($env.USER)") 14 - }
+1 -1
res/theming/kdeglobals
··· 2 2 ShowDeleteCommand=false 3 3 4 4 [General] 5 - TerminalApplication=kitty 5 + TerminalApplication=wezterm 6 6 7 7 [KFileDialog Settings] 8 8 Allow Expansion=false