add getDefaultProfileLink()

Change-Id: I38c74da1cf144f50d88ac32eb2afd20388481d06
This commit is contained in:
Qyriad 2024-05-11 17:23:25 -06:00
parent 220b50ad24
commit aed917e04d
2 changed files with 18 additions and 0 deletions

View file

@ -315,6 +315,18 @@ Path rootProfilesDir()
return settings.nixStateDir + "/profiles/per-user/root";
}
Path getDefaultProfileLink()
{
if (getuid() == 0) {
return settings.nixStateDir + "/profiles/default";
}
if (settings.useXDGBaseDirectories) {
return createNixStateDir() + "/profile";
}
return getHome() + "/.nix-profile";
}
Path ensureDefaultProfile()
{
Path const profileLink = getDefaultProfileLink();

View file

@ -227,6 +227,12 @@ Path defaultChannelsDir();
*/
Path rootChannelsDir();
/**
* Get the symlink that is used as the default profile, but do not resolve it.
* (see getDefaultProfile() for where that link is.)
*/
Path getDefaultProfileLink();
/**
* Resolve the default profile (~/.nix-profile by default,
* $XDG_STATE_HOME/nix/profile if XDG Base Directory Support is enabled).