{ description = "Homelab configuration tools"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = { self, flake-parts, ... }: flake-parts.lib.mkFlake { inherit self; } { systems = [ "x86_64-linux" "aarch64-darwin" ]; perSystem = { config, self', inputs', pkgs, system, ... }: let to-docker-compose = pkgs.writeShellApplication { name = "to-docker-compose"; runtimeInputs = [ pkgs.jsonnet ]; text = '' jsonnet services.jsonnet \ --tla-code secrets="{ PLEX_CLAIM: '$PLEX_CLAIM', ADVERTISE_IP: '$ADVERTISE_IP', }" ''; }; in { devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ jsonnet to-docker-compose ]; }; }; }; }