35 lines
859 B
Nix
35 lines
859 B
Nix
|
# Shell for bootstrapping flake-enabled nix and home-manager
|
||
|
{ pkgs ? let
|
||
|
# If pkgs is not defined, instantiate nixpkgs from locked commit
|
||
|
lock = (builtins.fromJSON (builtins.readFile ./flake.lock)).nodes.nixpkgs.locked;
|
||
|
nixpkgs = fetchTarball {
|
||
|
url = "https://github.com/nixos/nixpkgs/archive/${lock.rev}.tar.gz";
|
||
|
sha256 = lock.narHash;
|
||
|
};
|
||
|
system = builtins.currentSystem;
|
||
|
overlays = [ ]; # Explicit blank overlay to avoid interference
|
||
|
in
|
||
|
import nixpkgs { inherit system overlays; }
|
||
|
, ...
|
||
|
}:
|
||
|
let
|
||
|
in
|
||
|
pkgs.mkShell {
|
||
|
# Enable experimental features without having to specify the argument
|
||
|
NIX_CONFIG = "experimental-features = nix-command flakes";
|
||
|
|
||
|
nativeBuildInputs = with pkgs; [
|
||
|
nix
|
||
|
home-manager
|
||
|
git
|
||
|
nil
|
||
|
nixpkgs-fmt
|
||
|
go-task
|
||
|
sops
|
||
|
pre-commit
|
||
|
gitleaks
|
||
|
mkdocs
|
||
|
mqttui
|
||
|
];
|
||
|
}
|