Source roots that need to be renamed before they can be used
This article was originally published at https://gist.github.com/joepie91/b0041188c043259e6e1059d026eff301.
Some applications (such as Brackets) are very picky about the directory name(s) of your unpacked source(s). In this case, you might need to rename one or more source roots before cd
ing into them.
To accomplish this, do something like the following:
{ # ... sourceRoot = "."; postUnpack = '' mv brackets-release-${version} brackets mv brackets-shell-${shellBranch} brackets-shell cd brackets-shell; ''; # ... }
This keeps Nix from trying to move into the source directories immediately, by explicitly pointing it at the current (ie. top-most) directory of the environment.