I just started using
nixpkg on a Manjaro install (nixnoob here), and wanted to install
instantWM and dependecies (i.e. the
instantnix meta package) as a nice use case, because it’s in constant flux and I’m also contributing to it, and
nix appears an ideal solution when the “daily driver” is at the same time the “test platform”.
So, what happend:
$ nix-env -i nur.repos.instantos.instantnix ... trying https://raw.githubusercontent.com/instantOS/instantos.github.io/master/youtube/hotkeys.md ... hash mismatch in fixed-output derivation '/nix/store/7sd8rp0p6gp3j4yw4qhd97g2q6sfynjp-hotkeys.md': wanted: sha256:1s4gzhmxvzrqbpvkr0j1cmr71is2iy13mklvh3yxq6gnk52ph822 got: sha256:1d9fzngdac99rc36g5flif3xzgrbl0k7b69dy9dzp8qf886z880b
For my normal
nixpkgs clone (I use it for contributing PRs), I’d just go to the expression, change the
sha and submit a PR.
But from my (naive) analysis, in this case, I’d have to
- make the fix,
- put in a PR,
- wait until it’s merged
So the questions become:
- can I “directly” override the
shasomewhere on my local system, to at least get further in building everything so I could later solve any issues in one go? (I noticed
repos.json.lock, is there something similar I can use locally, and how to inform
- what is the “best practice”, i.e. most efficient way to transparently handle the
NUR+ any fixes I’d want to make?
The main purpose of (2) is being to be able to pull in a
NUR package with many deps, and override a few specific packages of the deps with local clones or forks on github transparently, e.g. with a file in my
~/.config/nixpkgs/ dir specifying a list of such packages.