Skip to content

Adapt install.sh to the XDG Base Directory SpecificationΒ #3963

Closed as not planned

Description

@hugo-sama

πŸ“ Provide a description of the new feature

As the title suggests.
I am aware of the conversation happened in #3742. But this issue is definitely worth revisiting.

βž• Additional Information

https://specifications.freedesktop.org/basedir/latest/

Environment Variable Fallback Path
XDG_DATA_HOME ~/.local/share
XDG_CONFIG_HOME ~/.config
XDG_STATE_HOME ~/.local/state
XDG_CACHE_HOME ~/.cache

Activity

  1. hugo-sama commented on Sep 22, 2026

    @hugo-sama
    Author

    To add to this, it is not just about making install.sh adapt to the XDG Base Directory Specification. Back in January 2023, PR #2092 by @dbolger introduced a feature that creates install.log directly under users home directory without removing it after the installation finishes. 1d329a7#diff-043df5bdbf6639d7a77e1d44c5226fd7371e5259a1e4df3a0dd5d64c30dca44fR12

    After a couple of months, this home dir log dumping would become a feature existing for half of the project's lifetime, and also could result in "major" change. Linux user dont like this either.

  2. rxri commented on Sep 22, 2026

    @rxri
    Member

    I'm still standing by my decision in the linked issue. Install log is not deleted because if we would remove it after "installation" there won't be any log. What we can do is remove logs on next run of the install scripts

  3. afonsojramos commented on Sep 22, 2026

    @afonsojramos
    Member

    @rxri what if we removed it in the CLI on the first successful run? Since the need for the log is mostly for installation errors and if everything is working then there is no need for the log

  4. dbolger commented on Sep 22, 2026

    @dbolger
    Contributor

    @rxri @afonsojramos I think we should keep the install.log even on first install. However, and correct me if I'm mistaken here, but if it's creating the file in the user's home directory, maybe we should consider moving it somewhere like /home/{USER}/.config/spicetify/install.log.

  5. hugo-sama commented on Sep 22, 2026

    @hugo-sama
    Author

    Are you genuinely think that dumping installation log to user's home directory is an acceptable option, not to mention never removing it?

    And referencing bun for not using XDG Spec to justify this non related project? Bun themself already causing problem because of not adapting XDG Spec oven-sh/bun#43665, and theres already ppl submit issue about this 4 years ago, and its before Bum hit version 1.0.0 oven-sh/bun#1678

    This makes me wonder, why using dot prefix for spicetify installation ~/.spicetify at the first place? Why not ~/Documents/Spicetify, /spicetify or /run/spicetify. Since using dot prefix for directory name is an convention not an forceful Unix/Linux standard. They are only "hidden" because ls hardcoded to ignore them.

  6. dbolger commented on Sep 22, 2026

    @dbolger
    Contributor

    Having the log eventually deleted via something like logrotate would be nice, but, I'm not inclined to think we should delete that file upon successful install. It might report success but be a failure. There are many scenarios you would want the log even if it was successful. As for conventions on where the file should live, I don't like it dropping in the user's home directory. An easy win would be in /tmp which would get purged on next reboot. But a better solution would be something like logrotate. However there's no guarantee the user will have it installed, so I don't know if even that is the best option.

  7. hugo-sama commented on Sep 23, 2026

    @hugo-sama
    Author

    @rxri I did asked some questions above and waiting for the active maintainers' answer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions