@@ -156,6 +156,19 @@ func main() {
156156 }
157157}
158158
159+ func getConfigDir () string {
160+ configDir , err := os .UserConfigDir ()
161+ if err != nil {
162+ log .Fatalf ("Error loading creds: %v\n " , err )
163+ }
164+ configDir = filepath .Join (configDir , "s1h" )
165+ err = os .MkdirAll (configDir , 0755 )
166+ if err != nil {
167+ log .Fatalf ("Error loading creds: %v\n " , err )
168+ }
169+ return configDir
170+ }
171+
159172func loadConfigs () []ssh.SSHConfig {
160173 configPath := os .Getenv ("SSH_CONFIG" )
161174 if configPath == "" {
@@ -167,10 +180,7 @@ func loadConfigs() []ssh.SSHConfig {
167180 log .Fatalf ("Error loading creds: %v\n " , err )
168181 }
169182
170- configDir , err := os .UserConfigDir ()
171- if err != nil {
172- log .Fatalf ("Error loading creds: %v\n " , err )
173- }
183+ configDir := getConfigDir ()
174184
175185 masterKeyFile := filepath .Join (configDir , masterKeyFileName )
176186 credsFile := filepath .Join (configDir , credsFileName )
@@ -189,15 +199,11 @@ func loadConfigs() []ssh.SSHConfig {
189199
190200func startMainTUI (configs []ssh.SSHConfig ) {
191201
192- configDir , err := os .UserConfigDir ()
193- if err != nil {
194- log .Fatalf ("Error loading creds: %v\n " , err )
195- }
196-
202+ configDir := getConfigDir ()
197203 historyFile := filepath .Join (configDir , historyFileName )
198204
199205 tui .PopulateAutocompleteCaches (configs )
200- err = ssh .LoadSCPHistory (historyFile )
206+ err : = ssh .LoadSCPHistory (historyFile )
201207 if err != nil {
202208 log .Fatalf ("Error loading scp history" )
203209 }
@@ -206,15 +212,11 @@ func startMainTUI(configs []ssh.SSHConfig) {
206212}
207213
208214func loadOrStoreLocalEncryptedFile () ([]byte , string ) {
209- configDir , err := os .UserConfigDir ()
210- if err != nil {
211- fmt .Println ("Cannot access config dir: " , err .Error ())
212- os .Exit (1 )
213- }
215+ configDir := getConfigDir ()
214216 masterKeyFile := filepath .Join (configDir , masterKeyFileName )
215217 credsFile := filepath .Join (configDir , credsFileName )
216218
217- _ , err = os .Stat (masterKeyFile )
219+ _ , err : = os .Stat (masterKeyFile )
218220 if err != nil {
219221 key , err := credentials .GenerateMasterKey ()
220222 if err != nil {
0 commit comments