{ description = "nas_unlock"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils, }: flake-utils.lib.eachDefaultSystem ( system: let pkgs = nixpkgs.legacyPackages.${system}; pname = "nix_unlock"; version = "0.1.0"; app = pkgs.buildGoModule { inherit pname version; src = ./.; vendorHash = null; meta = with pkgs.lib; { description = "Unlock your NAS via http"; license = licenses.asl20; mainProgram = pname; }; }; in { packages.default = app; packages.${pname} = app; defaultPackage = app; apps.default = flake-utils.lib.mkApp { drv = app; }; devShells.default = pkgs.mkShell { name = "${pname}-dev"; packages = with pkgs; [ go gopls gotools golangci-lint delve ]; env = { GOPATH = "${placeholder "out"}/go"; CGO_ENABLED = "0"; }; shellHook = '' echo "Go version: $(go version | awk '{print $3}')" ''; }; devShell = self.devShells.${system}.default; } ); }