48 lines
1.1 KiB
Nix
Executable file
48 lines
1.1 KiB
Nix
Executable file
{
|
|
self,
|
|
config,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}:
|
|
let
|
|
serverCfg = self.nixosConfigurations.dn-server.config;
|
|
inherit (config.systemConf) username;
|
|
ntfyWrapper = import ../../../../home/scripts/ntfy.nix { inherit config pkgs lib; };
|
|
in
|
|
{
|
|
sops.secrets."ntfy" = {
|
|
owner = username;
|
|
sopsFile = ../../public/sops/dn-secret.yaml;
|
|
mode = "0600";
|
|
};
|
|
|
|
home-manager.users."${username}" = {
|
|
home.packages = [
|
|
ntfyWrapper
|
|
];
|
|
|
|
services.ntfy-client =
|
|
let
|
|
icon = builtins.fetchurl {
|
|
url = "https://docs.ntfy.sh/static/img/ntfy.png";
|
|
sha256 = "sha256:0igypv27phrhgiccvnrcvi543yz8k8rvsxkn4nha2l3xx92yx6r5";
|
|
};
|
|
in
|
|
{
|
|
enable = true;
|
|
settings = {
|
|
default-host = serverCfg.services.ntfy-sh.settings.base-url;
|
|
subscribe = [
|
|
{
|
|
topic = "public-notifications";
|
|
command = ''
|
|
notify-send -i ${icon} "[$topic] $title" "$message"
|
|
'';
|
|
}
|
|
];
|
|
};
|
|
environmentFile = config.sops.secrets."ntfy".path;
|
|
};
|
|
};
|
|
}
|