I’m trying to install isd but I’m running into an issue where flake.nix
keeps pulling in nixpkgs-unstable
, even though I have explicitly overridden nixpkgs
in my inputs. My flake.nix
looks like this:
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
...
isd = {
url = "github:isd-project/isd";
inputs.nixpkgs.follows = "nixpkgs";
};
};
Despite this, I keep seeing nixpkgs-unstable
appear in my flake.lock
. I suspect that one of isd’s dependencies is introducing it, but I’m not sure how to confirm or fix this.
These are isd’s inputs
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
pyproject-nix = {
url = "github:pyproject-nix/pyproject.nix";
inputs.nixpkgs.follows = "nixpkgs";
};
uv2nix = {
url = "github:pyproject-nix/uv2nix";
inputs.pyproject-nix.follows = "pyproject-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
pyproject-build-systems = {
url = "github:pyproject-nix/build-system-pkgs";
inputs.pyproject-nix.follows = "pyproject-nix";
inputs.uv2nix.follows = "uv2nix";
inputs.nixpkgs.follows = "nixpkgs";
};
systems.url = "github:nix-systems/x86_64-linux";
nix-filter.url = "github:numtide/nix-filter";
# pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
systemd-nix = {
url = "github:serokell/systemd-nix";
inputs.nixpkgs.follows = "nixpkgs"; # Make sure the nixpkgs version matches
};
nix-appimage = {
url = "github:ralismark/nix-appimage";
};
What’s the best way to fully enforce my chosen nixpkgs
version and prevent nixpkgs-unstable
from sneaking in?
I’d like to avoid pulling different pkg versions, so my system doesn’t get into a state where there’s conflicting systemd services versions, etc. Or taking too much space for having too many packages duplicated.
Am I overreacting to this? What are the best practices?
Any insights would be greatly appreciated!