diff --git a/home-manager/features/desktop/dwm/.xinitrc b/home-manager/features/desktop/dwm/.xinitrc index db472ed..8a49e53 100755 --- a/home-manager/features/desktop/dwm/.xinitrc +++ b/home-manager/features/desktop/dwm/.xinitrc @@ -1,7 +1,7 @@ #!/bin/sh # screenlayout setup for odin -# bash main.sh +autorandr -c # start some nice programs # if [ -d /etc/X11/xinit/xinitrc.d ] ; then diff --git a/home-manager/features/desktop/dwm/black_to_transparent.frag b/home-manager/features/desktop/dwm/black_to_transparent.frag new file mode 100644 index 0000000..7760876 --- /dev/null +++ b/home-manager/features/desktop/dwm/black_to_transparent.frag @@ -0,0 +1,22 @@ +#version 330 +in vec2 texcoord; +uniform float opacity; +uniform bool invert_color; +uniform sampler2D tex; + +vec4 window_shader() { + vec4 c = texelFetch(tex, ivec2(texcoord), 0); + { + // Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color + vec4 vdiff = abs(vec4(0.0, 0.0, 0.0, 1.0) - c); + float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a); + // Change 0.8 to your desired opacity + if (diff < 0.001) + c *= 0; + } + if (invert_color) + c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a); + c *= opacity; + // vec4 default_post_processing(vec4 c); + return c; +} diff --git a/home-manager/features/desktop/dwm/default.nix b/home-manager/features/desktop/dwm/default.nix index c7cfeb4..0023c64 100644 --- a/home-manager/features/desktop/dwm/default.nix +++ b/home-manager/features/desktop/dwm/default.nix @@ -4,12 +4,15 @@ pkgs, ... }: { + imports = [ + ./picom.nix + ]; + home.packages = with pkgs; [ rofi dmenu st dunst - unstable.picom xss-lock flameshot xdg-desktop-portal-gtk @@ -18,12 +21,18 @@ xorg.xset xorg.xsetroot xorg.setxkbmap + xclip gnome.gnome-keyring feh gruvbox-dark-gtk kde-gruvbox gruvbox-dark-icons-gtk alsaUtils - ]; + + home.file = { + ".xinitrc" = { + source = ./.xinitrc; + }; + }; } diff --git a/home-manager/features/desktop/dwm/picom.nix b/home-manager/features/desktop/dwm/picom.nix new file mode 100644 index 0000000..e88f869 --- /dev/null +++ b/home-manager/features/desktop/dwm/picom.nix @@ -0,0 +1,46 @@ +{ + lib, + config, + pkgs, + ... +}: { + services.picom = { + enable = true; + package = pkgs.unstable.picom; + backend = "glx"; + + shadow = true; + shadowOpacity = 0.2; + shadowOffsets = [1 1]; + + shadowExclude = [ + "name = 'Notification'" + "class_g = 'Conky'" + "_GTK_FRAME_EXTENTS@:c" + "override_redirect = 1 && !WM_CLASS@:s" + "class_g ?= 'Dmenu'" + "class_g ?= 'Dunst'" + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" + "_GTK_FRAME_EXTENTS@:c" + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'" + "class_g ?= 'i3-frame'" + "class_g = 'Rofi'" + ]; + + fade = true; + fadeSteps = [0.08 0.05]; + + vSync = true; + + settings = { + corner-radius = 9; + blur = { + method = "dual_kawase"; + strength = 10; + background = false; + background-frame = false; + background-fixed = false; + }; + }; + }; +} diff --git a/hosts/common/packages.nix b/hosts/common/packages.nix index a230d31..9b32981 100644 --- a/hosts/common/packages.nix +++ b/hosts/common/packages.nix @@ -14,7 +14,6 @@ unstable.nh nix-output-monitor nvd - xorg.xrandr ]); fonts.packages = with pkgs; [ nerdfonts ]; diff --git a/hosts/zion/gui.nix b/hosts/zion/gui.nix index 94344fc..203bf69 100644 --- a/hosts/zion/gui.nix +++ b/hosts/zion/gui.nix @@ -58,4 +58,45 @@ } ]; }; + + environment.systemPackages = (with pkgs; [ + autorandr + xorg.xrandr + ]); + + + services.autorandr = { + enable = true; + defaultTarget = "zion"; + profiles = { + "zion" = { + fingerprint = { + HDMI-0 = "00ffffffffffff004c2db30a000000003416010380301b780a2621a65555a0280d5054bdef80714f81c0810081809500a9c0b3000101023a801871382d40582c4500dd0c1100001e662156aa51001e30468f3300dd0c1100001e000000fd00184b0f5117000a202020202020000000fc00543232433330300a202020202001dc020325f14d901f04130514031220212207162309070783010000e2000f67030c001000b82d011d007251d01e206e285500dd0c1100001e011d00bc52d01e20b8285540dd0c1100001e011d8018711c1620582c2500dd0c1100009e011d80d0721c1620102c2580dd0c1100009e000000000000000000000000000000000000ec"; + DP-2 = "00ffffffffffff000472c90672bb9004311e0104b53c22783f0c95ab554ca0240d5054bfef80714f8140818081c081009500b300d1c0565e00a0a0a029503020350055502100001a000000fd00304b70701e010a202020202020000000fc005647323730550a202020202020000000ff005445484545303034383532430a0146020318f14b010203040590111213141f23090707830100009774006ea0a034501720680855502100001a2a4480a0703827403020350055502100001a023a801871382d40582c450055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e0000000000000000000000000040"; + DP-0 = "00ffffffffffff000472c9064bbc9004311e0104b53c22783f0c95ab554ca0240d5054bfef80714f8140818081c081009500b300d1c0565e00a0a0a029503020350055502100001a000000fd00304b70701e010a202020202020000000fc005647323730550a202020202020000000ff005445484545303034383532430a016c020318f14b010203040590111213141f23090707830100009774006ea0a034501720680855502100001a2a4480a0703827403020350055502100001a023a801871382d40582c450055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e0000000000000000000000000040"; + }; + config = { + HDMI-0 = { + enable = true; + position = "0x360"; + mode = "1920x1080"; + rate = "60.00"; + }; + DP-2 = { + enable = true; + primary = true; + position = "1920x0"; + mode = "2560x1440"; + rate = "74.92"; + }; + DP-0 = { + enable = true; + position = "4480x0"; + mode = "2560x1440"; + rate = "74.92"; + }; + }; + }; + }; + }; }