custom-containers/base_container/Containerfile

42 lines
1.9 KiB
Docker

# Base development container image
# Written by Wyatt J. Miller, 2023, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Start with the Fedora 40 image
FROM registry.fedoraproject.org/fedora-toolbox:40
# Label it right, ya know?
ENV NAME=base_container VERSION=1.3
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
version="$VERSION" \
usage="To be built upon with custom developer images" \
summary="Wyatt's custom base image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Install base development packages
RUN dnf copr enable atim/starship -y -q
RUN dnf copr enable varlad/zellij -y -q
RUN dnf install neovim tmux git fish zsh bat exa starship zellij wget unzip ansible htop iftop -y -q
RUN dnf groupinstall "C Development Tools and Libraries" -y -q
# Install atuin (magical shell history)
RUN curl -L https://github.com/atuinsh/atuin/releases/download/v18.2.0/atuin-v18.2.0-x86_64-unknown-linux-gnu.tar.gz --output atuin-v18.2.0-x86_64-unknown-linux-gnu.tar.gz
RUN tar xvzf atuin-v18.2.0-x86_64-unknown-linux-gnu.tar.gz
RUN cp ./atuin-v18.2.0-x86_64-unknown-linux-gnu/atuin /usr/local/bin/atuin
RUN rm -rf atuin-v18.2.0-x86_64-unknown-linux-gnu/
# Install lazygit (don't you know??)
RUN curl -L https://github.com/jesseduffield/lazygit/releases/download/v0.41.0/lazygit_0.41.0_Linux_x86_64.tar.gz --output lazygit_0.41.0_Linux_x86_64.tar.gz
RUN tar xvzf lazygit_0.41.0_Linux_x86_64.tar.gz
RUN cp ./lazygit /usr/local/bin/lazygit
RUN rm LICENSE README.md lazygit
# Install smug (a tmux manager)
RUN curl -L https://github.com/ivaaaan/smug/releases/download/v0.3.3/smug_0.3.3_Linux_x86_64.tar.gz --output smug_0.3.3_Linux_x86_64.tar.gz
RUN tar xvzf smug_0.3.3_Linux_x86_64.tar.gz
RUN cp ./smug /usr/local/bin/smug
RUN rm LICENSE README.md smug