diff --git a/flake.nix b/flake.nix index 6370c32..23d920f 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,15 @@ inherit self inputs username; }; }; + + qemu-vm = nixpkgs.lib.nixosSystem { + inherit system; + modules = [ ./hosts/qemu-vm/configuration.nix ]; + specialArgs = { + host = "qemu-vm"; + inherit self inputs username; + }; + }; }; }; diff --git a/hosts/nixos-vm1/configuration.nix b/hosts/nixos-vm1/configuration.nix deleted file mode 100644 index 20db7d5..0000000 --- a/hosts/nixos-vm1/configuration.nix +++ /dev/null @@ -1,42 +0,0 @@ -{ - pkgs, - ... -}: - -{ - nix.settings = { - experimental-features = "nix-command flakes"; - }; - - imports = [ - ./hardware-configuration.nix - ./modules - ]; - - programs.hyprland.enable = true; - - boot.loader.grub.enable = true; - boot.loader.grub.device = "/dev/vda"; - networking.hostName = "poslop-nixvm"; - networking.networkmanager.enable = true; - - time.timeZone = "America/Chicago"; - - services.printing.enable = true; - - services.pipewire = { - enable = true; - pulse.enable = true; - }; - - environment.systemPackages = with pkgs; [ - kitty - vim - wget - git - curl - zsh - ]; - - system.stateVersion = "24.11"; -} diff --git a/hosts/nixos-vm1/hardware-configuration.nix b/hosts/nixos-vm1/hardware-configuration.nix deleted file mode 100644 index 9149754..0000000 --- a/hosts/nixos-vm1/hardware-configuration.nix +++ /dev/null @@ -1,34 +0,0 @@ -# Do not modify this file! It was generated by ‘nixos-generate-config’ -# and may be overwritten by future invocations. Please make changes -# to /etc/nixos/configuration.nix instead. -{ - lib, - modulesPath, - ... -}: - -{ - imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; - - boot.initrd.availableKernelModules = [ - "ahci" - "xhci_pci" - "virtio_pci" - "sr_mod" - "virtio_blk" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = { - device = "/dev/disk/by-uuid/39b3801f-ffcd-421f-966f-46625fb8d4ca"; - fsType = "ext4"; - }; - - swapDevices = [ { device = "/dev/disk/by-uuid/7043d338-93f0-40a7-9033-6616685e32f3"; } ]; - - networking.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; -} diff --git a/hosts/qemu-vm/configuration.nix b/hosts/qemu-vm/configuration.nix new file mode 100644 index 0000000..866fe4e --- /dev/null +++ b/hosts/qemu-vm/configuration.nix @@ -0,0 +1,18 @@ +{ + ... +}: + +{ + imports = [ + ./hardware-configuration.nix + ../../modules + ]; + + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/vda"; + + services.spice-vdagentd.enable = true; + services.qemuGuest.enable = true; + + system.stateVersion = "24.11"; +} diff --git a/hosts/qemu-vm/hardware-configuration.nix b/hosts/qemu-vm/hardware-configuration.nix new file mode 100644 index 0000000..de7894a --- /dev/null +++ b/hosts/qemu-vm/hardware-configuration.nix @@ -0,0 +1,33 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/b8c66f3c-759d-4d4f-9d1a-3f2e04d91e23"; + fsType = "ext4"; + }; + + swapDevices = + [ { device = "/dev/disk/by-uuid/b7d73851-7f85-44fa-b62a-e35deb0ea98a"; } + ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp8s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/modules/core/network.nix b/modules/core/network.nix index d30c0dc..c102531 100644 --- a/modules/core/network.nix +++ b/modules/core/network.nix @@ -1,4 +1,6 @@ +{ host, ... }: + { - networking.hostName = "poslop-nixvm2"; + networking.hostName = host; networking.networkmanager.enable = true; } diff --git a/modules/core/zsh/.zshrc b/modules/core/zsh/.zshrc index 17f236d..69777ec 100644 --- a/modules/core/zsh/.zshrc +++ b/modules/core/zsh/.zshrc @@ -10,3 +10,9 @@ zstyle :compinstall filename '/home/poslop/.zshrc' autoload -Uz compinit compinit + +reflake() { + local flake_dir="/etc/rice-flakes" + host="${1:-$(hostname -s)}" + sudo nixos-rebuild switch --flake "${flake_dir}#${host}" +} diff --git a/rebuild.sh b/rebuild.sh index 60c6ba7..54d1c55 100755 --- a/rebuild.sh +++ b/rebuild.sh @@ -1 +1 @@ -sudo nixos-rebuild switch --flake ./#nixos-vm2 +sudo nixos-rebuild switch --flake ./#qemu-vm