Files
homelab/active/os_fedora/fedora-kinoite.md
T
2026-09-07 11:37:56 -04:00

4.8 KiB

Fedora Kinoite

Adding users to groups (usermod replacement)

grep -E '^weldr:' /usr/lib/group | sudo tee -a /etc/group
sudo usermod -aG weldr $USER

System Prereqs

# Appimage support
rpm-ostree install fuse fuse-libs

# Editor
rpm-ostree install vim

# Qemu/KVM
rpm-ostree install virt-manager libvirt virt-install

# OSBuild
rpm-ostree install -y osbuild-composer composer-cli openscap-scanner scap-security-guide

# Distrobox
rpm-ostree install -y distrobox

# BTRFS Snapshots
rpm-ostree install -y snapper

# Kitty Terminal
# terminfo prevents the "WARNING: terminal is not fully functional" error
rpm-ostree install -y kitty kitty-terminfo

Toolbox

Clipboard Sharing

Inside the toolbox run:

sudo dnf install -y wl-clipboard

Running Host Commands

You'll want to use toolbox for development. Unfortunately, toolbox doesn't integrate well with host system operations.

I create a toolbox.sh in ~/.bashrc.d with functions that map to host commands like so:

# Use flatpak-spawn --host podman inside toolbox, regular podman outside
podman() {
    if [ -f /run/.containerenv ]; then
        flatpak-spawn --host podman "$@"
    else
        command podman "$@"
    fi
}

# Notify the user if they're trying to run a command that doesn't work in a toolbox
rpm-ostree() {
    if [ -f /run/.containerenv ]; then
        echo "Command must be run outside toolbox."
    else
        command rpm-ostree "$@"
    fi
}

I have the following functions mapped:

  1. podman
  2. rpm-ostree
  3. flatpak
  4. firewall-cmd

Saving a Toolbox

After setting up a base toolbox you'll want to save it for future use. This is easy with podman commit.

# 1. Commit the running container to a new image
podman commit fedora-toolbox-44 my-toolbox-snapshot

# 2. Save the image to a tar file for later use
podman save -o ~/my-toolbox-snapshot.tar my-toolbox-snapshot

# Load the image
podman load -i ~/my-toolbox-snapshot.tar

# Create a new toolbox from it
toolbox create --image my-toolbox-snapshot

Apps

Anything not mentioned here is installed via flatpak from flathub.

Gear Lever

flatpak install it.mijorus.gearlever

VSCodium

Install in toolbox.

https://vscodium.com/#install-on-fedora-rhel-centos-rockylinux-opensuse-rpm-package

sudo tee -a /etc/yum.repos.d/vscodium.repo << 'EOF'
[gitlab.com_paulcarroty_vscodium_repo]
name=gitlab.com_paulcarroty_vscodium_repo
baseurl=https://paulcarroty.gitlab.io/vscodium-deb-rpm-repo/rpms/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg
metadata_expire=1h
EOF

sudo dnf install codium

Ansible

# Install pipx
python3 -m ensurepip --user
python3 -m pip install --user pipx
pipx ensurepath

# Install ansible
pipx install --include-deps ansible

OpenCode

curl -fsSL https://opencode.ai/install | bash

# Install pyright LSP
python -m pip install --upgrade pip
python -m pip install --user pyright

Nextcloud

Download the AppImage. Install via Gear Lever.

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

Source Repo Release file name
Github nextcloud-releases/desktop *x86_64.AppImage

UV

curl -LsSf https://astral.sh/uv/install.sh | sh

NVM

https://www.nvmnode.com/guide/installation.html#nvm-install-for-linux-macos

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

Set Hostname

sudo hostnamectl hostname reesework16

rpm-ostree Notes

Note: if you don't need them, remove extra repos

I removed:

  1. rpmfusion-nonfree-steam.repo
  2. rpmfusion-nonfree-nvidia-driver.repo
  3. google-chrome.repo
  4. _copr:copr.fedorainfracloud.org:phracek:PyCharm.repo
# Search for available packages
rpm-ostree search git

# Install a package
rpm-ostree install git

# Apply the installed package live
rpm-ostree apply-live

# Check what's been layered
rpm-ostree status

Accent keys when holding a key

Settings -> keyboard -> virtual keyboard -> disable virtual keyboard