# 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. ```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. | Source | Repo | Release file name | | ------ | -------------------------- | ----------------- | | Github | nextcloud-releases/desktop | *x86_64.AppImage | ### UV ```bash curl -LsSf https://astral.sh/uv/install.sh | sh ``` ### NVM ```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