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:
- podman
- rpm-ostree
- flatpak
- 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:
- rpmfusion-nonfree-steam.repo
- rpmfusion-nonfree-nvidia-driver.repo
- google-chrome.repo
- _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