root: shell.nix for nixfmt

This uses the reusable pinned Nixpkgs from the parent commit to create a
shell.nix file for an environment with a pinned nixfmt version.
This commit is contained in:
Silvan Mosberger 2024-06-26 01:07:09 +02:00
parent b33ac05d04
commit a70ab58960
3 changed files with 61 additions and 1 deletions

30
shell.nix Normal file
View file

@ -0,0 +1,30 @@
# 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
{
system ? builtins.currentSystem,
}:
let
pinnedNixpkgs = builtins.fromJSON (builtins.readFile ci/pinned-nixpkgs.json);
nixpkgs = fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/${pinnedNixpkgs.rev}.tar.gz";
sha256 = pinnedNixpkgs.sha256;
};
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
];
}