Support for moving the config directory on linux.
Current location of the configuration directory on linux is `$HOME/.gitkraken/`. The freedesktop XDG Base Directory Specification[1] suggests putting it in `$XDG_CONFIG_HOME/gitkraken` (by default `XDG_CONFIG_HOME=$HOME/.config/`).
Permanently moving the directory would be a breaking change, but many applications are using an environment variable to change this location on a per user basis. (e.g. for gtk2 I can do `export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
`).
This helps keeping users' directories clean, and allows for easier tracking of configuration files (for example for backup purposes).
If this is already an option, I was unable to find it in the documentation.
Thank you.
[1]https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
Comments: 6
-
09 Apr, '22
DanielThe app should respect the `XDG_CONFIG_HOME` environment variable. I also use it on macOS.
2 -
27 Aug, '22
George+1 for this feature. I would also suggest fully implementing `XDG` standard, not just for configuration. I.e. also make use of `$HOME/.local/share` and `$HOME/.cache`.
2
> The app should respect the `XDG_CONFIG_HOME` environment variable. I also use it on macOS.
It doesn't seem to. I have the var explicitly set, yet it still was created in `$HOME/.gitkraken`. -
04 Nov, '23
Yoshikage KiraFor Linux users who want to prevent GitKraken from cluttering their home directory, a temporary workaround is to restrict GitKraken's access to your home directory and add .gitkraken to the list of persistent home directory-relative paths. This can be easily achieved using an application like Flatseal.
1
Also you'll have to manually add access to .ssh, .gnupg, and folder with repo in your home directory. -
12 Nov, '23
Aaron LichtmanIt seems that version 9.10.0 on Linux ALSO creates a `~/.gk/repoMapping.json` file, in addition to the `~/.gitkraken` directory.
5
This is too much clutter in my $HOME directory, and I've deleted the client. -
25 Jan
SebastianPlease use the XDG directory structure:
3
https://wiki.archlinux.org/title/XDG_Base_Directory#User_directories
For example:
$HOME/.config/gitkraken
$HOME/.cache/gitkraken
$HOME/.local/share/gitkraken
$HOME/.local/state/gitkraken
Alternatively, use OS-specific directories:
%LOCALAPPDATA%\Axosoft\GitKraken\User Data (Windows)
$HOME/Library/Application Support/Axosoft/GitKraken (macOS)
$HOME/.config/gitkraken (Linux)
How Chromium does it:
https://chromium.googlesource.com/chromium/src.git/+/62.0.3202.58/docs/user_data_dir.md#default-location -
05 Feb
AlexThis is my only major complaint about gitkraken. The audacity to think that the user wouldn't want to control where you write files to their system is absurd.
2
Let us move it.