forked from aylac.top/nixcfg
this repo has no description

added notification system for atproto

aylac.top 1809aa3a 1f6d4e2f

verified
Changed files
+55 -3
hosts
modules
flake
nixos
services
atproto-basic-notifications
+24 -3
flake.lock
···
"type": "github"
}
},
"aylapkgs": {
"inputs": {
"nixpkgs": [
···
"inputs": {
"actions-nix": "actions-nix",
"agenix": "agenix",
"aylapkgs": "aylapkgs",
"copyparty": "copyparty",
"disko": "disko",
···
"secrets": {
"flake": false,
"locked": {
-
"lastModified": 1757008448,
-
"narHash": "sha256-VJT0UpykwNz8P9xMbC+8CZxEXz+9badjrcXh20UIMbE=",
"owner": "ayla6",
"repo": "secrets",
-
"rev": "4b5ce5c5863e7b421e6a300a2be417e872ebf19f",
"type": "github"
},
"original": {
···
"type": "github"
}
},
+
"atproto-basic-notifications": {
+
"inputs": {
+
"nixpkgs": [
+
"nixpkgs"
+
]
+
},
+
"locked": {
+
"lastModified": 1757472523,
+
"narHash": "sha256-RKbdgbaP1ELTe8gZi7xOb/qw8gu/fY+megIKkNQ2a+Q=",
+
"owner": "ayla6",
+
"repo": "atproto-basic-notifications",
+
"rev": "54f8f393ebf6cd85f4c137de81167fe173d93b36",
+
"type": "github"
+
},
+
"original": {
+
"owner": "ayla6",
+
"repo": "atproto-basic-notifications",
+
"type": "github"
+
}
+
},
"aylapkgs": {
"inputs": {
"nixpkgs": [
···
"inputs": {
"actions-nix": "actions-nix",
"agenix": "agenix",
+
"atproto-basic-notifications": "atproto-basic-notifications",
"aylapkgs": "aylapkgs",
"copyparty": "copyparty",
"disko": "disko",
···
"secrets": {
"flake": false,
"locked": {
+
"lastModified": 1757473092,
+
"narHash": "sha256-VC5Qwpt39QjOI8y59y92D5JA4xkoT7sYj6eSPxa7iUM=",
"owner": "ayla6",
"repo": "secrets",
+
"rev": "4dddc309e111310c43c170ddadd195c93c536466",
"type": "github"
},
"original": {
+5
flake.nix
···
inputs.nixpkgs.follows = "nixpkgs";
};
aylapkgs = {
url = "github:ayla6/pkgs";
inputs.nixpkgs.follows = "nixpkgs";
···
inputs.nixpkgs.follows = "nixpkgs";
};
+
atproto-basic-notifications = {
+
url = "github:ayla6/atproto-basic-notifications";
+
inputs.nixpkgs.follows = "nixpkgs";
+
};
+
aylapkgs = {
url = "github:ayla6/pkgs";
inputs.nixpkgs.follows = "nixpkgs";
+1
hosts/jezebel/default.nix
···
};
};
services = {
caddy.enable = true;
dnsmasq.enable = true;
tailscale = {
···
};
};
services = {
+
atproto-basic-notifications.enable = true;
caddy.enable = true;
dnsmasq.enable = true;
tailscale = {
+1
hosts/jezebel/secrets.nix
···
resticPassword.file = "${self.inputs.secrets}/restic-passwd.age";
rclone.file = "${self.inputs.secrets}/rclone.age";
ntfyAuto.file = "${self.inputs.secrets}/ntfyAuto.age";
};
}
···
resticPassword.file = "${self.inputs.secrets}/restic-passwd.age";
rclone.file = "${self.inputs.secrets}/rclone.age";
ntfyAuto.file = "${self.inputs.secrets}/ntfyAuto.age";
+
atp-notif.file = "${self.inputs.secrets}/atproto-notif.age";
};
}
+1
modules/flake/nixos.nix
···
modules = [
../../hosts/${host}
inputs.agenix.nixosModules.default
inputs.copyparty.nixosModules.default
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
···
modules = [
../../hosts/${host}
inputs.agenix.nixosModules.default
+
inputs.atproto-basic-notifications.nixosModules.default
inputs.copyparty.nixosModules.default
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
+22
modules/nixos/services/atproto-basic-notifications/default.nix
···
···
+
{
+
config,
+
lib,
+
...
+
}: let
+
name = "atproto-basic-notifications";
+
cfg = config.myNixOS.services.${name};
+
in {
+
options.myNixOS.services.${name} = {
+
enable = lib.mkEnableOption "${name}";
+
};
+
+
config = lib.mkIf cfg.enable {
+
services.atproto-basic-notifications = {
+
enable = true;
+
environmentFiles = [config.age.secrets.atp-notif.path];
+
settings = {
+
TARGET_DID = "did:plc:3c6vkaq7xf5kz3va3muptjh5";
+
};
+
};
+
};
+
}
+1
modules/nixos/services/default.nix
···
{...}: {
imports = [
./audiobookshelf
./aria2
./couchdb
···
{...}: {
imports = [
+
./atproto-basic-notifications
./audiobookshelf
./aria2
./couchdb