├── install.sh ├── README.md ├── .bashrc.d ├── fedora-to-flatpak ├── add-flatpak-remote └── silverblue-misc └── LICENSE /install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cp -r .bashrc.d ~/ 4 | source ~/.bashrc 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Formillion 2 | 3 | Tools to shape Fedora to better fit me 4 | 5 | ## Usage 6 | 7 | ### add-flatpak-remote (afr) 8 | 9 | Add Flatpak user remote(s) with sensible titles for display in GNOME Software. For example: 10 | 11 | ```sh 12 | afr flathub 13 | ``` 14 | 15 | You can also pass in multiple remote names e.g.: 16 | 17 | ```sh 18 | afr flathub appcenter 19 | ``` 20 | 21 | ### fedora-to-flathub (f2fh) 22 | 23 | Uninstall apps from the Fedora remote and install them from a system-added Flathub remote. For example: 24 | 25 | ```sh 26 | f2fh org.gnome.Calculator 27 | ``` 28 | 29 | You can also pass in multiple Flatpak app IDs, e.g.: 30 | 31 | ```sh 32 | f2fh org.gnome.Calculator org.gnome.eog 33 | ``` 34 | 35 | Or, to do all the Fedora apps in one go (**exprimental**; may unnecessarily uninstall and reinstall non-Fedora Flatpaks!): 36 | 37 | ```sh 38 | f2fh --all 39 | ``` 40 | 41 | ## Installation 42 | 43 | Copy the `.bashrc.d` folder into your own `~/`. 44 | -------------------------------------------------------------------------------- /.bashrc.d/fedora-to-flatpak: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # fedora-to-flatpak (f2fh) 4 | # 5 | # Uninstall apps from the Fedora remote and install them from a system-added 6 | # Flathub remote. 7 | 8 | function fedora-to-flathub { 9 | flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 10 | flatpak remote-modify --system flathub --no-filter --title="Flathub (System)" --description="Central repository of Flatpak applications" 11 | 12 | if [ "$1" == "--all" ]; then 13 | for app in `flatpak remote-ls fedora --app --columns=application`; do 14 | fedora-to-flathub "$app" 15 | done 16 | flatpak uninstall --assumeyes --noninterative --unused 17 | flatpak remote-delete --system fedora 18 | else 19 | for app in "$@"; do 20 | flatpak uninstall --system --assumeyes --noninteractive "$app" && 21 | flatpak install --system --assumeyes --noninteractive flathub "$app" 22 | done 23 | fi 24 | } 25 | 26 | alias f2fh='fedora-to-flathub' -------------------------------------------------------------------------------- /.bashrc.d/add-flatpak-remote: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # add-flatpak-remote (afr) 4 | # 5 | # Add Flatpak remote(s) with sensible titles for display in GNOME Software 6 | 7 | function add-flatpak-remote { 8 | for arg in "$@"; do 9 | case $arg in 10 | 11 | flathub | Flathub) 12 | flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo 13 | echo "Added Flathub user remote" 14 | ;; 15 | 16 | appcenter | AppCenter) 17 | flatpak remote-add --user --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo 18 | echo "Added AppCenter user remote" 19 | ;; 20 | 21 | gnome-nightly | nightly) 22 | flatpak remote-add --user --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo 23 | echo "Added GNOME Nightly user remote" 24 | ;; 25 | 26 | *) 27 | echo "Unknown Flatpak remote '$arg'" 28 | exit 1 29 | ;; 30 | esac 31 | done 32 | } 33 | 34 | alias afr='add-flatpak-remote' 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /.bashrc.d/silverblue-misc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # silverblue-misc (smisc) 4 | # 5 | # Miscellaneous commands I always use on Fedora Silverblue 6 | 7 | function silverblue-misc { 8 | ## Add Flathub at a system level if it's not there 9 | flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 10 | flatpak remote-modify --system flathub --no-filter --title="Flathub (System)" --description="Central repository of Flatpak applications" 11 | 12 | ## Add Flathub as a user remote 13 | flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo 14 | 15 | ## Add GNOME Nightly as a user remote 16 | flatpak remote-add --user --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo 17 | 18 | ## Enable RPM Fusion (free and nonfree) 19 | # rpm-ostree install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 20 | 21 | ## Uninstall apps to be replaced 22 | rpm-ostree override remove \ 23 | firefox firefox-langpacks 24 | 25 | ## Install better defaults 26 | flatpak install --assumeyes --noninteractive --system flathub \ 27 | org.gnome.Decibels \ 28 | org.gnome.Epiphany \ 29 | org.gnome.Loupe \ 30 | org.gnome.Music \ 31 | org.gnome.Papers \ 32 | org.gnome.Showtime \ 33 | org.gnome.Snapshot \ 34 | ; 35 | 36 | ## My user apps 37 | flatpak install --assumeyes --noninteractive --user flathub \ 38 | as.may.moat \ 39 | com.bitwarden.desktop \ 40 | com.cassidyjames.butler \ 41 | com.cassidyjames.clairvoyant \ 42 | com.cassidyjames.plausible \ 43 | com.discordapp.Discord \ 44 | com.github.cassidyjames.dippi \ 45 | com.github.tchx84.Flatseal \ 46 | com.mattjakeman.ExtensionManager \ 47 | com.plexamp.Plexamp \ 48 | com.prusa3d.PrusaSlicer \ 49 | com.slack.Slack \ 50 | com.ultimaker.cura \ 51 | com.valvesoftware.Steam \ 52 | de.haeckerfelix.Fragments \ 53 | io.bassi.Amberol \ 54 | me.dusansimic.DynamicWallpaper \ 55 | net.hhoney.candy \ 56 | net.hhoney.rota \ 57 | net.hhoney.tinycrate \ 58 | nl.hjdskes.gcolor3 \ 59 | org.chromium.Chromium \ 60 | org.gimp.GIMP \ 61 | org.gnome.Boxes \ 62 | org.gnome.Builder \ 63 | org.gnome.design.Contrast \ 64 | org.gnome.Fractal \ 65 | org.godotengine.Godot \ 66 | org.inkscape.Inkscape \ 67 | org.mozilla.firefox \ 68 | org.signal.Signal \ 69 | re.sonny.Commit \ 70 | tv.plex.PlexDesktop \ 71 | tv.plex.PlexHTPC \ 72 | ; 73 | flatpak install --assumeyes --noninteractive --user gnome-nightly \ 74 | org.gnome.Adwaita1.Demo \ 75 | ; 76 | } 77 | 78 | alias smisc='silverblue-misc' 79 | --------------------------------------------------------------------------------