Streamline and consolidate arch toolbox containerfile
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 6m29s
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 6m29s
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
name: Gitea Actions Demo
|
name: Reese's Arch Toolbox
|
||||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
run-name: Build and Push Reese's Arch Toolbox
|
||||||
on: [push]
|
on: [push]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-arch-toolbox:
|
build-and-push-arch-toolbox:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: gitea.ref == 'refs/heads/main'
|
if: gitea.ref == 'refs/heads/main'
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -1,26 +1,24 @@
|
|||||||
FROM quay.io/toolbx/arch-toolbox:latest
|
FROM quay.io/toolbx/arch-toolbox:latest
|
||||||
|
|
||||||
# Pacman Setup
|
# Enable Pacman multilib
|
||||||
# Enable multilib
|
|
||||||
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 architecture to x86_64 manually because auto doesn't work.
|
|
||||||
|
# Set Pacman architecture to x86_64 manually because auto doesn't work.
|
||||||
RUN sed -i 's/Architecture = auto/Architecture = x86_64/' /etc/pacman.conf
|
RUN sed -i 's/Architecture = auto/Architecture = x86_64/' /etc/pacman.conf
|
||||||
# Get updates
|
|
||||||
|
# Sync Pacman repos and get updates
|
||||||
RUN pacman -Syu --noconfirm
|
RUN pacman -Syu --noconfirm
|
||||||
|
|
||||||
# Install zsh
|
# Install tools
|
||||||
RUN pacman -S --noconfirm \
|
RUN pacman -S --noconfirm \
|
||||||
zsh \
|
zsh \
|
||||||
grml-zsh-config \
|
grml-zsh-config \
|
||||||
zsh-syntax-highlighting \
|
zsh-syntax-highlighting \
|
||||||
zsh-autosuggestions \
|
zsh-autosuggestions \
|
||||||
pkgfile
|
pkgfile \
|
||||||
|
|
||||||
# Install tools
|
|
||||||
RUN pacman -S --noconfirm \
|
|
||||||
vim \
|
vim \
|
||||||
bind \
|
bind \
|
||||||
iperf3 \
|
iperf3 \
|
||||||
@@ -32,24 +30,26 @@ RUN pacman -S --noconfirm \
|
|||||||
python-pipx \
|
python-pipx \
|
||||||
ansible \
|
ansible \
|
||||||
tmux \
|
tmux \
|
||||||
ffmpeg
|
ffmpeg \
|
||||||
|
wine \
|
||||||
|
podman \
|
||||||
|
unzip
|
||||||
|
|
||||||
# Ollama
|
# Ollama
|
||||||
RUN curl -fsSL https://ollama.com/install.sh | sh
|
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
|
# AWS CLI V2
|
||||||
RUN pacman -S --noconfirm unzip
|
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 awscliv2.zip && \
|
||||||
RUN unzip awscliv2.zip
|
./aws/install && \
|
||||||
RUN ./aws/install
|
rm awscliv2.zip && \
|
||||||
|
rm -rf aws
|
||||||
# Podman
|
|
||||||
RUN pacman -S --noconfirm podman
|
|
||||||
|
|
||||||
# Wine
|
|
||||||
RUN pacman -Sy --noconfirm wine
|
|
||||||
|
|
||||||
|
####################
|
||||||
##### RUN LAST #####
|
##### RUN LAST #####
|
||||||
|
####################
|
||||||
|
|
||||||
# ZSHRC
|
# ZSHRC
|
||||||
COPY <<EOF /etc/zsh/zshrc.local
|
COPY <<EOF /etc/zsh/zshrc.local
|
||||||
|
|||||||
@@ -28,11 +28,13 @@
|
|||||||
- [Junction](#junction)
|
- [Junction](#junction)
|
||||||
- [Kdenlive](#kdenlive)
|
- [Kdenlive](#kdenlive)
|
||||||
- [The Powder Toy](#the-powder-toy)
|
- [The Powder Toy](#the-powder-toy)
|
||||||
|
- [Pika](#pika)
|
||||||
- [Toolbox](#toolbox)
|
- [Toolbox](#toolbox)
|
||||||
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
- [Reese's Arch Toolbox](#reeses-arch-toolbox)
|
||||||
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
- [Pipx/Poetry](#pipxpoetry)
|
||||||
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
- [Using Reese's Arch Toolbox](#using-reeses-arch-toolbox)
|
||||||
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
|
- [Updating Reese's Arch Toolbox](#updating-reeses-arch-toolbox)
|
||||||
|
- [Building Reese's Arch Toolbox](#building-reeses-arch-toolbox)
|
||||||
|
|
||||||
## Podman
|
## Podman
|
||||||
|
|
||||||
@@ -287,6 +289,14 @@ I love sandboxes.
|
|||||||
uk.co.powdertoy.tpt
|
uk.co.powdertoy.tpt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Pika
|
||||||
|
|
||||||
|
Backup with Borg.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
flatpak install org.gnome.World.PikaBackup
|
||||||
|
```
|
||||||
|
|
||||||
## Toolbox
|
## Toolbox
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -320,14 +330,27 @@ I have a custom arch image based on the default arch-toolbox image. It offers:
|
|||||||
- podman (connected automatically to the host machine via the unix socket)
|
- podman (connected automatically to the host machine via the unix socket)
|
||||||
- tmux
|
- tmux
|
||||||
|
|
||||||
#### Using Reese's Arch Toolbox
|
#### Pipx/Poetry
|
||||||
|
|
||||||
|
<https://python-poetry.org/docs/>
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# pipx is already installed but the pathing won't work for installed apps
|
||||||
|
pipx ensurepath # then source ~/.zshrc or ~/.bashrc
|
||||||
|
|
||||||
|
pipx install poetry
|
||||||
|
# Now this should work.
|
||||||
|
poetry new test-project
|
||||||
|
```
|
||||||
|
|
||||||
|
### Using Reese's Arch Toolbox
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
|
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
|
||||||
SHELL=/bin/zsh toolbox enter arch-toolbox-latest
|
SHELL=/bin/zsh toolbox enter arch-toolbox-latest
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Updating Reese's Arch Toolbox
|
### Updating Reese's Arch Toolbox
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Stop the current arch toolbox
|
# Stop the current arch toolbox
|
||||||
@@ -340,7 +363,7 @@ podman pull gitea.reeseapps.com/services/arch-toolbox:latest
|
|||||||
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
|
toolbox create -i gitea.reeseapps.com/services/arch-toolbox:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Building Reese's Arch Toolbox
|
### Building Reese's Arch Toolbox
|
||||||
|
|
||||||
You can build and run the image wit this (See `Containerfile` in this directory):
|
You can build and run the image wit this (See `Containerfile` in this directory):
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user