nixos-config/home-manager/profiles/darkman/default.nix

41 lines
955 B
Nix

{
config,
pkgs,
lib,
...
}:
let
defaultMode = pkgs.writeText "darkman-default-mode" "light";
in
{
services.darkman.enable = true;
preservation.preserveAt."/persist".directories = [ ".cache/darkman" ];
systemd.user.tmpfiles.rules = [
"C %h/.cache/darkman/mode.txt - - - - ${defaultMode}"
"z %h/.cache/darkman/mode.txt 644 - - -"
];
home.packages = with pkgs; [
(writeShellApplication {
name = "toggle-theme";
runtimeInputs = lib.singleton config.services.darkman.package;
text = ''
darkman toggle
'';
})
];
home.activation.restartDarkman = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
if ${config.systemd.user.systemctlPath} --user is-active darkman; then
${config.systemd.user.systemctlPath} --user restart darkman
fi
'';
systemd.user.services.darkman.Unit = {
After = [ "graphical-session.target" ];
Requisite = [ "graphical-session.target" ];
};
}