flake/dev: rename nixpkgs input to avoid shadowing

Rename `inputs.nixpkgs` to `inputs.dev-nixpkgs` to avoid shadowing the
root flake's `inputs.nixpkgs`.

Having the dev flake shadow an input can be confusing, since overriding
the root flake's input will have no effect when evaluating outputs that
depend on the dev partition.

The only reason we specify a `nixpkgs` input at all here, is so the
other inputs can follow it.

Once nix 2.26 is more prevalent, we can follow the root flake's inputs
using a `"path:../.."` input.
This commit is contained in:
Matt Sturgeon 2025-03-28 04:41:55 +00:00
parent 1c0dd320d9
commit 8e732cfac1
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299
2 changed files with 10 additions and 7 deletions

View file

@ -126,7 +126,7 @@ jobs:
root_nixpkgs=$(nix eval --raw --file . 'inputs.nixpkgs.rev')
old=$(git show --no-patch --format=%h)
nix flake update --commit-lock-file \
--override-input nixpkgs "github:NixOS/nixpkgs/$root_nixpkgs" \
--override-input 'dev-nixpkgs' "github:NixOS/nixpkgs/$root_nixpkgs" \
--flake './flake/dev'
new=$(git show --no-patch --format=%h)
if [ "$old" != "$new" ]; then

View file

@ -2,33 +2,36 @@
description = "Private inputs for development purposes. These are used by the top level flake in the `dev` partition, but do not appear in consumers' lock files.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
# NOTE: Use a different name to the root flake's inputs.nixpkgs to avoid shadowing it.
# NOTE: The only reason we specify a nixpkgs input at all here, is so the other inputs can follow it.
# TODO: Once nix 2.26 is more prevalent, follow the root flake's inputs using a "path:../.." input.
dev-nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
nix-darwin = {
url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "dev-nixpkgs";
};
flake-compat.url = "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz";
git-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "dev-nixpkgs";
inputs.flake-compat.follows = "flake-compat";
};
};