52 lines
1.2 KiB
Nix
52 lines
1.2 KiB
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
|
|
# setup the ssssnaaake
|
|
my-python = pkgs.python311;
|
|
python-with-my-packages = my-python.withPackages
|
|
(p: with p; [
|
|
mkdocs-material
|
|
mkdocs-minify
|
|
pygments
|
|
]);
|
|
in
|
|
pkgs.mkShell {
|
|
# Enable experimental features without having to specify the argument
|
|
NIX_CONFIG = "experimental-features = nix-command flakes";
|
|
|
|
buildInputs = [
|
|
python-with-my-packages
|
|
];
|
|
shellHook = ''
|
|
PYTHONPATH=${python-with-my-packages}/${python-with-my-packages.sitePackages}
|
|
'';
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
nix
|
|
home-manager
|
|
git
|
|
nil
|
|
nixpkgs-fmt
|
|
go-task
|
|
sops
|
|
pre-commit
|
|
gitleaks
|
|
mkdocs
|
|
mqttui
|
|
|
|
];
|
|
}
|