From a31e01e5f7b26f14331672eb8f33723ad4796e6e Mon Sep 17 00:00:00 2001 From: Kenichi Kamiya Date: Thu, 16 May 2024 20:00:02 +0900 Subject: [PATCH] Inline systems in flake schema and drop flake-utils Import https://github.com/kachick/anylang-template/pull/98 --- flake.lock | 34 ----------------- flake.nix | 105 ++++++++++++++++++++++++++++++++--------------------- 2 files changed, 64 insertions(+), 75 deletions(-) diff --git a/flake.lock b/flake.lock index d59b129..25aec9a 100644 --- a/flake.lock +++ b/flake.lock @@ -16,24 +16,6 @@ "type": "github" } }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1715668745, @@ -53,24 +35,8 @@ "root": { "inputs": { "edge-nixpkgs": "edge-nixpkgs", - "flake-utils": "flake-utils", "nixpkgs": "nixpkgs" } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index c0c4921..714c21c 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,6 @@ # - `nix flake update --commit-lock-file` # https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-flake-update.html nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11"; edge-nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; }; outputs = @@ -15,53 +14,77 @@ self, nixpkgs, edge-nixpkgs, - flake-utils, }: - flake-utils.lib.eachDefaultSystem ( - system: - let - pkgs = nixpkgs.legacyPackages.${system}; - edge-pkgs = edge-nixpkgs.legacyPackages.${system}; - in - rec { - formatter = edge-pkgs.nixfmt-rfc-style; - devShells.default = - with pkgs; - mkShell { - buildInputs = [ - # https://github.com/NixOS/nix/issues/730#issuecomment-162323824 - bashInteractive - nil - edge-pkgs.nixfmt-rfc-style + let + # Candidates: https://github.com/NixOS/nixpkgs/blob/release-23.11/lib/systems/flake-systems.nix + forAllSystems = nixpkgs.lib.genAttrs [ + "x86_64-linux" + "aarch64-linux" + "i686-linux" + "x86_64-darwin" + # I don't have M1+ mac, providing this for macos-14 free runner https://github.com/actions/runner-images/issues/9741 + "aarch64-darwin" + ]; + in + rec { + formatter = forAllSystems (system: edge-nixpkgs.legacyPackages.${system}.nixfmt-rfc-style); + devShells = forAllSystems ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + edge-pkgs = edge-nixpkgs.legacyPackages.${system}; + in + { + default = + with pkgs; + mkShell { + buildInputs = [ + # https://github.com/NixOS/nix/issues/730#issuecomment-162323824 + bashInteractive + nil + edge-pkgs.nixfmt-rfc-style - edge-pkgs.go_1_22 - edge-pkgs.dprint - edge-pkgs.goreleaser - edge-pkgs.typos - go-task - ]; - }; + edge-pkgs.go_1_22 + edge-pkgs.dprint + edge-pkgs.goreleaser + edge-pkgs.typos + go-task + ]; + }; + } + ); - packages.selfup = edge-pkgs.buildGo122Module rec { - pname = "selfup"; - src = pkgs.lib.cleanSource self; + packages = forAllSystems ( + system: + let + pkgs = nixpkgs.legacyPackages.${system}; + edge-pkgs = edge-nixpkgs.legacyPackages.${system}; version = "v1.1.2"; - ldflags = [ - "-X main.version=${version}" - "-X main.commit=${if (self ? rev) then self.rev else "0000000000000000000000000000000000000000"}" - ]; + in + rec { + selfup = edge-pkgs.buildGo122Module { + pname = "selfup"; + src = pkgs.lib.cleanSource self; + version = version; + ldflags = [ + "-X main.version=${version}" + "-X main.commit=${if (self ? rev) then self.rev else "0000000000000000000000000000000000000000"}" + ]; - # When updating go.mod or go.sum, update this sha together as following - vendorHash = "sha256-wZb6U2CSYZvFyT7rT1FWMZpKpuAXjINZrfV0breLguI="; - }; + # When updating go.mod or go.sum, update this sha together as following + vendorHash = "sha256-wZb6U2CSYZvFyT7rT1FWMZpKpuAXjINZrfV0breLguI="; + }; - packages.default = packages.selfup; + default = selfup; + } + ); - # `nix run` - apps.default = { + # `nix run` + apps = forAllSystems (system: { + default = { type = "app"; - program = "${packages.selfup}/bin/selfup"; + program = "${packages.${system}.selfup}/bin/selfup"; }; - } - ); + }); + }; }