aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--containers/debian/Dockerfile14
-rw-r--r--containers/debian/compose.yaml12
l---------containers/debian/scripts1
-rw-r--r--debian/Vagrantfile8
-rw-r--r--debian/provision-root.sh21
-rw-r--r--scripts/provision-docker.sh7
-rw-r--r--scripts/provision-root.sh12
-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