Files
nix/users/blake/dots/desktop/cursor/default.nix
2025-11-06 22:42:07 -06:00

68 lines
1.7 KiB
Nix

{
pkgs,
lib,
config,
...
}: let
program = "cursor";
cfg = config.dots.${program};
home_dir = config.home.homeDirectory;
in {
options.dots.${program} = {
enable = lib.mkEnableOption "enables ${program}";
cursor = lib.mkOption {
type = lib.types.str;
#default = "Posy_Cursor_Black";
default = "posy_dark";
description = "cursor to use";
};
cursor_hypr = lib.mkOption {
type = lib.types.str;
#default = "Posy_Cursor_Black";
default = "posy_dark";
description = "cursor to use";
};
size = lib.mkOption {
type = lib.types.int;
default = 64;
description = "cursor size to use";
};
};
config = lib.mkIf cfg.enable {
# shelving for now lmao
xdg.dataFile."icons/posy_dark" = {
#config.lib.file.mkOutOfStoreSymlink
source = config.lib.file.mkOutOfStoreSymlink "${home_dir}/.nix/users/blake/assets/icons/cursors/posy_dark";
recursive = true;
};
xdg.dataFile."icons/posy_dark_hypr" = {
source = config.lib.file.mkOutOfStoreSymlink "${home_dir}/.nix/users/blake/assets/icons/cursors/posy_dark_hypr";
recursive = true;
};
home.sessionVariables = {
XCURSOR_SIZE = cfg.size;
XCURSOR_THEME = cfg.cursor;
HYPRCURSOR_SIZE = cfg.size;
HYPRCURSOR_THEME = cfg.cursor_hypr;
};
# home.pointerCursor = {
# dotIcons.enable = false;
# enable = true;
# gtk.enable = true;
# x11.enable = true;
# package = pkgs.posy-cursors;
# name = cfg.cursor;
# size = 64;
# hyprcursor = {
# enable = true;
# size = 64;
# };
# };
};
}