configDir top-level property

String get configDir

Implementation

String get configDir {
  final env = Platform.environment;

  if (Platform.isLinux || Platform.isMacOS) {
    // Linux: ~/.config/
    // macOS: ~/Library/Application Support/ (though ~/.config is often used for TUIs)
    // We use ~/.config/ for better TUI compatibility on Linux/macOS.
    return env['HOME'] != null ? p.join(env['HOME']!, '.config') : '';
  } else if (Platform.isWindows) {
    // Windows: %APPDATA% (e.g., C:\Users\user\AppData\Roaming)
    return env['APPDATA'] ?? '';
  }
  // Fallback for other or unknown OS
  return env['HOME'] ?? '.';
}