From 01730af9ee1115932ebd33a8e2dcf796430d34f6 Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Mon, 27 Jan 2025 16:23:01 -0500 Subject: [PATCH] virt changes including new NixVirt input --- flake.lock | 40 ++-- flake.nix | 10 +- justfile | 8 + .../VMs/config/machines/Test_Bench1.xml | 192 ++++++++++++++++++ src/system/VMs/config/networks/virbr0.xml | 17 ++ .../VMs/config/storage/pools/default.xml | 18 ++ .../VMs/config/storage/volumes/rocky9.xml | 28 +++ src/system/VMs/default.nix | 35 ++++ src/system/machines/workstation/hardware.nix | 8 - src/system/machines/workstation/system.nix | 5 +- .../keys/ssh/{ccur.pub.key => work.pub.key} | 0 src/user/modules/bash/config/prompt.nix | 3 +- .../modules/security/modules/gpg/default.nix | 4 +- .../modules/utils/modules/dev/default.nix | 3 +- 14 files changed, 341 insertions(+), 30 deletions(-) create mode 100644 src/system/VMs/config/machines/Test_Bench1.xml create mode 100644 src/system/VMs/config/networks/virbr0.xml create mode 100644 src/system/VMs/config/storage/pools/default.xml create mode 100644 src/system/VMs/config/storage/volumes/rocky9.xml create mode 100644 src/system/VMs/default.nix rename src/user/config/keys/ssh/{ccur.pub.key => work.pub.key} (100%) diff --git a/flake.lock b/flake.lock index cd17dc9..7853c7e 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,23 @@ { "nodes": { - "disko": { + "NixVirt": { "inputs": { "nixpkgs": [ "nixpkgs" - ] + ], + "nixpkgs-ovmf": "nixpkgs-ovmf" }, "locked": { - "lastModified": 1733168902, - "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", - "owner": "nix-community", - "repo": "disko", - "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", - "type": "github" + "lastModified": 1712439808, + "narHash": "sha256-QoONoZPBpNTw5cia05QSvDlaxXo3moKAJQOw7c5hMXA=", + "rev": "9f1cdca730d92461075709e867c1e9ad93d58a8d", + "revCount": 284, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/AshleyYakeley/NixVirt/0.5.0/018eb55e-7beb-75c5-919f-5b5b26136e06/source.tar.gz" }, "original": { - "owner": "nix-community", - "repo": "disko", - "type": "github" + "type": "tarball", + "url": "https://flakehub.com/f/AshleyYakeley/NixVirt/%2A.tar.gz" } }, "flake-compat": { @@ -135,6 +135,22 @@ "type": "github" } }, + "nixpkgs-ovmf": { + "locked": { + "lastModified": 1708984720, + "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1733759999, @@ -173,7 +189,7 @@ }, "root": { "inputs": { - "disko": "disko", + "NixVirt": "NixVirt", "home-manager": "home-manager", "nixos-wsl": "nixos-wsl", "nixpkgs": "nixpkgs", diff --git a/flake.nix b/flake.nix index 28c30ff..35c4526 100644 --- a/flake.nix +++ b/flake.nix @@ -15,13 +15,13 @@ url = "github:nix-community/NixOS-WSL/2405.5.4"; inputs.nixpkgs.follows = "nixpkgs"; }; - disko = { - url = "github:nix-community/disko"; + NixVirt = { + url = "https://flakehub.com/f/AshleyYakeley/NixVirt/*.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = { self, nixpkgs, nur, home-manager, nixos-wsl, disko }: + outputs = { self, nixpkgs, nur, home-manager, nixos-wsl, NixVirt }: let system = "x86_64-linux"; pkgs = import nixpkgs { @@ -53,6 +53,8 @@ ./src/system/machines/workstation home-manager.nixosModules.home-manager (import ./src/system/machines/workstation/modules/home-manager) + NixVirt.nixosModules.default + (import ./src/system/VMs) ]; }; @@ -82,8 +84,6 @@ ./src/system/machines/vm home-manager.nixosModules.home-manager (import ./src/system/machines/vm/modules/home-manager) - disko.nixosModules.disko - (import ./src/system/machines/vm/modules/disko) ]; }; }; diff --git a/justfile b/justfile index 7a367f0..e30b07f 100644 --- a/justfile +++ b/justfile @@ -27,6 +27,7 @@ out TYPE SYSTEM="desktop": "nix") if [ "{{SYSTEM}}" = "desktop" ] || \ + [ "{{SYSTEM}}" = "workstation" ] || \ [ "{{SYSTEM}}" = "server" ] || \ [ "{{SYSTEM}}" = "wsl" ] || \ [ "{{SYSTEM}}" = "vm" ] || \ @@ -40,6 +41,7 @@ out TYPE SYSTEM="desktop": Error: Unknown argument - '{{SYSTEM}}' Use one of: desktop + workstation server laptop vm @@ -72,6 +74,7 @@ test TYPE SYSTEM="desktop": "nix") if [ "{{SYSTEM}}" = "desktop" ] || \ + [ "{{SYSTEM}}" = "workstation" ] || \ [ "{{SYSTEM}}" = "server" ] || \ [ "{{SYSTEM}}" = "wsl" ] || \ [ "{{SYSTEM}}" = "vm" ] || \ @@ -85,6 +88,7 @@ test TYPE SYSTEM="desktop": Error: Unknown argument - '{{SYSTEM}}' Use one of: desktop + workstation server laptop vm @@ -117,6 +121,7 @@ build TYPE SYSTEM="desktop": "nix") if [ "{{SYSTEM}}" = "desktop" ] || \ + [ "{{SYSTEM}}" = "workstation" ] || \ [ "{{SYSTEM}}" = "server" ] || \ [ "{{SYSTEM}}" = "wsl" ] || \ [ "{{SYSTEM}}" = "vm" ] || \ @@ -132,6 +137,7 @@ build TYPE SYSTEM="desktop": Error: Unknown argument - '{{SYSTEM}}' Use one of: desktop + workstation server laptop vm @@ -162,6 +168,7 @@ vm SYSTEM: set -euo pipefail if [ "{{SYSTEM}}" = "desktop" ] || \ + [ "{{SYSTEM}}" = "workstation" ] || \ [ "{{SYSTEM}}" = "server" ] || \ [ "{{SYSTEM}}" = "wsl" ] || \ [ "{{SYSTEM}}" = "vm" ] || \ @@ -182,6 +189,7 @@ vm SYSTEM: Error: Unknown argument - '{{SYSTEM}}' Use one of: desktop + workstation server laptop vm diff --git a/src/system/VMs/config/machines/Test_Bench1.xml b/src/system/VMs/config/machines/Test_Bench1.xml new file mode 100644 index 0000000..3e08cf6 --- /dev/null +++ b/src/system/VMs/config/machines/Test_Bench1.xml @@ -0,0 +1,192 @@ + + Test_Bench1 + 6dab32d2-aa81-469f-a0d7-dbe4a12c2337 + + Rocky 9.2 + Redhawk 9.2 + SimWB 2024.2-0 + + + + + + + 4194304 + 4194304 + 4 + + hvm + /run/libvirt/nix-ovmf/OVMF_CODE.fd + /var/lib/libvirt/qemu/nvram/Test_Bench1_VARS.fd + + + + + + + + + + + + + + destroy + restart + destroy + + + + + + /run/libvirt/nix-emulators/qemu-system-x86_64 + + + + + +
+ + + + + + +
+ + +
+ + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + +
+ + +
+ + + + + +
+ + + + + + + + + + + +
+ + + +
+ + +
+ + + + + + + + +
+ +