mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-30 13:35:23 +00:00
Merge pull request #830 from kradalby/nix-overlay
This commit is contained in:
commit
8fbba1ac94
@ -17,11 +17,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1662019588,
|
"lastModified": 1664106353,
|
||||||
"narHash": "sha256-oPEjHKGGVbBXqwwL+UjsveJzghWiWV0n9ogo1X6l4cw=",
|
"narHash": "sha256-HMJP80+DSxFySpWyuxz5+iNozS3+dVt0b4n6YMIU5/8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2da64a81275b68fdad38af669afeda43d401e94b",
|
"rev": "79d3ca08920364759c63fd3eb562e99c0c17044a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
46
flake.nix
46
flake.nix
@ -6,18 +6,22 @@
|
|||||||
flake-utils.url = "github:numtide/flake-utils";
|
flake-utils.url = "github:numtide/flake-utils";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, flake-utils, ... }:
|
outputs = {
|
||||||
let
|
self,
|
||||||
headscaleVersion = if (self ? shortRev) then self.shortRev else "dev";
|
nixpkgs,
|
||||||
|
flake-utils,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
headscaleVersion =
|
||||||
|
if (self ? shortRev)
|
||||||
|
then self.shortRev
|
||||||
|
else "dev";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
overlay = final: prev:
|
overlay = _: prev: let
|
||||||
let
|
|
||||||
pkgs = nixpkgs.legacyPackages.${prev.system};
|
pkgs = nixpkgs.legacyPackages.${prev.system};
|
||||||
in
|
in rec {
|
||||||
rec {
|
headscale = pkgs.buildGo119Module rec {
|
||||||
headscale =
|
|
||||||
pkgs.buildGo119Module rec {
|
|
||||||
pname = "headscale";
|
pname = "headscale";
|
||||||
version = headscaleVersion;
|
version = headscaleVersion;
|
||||||
src = pkgs.lib.cleanSource self;
|
src = pkgs.lib.cleanSource self;
|
||||||
@ -29,8 +33,7 @@
|
|||||||
ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
|
ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
|
||||||
};
|
};
|
||||||
|
|
||||||
golines =
|
golines = pkgs.buildGoModule rec {
|
||||||
pkgs.buildGoModule rec {
|
|
||||||
pname = "golines";
|
pname = "golines";
|
||||||
version = "0.9.0";
|
version = "0.9.0";
|
||||||
|
|
||||||
@ -69,8 +72,7 @@
|
|||||||
# nativeBuildInputs = [ pkgs.installShellFiles ];
|
# nativeBuildInputs = [ pkgs.installShellFiles ];
|
||||||
# };
|
# };
|
||||||
|
|
||||||
protoc-gen-grpc-gateway =
|
protoc-gen-grpc-gateway = pkgs.buildGoModule rec {
|
||||||
pkgs.buildGoModule rec {
|
|
||||||
pname = "grpc-gateway";
|
pname = "grpc-gateway";
|
||||||
version = "2.8.0";
|
version = "2.8.0";
|
||||||
|
|
||||||
@ -88,16 +90,17 @@
|
|||||||
subPackages = ["protoc-gen-grpc-gateway" "protoc-gen-openapiv2"];
|
subPackages = ["protoc-gen-grpc-gateway" "protoc-gen-openapiv2"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
} // flake-utils.lib.eachDefaultSystem
|
}
|
||||||
(system:
|
// flake-utils.lib.eachDefaultSystem
|
||||||
let
|
(system: let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
overlays = [self.overlay];
|
overlays = [self.overlay];
|
||||||
inherit system;
|
inherit system;
|
||||||
};
|
};
|
||||||
buildDeps = with pkgs; [git go_1_19 gnumake];
|
buildDeps = with pkgs; [git go_1_19 gnumake];
|
||||||
devDeps = with pkgs;
|
devDeps = with pkgs;
|
||||||
buildDeps ++ [
|
buildDeps
|
||||||
|
++ [
|
||||||
golangci-lint
|
golangci-lint
|
||||||
golines
|
golines
|
||||||
nodePackages.prettier
|
nodePackages.prettier
|
||||||
@ -111,7 +114,6 @@
|
|||||||
clang-tools # clang-format
|
clang-tools # clang-format
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# Add entry to build a docker image with headscale
|
# Add entry to build a docker image with headscale
|
||||||
# caveat: only works on Linux
|
# caveat: only works on Linux
|
||||||
#
|
#
|
||||||
@ -124,8 +126,7 @@
|
|||||||
contents = [pkgs.headscale];
|
contents = [pkgs.headscale];
|
||||||
config.Entrypoint = [(pkgs.headscale + "/bin/headscale")];
|
config.Entrypoint = [(pkgs.headscale + "/bin/headscale")];
|
||||||
};
|
};
|
||||||
in
|
in rec {
|
||||||
rec {
|
|
||||||
# `nix develop`
|
# `nix develop`
|
||||||
devShell = pkgs.mkShell {buildInputs = devDeps;};
|
devShell = pkgs.mkShell {buildInputs = devDeps;};
|
||||||
|
|
||||||
@ -144,7 +145,8 @@
|
|||||||
defaultApp = apps.headscale;
|
defaultApp = apps.headscale;
|
||||||
|
|
||||||
checks = {
|
checks = {
|
||||||
format = pkgs.runCommand "check-format"
|
format =
|
||||||
|
pkgs.runCommand "check-format"
|
||||||
{
|
{
|
||||||
buildInputs = with pkgs; [
|
buildInputs = with pkgs; [
|
||||||
gnumake
|
gnumake
|
||||||
@ -162,7 +164,5 @@
|
|||||||
${pkgs.clang-tools}/bin/clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}" -i ${./.}
|
${pkgs.clang-tools}/bin/clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}" -i ${./.}
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user