Files
nixos-config/home/common/programs/desktop/darkman.nix
T
Miguel Palhas 8efd0a1139
CI / lint (push) Successful in 30s
CI / eval (push) Successful in 1m56s
feat: give yolo a distinct amber cursor
yolo's desktop is only ever seen through a Moonlight window, so its cursor
needs to be tellable apart from the client's at a glance. Bibata-Modern-Amber
differs in both colour and silhouette from Nordzy.

Threads the theme through an option rather than setting it in one place: it
was hardcoded in cursor.nix, in hl.env, in the setcursor autostart, and twice
more in darkman's mode scripts, which re-set it on every light/dark switch and
would have reverted the override.

Also drops a stale hl.env pointing HYPRCURSOR_THEME at rose-pine-hyprcursor,
which no host installs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-18 16:06:01 +01:00

64 lines
1.8 KiB
Nix

{ pkgs, config, ... }:
let
inherit (config.custom.hyprland) cursorTheme cursorSize;
in
{
home.packages = with pkgs; [
dconf
];
services.darkman = {
enable = true;
darkModeScripts = {
gtk-theme = ''
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/color-scheme "'prefer-dark'"
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/gtk-theme "'Orchis-Dark-Compact'"
'';
cursor-theme = ''
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/cursor-theme "'${cursorTheme.dark}'"
# Set environment variables for current session
export HYPRCURSOR_THEME="${cursorTheme.dark}"
export XCURSOR_THEME="${cursorTheme.dark}"
# Update Hyprland cursor theme
${pkgs.hyprland}/bin/hyprctl setcursor ${cursorTheme.dark} ${toString cursorSize}
'';
noctalia-theme = ''
noctalia msg theme-mode-set dark
'';
};
lightModeScripts = {
gtk-theme = ''
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/color-scheme "'prefer-light'"
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/gtk-theme "'Orchis-Compact'"
'';
cursor-theme = ''
${pkgs.dconf}/bin/dconf write \
/org/gnome/desktop/interface/cursor-theme "'${cursorTheme.light}'"
# Set environment variables for current session
export HYPRCURSOR_THEME="${cursorTheme.light}"
export XCURSOR_THEME="${cursorTheme.light}"
# Update Hyprland cursor theme
${pkgs.hyprland}/bin/hyprctl setcursor ${cursorTheme.light} ${toString cursorSize}
'';
noctalia-theme = ''
noctalia msg theme-mode-set light
'';
};
};
xdg.configFile."darkman/config.yaml".text = ''
lat: 41.55
lng: -8.42
dbusserver: true
'';
}