{ description = "ripsort"; 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 = "ripsort"; version = "0.1.0"; app = pkgs.buildGoModule { inherit pname version; src = ./.; vendorHash = "sha256-1YBmcKszUV+Uyj0X2GZeIj+p3jUfC+jIB9Gy8/KROsA="; meta = with pkgs.lib; { description = "Organize music library"; 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; } ); }