diff options
| -rw-r--r-- | common/modules/terminal/ghostty.nix | 12 | ||||
| -rw-r--r-- | common/modules/window_managers/default.nix | 2 | ||||
| -rw-r--r-- | common/modules/window_managers/mango/default.nix | 2 | ||||
| -rw-r--r-- | common/modules/window_managers/niri/default.nix | 145 | ||||
| -rw-r--r-- | common/modules/window_managers/scripts.nix | 10 | ||||
| -rw-r--r-- | common/programs/vesktop.nix | 2 | ||||
| -rw-r--r-- | hosts/common.nix | 3 | ||||
| -rw-r--r-- | hosts/niuwux/default.nix | 15 | ||||
| -rw-r--r-- | users/beeb5k/default.nix | 14 | ||||
| -rw-r--r-- | users/common.nix | 4 |
10 files changed, 132 insertions, 77 deletions
diff --git a/common/modules/terminal/ghostty.nix b/common/modules/terminal/ghostty.nix index ecada2b..fa18ae6 100644 --- a/common/modules/terminal/ghostty.nix +++ b/common/modules/terminal/ghostty.nix @@ -28,6 +28,9 @@ in window-padding-y = cfg.window.padding-y; window-decoration = "none"; window-inherit-working-directory = false; + cursor-style-blink = false; + cursor-style = "block"; + shell-integration-features = "no-cursor"; adjust-underline-position = "7%"; adjust-cell-width = ""; @@ -41,10 +44,11 @@ in copy-on-select = false; confirm-close-surface = false; mouse-hide-while-typing = true; - app-notifications = [ - "no-clipboard-copy" - "no-config-reload" - ]; + app-notifications = false; + # app-notifications = [ + # "no-clipboard-copy" + # "no-config-reload" + # ]; }; }; }; diff --git a/common/modules/window_managers/default.nix b/common/modules/window_managers/default.nix index e74d505..547e2c8 100644 --- a/common/modules/window_managers/default.nix +++ b/common/modules/window_managers/default.nix @@ -65,7 +65,7 @@ in }; opacity = lib.mkOption { type = lib.types.number; - default = 0.87; + default = 0.90; description = "Window opacity"; }; }; diff --git a/common/modules/window_managers/mango/default.nix b/common/modules/window_managers/mango/default.nix index 3d70b82..67a8574 100644 --- a/common/modules/window_managers/mango/default.nix +++ b/common/modules/window_managers/mango/default.nix @@ -168,7 +168,7 @@ in ''} bind=SUPER,r,reload_config - bind=SUPER,Return,spawn,${config.beeMods.terminal.default} + bind=SUPER,Return,spawn,sh -c '${scripts.terminal}' bind=SUPER,F12,spawn,gnome-calculator bind=SUPER,b,spawn,librewolf diff --git a/common/modules/window_managers/niri/default.nix b/common/modules/window_managers/niri/default.nix index 4905927..ac2d99e 100644 --- a/common/modules/window_managers/niri/default.nix +++ b/common/modules/window_managers/niri/default.nix @@ -14,8 +14,6 @@ let cfg = config.${moduleNameSpace}.windowManagers; scripts = import ../scripts.nix { inherit pkgs config; }; eyecandy = cfg.eyeCandy.enable; - terminal = - if config.beeMods.terminal.default == "foot" then "footclient" else config.beeMods.terminal.default; in { config = lib.mkIf cfg.niri.enable ( @@ -23,7 +21,6 @@ in { home.packages = with pkgs; [ xwayland-satellite - evtest ]; xdg.configFile."niri/config.kdl".text = '' include optional=true "./noctalia.kdl" @@ -63,14 +60,14 @@ in } blur { - passes ${if eyecandy then toString cfg.eyeCandy.window.blur.passes else "0"} - offset ${if eyecandy then toString cfg.eyeCandy.window.blur.radius else "0"} - noise 0.03 - saturation 1.0 + passes ${if eyecandy then toString cfg.eyeCandy.window.blur.passes else "0"} + offset ${if eyecandy then toString cfg.eyeCandy.window.blur.radius else "0"} + noise 0.03 + saturation 1.3 } layout { - gaps 4 + gaps 5 center-focused-column "never" background-color "transparent" @@ -89,18 +86,17 @@ in } focus-ring { - on - width 2 + off + width 2 } border { - off + on width 2 } shadow { - off - // on + ${if eyecandy && cfg.eyeCandy.window.shadows.enable then "on" else "off"} softness 30 spread 5 offset x=0 y=5 @@ -145,79 +141,116 @@ in } window-rule { + match is-floating=true + + background-effect { + xray false + } + } + + window-rule { match title="^Kdenlive$" open-floating true open-on-workspace "3" } window-rule { - match app-id=r#"^(firefox|librewolf)$"# - open-on-workspace "1" - open-maximized true + match app-id=r#"^(firefox|librewolf|brave-origin)$"# + open-on-workspace "1" + open-maximized true } window-rule { - match app-id=r#"^(foot|footclient|Alacritty|com.mitchellh.ghostty|kitty)$"# - open-on-workspace "2" + match app-id=r#"^(foot|footclient|Alacritty|com.mitchellh.ghostty|kitty)$"# + open-on-workspace "2" + open-focused true + } + + window-rule { + match app-id=r#"^(vesktop|mpv|.*Kdenlive.*)$"# + open-on-workspace "3" + open-focused true } window-rule { - match app-id=r#"^(vesktop|mpv|.*Kdenlive.*)$"# - open-on-workspace "3" - open-focused true + match app-id=r#"^(steam)$"# + open-on-workspace "4" } + // steam games window-rule { - match app-id=r#"^(steam)$"# - open-on-workspace "4" + match app-id=r#"^steam_app_.*$"# + open-on-workspace "4" + open-fullscreen true + open-floating false + } + + window-rule { + draw-border-with-background false + geometry-corner-radius ${if eyecandy then toString cfg.eyeCandy.window.borderRadius else "0"} + clip-to-geometry ${ + if eyecandy && cfg.eyeCandy.window.borderRadius != 0 then "true" else "false" + } + opacity ${if eyecandy then toString cfg.eyeCandy.window.opacity else "1.0"} + background-effect { + blur ${if eyecandy && cfg.eyeCandy.window.blur.enable then "true" else "false"} + } + popups { + geometry-corner-radius 15 + + background-effect { + xray false + blur ${if eyecandy && cfg.eyeCandy.window.blur.enable then "true" else "false"} + } + } } - ${lib.optionalString (config.beeMods.terminal.default == "foot") '' + ${lib.optionalString (scripts.defaultTerm == "foot") '' spawn-sh-at-startup "foot --server" ''} binds { Mod+Shift+Slash { show-hotkey-overlay; } - Mod+Return hotkey-overlay-title="Open a Terminal: ${config.beeMods.terminal.default}" { spawn "${terminal}"; } + Mod+Return hotkey-overlay-title="Open a Terminal: ${scripts.defaultTerm}" { spawn-sh "${scripts.terminal}"; } - ${lib.optionalString (config.beeMods.matugen.enable && cfg.beeConfig.enable && !cfg.noctalia) '' - Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "rofi -show drun"; } - Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "${scripts.dostuff} wall"; } - Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "${scripts.dostuff} settings"; } + ${lib.optionalString (config.beeMods.matugen.enable && cfg.beeConfig.enable && !cfg.noctalia) '' + Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "rofi -show drun"; } + Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "${scripts.dostuff} wall"; } + Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "${scripts.dostuff} settings"; } - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "${scripts.volume} up"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "${scripts.volume} down"; } - XF86AudioMute allow-when-locked=true { spawn-sh "${scripts.volume} toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "${scripts.micToggle}"; } + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "${scripts.volume} up"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "${scripts.volume} down"; } + XF86AudioMute allow-when-locked=true { spawn-sh "${scripts.volume} toggle"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "${scripts.micToggle}"; } - Mod+TouchpadScrollDown { spawn-sh "${scripts.volume} up 0.02"; } - Mod+TouchpadScrollUp { spawn-sh "${scripts.volume} down 0.02"; } + Mod+TouchpadScrollDown { spawn-sh "${scripts.volume} up 0.02"; } + Mod+TouchpadScrollUp { spawn-sh "${scripts.volume} down 0.02"; } - XF86MonBrightnessUp allow-when-locked=true { spawn-sh "${scripts.brightness} up"; } - XF86MonBrightnessDown allow-when-locked=true { spawn-sh "${scripts.brightness} down"; } - ''} + XF86MonBrightnessUp allow-when-locked=true { spawn-sh "${scripts.brightness} up"; } + XF86MonBrightnessDown allow-when-locked=true { spawn-sh "${scripts.brightness} down"; } + ''} - ${lib.optionalString (!cfg.beeConfig.enable && cfg.noctalia) '' - Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "noctalia msg panel-toggle launcher"; } - Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "noctalia msg panel-toggle wallpaper"; } - Mod+V hotkey-overlay-title="Open clipboard panel" { spawn-sh "noctalia msg panel-toggle clipboard"; } - Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "noctalia msg settings-toggle"; } - Mod+S { spawn-sh "noctalia msg panel-toggle control-center"; } - Alt+F4 { spawn-sh "noctalia msg panel-toggle session"; } + ${lib.optionalString (!cfg.beeConfig.enable && cfg.noctalia) '' + Mod+A hotkey-overlay-title="Run an Application" { spawn-sh "noctalia msg panel-toggle launcher"; } + Mod+Y hotkey-overlay-title="Open wallpaper picker" { spawn-sh "noctalia msg panel-toggle wallpaper"; } + Mod+V hotkey-overlay-title="Open clipboard panel" { spawn-sh "noctalia msg panel-toggle clipboard"; } + Mod+Comma hotkey-overlay-title="Open Noctalia settings" { spawn-sh "noctalia msg settings-toggle"; } + Mod+S { spawn-sh "noctalia msg panel-toggle control-center"; } + Alt+F4 { spawn-sh "noctalia msg panel-toggle session"; } - XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; } - XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; } - XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; } - XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; } + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; } + XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; } - Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; } - Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; } + Mod+TouchpadScrollDown { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+"; } + Mod+TouchpadScrollUp { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02-"; } - XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; } - XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; } - ''} + XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; } + XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; } + ''} Mod+E hotkey-overlay-title="Open wallpaper picker" { spawn-sh "nautilus"; } Mod+B hotkey-overlay-title="Open wallpaper picker" { spawn-sh "librewolf"; } @@ -374,8 +407,8 @@ in // a matching layout switch hotkey configured in xkb options above. // Having both at once on the same hotkey will break the switching, // since it will switch twice upon pressing the hotkey (once by xkb, once by niri). - Mod+Shift+N { switch-layout "next"; } - Mod+Shift+P { switch-layout "prev"; } + Mod+Shift+N { switch-layout "next"; } + Mod+Shift+P { switch-layout "prev"; } Print { screenshot-screen; } Mod+Print { screenshot; } diff --git a/common/modules/window_managers/scripts.nix b/common/modules/window_managers/scripts.nix index 4a93928..fc7578c 100644 --- a/common/modules/window_managers/scripts.nix +++ b/common/modules/window_managers/scripts.nix @@ -1,7 +1,7 @@ { pkgs, config }: rec { - terminal = pkgs.writeShellScript "terminal" '' + terminal_with_tmux = pkgs.writeShellScript "terminal_with_tmux" '' TERM="${config.beeMods.terminal.default}" SESSION="_main" @@ -20,6 +20,14 @@ rec { fi fi ''; + defaultTerm = config.beeMods.terminal.default; + terminal = + if defaultTerm == "foot" then + "footclient" + else if defaultTerm == "ghostty" then + "ghostty +new-window || ghostty" + else + "alacritty msg create-window || alacritty"; dotfiles = pkgs.writeShellScriptBin "dotfiles" '' case "$1" in cd) diff --git a/common/programs/vesktop.nix b/common/programs/vesktop.nix index 31b7906..a8dbb4c 100644 --- a/common/programs/vesktop.nix +++ b/common/programs/vesktop.nix @@ -1,7 +1,7 @@ { config, ... }: { programs.vesktop = { - enable = false; + enable = true; vencord = { settings = { enabledThemes = diff --git a/hosts/common.nix b/hosts/common.nix index ce02ddc..36799fc 100644 --- a/hosts/common.nix +++ b/hosts/common.nix @@ -86,6 +86,7 @@ services.displayManager.ly = { enable = true; + x11Support = false; settings = { load = true; save = true; @@ -193,7 +194,7 @@ fonts.fontDir.enable = true; fonts.packages = with pkgs; [ - inputs.self.packages.${pkgs.system}.iosevka-input + inputs.self.packages.${pkgs.stdenv.hostPlatform.system}.iosevka-input nerd-fonts.symbols-only noto-fonts noto-fonts-cjk-sans-static diff --git a/hosts/niuwux/default.nix b/hosts/niuwux/default.nix index 4069532..796dc17 100644 --- a/hosts/niuwux/default.nix +++ b/hosts/niuwux/default.nix @@ -40,9 +40,11 @@ xdg.portal = lib.mkForce { enable = true; extraPortals = [ + pkgs.xdg-desktop-portal-gnome + ] + ++ lib.optionals config.beeMods.windowManagers.mango.enable [ pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr - pkgs.xdg-desktop-portal-gnome ]; config = { common = { @@ -56,10 +58,8 @@ "org.freedesktop.impl.portal.Inhibit" = [ "none" ]; }; niri = { - default = [ - "gnome" - "gtk" - ]; + default = [ "gnome" ]; + "org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ]; }; hyrpland = { default = [ @@ -105,13 +105,12 @@ networking.firewall.allowedTCPPorts = [ ]; networking.firewall.allowedUDPPorts = [ ]; networking.firewall.enable = true; + programs.direnv.enable = true; environment.systemPackages = with pkgs; [ - # libva-utils vulkan-tools pciutils - direnv - # mangohud + mangohud ]; services.xserver.videoDrivers = [ "nvidia" ]; diff --git a/users/beeb5k/default.nix b/users/beeb5k/default.nix index df36459..04f9e6d 100644 --- a/users/beeb5k/default.nix +++ b/users/beeb5k/default.nix @@ -23,13 +23,23 @@ windowManagers = { mango.enable = false; niri.enable = true; - eyeCandy.enable = false; + eyeCandy.enable = true; + eyeCandy = { + window = { + blur.enable = true; + blur.passes = 1; + blur.radius = 8; + opacity = 0.93; + borderRadius = 0; + }; + }; beeConfig.enable = false; noctalia = true; }; matugen.enable = true; terminal = { - foot = true; + default = "ghostty"; + ghostty = true; font.family = "IosevkaInput"; font.size = 11.0; }; diff --git a/users/common.nix b/users/common.nix index 001b75a..4affeca 100644 --- a/users/common.nix +++ b/users/common.nix @@ -57,8 +57,8 @@ in dotIcons.enable = true; hyprcursor.size = 24; hyprcursor.enable = true; - name = "Bibata-Modern-Ice"; - package = pkgs.bibata-cursors; + name = "miku-cursor"; + package = mikuCursor; }; dconf.settings = { |
