summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/modules/mango/scripts.nix16
-rw-r--r--common/modules/x11/bspwm/default.nix2
-rw-r--r--common/modules/x11/default.nix98
-rw-r--r--common/modules/x11/dwm/default.nix3
-rw-r--r--flake.lock8
-rw-r--r--users/common.nix23
6 files changed, 140 insertions, 10 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}
'';
};
}
diff --git a/flake.lock b/flake.lock
index 0eff539..70e530c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -306,11 +306,11 @@
]
},
"locked": {
- "lastModified": 1775406579,
- "narHash": "sha256-YGWNg4tPaNLNseHrCZQTHQOLYN+RVv8sErUso2DDDn0=",
+ "lastModified": 1775412095,
+ "narHash": "sha256-0snf6ekUlv2hUFUzsF/smmfnNoG0ned/Bu8UvXdfiPY=",
"ref": "refs/heads/main",
- "rev": "4516a3335501d1f832e808eeb5ba2c8ff879500b",
- "revCount": 9,
+ "rev": "cd14d2ce39c8a48b92e07aca3e99a21c06b5968a",
+ "revCount": 11,
"type": "git",
"url": "https://codeberg.org/brustybee/mydwm"
},
diff --git a/users/common.nix b/users/common.nix
index a3cda21..2390e7f 100644
--- a/users/common.nix
+++ b/users/common.nix
@@ -3,6 +3,23 @@
config,
...
}:
+let
+ mikuCursor = pkgs.stdenv.mkDerivation {
+ pname = "miku-cursor";
+ version = "1.0";
+ src = pkgs.fetchgit {
+ url = "https://github.com/supermariofps/hatsune-miku-windows-linux-cursors.git";
+ rev = "471ff88";
+ hash = "sha256-HCHo4GwWLvjjnKWNiHb156Z+NQqliqLX1T1qNxMEMfE=";
+ };
+ unpackPhase = "true";
+
+ installPhase = ''
+ mkdir -p $out/share/icons
+ cp -r $src/miku-cursor-linux $out/share/icons/miku-cursor
+ '';
+ };
+in
{
programs.git = {
enable = true;
@@ -21,15 +38,15 @@
};
home.pointerCursor = {
- size = 16;
+ size = 36;
enable = true;
x11.enable = true;
gtk.enable = true;
hyprcursor.size = 16;
dotIcons.enable = true;
hyprcursor.enable = true;
- name = "material_light_cursors";
- package = pkgs.material-cursors;
+ name = "miku-cursor";
+ package = mikuCursor;
};
dconf.settings = {