Redmage/flake.nix

58 lines
1.4 KiB
Nix

{
inputs = {
templ.url = "github:a-h/templ/v0.2.663";
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
};
outputs = inputs@{ templ, nixpkgs, ... }:
let
system = "x86_64-linux";
templPkg = templ.packages.${system}.templ;
pkgs = inputs.nixpkgs.legacyPackages.${system};
goverter = pkgs.buildGoModule rec {
name = "goverter";
version = "1.5.0";
src = pkgs.fetchFromGitHub {
owner = "jmattheis";
repo = "goverter";
rev = "v${version}";
sha256 = "sha256-J0PS4ZxGtOa+0QOOSjfg0WeVYGyf757WuTnpQTWIV1w=";
};
nativeBuildInputs = [ pkgs.go ];
buildPhase = ''
runHook preBuild
go build -o goverter ./cmd/goverter
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp goverter $out/bin
runHook postInstall
'';
vendorHash = "sha256-uQ1qKZLRwsgXKqSAERSqf+1cYKp6MTeVbfGs+qcdakE=";
};
in
{
devShell.${system} = pkgs.mkShell {
name = "redmage-shell";
buildInputs = with pkgs; [
templPkg
go
modd
nodePackages_latest.nodejs
goose
air
upx
buf
buf-language-server
protoc-gen-go
protoc-gen-go-grpc
protoc-gen-connect-go
protoc-gen-validate
goverter
];
};
};
}