{ inputs = { nixpkgs.url = "nixpkgs/nixos-21.11"; utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; clj-nix = { url = "github:jlesquembre/clj-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, utils, clj-nix, ... }@inputs: utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; mkCljBin = clj-nix.packages."${system}".mkCljBin; updateDeps = pkgs.writeShellScriptBin "update-deps.sh" '' ${clj-nix.packages."${system}".deps-lock}/bin/deps-lock ''; in rec { packages = rec { krb5-keygen = mkCljBin { projectSrc = ./.; name = "org.fudo.kerberos/keygen"; main-ns = "kerberos.keygen.core"; jdkRunner = pkgs.jdk17_headless; version = "0.1"; }; default = krb5-keygen; }; apps = rec { krb5-keygen = utils.lib.mkApp { drv = packages.krb5-keygen; }; default = krb5-keygen; }; devShells.default = pkgs.mkShell { buildInputs = with pkgs; [ updateDeps ]; }; }); }