aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2024-05-20 21:36:00 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2024-05-20 21:36:00 +0530
commitfd09c4aedaf47808ec44623dc063ca61b54b3762 (patch)
treea6a594a860e8f381c4b2f453a794f0653ed064d5
parentce07b3e7f01965d99d9c34bfaffdb64c9a83b23b (diff)
Init repository
-rw-r--r--.gitignore1
-rw-r--r--README.md3
-rw-r--r--debian/Vagrantfile31
-rw-r--r--debian/provision-root.sh21
-rw-r--r--debian/provision-user.sh21
5 files changed, 76 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..e6f97f0
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+**/.vagrant
diff --git a/README.md b/README.md
index b968e70..7fec0fc 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,3 @@
# virtual-machines
-Virtual Machines
+
+Just my virtual machines
diff --git a/debian/Vagrantfile b/debian/Vagrantfile
new file mode 100644
index 0000000..b3500ee
--- /dev/null
+++ b/debian/Vagrantfile
@@ -0,0 +1,31 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby :
+
+Vagrant.configure('2') do |config|
+ config.vm.box = 'cloud-image/debian-12'
+
+ config.vm.box_check_update = false
+
+ # config.vm.network 'forwarded_port', guest: 80, host: 8080
+ # 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.provider :libvirt do |libvirt|
+ libvirt.cpus = 4
+ libvirt.cputopology :sockets => '1', :cores => '2', :threads => '2'
+ libvirt.memory = 16384
+
+ libvirt.machine_virtual_size = 35
+
+ libvirt.cpu_model = 'host-passthrough'
+ end
+
+ 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
+end
diff --git a/debian/provision-root.sh b/debian/provision-root.sh
new file mode 100644
index 0000000..40f8df5
--- /dev/null
+++ b/debian/provision-root.sh
@@ -0,0 +1,21 @@
+#!/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
new file mode 100644
index 0000000..518f7b5
--- /dev/null
+++ b/debian/provision-user.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+set -xe
+
+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
+
+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