{ description = "arr-tui: a terminal UI (and webOS TV app) for Radarr, Sonarr and SABnzbd"; inputs.nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; outputs = { self, nixpkgs }: let systems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; forAll = f: nixpkgs.lib.genAttrs systems (system: f nixpkgs.legacyPackages.${system}); in { # nix develop: everything make test, the release script, the README # screenshots (dev/screenshots) and the webOS app (webos/) need. # Containers for dev/up.sh (docker or podman) come from the system. devShells = forAll (pkgs: { default = pkgs.mkShell { packages = with pkgs; [ # arr-tui go gopls gnumake shellcheck git # scripts/release.sh, dev/up.sh curl jq # dev/screenshots (fake services), webos (app, tests, ares CLI) python3 nodejs_24 # README pictures: oxipng compresses them oxipng imagemagick ] ++ lib.optionals stdenv.hostPlatform.isLinux [ # dev/screenshots/take.sh: Ghostty on a virtual X display ghostty xvfb-run xorg-server xdotool fontconfig dejavu_fonts # webos/dev/drive.mjs chromium ]; # posters.sh asks fontconfig for the DejaVu fonts: the system's # fonts plus DejaVu. FONTCONFIG_FILE = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux (pkgs.writeText "fonts.conf" '' /etc/fonts/fonts.conf ${pkgs.dejavu_fonts}/share/fonts ''); shellHook = pkgs.lib.optionalString pkgs.stdenv.hostPlatform.isLinux '' export CHROMIUM=${pkgs.chromium}/bin/chromium ''; }; }); }; }