@@ -232,7 +232,6 @@ type Config struct {
232
232
sourceState * chezmoi.SourceState
233
233
sourceStateErr error
234
234
templateData * templateData
235
- runEnv []string
236
235
237
236
stdin io.Reader
238
237
stdout io.Writer
@@ -710,9 +709,7 @@ func (c *Config) createAndReloadConfigFile(cmd *cobra.Command) error {
710
709
return err
711
710
}
712
711
c .templateData .sourceDir = sourceDirAbsPath
713
- c .runEnv = append (c .runEnv , "CHEZMOI_SOURCE_DIR=" + sourceDirAbsPath .String ())
714
- realSystem := c .baseSystem .UnderlyingSystem ().(* chezmoi.RealSystem ) //nolint:forcetypeassert
715
- realSystem .SetScriptEnv (c .runEnv )
712
+ os .Setenv ("CHEZMOI_SOURCE_DIR" , sourceDirAbsPath .String ())
716
713
717
714
// Find config template, execute it, and create config file.
718
715
configTemplate , err := c .findConfigTemplate ()
@@ -1705,7 +1702,6 @@ func (c *Config) newSourceState(
1705
1702
chezmoi .WithLogger (& sourceStateLogger ),
1706
1703
chezmoi .WithMode (c .Mode ),
1707
1704
chezmoi .WithPriorityTemplateData (c .Data ),
1708
- chezmoi .WithScriptEnv (c .runEnv ),
1709
1705
chezmoi .WithSourceDir (c .SourceDirAbsPath ),
1710
1706
chezmoi .WithSystem (c .sourceSystem ),
1711
1707
chezmoi .WithTemplateFuncs (c .templateFuncs ),
@@ -2091,9 +2087,8 @@ func (c *Config) persistentPreRunRootE(cmd *cobra.Command, args []string) error
2091
2087
}
2092
2088
}
2093
2089
2094
- scriptEnv := os .Environ ()
2095
2090
templateData := c .getTemplateData (cmd )
2096
- scriptEnv = append ( scriptEnv , "CHEZMOI= 1" )
2091
+ os . Setenv ( "CHEZMOI" , "1" )
2097
2092
for key , value := range map [string ]string {
2098
2093
"ARCH" : templateData .arch ,
2099
2094
"ARGS" : strings .Join (templateData .args , " " ),
@@ -2112,10 +2107,10 @@ func (c *Config) persistentPreRunRootE(cmd *cobra.Command, args []string) error
2112
2107
"USERNAME" : templateData .username ,
2113
2108
"WORKING_TREE" : templateData .workingTree .String (),
2114
2109
} {
2115
- scriptEnv = append ( scriptEnv , "CHEZMOI_" + key + "=" + value )
2110
+ os . Setenv ( "CHEZMOI_" + key , value )
2116
2111
}
2117
2112
if c .Verbose {
2118
- scriptEnv = append ( scriptEnv , "CHEZMOI_VERBOSE= 1" )
2113
+ os . Setenv ( "CHEZMOI_VERBOSE" , "1" )
2119
2114
}
2120
2115
for groupKey , group := range map [string ]map [string ]any {
2121
2116
"KERNEL" : templateData .kernel ,
@@ -2124,16 +2119,14 @@ func (c *Config) persistentPreRunRootE(cmd *cobra.Command, args []string) error
2124
2119
"WINDOWS_VERSION" : templateData .windowsVersion ,
2125
2120
} {
2126
2121
for key , value := range group {
2127
- upperSnakeCaseKey := camelCaseToUpperSnakeCase (key )
2122
+ key := "CHEZMOI_" + groupKey + "_" + camelCaseToUpperSnakeCase (key )
2128
2123
valueStr := fmt .Sprintf ("%s" , value )
2129
- scriptEnv = append ( scriptEnv , "CHEZMOI_" + groupKey + "_" + upperSnakeCaseKey + "=" + valueStr )
2124
+ os . Setenv ( key , valueStr )
2130
2125
}
2131
2126
}
2132
2127
for key , value := range c .ScriptEnv {
2133
- scriptEnv = append ( scriptEnv , key + "=" + value )
2128
+ os . Setenv ( key , value )
2134
2129
}
2135
- c .runEnv = scriptEnv
2136
- realSystem .SetScriptEnv (scriptEnv )
2137
2130
2138
2131
if command := c .Hooks [cmd .Name ()].Pre ; command .Command != "" {
2139
2132
if err := c .run (c .homeDirAbsPath , command .Command , command .Args ); err != nil {
@@ -2326,7 +2319,6 @@ func (c *Config) run(dir chezmoi.AbsPath, name string, args []string) error {
2326
2319
}
2327
2320
cmd .Dir = dirRawAbsPath .String ()
2328
2321
}
2329
- cmd .Env = c .runEnv
2330
2322
cmd .Stdin = c .stdin
2331
2323
cmd .Stdout = c .stdout
2332
2324
cmd .Stderr = c .stderr
0 commit comments