diff options
| author | brustybee <beebeeb5k@gmail.com> | 2026-04-03 18:17:46 +0530 |
|---|---|---|
| committer | brustybee <beebeeb5k@gmail.com> | 2026-04-03 18:17:46 +0530 |
| commit | f8223622fed02aef1075d41e4dba090df81bf6c1 (patch) | |
| tree | dcff61f6f82dd6be4a8f31ab284e0fd41b53d9ad /common/modules | |
| parent | a4a87bd11e228a2a57bfedd48d3594371cf40329 (diff) | |
YEP.
Diffstat (limited to 'common/modules')
| -rw-r--r-- | common/modules/default.nix | 3 | ||||
| -rw-r--r-- | common/modules/dwm/picom.nix | 60 | ||||
| -rw-r--r-- | common/modules/mango/default.nix | 4 | ||||
| -rw-r--r-- | common/modules/matugen/default.nix | 7 | ||||
| -rw-r--r-- | common/modules/x11/bspwm/default.nix (renamed from common/modules/bspwm/default.nix) | 6 | ||||
| -rw-r--r-- | common/modules/x11/default.nix (renamed from common/modules/dwm/default.nix) | 52 | ||||
| -rw-r--r-- | common/modules/x11/dwm/default.nix | 65 | ||||
| -rw-r--r-- | common/modules/x11/picom.nix | 63 |
8 files changed, 148 insertions, 112 deletions
diff --git a/common/modules/default.nix b/common/modules/default.nix index bd9b4d6..d093757 100644 --- a/common/modules/default.nix +++ b/common/modules/default.nix @@ -10,8 +10,7 @@ let }; modules = { mango = import ./mango args; - dwm = import ./dwm args; - bspwm = import ./bspwm args; + x11 = import ./x11 args; terminal = import ./terminal args; beevim = import ./beevim args; matugen = import ./matugen args; diff --git a/common/modules/dwm/picom.nix b/common/modules/dwm/picom.nix deleted file mode 100644 index b338df8..0000000 --- a/common/modules/dwm/picom.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ config, lib, ... }: -let - cfg = config.beeMods.dwm.picom; -in -{ - config = lib.mkIf cfg.enable { - services.picom = { - enable = true; - backend = "glx"; - vSync = true; - - activeOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.active; - inactiveOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.inactive; - - opacityRules = [ - "100:fullscreen" - "100:_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" - ]; - settings = { - blur = { - method = "dual_kawase"; - strength = cfg.window.blur.strength; - size = cfg.window.blur.size; - }; - blur-background = cfg.window.blur.enable; - blur-background-exclude = [ - "window_type = 'dock'" - "window_type = 'desktop'" - "class_g = 'slop'" - "class_g = 'dwm'" - "_GTK_FRAME_EXTENTS@" - "fullscreen" - "_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" - ]; - - # xrender-sync-fence = true; - use-damage = true; - - unredir-if-possible = true; - - detect-transient = true; - detect-client-opacity = true; - mark-wmwin-focused = true; - mark-ovredir-focused = true; - detect-rounded-corners = true; - - shadow = cfg.shadow; - fading = false; - animations = cfg.animations; - }; - }; - - # systemd.user.services.picom.Install.wantedBy = lib.mkForce [ ]; - systemd.user.services.picom = { - Unit = { - ConditionEnvironment = "XDG_SESSION_TYPE=x11"; - }; - }; - }; -} diff --git a/common/modules/mango/default.nix b/common/modules/mango/default.nix index ec675aa..9ab5fc4 100644 --- a/common/modules/mango/default.nix +++ b/common/modules/mango/default.nix @@ -412,14 +412,14 @@ in awww-daemon -q & ${settings-persist} - ${lib.optionalString (config.beeMods.dwm.enable) '' + ${lib.optionalString (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) '' systemctl --user stop xidlehook.service systemctl --user stop xautolock-session.service systemctl --user stop xss-lock.service systemctl --user stop clipcat.service ''} - ${lib.optionalString (config.beeMods.dwm.picom.enable) '' + ${lib.optionalString (config.beeMods.x11.picom.enable) '' systemctl --user stop picom.service ''} ''; diff --git a/common/modules/matugen/default.nix b/common/modules/matugen/default.nix index de39a06..a9aaaae 100644 --- a/common/modules/matugen/default.nix +++ b/common/modules/matugen/default.nix @@ -59,7 +59,7 @@ in template = "userChrome.css"; target = "~/.cache/wallust/userChrome.css"; }; - xresources = lib.mkIf config.beeMods.dwm.enable { + xresources = lib.mkIf (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) { template = "colors-xresources"; target = "~/.config/x11/matugen.Xresources"; }; @@ -132,13 +132,12 @@ in output_path = '~/.config/yazi/theme.toml' ''} - ${lib.optionalString config.beeMods.dwm.enable '' + ${lib.optionalString (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) '' [templates.Xresources] input_path = "~/.config/matugen/templates/colors-xresources" output_path = "~/.config/wallust/templates/colors-xresources" ''} - ${lib.optionalString config.programs.vesktop.enable '' [templates.vesktop] input_path = "~/.config/matugen/templates/vesktop.css" @@ -191,7 +190,7 @@ in '' } - ${lib.optionalString config.beeMods.bspwm.enable '' + ${lib.optionalString config.beeMods.x11.bspwm.enable '' [templates.bspwm] input_path = "~/.config/matugen/templates/bspwm-colors" output_path = "~/.config/bspwm/colors" diff --git a/common/modules/bspwm/default.nix b/common/modules/x11/bspwm/default.nix index e001c5d..8072fe2 100644 --- a/common/modules/bspwm/default.nix +++ b/common/modules/x11/bspwm/default.nix @@ -11,7 +11,7 @@ ... }: let - cfg = config.${moduleNameSpace}.bspwm; + cfg = config.${moduleNameSpace}.x11.bspwm; snip = pkgs.writeShellScript "snip" '' case $1 in full) @@ -40,7 +40,7 @@ let "st"; in { - options.${moduleNameSpace}.bspwm = { + options.${moduleNameSpace}.x11.bspwm = { enable = lib.mkEnableOption "bspwm setup"; }; @@ -106,7 +106,7 @@ in focus_follows_pointer = true; }; - extraConfig = '' + extraConfig = lib.optionalString config.beeMods.matugen.enable '' [ -f ~/.config/bspwm/colors ] && . ~/.config/bspwm/colors ''; diff --git a/common/modules/dwm/default.nix b/common/modules/x11/default.nix index 8141dbf..b619c9a 100644 --- a/common/modules/dwm/default.nix +++ b/common/modules/x11/default.nix @@ -11,13 +11,19 @@ ... }: let - cfg = config.${moduleNameSpace}.dwm; + cfg = config.${moduleNameSpace}.x11; + args = { + inherit inputs homeManager moduleNameSpace; + }; in { - imports = lib.optionals homeManager [ ./picom.nix ]; + imports = [ + (import ./bspwm args) + (import ./dwm args) + (import ./picom.nix homeManager) + ]; - options.${moduleNameSpace}.dwm = { - enable = lib.mkEnableOption "dwm setup"; + options.${moduleNameSpace}.x11 = { picom = { enable = lib.mkEnableOption "enable picom compositor"; animations = lib.mkEnableOption "enable animations"; @@ -48,7 +54,7 @@ in }; }; - config = lib.mkIf cfg.enable ( + config = lib.mkIf (cfg.dwm.enable || cfg.bspwm.enable) ( if !homeManager then { services.xserver = { @@ -60,14 +66,9 @@ in ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY XAUTHORITY XDG_SESSION_TYPE ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY XAUTHORITY XDG_SESSION_TYPE ''; - windowManager.dwm = { - enable = true; - package = inputs.mydwm.packages.${pkgs.stdenv.hostPlatform.system}.default; - }; }; programs.ssh.askPassword = ""; - security.pam.services.betterlockscreen = { }; security.pam.services.i3lock = { }; @@ -78,37 +79,6 @@ in } else { - xdg.dataFile."dwm/autostart.sh" = { - executable = true; - text = '' - #!${pkgs.bash}/bin/bash - - gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & - ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & - - feh --no-fehbg --bg-fill "$(rg wallpaper ~/.config/beeSettings | cut -d"=" -f2)" - [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources - - dunst & - clipcatd & - slstatus & - ${lib.optionalString (!cfg.picom.enable) '' - xrandr --output eDP --set TearFree on - ''} - ${lib.optionalString (cfg.picom.enable) '' - systemctl --user restart picom.service - ''} - - systemctl --user restart xidlehook.service xautolock-session.service xss-lock.service clipcat.service - ${lib.optionalString (config.beeMods.mango.waybar) '' - systemctl --user stop waybar.service - ''} - ${lib.optionalString (config.beeMods.mango.enable) '' - systemctl --user stop swayidle.service - ''} - ''; - }; - services.clipcat = { enable = true; daemonSettings = { diff --git a/common/modules/x11/dwm/default.nix b/common/modules/x11/dwm/default.nix new file mode 100644 index 0000000..8444c7f --- /dev/null +++ b/common/modules/x11/dwm/default.nix @@ -0,0 +1,65 @@ +{ + homeManager, + inputs, + moduleNameSpace, + ... +}: +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.${moduleNameSpace}.x11.dwm; +in +{ + options.${moduleNameSpace}.x11.dwm = { + enable = lib.mkEnableOption "dwm setup"; + }; + + config = lib.mkIf cfg.enable ( + if !homeManager then + { + services.xserver = { + windowManager.dwm = { + enable = true; + package = inputs.mydwm.packages.${pkgs.stdenv.hostPlatform.system}.default; + }; + }; + } + else + { + xdg.dataFile."dwm/autostart.sh" = { + executable = true; + text = '' + #!${pkgs.bash}/bin/bash + + gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & + ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & + + feh --no-fehbg --bg-fill "$(rg wallpaper ~/.config/beeSettings | cut -d"=" -f2)" + [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources + + dunst & + clipcatd & + slstatus & + ${lib.optionalString (!config.beeMods.x11.picom.enable) '' + xrandr --output eDP --set TearFree on + ''} + ${lib.optionalString (config.beeMods.x11.picom.enable) '' + systemctl --user restart picom.service + ''} + + systemctl --user restart xidlehook.service xautolock-session.service xss-lock.service clipcat.service + ${lib.optionalString (config.beeMods.mango.waybar) '' + systemctl --user stop waybar.service + ''} + ${lib.optionalString (config.beeMods.mango.enable) '' + systemctl --user stop swayidle.service + ''} + ''; + }; + } + ); +} diff --git a/common/modules/x11/picom.nix b/common/modules/x11/picom.nix new file mode 100644 index 0000000..c1683eb --- /dev/null +++ b/common/modules/x11/picom.nix @@ -0,0 +1,63 @@ +homeManager: +{ config, lib, ... }: +let + cfg = config.beeMods.x11.picom; +in +{ + config = lib.mkIf cfg.enable ( + lib.optionalAttrs homeManager { + services.picom = { + enable = true; + backend = "glx"; + vSync = true; + + activeOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.active; + inactiveOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.inactive; + + opacityRules = [ + "100:fullscreen" + "100:_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" + ]; + settings = { + blur = { + method = "dual_kawase"; + strength = cfg.window.blur.strength; + size = cfg.window.blur.size; + }; + blur-background = cfg.window.blur.enable; + blur-background-exclude = [ + "window_type = 'dock'" + "window_type = 'desktop'" + "class_g = 'slop'" + "class_g = 'dwm'" + "_GTK_FRAME_EXTENTS@" + "fullscreen" + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" + ]; + + # xrender-sync-fence = true; + use-damage = true; + + unredir-if-possible = true; + + detect-transient = true; + detect-client-opacity = true; + mark-wmwin-focused = true; + mark-ovredir-focused = true; + detect-rounded-corners = true; + + shadow = cfg.shadow; + fading = false; + animations = cfg.animations; + }; + }; + + # systemd.user.services.picom.Install.wantedBy = lib.mkForce [ ]; + systemd.user.services.picom = { + Unit = { + ConditionEnvironment = "XDG_SESSION_TYPE=x11"; + }; + }; + } + ); +} |
