Files
homelab/infrastructure/graduated/fedora/fedora-kinoite.md
2024-11-25 20:38:36 -05:00

262 lines
4.8 KiB
Markdown

# Fedora Kinoite
- [Fedora Kinoite](#fedora-kinoite)
- [Podman](#podman)
- [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)
- [Toolbox](#toolbox)
- [Custom image](#custom-image)
## 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.
## 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:
```json
{
"user_access_code": {
"printer serial number": "access code here"
},
...
}
```
## 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'
```
### Custom image
I have a custom arch image based on the default arch-toolbox image. It installs some
extras (python, vim, kubectl, etc.) and sets up zsh with a decent default zshrc.
If you're just looking to run the image do this:
```bash
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
SHELL=/bin/zsh toolbox enter arch-toolbox-latest
```
You can build and run the image wit this (See `Containerfile` in this directory):
```bash
# Build latest image
podman build \
-t gitea.reeseapps.com/services/arch-toolbox:latest \
-t gitea.reeseapps.com/services/arch-toolbox:$(date +%s) \
-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
```
You can push the image up to your registry like normal:
```bash
# Push all tags for the "latest" image
podman image ls \
-f 'reference=gitea.reeseapps.com/services/arch-toolbox:latest' \
-n --no-trunc --format '{{ .Repository }}:{{ .Tag }}' \
| xargs -I {} podman push {}
```