mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01: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": {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										64
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										64
									
								
								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;
 | 
				
			||||||
@ -26,11 +30,10 @@
 | 
				
			|||||||
          # update this if you have a mismatch after doing a change to thos files.
 | 
					          # update this if you have a mismatch after doing a change to thos files.
 | 
				
			||||||
          vendorSha256 = "sha256-DosFCSiQ5FURbIrt4NcPGkExc84t2MGMqe9XLxNHdIM=";
 | 
					          vendorSha256 = "sha256-DosFCSiQ5FURbIrt4NcPGkExc84t2MGMqe9XLxNHdIM=";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              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";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -43,7 +46,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          vendorSha256 = "sha256-sEzWUeVk5GB0H41wrp12P8sBWRjg0FHUX6ABDEEBqK8=";
 | 
					          vendorSha256 = "sha256-sEzWUeVk5GB0H41wrp12P8sBWRjg0FHUX6ABDEEBqK8=";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              nativeBuildInputs = [ pkgs.installShellFiles ];
 | 
					          nativeBuildInputs = [pkgs.installShellFiles];
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        golangci-lint = prev.golangci-lint.override {
 | 
					        golangci-lint = prev.golangci-lint.override {
 | 
				
			||||||
@ -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";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -83,21 +85,22 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
          vendorSha256 = "sha256-AW2Gn/mlZyLMwF+NpK59eiOmQrYWW/9HPjbunYc9Ij4=";
 | 
					          vendorSha256 = "sha256-AW2Gn/mlZyLMwF+NpK59eiOmQrYWW/9HPjbunYc9Ij4=";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              nativeBuildInputs = [ pkgs.installShellFiles ];
 | 
					          nativeBuildInputs = [pkgs.installShellFiles];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
              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
 | 
				
			||||||
      #
 | 
					      #
 | 
				
			||||||
@ -121,13 +123,12 @@
 | 
				
			|||||||
      headscale-docker = pkgs.dockerTools.buildLayeredImage {
 | 
					      headscale-docker = pkgs.dockerTools.buildLayeredImage {
 | 
				
			||||||
        name = "headscale";
 | 
					        name = "headscale";
 | 
				
			||||||
        tag = headscaleVersion;
 | 
					        tag = headscaleVersion;
 | 
				
			||||||
            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;};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      # `nix build`
 | 
					      # `nix build`
 | 
				
			||||||
      packages = with pkgs; {
 | 
					      packages = with pkgs; {
 | 
				
			||||||
@ -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