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
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 16m29s
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
# Build latest image
|
||||
podman pull quay.io/toolbx/arch-toolbox:latest
|
||||
podman build \
|
||||
--no-cache \
|
||||
-t gitea.reeseapps.com/services/arch-toolbox:debug \
|
||||
-f ./infrastructure/graduated/fedora/arch.containerfile
|
||||
# Stop the current arch toolbox
|
||||
|
||||
@@ -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
|
||||
|
||||
########################
|
||||
##### Pacman #####
|
||||
########################
|
||||
|
||||
# Enable Pacman multilib
|
||||
# Enable multilib support by appending it to /etc/pacman.conf.
|
||||
RUN tee -a /etc/pacman.conf <<EOF
|
||||
[multilib]
|
||||
Include = /etc/pacman.d/mirrorlist
|
||||
EOF
|
||||
|
||||
# Set Pacman architecture to x86_64 manually because auto doesn't work.
|
||||
RUN sed -i 's/Architecture = auto/Architecture = x86_64/' /etc/pacman.conf
|
||||
# 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
|
||||
|
||||
# Sync Pacman repos and get updates
|
||||
RUN pacman -Syu --noconfirm
|
||||
# Sync repository databases and perform an upgrade of all installed packages without asking for confirmation.
|
||||
RUN pacman -Sy --noconfirm
|
||||
|
||||
# Install tools
|
||||
# Install a variety of commonly used tools and utilities using Pacman.
|
||||
RUN pacman -S --noconfirm \
|
||||
zsh \
|
||||
grml-zsh-config \
|
||||
zsh-syntax-highlighting \
|
||||
zsh-autosuggestions \
|
||||
pkgfile \
|
||||
vim \
|
||||
bind \
|
||||
iperf3 \
|
||||
kubectl \
|
||||
helm \
|
||||
nethogs \
|
||||
python \
|
||||
python-pip \
|
||||
python-pipx \
|
||||
ansible \
|
||||
tmux \
|
||||
ffmpeg \
|
||||
wine \
|
||||
podman \
|
||||
unzip \
|
||||
bat \
|
||||
btop \
|
||||
jq \
|
||||
yq \
|
||||
imagemagick \
|
||||
nodejs \
|
||||
npm \
|
||||
go \
|
||||
rust \
|
||||
rustup \
|
||||
git-lfs \
|
||||
flatpak \
|
||||
net-tools \
|
||||
glances \
|
||||
networkmanager \
|
||||
pandoc \
|
||||
texlive-latex \
|
||||
texlive-latexextra \
|
||||
texlive-latexrecommended \
|
||||
texlive-binextra \
|
||||
texlive-fontsrecommended \
|
||||
texlive-fontsextra \
|
||||
code \
|
||||
ruff
|
||||
# A powerful shell with syntax highlighting, autosuggestions, and more.
|
||||
zsh grml-zsh-config zsh-syntax-highlighting zsh-autosuggestions \
|
||||
# Utility to find which packages own files or directories in the system.
|
||||
pkgfile \
|
||||
# Advanced text editor for code editing and other tasks.
|
||||
vim \
|
||||
# DNS name resolver
|
||||
bind \
|
||||
# Network bandwidth measuring tool.
|
||||
iperf3 \
|
||||
# Command-line interface for managing Kubernetes clusters.
|
||||
kubectl \
|
||||
# Package manager and deployment tool for Kubernetes.
|
||||
helm \
|
||||
# Utility to monitor real-time network usage of processes.
|
||||
nethogs \
|
||||
# Python programming language interpreter, pip package manager, and pipx for isolated package management.
|
||||
python python-pip python-pipx \
|
||||
# DevOps configuration management tool.
|
||||
ansible \
|
||||
# Terminal multiplexer.
|
||||
tmux \
|
||||
# Multimedia player with support for a wide range of codecs and file formats.
|
||||
ffmpeg \
|
||||
# Microsoft Windows compatibility layer.
|
||||
wine \
|
||||
# Container engine providing an interface that works similarly to Docker but is container format-agnostic.
|
||||
podman \
|
||||
# Archive utility similar to GNU tar, used to package files into single archive files.
|
||||
unzip \
|
||||
# An open source version of cat(1) with syntax highlighting and Git integration.
|
||||
bat \
|
||||
# A terminal activity monitor (top clone).
|
||||
btop \
|
||||
# Command-line JSON processor.
|
||||
jq \
|
||||
# YAML-based configuration-as-code tool for command-line interfaces written in Go, Rust, Python, and more.
|
||||
yq \
|
||||
# An image manipulation software suite based on ImageMagick.
|
||||
imagemagick \
|
||||
# Cross-platform JavaScript runtime built for developing the server-side of web applications.
|
||||
nodejs npm \
|
||||
# The Go programming language environment including a toolchain (gc) and libraries.
|
||||
go \
|
||||
# Rust package manager and compiler installation utility.
|
||||
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).
|
||||
glances \
|
||||
# Network manager tool
|
||||
networkmanager \
|
||||
# Document conversion tool and markup language converter.
|
||||
pandoc \
|
||||
# Comprehensive LaTeX distribution for high-quality typesetting of documents.
|
||||
texlive-latex texlive-latexextra texlive-latexrecommended texlive-binextra texlive-fontsrecommended texlive-fontsextra \
|
||||
# Visual Studio Code editor
|
||||
code \
|
||||
# Python static type checker and code formatter.
|
||||
ruff
|
||||
|
||||
########################
|
||||
##### Extra Apps #####
|
||||
########################
|
||||
|
||||
# UV (Pyenv/Poetry replacement)
|
||||
# Install UV, a tool for managing Python environments.
|
||||
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 && \
|
||||
tar -C /usr -xzf 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" && \
|
||||
unzip -qq awscliv2.zip && \
|
||||
./aws/install && \
|
||||
rm awscliv2.zip && \
|
||||
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 && \
|
||||
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 #####
|
||||
####################
|
||||
|
||||
# zshrc.local
|
||||
# Copy the zshrc.local configuration file to the container.
|
||||
COPY zshrc /etc/zsh/zshrc.local
|
||||
|
||||
# tmux.conf
|
||||
# Copy tmux.conf to configure tmux in the container.
|
||||
COPY tmux.conf /etc/tmux.conf
|
||||
@@ -272,6 +272,7 @@ Mine. Craft. But somewhere else.
|
||||
|
||||
```bash
|
||||
flatpak install com.moonlight_stream.Moonlight
|
||||
flatpak install flathub org.freedesktop.Platform.GL.default//22.08-extra
|
||||
```
|
||||
|
||||
### Steam
|
||||
|
||||
@@ -35,6 +35,11 @@ export PATH="$PATH:$(go env GOBIN):$(go env GOPATH)/bin"
|
||||
# Nodejs Binaries
|
||||
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
|
||||
alias {dudir,dud}='du -h --max-depth 1 | sort -h'
|
||||
# Calculate all file sizes in current dir
|
||||
|
||||
Reference in New Issue
Block a user