nixconf/modules/features/layers/cursors.nix
2026-03-26 22:55:57 -05:00

41 lines
1.3 KiB
Nix

{ self, inputs, ... }: {
flake.nixosModules.cursors = { pkgs, lib, config, ... }: {
options.cursor-users = lib.mkOption {
type = lib.types.listOf lib.types.str;
default = [];
description = "List of users to configure cursors for";
};
config = {
# Install cursor packages system-wide
environment.systemPackages = with pkgs; [
bibata-cursors
];
# Set up XDG data directories for cursor themes
environment.pathsToLink = [ "/share/icons" ];
# Configure hjem for specified users - set cursor theme in user config
hjem = lib.mkIf (config.cursor-users != []) {
users = lib.genAttrs config.cursor-users (username: {
enable = true;
files = {
# GTK cursor settings
".config/gtk-3.0/settings.ini".text = ''
[Settings]
gtk-cursor-theme-name=Bibata-Modern-Ice
gtk-cursor-theme-size=24
'';
# X11/Wayland cursor environment
".config/environment.d/cursor.conf".text = ''
XCURSOR_THEME=Bibata-Modern-Ice
XCURSOR_SIZE=24
HYPRCURSOR_THEME=Bibata-Modern-Ice
HYPRCURSOR_SIZE=24
'';
};
});
};
};
};
}