From 8e29bf9aa6c568ec51791fb22ba171adb5f38439 Mon Sep 17 00:00:00 2001 From: Abel Luck Date: Thu, 26 Feb 2026 11:07:32 +0100 Subject: [PATCH] plain vanilla flakes --- flake.lock | 34 ------------------ flake.nix | 101 ++++++++++++++++++++++++----------------------------- 2 files changed, 46 insertions(+), 89 deletions(-) diff --git a/flake.lock b/flake.lock index 4cd654f..d37a53a 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,5 @@ { "nodes": { - "flake-parts": { - "inputs": { - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1769996383, - "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1771848320, @@ -32,24 +14,8 @@ "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1769909678, - "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "72716169fe93074c333e8d0173151350670b824c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, "root": { "inputs": { - "flake-parts": "flake-parts", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 94e030a..9b115a4 100644 --- a/flake.nix +++ b/flake.nix @@ -1,66 +1,57 @@ { - inputs = { - nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; # tracks nixpkgs unstable branch - flake-parts.url = "github:hercules-ci/flake-parts"; - }; + inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1"; outputs = - inputs@{ flake-parts, ... }: - # https://flake.parts/module-arguments.html - flake-parts.lib.mkFlake { inherit inputs; } { - flake = { - # Put your original flake attributes here. - }; + { self, nixpkgs }: + let systems = [ - # systems for which you want to build the `perSystem` attributes "x86_64-linux" "aarch64-darwin" ]; - perSystem = - { - config, - self', - inputs', - pkgs, - lib, - system, - ... - }: - { - packages.default = pkgs.buildGoModule { - pname = "nix-cache-login"; - version = "0.1.0"; - src = ./.; - vendorHash = "sha256-1s77IEGP7/6sgXSNdByRQqisLHSeJuRSsrnxUGfkxos="; - meta = { - description = "CLI tool for authenticating with a Nix binary cache via OIDC"; - mainProgram = "nix-cache-login"; - }; - }; - - apps.default = { - type = "app"; - program = "${self'.packages.default}/bin/nix-cache-login"; - }; - - checks.tests = self'.packages.default.overrideAttrs (old: { - pname = "nix-cache-login-tests"; - checkPhase = '' - runHook preCheck - go test ./... - runHook postCheck - ''; - doCheck = true; - }); - - devShells = { - default = pkgs.mkShell { - packages = with pkgs; [ - go - cobra-cli - ]; - }; + forAllSystems = fn: nixpkgs.lib.genAttrs systems (system: fn nixpkgs.legacyPackages.${system}); + in + { + packages = forAllSystems (pkgs: { + default = pkgs.buildGoModule { + pname = "nix-cache-login"; + version = "0.1.0"; + src = ./.; + vendorHash = "sha256-1s77IEGP7/6sgXSNdByRQqisLHSeJuRSsrnxUGfkxos="; + meta = { + description = "CLI tool for authenticating with a Nix binary cache via OIDC"; + mainProgram = "nix-cache-login"; }; }; + }); + + apps = forAllSystems (pkgs: { + default = { + type = "app"; + program = "${self.packages.${pkgs.stdenv.hostPlatform.system}.default}/bin/nix-cache-login"; + meta.description = "CLI tool for authenticating with a Nix binary cache via OIDC"; + }; + }); + + checks = forAllSystems (pkgs: { + tests = self.packages.${pkgs.stdenv.hostPlatform.system}.default.overrideAttrs (_: { + pname = "nix-cache-login-tests"; + checkPhase = '' + runHook preCheck + go test ./... + runHook postCheck + ''; + doCheck = true; + }); + devShell = self.devShells.${pkgs.stdenv.hostPlatform.system}.default; + }); + + devShells = forAllSystems (pkgs: { + default = pkgs.mkShell { + packages = with pkgs; [ + go + cobra-cli + ]; + }; + }); }; }