diff --git a/common/fragments/frq-friend.nix b/common/fragments/frq-friend.nix new file mode 100644 index 0000000..529b895 --- /dev/null +++ b/common/fragments/frq-friend.nix @@ -0,0 +1,30 @@ +{ pkgs, config, ... }: +let + config = pkgs.writeText "config.kdl" '' + status-text "hi there! i like to know people following me on here + + - what's something you enjoy doing? + - what's your stance on the Hellfire AGM-114R9X Knife Missile? + - what's your opinion on the current \"AI revolution\"? + - have you read my bio?" + with-cw "automated follow request pm" + ''; + path = "/var/lib/frq-friend"; +in { + systemd.services.frq-friend = { + wantedBy = [ "multi-user.target" ]; + description = + "just a friend that messages people who send you a follow request"; + after = [ "network.target" ]; + + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.frq-friend}/bin/f3"; + WorkingDirectory = path; + Restart = "always"; + }; + preStart = '' + ln -sf ${config} ${path}/config.kdl + ''; + }; +} diff --git a/flake.lock b/flake.lock index 5b95879..3462f8d 100644 --- a/flake.lock +++ b/flake.lock @@ -204,10 +204,30 @@ "type": "github" } }, + "frq-friend": { + "inputs": { + "naersk": "naersk_2", + "nixpkgs": "nixpkgs_4", + "utils": "utils_2" + }, + "locked": { + "lastModified": 1681375313, + "narHash": "sha256-o8P8Bqdqkdy3/B6woNJZjKbVHLb8+KrlGzit4HiHBkg=", + "ref": "refs/heads/main", + "rev": "09609cf6daaf9e0cb9a82621cc11691e8c8ef468", + "revCount": 3, + "type": "git", + "url": "https://git.xenua.me/xenua/fedi-frq-friend" + }, + "original": { + "type": "git", + "url": "https://git.xenua.me/xenua/fedi-frq-friend" + } + }, "helix": { "inputs": { "nci": "nci", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_5", "parts": "parts_2", "rust-overlay": "rust-overlay" }, @@ -230,7 +250,7 @@ "nixpkgs": [ "nixpkgs" ], - "utils": "utils_2" + "utils": "utils_3" }, "locked": { "lastModified": 1680667162, @@ -322,7 +342,26 @@ }, "naersk_2": { "inputs": { - "nixpkgs": "nixpkgs_6" + "nixpkgs": "nixpkgs_3" + }, + "locked": { + "lastModified": 1679567394, + "narHash": "sha256-ZvLuzPeARDLiQUt6zSZFGOs+HZmE+3g4QURc8mkBsfM=", + "owner": "nix-community", + "repo": "naersk", + "rev": "88cd22380154a2c36799fe8098888f0f59861a15", + "type": "github" + }, + "original": { + "owner": "nix-community", + "ref": "master", + "repo": "naersk", + "type": "github" + } + }, + "naersk_3": { + "inputs": { + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1679567394, @@ -370,7 +409,7 @@ "nix": { "inputs": { "lowdown-src": "lowdown-src", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_6", "nixpkgs-regression": "nixpkgs-regression" }, "locked": { @@ -467,6 +506,36 @@ } }, "nixpkgs_3": { + "locked": { + "lastModified": 1681272286, + "narHash": "sha256-9X5p+gwYrowgbsRgkf14HFI0fkr6UikuwRIQAMlF1yI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6b70761ea8c896aff8994eb367d9526686501860", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1681272286, + "narHash": "sha256-9X5p+gwYrowgbsRgkf14HFI0fkr6UikuwRIQAMlF1yI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6b70761ea8c896aff8994eb367d9526686501860", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1680213900, "narHash": "sha256-cIDr5WZIj3EkKyCgj/6j3HBH4Jj1W296z7HTcWj1aMA=", @@ -482,7 +551,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_6": { "locked": { "lastModified": 1657693803, "narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=", @@ -498,7 +567,7 @@ "type": "github" } }, - "nixpkgs_5": { + "nixpkgs_7": { "locked": { "lastModified": 1680865339, "narHash": "sha256-H6rmJ1CyJ3Q5ZyoLMYq/UEYMS9Q1orJjRpWiQ47HudE=", @@ -513,7 +582,7 @@ "type": "indirect" } }, - "nixpkgs_6": { + "nixpkgs_8": { "locked": { "lastModified": 1680273054, "narHash": "sha256-Bs6/5LpvYp379qVqGt9mXxxx9GSE789k3oFc+OAL07M=", @@ -527,7 +596,7 @@ "type": "indirect" } }, - "nixpkgs_7": { + "nixpkgs_9": { "locked": { "lastModified": 1680273054, "narHash": "sha256-Bs6/5LpvYp379qVqGt9mXxxx9GSE789k3oFc+OAL07M=", @@ -586,10 +655,11 @@ "root": { "inputs": { "colorpickle": "colorpickle", + "frq-friend": "frq-friend", "helix": "helix", "home-manager": "home-manager", "mms": "mms", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_7", "url-eater": "url-eater" } }, @@ -630,11 +700,26 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "url-eater": { "inputs": { - "naersk": "naersk_2", - "nixpkgs": "nixpkgs_7", - "utils": "utils_3" + "naersk": "naersk_3", + "nixpkgs": "nixpkgs_9", + "utils": "utils_4" }, "locked": { "lastModified": 1680708368, @@ -669,12 +754,15 @@ } }, "utils_2": { + "inputs": { + "systems": "systems_2" + }, "locked": { - "lastModified": 1678901627, - "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "lastModified": 1681202837, + "narHash": "sha256-H+Rh19JDwRtpVPAWp64F+rlEtxUWBAQW28eAi3SRSzg=", "owner": "numtide", "repo": "flake-utils", - "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "rev": "cfacdce06f30d2b68473a46042957675eebb3401", "type": "github" }, "original": { @@ -697,6 +785,21 @@ "repo": "flake-utils", "type": "github" } + }, + "utils_4": { + "locked": { + "lastModified": 1678901627, + "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c579cc5..f5ea95e 100644 --- a/flake.nix +++ b/flake.nix @@ -16,10 +16,12 @@ colorpickle.url = "github:AgathaSorceress/colorpickle"; + frq-friend.url = "git+https://git.xenua.me/xenua/fedi-frq-friend"; + helix.url = "github:helix-editor/helix"; }; - outputs = - { nixpkgs, home-manager, mms, helix, url-eater, colorpickle, ... }: { + outputs = { nixpkgs, home-manager, mms, helix, url-eater, colorpickle + , frq-friend, ... }: { colmena = { network = { description = "Agatha's Nix Infra"; @@ -31,6 +33,7 @@ helix = helix.packages.${final.system}.default; url-eater = url-eater.defaultPackage.${final.system}; colorpickle = colorpickle.defaultPackage.${final.system}; + frq-friend = frq-friend.defaultPackage.${final.system}; }) ]; }; @@ -59,6 +62,10 @@ keyCommand = [ "cat" "./secrets/rfc2136-technogothic-net" ]; destDir = "/var/lib/secrets/"; }; + "fedi-data.toml" = { + keyCommand = [ "cat" "./secrets/frq-friend-fedi-data.toml" ]; + destDir = "/var/lib/frq-friend"; + }; }; }; }; diff --git a/hosts/bloodletting/configuration.nix b/hosts/bloodletting/configuration.nix index fe79796..1128f48 100644 --- a/hosts/bloodletting/configuration.nix +++ b/hosts/bloodletting/configuration.nix @@ -4,6 +4,7 @@ ../../common/users/julia.nix ../../common/fragments/bin.nix ../../common/fragments/fail2ban.nix + ../../common/fragments/frq-friend.nix ../../common/fragments/grafana.nix ../../common/fragments/homepage.nix ../../common/fragments/mastodon-ebooks.nix