Format nix with alejandra
flake-utils.url = "github:numtide/flake-utils";
};
- outputs = { self, nixpkgs, flake-utils, ... }:
- let
- headscaleVersion = if (self ? shortRev) then self.shortRev else "dev";
+ outputs = {
+ self,
+ nixpkgs,
+ flake-utils,
+ ...
+ }: let
+ headscaleVersion =
+ if (self ? shortRev)
+ then self.shortRev
+ else "dev";
in
{
- overlay = _: prev:
- let
+ overlay = _: prev: let
pkgs = nixpkgs.legacyPackages.${prev.system};
- in
- rec {
- headscale =
- pkgs.buildGo119Module rec {
+ in rec {
+ headscale = pkgs.buildGo119Module rec {
pname = "headscale";
version = headscaleVersion;
src = pkgs.lib.cleanSource self;
ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"];
};
- golines =
- pkgs.buildGoModule rec {
+ golines = pkgs.buildGoModule rec {
pname = "golines";
version = "0.9.0";
# nativeBuildInputs = [ pkgs.installShellFiles ];
# };
- protoc-gen-grpc-gateway =
- pkgs.buildGoModule rec {
+ protoc-gen-grpc-gateway = pkgs.buildGoModule rec {
pname = "grpc-gateway";
version = "2.8.0";
subPackages = ["protoc-gen-grpc-gateway" "protoc-gen-openapiv2"];
};
};
- } // flake-utils.lib.eachDefaultSystem
- (system:
- let
+ }
+ // flake-utils.lib.eachDefaultSystem
+ (system: let
pkgs = import nixpkgs {
overlays = [self.overlay];
inherit system;
};
buildDeps = with pkgs; [git go_1_19 gnumake];
devDeps = with pkgs;
- buildDeps ++ [
+ buildDeps
+ ++ [
golangci-lint
golines
nodePackages.prettier
clang-tools # clang-format
];
-
# Add entry to build a docker image with headscale
# caveat: only works on Linux
#
contents = [pkgs.headscale];
config.Entrypoint = [(pkgs.headscale + "/bin/headscale")];
};
- in
- rec {
+ in rec {
overlays.default = self.overlay;
# `nix develop`
defaultApp = apps.headscale;
checks = {
- format = pkgs.runCommand "check-format"
+ format =
+ pkgs.runCommand "check-format"
{
buildInputs = with pkgs; [
gnumake
${pkgs.clang-tools}/bin/clang-format -style="{BasedOnStyle: Google, IndentWidth: 4, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}" -i ${./.}
'';
};
-
-
});
}
