nix-system/bin/dark.nix

46 lines
1.4 KiB
Nix
Executable file

{ pkgs, ... } :
pkgs.writers.writeFish "dark" ''
if test -e $XDG_STATE_HOME/darkmode
rm $XDG_STATE_HOME/darkmode
set LIGHT 1
else
echo > $XDG_STATE_HOME/darkmode
set LIGHT 0
end
if test $LIGHT = 1;
${pkgs.libnotify}/bin/notify-send "Light mode"
rm -f ~/.config/kitty/colors.conf
ln -rs ~/.config/kitty/light.conf ~/.config/kitty/colors.conf
kill -SIGUSR1 $(pgrep kitty) # reload kitty config
kill -SIGUSR1 $(pgrep st) # reload st config
rm -f ~/.local/share/bg/*
ln -rs ~/.local/share/bg-light.* ~/.local/share/bg/
${pkgs.hyprland}/bin/hyprctl reload
rm -f ~/.config/rofi/colors-current.rasi
ln -rs ~/.config/rofi/colors-light.rasi ~/.config/rofi/colors-current.rasi
${pkgs.dconf}/bin/dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'"
else
${pkgs.libnotify}/bin/notify-send "Dark mode"
rm -f ~/.config/kitty/colors.conf
ln -rs ~/.config/kitty/dark.conf ~/.config/kitty/colors.conf
kill -SIGUSR1 $(pgrep kitty) # reload kitty config
kill -SIGUSR1 $(pgrep st) # reload st config
rm -f ~/.local/share/bg/*
ln -rs ~/.local/share/bg-dark.* ~/.local/share/bg/
${pkgs.hyprland}/bin/hyprctl reload
rm -f ~/.config/rofi/colors-current.rasi
ln -rs ~/.config/rofi/colors-dark.rasi ~/.config/rofi/colors-current.rasi
${pkgs.dconf}/bin/dconf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'"
end
''