diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2024-12-04 21:22:59 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2024-12-04 21:22:59 +0530 |
commit | f896a434d90cda01aebbd26aef259bbd80108bcd (patch) | |
tree | 05fc87a1045138ab148b3bd2d153709799220eda | |
parent | fe86c7f134ca57280af53eef773b62ec454a3200 (diff) |
update to provision docker
-rw-r--r-- | Dockerfile | 29 | ||||
-rw-r--r-- | provision.sh | 31 | ||||
-rwxr-xr-x | run.sh | 2 |
3 files changed, 60 insertions, 2 deletions
@@ -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 @@ -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 |