Skip to content

Multifunctional workbox for scientific Linux workflow.

Notifications You must be signed in to change notification settings

isakhammer/workbox

Repository files navigation

Workbox

Multifunctional docker workbox for scientific Linux workflow!

Docker environment for vim workflow of latex development (inspired by this blog) and basic scientific programming (Python and Julia). A similar concept for VScode is the so-called devcontainers. However, this workflow is focusing on developing using vim inside the container.

Introduction

For quite some time have I been struggling with annoyance of random issues that pop up in terms of my vim and latex environment such as vim mapping collisions, multiprogram compatibility problems and more. Therefore, I created a docker environment to install everything I need from scratch, which makes is easy to reproduce any flaws in my workflow and fix it straight away.

Anyhow, I started to find this docker environment useful for daily workflow, hence the name workbox. The concept is basically to mount the docker container, with fully installed features, to your workspace repo. It is now possible to easily combine compiling any scientific latex projects, launch jupyter notebooks, run simulations and use custom vim bindings in one go.

Main Features:

  • Neovim with vimtex, UltiSnips with custom mathematical tex snippets and the autocomplete coc.nvim and much more.
  • Fully installed Latexmk compiler and all basic fonts packages via texlive-full
  • Zathura for pdf viewing and ranger for file managing.
  • Python3 and Julia installed with most packages for basic scientific programming.
  • Running Jupyter Notebooks with no problems

How to run Workbox

You need to have docker installed, see link.

Then modify and apply the following script:

# Installation
PATH_TO_WORKBOX_REPO="$HOME/workbox"
git clone https://github.com/isakhammer/workbox.git ~/workbox # Even better if this is your fork
echo 'alias workbox="bash ${PATH_TO_WORKBOX_REPO}/run_workbox.sh"' >> $HOME/.bashrc && source ~/.bashrc

# Quick start
cd $PATH_TO_WORKBOX_REPO/template # Changing directory to some example project, here we do the template.
workbox # Starting an instance of the workbox.

Further Notes

  • The repo should be forked and personalized.
  • The most optimized workflow is to let Github Actions build the Dockerfile automatically and then push the latest image to your personal Docker Hub, which you then can pull whenever you want. You can check out how to do this in my workflow yaml file here which automatically is pushing the latest successful build to my personal hub.
  • Do not hesitate to put up any issues if you have any questions 🙂

About

Multifunctional workbox for scientific Linux workflow.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published