second commit

This commit is contained in:
Daylin Morgan 2024-10-19 16:32:52 -05:00
parent 797ae5366d
commit 330c86c465
Signed by: daylin
GPG key ID: 950D13E9719334AD
6 changed files with 93 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
.task.mk

26
Containerfile Normal file
View file

@ -0,0 +1,26 @@
FROM docker.io/library/archlinux:base-devel
LABEL com.github.containers.toolbox="true" \
name="daylinbox" \
version="base-devel" \
usage="This image is meant to be used by daylin" \
maintainer="Daylin Morgan <me@dayl.in>"
# summary="Base image for creating Arch Linux Toolbx containers" \
# Install extra packages
COPY extra-packages my-extra-packages /
RUN pacman -Syu --needed --noconfirm - < extra-packages
RUN pacman -Syu --needed --noconfirm - < my-extra-packages
RUN rm /extra-packages /my-extra-packages
# Enable man pages, enable progress bars
RUN sed -i -e 's/NoProgressBar/#NoProgressBar/' -e 's/NoExtract/#NoExtract/' /etc/pacman.conf
# Force reinstall of packages which have man pages (shouldn't redownload any that were just upgraded)
RUN mkdir -p /usr/share/man && pacman -Qo /usr/share/man | awk '{print $5}' | xargs pacman -S --noconfirm man-db
# Clean up cache
RUN yes | pacman -Scc
# Enable sudo permission for wheel users
RUN echo "%wheel ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/toolbox

5
Makefile Normal file
View file

@ -0,0 +1,5 @@
build: ## build the image!
podman build . -t daylinbox
-include .task.mk
$(if $(filter help,$(MAKECMDGOALS)),$(if $(wildcard .task.mk),,.task.mk: ; curl -fsSL https://raw.githubusercontent.com/daylinmorgan/task.mk/v2024.1001/task.mk -o .task.mk))

27
README.md Normal file
View file

@ -0,0 +1,27 @@
# daylinbox
Container definition for use with [distrobox](https://github.com/89luca89/distrobox).
It's loosely based on the existing container defined [here](https://github.com/containers/toolbox/blob/dcd4c4382c912f98c60e7abccc3de7aa8f786bdf/images/arch/Containerfile).
To use ensure `podman` is installed.
Then build the image:
```sh
make build
```
Then create and enter a distrobox:
```sh
distrobox create -i daylinbox
distrobox enter daylinbox
```
`./extra-packages` was copied over from the original container build.
`./my-extra-packages` is the list of tools I want around in these containers.
## possible future improvements
- addition of `pixi`
- make microsoft build and host the image?

26
extra-packages Normal file
View file

@ -0,0 +1,26 @@
bash-completion
diffutils
flatpak-xdg-utils
git
gnupg
keyutils
lsof
man-db
man-pages
mlocate
mtr
nss-mdns
openssh
pigz
procps-ng
rsync
tcpdump
time
traceroute
tree
unzip
vte-common
wget
words
xorg-xauth
zip

8
my-extra-packages Normal file
View file

@ -0,0 +1,8 @@
python
neovim
fd
ripgrep
zoxide
fzf
eza
lazygit