comments for arch containerfile, also add uv and ruff
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 16m29s

This commit is contained in:
2024-12-23 22:39:17 -06:00
parent 4afb5b26e8
commit 880a82f7d8
4 changed files with 85 additions and 57 deletions

View File

@@ -3,7 +3,6 @@
# Build latest image # Build latest image
podman pull quay.io/toolbx/arch-toolbox:latest podman pull quay.io/toolbx/arch-toolbox:latest
podman build \ podman build \
--no-cache \
-t gitea.reeseapps.com/services/arch-toolbox:debug \ -t gitea.reeseapps.com/services/arch-toolbox:debug \
-f ./infrastructure/graduated/fedora/arch.containerfile -f ./infrastructure/graduated/fedora/arch.containerfile
# Stop the current arch toolbox # Stop the current arch toolbox

View File

@@ -1,88 +1,111 @@
# 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 quay.io/toolbx/arch-toolbox:latest
######################## ########################
##### Pacman ##### ##### Pacman #####
######################## ########################
# Enable Pacman multilib # Enable multilib support by appending it to /etc/pacman.conf.
RUN tee -a /etc/pacman.conf <<EOF RUN tee -a /etc/pacman.conf <<EOF
[multilib] [multilib]
Include = /etc/pacman.d/mirrorlist Include = /etc/pacman.d/mirrorlist
EOF EOF
# Set Pacman architecture to x86_64 manually because auto doesn't work. # Set the architecture for Pacman manually to x86_64 since automatic detection might not work properly.
RUN sed -i 's/Architecture = auto/Architecture = x86_64/' /etc/pacman.conf RUN sed -i 's/^Architecture = auto/Architecture = x86_64/' /etc/pacman.conf
# Sync Pacman repos and get updates # Sync repository databases and perform an upgrade of all installed packages without asking for confirmation.
RUN pacman -Syu --noconfirm RUN pacman -Sy --noconfirm
# Install tools # Install a variety of commonly used tools and utilities using Pacman.
RUN pacman -S --noconfirm \ RUN pacman -S --noconfirm \
zsh \ # A powerful shell with syntax highlighting, autosuggestions, and more.
grml-zsh-config \ zsh grml-zsh-config zsh-syntax-highlighting zsh-autosuggestions \
zsh-syntax-highlighting \ # Utility to find which packages own files or directories in the system.
zsh-autosuggestions \
pkgfile \ pkgfile \
# Advanced text editor for code editing and other tasks.
vim \ vim \
# DNS name resolver
bind \ bind \
# Network bandwidth measuring tool.
iperf3 \ iperf3 \
# Command-line interface for managing Kubernetes clusters.
kubectl \ kubectl \
# Package manager and deployment tool for Kubernetes.
helm \ helm \
# Utility to monitor real-time network usage of processes.
nethogs \ nethogs \
python \ # Python programming language interpreter, pip package manager, and pipx for isolated package management.
python-pip \ python python-pip python-pipx \
python-pipx \ # DevOps configuration management tool.
ansible \ ansible \
# Terminal multiplexer.
tmux \ tmux \
# Multimedia player with support for a wide range of codecs and file formats.
ffmpeg \ ffmpeg \
# Microsoft Windows compatibility layer.
wine \ wine \
# Container engine providing an interface that works similarly to Docker but is container format-agnostic.
podman \ podman \
# Archive utility similar to GNU tar, used to package files into single archive files.
unzip \ unzip \
# An open source version of cat(1) with syntax highlighting and Git integration.
bat \ bat \
# A terminal activity monitor (top clone).
btop \ btop \
# Command-line JSON processor.
jq \ jq \
# YAML-based configuration-as-code tool for command-line interfaces written in Go, Rust, Python, and more.
yq \ yq \
# An image manipulation software suite based on ImageMagick.
imagemagick \ imagemagick \
nodejs \ # Cross-platform JavaScript runtime built for developing the server-side of web applications.
npm \ nodejs npm \
# The Go programming language environment including a toolchain (gc) and libraries.
go \ go \
rust \ # Rust package manager and compiler installation utility.
rustup \ rust rustup \
# Distributed version control system, Git extension that adds support for large files like multimedia assets.
git-lfs \ git-lfs \
# Framework to run desktop applications from the Linux AppImage format and other application bundles without installing them.
flatpak \ flatpak \
# Provides traditional network tools such as ifconfig, netstat, hostname, etc., in a single package.
net-tools \ net-tools \
# A cross-platform system monitor that works similarly to htop(1).
glances \ glances \
# Network manager tool
networkmanager \ networkmanager \
# Document conversion tool and markup language converter.
pandoc \ pandoc \
texlive-latex \ # Comprehensive LaTeX distribution for high-quality typesetting of documents.
texlive-latexextra \ texlive-latex texlive-latexextra texlive-latexrecommended texlive-binextra texlive-fontsrecommended texlive-fontsextra \
texlive-latexrecommended \ # Visual Studio Code editor
texlive-binextra \
texlive-fontsrecommended \
texlive-fontsextra \
code \ code \
# Python static type checker and code formatter.
ruff ruff
######################## ########################
##### Extra Apps ##### ##### Extra Apps #####
######################## ########################
# UV (Pyenv/Poetry replacement) # Install UV, a tool for managing Python environments.
RUN curl -LsSf https://astral.sh/uv/install.sh | sh RUN curl -LsSf https://astral.sh/uv/install.sh | sh
# Ollama # Install Ollama, an AI language model application.
RUN curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz && \ RUN curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz && \
tar -C /usr -xzf ollama-linux-amd64.tgz && \ tar -C /usr -xzf ollama-linux-amd64.tgz && \
rm ollama-linux-amd64.tgz rm ollama-linux-amd64.tgz
# AWS CLI V2 # Install AWS CLI version 2.
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \
unzip -qq awscliv2.zip && \ unzip -qq awscliv2.zip && \
./aws/install && \ ./aws/install && \
rm awscliv2.zip && \ rm awscliv2.zip && \
rm -rf aws rm -rf aws
# Youtube DL # Install yt-dlp, a command-line program for downloading YouTube videos.
RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/youtube-dlp && \ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/youtube-dlp && \
chmod a+rx /usr/local/bin/youtube-dlp chmod a+rx /usr/local/bin/youtube-dlp
@@ -90,8 +113,8 @@ RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o
##### COPIES ##### ##### COPIES #####
#################### ####################
# zshrc.local # Copy the zshrc.local configuration file to the container.
COPY zshrc /etc/zsh/zshrc.local COPY zshrc /etc/zsh/zshrc.local
# tmux.conf # Copy tmux.conf to configure tmux in the container.
COPY tmux.conf /etc/tmux.conf COPY tmux.conf /etc/tmux.conf

View File

@@ -272,6 +272,7 @@ Mine. Craft. But somewhere else.
```bash ```bash
flatpak install com.moonlight_stream.Moonlight flatpak install com.moonlight_stream.Moonlight
flatpak install flathub org.freedesktop.Platform.GL.default//22.08-extra
``` ```
### Steam ### Steam

View File

@@ -35,6 +35,11 @@ export PATH="$PATH:$(go env GOBIN):$(go env GOPATH)/bin"
# Nodejs Binaries # Nodejs Binaries
export npm_config_prefix="$HOME/.local" export npm_config_prefix="$HOME/.local"
# Pyenv
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
# Calculate all folder sizes in current dir # Calculate all folder sizes in current dir
alias {dudir,dud}='du -h --max-depth 1 | sort -h' alias {dudir,dud}='du -h --max-depth 1 | sort -h'
# Calculate all file sizes in current dir # Calculate all file sizes in current dir