2024-05-13 20:11:09 +02:00
|
|
|
{
|
2024-05-13 21:57:36 +02:00
|
|
|
inputs = {
|
2025-03-27 15:26:41 +01:00
|
|
|
nixpkgs.url = "github:nixos/nixpkgs?ref=master";
|
2024-05-13 21:57:36 +02:00
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
|
};
|
2024-05-13 20:11:09 +02:00
|
|
|
|
|
|
|
|
outputs =
|
2024-05-13 21:57:36 +02:00
|
|
|
{ nixpkgs, flake-utils, ... }:
|
|
|
|
|
flake-utils.lib.eachDefaultSystem (
|
2024-05-13 20:11:09 +02:00
|
|
|
system:
|
|
|
|
|
let
|
2024-06-12 18:02:55 +02:00
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
2024-05-13 20:11:09 +02:00
|
|
|
in
|
|
|
|
|
{
|
2025-07-23 16:15:30 +02:00
|
|
|
devShells.default =
|
|
|
|
|
with pkgs;
|
|
|
|
|
let
|
2026-03-23 13:25:21 +01:00
|
|
|
go = go_1_26;
|
2025-07-23 16:15:30 +02:00
|
|
|
in
|
|
|
|
|
pkgs.mkShell {
|
|
|
|
|
buildInputs = [
|
|
|
|
|
# generic
|
|
|
|
|
gnumake
|
|
|
|
|
gnutar
|
|
|
|
|
gzip
|
|
|
|
|
zip
|
|
|
|
|
tree
|
2024-05-13 20:11:09 +02:00
|
|
|
|
2025-07-23 16:15:30 +02:00
|
|
|
# frontend
|
|
|
|
|
nodejs_24
|
|
|
|
|
pnpm
|
2026-04-10 12:18:00 +02:00
|
|
|
typescript
|
|
|
|
|
typescript-language-server
|
2024-05-13 20:11:09 +02:00
|
|
|
|
2025-07-23 16:15:30 +02:00
|
|
|
# backend
|
|
|
|
|
go
|
|
|
|
|
glibc.static
|
|
|
|
|
gofumpt
|
|
|
|
|
golangci-lint
|
2025-09-24 13:12:55 +02:00
|
|
|
go-mockery
|
2025-07-23 16:15:30 +02:00
|
|
|
protobuf
|
|
|
|
|
sqlite
|
|
|
|
|
go-swag # for generate-openapi
|
|
|
|
|
addlicense
|
|
|
|
|
protoc-gen-go
|
|
|
|
|
protoc-gen-go-grpc
|
|
|
|
|
gcc
|
2026-02-03 13:39:37 +01:00
|
|
|
|
|
|
|
|
# docs
|
|
|
|
|
graphviz
|
2025-07-23 16:15:30 +02:00
|
|
|
];
|
|
|
|
|
CFLAGS = "-I${pkgs.glibc.dev}/include";
|
|
|
|
|
LDFLAGS = "-L${pkgs.glibc}/lib";
|
|
|
|
|
GO = "${go}/bin/go";
|
|
|
|
|
GOROOT = "${go}/share/go";
|
|
|
|
|
};
|
2024-05-13 20:11:09 +02:00
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
}
|