diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 97bc38c..55394ba 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -22,7 +22,7 @@ jobs: uses: https://github.com/docker/build-push-action@v5 with: 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 tags: "gitea.reeseapps.com/services/arch-toolbox:latest,gitea.reeseapps.com/services/arch-toolbox:${{gitea.sha}}" no-cache: true @@ -30,7 +30,7 @@ jobs: uses: https://github.com/docker/build-push-action@v5 with: 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 tags: "gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest,gitea.reeseapps.com/services/arch-toolbox-amdgpu:${{gitea.sha}}" no-cache: true \ No newline at end of file diff --git a/infrastructure/graduated/fedora/arch-amdgpu.containerfile b/infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile similarity index 100% rename from infrastructure/graduated/fedora/arch-amdgpu.containerfile rename to infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile diff --git a/infrastructure/graduated/fedora/arch-build.sh b/infrastructure/graduated/fedora/arch-toolbox-build.sh similarity index 77% rename from infrastructure/graduated/fedora/arch-build.sh rename to infrastructure/graduated/fedora/arch-toolbox-build.sh index 683f4f7..b57a57e 100755 --- a/infrastructure/graduated/fedora/arch-build.sh +++ b/infrastructure/graduated/fedora/arch-toolbox-build.sh @@ -4,11 +4,11 @@ podman pull quay.io/toolbx/arch-toolbox:latest podman build \ -t gitea.reeseapps.com/services/arch-toolbox:latest \ - -f ./infrastructure/graduated/fedora/arch.containerfile + -f ./infrastructure/graduated/fedora/arch-toolbox.containerfile podman build \ -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 rm arch-toolbox-latest" diff --git a/infrastructure/graduated/fedora/arch.containerfile b/infrastructure/graduated/fedora/arch-toolbox.containerfile similarity index 100% rename from infrastructure/graduated/fedora/arch.containerfile rename to infrastructure/graduated/fedora/arch-toolbox.containerfile diff --git a/infrastructure/graduated/fedora/fedora-apps.md b/infrastructure/graduated/fedora/fedora-apps.md new file mode 100644 index 0000000..4e1414f --- /dev/null +++ b/infrastructure/graduated/fedora/fedora-apps.md @@ -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 + + + +### 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. + + + +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: + + + +```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 + + + +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: + + + +## 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 +``` \ No newline at end of file diff --git a/infrastructure/graduated/fedora/fedora-framework16.md b/infrastructure/graduated/fedora/fedora-framework16.md new file mode 100644 index 0000000..67d7188 --- /dev/null +++ b/infrastructure/graduated/fedora/fedora-framework16.md @@ -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. \ No newline at end of file diff --git a/infrastructure/graduated/fedora/fedora-kinoite.md b/infrastructure/graduated/fedora/fedora-kinoite.md index 22dd227..ce063c4 100644 --- a/infrastructure/graduated/fedora/fedora-kinoite.md +++ b/infrastructure/graduated/fedora/fedora-kinoite.md @@ -3,51 +3,12 @@ - [Fedora Kinoite](#fedora-kinoite) - [Podman](#podman) - [Autostarting services with quadlets](#autostarting-services-with-quadlets) - - [Libvirt, Qemu, KVM](#libvirt-qemu-kvm) + - [rpm-ostree](#rpm-ostree) + - [Git, Vim, etc](#git-vim-etc) + - [Libvirt, Qemu, KVM](#libvirt-qemu-kvm) - [Network](#network) + - [Hostname](#hostname) - [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 @@ -88,7 +49,31 @@ systemctl --user daemon-reload 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 rpm-ostree install virt-manager libvirt @@ -97,6 +82,12 @@ systemctl enable --now libvirtd ## Network +### Hostname + +```bash +sudo hostnamectl hostname reesework16 +``` + ### VLAN Setup with nmcli ```bash @@ -105,527 +96,3 @@ nmcli conn export NMCLI_DEVICE=enp195s0f4u1u3 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. - - - -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: - - - -```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 - - - -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: - - - -### 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 - } - } - ] -} -``` diff --git a/infrastructure/graduated/fedora/tmux.conf b/infrastructure/graduated/fedora/fedora-tmux.conf similarity index 100% rename from infrastructure/graduated/fedora/tmux.conf rename to infrastructure/graduated/fedora/fedora-tmux.conf diff --git a/infrastructure/graduated/fedora/fedora-toolbox.md b/infrastructure/graduated/fedora/fedora-toolbox.md new file mode 100644 index 0000000..ef82ff9 --- /dev/null +++ b/infrastructure/graduated/fedora/fedora-toolbox.md @@ -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 + } + } + ] +} +``` diff --git a/infrastructure/graduated/fedora/fedora.md b/infrastructure/graduated/fedora/fedora.md index 079ec42..a429ba8 100644 --- a/infrastructure/graduated/fedora/fedora.md +++ b/infrastructure/graduated/fedora/fedora.md @@ -8,49 +8,6 @@ - [Autostarting services with quadlets](#autostarting-services-with-quadlets) - [Network](#network) - [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 @@ -129,550 +86,3 @@ nmcli conn export NMCLI_DEVICE=enp195s0f4u1u3 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 - - - -#### 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: - - - -```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 - - - -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: - - - -### 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 - } - } - ] -} -```