diff --git a/flake.lock b/flake.lock index dbcbd53..d906d3b 100644 --- a/flake.lock +++ b/flake.lock @@ -173,6 +173,24 @@ } }, "flake-parts_3": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib_2" + }, + "locked": { + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_4": { "inputs": { "nixpkgs-lib": [ "nur", @@ -251,6 +269,25 @@ "type": "github" } }, + "helium": { + "inputs": { + "flake-parts": "flake-parts_3", + "nixpkgs": "nixpkgs" + }, + "locked": { + "lastModified": 1778868513, + "narHash": "sha256-wbOYtF5N7TISQpfHRQzSSNo7EEsUAp+ZkyY7xzS3s7I=", + "owner": "ntgn", + "repo": "helium-flake", + "rev": "2248af12b62611a9dd850d2ad17e11d4e31e8105", + "type": "gitlab" + }, + "original": { + "owner": "ntgn", + "repo": "helium-flake", + "type": "gitlab" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -310,7 +347,7 @@ "monique": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" }, "locked": { "lastModified": 1775640310, @@ -387,21 +424,6 @@ "type": "github" } }, - "nix-jmu-cs345": { - "locked": { - "lastModified": 1745564874, - "narHash": "sha256-WrHuoXd3hiZ7sbrPKF8mJD6jPemwzM5swuDrDkVXlV0=", - "owner": "Eclypsed", - "repo": "nix-jmu-cs345", - "rev": "323dd2c148eb13fbbae5da48d8a0ed61f47c31ad", - "type": "github" - }, - "original": { - "owner": "Eclypsed", - "repo": "nix-jmu-cs345", - "type": "github" - } - }, "nixos-hardware": { "locked": { "lastModified": 1774777275, @@ -419,11 +441,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1775423009, - "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -448,6 +470,21 @@ "type": "github" } }, + "nixpkgs-lib_2": { + "locked": { + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { "lastModified": 1775002709, @@ -465,6 +502,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1773389992, "narHash": "sha256-wvfdLLWJ2I9oEpDd9PfMA8osfIZicoQ5MT1jIwNs9Tk=", @@ -480,7 +533,7 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { "locked": { "lastModified": 1765934234, "narHash": "sha256-pJjWUzNnjbIAMIc5gRFUuKCDQ9S1cuh3b2hKgA7Mc4A=", @@ -504,11 +557,11 @@ "noctalia-qs": "noctalia-qs" }, "locked": { - "lastModified": 1775039613, - "narHash": "sha256-5VzBe0SOXamABAbtjNF5Y7jaMbSeVtGQRhbICoJ6izo=", + "lastModified": 1776774185, + "narHash": "sha256-riCnQWAxvltNd6KrkzQLdG2EMxODNxjQOB2Z67DA4KU=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "7b29c11d7aaf476723af14865665cf04750f8d20", + "rev": "d7b68652e79bce5813dc4fea7e51636a5da3e1b7", "type": "github" }, "original": { @@ -527,11 +580,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1774994931, - "narHash": "sha256-WmXA8kyqvDA226DRPrXyR6bLO9VsRr4SUAYCVH6H6Ns=", + "lastModified": 1776585574, + "narHash": "sha256-j35EWhKoGhKrfcXcAOpoRVgXEPQt41Eukji/h59cnjk=", "owner": "noctalia-dev", "repo": "noctalia-qs", - "rev": "b053facf8421df220d0bf2496a543b23dee3ca85", + "rev": "75d180c28a9ab4470e980f3d6f706ad6c5213add", "type": "github" }, "original": { @@ -542,7 +595,7 @@ }, "nur": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "nixpkgs": [ "nixpkgs" ] @@ -602,14 +655,14 @@ "agenix-rekey": "agenix-rekey", "assets": "assets", "flake-parts": "flake-parts_2", + "helium": "helium", "home-manager": "home-manager_2", "import-tree": "import-tree", "monique": "monique", "niri": "niri", "niri-blur": "niri-blur", - "nix-jmu-cs345": "nix-jmu-cs345", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "noctalia": "noctalia", "nur": "nur", "packages": "packages", @@ -741,11 +794,11 @@ ] }, "locked": { - "lastModified": 1773297127, - "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", + "lastModified": 1775636079, + "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", + "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", "type": "github" }, "original": { @@ -797,11 +850,11 @@ ] }, "locked": { - "lastModified": 1775744672, - "narHash": "sha256-Qg3Wnn3WYiiii35CE9kE+XX4ooSFzupAnGC1/NjI5C8=", + "lastModified": 1775961625, + "narHash": "sha256-8SjilptVv9dSTvn0Z5j65vHHu+flmPXeyrGaSyRJm7U=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "14a238beb0621977e9bf04cba68919d5650deea9", + "rev": "0eaab249f5ca1c55921e99cfe07187410758c9fa", "type": "github" }, "original": { @@ -814,7 +867,7 @@ "inputs": { "crane": "crane", "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "rust-overlay": "rust-overlay" }, "locked": { diff --git a/flake.nix b/flake.nix index cd05dd2..fa97a10 100644 --- a/flake.nix +++ b/flake.nix @@ -65,7 +65,9 @@ }; }; - nix-jmu-cs345.url = "github:Eclypsed/nix-jmu-cs345"; + helium = { + url = "gitlab:ntgn/helium-flake"; + }; assets = { flake = false; diff --git a/modules/_unused/fonts.nix b/modules/_unused/fonts.nix deleted file mode 100644 index 64b161d..0000000 --- a/modules/_unused/fonts.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ - pkgs, - ... -}: -{ - fonts = { - enableDefaultPackages = true; - fontconfig.enable = true; - packages = with pkgs; [ - nerd-fonts.fira-code - nerd-fonts.jetbrains-mono - nerd-fonts.symbols-only - nerd-fonts.geist-mono - rubik - ]; - }; -} diff --git a/modules/_unused/helium.nix b/modules/_unused/helium.nix new file mode 100644 index 0000000..3270753 --- /dev/null +++ b/modules/_unused/helium.nix @@ -0,0 +1,37 @@ +{ + inputs, + ... +}: +{ + flake.modules.nixos.helium = { + imports = [ + inputs.helium.nixosModules.helium + ]; + }; + + flake.modules.homeManager.helium = { + imports = [ + inputs.helium.homeModules.helium + ]; + + programs.helium = { + enable = true; + defaultBrowser = false; + extensions = [ + { + # Bitwarden + id = "nngceckbapebfimnlniiiahkandclblb"; + hash = "sha256-lhjupdYi1F+MlReNjN/JFGguUagSaU2onfJ1HWEwBKc="; + } + ]; + + extraPolicies = { + BookmarkBarEnabled = false; + BrowserSignIn = 0; + DeveloperToolsAvailability = 1; + HomepageLocation = "http://100.78.212.35:30054"; + PasswordManagerEnabled = false; + }; + }; + }; +} diff --git a/modules/_unused/mullvad.nix b/modules/_unused/mullvad.nix new file mode 100644 index 0000000..5f772c8 --- /dev/null +++ b/modules/_unused/mullvad.nix @@ -0,0 +1,8 @@ +{ + flake.modules.nixos.mullvad = { + services.mullvad-vpn = { + enable = true; + enableEarlyBootBlocking = true; + }; + }; +} diff --git a/modules/_unused/zathura.nix b/modules/_unused/zathura.nix new file mode 100644 index 0000000..5075552 --- /dev/null +++ b/modules/_unused/zathura.nix @@ -0,0 +1,7 @@ +{ + flake.modules.homeManager.zathura = { + programs.zathura = { + enable = true; + }; + }; +} diff --git a/modules/features/zen-browser.nix b/modules/_unused/zen-browser.nix similarity index 96% rename from modules/features/zen-browser.nix rename to modules/_unused/zen-browser.nix index fe061a2..22d97aa 100644 --- a/modules/features/zen-browser.nix +++ b/modules/_unused/zen-browser.nix @@ -77,12 +77,22 @@ Default = false; Locked = true; }; + Preferences = { + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; + }; PrimaryPassword = false; SearchBar = "unified"; ShowHomeButton = true; SkipTermsOfUse = true; }; profiles.default = { + id = 0; + name = "default"; + isDefault = true; + settings = { + # Auto-enable extensions + "extensions.autoDisableScopes" = 0; + }; search = { force = true; default = "google"; @@ -159,10 +169,6 @@ }; }; }; - settings = { - # Auto-enable extensions - "extensions.autoDisableScopes" = 0; - }; }; }; }; diff --git a/modules/features/btop.nix b/modules/features/btop.nix new file mode 100644 index 0000000..2bbd5cd --- /dev/null +++ b/modules/features/btop.nix @@ -0,0 +1,98 @@ +{ + flake.modules.homeManager.btop = { + programs.btop = { + enable = true; + settings = { + color_theme = "catppuccin_mocha"; + theme_background = false; + }; + themes = { + catppuccin_mocha = '' + # Main background, empty for terminal default, need to be empty if you want transparent background + theme[main_bg]="#1e1e2e" + + # Main text color + theme[main_fg]="#cdd6f4" + + # Title color for boxes + theme[title]="#cdd6f4" + + # Highlight color for keyboard shortcuts + theme[hi_fg]="#89b4fa" + + # Background color of selected item in processes box + theme[selected_bg]="#45475a" + + # Foreground color of selected item in processes box + theme[selected_fg]="#89b4fa" + + # Color of inactive/disabled text + theme[inactive_fg]="#7f849c" + + # Color of text appearing on top of graphs, i.e uptime and current network graph scaling + theme[graph_text]="#f5e0dc" + + # Background color of the percentage meters + theme[meter_bg]="#45475a" + + # Misc colors for processes box including mini cpu graphs, details memory graph and details status text + theme[proc_misc]="#f5e0dc" + + # CPU, Memory, Network, Proc box outline colors + theme[cpu_box]="#cba6f7" #Mauve + theme[mem_box]="#a6e3a1" #Green + theme[net_box]="#eba0ac" #Maroon + theme[proc_box]="#89b4fa" #Blue + + # Box divider line and small boxes line color + theme[div_line]="#6c7086" + + # Temperature graph color (Green -> Yellow -> Red) + theme[temp_start]="#a6e3a1" + theme[temp_mid]="#f9e2af" + theme[temp_end]="#f38ba8" + + # CPU graph colors (Teal -> Lavender) + theme[cpu_start]="#94e2d5" + theme[cpu_mid]="#74c7ec" + theme[cpu_end]="#b4befe" + + # Mem/Disk free meter (Mauve -> Lavender -> Blue) + theme[free_start]="#cba6f7" + theme[free_mid]="#b4befe" + theme[free_end]="#89b4fa" + + # Mem/Disk cached meter (Sapphire -> Lavender) + theme[cached_start]="#74c7ec" + theme[cached_mid]="#89b4fa" + theme[cached_end]="#b4befe" + + # Mem/Disk available meter (Peach -> Red) + theme[available_start]="#fab387" + theme[available_mid]="#eba0ac" + theme[available_end]="#f38ba8" + + # Mem/Disk used meter (Green -> Sky) + theme[used_start]="#a6e3a1" + theme[used_mid]="#94e2d5" + theme[used_end]="#89dceb" + + # Download graph colors (Peach -> Red) + theme[download_start]="#fab387" + theme[download_mid]="#eba0ac" + theme[download_end]="#f38ba8" + + # Upload graph colors (Green -> Sky) + theme[upload_start]="#a6e3a1" + theme[upload_mid]="#94e2d5" + theme[upload_end]="#89dceb" + + # Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve) + theme[process_start]="#74c7ec" + theme[process_mid]="#b4befe" + theme[process_end]="#cba6f7" + ''; + }; + }; + }; +} diff --git a/modules/features/helix.nix b/modules/features/helix.nix index 9ba4732..617967e 100644 --- a/modules/features/helix.nix +++ b/modules/features/helix.nix @@ -92,7 +92,7 @@ { normal = { "C-y" = - ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- yazi-picker open %{buffer_name}"; + ":sh zellij run -n Yazi -c -f -x 10%% -y 10%% --width 80%% --height 80%% -- yazi-picker open \"%{buffer_name}\""; } // arrow_keys; insert = { diff --git a/modules/features/niri.nix b/modules/features/niri.nix index 1d4c10f..6093f0c 100644 --- a/modules/features/niri.nix +++ b/modules/features/niri.nix @@ -48,6 +48,7 @@ { home.packages = [ pkgs.nautilus + pkgs.tilda ]; xdg.portal = { @@ -59,586 +60,583 @@ ]; }; - xdg.configFile."niri/config.kdl".text = '' - input { - keyboard { - xkb { - layout "us" - model "" - rules "" - variant "" - options "compose:ralt" + programs.niri = { + config = '' + input { + keyboard { + xkb { + layout "us" + model "" + rules "" + variant "" + options "compose:ralt" + } + repeat-delay 400 + repeat-rate 35 + track-layout "global" } - repeat-delay 400 - repeat-rate 35 - track-layout "global" + touchpad { + tap + dwt + drag true + drag-lock + scroll-method "two-finger" + click-method "clickfinger" + tap-button-map "left-right-middle" + } + warp-mouse-to-focus mode="center-xy-always" + focus-follows-mouse + mod-key "Super" } - touchpad { - tap - dwt - drag true - drag-lock - scroll-method "two-finger" - click-method "clickfinger" - tap-button-map "left-right-middle" + screenshot-path "${config.xdg.userDirs.extraConfig.SCREENSHOTS}/%Y%m%d-%H%M%S.png" + prefer-no-csd + layout { + gaps 16 + struts { + left 0 + right 0 + top 0 + bottom 0 + } + focus-ring { width 4; } + border { off; } + default-column-width + center-focused-column "never" } - warp-mouse-to-focus mode="center-xy-always" - focus-follows-mouse - mod-key "Super" - } - screenshot-path "${config.xdg.userDirs.extraConfig.SCREENSHOTS}/%Y%m%d-%H%M%S.png" - prefer-no-csd - layout { - gaps 16 - struts { - left 0 - right 0 - top 0 - bottom 0 + cursor { + xcursor-theme "${config.home.pointerCursor.name}" + xcursor-size ${toString config.home.pointerCursor.size} + hide-when-typing } - focus-ring { width 4; } - border { off; } - default-column-width - center-focused-column "never" - } - cursor { - xcursor-theme "${config.home.pointerCursor.name}" - xcursor-size ${toString config.home.pointerCursor.size} - hide-when-typing - } - hotkey-overlay { skip-at-startup; } - environment { "NIXOS_OZONE_WL" "1"; } - binds { - Alt+XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title="Lower microphone volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SOURCE@" "0.05-"; } - Alt+XF86AudioMute allow-when-locked=true hotkey-overlay-title="Mute microphone" repeat=false { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } - Alt+XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title="Raise microphone volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SOURCE@" "0.05+"; } - Mod+A hotkey-overlay-title="Launcher" repeat=false { spawn "${vicinae}" "toggle"; } - Mod+BracketLeft hotkey-overlay-title="Move window left" repeat=false { consume-or-expel-window-left; } - Mod+BracketRight hotkey-overlay-title="Move window right" repeat=false { consume-or-expel-window-right; } - Mod+Ctrl+0 hotkey-overlay-title="Reset display scale" { spawn "output-scale" "1.0"; } - Mod+Ctrl+Equal hotkey-overlay-title="Increase display scale" { spawn "output-scale" "+0.1"; } - Mod+Ctrl+F hotkey-overlay-title="Fill empty column space" repeat=false { expand-column-to-available-width; } - Mod+Ctrl+J hotkey-overlay-title="Focus workspace down" repeat=false { focus-workspace-down; } - Mod+Ctrl+K hotkey-overlay-title="Focus workspace up" repeat=false { focus-workspace-up; } - Mod+Ctrl+Minus hotkey-overlay-title="Decrease display scale" { spawn "output-scale" "-0.1"; } - Mod+Ctrl+N hotkey-overlay-title="Clear notifications" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "notifications" "clear"; } - Mod+Ctrl+Shift+J hotkey-overlay-title="Move column to workspace down" repeat=false { move-column-to-workspace-down; } - Mod+Ctrl+Shift+K hotkey-overlay-title="Move column to workspace up" repeat=false { move-column-to-workspace-up; } - Mod+E hotkey-overlay-title="File Explorer" repeat=false { spawn "${foot}" "-e" "${yazi}"; } - Mod+Equal hotkey-overlay-title="Increase column width" { set-column-width "+10%"; } - Mod+Escape hotkey-overlay-title="Session menu" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "sessionMenu" "toggle"; } - Mod+F hotkey-overlay-title="Maximize Column" repeat=false { maximize-column; } - Mod+H hotkey-overlay-title="Focus window left" repeat=false { focus-column-or-monitor-left; } - Mod+J hotkey-overlay-title="Focus window down" repeat=false { focus-window-or-monitor-down; } - Mod+K hotkey-overlay-title="Focus window up" repeat=false { focus-window-or-monitor-up; } - Mod+L hotkey-overlay-title="Focus window right" repeat=false { focus-column-or-monitor-right; } - Mod+Minus hotkey-overlay-title="Decrease column width" { set-column-width "-10%"; } - Mod+N hotkey-overlay-title="Show notifications" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "notifications" "toggleHistory"; } - Mod+Print hotkey-overlay-title="Screenshot window" repeat=false { screenshot-window; } - Mod+Q hotkey-overlay-title="Close window" repeat=false { close-window; } - Mod+Shift+Equal hotkey-overlay-title="Increase window height" { set-window-height "+10%"; } - Mod+Shift+F hotkey-overlay-title="Fullscreen" repeat=false { fullscreen-window; } - Mod+Shift+H hotkey-overlay-title="Move column left" repeat=false { move-column-left-or-to-monitor-left; } - Mod+Shift+J hotkey-overlay-title="Move column down" repeat=false { move-column-to-monitor-down; } - Mod+Shift+K hotkey-overlay-title="Move column up" repeat=false { move-column-to-monitor-up; } - Mod+Shift+L hotkey-overlay-title="Move column right" repeat=false { move-column-right-or-to-monitor-right; } - Mod+Shift+Minus hotkey-overlay-title="Decrease window height" { set-window-height "-10%"; } - Mod+Slash hotkey-overlay-title="Show hotkeys" repeat=false { show-hotkey-overlay; } - Mod+T hotkey-overlay-title="Toggle tabbed column" repeat=false { toggle-column-tabbed-display; } - Mod+Tab hotkey-overlay-title="Toggle overview" repeat=false { toggle-overview; } - Mod+W hotkey-overlay-title="Terminal" repeat=false { spawn "${foot}"; } - Mod+Z hotkey-overlay-title="Toggle floating" repeat=false { toggle-window-floating; } - Print hotkey-overlay-title="Screenshot" repeat=false { screenshot show-pointer=false; } - Shift+Print hotkey-overlay-title="Screenshot screen" repeat=false { screenshot-screen show-pointer=false; } - XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title="Lower volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; } - XF86AudioMute allow-when-locked=true hotkey-overlay-title="Mute playback" repeat=false { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } - XF86AudioNext hotkey-overlay-title="Next track" repeat=false { spawn "${playerctl}" "next"; } - XF86AudioPlay hotkey-overlay-title="Play / pause track" repeat=false { spawn "${playerctl}" "play-pause"; } - XF86AudioPrev hotkey-overlay-title="Previous track" repeat=false { spawn "${playerctl}" "previous"; } - XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title="Raise volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; } - XF86MonBrightnessDown allow-when-locked=true hotkey-overlay-title="Decrease brightness" { spawn "${brightnessctl}" "set" "5%-"; } - XF86MonBrightnessUp allow-when-locked=true hotkey-overlay-title="Increase brightness" { spawn "${brightnessctl}" "set" "5%+"; } - } - spawn-at-startup "noctalia-shell" - blur { - passes 2 - offset 4.0 - } - window-rule { - geometry-corner-radius 10.000000 10.000000 10.000000 10.000000 - clip-to-geometry true - } - window-rule { - match app-id="foot" - match app-id="Alacritty" - default-column-width { proportion 0.400000; } - opacity 0.870000 - background-effect { - blur true + hotkey-overlay { skip-at-startup; } + environment { "NIXOS_OZONE_WL" "1"; } + binds { + Alt+XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title="Lower microphone volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SOURCE@" "0.05-"; } + Alt+XF86AudioMute allow-when-locked=true hotkey-overlay-title="Mute microphone" repeat=false { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } + Alt+XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title="Raise microphone volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SOURCE@" "0.05+"; } + Mod+A hotkey-overlay-title="Launcher" repeat=false { spawn "${vicinae}" "toggle"; } + Mod+BracketLeft hotkey-overlay-title="Move window left" repeat=false { consume-or-expel-window-left; } + Mod+BracketRight hotkey-overlay-title="Move window right" repeat=false { consume-or-expel-window-right; } + Mod+Ctrl+0 hotkey-overlay-title="Reset display scale" { spawn "output-scale" "1.0"; } + Mod+Ctrl+Equal hotkey-overlay-title="Increase display scale" { spawn "output-scale" "+0.1"; } + Mod+Ctrl+F hotkey-overlay-title="Fill empty column space" repeat=false { expand-column-to-available-width; } + Mod+Ctrl+J hotkey-overlay-title="Focus workspace down" repeat=false { focus-workspace-down; } + Mod+Ctrl+K hotkey-overlay-title="Focus workspace up" repeat=false { focus-workspace-up; } + Mod+Ctrl+Minus hotkey-overlay-title="Decrease display scale" { spawn "output-scale" "-0.1"; } + Mod+Ctrl+N hotkey-overlay-title="Clear notifications" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "notifications" "clear"; } + Mod+Ctrl+Shift+J hotkey-overlay-title="Move column to workspace down" repeat=false { move-column-to-workspace-down; } + Mod+Ctrl+Shift+K hotkey-overlay-title="Move column to workspace up" repeat=false { move-column-to-workspace-up; } + Mod+E hotkey-overlay-title="File Explorer" repeat=false { spawn "${foot}" "-e" "${yazi}"; } + Mod+Equal hotkey-overlay-title="Increase column width" { set-column-width "+10%"; } + Mod+Escape hotkey-overlay-title="Session menu" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "sessionMenu" "toggle"; } + Mod+F hotkey-overlay-title="Maximize Column" repeat=false { maximize-column; } + Mod+H hotkey-overlay-title="Focus window left" repeat=false { focus-column-or-monitor-left; } + Mod+J hotkey-overlay-title="Focus window down" repeat=false { focus-window-or-monitor-down; } + Mod+K hotkey-overlay-title="Focus window up" repeat=false { focus-window-or-monitor-up; } + Mod+L hotkey-overlay-title="Focus window right" repeat=false { focus-column-or-monitor-right; } + Mod+Minus hotkey-overlay-title="Decrease column width" { set-column-width "-10%"; } + Mod+N hotkey-overlay-title="Show notifications" repeat=false { spawn "${noctalia-shell}" "ipc" "call" "notifications" "toggleHistory"; } + Mod+Print hotkey-overlay-title="Screenshot window" repeat=false { screenshot-window; } + Mod+Q hotkey-overlay-title="Close window" repeat=false { close-window; } + Mod+Shift+Equal hotkey-overlay-title="Increase window height" { set-window-height "+10%"; } + Mod+Shift+F hotkey-overlay-title="Fullscreen" repeat=false { fullscreen-window; } + Mod+Shift+H hotkey-overlay-title="Move column left" repeat=false { move-column-left-or-to-monitor-left; } + Mod+Shift+J hotkey-overlay-title="Move column down" repeat=false { move-window-down; } + Mod+Shift+K hotkey-overlay-title="Move column up" repeat=false { move-window-up; } + Mod+Shift+L hotkey-overlay-title="Move column right" repeat=false { move-column-right-or-to-monitor-right; } + Mod+Shift+Minus hotkey-overlay-title="Decrease window height" { set-window-height "-10%"; } + Mod+Slash hotkey-overlay-title="Show hotkeys" repeat=false { show-hotkey-overlay; } + Mod+T hotkey-overlay-title="Toggle tabbed column" repeat=false { toggle-column-tabbed-display; } + Mod+Tab hotkey-overlay-title="Toggle overview" repeat=false { toggle-overview; } + Mod+W hotkey-overlay-title="Terminal" repeat=false { spawn "${foot}"; } + Mod+Z hotkey-overlay-title="Toggle floating" repeat=false { toggle-window-floating; } + Print hotkey-overlay-title="Screenshot" repeat=false { screenshot show-pointer=false; } + Shift+Print hotkey-overlay-title="Screenshot screen" repeat=false { screenshot-screen show-pointer=false; } + XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title="Lower volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05-"; } + XF86AudioMute allow-when-locked=true hotkey-overlay-title="Mute playback" repeat=false { spawn "${wpctl}" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } + XF86AudioNext hotkey-overlay-title="Next track" repeat=false { spawn "${playerctl}" "next"; } + XF86AudioPlay hotkey-overlay-title="Play / pause track" repeat=false { spawn "${playerctl}" "play-pause"; } + XF86AudioPrev hotkey-overlay-title="Previous track" repeat=false { spawn "${playerctl}" "previous"; } + XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title="Raise volume" { spawn "${wpctl}" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.05+"; } + XF86MonBrightnessDown allow-when-locked=true hotkey-overlay-title="Decrease brightness" { spawn "${brightnessctl}" "set" "5%-"; } + XF86MonBrightnessUp allow-when-locked=true hotkey-overlay-title="Increase brightness" { spawn "${brightnessctl}" "set" "5%+"; } } - } - layer-rule { - match namespace="^noctalia-overview*" - place-within-backdrop true - } - gestures { hot-corners { off; }; } - xwayland-satellite { path "${lib.getExe pkgs.xwayland-satellite-unstable}"; } - ''; - # settings = { - # input = { - # keyboard = { - # xkb = { - # layout = "us"; - # options = "compose:ralt"; - # }; - # }; - # touchpad = { - # enable = true; - # click-method = "clickfinger"; - # drag = true; - # drag-lock = true; - # dwt = true; - # natural-scroll = false; - # scroll-method = "two-finger"; - # tap = true; - # tap-button-map = "left-right-middle"; # Mouse button click to register when tapping with 1, 2, or 3 fingers - # }; - # warp-mouse-to-focus = { - # enable = true; - # mode = "center-xy-always"; - # }; - # focus-follows-mouse = { - # enable = true; - # }; - # mod-key = "Super"; - # }; - # binds = { - # # General - # "Mod+Slash" = { - # action.show-hotkey-overlay = { }; - # repeat = false; - # hotkey-overlay.title = "Show hotkeys"; - # }; - # "Mod+Q" = { - # action.close-window = { }; - # repeat = false; - # hotkey-overlay.title = "Close window"; - # }; - # "Mod+W" = { - # action.spawn = foot; - # repeat = false; - # hotkey-overlay.title = "Terminal"; - # }; - # "Mod+A" = { - # action.spawn = [ - # vicinae - # "toggle" - # ]; - # repeat = false; - # hotkey-overlay.title = "Launcher"; - # }; - # "Mod+E" = { - # action.spawn = [ - # foot - # "-e" - # yazi - # ]; - # repeat = false; - # hotkey-overlay.title = "File Explorer"; - # }; - # "Mod+Escape" = { - # action.spawn = [ - # noctalia-shell - # "ipc" - # "call" - # "sessionMenu" - # "toggle" - # ]; - # repeat = false; - # hotkey-overlay.title = "Session menu"; - # }; + spawn-at-startup "noctalia-shell" + blur { + passes 2 + offset 7.0 + noise 0.01 + saturation 0.8 + } + window-rule { + geometry-corner-radius 10.000000 10.000000 10.000000 10.000000 + clip-to-geometry true + } + window-rule { + match app-id="foot" + match app-id="Alacritty" + default-column-width { proportion 0.400000; } + opacity 0.850000 + background-effect { + blur true + } + } + layer-rule { + match namespace="^noctalia-overview*" + place-within-backdrop true + } + gestures { hot-corners { off; }; } + xwayland-satellite { path "${lib.getExe pkgs.xwayland-satellite-unstable}"; } + ''; + # settings = { + # input = { + # keyboard = { + # xkb = { + # layout = "us"; + # options = "compose:ralt"; + # }; + # }; + # touchpad = { + # enable = true; + # click-method = "clickfinger"; + # drag = true; + # drag-lock = true; + # dwt = true; + # natural-scroll = false; + # scroll-method = "two-finger"; + # tap = true; + # tap-button-map = "left-right-middle"; # Mouse button click to register when tapping with 1, 2, or 3 fingers + # }; + # warp-mouse-to-focus = { + # enable = true; + # mode = "center-xy-always"; + # }; + # focus-follows-mouse = { + # enable = true; + # }; + # mod-key = "Super"; + # }; + # binds = { + # # General + # "Mod+Slash" = { + # action.show-hotkey-overlay = { }; + # repeat = false; + # hotkey-overlay.title = "Show hotkeys"; + # }; + # "Mod+Q" = { + # action.close-window = { }; + # repeat = false; + # hotkey-overlay.title = "Close window"; + # }; + # "Mod+W" = { + # action.spawn = foot; + # repeat = false; + # hotkey-overlay.title = "Terminal"; + # }; + # "Mod+A" = { + # action.spawn = [ + # vicinae + # "toggle" + # ]; + # repeat = false; + # hotkey-overlay.title = "Launcher"; + # }; + # "Mod+E" = { + # action.spawn = [ + # foot + # "-e" + # yazi + # ]; + # repeat = false; + # hotkey-overlay.title = "File Explorer"; + # }; + # "Mod+Escape" = { + # action.spawn = [ + # noctalia-shell + # "ipc" + # "call" + # "sessionMenu" + # "toggle" + # ]; + # repeat = false; + # hotkey-overlay.title = "Session menu"; + # }; - # # Notifications - # "Mod+N" = { - # action.spawn = [ - # noctalia-shell - # "ipc" - # "call" - # "notifications" - # "toggleHistory" - # ]; - # repeat = false; - # hotkey-overlay.title = "Show notifications"; - # }; - # "Mod+Ctrl+N" = { - # action.spawn = [ - # noctalia-shell - # "ipc" - # "call" - # "notifications" - # "clear" - # ]; - # repeat = false; - # hotkey-overlay.title = "Clear notifications"; - # }; + # # Notifications + # "Mod+N" = { + # action.spawn = [ + # noctalia-shell + # "ipc" + # "call" + # "notifications" + # "toggleHistory" + # ]; + # repeat = false; + # hotkey-overlay.title = "Show notifications"; + # }; + # "Mod+Ctrl+N" = { + # action.spawn = [ + # noctalia-shell + # "ipc" + # "call" + # "notifications" + # "clear" + # ]; + # repeat = false; + # hotkey-overlay.title = "Clear notifications"; + # }; - # # Media keys - # "XF86AudioPrev" = { - # action.spawn = [ - # playerctl - # "previous" - # ]; - # repeat = false; - # hotkey-overlay.title = "Previous track"; - # }; - # "XF86AudioPlay" = { - # action.spawn = [ - # playerctl - # "play-pause" - # ]; - # repeat = false; - # hotkey-overlay.title = "Play / pause track"; - # }; - # "XF86AudioNext" = { - # action.spawn = [ - # playerctl - # "next" - # ]; - # repeat = false; - # hotkey-overlay.title = "Next track"; - # }; - # "XF86AudioRaiseVolume" = { - # action.spawn = [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SINK@" - # "0.05+" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Raise volume"; - # }; - # "XF86AudioLowerVolume" = { - # action.spawn = [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SINK@" - # "0.05-" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Lower volume"; - # }; - # "XF86AudioMute" = { - # action.spawn = [ - # wpctl - # "set-mute" - # "@DEFAULT_AUDIO_SINK@" - # "toggle" - # ]; - # repeat = false; - # allow-when-locked = true; - # hotkey-overlay.title = "Mute playback"; - # }; - # "Alt+XF86AudioRaiseVolume" = { - # action.spawn = [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SOURCE@" - # "0.05+" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Raise microphone volume"; - # }; - # "Alt+XF86AudioLowerVolume" = { - # action.spawn = [ - # wpctl - # "set-volume" - # "@DEFAULT_AUDIO_SOURCE@" - # "0.05-" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Lower microphone volume"; - # }; - # "Alt+XF86AudioMute" = { - # action.spawn = [ - # wpctl - # "set-mute" - # "@DEFAULT_AUDIO_SOURCE@" - # "toggle" - # ]; - # repeat = false; - # allow-when-locked = true; - # hotkey-overlay.title = "Mute microphone"; - # }; + # # Media keys + # "XF86AudioPrev" = { + # action.spawn = [ + # playerctl + # "previous" + # ]; + # repeat = false; + # hotkey-overlay.title = "Previous track"; + # }; + # "XF86AudioPlay" = { + # action.spawn = [ + # playerctl + # "play-pause" + # ]; + # repeat = false; + # hotkey-overlay.title = "Play / pause track"; + # }; + # "XF86AudioNext" = { + # action.spawn = [ + # playerctl + # "next" + # ]; + # repeat = false; + # hotkey-overlay.title = "Next track"; + # }; + # "XF86AudioRaiseVolume" = { + # action.spawn = [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SINK@" + # "0.05+" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Raise volume"; + # }; + # "XF86AudioLowerVolume" = { + # action.spawn = [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SINK@" + # "0.05-" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Lower volume"; + # }; + # "XF86AudioMute" = { + # action.spawn = [ + # wpctl + # "set-mute" + # "@DEFAULT_AUDIO_SINK@" + # "toggle" + # ]; + # repeat = false; + # allow-when-locked = true; + # hotkey-overlay.title = "Mute playback"; + # }; + # "Alt+XF86AudioRaiseVolume" = { + # action.spawn = [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SOURCE@" + # "0.05+" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Raise microphone volume"; + # }; + # "Alt+XF86AudioLowerVolume" = { + # action.spawn = [ + # wpctl + # "set-volume" + # "@DEFAULT_AUDIO_SOURCE@" + # "0.05-" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Lower microphone volume"; + # }; + # "Alt+XF86AudioMute" = { + # action.spawn = [ + # wpctl + # "set-mute" + # "@DEFAULT_AUDIO_SOURCE@" + # "toggle" + # ]; + # repeat = false; + # allow-when-locked = true; + # hotkey-overlay.title = "Mute microphone"; + # }; - # # Brightness - # "XF86MonBrightnessUp" = { - # action.spawn = [ - # brightnessctl - # "set" - # "5%+" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Increase brightness"; - # }; - # "XF86MonBrightnessDown" = { - # action.spawn = [ - # brightnessctl - # "set" - # "5%-" - # ]; - # repeat = true; - # allow-when-locked = true; - # hotkey-overlay.title = "Decrease brightness"; - # }; + # # Brightness + # "XF86MonBrightnessUp" = { + # action.spawn = [ + # brightnessctl + # "set" + # "5%+" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Increase brightness"; + # }; + # "XF86MonBrightnessDown" = { + # action.spawn = [ + # brightnessctl + # "set" + # "5%-" + # ]; + # repeat = true; + # allow-when-locked = true; + # hotkey-overlay.title = "Decrease brightness"; + # }; - # # Screen capture - # "Print" = { - # action.screenshot = { - # show-pointer = false; - # }; - # repeat = false; - # hotkey-overlay.title = "Screenshot"; - # }; - # "Mod+Print" = { - # action.screenshot-window = { - # # show-pointer = false; - # }; - # repeat = false; - # hotkey-overlay.title = "Screenshot window"; - # }; - # "Shift+Print" = { - # action.screenshot-screen = { - # show-pointer = false; - # }; - # repeat = false; - # hotkey-overlay.title = "Screenshot screen"; - # }; + # # Screen capture + # "Print" = { + # action.screenshot = { + # show-pointer = false; + # }; + # repeat = false; + # hotkey-overlay.title = "Screenshot"; + # }; + # "Mod+Print" = { + # action.screenshot-window = { + # # show-pointer = false; + # }; + # repeat = false; + # hotkey-overlay.title = "Screenshot window"; + # }; + # "Shift+Print" = { + # action.screenshot-screen = { + # show-pointer = false; + # }; + # repeat = false; + # hotkey-overlay.title = "Screenshot screen"; + # }; - # # Display scaling - # "Mod+Ctrl+Equal" = { - # action.spawn = [ - # "output-scale" - # "+0.1" - # ]; - # repeat = true; - # hotkey-overlay.title = "Increase display scale"; - # }; - # "Mod+Ctrl+Minus" = { - # action.spawn = [ - # "output-scale" - # "-0.1" - # ]; - # repeat = true; - # hotkey-overlay.title = "Decrease display scale"; - # }; - # "Mod+Ctrl+0" = { - # action.spawn = [ - # "output-scale" - # "1.0" - # ]; - # repeat = true; - # hotkey-overlay.title = "Reset display scale"; - # }; + # # Display scaling + # "Mod+Ctrl+Equal" = { + # action.spawn = [ + # "output-scale" + # "+0.1" + # ]; + # repeat = true; + # hotkey-overlay.title = "Increase display scale"; + # }; + # "Mod+Ctrl+Minus" = { + # action.spawn = [ + # "output-scale" + # "-0.1" + # ]; + # repeat = true; + # hotkey-overlay.title = "Decrease display scale"; + # }; + # "Mod+Ctrl+0" = { + # action.spawn = [ + # "output-scale" + # "1.0" + # ]; + # repeat = true; + # hotkey-overlay.title = "Reset display scale"; + # }; - # # Window and column size - # "Mod+F" = { - # action.maximize-column = { }; - # repeat = false; - # hotkey-overlay.title = "Maximize Column"; - # }; - # "Mod+Shift+F" = { - # action.fullscreen-window = { }; - # repeat = false; - # hotkey-overlay.title = "Fullscreen"; - # }; - # "Mod+Ctrl+F" = { - # action.expand-column-to-available-width = { }; - # repeat = false; - # hotkey-overlay.title = "Fill empty column space"; - # }; - # "Mod+Equal" = { - # action.set-column-width = "+10%"; - # repeat = true; - # hotkey-overlay.title = "Increase column width"; - # }; - # "Mod+Minus" = { - # action.set-column-width = "-10%"; - # repeat = true; - # hotkey-overlay.title = "Decrease column width"; - # }; - # "Mod+Shift+Equal" = { - # action.set-window-height = "+10%"; - # repeat = true; - # hotkey-overlay.title = "Increase window height"; - # }; - # "Mod+Shift+Minus" = { - # action.set-window-height = "-10%"; - # repeat = true; - # hotkey-overlay.title = "Decrease window height"; - # }; - # "Mod+Z" = { - # action.toggle-window-floating = { }; - # repeat = false; - # hotkey-overlay.title = "Toggle floating"; - # }; - # "Mod+T" = { - # action.toggle-column-tabbed-display = { }; - # repeat = false; - # hotkey-overlay.title = "Toggle tabbed column"; - # }; + # # Window and column size + # "Mod+F" window.maximize-column = { }; + # repeat = false; + # hotkeywindow Column"; + # }; + # "Mod+Shift+F" = { + # action.fullscreen-window = { }; + # repeat = false; + # hotkey-overlay.title = "Fullscreen"; + # }; + # "Mod+Ctrl+F" = { + # action.expand-column-to-available-width = { }; + # repeat = false; + # hotkey-overlay.title = "Fill empty column space"; + # }; + # "Mod+Equal" = { + # action.set-column-width = "+10%"; + # repeat = true; + # hotkey-overlay.title = "Increase column width"; + # }; + # "Mod+Minwindow action.set-column-width = "-10%"; + # repeat = true; + # hotkeywindow column width"; + # }; + # "Mod+Shiwindow{ + # action.set-window-height = "+10%"; + # repeatwindowy-overlay.title = "Increase window height"; + # }; + # "Mod+Shift+Minus" = { + # action.set-window-height = "-10%"; + # repeat = true; + # hotkey-overlay.title = "Decrease window height"; + # }; + # "Mod+Z" = { + # action.toggle-window-floating = { }; + # repeat = false; + # hotkey-overlay.title = "Toggle floating"; + # }; + # "Mod+T" = { + # action.toggle-column-tabbed-display = { }; + # repeat = false; + # hotkey-overlay.title = "Toggle tabbed column"; + # }; - # # Window and column movement - # "Mod+K" = { - # action.focus-window-or-monitor-up = { }; - # repeat = false; - # hotkey-overlay.title = "Focus window up"; - # }; - # "Mod+J" = { - # action.focus-window-or-monitor-down = { }; - # repeat = false; - # hotkey-overlay.title = "Focus window down"; - # }; - # "Mod+H" = { - # action.focus-column-or-monitor-left = { }; - # repeat = false; - # hotkey-overlay.title = "Focus window left"; - # }; - # "Mod+L" = { - # action.focus-column-or-monitor-right = { }; - # repeat = false; - # hotkey-overlay.title = "Focus window right"; - # }; - # "Mod+BracketLeft" = { - # action.consume-or-expel-window-left = { }; - # repeat = false; - # hotkey-overlay.title = "Move window left"; - # }; - # "Mod+BracketRight" = { - # action.consume-or-expel-window-right = { }; - # repeat = false; - # hotkey-overlay.title = "Move window right"; - # }; - # "Mod+Shift+K" = { - # action.move-column-to-monitor-up = { }; - # repeat = false; - # hotkey-overlay.title = "Move column up"; - # }; - # "Mod+Shift+J" = { - # action.move-column-to-monitor-down = { }; - # repeat = false; - # hotkey-overlay.title = "Move column down"; - # }; - # "Mod+Shift+H" = { - # action.move-column-left-or-to-monitor-left = { }; - # repeat = false; - # hotkey-overlay.title = "Move column left"; - # }; - # "Mod+Shift+L" = { - # action.move-column-right-or-to-monitor-right = { }; - # repeat = false; - # hotkey-overlay.title = "Move column right"; - # }; + # # Window and column movement + # "Mod+K" = { + # action.focus-window-or-monitor-up = { }; + # repeat = false; + # hotkey-overlay.title = "Focus window up"; + # }; + # "Mod+J" = { + # action.focus-window-or-monitor-down = { }; + # repeat = false; + # hotkey-overlay.title = "Focus window down"; + # }; + # "Mod+H" = { + # action.focus-column-or-monitor-left = { }; + # repeat = false; + # hotkey-overlay.title = "Focus window left"; + # }; + # "Mod+L" = { + # action.focus-column-or-monitor-right = { }; + # repeat = false; + # hotkey-overlay.title = "Focus window right"; + # }; + # "Mod+BracketLeft" = { + # action.consume-or-expel-window-left = { }; + # repeat = false; + # hotkey-overlay.title = "Move window left"; + # }; + # "Mod+Brawindow action.consume-or-expel-window-right = { }; + # repeat = false; + # hotkeywindow window right"; + # }; + # "Mod+Shiwindow{ + # action.move-column-to-monitor-up = { }; + # repeatwindowy-overlay.title = "Move column up"; + # }; + # "Mod+Shiwindow{ + # action.move-column-to-monitor-down = { }; + # repeatwindowy-overlay.title = "Move column down"; + # }; + # "Mod+Shiwindow{ + # action.move-column-left-or-to-monitor-left = { }; + # repeatwindowy-overlay.title = "Move column left"; + # }; + # "Mod+Shift+L" = { + # action.move-column-right-or-to-monitor-right = { }; + # repeat = false; + # hotkey-overlay.title = "Move column right"; + # }; - # # Workspaces - # "Mod+Ctrl+K" = { - # action.focus-workspace-up = { }; - # repeat = false; - # hotkey-overlay.title = "Focus workspace up"; - # }; - # "Mod+Ctrl+J" = { - # action.focus-workspace-down = { }; - # repeat = false; - # hotkey-overlay.title = "Focus workspace down"; - # }; - # "Mod+Ctrl+Shift+K" = { - # action.move-column-to-workspace-up = { }; - # repeat = false; - # hotkey-overlay.title = "Move column to workspace up"; - # }; - # "Mod+Ctrl+Shift+J" = { - # action.move-column-to-workspace-down = { }; - # repeat = false; - # hotkey-overlay.title = "Move column to workspace down"; - # }; + # # Workspaces + # "Mod+Ctrl+K" = { + # action.focus-workspace-up = { }; + # repeat = false; + # hotkey-overlay.title = "Focus workspace up"; + # }; + # "Mod+Ctrl+J" = { + # action.focus-workspace-down = { }; + # repeat = false; + # hotkey-overlay.title = "Focus workspace down"; + # }; + # "Mod+Ctrl+Shift+K" = { + # action.move-column-to-workspace-up = { }; + # repeat = false; + # hotkey-overlay.title = "Move column to workspace up"; + # }; + # "Mod+Ctrl+Shift+J" = { + # action.move-column-to-workspace-down = { }; + # repeat = false; + # hotkey-overlay.title = "Move column to workspace down"; + # }; - # # Overview - # "Mod+Tab" = { - # action.toggle-overview = { }; - # repeat = false; - # hotkey-overlay.title = "Toggle overview"; - # }; - # }; - # window-rules = [ - # { - # geometry-corner-radius = { - # bottom-left = 10.0; - # bottom-right = 10.0; - # top-left = 10.0; - # top-right = 10.0; - # }; - # clip-to-geometry = true; - # } - # # Unfortunately windows like firefox extensions set their titles after spawning preventing - # # the window rules from being applied. There is a script to fix this but it is pretty hacky. - # # { - # # matches = [ - # # { - # # title = "^Extension:.*"; - # # app-id = "firefox"; - # # } - # # ]; - # # open-floating = true; - # # } - # { - # matches = [ - # { app-id = "foot"; } - # { app-id = "Alacritty"; } - # ]; - # opacity = 0.90; - # default-column-width.proportion = 0.4; - # } - # ]; - # layer-rules = [ - # { - # # Use noctalia wallpaper as overview backdrop - # matches = [ { namespace = "^noctalia-overview*"; } ]; - # place-within-backdrop = true; - # } - # ]; - # prefer-no-csd = true; - # screenshot-path = "${config.xdg.userDirs.extraConfig.SCREENSHOTS}/%Y%m%d-%H%M%S.png"; - # hotkey-overlay = { - # skip-at-startup = true; - # }; - # spawn-at-startup = [ - # { argv = [ "noctalia-shell" ]; } - # ]; - # cursor = { - # size = config.home.pointerCursor.size; - # theme = config.home.pointerCursor.name; - # hide-when-typing = true; - # }; - # gestures = { - # hot-corners.enable = false; - # }; - # xwayland-satellite = { - # enable = true; - # path = lib.getExe pkgs.xwayland-satellite-unstable; - # }; - # environment = { - # "NIXOS_OZONE_WL" = "1"; - # }; - # debug = { - # # Allows notification actions and window activation from Noctalia. - # honor-xdg-activation-with-invalid-serial = { }; - # }; - # # Support for external 'includes' sounds like it is in the works. - # # Will just have to wait until then for noctalia color scheme integration. - # }; + # # Overview + # "Mod+Tab" = { + # action.toggle-overview = { }; + # repeat = false; + # hotkey-overlay.title = "Toggle overview"; + # }; + # }; + # window-rules = [ + # { + # geometry-corner-radius = { + # bottom-left = 10.0; + # bottom-right = 10.0; + # top-left = 10.0; + # top-right = 10.0; + # }; + # clip-to-geometry = true; + # } + # # Unfortunately windows like firefox extensions set their titles after spawning preventing + # # the window rules from being applied. There is a script to fix this but it is pretty hacky. + # # { + # # matches = [ + # # { + # # title = "^Extension:.*"; + # # app-id = "firefox"; + # # } + # # ]; + # # open-floating = true; + # # } + # { + # matches = [ + # { app-id = "foot"; } + # { app-id = "Alacritty"; } + # ]; + # opacity = 0.90; + # default-column-width.proportion = 0.4; + # } + # ]; + # layer-rules = [ + # { + # # Use noctalia wallpaper as overview backdrop + # matches = [ { namespace = "^noctalia-overview*"; } ]; + # place-within-backdrop = true; + # } + # ]; + # prefer-no-csd = true; + # screenshot-path = "${config.xdg.userDirs.extraConfig.SCREENSHOTS}/%Y%m%d-%H%M%S.png"; + # hotkey-overlay = { + # skip-at-startup = true; + # }; + # spawn-at-startup = [ + # { argv = [ "noctalia-shell" ]; } + # ]; + # cursor = { + # size = config.home.pointerCursor.size; + # theme = config.home.pointerCursor.name; + # hide-when-typing = true; + # }; + # gestures = { + # hot-corners.enable = false; + # }; + # xwayland-satellite = { + # enable = true; + # path = lib.getExe pkgs.xwayland-satellite-unstable; + # }; + # environment = { + # "NIXOS_OZONE_WL" = "1"; + # }; + # debug = { + # # Allows notification actions and window activation from Noctalia. + # honor-xdg-activation-with-invalid-serial = { }; + # }; + # # Support for external 'includes' sounds like it is in the works. + # # Will just have to wait until then for noctalia color scheme integration. + # }; + }; }; } diff --git a/modules/features/zellij.nix b/modules/features/zellij.nix index 3ad94d4..450913f 100644 --- a/modules/features/zellij.nix +++ b/modules/features/zellij.nix @@ -38,6 +38,9 @@ theme = "catppuccin-mocha"; show_startup_tips = false; default_mode = "locked"; + session_serialization = false; + on_force_close = "quit"; + support_kitty_keyboard_protocol = false; ui._children = [ { @@ -62,19 +65,51 @@ } ]) (sharedExcept - [ "locked" "normal" "renamepane" "renametab" ] + [ "locked" "renamepane" "renametab" ] [ { keys = "Esc"; + actions = [ (switchMode "Locked") ]; + } + ] + ) + (sharedExcept + [ "locked" "normal" "renamepane" "renametab" ] + [ + { + keys = "${mod} n"; actions = [ (switchMode "Normal") ]; } ] ) + (sharedExcept + [ "locked" "pane" "renamepane" "renametab" ] + [ + { + keys = "${mod} p"; + actions = [ (switchMode "Pane") ]; + } + ] + ) + (sharedExcept + [ "locked" "tab" "renamepane" "renametab" ] + [ + { + keys = "${mod} t"; + actions = [ (switchMode "Tab") ]; + } + ] + ) + (sharedExcept + [ "locked" "resize" "renamepane" "renametab" ] + [ + { + keys = "${mod} r"; + actions = [ (switchMode "Resize") ]; + } + ] + ) (modeBinds "normal" [ - { - keys = "Esc"; - actions = [ (switchMode "Locked") ]; - } { keys = "h"; actions = [ (actionWith "MoveFocusOrTab" [ "Left" ]) ]; @@ -99,18 +134,6 @@ keys = "L"; actions = [ (action "GoToNextTab") ]; } - { - keys = "p"; - actions = [ (switchMode "Pane") ]; - } - { - keys = "t"; - actions = [ (switchMode "Tab") ]; - } - { - keys = "r"; - actions = [ (switchMode "Resize") ]; - } ]) (modeBinds "pane" [ { diff --git a/modules/users/eclypse.nix b/modules/users/eclypse.nix index 672e362..6f83615 100644 --- a/modules/users/eclypse.nix +++ b/modules/users/eclypse.nix @@ -37,12 +37,13 @@ in { pkgs, ... }: { imports = with self.modules.homeManager; [ - inputs.nix-jmu-cs345.homeManagerModules.bernstdh assets bat + btop direnv eza fastfetch + firefox fonts foot fzf @@ -61,7 +62,6 @@ in yazi zed zellij - zen-browser zoxide zsh ]; @@ -76,7 +76,6 @@ in wallpaperDir = "${inputs.assets}/wallpapers"; programs.home-manager.enable = true; - programs.nix-jmu-cs345.enable = true; home.packages = with pkgs; [ devenv @@ -84,11 +83,13 @@ in obsidian upscayl trayscale + cura-appimage # CD Stuff picard heybrochecklog rsgain + vlc playerctl brightnessctl