Files
homelab/infrastructure/graduated/fedora/fedora-kinoite.md
ducoterra 4d24970e04
All checks were successful
Gitea Actions Demo / build-arch-toolbox (push) Successful in 6m9s
fix build issue with cache causing pacman problems
2024-11-26 20:11:22 -05:00

7.2 KiB

Fedora Kinoite

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:

# 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

rpm-ostree install virt-manager
systemctl enable --now libvirtd

Apps

Flatpak installs are from Flathub unless otherwise noted.

VSCode

Write code.

flatpak install com.visualstudio.code

Add to settings.json so the host shell is spawned

{
    "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.

flatpak install com.bitwarden.desktop

MPV

Video player (like VLC but can frame-by-frame in reverse).

flatpak install io.mpv.Mpv

Nextcloud Desktop

Sync your files.

flatpak install com.nextcloud.desktopclient.nextcloud

Nextcloud Talk

Talk to your friends.

Download nextcloud talk from:

https://github.com/nextcloud-releases/talk-desktop/releases

flatpak install ./Nextcloud.Talk-linux-x64.flatpak

Discord

Talk to your enemies.

flatpak install com.discordapp.Discord

Proton Mail

Talk to your business partners?

flatpak install me.proton.Mail

Gimp

Photoshop for Linux.

flatpak install org.gimp.GIMP

Minecraft

Mine. Craft.

flatpak install com.mojang.Minecraft

Moonlight

Mine. Craft. But somewhere else.

flatpak install com.moonlight_stream.Moonlight

Steam

Play games.

flatpak install com.valvesoftware.Steam

Marknote

Take notes with Mark.

flatpak install org.kde.marknote

Raspberry Pi Imager

Flash your pi.

flatpak install org.raspberrypi.rpi-imager

Fedora Media Writer

Flash your stick.

flatpak install org.fedoraproject.MediaWriter

Pods

Remember Docker Desktop? Pods is the new Docker Desktop.

flatpak install com.github.marhkb.Pods

Bambu Studio

Benchy benchy benchy benchy

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.)

{
    "user_access_code": {
        "printer serial number": "access code here"
    },
    ...
}

Eyedropper

Pick a color, any color (from your screen).

flatpak install com.github.finefindus.eyedropper

Mingle

Create custom emojis.

flatpak install io.github.halfmexican.Mingle

Mission Center

Literally Windows task manager but for linux and it's awesome

flatpak install io.missioncenter.MissionCenter

Obsidian

Show your friends your massive graph

flatpak install md.obsidian.Obsidian

Dev Toolbox

Format JSON, base64 encode, and color blindness simulator.

flatpak install me.iepure.devtoolbox

Junction

Choose how to open links you click on

flatpak install re.sonny.Junction

Kdenlive

Edit videos without Adobe

flatpak install org.kde.kdenlive

The Powder Toy

I love sandboxes.

uk.co.powdertoy.tpt

Toolbox

# 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

# 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

Using Reese's Arch Toolbox

toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
SHELL=/bin/zsh toolbox enter arch-toolbox-latest

Updating Reese's Arch Toolbox

# 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):

# 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

{
    // 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
            }
        }
    ]
}