61 lines
1.4 KiB
Nix
61 lines
1.4 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";
|
|
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 = "${home_dir}/.nix/users/blake/assets/icons/cursors/posy_dark";
|
|
# recursive = true;
|
|
# };
|
|
# xdg.dataFile."icons/posy_dark_hypr" = {
|
|
# source = "${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;
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
};
|
|
}
|