nix-env: Ignore failures creating ~/.nix-profile and ~/.nix-defexpr
https://hydra.nixos.org/build/102803093 (cherry picked from commit c3aaf3b8da1a925c569389f13a861816a781a3c8)
This commit is contained in:
		
							parent
							
								
									e3d44a3b83
								
							
						
					
					
						commit
						21f48ff26a
					
				
					 1 changed files with 20 additions and 14 deletions
				
			
		|  | @ -1328,14 +1328,16 @@ static int _main(int argc, char * * argv) | |||
|         globals.instSource.systemFilter = "*"; | ||||
| 
 | ||||
|         if (!pathExists(globals.instSource.nixExprPath)) { | ||||
|             createDirs(globals.instSource.nixExprPath); | ||||
|             replaceSymlink( | ||||
|                 fmt("%s/profiles/per-user/%s/channels", settings.nixStateDir, getUserName()), | ||||
|                 globals.instSource.nixExprPath + "/channels"); | ||||
|             if (getuid() != 0) | ||||
|             try { | ||||
|                 createDirs(globals.instSource.nixExprPath); | ||||
|                 replaceSymlink( | ||||
|                     fmt("%s/profiles/per-user/root/channels", settings.nixStateDir), | ||||
|                     globals.instSource.nixExprPath + "/channels_root"); | ||||
|                     fmt("%s/profiles/per-user/%s/channels", settings.nixStateDir, getUserName()), | ||||
|                     globals.instSource.nixExprPath + "/channels"); | ||||
|                 if (getuid() != 0) | ||||
|                     replaceSymlink( | ||||
|                         fmt("%s/profiles/per-user/root/channels", settings.nixStateDir), | ||||
|                         globals.instSource.nixExprPath + "/channels_root"); | ||||
|             } catch (Error &) { } | ||||
|         } | ||||
| 
 | ||||
|         globals.dryRun = false; | ||||
|  | @ -1430,14 +1432,18 @@ static int _main(int argc, char * * argv) | |||
| 
 | ||||
|         if (globals.profile == "") { | ||||
|             Path profileLink = getHome() + "/.nix-profile"; | ||||
|             if (!pathExists(profileLink)) { | ||||
|                 replaceSymlink( | ||||
|                     getuid() == 0 | ||||
|                     ? settings.nixStateDir + "/profiles/default" | ||||
|                     : fmt("%s/profiles/per-user/%s/profile", settings.nixStateDir, getUserName()), | ||||
|                     profileLink); | ||||
|             try { | ||||
|                 if (!pathExists(profileLink)) { | ||||
|                     replaceSymlink( | ||||
|                         getuid() == 0 | ||||
|                         ? settings.nixStateDir + "/profiles/default" | ||||
|                         : fmt("%s/profiles/per-user/%s/profile", settings.nixStateDir, getUserName()), | ||||
|                         profileLink); | ||||
|                 } | ||||
|                 globals.profile = absPath(readLink(profileLink), dirOf(profileLink)); | ||||
|             } catch (Error &) { | ||||
|                 globals.profile = profileLink; | ||||
|             } | ||||
|             globals.profile = absPath(readLink(profileLink), dirOf(profileLink)); | ||||
|         } | ||||
| 
 | ||||
|         op(globals, opFlags, opArgs); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue