diff options
-rw-r--r-- | containers/debian/Dockerfile | 14 | ||||
-rw-r--r-- | containers/debian/compose.yaml | 12 | ||||
l--------- | containers/debian/scripts | 1 | ||||
-rw-r--r-- | debian/Vagrantfile | 8 | ||||
-rw-r--r-- | debian/provision-root.sh | 21 | ||||
-rw-r--r-- | scripts/provision-docker.sh | 7 | ||||
-rw-r--r-- | scripts/provision-root.sh | 12 | ||||
-rw-r--r-- | scripts/provision-user.sh (renamed from debian/provision-user.sh) | 11 |
8 files changed, 60 insertions, 26 deletions
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/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/debian/provision-user.sh b/scripts/provision-user.sh index 518f7b5..39da031 100644 --- a/debian/provision-user.sh +++ b/scripts/provision-user.sh @@ -2,11 +2,19 @@ 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 '<home-manager>' -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 @@ -17,5 +25,6 @@ sudo apt-get autoremove -y home-manager build home-manager switch -b backup -git clone git@github.com:tmux-plugins/tpm ~/.tmux/plugins/tpm +rm $HOME/result + ~/.tmux/plugins/tpm/bin/install_plugins |