All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 6m29s
413 lines
7.6 KiB
Markdown
413 lines
7.6 KiB
Markdown
# Fedora Kinoite
|
|
|
|
- [Fedora Kinoite](#fedora-kinoite)
|
|
- [Podman](#podman)
|
|
- [Libvirt, Qemu, KVM](#libvirt-qemu-kvm)
|
|
- [Apps](#apps)
|
|
- [VSCode](#vscode)
|
|
- [Bitwarden](#bitwarden)
|
|
- [MPV](#mpv)
|
|
- [Nextcloud Desktop](#nextcloud-desktop)
|
|
- [Nextcloud Talk](#nextcloud-talk)
|
|
- [Discord](#discord)
|
|
- [Proton Mail](#proton-mail)
|
|
- [Gimp](#gimp)
|
|
- [Minecraft](#minecraft)
|
|
- [Moonlight](#moonlight)
|
|
- [Steam](#steam)
|
|
- [Marknote](#marknote)
|
|
- [Raspberry Pi Imager](#raspberry-pi-imager)
|
|
- [Fedora Media Writer](#fedora-media-writer)
|
|
- [Pods](#pods)
|
|
- [Bambu Studio](#bambu-studio)
|
|
- [Eyedropper](#eyedropper)
|
|
- [Mingle](#mingle)
|
|
- [Mission Center](#mission-center)
|
|
- [Obsidian](#obsidian)
|
|
- [Dev Toolbox](#dev-toolbox)
|
|
- [Junction](#junction)
|
|
- [Kdenlive](#kdenlive)
|
|
- [The Powder Toy](#the-powder-toy)
|
|
- [Pika](#pika)
|
|
- [Toolbox](#toolbox)
|
|
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
|
- [Pipx/Poetry](#pipxpoetry)
|
|
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
|
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
|
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
|
|
|
|
## 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`:
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
rpm-ostree install virt-manager
|
|
systemctl enable --now libvirtd
|
|
```
|
|
|
|
## Apps
|
|
|
|
Flatpak installs are from Flathub unless otherwise noted.
|
|
|
|
### VSCode
|
|
|
|
Write code.
|
|
|
|
```bash
|
|
flatpak install com.visualstudio.code
|
|
```
|
|
|
|
Add to settings.json so the host shell is spawned
|
|
|
|
```json
|
|
{
|
|
"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.
|
|
|
|
```bash
|
|
flatpak install com.bitwarden.desktop
|
|
```
|
|
|
|
### MPV
|
|
|
|
Video player (like VLC but can frame-by-frame in reverse).
|
|
|
|
```bash
|
|
flatpak install io.mpv.Mpv
|
|
```
|
|
|
|
### Nextcloud Desktop
|
|
|
|
Sync your files.
|
|
|
|
```bash
|
|
flatpak install com.nextcloud.desktopclient.nextcloud
|
|
```
|
|
|
|
### Nextcloud Talk
|
|
|
|
Talk to your friends.
|
|
|
|
Download nextcloud talk from:
|
|
|
|
<https://github.com/nextcloud-releases/talk-desktop/releases>
|
|
|
|
```bash
|
|
flatpak install ./Nextcloud.Talk-linux-x64.flatpak
|
|
```
|
|
|
|
### Discord
|
|
|
|
Talk to your enemies.
|
|
|
|
```bash
|
|
flatpak install com.discordapp.Discord
|
|
```
|
|
|
|
### Proton Mail
|
|
|
|
Talk to your business partners?
|
|
|
|
```bash
|
|
flatpak install me.proton.Mail
|
|
```
|
|
|
|
### Gimp
|
|
|
|
Photoshop for Linux.
|
|
|
|
```bash
|
|
flatpak install org.gimp.GIMP
|
|
```
|
|
|
|
### Minecraft
|
|
|
|
Mine. Craft.
|
|
|
|
```bash
|
|
flatpak install com.mojang.Minecraft
|
|
```
|
|
|
|
### Moonlight
|
|
|
|
Mine. Craft. But somewhere else.
|
|
|
|
```bash
|
|
flatpak install com.moonlight_stream.Moonlight
|
|
```
|
|
|
|
### Steam
|
|
|
|
Play games.
|
|
|
|
```bash
|
|
flatpak install com.valvesoftware.Steam
|
|
```
|
|
|
|
### Marknote
|
|
|
|
Take notes with Mark.
|
|
|
|
```bash
|
|
flatpak install org.kde.marknote
|
|
```
|
|
|
|
### Raspberry Pi Imager
|
|
|
|
Flash your pi.
|
|
|
|
```bash
|
|
flatpak install org.raspberrypi.rpi-imager
|
|
```
|
|
|
|
### Fedora Media Writer
|
|
|
|
Flash your stick.
|
|
|
|
```bash
|
|
flatpak install org.fedoraproject.MediaWriter
|
|
```
|
|
|
|
### Pods
|
|
|
|
Remember Docker Desktop? Pods is the new Docker Desktop.
|
|
|
|
```bash
|
|
flatpak install com.github.marhkb.Pods
|
|
```
|
|
|
|
### Bambu Studio
|
|
|
|
Benchy benchy benchy benchy
|
|
|
|
```bash
|
|
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.)
|
|
|
|
```json
|
|
{
|
|
"user_access_code": {
|
|
"printer serial number": "access code here"
|
|
},
|
|
...
|
|
}
|
|
```
|
|
|
|
### Eyedropper
|
|
|
|
Pick a color, any color (from your screen).
|
|
|
|
```bash
|
|
flatpak install com.github.finefindus.eyedropper
|
|
```
|
|
|
|
### Mingle
|
|
|
|
Create custom emojis.
|
|
|
|
```bash
|
|
flatpak install io.github.halfmexican.Mingle
|
|
```
|
|
|
|
### Mission Center
|
|
|
|
Literally Windows task manager but for linux and it's awesome
|
|
|
|
```bash
|
|
flatpak install io.missioncenter.MissionCenter
|
|
```
|
|
|
|
### Obsidian
|
|
|
|
Show your friends your massive graph
|
|
|
|
```bash
|
|
flatpak install md.obsidian.Obsidian
|
|
```
|
|
|
|
### Dev Toolbox
|
|
|
|
Format JSON, base64 encode, and color blindness simulator.
|
|
|
|
```bash
|
|
flatpak install me.iepure.devtoolbox
|
|
```
|
|
|
|
### Junction
|
|
|
|
Choose how to open links you click on
|
|
|
|
```bash
|
|
flatpak install re.sonny.Junction
|
|
```
|
|
|
|
### Kdenlive
|
|
|
|
Edit videos without Adobe
|
|
|
|
```bash
|
|
flatpak install org.kde.kdenlive
|
|
```
|
|
|
|
### The Powder Toy
|
|
|
|
I love sandboxes.
|
|
|
|
```bash
|
|
uk.co.powdertoy.tpt
|
|
```
|
|
|
|
### Pika
|
|
|
|
Backup with Borg.
|
|
|
|
```bash
|
|
flatpak install org.gnome.World.PikaBackup
|
|
```
|
|
|
|
## Toolbox
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
#### Pipx/Poetry
|
|
|
|
<https://python-poetry.org/docs/>
|
|
|
|
```bash
|
|
# pipx is already installed but the pathing won't work for installed apps
|
|
pipx ensurepath # then source ~/.zshrc or ~/.bashrc
|
|
|
|
pipx install poetry
|
|
# Now this should work.
|
|
poetry new test-project
|
|
```
|
|
|
|
### Using Reese's Arch Toolbox
|
|
|
|
```bash
|
|
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
|
|
SHELL=/bin/zsh toolbox enter arch-toolbox-latest
|
|
```
|
|
|
|
### Updating Reese's Arch Toolbox
|
|
|
|
```bash
|
|
# 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):
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```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
|
|
}
|
|
}
|
|
]
|
|
}
|
|
```
|