nixconf/modules/features/layers/cursors.nix
2026-03-28 18:35:54 -05:00

49 lines
1.4 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
'';
};
});
};
};
};
}