From 06aecede569fd6682628e063bae58ac433db102c Mon Sep 17 00:00:00 2001 From: Brian Zalewski Date: Wed, 1 Feb 2023 05:19:06 +0000 Subject: [PATCH] Update 6 files - /home/dot_config/shell/exports.sh.tmpl - /home/dot_config/vagrant/aliases - /home/Vagrantfile - /home/dot_local/share/vagrant.d/Vagrantfile - /software.yml - /docs/TODO.md --- docs/TODO.md | 2 +- home/Vagrantfile | 45 ++++++++ home/dot_config/shell/exports.sh.tmpl | 2 +- home/dot_config/vagrant/aliases | 8 ++ home/dot_local/share/vagrant.d/Vagrantfile | 128 +++++++++++++++++++++ software.yml | 16 +-- 6 files changed, 191 insertions(+), 10 deletions(-) create mode 100644 home/Vagrantfile create mode 100644 home/dot_config/vagrant/aliases create mode 100644 home/dot_local/share/vagrant.d/Vagrantfile diff --git a/docs/TODO.md b/docs/TODO.md index 5273079f..8c7a7581 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1,4 +1,4 @@ - +Ensure git-delta (or kvantum or fzf) installs with dnf on Fedora because it didn't on Centos and was marked as dnf:fedora: in software.yml https://drasite.com/blog/Pimp%20my%20terminal https://github.com/checkly/headless-recorder https://github.com/DustinBrett/daedalOS diff --git a/home/Vagrantfile b/home/Vagrantfile new file mode 100644 index 00000000..51426726 --- /dev/null +++ b/home/Vagrantfile @@ -0,0 +1,45 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.require_version ">= 1.6.2" + +nodes = [ + { :hostname => 'altair', :ip => '192.168.14.41', :box => 'Beta/Archlinux' }, + { :hostname => 'caph', :ip => '192.168.14.42', :box => 'Beta/CentOS-Stream-9' }, + { :hostname => 'denab', :ip => '192.168.14.43', :box => 'Beta/Debian-11' }, + { :hostname => 'fulu', :ip => '192.168.14.44', :box => 'Beta/Fedora-37' }, + { :hostname => 'mira', :ip => '192.168.14.45', :box => 'Beta/macOS-13', :ram => 8192 }, + { :hostname => 'ukdah', :ip => '192.168.14.46', :box => 'Beta/Ubuntu-22' }, + { :hostname => 'wazn', :ip => '192.168.14.47', :box => 'Beta/Windows-11', :ram => 4096 } +] + +Vagrant.configure("2") do |config| + nodes.each do |node| + config.vm.define node[:hostname] do |nodeconfig| + nodeconfig.vm.box = node[:box] + nodeconfig.vm.hostname = node[:hostname] + + nodeconfig.vm.network :private_network, ip: node[:ip] + nodeconfig.vm.network :forwarded_port, guest: 22, host: 52022, id: "ssh", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 80, host: 52080, id: "http", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 443, host: 52443, id: "https", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 3389, host: 53389, id: "rdp", auto_correct: true + + memory = node[:ram] ? node[:ram] : 2048 + nodeconfig.vm.provider :virtualbox do |vb| + vb.customize [ + "modifyvm", :id, + "--cpuexecutioncap", "50", + "--memory", memory.to_s + ] + end + nodeconfig.vm.provider :parallels do |parallels| + end + end + end + + config.vm.provision :ansible do |ansible| + ansible.playbook = "main.yml" + ansible.inventory_path = "inventories/vagrant.yml" + end +end diff --git a/home/dot_config/shell/exports.sh.tmpl b/home/dot_config/shell/exports.sh.tmpl index bd848a2d..f4b1fdc9 100644 --- a/home/dot_config/shell/exports.sh.tmpl +++ b/home/dot_config/shell/exports.sh.tmpl @@ -284,7 +284,7 @@ export RUSTUP_HOME="$XDG_DATA_HOME/rustup" export SDKMAN_DIR="$XDG_DATA_HOME/sdkman" ### Vagrant -export VAGRANT_ALIAS_FILE="$XDG_DATA_HOME/vagrant/aliases" +export VAGRANT_ALIAS_FILE="$XDG_CONFIG_HOME/vagrant/aliases" export VAGRANT_DEFAULT_PROVIDER=virtualbox export VAGRANT_HOME="$XDG_DATA_HOME/vagrant.d" diff --git a/home/dot_config/vagrant/aliases b/home/dot_config/vagrant/aliases new file mode 100644 index 00000000..5b976bbc --- /dev/null +++ b/home/dot_config/vagrant/aliases @@ -0,0 +1,8 @@ +# Source: https://developer.hashicorp.com/vagrant/docs/cli/aliases + +# basic command-level aliases +start = up +stop = halt + +# advanced command-line aliases +eradicate = !vagrant destroy && rm -rf .vagrant diff --git a/home/dot_local/share/vagrant.d/Vagrantfile b/home/dot_local/share/vagrant.d/Vagrantfile new file mode 100644 index 00000000..40760265 --- /dev/null +++ b/home/dot_local/share/vagrant.d/Vagrantfile @@ -0,0 +1,128 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.require_version ">= 1.6.2" + +nodes = [ + { :hostname => 'altair', :desc => 'Archlinux', :ip => '192.168.14.41', :box => 'Beta/Archlinux' }, + { :hostname => 'caph', :desc => 'CentOS 9 Stream', :ip => '192.168.14.42', :box => 'Beta/CentOS-Stream-9' }, + { :hostname => 'denab', :desc => 'Debian 11', :ip => '192.168.14.43', :box => 'Beta/Debian-11' }, + { :hostname => 'fulu', :desc => 'Fedora 37', :ip => '192.168.14.44', :box => 'Beta/Fedora-37' }, + { :hostname => 'mira', :desc => 'macOS 13', :ip => '192.168.14.45', :box => 'Beta/macOS-13', :cpus => 4, :ram => 8192 }, + { :hostname => 'ukdah', :desc => 'Ubuntu 22.04', :ip => '192.168.14.46', :box => 'Beta/Ubuntu-22' }, + { :hostname => 'wazn', :desc => 'Windows 11', :ip => '192.168.14.47', :box => 'Beta/Windows-11', :cpus => 4, :ram => 4096 } +] + +Vagrant.configure("2") do |config| + nodes.each do |node| + config.ssh.password = "vagrant" + config.ssh.username = "vagrant" + + config.vm.define node[:hostname] do |nodeconfig| + nodeconfig.vm.box = node[:box] + nodeconfig.vm.hostname = node[:hostname] + + nodeconfig.vm.network :private_network, ip: node[:ip] + nodeconfig.vm.network :forwarded_port, guest: 22, host: 52022, id: "ssh", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 80, host: 52080, id: "http", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 443, host: 52443, id: "https", auto_correct: true + nodeconfig.vm.network :forwarded_port, guest: 3389, host: 53389, id: "rdp", auto_correct: true + + cpus = node[:cpu] ? node[:cpu] : 2 + memory = node[:ram] ? node[:ram] : 2048 + + nodeconfig.vm.provider :hyperv do |v| + v.cpus = cpus + v.maxmemory = memory + v.vmname = node[:desc] + end + + nodeconfig.vm.provider :virtualbox do |v| + v.check_guest_additions = true + v.cpus = cpus + v.customize [ + "modifyvm", :id, + "--cpuexecutioncap", "50", + "--memory", memory.to_s + ] + v.customize ["modifyvm", :id, "--accelerate3d", "on"] + v.customize ["modifyvm", :id, "--clipboard", "bidirectional"] + v.customize ["modifyvm", :id, "--graphicscontroller", "vmsvga"] + v.customize ["modifyvm", :id, "--hwvirtex", "on"] + v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] + v.customize ["modifyvm", :id, "--vram", "256"] + v.customize ["setextradata", "global", "GUI/SuppressMessages", "all"] + v.gui = true + v.memory = memory + v.name = node[:desc] + end + + nodeconfig.vm.provider :parallels do |v| + v.cpus = cpus + v.memory = memory + v.name = node[:desc] + v.update_guest_tools = true + end + + nodeconfig.vm.provider :libvirt do |v, override| + v.cpus = cpus + v.memory = memory + # Use WinRM for the default synced folder; or disable it if + # WinRM is not available. Linux hosts don't support SMB, + # and Windows guests don't support NFS/9P/rsync + # Source: https://github.com/Cimpress-MCP/vagrant-winrm-syncedfolders + if Vagrant.has_plugin?("vagrant-winrm-syncedfolders") + override.vm.synced_folder ".", "/vagrant", type: "winrm" + else + override.vm.synced_folder ".", "/vagrant", disabled: true + end + # Enable Hyper-V enlightments - Source: https://blog.wikichoon.com/2014/07/enabling-hyper-v-enlightenments-with-kvm.html + v.hyperv_feature :name => 'stimer', :state => 'on' + v.hyperv_feature :name => 'relaxed', :state => 'on' + v.hyperv_feature :name => 'vapic', :state => 'on' + v.hyperv_feature :name => 'synic', :state => 'on' + end + + nodeconfig.vm.provider :vmware_fusion do |v| + v.gui = true + v.vmx["ethernet0.virtualDev"] = "vmxnet3" + v.vmx["gui.fitGuestUsingNativeDisplayResolution"] = "TRUE" + v.vmx["gui.fullScreenAtPowerOn"] = "TRUE" + v.vmx["gui.lastPoweredViewMode"] = "fullscreen" + v.vmx["gui.viewModeAtPowerOn"] = "fullscreen" + v.vmx["memsize"] = memory.to_s + v.vmx["mks.enable3d"] = "TRUE" + v.vmx["mks.forceDiscreteGPU"] = "TRUE" + v.vmx["numvcpus"] = cpus.to_s + v.vmx["RemoteDisplay.vnc.enabled"] = "TRUE" + v.vmx["RemoteDisplay.vnc.port"] = "5900" + v.vmx["sound.autodetect"] = "TRUE" + v.vmx["sound.present"] = "TRUE" + v.vmx["sound.startConnected"] = "TRUE" + end + + os.vm.provider :vmware_workstation do |v| + v.gui = true + v.vmx["ethernet0.virtualDev"] = "vmxnet3" + v.vmx["gui.fitGuestUsingNativeDisplayResolution"] = "TRUE" + v.vmx["gui.fullScreenAtPowerOn"] = "TRUE" + v.vmx["gui.lastPoweredViewMode"] = "fullscreen" + v.vmx["gui.viewModeAtPowerOn"] = "fullscreen" + v.vmx["memsize"] = memory.to_s + v.vmx["mks.enable3d"] = "TRUE" + v.vmx["mks.forceDiscreteGPU"] = "TRUE" + v.vmx["numvcpus"] = cpus.to_s + v.vmx["RemoteDisplay.vnc.enabled"] = "TRUE" + v.vmx["RemoteDisplay.vnc.port"] = "5900" + v.vmx["sound.autodetect"] = "TRUE" + v.vmx["sound.present"] = "TRUE" + v.vmx["sound.startConnected"] = "TRUE" + end + end + end + + config.vm.provision :ansible do |ansible| + ansible.playbook = "main.yml" + ansible.inventory_path = "inventories/vagrant.yml" + end +end diff --git a/software.yml b/software.yml index 156320ed..a36101de 100644 --- a/software.yml +++ b/software.yml @@ -1591,7 +1591,7 @@ softwarePackages: brew: git-delta cargo: git-delta choco: delta - dnf: git-delta + dnf:fedora: git-delta pacman: git-delta pkg: git-delta scoop: delta @@ -2618,7 +2618,7 @@ softwarePackages: apk: fzf apt: fzf brew: fzf - dnf: fzf + dnf:fedora: fzf nix: nixpkgs.fzf pacman: fzf pkgin: fzf @@ -4272,7 +4272,7 @@ softwarePackages: apt: - qt5-style-kvantum - qt5-style-kvantum-themes - dnf: kvantum + dnf:fedora: kvantum eopkg: kvantum pacman: kvantum kvm: @@ -5014,19 +5014,19 @@ softwarePackages: _type: cli nautilus-gtkhash: apt: nautilus-gtkhash - dnf: nautilus-gtkhash + dnf:fedora: nautilus-gtkhash pacman: nautilus-gtkhash nautilus-image-converter: apt: nautilus-image-converter - dnf: nautilus-image-converter + dnf:fedora: nautilus-image-converter pacman: nautilus-image-converter nautilus-share: apt: nautilus-share - dnf: nautilus-share + dnf:fedora: nautilus-share pacman: nautilus-share nautilus-wipe: apt: nautilus-wipe - dnf: nautilus-wipe + dnf:fedora: nautilus-wipe pacman: nautilus-wipe nb: _bin: nb @@ -7578,7 +7578,7 @@ softwarePackages: _name: Timeshift ansible:linux: professormanhattan.timeshift apt: timeshift - dnf: timeshift + dnf:fedora: timeshift yay: timeshift _service: false _type: application