* Use the profile pointed to by ~/.nix-profile if no --profile
argument is specified.
This commit is contained in:
		
							parent
							
								
									66e94d3275
								
							
						
					
					
						commit
						49bafe1faf
					
				
					 2 changed files with 12 additions and 7 deletions
				
			
		|  | @ -101,7 +101,7 @@ bool pathExists(const Path & path) | |||
| { | ||||
|     int res; | ||||
|     struct stat st; | ||||
|     res = stat(path.c_str(), &st); | ||||
|     res = lstat(path.c_str(), &st); | ||||
|     if (!res) return true; | ||||
|     if (errno != ENOENT) | ||||
|         throw SysError(format("getting status of %1%") % path); | ||||
|  |  | |||
|  | @ -645,12 +645,11 @@ static void opSwitchProfile(Globals & globals, | |||
| { | ||||
|     if (opFlags.size() > 0) | ||||
|         throw UsageError(format("unknown flags `%1%'") % opFlags.front()); | ||||
|     if (opArgs.size() > 1) | ||||
|         throw UsageError(format("`--profile' takes at most one argument")); | ||||
|     if (opArgs.size() != 1) | ||||
|         throw UsageError(format("`--profile' takes exactly one argument")); | ||||
| 
 | ||||
|     Path profile =  | ||||
|         absPath(opArgs.size() == 0 ? globals.profile : opArgs.front()); | ||||
|     Path profileLink = getHomeDir() + "/.nix-userenv"; | ||||
|     Path profile = opArgs.front(); | ||||
|     Path profileLink = getHomeDir() + "/.nix-profile"; | ||||
| 
 | ||||
|     switchLink(profileLink, profile); | ||||
| } | ||||
|  | @ -680,7 +679,6 @@ void run(Strings args) | |||
|     Operation op = 0; | ||||
|      | ||||
|     Globals globals; | ||||
|     globals.profile = canonPath(nixStateDir + "/profiles/default"); | ||||
|     globals.nixExprPath = getDefNixExprPath(); | ||||
| 
 | ||||
|     for (Strings::iterator i = args.begin(); i != args.end(); ++i) { | ||||
|  | @ -723,6 +721,13 @@ void run(Strings args) | |||
| 
 | ||||
|     if (!op) throw UsageError("no operation specified"); | ||||
| 
 | ||||
|     if (globals.profile == "") { | ||||
|         Path profileLink = getHomeDir() + "/.nix-profile"; | ||||
|         globals.profile = pathExists(profileLink) | ||||
|             ? absPath(readLink(profileLink), dirOf(profileLink)) | ||||
|             : canonPath(nixStateDir + "/profiles/default"); | ||||
|     } | ||||
|      | ||||
|     openDB(); | ||||
| 
 | ||||
|     op(globals, opFlags, opArgs); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue