aboutsummaryrefslogtreecommitdiff
path: root/docker_tools
diff options
context:
space:
mode:
Diffstat (limited to 'docker_tools')
-rw-r--r--docker_tools/Dockerfile20
-rw-r--r--docker_tools/README.md12
-rw-r--r--docker_tools/build.sh1
-rw-r--r--docker_tools/config/README2
-rw-r--r--docker_tools/config/nvim/.gitignore2
-rw-r--r--docker_tools/config/tmux/.gitignore2
-rw-r--r--docker_tools/devbox.sh1
-rw-r--r--docker_tools/docker-compose.yml15
8 files changed, 55 insertions, 0 deletions
diff --git a/docker_tools/Dockerfile b/docker_tools/Dockerfile
new file mode 100644
index 0000000..7a3b20c
--- /dev/null
+++ b/docker_tools/Dockerfile
@@ -0,0 +1,20 @@
+FROM verilator/verilator:latest
+
+# Install python3 + pip3 for fusesoc
+RUN apt-get update \
+ && DEBIAN_FRONTEND=noninteractive \
+ && apt-get install --no-install-recommends -y \
+ curl \
+ python3 \
+ python3-pip \
+ vim \
+ neovim \
+ tmux \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN pip3 install --upgrade fusesoc
+
+WORKDIR /work
+
+ENTRYPOINT [ "/bin/bash", "-l", "-c" ]
diff --git a/docker_tools/README.md b/docker_tools/README.md
new file mode 100644
index 0000000..630e576
--- /dev/null
+++ b/docker_tools/README.md
@@ -0,0 +1,12 @@
+# Docker environment setup
+This docker container has everything you need to develop.
+
+To build the docker image, run
+```
+./build.sh
+```
+To enter the work environment.
+```
+./devbox.sh
+```
+The config directory mounts to the .config directory in root, for you to add your vim/nvim/tmux configurations.
diff --git a/docker_tools/build.sh b/docker_tools/build.sh
new file mode 100644
index 0000000..75a00cd
--- /dev/null
+++ b/docker_tools/build.sh
@@ -0,0 +1 @@
+docker build -t devbox:latest .
diff --git a/docker_tools/config/README b/docker_tools/config/README
new file mode 100644
index 0000000..530a7de
--- /dev/null
+++ b/docker_tools/config/README
@@ -0,0 +1,2 @@
+# Configuration files for your favorite programs
+Put all of your config files in here, if you want to add new programs, add new mounts to the docker compose and new programs to the docker file.
diff --git a/docker_tools/config/nvim/.gitignore b/docker_tools/config/nvim/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/docker_tools/config/nvim/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/docker_tools/config/tmux/.gitignore b/docker_tools/config/tmux/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/docker_tools/config/tmux/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/docker_tools/devbox.sh b/docker_tools/devbox.sh
new file mode 100644
index 0000000..afd7513
--- /dev/null
+++ b/docker_tools/devbox.sh
@@ -0,0 +1 @@
+docker compose run --rm dev_environment /bin/bash
diff --git a/docker_tools/docker-compose.yml b/docker_tools/docker-compose.yml
new file mode 100644
index 0000000..e7977d9
--- /dev/null
+++ b/docker_tools/docker-compose.yml
@@ -0,0 +1,15 @@
+services:
+ dev_environment:
+ container_name: devbox
+ image: devbox:latest
+
+ # Allow for interactive terminal
+ stdin_open: true
+ tty: true
+
+ # Mount to repository
+ volumes:
+ - ../:/work
+ - ./config/nvim:/root/.config/nvim
+ - ./config/tmux:/root/.config/tmux
+