From 1bbf604224abed2ce9fe1d8fb970b20d26a13f3a Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 16 Jul 2023 12:38:08 +0300 Subject: [PATCH 1/2] flake.nix: switch to nix-community/flake-compat edolstra/flake-compat is unmaintained. cargo2nix also still pulls in edolstra/flake-compat, make it follow the nix-community one. --- flake.lock | 20 +++++++++----------- flake.nix | 7 +++++-- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index ac5b10e2..8de99c3e 100644 --- a/flake.lock +++ b/flake.lock @@ -2,7 +2,9 @@ "nodes": { "cargo2nix": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": [ + "flake-compat" + ], "flake-utils": "flake-utils", "nixpkgs": [ "nixpkgs" @@ -25,17 +27,16 @@ } }, "flake-compat": { - "flake": false, "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", + "owner": "nix-community", "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", "type": "github" }, "original": { - "owner": "edolstra", + "owner": "nix-community", "repo": "flake-compat", "type": "github" } @@ -111,10 +112,7 @@ "root": { "inputs": { "cargo2nix": "cargo2nix", - "flake-compat": [ - "cargo2nix", - "flake-compat" - ], + "flake-compat": "flake-compat", "flake-utils": [ "cargo2nix", "flake-utils" diff --git a/flake.nix b/flake.nix index 3ae3668d..32c01616 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,8 @@ inputs.nixpkgs.url = "github:NixOS/nixpkgs/94517a501434a627c5d9e72ac6e7f26174b978d3"; + inputs.flake-compat.url = "github:nix-community/flake-compat"; + inputs.cargo2nix = { # As of 2022-10-18: two small patches over unstable branch, one for clippy and one to fix feature detection url = "github:Alexis211/cargo2nix/a7a61179b66054904ef6a195d8da736eaaa06c36"; @@ -20,16 +22,17 @@ "github:oxalica/rust-overlay/74f1a64dd28faeeb85ef081f32cad2989850322c"; inputs.nixpkgs.follows = "nixpkgs"; + inputs.flake-compat.follows = "flake-compat"; }; inputs.flake-utils.follows = "cargo2nix/flake-utils"; - inputs.flake-compat.follows = "cargo2nix/flake-compat"; outputs = { self, nixpkgs, cargo2nix, flake-utils, ... }: let git_version = self.lastModifiedDate; compile = import ./nix/compile.nix; - in flake-utils.lib.eachDefaultSystem (system: + in + flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; in { packages = { From 79ca8e76a43e8df527c68b00ebc10eaceef9daaa Mon Sep 17 00:00:00 2001 From: Florian Klink Date: Sun, 16 Jul 2023 12:47:04 +0300 Subject: [PATCH 2/2] nix/common.nix: use pattern from nix-community/flake-compat This is still a bit confusing, as normally the flake.defaultNix attrset gets exposed via a top-level default.nix, but at least it brings us closer to that. --- nix/common.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/nix/common.nix b/nix/common.nix index acc5ce7e..323c3882 100644 --- a/nix/common.nix +++ b/nix/common.nix @@ -1,14 +1,17 @@ let lock = builtins.fromJSON (builtins.readFile ../flake.lock); - flakeCompatRev = lock.nodes.flake-compat.locked.rev; - flakeCompat = fetchTarball { - url = - "https://github.com/edolstra/flake-compat/archive/${flakeCompatRev}.tar.gz"; - sha256 = lock.nodes.flake-compat.locked.narHash; + + inherit (lock.nodes.flake-compat.locked) owner repo rev narHash; + + flake-compat = fetchTarball { + url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; + sha256 = narHash; }; - flake = ((import flakeCompat) { src = ../.; }).defaultNix; -in rec { - pkgsSrc = flake.inputs.nixpkgs; - cargo2nix = flake.inputs.cargo2nix; + + flake = (import flake-compat { system = builtins.currentSystem; src = ../.; }); +in +rec { + pkgsSrc = flake.defaultNix.inputs.nixpkgs; + cargo2nix = flake.defaultNix.inputs.cargo2nix; cargo2nixOverlay = cargo2nix.overlays.default; }