···2233A **server-side** link shortening service powered by your [Linkat](https://linkat.blue) board. No database required - all links are fetched directly from AT Protocol!
4455+> 🧶 Also available on [Tangled](https://tangled.org/ewancroft.uk/atproto-shortlink)
66+57## ✨ Features
6879- **Zero Configuration Database**: Uses your existing Linkat board as the data source
+26
flake.nix
···11+{
22+ description = "atproto-shortlink — AT Protocol short link tool";
33+44+ inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
55+66+ outputs = { self, nixpkgs }:
77+ let
88+ systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
99+ forAllSystems = nixpkgs.lib.genAttrs systems;
1010+ in {
1111+ devShells = forAllSystems (system:
1212+ let pkgs = nixpkgs.legacyPackages.${system}; in
1313+ {
1414+ default = pkgs.mkShell {
1515+ packages = with pkgs; [ nodejs_22 pnpm ];
1616+1717+ shellHook = ''
1818+ echo "atproto-shortlink dev shell ready (Node.js 22 + pnpm)"
1919+ '';
2020+ };
2121+ }
2222+ );
2323+2424+ formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
2525+ };
2626+}