mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
1.6 KiB
68 lines
1.6 KiB
{ |
|
inputs = { |
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; |
|
flake-utils.url = "github:numtide/flake-utils"; |
|
}; |
|
outputs = |
|
{ nixpkgs, flake-utils, ... }: |
|
flake-utils.lib.eachDefaultSystem ( |
|
system: |
|
let |
|
pkgs = nixpkgs.legacyPackages.${system}; |
|
in |
|
{ |
|
devShells.default = |
|
with pkgs; |
|
let |
|
# only bump toolchain versions here |
|
go = go_1_25; |
|
nodejs = nodejs_24; |
|
python3 = python312; |
|
|
|
# Platform-specific dependencies |
|
linuxOnlyInputs = lib.optionals pkgs.stdenv.isLinux [ |
|
glibc.static |
|
]; |
|
|
|
linuxOnlyEnv = lib.optionalAttrs pkgs.stdenv.isLinux { |
|
CFLAGS = "-I${glibc.static.dev}/include"; |
|
LDFLAGS = "-L ${glibc.static}/lib"; |
|
}; |
|
in |
|
pkgs.mkShell ( |
|
{ |
|
buildInputs = [ |
|
# generic |
|
git |
|
git-lfs |
|
gnumake |
|
gnused |
|
gnutar |
|
gzip |
|
zip |
|
|
|
# frontend |
|
nodejs |
|
|
|
# linting |
|
python3 |
|
uv |
|
|
|
# backend |
|
go |
|
gofumpt |
|
sqlite |
|
] |
|
++ linuxOnlyInputs; |
|
|
|
GO = "${go}/bin/go"; |
|
GOROOT = "${go}/share/go"; |
|
|
|
TAGS = "sqlite sqlite_unlock_notify"; |
|
STATIC = "true"; |
|
} |
|
// linuxOnlyEnv |
|
); |
|
} |
|
); |
|
}
|
|
|