Skip to content

[Feature request] follow xdg variables. #13

@Samueru-sama

Description

@Samueru-sama

Hi @mgord9518 thank you for all the recent work and fixes done to aisap. I really like how this is turning out.

Suggestion

Make aisap follow xdg user dirs variables instead of using hardcoded values.

For example instead of XDG_DOCUMENTS_DIR being hardcoded as ~/Documents aisap should check if it defined in user-dirs.dirs else it defaults to using ~/Documents.

This also applies to the xdg base dir variables, that is for example check if the $XDG_CONFIG_HOME variable is defined, else default to using ~/.config

Use case

This allows using aisap easily on non English systems. As the default permissions assume that you have a ~/Documents, ~/Videos, directory instead of using their name in other languages in user-dirs.dirs.

And following the xdg base dir variables is for me xd, as I have all of those defined inside ~/.local.


This can also be extended beyond what the xdg spec calls, for example instead of having ~/Games and ~/ROMs rules like it happens with the emulators, aisap can instead allow and look for XDG_GAMES_DIR which if not set defaults to ~/Games.

That way the user can define their XDG_GAMES_DIR to whatever name they want and aisap automatically uses that location instead.

XDG_GAMES_DIR is not something I invented, if you google it you will see that several people already use it and want it in the spec as well.

iirc NixOS did something similar with XDG_BIN_HOME, it isn't part of the spec but it is very useful to have it as that allows moving and renaming that location.

Possible issue

aisap has to check that none of these variables get defined as $HOME or $HOME/ as we discovered that can happen when testing in am, hopefully it is not too big of a deal to add such check.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions