minor arch-toolbox updates for distrobox
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 39m6s

This commit is contained in:
2025-02-14 10:37:29 -05:00
parent 97560b833c
commit d51b972e96
6 changed files with 90 additions and 26 deletions

View File

@@ -1,16 +1,11 @@
#!/bin/bash
# Build latest image
podman pull quay.io/toolbx/arch-toolbox:latest
# Note, in a toolbox you can run "flatpak-spawn --host ./path/to/this/script.sh"
podman build \
-t gitea.reeseapps.com/services/arch-toolbox:latest \
-f ./infrastructure/graduated/fedora/arch-toolbox.containerfile
podman build \
-t gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest \
-f ./infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile
echo "podman container stop arch-toolbox-latest"
echo "podman container rm arch-toolbox-latest"
echo "toolbox create -i gitea.reeseapps.com/services/arch-toolbox-amdgpu:latest"
echo "toolbox create -i gitea.reeseapps.com/services/arch-toobolx"
-f ./infrastructure/graduated/fedora/arch-amdgpu-toolbox.containerfile

View File

@@ -0,0 +1,27 @@
# Default values for useradd(8)
#
# The SHELL variable specifies the default login shell on your
# system.
SHELL=/bin/zsh
# The default group for users
GROUP=users
# The default home directory.
HOME=/home
# The number of days after a password expires until the account is permanently
# disabled
INACTIVE=-1
# The default expire date
EXPIRE=
# The SKEL variable specifies the directory containing "skeletal" user files;
# in other words, files such as a sample .profile that will be copied to the
# new user's home directory when it is created.
SKEL=/etc/skel
# Defines whether the mail spool should be created while
# creating the account
CREATE_MAIL_SPOOL=no

View File

@@ -12,9 +12,6 @@ PROMPT_EOL_MARK=
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# Command Not Found Autocomplete
source /usr/share/doc/pkgfile/command-not-found.zsh
### Custom Commands and Aliases ###
# Local bin PATH
@@ -43,4 +40,4 @@ eval "$(pyenv init -)"
# Calculate all folder sizes in current dir
alias {dudir,dud}='du -h --max-depth 1 | sort -h'
# Calculate all file sizes in current dir
alias {dufile,duf}='ls -lhSr'
alias {dufile,duf}='ls -lhSr'

View File

@@ -1,7 +1,7 @@
# Dockerfile for an Arch Linux Toolbox environment with a variety of development and utility tools.
# Base image using the latest version from quay.io/toolbx/arch-toolbox.
FROM quay.io/toolbx/arch-toolbox:latest
FROM docker.io/archlinux:latest
########################
##### Pacman #####
@@ -17,7 +17,7 @@ EOF
RUN sed -i 's/^Architecture = auto/Architecture = x86_64/' /etc/pacman.conf
# Sync repository databases.
RUN pacman -Sy --noconfirm
RUN pacman -Syu --noconfirm
# Install a variety of commonly used tools and utilities using Pacman.
RUN pacman -S --noconfirm \
@@ -69,8 +69,6 @@ RUN pacman -S --noconfirm \
rust rustup \
# Distributed version control system, Git extension that adds support for large files like multimedia assets.
git-lfs \
# Framework to run desktop applications from the Linux AppImage format and other application bundles without installing them.
flatpak \
# Provides traditional network tools such as ifconfig, netstat, hostname, etc., in a single package.
net-tools \
# A cross-platform system monitor that works similarly to htop(1).
@@ -88,7 +86,11 @@ RUN pacman -S --noconfirm \
# Generate strong passwords.
pwgen \
# Custom keyboard c onfiguration
qmk
qmk \
# libmemcachd for python projects
libmemcached-awesome \
# For distrobox
systemd
########################
##### Extra Apps #####
@@ -113,7 +115,10 @@ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o
####################
# Copy the zshrc.local configuration file to the container.
COPY zshrc /etc/zsh/zshrc.local
COPY arch-toolbox-supporting-files/zshrc /etc/zsh/zshrc.local
# Copy tmux.conf to configure tmux in the container.
COPY arch-toolbox-tmux.conf /etc/tmux.conf
COPY arch-toolbox-supporting-files/arch-toolbox-tmux.conf /etc/tmux.conf
# Copy useradd to set default shell
COPY arch-toolbox-supporting-files/arch-toolbox-default-useradd /etc/default/useradd

View File

@@ -1,10 +1,12 @@
# Toolbox
- [Toolbox](#toolbox)
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
- [Reese's Arch Toolbox/Distrobox](#reeses-arch-toolboxdistrobox)
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
- [CPU Image](#cpu-image)
- [AMD GPU Image](#amd-gpu-image)
- [CPU Image with Toolbox](#cpu-image-with-toolbox)
- [CPU Image with Distrobox](#cpu-image-with-distrobox)
- [AMD GPU Image with Toolbox](#amd-gpu-image-with-toolbox)
- [AMD GPU Image with Distrobox](#amd-gpu-image-with-distrobox)
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
@@ -21,7 +23,7 @@ I'd recommend adding this alias to your `.bashrc` to make things easier
alias tbox='SHELL=zsh toolbox enter arch-toolbox-latest'
```
## Reese's Arch Toolbox
## Reese's Arch Toolbox/Distrobox
I have a custom arch image based on the default arch-toolbox image. It offers:
@@ -59,9 +61,7 @@ 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`
### CPU Image with Toolbox
```bash
# Reese's Toolbox Commands
@@ -79,7 +79,27 @@ alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
```
### AMD GPU Image
### CPU Image with Distrobox
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="distrobox create --name $TBOX_NAME --image $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="distrobox enter $TBOX_NAME"
# Removes the toolbox
alias rtbox="distrobox stop $TBOX_NAME --yes"
# Updates the toolbox
alias utbox="rtbox && ntbox"
```
### AMD GPU Image with Toolbox
Add the following to your `.bashrc`
@@ -99,6 +119,26 @@ alias rtbox="podman container stop $TBOX_NAME && podman container rm $TBOX_NAME"
alias utbox="podman pull $TBOX_REPO/$TBOX_IMAGE:$TBOX_TAG"
```
### AMD GPU Image with Distrobox
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="distrobox create --name $TBOX_NAME --image $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="distrobox enter $TBOX_NAME"
# Removes the toolbox
alias rtbox="distrobox stop $TBOX_NAME --yes"
# Updates the toolbox
alias utbox="rtbox && ntbox"
```
## Updating Reese's Arch Toolbox
```bash