Guest User

Untitled

a guest
Sep 25th, 2025
110
0
333 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.64 KB | None | 0 0
  1. mkdir --parents "$HOME/.config/systemd/user"
  2. mkdir --parents "$HOME/.local/bin/flatpak"
  3. cat > "$HOME/.local/bin/flatpak/symlink.sh" << 'EOF'
  4. #!/usr/bin/env bash
  5. PATH_EXECUTABLES="$HOME/.local/bin" # make sure this is included in $PATH
  6.  
  7. createSymlink() {
  8.     flatpakExecutable="$1"
  9.     if [ -e "$flatpakExecutable" ] ; then
  10.         appId="$(basename $flatpakExecutable)" # (e. g. org.example.TextEditor)
  11.         appName="$(printf %s $appId | rev | cut --delimiter='.' --fields='1' | rev | tr '[:upper:]' '[:lower:]')" # lowercase representation of the application name without the domain name (e. g. texteditor)
  12.  
  13.         ln --symbolic "$flatpakExecutable" "$PATH_EXECUTABLES/$appName" 2> /dev/null
  14.     fi
  15. }
  16.  
  17. mkdir --parents "$PATH_EXECUTABLES"
  18. find "$PATH_EXECUTABLES/" -lname "${XDG_DATA_HOME:-$HOME/.local/share}/flatpak/exports/bin/*" -delete
  19. find "$PATH_EXECUTABLES/" -lname "/var/lib/flatpak/exports/bin/*" -delete
  20.  
  21. for file in "${XDG_DATA_HOME:-$HOME/.local/share}/flatpak/exports/bin/"* ; do
  22.     createSymlink "$file"
  23. done
  24.  
  25. for file in "/var/lib/flatpak/exports/bin/"* ; do
  26.     createSymlink "$file"
  27. done
  28. EOF
  29. chmod +x "$HOME/.local/bin/flatpak/symlink.sh"
  30. printf "[Unit]\nDescription=Symlink Flatpak applications to ~/.local/bin/\n\n[Service]\nExecStart=%s/.local/bin/flatpak/symlink.sh\nType=oneshot\n\n[Install]\nWantedBy=default.target" "$HOME" | tee "$HOME/.config/systemd/user/flatpak-symlink.service"
  31. printf "[Unit]\nDescription=Hourly symlinks Flatpak apps to ~/.local/bin/\n\n[Timer]\nOnBootSec=1min\nOnUnitInactiveSec=1h\n\n[Install]\nWantedBy=timers.target" | tee "$HOME/.config/systemd/user/flatpak-symlink.timer"
  32. systemctl enable --now --user flatpak-symlink.timer
Advertisement
Add Comment
Please, Sign In to add comment