{ description = '' specimen, application and server configuration. enjoy! :) ''; inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; agenix = { url = "github:ryantm/agenix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, agenix, }: let inherit (nixpkgs) lib; name = "specimen"; systems = [ "x86_64-linux" "aarch64-linux" ]; pkgsForSystem = system: import nixpkgs { inherit system; overlays = [ agenix.overlays.default ]; }; forAllSystems = f: lib.genAttrs systems ( system: f { inherit system; pkgs = pkgsForSystem system; } ); in { packages = forAllSystems ( { system, pkgs }: { default = pkgs.callPackage ./application/. { }; } ); devShells = forAllSystems ( { system, pkgs }: { default = pkgs.mkShell { buildInputs = with pkgs; [ go gopls delve go-task golangci-lint ]; }; } ); nixosModules.default = import ./application/module.nix; nixosConfigurations.${name} = let defaultSystem = "x86_64-linux"; pkgs = pkgsForSystem defaultSystem; in lib.nixosSystem { system = defaultSystem; specialArgs = { inherit pkgs; credentials = import ./configuration/credentials.nix; } // inputs; modules = [ ./configuration/configuration.nix self.nixosModules.default agenix.nixosModules.default ]; }; }; }