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

228 lines
4.8 KiB
Markdown

# Fedora Kinoite
- [Fedora Kinoite](#fedora-kinoite)
- [Adding users to groups (usermod replacement)](#adding-users-to-groups-usermod-replacement)
- [System Prereqs](#system-prereqs)
- [Toolbox](#toolbox)
- [Clipboard Sharing](#clipboard-sharing)
- [Running Host Commands](#running-host-commands)
- [Saving a Toolbox](#saving-a-toolbox)
- [Apps](#apps)
- [Gear Lever](#gear-lever)
- [VSCodium](#vscodium)
- [Ansible](#ansible)
- [OpenCode](#opencode)
- [Nextcloud](#nextcloud)
- [UV](#uv)
- [NVM](#nvm)
- [Set Hostname](#set-hostname)
- [rpm-ostree Notes](#rpm-ostree-notes)
- [Accent keys when holding a key](#accent-keys-when-holding-a-key)
## Adding users to groups (usermod replacement)
```bash
grep -E '^weldr:' /usr/lib/group | sudo tee -a /etc/group
sudo usermod -aG weldr $USER
```
## System Prereqs
```bash
# 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:
```bash
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:
```bash
# 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.
```bash
# 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
```bash
flatpak install it.mijorus.gearlever
```
### VSCodium
Install in toolbox.
<https://vscodium.com/#install-on-fedora-rhel-centos-rockylinux-opensuse-rpm-package>
```bash
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
```bash
# Install pipx
python3 -m ensurepip --user
python3 -m pip install --user pipx
pipx ensurepath
# Install ansible
pipx install --include-deps ansible
```
### OpenCode
```bash
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
```bash
curl -LsSf https://astral.sh/uv/install.sh | sh
```
### NVM
<https://www.nvmnode.com/guide/installation.html#nvm-install-for-linux-macos>
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
```
## Set Hostname
```bash
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
```bash
# 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