diff options
Diffstat (limited to 'common')
| -rw-r--r-- | common/modules/mango/scripts.nix | 16 | ||||
| -rw-r--r-- | common/modules/x11/bspwm/default.nix | 2 | ||||
| -rw-r--r-- | common/modules/x11/default.nix | 98 | ||||
| -rw-r--r-- | common/modules/x11/dwm/default.nix | 3 |
4 files changed, 116 insertions, 3 deletions
diff --git a/common/modules/mango/scripts.nix b/common/modules/mango/scripts.nix index 4379313..d330211 100644 --- a/common/modules/mango/scripts.nix +++ b/common/modules/mango/scripts.nix @@ -216,9 +216,21 @@ let ;; "Night Light: "*) if [[ "$nl" == "on" ]]; then - set_val "nightlight" "off"; pkill wlsunset + set_val "nightlight" "off" + + if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then + pkill wlsunset + else + redshift -x + fi else - set_val "nightlight" "on"; wlsunset -T 4500 & + set_val "nightlight" "on" + + if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then + wlsunset -T 4500 & + else + redshift -O 4500 + fi fi ;; "Wallpaper") cmd_wall ;; diff --git a/common/modules/x11/bspwm/default.nix b/common/modules/x11/bspwm/default.nix index 711959a..62e7e63 100644 --- a/common/modules/x11/bspwm/default.nix +++ b/common/modules/x11/bspwm/default.nix @@ -2,6 +2,7 @@ homeManager, inputs, moduleNameSpace, + settings-persist, ... }: { @@ -119,6 +120,7 @@ in "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" "gnome-keyring-daemon --start --components=secrets,ssh,pkcs11" "xrandr --output eDP --set TearFree on" + "${settings-persist}" ]; }; diff --git a/common/modules/x11/default.nix b/common/modules/x11/default.nix index b619c9a..547d648 100644 --- a/common/modules/x11/default.nix +++ b/common/modules/x11/default.nix @@ -13,8 +13,94 @@ let cfg = config.${moduleNameSpace}.x11; args = { - inherit inputs homeManager moduleNameSpace; + inherit + inputs + homeManager + moduleNameSpace + settings-persist + ; }; + settings-persist = pkgs.writeShellScript "settings-persist" '' + SETTINGS_FILE="$HOME/.config/beeSettings" + + if [[ -f "$SETTINGS_FILE" ]]; then + IS_NIGHTMODE=$(${pkgs.ripgrep}/bin/rg "nightlight" "$SETTINGS_FILE" | cut -d"=" -f2) + + if [[ "$IS_NIGHTMODE" == "on" ]]; then + redshift -O 4500 + fi + fi + ''; + st-patched = + (pkgs.st.override { + extraLibs = [ pkgs.libXcursor ]; + }).overrideAttrs + (oldAttrs: rec { + patches = map pkgs.fetchpatch [ + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-0.9.2.diff"; + sha256 = "sha256-ZypvRONAHS//wnZjivmqpWIqZlKTqAQ0Q8DhQpZVaqU="; + } + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-0.9.2.diff"; + sha256 = "sha256-CuNJ5FdKmAtEjwbgKeBKPJTdEfJvIdmeSAphbz0u3Uk="; + } + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff"; + sha256 = "sha256-8oVLgbsYCfMhNEOGadb5DFajdDKPxwgf3P/4vOXfUFo="; + } + { + url = "https://st.suckless.org/patches/xresources/st-xresources-20230320-45a15676.diff"; + sha256 = "sha256-WcL9IeyanXFiOFDGGRU0QNT8DU7wSo2o+3n+TaqASUY="; + } + { + url = "https://st.suckless.org/patches/vertcenter/st-vertcenter-20231003-eb3b894.diff"; + sha256 = "sha256-RbFNdGNi5HLAp1s8QOX3qsfxpkLcp1p/vksyZORN/uc="; + } + { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + hash = "sha256-yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + } + { + url = "https://st.suckless.org/patches/csi_22_23/st-csi_22_23-0.8.5.diff"; + hash = "sha256-+izEkGVkLCbhZNBD2WN4uX5j+YMmou7JaMVmPG0mrYk="; + } + { + url = "https://st.suckless.org/patches/sync/st-appsync-20200618-b27a383.diff"; + sha256 = "sha256-lys7/nup7a+GcmW+CutX0kjmbbOis2stkuhw02beuPs="; + } + { + url = "https://st.suckless.org/patches/fix_keyboard_input/st-fix-keyboard-input-20180605-dc3b5ba.diff"; + sha256 = "sha256-h5ZrCj4IrkMQanLSMmgXaRd7qZYqvbzqUnuFt/axsMI="; + } + { + url = "https://st.suckless.org/patches/boxdraw/st-boxdraw_v2-0.8.5.diff"; + sha256 = "sha256-WN/R6dPuw1eviHOvVVBw2VBSMDtfi1LCkXyX36EJKi4="; + } + # { + # url = "https://st.suckless.org/patches/themed_cursor/st-themed_cursor-0.8.1.diff"; + # sha256 = "sha256-Q/6VN9oCrdJiZPPjKMpw3UB09tIs4eJ1Hi5c8k7O7uo="; + # } + ]; + + postPatch = oldAttrs.postPatch or "" + '' + sed -i 's/Button4, *kscrollup, *{.i = 1}/Button4, kscrollup, {.i = 10}/g' config.def.h + sed -i 's/Button5, *kscrolldown, *{.i = 1}/Button5, kscrolldown, {.i = 10}/g' config.def.h + + sed -i 's/const int boxdraw = 0;/const int boxdraw = 1;/g' config.def.h + sed -i 's/const int boxdraw_bold = 0;/const int boxdraw_bold = 1;/g' config.def.h + + grep -q Xcursor x.c || sed -i '/#include <X11\/XKBlib.h>/a #include <X11/Xcursor/Xcursor.h>' x.c + + sed -i 's/XCreateFontCursor/XcursorLibraryLoadCursor/g' x.c + + sed -i 's/static unsigned int mouseshape/static char *mouseshape/' config.def.h + sed -i 's/XC_xterm/"ibeam"/' config.def.h + + sed -i 's/-lXft/-lXft -lXcursor/g' config.mk + ''; + }); + in { imports = [ @@ -79,6 +165,16 @@ in } else { + home.packages = with pkgs; [ + st-patched + feh + maim + slop + xdotool + xclip + redshift + ]; + services.clipcat = { enable = true; daemonSettings = { diff --git a/common/modules/x11/dwm/default.nix b/common/modules/x11/dwm/default.nix index 8444c7f..fc943ef 100644 --- a/common/modules/x11/dwm/default.nix +++ b/common/modules/x11/dwm/default.nix @@ -2,6 +2,7 @@ homeManager, inputs, moduleNameSpace, + settings-persist, ... }: { @@ -58,6 +59,8 @@ in ${lib.optionalString (config.beeMods.mango.enable) '' systemctl --user stop swayidle.service ''} + + ${settings-persist} ''; }; } |
