From 6b7c6d529d9ff0e64e8b2c6fc1af17a46d8c3a3e Mon Sep 17 00:00:00 2001 From: js0ny Date: Mon, 13 Oct 2025 02:19:59 +0100 Subject: [PATCH] use nixOS on libvirt --- nixcfgs/flake.nix | 17 +++++++++++-- nixcfgs/hosts/nixvirt/default.nix | 32 +++++++++++++++++++++++++ nixcfgs/modules/nixos/configuration.nix | 3 --- nixcfgs/modules/nixos/host-machine.nix | 13 ++++++++++ nixcfgs/modules/nixos/packages.nix | 7 ------ nixcfgs/users/js0ny/nixvirt.nix | 29 ++++++++++++++++++++++ 6 files changed, 89 insertions(+), 12 deletions(-) create mode 100644 nixcfgs/hosts/nixvirt/default.nix create mode 100644 nixcfgs/modules/nixos/host-machine.nix create mode 100644 nixcfgs/users/js0ny/nixvirt.nix diff --git a/nixcfgs/flake.nix b/nixcfgs/flake.nix index 5b67f92..d06f108 100644 --- a/nixcfgs/flake.nix +++ b/nixcfgs/flake.nix @@ -61,6 +61,14 @@ ]; }; + nixosConfigurations.nixvirt = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + inherit specialArgs; + modules = [ + ./hosts/nixvirt + ]; + }; + darwinConfigurations."zen" = nix-darwin.lib.darwinSystem { system = "aarch64-darwin"; inherit specialArgs; @@ -73,8 +81,6 @@ extraSpecialArgs = specialArgs; modules = [ ./users/js0ny - plasma-manager.homeModules.plasma-manager - nix-flatpak.homeManagerModules.nix-flatpak ]; }; homeConfigurations."js0ny@zephyrus" = home-manager.lib.homeManagerConfiguration { @@ -86,5 +92,12 @@ nix-flatpak.homeManagerModules.nix-flatpak ]; }; + homeConfigurations."js0ny@nixvirt" = home-manager.lib.homeManagerConfiguration { + pkgs = forSystem "x86_64-linux"; + extraSpecialArgs = specialArgs; + modules = [ + ./users/js0ny/nixvirt.nix + ]; + }; }; } diff --git a/nixcfgs/hosts/nixvirt/default.nix b/nixcfgs/hosts/nixvirt/default.nix new file mode 100644 index 0000000..5fceb21 --- /dev/null +++ b/nixcfgs/hosts/nixvirt/default.nix @@ -0,0 +1,32 @@ +# ~/.config/nixcfgs/hosts/nixvirt/default.nix +{ + config, + lib, + pkgs, + nix-flatpak, + ... +}: +{ + imports = [ + # impure build + /etc/nixos/hardware-configuration.nix + ../../modules/nixos + # ../../modules/nixos/users/js0ny.nix + # ../../modules/nixos/guest.nix + ../../modules/nixos/firefox.nix + ../../modules/nixos/desktop/gnome.nix + # ../../modules/nixos/desktop/niri.nix + ../../modules/nixos/desktop/gnome.nix + ../../modules/nixos/display-manager/gdm.nix + ]; + boot.loader.grub.enable = true; + boot.loader.grub.device = "/dev/vda"; + boot.loader.grub.useOSProber = true; + services.qemuGuest.enable = true; + services.spice-vdagentd.enable = true; + + nixpkgs.config.allowUnfree = true; + networking.hostName = "nixvirt"; + hardware.enableRedistributableFirmware = true; + system.stateVersion = "25.05"; +} diff --git a/nixcfgs/modules/nixos/configuration.nix b/nixcfgs/modules/nixos/configuration.nix index 2c0bb18..d978741 100644 --- a/nixcfgs/modules/nixos/configuration.nix +++ b/nixcfgs/modules/nixos/configuration.nix @@ -3,9 +3,6 @@ pkgs, ... }: { - # Use the systemd-boot EFI boot loader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; security.pam.services.login.enableGnomeKeyring = true; diff --git a/nixcfgs/modules/nixos/host-machine.nix b/nixcfgs/modules/nixos/host-machine.nix new file mode 100644 index 0000000..559c204 --- /dev/null +++ b/nixcfgs/modules/nixos/host-machine.nix @@ -0,0 +1,13 @@ +{ pkgs, ... }: +{ + # Use the systemd-boot EFI boot loader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + environment.systemPackages = with pkgs; [ + pciutils + usbutils + smartmontools + v4l-utils + ] +} diff --git a/nixcfgs/modules/nixos/packages.nix b/nixcfgs/modules/nixos/packages.nix index 57215da..25db074 100644 --- a/nixcfgs/modules/nixos/packages.nix +++ b/nixcfgs/modules/nixos/packages.nix @@ -8,13 +8,6 @@ curl git tmux - pciutils - usbutils - smartmontools wl-clipboard - noto-fonts - noto-fonts-cjk-sans - noto-fonts-emoji - v4l-utils ]; } diff --git a/nixcfgs/users/js0ny/nixvirt.nix b/nixcfgs/users/js0ny/nixvirt.nix new file mode 100644 index 0000000..51da47d --- /dev/null +++ b/nixcfgs/users/js0ny/nixvirt.nix @@ -0,0 +1,29 @@ +# ~/.config/nixcfgs/users/js0ny/default.nix +{ + pkgs, + nix-flatpak, + plasma-manager, + ... +}: +{ + imports = [ + ./default.nix + ./programs/gnome.nix + ./programs/shell.nix + ./programs/git.nix + ./programs/firefox.nix + # ./programs/floorp.nix + ../../modules/home/gnome-keyrings.nix + ../../modules/home/dev/nix.nix + ../../modules/home/dev/python.nix + ../../modules/home/programs/eza.nix + ../../modules/home/programs/fzf.nix + ../../modules/home/programs/lsd.nix + ../../modules/home/programs/nvim.nix + ../../modules/home/programs/starship.nix + ../../modules/home/programs/zoxide.nix + # ./flatpak.nix + ]; + + home.stateVersion = "25.05"; +}