organize fedora after expansion
Some checks failed
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Failing after 16s
Some checks failed
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Failing after 16s
This commit is contained in:
@@ -22,7 +22,7 @@ jobs:
|
|||||||
uses: https://github.com/docker/build-push-action@v5
|
uses: https://github.com/docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ${{ gitea.workspace }}/infrastructure/graduated/fedora
|
context: ${{ gitea.workspace }}/infrastructure/graduated/fedora
|
||||||
file: ${{ gitea.workspace }}/infrastructure/graduated/fedora/arch.containerfile
|
file: ${{ gitea.workspace }}/infrastructure/graduated/fedora/arch-toolbox.containerfile
|
||||||
push: true
|
push: true
|
||||||
tags: "gitea.reeseapps.com/services/arch-toolbox:latest,gitea.reeseapps.com/services/arch-toolbox:${{gitea.sha}}"
|
tags: "gitea.reeseapps.com/services/arch-toolbox:latest,gitea.reeseapps.com/services/arch-toolbox:${{gitea.sha}}"
|
||||||
no-cache: true
|
no-cache: true
|
||||||
@@ -30,7 +30,7 @@ jobs:
|
|||||||
uses: https://github.com/docker/build-push-action@v5
|
uses: https://github.com/docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ${{ gitea.workspace }}/infrastructure/graduated/fedora
|
context: ${{ gitea.workspace }}/infrastructure/graduated/fedora
|
||||||
file: ${{ gitea.workspace }}/infrastructure/graduated/fedora/arch-amdgpu.containerfile
|
file: ${{ gitea.workspace }}/infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile
|
||||||
push: true
|
push: true
|
||||||
tags: "gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest,gitea.reeseapps.com/services/arch-toolbox-amdgpu:${{gitea.sha}}"
|
tags: "gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest,gitea.reeseapps.com/services/arch-toolbox-amdgpu:${{gitea.sha}}"
|
||||||
no-cache: true
|
no-cache: true
|
||||||
@@ -4,11 +4,11 @@
|
|||||||
podman pull quay.io/toolbx/arch-toolbox:latest
|
podman pull quay.io/toolbx/arch-toolbox:latest
|
||||||
podman build \
|
podman build \
|
||||||
-t gitea.reeseapps.com/services/arch-toolbox:latest \
|
-t gitea.reeseapps.com/services/arch-toolbox:latest \
|
||||||
-f ./infrastructure/graduated/fedora/arch.containerfile
|
-f ./infrastructure/graduated/fedora/arch-toolbox.containerfile
|
||||||
|
|
||||||
podman build \
|
podman build \
|
||||||
-t gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest \
|
-t gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest \
|
||||||
-f ./infrastructure/graduated/fedora/arch-amdgpu.containerfile
|
-f ./infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile
|
||||||
|
|
||||||
echo "podman container stop arch-toolbox-latest"
|
echo "podman container stop arch-toolbox-latest"
|
||||||
echo "podman container rm arch-toolbox-latest"
|
echo "podman container rm arch-toolbox-latest"
|
||||||
420
infrastructure/graduated/fedora/fedora-apps.md
Normal file
420
infrastructure/graduated/fedora/fedora-apps.md
Normal file
@@ -0,0 +1,420 @@
|
|||||||
|
# Apps
|
||||||
|
|
||||||
|
- [Apps](#apps)
|
||||||
|
- [Gear Lever](#gear-lever)
|
||||||
|
- [VSCode](#vscode)
|
||||||
|
- [DNF](#dnf)
|
||||||
|
- [rpm-ostree](#rpm-ostree)
|
||||||
|
- [Flatpak](#flatpak)
|
||||||
|
- [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)
|
||||||
|
- [MangoHud](#mangohud)
|
||||||
|
- [Raspberry Pi Imager](#raspberry-pi-imager)
|
||||||
|
- [Fedora Media Writer](#fedora-media-writer)
|
||||||
|
- [Pods](#pods)
|
||||||
|
- [Bambu Studio](#bambu-studio)
|
||||||
|
- [Freecad](#freecad)
|
||||||
|
- [Eyedropper](#eyedropper)
|
||||||
|
- [Mingle](#mingle)
|
||||||
|
- [Obsidian](#obsidian)
|
||||||
|
- [Dev Toolbox](#dev-toolbox)
|
||||||
|
- [Junction](#junction)
|
||||||
|
- [Kdenlive](#kdenlive)
|
||||||
|
- [The Powder Toy](#the-powder-toy)
|
||||||
|
- [Pika](#pika)
|
||||||
|
- [Filezilla](#filezilla)
|
||||||
|
- [Transmission](#transmission)
|
||||||
|
- [Frog](#frog)
|
||||||
|
- [CPU-X](#cpu-x)
|
||||||
|
- [Ungoogled Chromium](#ungoogled-chromium)
|
||||||
|
- [Signal](#signal)
|
||||||
|
- [Remmina](#remmina)
|
||||||
|
|
||||||
|
Flatpak installs are from Flathub unless otherwise noted.
|
||||||
|
|
||||||
|
Add flathub with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
||||||
|
```
|
||||||
|
|
||||||
|
When prompted, prefer flathub.
|
||||||
|
|
||||||
|
## Gear Lever
|
||||||
|
|
||||||
|
I would recommend you install Gear Lever to manage App Images:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install it.mijorus.gearlever
|
||||||
|
```
|
||||||
|
|
||||||
|
## VSCode
|
||||||
|
|
||||||
|
Write code.
|
||||||
|
|
||||||
|
### DNF
|
||||||
|
|
||||||
|
<https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions>
|
||||||
|
|
||||||
|
### rpm-ostree
|
||||||
|
|
||||||
|
This layers vscode on the system and lets you download the latest release without waiting
|
||||||
|
for flathub to update the flatpak. Offers some advantages over flatpak, like not needing
|
||||||
|
to use flatseal/other to manage host permissions, but the flatpak install works just fine.
|
||||||
|
|
||||||
|
<https://code.visualstudio.com/docs/setup/linux#_installing-rpm-package-manually>
|
||||||
|
|
||||||
|
1. Download the rpm
|
||||||
|
2. sudo rpm-ostree install ./vscode-something-something.rpm
|
||||||
|
3. Reboot
|
||||||
|
|
||||||
|
### Flatpak
|
||||||
|
|
||||||
|
```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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Add these keyboard shortcuts to allow forward and back with alt:
|
||||||
|
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
...
|
||||||
|
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
|
||||||
|
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
|
||||||
|
...
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Autostart
|
||||||
|
ln -s ~/.local/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
# autostart
|
||||||
|
ln -s /var/lib/flatpak/exports/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Discord
|
||||||
|
|
||||||
|
Talk to your enemies.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install com.discordapp.Discord
|
||||||
|
```
|
||||||
|
|
||||||
|
## Proton Mail
|
||||||
|
|
||||||
|
Talk to your business partners?
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install me.proton.Mail
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Autostart
|
||||||
|
ln -s ~/.local/share/applications/me.proton.Mail.desktop ~/.config/autostart/
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|
flatpak install flathub org.freedesktop.Platform.GL.default//22.08-extra
|
||||||
|
```
|
||||||
|
|
||||||
|
## Steam
|
||||||
|
|
||||||
|
Play games.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install com.valvesoftware.Steam
|
||||||
|
```
|
||||||
|
|
||||||
|
## MangoHud
|
||||||
|
|
||||||
|
<https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#flatpak>
|
||||||
|
|
||||||
|
Pretty Numbers for your Games.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud
|
||||||
|
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
|
||||||
|
|
||||||
|
# Allow flatpak apps to read Mangohud config
|
||||||
|
flatpak override --user --filesystem=xdg-config/MangoHud:ro
|
||||||
|
```
|
||||||
|
|
||||||
|
Edit `~/.config/MangoHud/MangoHud.conf`
|
||||||
|
|
||||||
|
```conf
|
||||||
|
## pre defined presets
|
||||||
|
# -1 = default
|
||||||
|
# 0 = no display
|
||||||
|
# 1 = fps only
|
||||||
|
# 2 = horizontal view
|
||||||
|
# 3 = extended
|
||||||
|
# 4 = high detailed information
|
||||||
|
preset=2
|
||||||
|
|
||||||
|
## Enable most of the toggleable parameters (currently excludes `histogram`)
|
||||||
|
# full
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|
|
||||||
|
systemctl --user enable --now podman.socket
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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"
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Freecad
|
||||||
|
|
||||||
|
Benchy benchy benchy oh no, I can't do that, this is hard.
|
||||||
|
|
||||||
|
Download the AppImage and use [Gear Lever](#apps) to install:
|
||||||
|
|
||||||
|
<https://www.freecad.org/downloads.php>
|
||||||
|
|
||||||
|
## 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
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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
|
||||||
|
flatpak install uk.co.powdertoy.tpt
|
||||||
|
```
|
||||||
|
|
||||||
|
## Pika
|
||||||
|
|
||||||
|
Backup with Borg.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.gnome.World.PikaBackup
|
||||||
|
```
|
||||||
|
|
||||||
|
## Filezilla
|
||||||
|
|
||||||
|
Really easy ftp, ftps, sftp, etc. file transfer.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.filezillaproject.Filezilla
|
||||||
|
```
|
||||||
|
|
||||||
|
## Transmission
|
||||||
|
|
||||||
|
Expand your "ISO" collection.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install com.transmissionbt.Transmission
|
||||||
|
```
|
||||||
|
|
||||||
|
## Frog
|
||||||
|
|
||||||
|
Extract text, scan QR codes, from images.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install com.github.tenderowl.frog
|
||||||
|
```
|
||||||
|
|
||||||
|
## CPU-X
|
||||||
|
|
||||||
|
CPU-Z but X this time
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install io.github.thetumultuousunicornofdarkness.cpu-x
|
||||||
|
```
|
||||||
|
|
||||||
|
## Ungoogled Chromium
|
||||||
|
|
||||||
|
Chrom
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install io.github.ungoogled_software.ungoogled_chromium
|
||||||
|
```
|
||||||
|
|
||||||
|
## Signal
|
||||||
|
|
||||||
|
Chat when Nextcloud Talk is down
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.signal.Signal
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Autostart
|
||||||
|
ln -s ~/.local/share/applications/org.signal.Signal.desktop ~/.config/autostart/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Remmina
|
||||||
|
|
||||||
|
REMote desktop IN An app
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.remmina.Remmina
|
||||||
|
```
|
||||||
31
infrastructure/graduated/fedora/fedora-framework16.md
Normal file
31
infrastructure/graduated/fedora/fedora-framework16.md
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# Framework 16 Fixes
|
||||||
|
|
||||||
|
- [Framework 16 Fixes](#framework-16-fixes)
|
||||||
|
- [Wake from Sleep](#wake-from-sleep)
|
||||||
|
- [Wrong keys pressed in the browser, keyboard occasionally freezes after clicking a field.](#wrong-keys-pressed-in-the-browser-keyboard-occasionally-freezes-after-clicking-a-field)
|
||||||
|
|
||||||
|
## Wake from Sleep
|
||||||
|
|
||||||
|
The keyboard/mouse can be pressed through the lid while in a backpack. Disable them to
|
||||||
|
prevent wake from sleep.
|
||||||
|
|
||||||
|
`/etc/udev/rules.d/69-suspend.rules`
|
||||||
|
|
||||||
|
```conf
|
||||||
|
ACTION=="add", SUBSYSTEM=="acpi", DRIVERS=="button", ATTRS{hid}=="PNP0C0D", ATTR{power/wakeup}="disabled"
|
||||||
|
ACTION=="add", SUBSYSTEM=="serio", DRIVERS=="atkbd", ATTR{power/wakeup}="disabled"
|
||||||
|
ACTION=="add", SUBSYSTEM=="i2c", DRIVERS=="i2c_hid_acpi", ATTRS{name}=="PIXA3854:00", ATTR{power/wakeup}="disabled"
|
||||||
|
|
||||||
|
# https://askubuntu.com/questions/848698/wake-up-from-suspend-using-usb-device
|
||||||
|
ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="32ac", ATTRS{idProduct}=="0012", RUN+="/bin/sh -c 'echo disabled > /sys$env{DEVPATH}/power/wakeup'"
|
||||||
|
```
|
||||||
|
|
||||||
|
Reload
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo udevadm control --reload-rules && sudo udevadm trigger
|
||||||
|
```
|
||||||
|
|
||||||
|
## Wrong keys pressed in the browser, keyboard occasionally freezes after clicking a field.
|
||||||
|
|
||||||
|
This was caused by a Keychron M3 mini mouse.
|
||||||
@@ -3,51 +3,12 @@
|
|||||||
- [Fedora Kinoite](#fedora-kinoite)
|
- [Fedora Kinoite](#fedora-kinoite)
|
||||||
- [Podman](#podman)
|
- [Podman](#podman)
|
||||||
- [Autostarting services with quadlets](#autostarting-services-with-quadlets)
|
- [Autostarting services with quadlets](#autostarting-services-with-quadlets)
|
||||||
|
- [rpm-ostree](#rpm-ostree)
|
||||||
|
- [Git, Vim, etc](#git-vim-etc)
|
||||||
- [Libvirt, Qemu, KVM](#libvirt-qemu-kvm)
|
- [Libvirt, Qemu, KVM](#libvirt-qemu-kvm)
|
||||||
- [Network](#network)
|
- [Network](#network)
|
||||||
|
- [Hostname](#hostname)
|
||||||
- [VLAN Setup with nmcli](#vlan-setup-with-nmcli)
|
- [VLAN Setup with nmcli](#vlan-setup-with-nmcli)
|
||||||
- [Apps](#apps)
|
|
||||||
- [Gear Lever](#gear-lever)
|
|
||||||
- [VSCode](#vscode)
|
|
||||||
- [rpm-ostree](#rpm-ostree)
|
|
||||||
- [Flatpak](#flatpak)
|
|
||||||
- [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)
|
|
||||||
- [MangoHud](#mangohud)
|
|
||||||
- [Raspberry Pi Imager](#raspberry-pi-imager)
|
|
||||||
- [Fedora Media Writer](#fedora-media-writer)
|
|
||||||
- [Pods](#pods)
|
|
||||||
- [Bambu Studio](#bambu-studio)
|
|
||||||
- [Freecad](#freecad)
|
|
||||||
- [Eyedropper](#eyedropper)
|
|
||||||
- [Mingle](#mingle)
|
|
||||||
- [Obsidian](#obsidian)
|
|
||||||
- [Dev Toolbox](#dev-toolbox)
|
|
||||||
- [Junction](#junction)
|
|
||||||
- [Kdenlive](#kdenlive)
|
|
||||||
- [The Powder Toy](#the-powder-toy)
|
|
||||||
- [Pika](#pika)
|
|
||||||
- [Filezilla](#filezilla)
|
|
||||||
- [Transmission](#transmission)
|
|
||||||
- [Frog](#frog)
|
|
||||||
- [CPU-X](#cpu-x)
|
|
||||||
- [Ungoogled Chromium](#ungoogled-chromium)
|
|
||||||
- [Signal](#signal)
|
|
||||||
- [Toolbox](#toolbox)
|
|
||||||
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
|
||||||
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
|
||||||
- [CPU Image](#cpu-image)
|
|
||||||
- [AMD GPU Image](#amd-gpu-image)
|
|
||||||
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
|
||||||
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
|
|
||||||
|
|
||||||
## Podman
|
## Podman
|
||||||
|
|
||||||
@@ -88,7 +49,31 @@ systemctl --user daemon-reload
|
|||||||
systemctl --user start ollama
|
systemctl --user start ollama
|
||||||
```
|
```
|
||||||
|
|
||||||
## Libvirt, Qemu, KVM
|
## rpm-ostree
|
||||||
|
|
||||||
|
```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
|
||||||
|
```
|
||||||
|
|
||||||
|
### Git, Vim, etc
|
||||||
|
|
||||||
|
Some packages are nice to have at the system level.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
rpm-ostree install git vim
|
||||||
|
```
|
||||||
|
|
||||||
|
### Libvirt, Qemu, KVM
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
rpm-ostree install virt-manager libvirt
|
rpm-ostree install virt-manager libvirt
|
||||||
@@ -97,6 +82,12 @@ systemctl enable --now libvirtd
|
|||||||
|
|
||||||
## Network
|
## Network
|
||||||
|
|
||||||
|
### Hostname
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo hostnamectl hostname reesework16
|
||||||
|
```
|
||||||
|
|
||||||
### VLAN Setup with nmcli
|
### VLAN Setup with nmcli
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -105,527 +96,3 @@ nmcli conn
|
|||||||
export NMCLI_DEVICE=enp195s0f4u1u3
|
export NMCLI_DEVICE=enp195s0f4u1u3
|
||||||
nmcli connection add type VLAN con-name $NMCLI_DEVICE.2 dev $NMCLI_DEVICE id 2
|
nmcli connection add type VLAN con-name $NMCLI_DEVICE.2 dev $NMCLI_DEVICE id 2
|
||||||
```
|
```
|
||||||
|
|
||||||
## Apps
|
|
||||||
|
|
||||||
Flatpak installs are from Flathub unless otherwise noted.
|
|
||||||
|
|
||||||
Add flathub with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
||||||
```
|
|
||||||
|
|
||||||
When prompted, prefer flathub.
|
|
||||||
|
|
||||||
### Gear Lever
|
|
||||||
|
|
||||||
I would recommend you install Gear Lever to manage App Images:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install it.mijorus.gearlever
|
|
||||||
```
|
|
||||||
|
|
||||||
### VSCode
|
|
||||||
|
|
||||||
Write code.
|
|
||||||
|
|
||||||
#### rpm-ostree
|
|
||||||
|
|
||||||
This layers vscode on the system and lets you download the latest release without waiting
|
|
||||||
for flathub to update the flatpak. Offers some advantages over flatpak, like not needing
|
|
||||||
to use flatseal/other to manage host permissions, but the flatpak install works just fine.
|
|
||||||
|
|
||||||
<https://code.visualstudio.com/docs/setup/linux#_installing-rpm-package-manually>
|
|
||||||
|
|
||||||
1. Download the rpm
|
|
||||||
2. sudo rpm-ostree install ./vscode-something-something.rpm
|
|
||||||
3. Reboot
|
|
||||||
|
|
||||||
#### Flatpak
|
|
||||||
|
|
||||||
```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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Add these keyboard shortcuts to allow forward and back with alt:
|
|
||||||
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
...
|
|
||||||
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
|
|
||||||
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
|
|
||||||
...
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Autostart
|
|
||||||
ln -s ~/.local/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
# autostart
|
|
||||||
ln -s /var/lib/flatpak/exports/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### Discord
|
|
||||||
|
|
||||||
Talk to your enemies.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.discordapp.Discord
|
|
||||||
```
|
|
||||||
|
|
||||||
### Proton Mail
|
|
||||||
|
|
||||||
Talk to your business partners?
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install me.proton.Mail
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Autostart
|
|
||||||
ln -s ~/.local/share/applications/me.proton.Mail.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
flatpak install flathub org.freedesktop.Platform.GL.default//22.08-extra
|
|
||||||
```
|
|
||||||
|
|
||||||
### Steam
|
|
||||||
|
|
||||||
Play games.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.valvesoftware.Steam
|
|
||||||
```
|
|
||||||
|
|
||||||
### MangoHud
|
|
||||||
|
|
||||||
<https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#flatpak>
|
|
||||||
|
|
||||||
Pretty Numbers for your Games.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud
|
|
||||||
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
|
|
||||||
|
|
||||||
# Allow flatpak apps to read Mangohud config
|
|
||||||
flatpak override --user --filesystem=xdg-config/MangoHud:ro
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit `~/.config/MangoHud/MangoHud.conf`
|
|
||||||
|
|
||||||
```conf
|
|
||||||
### pre defined presets
|
|
||||||
# -1 = default
|
|
||||||
# 0 = no display
|
|
||||||
# 1 = fps only
|
|
||||||
# 2 = horizontal view
|
|
||||||
# 3 = extended
|
|
||||||
# 4 = high detailed information
|
|
||||||
preset=2
|
|
||||||
|
|
||||||
### Enable most of the toggleable parameters (currently excludes `histogram`)
|
|
||||||
# full
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
systemctl --user enable --now podman.socket
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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"
|
|
||||||
},
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Freecad
|
|
||||||
|
|
||||||
Benchy benchy benchy oh no, I can't do that, this is hard.
|
|
||||||
|
|
||||||
Download the AppImage and use [Gear Lever](#apps) to install:
|
|
||||||
|
|
||||||
<https://www.freecad.org/downloads.php>
|
|
||||||
|
|
||||||
### 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
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
flatpak install uk.co.powdertoy.tpt
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pika
|
|
||||||
|
|
||||||
Backup with Borg.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.gnome.World.PikaBackup
|
|
||||||
```
|
|
||||||
|
|
||||||
### Filezilla
|
|
||||||
|
|
||||||
Really easy ftp, ftps, sftp, etc. file transfer.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.filezillaproject.Filezilla
|
|
||||||
```
|
|
||||||
|
|
||||||
### Transmission
|
|
||||||
|
|
||||||
Expand your "ISO" collection.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.transmissionbt.Transmission
|
|
||||||
```
|
|
||||||
|
|
||||||
### Frog
|
|
||||||
|
|
||||||
Extract text, scan QR codes, from images.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.github.tenderowl.frog
|
|
||||||
```
|
|
||||||
|
|
||||||
### CPU-X
|
|
||||||
|
|
||||||
CPU-Z but X this time
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install io.github.thetumultuousunicornofdarkness.cpu-x
|
|
||||||
```
|
|
||||||
|
|
||||||
### Ungoogled Chromium
|
|
||||||
|
|
||||||
Chrom
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install io.github.ungoogled_software.ungoogled_chromium
|
|
||||||
```
|
|
||||||
|
|
||||||
### Signal
|
|
||||||
|
|
||||||
Chat when Nextcloud Talk is down
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.signal.Signal
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Autostart
|
|
||||||
ln -s ~/.local/share/applications/org.signal.Signal.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
## 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
|
|
||||||
- podman (connected automatically to the host machine via the unix socket)
|
|
||||||
- tmux
|
|
||||||
- ffmpeg
|
|
||||||
- wine
|
|
||||||
- podman
|
|
||||||
- unzip
|
|
||||||
- bat
|
|
||||||
- btop
|
|
||||||
- jq
|
|
||||||
- yq
|
|
||||||
- imagemagick
|
|
||||||
|
|
||||||
### Using Reese's Arch Toolbox
|
|
||||||
|
|
||||||
Copy the relevant aliases below into your `.bashrc`.
|
|
||||||
|
|
||||||
Run `ntbox` the first time to create a new toolbox.
|
|
||||||
|
|
||||||
Run `tbox` anytime you want to enter the toolbox.
|
|
||||||
|
|
||||||
Run `rtbox` to delete the toolbox.
|
|
||||||
|
|
||||||
Run `utbox` to update the toolbox image. You'll need to run `rtbox && ntbox` after to spin up the toolbox with the new image.
|
|
||||||
|
|
||||||
#### CPU Image
|
|
||||||
|
|
||||||
Add the following to your `.bashrc`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Reese's Toolbox Commands
|
|
||||||
export TBOX_REPO='gitea.reeseapps.com/services'
|
|
||||||
export TBOX_IMAGE='arch-toolbox'
|
|
||||||
export TBOX_TAG='latest'
|
|
||||||
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
|
||||||
# Creates a new toolbox
|
|
||||||
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
# Enters the toolbox when you want to use it, you'll be running this all the time
|
|
||||||
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
|
||||||
# Removes the toolbox
|
|
||||||
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
|
||||||
# Updates the toolbox
|
|
||||||
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### AMD GPU Image
|
|
||||||
|
|
||||||
Add the following to your `.bashrc`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Reese's Toolbox Commands
|
|
||||||
export TBOX_REPO='gitea.reeseapps.com/services'
|
|
||||||
export TBOX_IMAGE='arch-toolbox-amdgpu'
|
|
||||||
export TBOX_TAG='latest'
|
|
||||||
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
|
||||||
# Creates a new toolbox
|
|
||||||
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
# Enters the toolbox when you want to use it, you'll be running this all the time
|
|
||||||
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
|
||||||
# Removes the toolbox
|
|
||||||
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
|
||||||
# Updates the toolbox
|
|
||||||
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Updating Reese's Arch Toolbox
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Stop the current arch toolbox
|
|
||||||
untbox
|
|
||||||
|
|
||||||
# Pull the newest 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
160
infrastructure/graduated/fedora/fedora-toolbox.md
Normal file
160
infrastructure/graduated/fedora/fedora-toolbox.md
Normal file
@@ -0,0 +1,160 @@
|
|||||||
|
# Toolbox
|
||||||
|
|
||||||
|
- [Toolbox](#toolbox)
|
||||||
|
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
||||||
|
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
||||||
|
- [CPU Image](#cpu-image)
|
||||||
|
- [AMD GPU Image](#amd-gpu-image)
|
||||||
|
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
||||||
|
- [Building Reese's Arch Toolbox](#building-reeses-arch-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
|
||||||
|
- podman (connected automatically to the host machine via the unix socket)
|
||||||
|
- tmux
|
||||||
|
- ffmpeg
|
||||||
|
- wine
|
||||||
|
- podman
|
||||||
|
- unzip
|
||||||
|
- bat
|
||||||
|
- btop
|
||||||
|
- jq
|
||||||
|
- yq
|
||||||
|
- imagemagick
|
||||||
|
|
||||||
|
## Using Reese's Arch Toolbox
|
||||||
|
|
||||||
|
Copy the relevant aliases below into your `.bashrc`.
|
||||||
|
|
||||||
|
Run `ntbox` the first time to create a new toolbox.
|
||||||
|
|
||||||
|
Run `tbox` anytime you want to enter the toolbox.
|
||||||
|
|
||||||
|
Run `rtbox` to delete the toolbox.
|
||||||
|
|
||||||
|
Run `utbox` to update the toolbox image. You'll need to run `rtbox && ntbox` after to spin up the toolbox with the new image.
|
||||||
|
|
||||||
|
### CPU Image
|
||||||
|
|
||||||
|
Add the following to your `.bashrc`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Reese's Toolbox Commands
|
||||||
|
export TBOX_REPO='gitea.reeseapps.com/services'
|
||||||
|
export TBOX_IMAGE='arch-toolbox'
|
||||||
|
export TBOX_TAG='latest'
|
||||||
|
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
||||||
|
# Creates a new toolbox
|
||||||
|
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
||||||
|
# Enters the toolbox when you want to use it, you'll be running this all the time
|
||||||
|
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
||||||
|
# Removes the toolbox
|
||||||
|
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
||||||
|
# Updates the toolbox
|
||||||
|
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
||||||
|
```
|
||||||
|
|
||||||
|
### AMD GPU Image
|
||||||
|
|
||||||
|
Add the following to your `.bashrc`
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Reese's Toolbox Commands
|
||||||
|
export TBOX_REPO='gitea.reeseapps.com/services'
|
||||||
|
export TBOX_IMAGE='arch-toolbox-amdgpu'
|
||||||
|
export TBOX_TAG='latest'
|
||||||
|
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
||||||
|
# Creates a new toolbox
|
||||||
|
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
||||||
|
# Enters the toolbox when you want to use it, you'll be running this all the time
|
||||||
|
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
||||||
|
# Removes the toolbox
|
||||||
|
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
||||||
|
# Updates the toolbox
|
||||||
|
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
||||||
|
```
|
||||||
|
|
||||||
|
## Updating Reese's Arch Toolbox
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Stop the current arch toolbox
|
||||||
|
untbox
|
||||||
|
|
||||||
|
# Pull the newest 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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -8,49 +8,6 @@
|
|||||||
- [Autostarting services with quadlets](#autostarting-services-with-quadlets)
|
- [Autostarting services with quadlets](#autostarting-services-with-quadlets)
|
||||||
- [Network](#network)
|
- [Network](#network)
|
||||||
- [VLAN Setup with nmcli](#vlan-setup-with-nmcli)
|
- [VLAN Setup with nmcli](#vlan-setup-with-nmcli)
|
||||||
- [Apps](#apps)
|
|
||||||
- [Gear Lever](#gear-lever)
|
|
||||||
- [VSCode](#vscode)
|
|
||||||
- [DNF](#dnf)
|
|
||||||
- [Flatpak](#flatpak)
|
|
||||||
- [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)
|
|
||||||
- [MangoHud](#mangohud)
|
|
||||||
- [Raspberry Pi Imager](#raspberry-pi-imager)
|
|
||||||
- [Fedora Media Writer](#fedora-media-writer)
|
|
||||||
- [Pods](#pods)
|
|
||||||
- [Bambu Studio](#bambu-studio)
|
|
||||||
- [Freecad](#freecad)
|
|
||||||
- [Eyedropper](#eyedropper)
|
|
||||||
- [Mingle](#mingle)
|
|
||||||
- [Obsidian](#obsidian)
|
|
||||||
- [Dev Toolbox](#dev-toolbox)
|
|
||||||
- [Junction](#junction)
|
|
||||||
- [Kdenlive](#kdenlive)
|
|
||||||
- [The Powder Toy](#the-powder-toy)
|
|
||||||
- [Pika](#pika)
|
|
||||||
- [Filezilla](#filezilla)
|
|
||||||
- [Transmission](#transmission)
|
|
||||||
- [Frog](#frog)
|
|
||||||
- [CPU-X](#cpu-x)
|
|
||||||
- [Ungoogled Chromium](#ungoogled-chromium)
|
|
||||||
- [Signal](#signal)
|
|
||||||
- [Remmina](#remmina)
|
|
||||||
- [Toolbox](#toolbox)
|
|
||||||
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
|
||||||
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
|
||||||
- [CPU Image](#cpu-image)
|
|
||||||
- [AMD GPU Image](#amd-gpu-image)
|
|
||||||
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
|
||||||
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
|
|
||||||
|
|
||||||
## Framework 16 Fixes
|
## Framework 16 Fixes
|
||||||
|
|
||||||
@@ -129,550 +86,3 @@ nmcli conn
|
|||||||
export NMCLI_DEVICE=enp195s0f4u1u3
|
export NMCLI_DEVICE=enp195s0f4u1u3
|
||||||
nmcli connection add type VLAN con-name $NMCLI_DEVICE.2 dev $NMCLI_DEVICE id 2
|
nmcli connection add type VLAN con-name $NMCLI_DEVICE.2 dev $NMCLI_DEVICE id 2
|
||||||
```
|
```
|
||||||
|
|
||||||
## Apps
|
|
||||||
|
|
||||||
Flatpak installs are from Flathub unless otherwise noted.
|
|
||||||
|
|
||||||
Add flathub with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
||||||
|
|
||||||
# Remove the fedora flathub
|
|
||||||
flatpak remote-delete fedora
|
|
||||||
```
|
|
||||||
|
|
||||||
When prompted, prefer flathub.
|
|
||||||
|
|
||||||
### Gear Lever
|
|
||||||
|
|
||||||
I would recommend you install Gear Lever to manage App Images:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install it.mijorus.gearlever
|
|
||||||
```
|
|
||||||
|
|
||||||
### VSCode
|
|
||||||
|
|
||||||
Write code.
|
|
||||||
|
|
||||||
#### DNF
|
|
||||||
|
|
||||||
<https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions>
|
|
||||||
|
|
||||||
#### Flatpak
|
|
||||||
|
|
||||||
```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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Add these keyboard shortcuts to allow forward and back with alt:
|
|
||||||
|
|
||||||
```json
|
|
||||||
[
|
|
||||||
...
|
|
||||||
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
|
|
||||||
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
|
|
||||||
...
|
|
||||||
]
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Autostart
|
|
||||||
ln -s ~/.local/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
# autostart
|
|
||||||
ln -s /var/lib/flatpak/exports/share/applications/com.nextcloud.talk.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### Discord
|
|
||||||
|
|
||||||
Talk to your enemies.
|
|
||||||
|
|
||||||
Run discord in [ungoogled chromium](#ungoogled-chromium) for now so wayland screen share works.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak run io.github.ungoogled_software.ungoogled_chromium \
|
|
||||||
--app='https://discord.com/channels/@me'
|
|
||||||
```
|
|
||||||
|
|
||||||
Then use
|
|
||||||
|
|
||||||
```bash
|
|
||||||
qdbus org.kde.KWin /KWin queryWindowInfo
|
|
||||||
```
|
|
||||||
|
|
||||||
to get the StartupWMClass name.
|
|
||||||
|
|
||||||
Copy this into `~/.local/share/applications/Discord.desktop`
|
|
||||||
|
|
||||||
```conf
|
|
||||||
[Desktop Entry]
|
|
||||||
# Created by desktopfilecreator.com
|
|
||||||
Type=Application
|
|
||||||
Version=1.0
|
|
||||||
Name=Ungoogled Chromium
|
|
||||||
Comment=Run discord in chromium
|
|
||||||
Exec=flatpak run io.github.ungoogled_software.ungoogled_chromium --app='https://discord.com/channels/@me'
|
|
||||||
Terminal=false
|
|
||||||
Icon=discord
|
|
||||||
StartupWMClass=Io.github.ungoogled_software.ungoogled_chromium
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
```
|
|
||||||
|
|
||||||
### MangoHud
|
|
||||||
|
|
||||||
<https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#flatpak>
|
|
||||||
|
|
||||||
Pretty Numbers for your Games.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.freedesktop.Platform.VulkanLayer.MangoHud
|
|
||||||
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
|
|
||||||
|
|
||||||
# Allow flatpak apps to read Mangohud config
|
|
||||||
flatpak override --user --filesystem=xdg-config/MangoHud:ro
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit `~/.config/MangoHud/MangoHud.conf`
|
|
||||||
|
|
||||||
```conf
|
|
||||||
### pre defined presets
|
|
||||||
# -1 = default
|
|
||||||
# 0 = no display
|
|
||||||
# 1 = fps only
|
|
||||||
# 2 = horizontal view
|
|
||||||
# 3 = extended
|
|
||||||
# 4 = high detailed information
|
|
||||||
preset=2
|
|
||||||
|
|
||||||
### Enable most of the toggleable parameters (currently excludes `histogram`)
|
|
||||||
# full
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
|
|
||||||
systemctl --user enable --now podman.socket
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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"
|
|
||||||
},
|
|
||||||
...
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Freecad
|
|
||||||
|
|
||||||
Benchy benchy benchy oh no, I can't do that, this is hard.
|
|
||||||
|
|
||||||
Download the AppImage and use [Gear Lever](#apps) to install:
|
|
||||||
|
|
||||||
<https://www.freecad.org/downloads.php>
|
|
||||||
|
|
||||||
### 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
|
|
||||||
```
|
|
||||||
|
|
||||||
### 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
|
|
||||||
flatpak install uk.co.powdertoy.tpt
|
|
||||||
```
|
|
||||||
|
|
||||||
### Pika
|
|
||||||
|
|
||||||
Backup with Borg.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.gnome.World.PikaBackup
|
|
||||||
```
|
|
||||||
|
|
||||||
### Filezilla
|
|
||||||
|
|
||||||
Really easy ftp, ftps, sftp, etc. file transfer.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.filezillaproject.Filezilla
|
|
||||||
```
|
|
||||||
|
|
||||||
### Transmission
|
|
||||||
|
|
||||||
Expand your "ISO" collection.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.transmissionbt.Transmission
|
|
||||||
```
|
|
||||||
|
|
||||||
### Frog
|
|
||||||
|
|
||||||
Extract text, scan QR codes, from images.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install com.github.tenderowl.frog
|
|
||||||
```
|
|
||||||
|
|
||||||
### CPU-X
|
|
||||||
|
|
||||||
CPU-Z but X this time
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install io.github.thetumultuousunicornofdarkness.cpu-x
|
|
||||||
```
|
|
||||||
|
|
||||||
### Ungoogled Chromium
|
|
||||||
|
|
||||||
Chrom
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install io.github.ungoogled_software.ungoogled_chromium
|
|
||||||
```
|
|
||||||
|
|
||||||
### Signal
|
|
||||||
|
|
||||||
Chat when Nextcloud Talk is down
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.signal.Signal
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Autostart
|
|
||||||
ln -s ~/.local/share/applications/org.signal.Signal.desktop ~/.config/autostart/
|
|
||||||
```
|
|
||||||
|
|
||||||
### Remmina
|
|
||||||
|
|
||||||
REMote desktop IN An app
|
|
||||||
|
|
||||||
```bash
|
|
||||||
flatpak install org.remmina.Remmina
|
|
||||||
```
|
|
||||||
|
|
||||||
## 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
|
|
||||||
- podman (connected automatically to the host machine via the unix socket)
|
|
||||||
- tmux
|
|
||||||
- ffmpeg
|
|
||||||
- wine
|
|
||||||
- podman
|
|
||||||
- unzip
|
|
||||||
- bat
|
|
||||||
- btop
|
|
||||||
- jq
|
|
||||||
- yq
|
|
||||||
- imagemagick
|
|
||||||
|
|
||||||
### Using Reese's Arch Toolbox
|
|
||||||
|
|
||||||
Copy the relevant aliases below into your `.bashrc`.
|
|
||||||
|
|
||||||
Run `ntbox` the first time to create a new toolbox.
|
|
||||||
|
|
||||||
Run `tbox` anytime you want to enter the toolbox.
|
|
||||||
|
|
||||||
Run `rtbox` to delete the toolbox.
|
|
||||||
|
|
||||||
Run `utbox` to update the toolbox image. You'll need to run `rtbox && ntbox` after to spin up the toolbox with the new image.
|
|
||||||
|
|
||||||
#### CPU Image
|
|
||||||
|
|
||||||
Add the following to your `.bashrc`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Reese's Toolbox Commands
|
|
||||||
export TBOX_REPO='gitea.reeseapps.com/services'
|
|
||||||
export TBOX_IMAGE='arch-toolbox'
|
|
||||||
export TBOX_TAG='latest'
|
|
||||||
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
|
||||||
# Creates a new toolbox
|
|
||||||
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
# Enters the toolbox when you want to use it, you'll be running this all the time
|
|
||||||
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
|
||||||
# Removes the toolbox
|
|
||||||
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
|
||||||
# Updates the toolbox
|
|
||||||
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
```
|
|
||||||
|
|
||||||
#### AMD GPU Image
|
|
||||||
|
|
||||||
Add the following to your `.bashrc`
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Reese's Toolbox Commands
|
|
||||||
export TBOX_REPO='gitea.reeseapps.com/services'
|
|
||||||
export TBOX_IMAGE='arch-toolbox-amdgpu'
|
|
||||||
export TBOX_TAG='latest'
|
|
||||||
export TBOX_NAME="$TBOX_IMAGE-$TBOX_TAG"
|
|
||||||
# Creates a new toolbox
|
|
||||||
alias ntbox="toolbox create -i $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
# Enters the toolbox when you want to use it, you'll be running this all the time
|
|
||||||
alias tbox="SHELL=/bin/zsh toolbox enter $TBOX_NAME"
|
|
||||||
# Removes the toolbox
|
|
||||||
alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
|
|
||||||
# Updates the toolbox
|
|
||||||
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Updating Reese's Arch Toolbox
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Stop the current arch toolbox
|
|
||||||
untbox
|
|
||||||
|
|
||||||
# Pull the newest 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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|||||||
Reference in New Issue
Block a user