summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile29
-rw-r--r--provision.sh31
-rwxr-xr-xrun.sh2
3 files changed, 60 insertions, 2 deletions
diff --git a/Dockerfile b/Dockerfile
index bd8322c..ca2c23e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,6 +3,7 @@ FROM ubuntu:jammy
ARG userid=1000
ARG groupid=100
ARG username=compromyse
+ARG config=vm
ARG http_proxy
RUN DEBIAN_FRONTEND="noninteractive" apt-get update
@@ -10,7 +11,7 @@ RUN DEBIAN_FRONTEND="noninteractive" apt-get upgrade -y
RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y apt-utils sudo
-RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev lib32ncurses5-dev libncurses5 libncurses5-dev
+RUN DEBIAN_FRONTEND="noninteractive" apt-get install -y bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync schedtool squashfs-tools xsltproc zip zlib1g-dev lib32ncurses5-dev libncurses5 libncurses5-dev lib32ncurses5-dev libncurses5 libncurses5-dev
RUN curl -o /usr/local/bin/repo https://storage.googleapis.com/git-repo-downloads/repo
RUN chmod a+x /usr/local/bin/repo
@@ -26,3 +27,29 @@ ENV USER=$username
RUN git config --global user.email "raghus2247@gmail.com"
RUN git config --global user.name "Raghuram Subramani"
RUN git lfs install
+
+RUN curl -L https://nixos.org/nix/install -o /tmp/install-nix.sh && \
+ sh /tmp/install-nix.sh --no-daemon && \
+ rm /tmp/install-nix.sh
+
+ENV PATH="/home/$username/.nix-profile/bin:/home/$username/.nix-profile/sbin:$PATH"
+
+RUN nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager && \
+ nix-channel --update
+
+RUN nix-shell "<home-manager>" -A install
+
+RUN git clone https://github.com/compromyse/dotfiles .config/home-manager/dotfiles
+RUN git clone https://github.com/tmux-plugins/tpm .tmux/plugins/tpm
+
+RUN rm .config/home-manager/home.nix && \
+ ln -s /home/$username/.config/home-manager/dotfiles/machines/vm/home.nix /home/$username/.config/home-manager/home.nix
+
+RUN sudo apt-get purge -y git
+RUN sudo apt-get autoremove -y
+
+RUN home-manager build && \
+ home-manager switch -b backup && \
+ rm $HOME/result
+
+RUN .tmux/plugins/tpm/bin/install_plugins
diff --git a/provision.sh b/provision.sh
new file mode 100644
index 0000000..79d5558
--- /dev/null
+++ b/provision.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+set -xe
+
+CONFIG=vm
+
+sh <(curl -L https://nixos.org/nix/install) --no-daemon
+
+. "$HOME/.nix-profile/etc/profile.d/nix.sh"
+
+nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
+nix-channel --update
+
+nix-shell "<home-manager>" -A install
+. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
+
+git clone https://github.com/compromyse/dotfiles $HOME/.config/home-manager/dotfiles
+git clone https://github.com/tmux-plugins/tpm $HOME/.tmux/plugins/tpm
+
+rm $HOME/.config/home-manager/home.nix
+ln -s $HOME/.config/home-manager/dotfiles/machines/$CONFIG/home.nix $HOME/.config/home-manager/home.nix
+
+sudo apt-get purge -y git
+sudo apt-get autoremove -y
+
+home-manager build
+home-manager switch -b backup
+
+rm $HOME/result
+
+~/.tmux/plugins/tpm/bin/install_plugins
diff --git a/run.sh b/run.sh
index ecacb7f..5b24ebf 100755
--- a/run.sh
+++ b/run.sh
@@ -2,4 +2,4 @@
user=compromyse
-docker run -it --rm -v "$(pwd):/home/$user/lineage" lineage
+docker run -it --rm -v "$(pwd)/src:/home/$user/src" lineage