# Fedora Kinoite - [Fedora Kinoite](#fedora-kinoite) - [Podman](#podman) - [Libvirt, Qemu, KVM](#libvirt-qemu-kvm) - [Apps](#apps) - [VSCode](#vscode) - [Bitwarden](#bitwarden) - [MPV](#mpv) - [Nextcloud Desktop](#nextcloud-desktop) - [Nextcloud Talk](#nextcloud-talk) - [Discord](#discord) - [Proton Mail](#proton-mail) - [Gimp](#gimp) - [Minecraft](#minecraft) - [Moonlight](#moonlight) - [Steam](#steam) - [Raspberry Pi Imager](#raspberry-pi-imager) - [Fedora Media Writer](#fedora-media-writer) - [Pods](#pods) - [Bambu Studio](#bambu-studio) - [Eyedropper](#eyedropper) - [Mingle](#mingle) - [Mission Center](#mission-center) - [Obsidian](#obsidian) - [Dev Toolbox](#dev-toolbox) - [Junction](#junction) - [Kdenlive](#kdenlive) - [The Powder Toy](#the-powder-toy) - [Pika](#pika) - [Toolbox](#toolbox) - [Reese's Arch Toolbox](#reeses-arch-toolbox) - [Pipx/Poetry](#pipxpoetry) - [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox) - [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox) - [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox) ## Podman Since you'll be using podman for most container-based services, you'll want to set the the podman auth file to somewhere persistent, otherwise it'll get deleted every time you reboot. Add this to your `.bashrc`: ```bash # Podman auth file export REGISTRY_AUTH_FILE=$HOME/.podman-auth.json ``` Source that and then run `podman login` to create the file. ## Libvirt, Qemu, KVM ```bash rpm-ostree install virt-manager systemctl enable --now libvirtd ``` ## Apps Flatpak installs are from Flathub unless otherwise noted. ### VSCode Write code. ```bash flatpak install com.visualstudio.code ``` Add to settings.json so the host shell is spawned ```json { "terminal.integrated.defaultProfile.linux": "bash", "terminal.integrated.profiles.linux": { "bash": { "path": "/app/bin/host-spawn", "args": ["bash"], "icon": "terminal-bash", "overrideName": true } } } ``` ### Bitwarden Password manager. ```bash flatpak install com.bitwarden.desktop ``` ### MPV Video player (like VLC but can frame-by-frame in reverse). ```bash flatpak install io.mpv.Mpv ``` ### Nextcloud Desktop Sync your files. ```bash flatpak install com.nextcloud.desktopclient.nextcloud ``` ### Nextcloud Talk Talk to your friends. Download nextcloud talk from: ```bash flatpak install ./Nextcloud.Talk-linux-x64.flatpak ``` ### Discord Talk to your enemies. ```bash flatpak install com.discordapp.Discord ``` ### Proton Mail Talk to your business partners? ```bash flatpak install me.proton.Mail ``` ### Gimp Photoshop for Linux. ```bash flatpak install org.gimp.GIMP ``` ### Minecraft Mine. Craft. ```bash flatpak install com.mojang.Minecraft ``` ### Moonlight Mine. Craft. But somewhere else. ```bash flatpak install com.moonlight_stream.Moonlight ``` ### Steam Play games. ```bash flatpak install com.valvesoftware.Steam ``` ### Raspberry Pi Imager Flash your pi. ```bash flatpak install org.raspberrypi.rpi-imager ``` ### Fedora Media Writer Flash your stick. ```bash flatpak install org.fedoraproject.MediaWriter ``` ### Pods Remember Docker Desktop? Pods is the new Docker Desktop. ```bash flatpak install com.github.marhkb.Pods ``` ### Bambu Studio Benchy benchy benchy benchy ```bash flatpak install com.bambulab.BambuStudio ``` The config is located at `~/.var/app/com.bambulab.BambuStudio/config/BambuStudio/BambuStudio.conf` At the very top of the config you can add a pin for a printer permanently with: (Do this with Bambu Studio closed, it'll overwrite if it's open.) ```json { "user_access_code": { "printer serial number": "access code here" }, ... } ``` ### Eyedropper Pick a color, any color (from your screen). ```bash flatpak install com.github.finefindus.eyedropper ``` ### Mingle Create custom emojis. ```bash flatpak install io.github.halfmexican.Mingle ``` ### Mission Center Literally Windows task manager but for linux and it's awesome ```bash flatpak install io.missioncenter.MissionCenter ``` ### Obsidian Show your friends your massive graph ```bash flatpak install md.obsidian.Obsidian ``` ### Dev Toolbox Format JSON, base64 encode, and color blindness simulator. ```bash flatpak install me.iepure.devtoolbox ``` ### Junction Choose how to open links you click on ```bash flatpak install re.sonny.Junction ``` ### Kdenlive Edit videos without Adobe ```bash flatpak install org.kde.kdenlive ``` ### The Powder Toy I love sandboxes. ```bash uk.co.powdertoy.tpt ``` ### Pika Backup with Borg. ```bash flatpak install org.gnome.World.PikaBackup ``` ## Toolbox ```bash # Create and use an Arch Toolbox toolbox create --distro arch toolbox enter arch-toolbox-latest ``` I'd recommend adding this alias to your `.bashrc` to make things easier ```bash # Toolbox quick enter alias tbox='SHELL=zsh toolbox enter arch-toolbox-latest' ``` ### Reese's Arch Toolbox I have a custom arch image based on the default arch-toolbox image. It offers: - zsh with many completions installed/enabled - vim - nslookup - iperf3 - kubectl - helm - nethogs - python, pip, and pipx - ansible - aws cli - ollama (add `export OLLAMA_HOST=my.ollama.host` to your `.zshrc` to use a remote host) - podman (connected automatically to the host machine via the unix socket) - tmux - ffmpeg - wine - podman - unzip - bat - btop - jq - yq - imagemagick #### Pipx/Poetry ```bash # pipx is already installed but the pathing won't work for installed apps pipx ensurepath # then source ~/.zshrc or ~/.bashrc pipx install poetry # Now this should work. poetry new test-project ``` ### Using Reese's Arch Toolbox ```bash toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest SHELL=/bin/zsh toolbox enter arch-toolbox-latest ``` ### Updating Reese's Arch Toolbox ```bash # Stop the current arch toolbox podman container stop arch-toolbox-latest # Remove the old container podman container rm arch-toolbox-latest # Pull the new image podman pull gitea.reeseapps.com/services/arch-toolbox:latest # Start with the new image toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest ``` ### Building Reese's Arch Toolbox You can build and run the image wit this (See `Containerfile` in this directory): ```bash # Build latest image podman build \ --no-cache \ -t gitea.reeseapps.com/services/arch-toolbox:latest \ -f ./infrastructure/graduated/fedora/Containerfile # Test with podman podman run -it --rm gitea.reeseapps.com/services/arch-toolbox:latest # Stop the current arch toolbox podman container stop arch-toolbox-latest # Remove the old container podman container rm arch-toolbox-latest # Start with the new image toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest SHELL=/bin/zsh toolbox enter ``` In vscode you can set this as your default build task for homelab and trigger it with `ctrl shift B` .vscode/tasks.json ```json { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "Build arch-toolbox", "type": "shell", "command": "./infrastructure/graduated/fedora/arch-build.sh", "problemMatcher": [], "group": { "kind": "build", "isDefault": true } } ] } ```