printSetupComplete prints the completion message
()
| 172 | |
| 173 | // printSetupComplete prints the completion message |
| 174 | func printSetupComplete() { |
| 175 | // Get socket path |
| 176 | home, _ := os.UserHomeDir() |
| 177 | socketPath := filepath.Join(home, ".fssh", "agent.sock") |
| 178 | |
| 179 | // Try to load config to get actual socket path |
| 180 | if cfg, err := config.Load(); err == nil && cfg.Socket != "" { |
| 181 | socketPath = cfg.Socket |
| 182 | } |
| 183 | |
| 184 | fmt.Println() |
| 185 | fmt.Println("╔══════════════════════════════════════════════════════════╗") |
| 186 | fmt.Println("║ Setup Complete! 🎉 ║") |
| 187 | fmt.Println("╚══════════════════════════════════════════════════════════╝") |
| 188 | fmt.Println() |
| 189 | fmt.Println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━") |
| 190 | fmt.Println("⚠️ IMPORTANT: Set environment variable in your shell") |
| 191 | fmt.Println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━") |
| 192 | fmt.Println() |
| 193 | fmt.Println("Add this line to your shell configuration file:") |
| 194 | fmt.Println() |
| 195 | fmt.Printf(" export SSH_AUTH_SOCK=%s\n", socketPath) |
| 196 | fmt.Println() |
| 197 | fmt.Println("Shell configuration files:") |
| 198 | fmt.Println(" • bash: ~/.bashrc or ~/.bash_profile") |
| 199 | fmt.Println(" • zsh: ~/.zshrc") |
| 200 | fmt.Println(" • fish: ~/.config/fish/config.fish") |
| 201 | fmt.Println() |
| 202 | fmt.Println("Then reload your shell:") |
| 203 | fmt.Println(" source ~/.zshrc # or your shell config file") |
| 204 | fmt.Println() |
| 205 | fmt.Println("Or for current session only:") |
| 206 | fmt.Printf(" export SSH_AUTH_SOCK=%s\n", socketPath) |
| 207 | fmt.Println() |
| 208 | fmt.Println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━") |
| 209 | fmt.Println() |
| 210 | fmt.Println("Next Steps:") |
| 211 | fmt.Println() |
| 212 | fmt.Println("1. Set the environment variable (see above)") |
| 213 | fmt.Println() |
| 214 | fmt.Println("2. Test your setup:") |
| 215 | fmt.Println(" ssh your-server # Should prompt for Touch ID/OTP") |
| 216 | fmt.Println() |
| 217 | fmt.Println("3. Manage your keys:") |
| 218 | fmt.Println(" fssh list # List imported keys") |
| 219 | fmt.Println(" fssh import # Import more keys") |
| 220 | fmt.Println(" fssh shell # Interactive SSH management") |
| 221 | fmt.Println() |
| 222 | fmt.Println("4. Agent will auto-start on login via LaunchAgent") |
| 223 | fmt.Println() |
| 224 | } |
no test coverage detected