From 22fc92cd3e2d590adbd42c6ab6a57b033bcc415c Mon Sep 17 00:00:00 2001 From: Steffen Vogel Date: Tue, 11 Jun 2024 03:47:35 +0200 Subject: [PATCH] nix: Update Nix flake Signed-off-by: Steffen Vogel --- .reuse/dep5 | 6 +---- nix/flake.lock => flake.lock | 30 +++++++++------------- flake.nix | 41 +++++++++++++++++++++++++++++ nix/cunicu.nix | 6 ++++- nix/default.nix | 8 +++--- nix/dev.nix | 31 +++++++++------------- nix/flake.nix | 50 ------------------------------------ 7 files changed, 75 insertions(+), 97 deletions(-) rename nix/flake.lock => flake.lock (53%) create mode 100644 flake.nix delete mode 100644 nix/flake.nix diff --git a/.reuse/dep5 b/.reuse/dep5 index 3d0a8b77..5cb34c7e 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -7,10 +7,6 @@ Files: website/static/CNAME pkg/selfupdate/keys/09BE3BAE8D55D4CD8579285A9675EAC3 Copyright: 2023 Steffen Vogel License: CC0-1.0 -Files: go.sum scripts/go.sum website/package.json website/yarn.lock nix/flake.lock docs/usage/** .renovaterc.json *.drawio *.svg +Files: go.sum scripts/go.sum website/package.json website/yarn.lock nix/flake.lock docs/usage/** .renovaterc.json *.drawio *.svg flake.lock Copyright: 2023 Steffen Vogel License: Apache-2.0 - -Files: nix/flake.lock -Copyright: 2023 Philipp Jungkamp -License: Apache-2.0 diff --git a/nix/flake.lock b/flake.lock similarity index 53% rename from nix/flake.lock rename to flake.lock index fdc28e23..89d2edc4 100644 --- a/nix/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1706830856, - "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=", + "lastModified": 1717285511, + "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f", + "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708214945, - "narHash": "sha256-LwP/lKuPasVLqUX+XFf6DbW4BWmM7o5K5unx/dXCJWY=", + "lastModified": 1717893485, + "narHash": "sha256-WMU6ZRZrBgEUDIF0siu2aIyVAXcxfElSwzZtS/mSpN4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e015f24e508c549ab2ab2ad74dcdad3ae07513fe", + "rev": "3bcedce9f4de37570242faf16e1e143583407eab", "type": "github" }, "original": { @@ -36,20 +36,14 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1706550542, - "narHash": "sha256-UcsnCG6wx++23yeER4Hg18CXWbgNpqNXcHIo5/1Y+hc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "97b17f32362e475016f942bbdfda4a4a72a8a652", - "type": "github" + "lastModified": 1717284937, + "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" } }, "root": { diff --git a/flake.nix b/flake.nix new file mode 100644 index 00000000..38aff05f --- /dev/null +++ b/flake.nix @@ -0,0 +1,41 @@ +# SPDX-FileCopyrightText: 2023 Philipp Jungkamp +# SPDX-License-Identifier: Apache-2.0 +{ + description = "cunīcu is a user-space daemon managing WireGuard® interfaces to establish a mesh of peer-to-peer VPN connections in harsh network environments."; + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; + }; + + outputs = + inputs@{ + nixpkgs, + self, + flake-parts, + }: + flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ + "x86_64-linux" + "aarch64-linux" + "aarch64-darwin" + ]; + perSystem = + { + pkgs, + self', + system, + ... + }: + let + pkgs = import nixpkgs { inherit system; }; + in + { + formatter = pkgs.nixfmt-rfc-style; + devShells.default = import ./nix/dev.nix { inherit pkgs self'; }; + packages = { + cunicu = import ./nix/default.nix { inherit pkgs; }; + packages.default = self'.packages.cunicu; + }; + }; + }; +} diff --git a/nix/cunicu.nix b/nix/cunicu.nix index f8127683..6bd3ec56 100644 --- a/nix/cunicu.nix +++ b/nix/cunicu.nix @@ -12,7 +12,11 @@ buildGoModule { inherit src; CGO_ENABLED = 0; # These packages contain networking dependent tests which fail in the sandbox - excludedPackages = ["pkg/config" "pkg/selfupdate" "pkg/tty"]; + excludedPackages = [ + "pkg/config" + "pkg/selfupdate" + "pkg/tty" + ]; postBuild = '' cunicu=$GOPATH/bin/cunicu $cunicu docs --with-frontmatter diff --git a/nix/default.nix b/nix/default.nix index c37ecca3..aa1c7210 100644 --- a/nix/default.nix +++ b/nix/default.nix @@ -1,6 +1,6 @@ # SPDX-FileCopyrightText: 2023 Philipp Jungkamp # SPDX-License-Identifier: Apache-2.0 -{ pkgs ? import {} }: -pkgs.callPackage ./cunicu.nix { - src = ./..; -} +{ + pkgs ? import { }, +}: +pkgs.callPackage ./cunicu.nix { src = ./..; } diff --git a/nix/dev.nix b/nix/dev.nix index ae0329a5..96ea33e9 100644 --- a/nix/dev.nix +++ b/nix/dev.nix @@ -1,10 +1,6 @@ # SPDX-FileCopyrightText: 2023 Philipp Jungkamp # SPDX-License-Identifier: Apache-2.0 -{ - self', - pkgs, - ... -}: +{ self', pkgs, ... }: pkgs.mkShell { packages = with pkgs; [ yarn-berry @@ -19,24 +15,21 @@ pkgs.mkShell { protoc-gen-go protoc-gen-go-grpc - (buildGoModule - { - name = "gocov-merger"; + (buildGoModule { + name = "gocov-merger"; - src = fetchFromGitHub { - owner = "amobe"; - repo = "gocov-merger"; - rev = "5494981677165bdf08c8c0595c3b6ed246cb77de"; - hash = "sha256-zec5gKWbZBAIqlxRS811AwSZxNjmbIsE5/zInp94kR8="; - }; + src = fetchFromGitHub { + owner = "amobe"; + repo = "gocov-merger"; + rev = "5494981677165bdf08c8c0595c3b6ed246cb77de"; + hash = "sha256-zec5gKWbZBAIqlxRS811AwSZxNjmbIsE5/zInp94kR8="; + }; - vendorHash = "sha256-6DznXSmQkb91GJZ2WMAIg558y+8a46KjRKfWRHsvus0="; - }) + vendorHash = "sha256-6DznXSmQkb91GJZ2WMAIg558y+8a46KjRKfWRHsvus0="; + }) # coturn ]; - inputsFrom = [ - self'.packages.cunicu - ]; + inputsFrom = [ self'.packages.cunicu ]; } diff --git a/nix/flake.nix b/nix/flake.nix deleted file mode 100644 index 829212a7..00000000 --- a/nix/flake.nix +++ /dev/null @@ -1,50 +0,0 @@ -# SPDX-FileCopyrightText: 2023 Philipp Jungkamp -# SPDX-License-Identifier: Apache-2.0 -{ - description = "cunīcu is a user-space daemon managing WireGuard® interfaces to establish a mesh of peer-to-peer VPN connections in harsh network environments."; - inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; - flake-parts.url = "github:hercules-ci/flake-parts"; - }; - - outputs = inputs @ { - nixpkgs, - self, - flake-parts, - } - : - flake-parts.lib.mkFlake {inherit inputs;} { - systems = [ - "x86_64-linux" - "aarch64-linux" - "aarch64-darwin" - ]; - perSystem = { - pkgs, - self', - system, - ... - }: let - go122 = final: prev: { - go = prev.go_1_22; - buildGoModule = prev.buildGo122Module; - buildGoPackage = prev.buildGo122Package; - }; - pkgs = import nixpkgs { - inherit system; - overlays = [go122]; - }; - in { - formatter = pkgs.alejandra; - devShells.default = import ./dev.nix { - inherit pkgs self'; - }; - packages = { - cunicu = import ./default.nix { - inherit pkgs; - }; - packages.default = self'.packages.cunicu; - }; - }; - }; -}