From ee0a5d881c896ccbd05ec16b5d7e3f12774c6844 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Sat, 25 May 2024 15:42:43 +0530 Subject: update --- containers/debian/Dockerfile | 14 ++++++++++++++ containers/debian/compose.yaml | 12 ++++++++++++ containers/debian/scripts | 1 + debian/Vagrantfile | 8 ++++---- debian/provision-root.sh | 21 --------------------- debian/provision-user.sh | 21 --------------------- scripts/provision-docker.sh | 7 +++++++ scripts/provision-root.sh | 12 ++++++++++++ scripts/provision-user.sh | 30 ++++++++++++++++++++++++++++++ 9 files changed, 80 insertions(+), 46 deletions(-) create mode 100644 containers/debian/Dockerfile create mode 100644 containers/debian/compose.yaml create mode 120000 containers/debian/scripts delete mode 100644 debian/provision-root.sh delete mode 100644 debian/provision-user.sh create mode 100644 scripts/provision-docker.sh create mode 100644 scripts/provision-root.sh create mode 100644 scripts/provision-user.sh diff --git a/containers/debian/Dockerfile b/containers/debian/Dockerfile new file mode 100644 index 0000000..537893f --- /dev/null +++ b/containers/debian/Dockerfile @@ -0,0 +1,14 @@ +FROM debian:bookworm + +COPY scripts/provision-root.sh /provision-root.sh +RUN bash /provision-root.sh +RUN rm /provision-root.sh + +USER compromyse +WORKDIR /home/compromyse + +COPY scripts/provision-user.sh /tmp/provision-user.sh +RUN bash /tmp/provision-user.sh +RUN rm /tmp/provision-user.sh + +CMD [ "cat" ] diff --git a/containers/debian/compose.yaml b/containers/debian/compose.yaml new file mode 100644 index 0000000..69860b5 --- /dev/null +++ b/containers/debian/compose.yaml @@ -0,0 +1,12 @@ +services: + main: + build: . + stdin_open: true + tty: true + volumes: + - ~/shared:/shared + deploy: + resources: + limits: + cpus: '4' + memory: 56gb diff --git a/containers/debian/scripts b/containers/debian/scripts new file mode 120000 index 0000000..11aee1d --- /dev/null +++ b/containers/debian/scripts @@ -0,0 +1 @@ +../../scripts/ \ No newline at end of file diff --git a/debian/Vagrantfile b/debian/Vagrantfile index b3500ee..a4260f6 100644 --- a/debian/Vagrantfile +++ b/debian/Vagrantfile @@ -10,8 +10,8 @@ Vagrant.configure('2') do |config| # config.vm.network 'forwarded_port', guest: 80, host: 8080, host_ip: '127.0.0.1' # config.vm.synced_folder './data', '/data' - config.vm.synced_folder '~/shared', '/shared' - config.vm.synced_folder '.', '/vagrant', disabled: true + config.vm.synced_folder '~/shared', '/shared', type: '9p', disabled: false, accessmode: 'mapped' + config.vm.synced_folder '.', '/vagrant', disabled: true, type: '9p', disabled: false, accessmode: 'mapped' config.vm.provider :libvirt do |libvirt| libvirt.cpus = 4 @@ -26,6 +26,6 @@ Vagrant.configure('2') do |config| config.vm.provision 'file', source: '~/.ssh/id_rsa', destination: '.ssh/id_rsa' config.vm.provision 'file', source: '~/.ssh/id_rsa.pub', destination: '.ssh/id_rsa.pub' - config.vm.provision 'shell', path: 'provision-root.sh' - config.vm.provision 'shell', path: 'provision-user.sh', privileged: false + config.vm.provision 'shell', path: '../scripts/provision-root.sh' + config.vm.provision 'shell', path: '../scripts/provision-user.sh', privileged: false end diff --git a/debian/provision-root.sh b/debian/provision-root.sh deleted file mode 100644 index 40f8df5..0000000 --- a/debian/provision-root.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -xe - -export DEBIAN_FRONTEND=noninteractive - -apt-get update -apt-get upgrade -y - -apt-get install -y git - -unset DEBIAN_FRONTEND - -sh <(curl -L https://nixos.org/nix/install) --daemon --yes - -if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then - . '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' -fi - -nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager -nix-channel --update diff --git a/debian/provision-user.sh b/debian/provision-user.sh deleted file mode 100644 index 518f7b5..0000000 --- a/debian/provision-user.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash - -set -xe - -nix-shell '' -A install -. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" - -ssh-keyscan github.com >> ~/.ssh/known_hosts -git clone git@github.com:compromyse/dotfiles $HOME/.config/home-manager/dotfiles - -rm $HOME/.config/home-manager/home.nix -ln -s $HOME/.config/home-manager/dotfiles/machines/v/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 - -git clone git@github.com:tmux-plugins/tpm ~/.tmux/plugins/tpm -~/.tmux/plugins/tpm/bin/install_plugins diff --git a/scripts/provision-docker.sh b/scripts/provision-docker.sh new file mode 100644 index 0000000..f238a44 --- /dev/null +++ b/scripts/provision-docker.sh @@ -0,0 +1,7 @@ +useradd -rm -d /home/compromyse -s /bin/bash -G sudo compromyse +groupadd -g 1000 compromyse && useradd -u 1000 -g compromyse -G sudo -m -s /bin/bash compromyse +sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' +sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' +sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' +echo "compromyse ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers +echo "compromyse user:"; su - compromyse -c id diff --git a/scripts/provision-root.sh b/scripts/provision-root.sh new file mode 100644 index 0000000..f44fdba --- /dev/null +++ b/scripts/provision-root.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -xe + +export DEBIAN_FRONTEND=noninteractive + +apt-get update +apt-get upgrade -y + +apt-get install -y git + +unset DEBIAN_FRONTEND diff --git a/scripts/provision-user.sh b/scripts/provision-user.sh new file mode 100644 index 0000000..39da031 --- /dev/null +++ b/scripts/provision-user.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash + +set -xe + +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 '' -A install +. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" + +ssh-keyscan github.com >> ~/.ssh/known_hosts +git clone git@github.com:compromyse/dotfiles $HOME/.config/home-manager/dotfiles +git clone git@github.com:tmux-plugins/tpm $HOME/.tmux/plugins/tpm + +rm $HOME/.config/home-manager/home.nix +ln -s $HOME/.config/home-manager/dotfiles/machines/v/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 -- cgit v1.2.3