personal nixos config and packages

old gnome cfg + alacritty

+6 -6
flake.lock
··· 2 2 "nodes": { 3 3 "hardware": { 4 4 "locked": { 5 - "lastModified": 1754564048, 6 - "narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=", 5 + "lastModified": 1757943327, 6 + "narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=", 7 7 "owner": "nixos", 8 8 "repo": "nixos-hardware", 9 - "rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113", 9 + "rev": "67a709cfe5d0643dafd798b0b613ed579de8be05", 10 10 "type": "github" 11 11 }, 12 12 "original": { ··· 18 18 }, 19 19 "nixpkgs": { 20 20 "locked": { 21 - "lastModified": 1754725699, 22 - "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=", 21 + "lastModified": 1758277210, 22 + "narHash": "sha256-iCGWf/LTy+aY0zFu8q12lK8KuZp7yvdhStehhyX1v8w=", 23 23 "owner": "nixos", 24 24 "repo": "nixpkgs", 25 - "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054", 25 + "rev": "8eaee110344796db060382e15d3af0a9fc396e0e", 26 26 "type": "github" 27 27 }, 28 28 "original": {
+4 -4
flake.nix
··· 24 24 ] (system: function nixpkgs.legacyPackages.${system}); 25 25 in 26 26 rec { 27 - nixosConfigurations.asa-fw = nixpkgs.lib.nixosSystem { 27 + nixosConfigurations.asa-fw = nixpkgs.lib.nixosSystem rec { 28 28 system = "x86_64-linux"; 29 29 specialArgs = { 30 30 inherit inputs; 31 - packages = packages."x86_64-linux"; 31 + packages = packages."${system}"; 32 32 }; 33 33 modules = [ 34 34 modules/system.nix 35 - modules/desktop.nix 35 + modules/niri.nix 36 36 modules/apps.nix 37 37 modules/fonts.nix 38 38 modules/networking.nix ··· 45 45 46 46 packages = forAllSystems (pkgs: import ./programs { inherit pkgs; }); 47 47 48 - devShells = forAllSystems (pkgs: pkgs.nil); 48 + devShell = forAllSystems (pkgs: pkgs.nil); 49 49 50 50 formatter = forAllSystems (pkgs: pkgs.nixfmt-tree); 51 51 };
+15 -54
modules/apps.nix
··· 5 5 }: 6 6 { 7 7 services.flatpak.enable = true; 8 - 9 - xdg.portal = { 10 - enable = true; 11 - xdgOpenUsePortal = true; 12 - extraPortals = with pkgs; [ 13 - xdg-desktop-portal-gtk 14 - xdg-desktop-portal-gnome 15 - ]; 16 - }; 17 - 18 - # default handlers 19 - xdg.terminal-exec = { 20 - enable = true; 21 - settings = { 22 - default = [ "com.mitchellh.ghostty.desktop" ]; 23 - }; 24 - }; 25 - 26 - xdg.mime.defaultApplications = { 27 - "x-scheme-handler/http" = "org.mozilla.firefox.desktop"; 28 - "x-scheme-handler/https" = "org.mozilla.firefox.desktop"; 29 - "x-scheme-handler/ftp" = "org.mozilla.firefox.desktop"; 30 - "x-scheme-handler/mailto" = "org.mozilla.thunderbird.desktop"; 31 - "text/plain" = "Helix.desktop"; 32 - "application/pdf" = "org.mozilla.firefox.desktop"; 33 - # "image/png" = [ 34 - # "sxiv.desktop" 35 - # "gimp.desktop" 36 - # ]; 37 - }; 38 - 8 + 39 9 # set up chromium config for pwas 40 10 programs.chromium = { 41 11 enable = true; 42 12 extensions = [ 43 - "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin 13 + # "ddkjiahejlhfcafbddmgiahcphecmpfh" # ublock origin lite 14 + "https://clients2.google.com/service/update2/crx?response=redirect&acceptformat=crx2,crx3&prodversion=${pkgs.ungoogled-chromium.version}&x=id%3Dddkjiahejlhfcafbddmgiahcphecmpfh%26installsource%3Dondemand%26uc" 44 15 ]; 45 16 extraOpts = { 46 17 "BrowserSignin" = 0; ··· 54 25 # Tell electron apps / chromium to use wayland 55 26 environment.sessionVariables.NIXOS_OZONE_WL = "1"; 56 27 57 - # List packages installed in system profile. To search, run: 58 - # $ nix search wget 59 28 users.users.asa.packages = with pkgs; [ 60 - packages.ghostty-wrapped 29 + packages.alacritty-wrapped 61 30 packages.helix-wrapped 62 - packages.mako-wrapped 63 - packages.fuzzel-wrapped 64 - wl-clipboard 65 - # delete later 66 - xwayland-satellite 67 31 32 + aerc 68 33 yazi 69 34 wget 70 - docker-compose 71 35 ungoogled-chromium 72 36 73 - alacritty 37 + fzf 38 + ripgrep 74 39 75 40 # utilities 76 41 zip ··· 79 44 btop 80 45 81 46 # vpn stuff 82 - networkmanager-openconnect 83 - globalprotect-openconnect 84 - 85 - # stuff that should be wrapped with helix 86 - nixd 87 - pyright 88 - rust-analyzer 89 - llvmPackages_19.clang-tools 90 - nixfmt-rfc-style 47 + # (globalprotect-openconnect.overrideAttrs rec { 48 + # version = "2.4.5"; 49 + # src = fetchurl { 50 + # url = "https://github.com/yuezk/GlobalProtect-openconnect/releases/download/v${version}/globalprotect-openconnect-${version}.tar.gz"; 51 + # hash = "sha256-ACeNZpHxSK+LkhxuSMOHjuLj5SK82WCOh53+Ai/NQFA="; 52 + # }; 53 + # patchPhase = ""; 91 54 92 - # gnome core apps 93 - adwaita-icon-theme 94 - nautilus 55 + # }) 95 56 ]; 96 57 97 58 }
-45
modules/desktop.nix
··· 1 - { 2 - lib, 3 - pkgs, 4 - packages, 5 - ... 6 - }: 7 - { 8 - systemd.user.services = { 9 - swayidle = { 10 - enable = true; 11 - unitConfig = { 12 - PartOf = "graphical-session.target"; 13 - After = "graphical-session.target"; 14 - Requisite = "graphical-session.target"; 15 - }; 16 - wantedBy = [ "graphical-session.target" ]; 17 - serviceConfig = { 18 - ExecStart = "${lib.getExe pkgs.swayidle} -w timeout 300 '${lib.getExe pkgs.niri} msg action power-off-monitors' timeout 300 '${lib.getExe packages.swaylock-wrapped} -f' before-sleep '${lib.getExe packages.swaylock-wrapped} -f'"; 19 - Restart = "on-failure"; 20 - }; 21 - }; 22 - }; 23 - 24 - programs.niri = { 25 - enable = true; 26 - package = packages.niri-wrapped; 27 - }; 28 - 29 - programs.waybar = { 30 - enable = true; 31 - package = packages.waybar-wrapped; 32 - }; 33 - 34 - services.greetd = { 35 - enable = true; 36 - settings = { 37 - default_session = { 38 - command = "${lib.getExe pkgs.tuigreet} --time --cmd 'bash -l -c ${lib.getExe' packages.niri-wrapped "niri-session"}'"; 39 - user = "greeter"; 40 - }; 41 - }; 42 - }; 43 - 44 - services.libinput.enable = true; 45 - }
+24 -5
modules/dev.nix
··· 1 - { ... }: 1 + { lib, pkgs, packages, ... }: 2 + # let container-env = pkgs.buildFHSEnv { 3 + # name = "container-env"; 4 + # targetPkgs = pkgs: [ 5 + # pkgs.helix 6 + # ]; 7 + # # paths = [ packages.helix-wrapped ]; 8 + # # includeClosures = true; 9 + # # ignoreCollisions = true; 10 + # # pathsToLink = " /bin " 11 + # }; 12 + # in 2 13 { 3 14 programs.git = { 4 15 enable = true; ··· 12 23 # programs.ssh.startAgent = true; 13 24 programs.ssh.extraConfig = "SetEnv TERM=xterm-256color"; 14 25 15 - virtualisation.containers.enable = true; 16 - # virtualisation.docker.enable = true; 26 + virtualisation.containers = { 27 + enable = true; 28 + 29 + # containersConf.settings = { 30 + # containers = { 31 + # volumes = [ "/nix/store:/nix/store:ro" ]; 32 + # env = [ "PATH=${lib.getBin container-env}:$\PATH" ]; 33 + # }; 34 + # }; 35 + }; 17 36 18 37 virtualisation.podman = { 19 38 enable = true; ··· 26 45 27 46 # Configure helix for editor and viewing functionality 28 47 environment.variables = { 29 - EDITOR = "hx"; 30 - VISUAL = "hx"; 48 + EDITOR = "${lib.getExe packages.helix-wrapped}"; 49 + VISUAL = "${lib.getExe packages.helix-wrapped}"; 31 50 }; 32 51 33 52 # Set up local llms
+125
modules/gnome.nix
··· 1 + 2 + { 3 + lib, 4 + pkgs, 5 + packages, 6 + ... 7 + }: 8 + { 9 + services.displayManager.gdm.enable = true; 10 + services.desktopManager.gnome.enable = true; 11 + services.gnome.core-apps.enable = true; 12 + services.gnome.core-os-services.enable = true; 13 + 14 + # gnome settings 15 + # 16 + # WIP 17 + programs.dconf.profiles.user.databases = [ 18 + { 19 + lockAll = true; 20 + settings = { 21 + "org/gnome/desktop/interface" = { 22 + accent-color = "blue"; 23 + color-scheme = "prefer-dark"; 24 + }; 25 + 26 + "org/gnome/mutter" = { 27 + experimental-features = [ 28 + "scale-monitor-framebuffer" 29 + "xwayland-native-scaling" 30 + ]; 31 + }; 32 + 33 + # "org/gnome/desktop/default-applications" = { 34 + 35 + # }; 36 + 37 + # org.gnome.desktop.default-applications.office.calendar exec 'evolution -c calendar' 38 + # org.gnome.desktop.default-applications.office.calendar needs-term false 39 + # org.gnome.desktop.default-applications.office.tasks exec 'evolution -c tasks' 40 + # org.gnome.desktop.default-applications.office.tasks needs-term false 41 + # org.gnome.desktop.default-applications.terminal exec 'gnome-terminal' 42 + # org.gnome.desktop.default-applications.terminal exec-arg '-x' 43 + 44 + 45 + "org/gnome/desktop/input-sources" = { 46 + xkb-options = [ 47 + "caps:escape" 48 + ]; 49 + }; 50 + 51 + "org/gnome/desktop/wm/keybindings" = with lib.gvariant; { 52 + close = [ "<Super>Q" ]; 53 + 54 + cycle-windows = ["<Super>Tab"]; 55 + cycle-windows-backward = ["<Super><Shift>Tab"]; 56 + switch-applications = mkEmptyArray type.string; 57 + switch-applications-backward = mkEmptyArray type.string; 58 + toggle-overview = ["<Super>D"]; 59 + 60 + # move-to-monitor-down = ["<Super><Shift>Down"]; 61 + # move-to-monitor-left = ["<Super><Shift>Left"]; 62 + # move-to-monitor-right = ["<Super><Shift>Right"]; 63 + # move-to-monitor-up = ["<Super><Shift>Up"]; 64 + 65 + move-to-workspace-1 = ["<Super><Shift>1"]; 66 + move-to-workspace-2 = ["<Super><Shift>2"]; 67 + move-to-workspace-3 = ["<Super><Shift>3"]; 68 + move-to-workspace-4 = ["<Super><Shift>4"]; 69 + move-to-workspace-5 = ["<Super><Shift>5"]; 70 + move-to-workspace-6 = ["<Super><Shift>6"]; 71 + move-to-workspace-7 = ["<Super><Shift>7"]; 72 + move-to-workspace-8 = ["<Super><Shift>8"]; 73 + move-to-workspace-9 = ["<Super><Shift>9"]; 74 + move-to-workspace-10 = ["<Super><Shift>0"]; 75 + # move-to-workspace-11 = []; 76 + # move-to-workspace-12 = []; 77 + 78 + move-to-workspace-left = [ "<Super><Shift>U" "<Super><Shift>Page_Up" "<Super><Shift><Alt>Left" "<Control><Shift><Alt>Left"]; 79 + move-to-workspace-right = [ "Super><Shift>I" "<Super><Shift>Page_Down" "<Super><Shift><Alt>Right" "<Control><Shift><Alt>Right"]; 80 + 81 + 82 + switch-to-workspace-1 = ["<Super>1"]; 83 + switch-to-workspace-2 = ["<Super>2"]; 84 + switch-to-workspace-3 = ["<Super>3"]; 85 + switch-to-workspace-4 = ["<Super>4"]; 86 + switch-to-workspace-5 = ["<Super>5"]; 87 + switch-to-workspace-6 = ["<Super>6"]; 88 + switch-to-workspace-7 = ["<Super>7"]; 89 + switch-to-workspace-8 = ["<Super>8"]; 90 + switch-to-workspace-9 = ["<Super>9"]; 91 + switch-to-workspace-10 = ["<Super>0"]; 92 + # switch-to-workspace-11 = []; 93 + # switch-to-workspace-12 = []; 94 + 95 + switch-to-application-1 = mkEmptyArray type.string; 96 + switch-to-application-2 = mkEmptyArray type.string; 97 + switch-to-application-3 = mkEmptyArray type.string; 98 + switch-to-application-4 = mkEmptyArray type.string; 99 + switch-to-application-5 = mkEmptyArray type.string; 100 + switch-to-application-6 = mkEmptyArray type.string; 101 + switch-to-application-7 = mkEmptyArray type.string; 102 + switch-to-application-8 = mkEmptyArray type.string; 103 + switch-to-application-9 = mkEmptyArray type.string; 104 + 105 + 106 + switch-to-workspace-left = ["<Super>U" "<Super>Page_Up" "<Super><Alt>Left" "<Control><Alt>Left"]; 107 + switch-to-workspace-right = ["<Super>I" "<Super>Page_Down" "<Super><Alt>Right" "<Control><Alt>Right"]; 108 + 109 + maximize = [ "<Super>K" ]; 110 + unmaximize = [ "<Super>J" ]; 111 + toggle-tiled-left = [ "<Super>H" ]; 112 + toggle-tiled-right = [ "<Super>L" ]; 113 + 114 + }; 115 + 116 + "org/gnome/settings-daemon/plugins/custom-keybindings/custom0" = { 117 + binding = "<Super>Enter"; 118 + command = "${lib.getExe packages.ghostty-wrapped}"; 119 + name = "Terminal"; 120 + }; 121 + 122 + }; 123 + } 124 + ]; 125 + }
+115
modules/niri.nix
··· 1 + 2 + { 3 + lib, 4 + pkgs, 5 + packages, 6 + ... 7 + }: 8 + { 9 + systemd.user.services = { 10 + swayidle = { 11 + enable = true; 12 + unitConfig = { 13 + PartOf = "graphical-session.target"; 14 + After = "graphical-session.target"; 15 + Requisite = "graphical-session.target"; 16 + }; 17 + wantedBy = [ "graphical-session.target" ]; 18 + serviceConfig = { 19 + ExecStart = "${lib.getExe pkgs.swayidle} -w timeout 300 '${lib.getExe pkgs.niri} msg action power-off-monitors' timeout 300 '${lib.getExe packages.swaylock-wrapped} -f' before-sleep '${lib.getExe packages.swaylock-wrapped} -f'"; 20 + Restart = "on-failure"; 21 + }; 22 + }; 23 + }; 24 + 25 + programs.niri = { 26 + enable = true; 27 + package = packages.niri-wrapped; 28 + }; 29 + 30 + programs.waybar = { 31 + enable = true; 32 + package = packages.waybar-wrapped; 33 + }; 34 + 35 + services.greetd = { 36 + enable = true; 37 + settings = { 38 + default_session = { 39 + command = "${lib.getExe pkgs.tuigreet} --time --cmd 'bash -l -c ${lib.getExe' packages.niri-wrapped "niri-session"}'"; 40 + user = "greeter"; 41 + }; 42 + }; 43 + }; 44 + 45 + # https://github.com/YaLTeR/niri/wiki/Important-Software 46 + 47 + environment.systemPackages = with pkgs; [ 48 + adwaita-icon-theme 49 + gnome-themes-extra 50 + nautilus 51 + packages.mako-wrapped 52 + packages.fuzzel-wrapped 53 + wl-clipboard 54 + xwayland-satellite 55 + networkmanagerapplet 56 + ]; 57 + 58 + systemd.user.services.polkit-gnome-authentication-agent-1 = { 59 + description = "polkit-gnome-authentication-agent-1"; 60 + wantedBy = [ "graphical-session.target" ]; 61 + wants = [ "graphical-session.target" ]; 62 + after = [ "graphical-session.target" ]; 63 + serviceConfig = { 64 + Type = "simple"; 65 + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; 66 + Restart = "on-failure"; 67 + RestartSec = 1; 68 + TimeoutStopSec = 10; 69 + }; 70 + }; 71 + 72 + # some gnome settings (dark mode) 73 + programs.dconf.profiles.user.databases = [ 74 + { 75 + lockAll = true; 76 + settings = { 77 + "org/gnome/desktop/interface" = { 78 + accent-color = "teal"; 79 + color-scheme = "prefer-dark"; 80 + }; 81 + }; 82 + } 83 + ]; 84 + 85 + # configure xdg portals and default apps 86 + xdg.portal = { 87 + enable = true; 88 + xdgOpenUsePortal = true; 89 + extraPortals = with pkgs; [ 90 + xdg-desktop-portal-gtk 91 + xdg-desktop-portal-gnome 92 + ]; 93 + }; 94 + 95 + # default handlers 96 + xdg.terminal-exec = { 97 + enable = true; 98 + settings = { 99 + default = [ "Alacritty.desktop" ]; 100 + }; 101 + }; 102 + 103 + xdg.mime.defaultApplications = { 104 + "x-scheme-handler/http" = "org.mozilla.firefox.desktop"; 105 + "x-scheme-handler/https" = "org.mozilla.firefox.desktop"; 106 + "x-scheme-handler/ftp" = "org.mozilla.firefox.desktop"; 107 + "x-scheme-handler/mailto" = "org.mozilla.thunderbird.desktop"; 108 + "text/plain" = "Helix.desktop"; 109 + "application/pdf" = "org.mozilla.firefox.desktop"; 110 + # "image/png" = [ 111 + # "sxiv.desktop" 112 + # "gimp.desktop" 113 + # ]; 114 + }; 115 + }
+2 -1
modules/system.nix
··· 1 1 { 2 + pkgs, 2 3 ... 3 4 }: 4 5 ··· 24 25 ''; 25 26 26 27 # latest (not lts) kernel? 27 - # boot.kernelPackages = pkgs.linuxPackages_latest; 28 + boot.kernelPackages = pkgs.linuxPackages_latest; 28 29 29 30 programs.nh = { 30 31 enable = true;
+51
programs/alacritty-wrapped.nix
··· 1 + { 2 + writers, 3 + mkWrapper, 4 + theme, 5 + alacritty, 6 + }: 7 + let 8 + cfg = writers.writeTOML "alacritty.toml" { 9 + font = { 10 + normal = { family = "JetBrains Mono"; style = "regular"; }; 11 + size = 10; 12 + }; 13 + 14 + colors = with theme.colors; { 15 + primary = { 16 + foreground = "#${fg-regular}"; 17 + background = "#${bg-regular}"; 18 + dim_foreground = "#${fg-dim}"; 19 + bright_foreground = "#${fg-regular}"; 20 + }; 21 + 22 + normal = { 23 + black = "#${black}"; 24 + red = "#${red}"; 25 + green = "#${green}"; 26 + yellow = "#${yellow}"; 27 + blue = "#${blue}"; 28 + magenta = "#${purple}"; 29 + cyan = "#${cyan}"; 30 + white = "#${white}"; 31 + }; 32 + 33 + bright = { 34 + black = "#5c6370"; 35 + red = "#e06c75"; 36 + green = "#98c379"; 37 + yellow = "#d19a66"; 38 + blue = "#61afef"; 39 + magenta = "#c678dd"; 40 + cyan = "#56b6c2"; 41 + white = "#ffffff"; 42 + }; 43 + }; 44 + }; 45 + in 46 + mkWrapper { 47 + pkg = alacritty; 48 + alacritty.prependFlags = [ 49 + "--config-file=${cfg}" 50 + ]; 51 + }
+2 -2
programs/fuzzel-wrapped.nix
··· 4 4 mkWrapper, 5 5 theme, 6 6 fuzzel, 7 - ghostty-wrapped, 7 + alacritty-wrapped, 8 8 }: 9 9 let 10 10 cfg = pkgs.writeText "config.ini" '' ··· 13 13 dpi-aware=auto 14 14 placeholder="system search..." 15 15 prompt="" 16 - terminal="${lib.getExe ghostty-wrapped} -e" 16 + terminal="${lib.getExe alacritty-wrapped} -e" 17 17 18 18 lines=12 19 19 width=24
+3 -3
programs/ghostty-wrapped.nix
··· 9 9 # font-family = "Hack" 10 10 font-size = ${theme.lengths.font-sm} 11 11 12 - theme = "OneHalfDark" 12 + theme = "Atom One Dark" 13 13 14 - window-padding-x = 8 15 - window-padding-y = 8 14 + # window-padding-x = ${theme.lengths.padding} 15 + # window-padding-y = ${theme.lengths.padding} 16 16 window-padding-balance = false 17 17 window-padding-color = extend 18 18
+27 -23
programs/helix-wrapped.nix
··· 1 1 { 2 - pkgs, 2 + writers, 3 3 mkWrapper, 4 4 helix, 5 5 }: 6 6 let 7 - cfg = pkgs.writeText "config.toml" '' 8 - theme = "zed_onedark" 7 + cfg = writers.writeTOML "config.toml" { 8 + theme = "zed_onedark"; 9 9 10 - [keys.normal] 11 - tab = "goto_next_buffer" 12 - S-tab = "goto_previous_buffer" 10 + keys.normal = { 11 + tab = "goto_next_buffer"; 12 + S-tab = "goto_previous_buffer"; 13 + }; 13 14 14 - [editor] 15 - bufferline = "multiple" 16 - idle-timeout = 5 17 - completion-timeout = 5 18 - end-of-line-diagnostics = "hint" 19 - inline-diagnostics.cursor-line = "error" 15 + editor = { 16 + bufferline = "multiple"; 17 + idle-timeout = 5; 18 + completion-timeout = 5; 19 + end-of-line-diagnostics = "hint"; 20 + inline-diagnostics.cursor-line = "error"; 20 21 21 - [editor.cursor-shape] 22 - insert = "bar" 23 - normal = "block" 24 - select = "underline" 22 + lsp.display-inline-hints = true; 23 + 24 + cursor-shape = { 25 + insert = "bar"; 26 + normal = "block"; 27 + select = "underline"; 28 + }; 25 29 26 - [editor.file-picker] 27 - hidden = true 28 - ignore = true 29 - # git-ignore = true 30 + file-picker = { 31 + hidden = true; 32 + ignore = true; 33 + }; 30 34 31 - [editor.soft-wrap] 32 - enable = true 33 - ''; 35 + soft-wrap.enable = true; 36 + }; 37 + }; 34 38 in 35 39 mkWrapper { 36 40 pkg = helix;
+8 -4
programs/niri-wrapped.nix
··· 5 5 theme, 6 6 niri, 7 7 swaylock-wrapped, 8 - ghostty-wrapped, 8 + alacritty-wrapped, 9 9 fuzzel-wrapped, 10 10 wireplumber, 11 11 brightnessctl, ··· 87 87 } 88 88 89 89 output "DP-3" { 90 - mode "3840x2160@30.000" 90 + mode "2560x1440@60" 91 + 92 + scale 1.25 93 + 94 + background-color "#${theme.colors.bg-darker}" 91 95 } 92 96 93 97 // You can configure outputs by their name, which you can find ··· 299 303 // off 300 304 301 305 // Slow down all animations by this factor. Values below 1 speed them up instead. 302 - slowdown 0.8 306 + slowdown 0.5 303 307 } 304 308 305 309 // Window rules let you adjust behavior for individual windows. ··· 365 369 Mod+Shift+Slash { show-hotkey-overlay; } 366 370 367 371 // Suggested binds for running programs: terminal, app launcher, screen locker. 368 - Mod+Return { spawn "${lib.getExe ghostty-wrapped}"; } 372 + Mod+Return { spawn "${lib.getExe alacritty-wrapped}"; } 369 373 Mod+D { spawn "${lib.getExe fuzzel-wrapped}"; } 370 374 Mod+Shift+Return { spawn "${lib.getExe flatpak}" "run" "org.mozilla.firefox"; } 371 375 Super+Alt+L { spawn "${lib.getExe swaylock-wrapped}"; }