Skip to content

Add user-level install script for immutable distributions#67

Open
lazydays79 wants to merge 2 commits intosaint-13:mainfrom
lazydays79:install-in-home-directory
Open

Add user-level install script for immutable distributions#67
lazydays79 wants to merge 2 commits intosaint-13:mainfrom
lazydays79:install-in-home-directory

Conversation

@lazydays79
Copy link
Copy Markdown

Problem

The existing installation scripts (install.sh, Easy_Install.sh,
Interactive_Install.sh) all write to /usr/share, which is read-only on
immutable distributions such as Fedora Silverblue, Bazzite, and Vanilla OS.
This makes it impossible to install the wallpapers on those systems without
workarounds like rpm-ostree overlay or similar.

Solution

This PR adds a new script install_user.sh that installs all wallpapers
into the user's home directory (~/.local/share/) instead of /usr/share/.
GNOME picks up wallpaper definitions from both locations, so the wallpapers
appear in Settings → Background exactly as with a system-wide installation.
Since all XML files contain hardcoded /usr/share/backgrounds/Dynamic_Wallpapers
paths, the script rewrites every XML file on the fly using sed before writing
it to the destination — no pre-patched files are needed in the repository.
No sudo or root access is required at any point.

Changes

  • install_user.sh (new): Installs wallpapers into
    ~/.local/share/backgrounds/Dynamic_Wallpapers/ and picker XMLs into
    ~/.local/share/gnome-background-properties/. All hardcoded /usr/share
    paths in both slideshow XMLs and picker XMLs are rewritten on the fly.
    Supports --uninstall to cleanly remove only the files placed by this script.
  • README.md: Added Method 4 section documenting the new script,
    following the style of the existing installation methods.

Tested on

  • Standard mutable Linux (e.g. Fedora Workstation, Ubuntu)
  • Immutable Linux (e.g. Fedora Silverblue, Bazzite, Vanilla OS)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant