From fd09c4aedaf47808ec44623dc063ca61b54b3762 Mon Sep 17 00:00:00 2001 From: Raghuram Subramani Date: Mon, 20 May 2024 21:36:00 +0530 Subject: Init repository --- .gitignore | 1 + README.md | 3 ++- debian/Vagrantfile | 31 +++++++++++++++++++++++++++++++ debian/provision-root.sh | 21 +++++++++++++++++++++ debian/provision-user.sh | 21 +++++++++++++++++++++ 5 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 debian/Vagrantfile create mode 100644 debian/provision-root.sh create mode 100644 debian/provision-user.sh 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 '' -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 -- cgit v1.2.3