mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 08:23:09 +00:00
b07c441987
This allows shell.nix to be run with the latest tools instead of the pinned ones when desired, which is probably not very often, but useful nonetheless.
39 lines
1.1 KiB
Nix
39 lines
1.1 KiB
Nix
# A shell to get tooling for Nixpkgs development
|
|
#
|
|
# Note: We intentionally don't use Flakes here,
|
|
# because every time you change any file and do another `nix develop`,
|
|
# it would create another copy of the entire ~500MB tree in the store.
|
|
# See https://github.com/NixOS/nix/pull/6530 for the future
|
|
#
|
|
# Note: We use a pinned Nixpkgs so that the tools are readily available even
|
|
# when making changes that would otherwise require a new build of those tools.
|
|
# If you'd like to test out changes to the tools themselves, you can pass
|
|
#
|
|
# nix-shell --arg nixpkgs ./.
|
|
#
|
|
let
|
|
pinnedNixpkgs = builtins.fromJSON (builtins.readFile ci/pinned-nixpkgs.json);
|
|
in
|
|
{
|
|
system ? builtins.currentSystem,
|
|
|
|
nixpkgs ? fetchTarball {
|
|
url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgs.rev}.tar.gz";
|
|
sha256 = pinnedNixpkgs.sha256;
|
|
},
|
|
}:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config = {};
|
|
overlays = [];
|
|
};
|
|
in
|
|
pkgs.mkShellNoCC {
|
|
packages = [
|
|
# The default formatter for Nix code
|
|
# https://github.com/NixOS/nixfmt
|
|
pkgs.nixfmt-rfc-style
|
|
];
|
|
}
|