From f5b78ff561eff75c803ed1ef6e736a6c991cd135 Mon Sep 17 00:00:00 2001 From: brustybee Date: Sun, 5 Apr 2026 23:32:45 +0530 Subject: idk - add miku cursor - nightlight support on xorg - bring back st and xorg tools back in this repo - add themed_cursor patch st ( kinda manully ) --- common/modules/x11/default.nix | 98 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 1 deletion(-) (limited to 'common/modules/x11/default.nix') 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 /a #include ' 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 = { -- cgit v1.3.1