Last active
July 6, 2023 07:00
-
-
Save NathanaelGandhi/6d000811df285d249437f93252922ae9 to your computer and use it in GitHub Desktop.
Development Containerfile for building Doxygen documentation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
################################################################################ | |
# Title: Development Container for building Doxygen documentation | |
# Author: Nathanael Gandhi | gist.github.com/NathanaelGandhi | |
# Notes: Container for all project dependencies. Intended to be run using | |
# distrobox. Can be built with either Docker or Podman. | |
################################################################################ | |
# Base Image | |
FROM ubuntu:22.04 | |
################################################################################ | |
# Base Configuration | |
ENV LANG C.UTF-8 | |
ENV LC_ALL C.UTF-8 | |
################################################################################ | |
# Update apt | |
RUN apt-get update | |
################################################################################ | |
# Use cached packages if available | |
# Note: on-host ```sudo apt install apt-cacher-ng``` | |
ARG USE_CACHED_APT_PACKAGES='true' | |
RUN if [ "$USE_CACHED_APT_PACKAGES" = "true" ]; then \ | |
echo "Using cached apt packages if available"; \ | |
apt-get install auto-apt-proxy -y && auto-apt-proxy; \ | |
else \ | |
echo "Not using cached apt packages"; \ | |
fi | |
################################################################################ | |
# Install user tools | |
RUN apt-get install -y git nano tree | |
################################################################################ | |
# Install extend & theme ZSH shell | |
RUN apt-get install -y wget zsh fonts-powerline && \ | |
echo "[config-zsh] installing oh-my-zsh" && \ | |
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O - | zsh || true && \ | |
echo "[config-zsh] installing oh-my-zsh plugins" && \ | |
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \ | |
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \ | |
sed -i 's|plugins=(git)|plugins=(git zsh-autosuggestions zsh-syntax-highlighting)|g' ~/.zshrc && \ | |
echo "[config-zsh] setting theme to agnoster" && \ | |
sed -i 's|ZSH_THEME="robbyrussell"|ZSH_THEME="agnoster"|g' ~/.zshrc && \ | |
sed -i 's|echo -n "%{%f%}"|echo -n "\n[%D{%H:%M:%S}] >%{%f%}"|g' ~/.oh-my-zsh/themes/agnoster.zsh-theme | |
# Run zsh on container start | |
CMD [ "zsh" ] | |
################################################################################ | |
# Install Doxygen Dependencies | |
RUN apt-get install -y doxygen graphviz | |
################################################################################ | |
# Install PDF Generation Dependencies | |
# RUN apt-get install -y texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra | |
################################################################################ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment