Last active
October 13, 2024 16:17
-
-
Save LnL7/570349866bb69467d0caf5cb175faa74 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| self: super: | |
| { | |
| # Install overlay: | |
| # $ mkdir -p ~/.config/nixpkgs/overlays | |
| # $ curl https://gist.githubusercontent.com/LnL7/570349866bb69467d0caf5cb175faa74/raw/3f3d53fe8e8713ee321ee894ecf76edbcb0b3711/lnl-overlay.nix -o ~/.config/nixpkgs/overlays/lnl.nix | |
| userPackages = super.userPackages or {} // { | |
| # Example: | |
| hello = self.hello; | |
| # add more packages here... | |
| # Default packages: | |
| # cacert = self.cacert; | |
| # nix = self.nix; # don't enable this on multi-user. | |
| nix-rebuild = super.writeScriptBin "nix-rebuild" '' | |
| #!${super.stdenv.shell} | |
| if ! command -v nix-env &>/dev/null; then | |
| echo "warning: nix-env was not found in PATH, add nix to userPackages" >&2 | |
| PATH=${self.nix}/bin:$PATH | |
| fi | |
| exec nix-env -f '<nixpkgs>' -r -iA userPackages "$@" | |
| ''; | |
| }; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@Amir-Ahmad Oh I think you probably put this in
~/.config/nixpkgs/overlays/directly, yes? I suppose I should have elaborated. Your directory structure should look likeThe nested folder name (
userPackagesabove) doesn't matter, but the two files do need to be nested in a folder, and the main file isdefault.nixin this folder.What this does is it makes
userPackages/default.nixto be the actual overlay, and that in turn imports./packages.nixto construct theuserPackagesset. By putting both files in the top level overlays folder you instead make them two separate overlays and thepackages.nixfile is then trying to overwrite each package with itself, which causes infinite recursion.