1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  description = "rss-kakapo: turn Mastodon into your feed reader (a fork of RSS Parrot)";

  # The package itself is package.nix, a plain callPackage function. A
  # consumer that has its own nixpkgs should build that instead of using
  # packages.<system> below, so it does not evaluate a second nixpkgs; and
  # should make this input follow its own (inputs.rss-kakapo.inputs.nixpkgs
  # .follows = "nixpkgs") to keep its lock file to one nixpkgs as well.
  inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";

  outputs = { self, nixpkgs }:
    let
      systems = [ "x86_64-linux" "aarch64-linux" ];
      forAllSystems = f: nixpkgs.lib.genAttrs systems
        (system: f nixpkgs.legacyPackages.${system});
    in
    {
      packages = forAllSystems (pkgs: rec {
        default = rss-kakapo;
        rss-kakapo = pkgs.callPackage ./package.nix { src = self; };
      });
    };
}