diff --git a/flake.nix b/flake.nix index 539a9fd..b47e1ea 100644 --- a/flake.nix +++ b/flake.nix @@ -57,5 +57,14 @@ ./machines/thinkpad ]; }; + + nixosConfigurations.vm-aarch64 = nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + home-manager.nixosModules.default + ./machines/vm-aarch64 + ]; + }; }; } diff --git a/machines/vm-aarch64/default.nix b/machines/vm-aarch64/default.nix new file mode 100644 index 0000000..6fa8eeb --- /dev/null +++ b/machines/vm-aarch64/default.nix @@ -0,0 +1,20 @@ +{ + imports = [ + ./hardware + ../../modules/base + ../../modules/nixos + ]; + + home-manager.users.larstvei.imports = [ + ../../modules/home/minimal + ../../modules/desktop + ]; + + networking.hostName = "larstvei-vm"; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + system.stateVersion = "25.11"; +} diff --git a/machines/vm-aarch64/hardware/default.nix b/machines/vm-aarch64/hardware/default.nix new file mode 100644 index 0000000..9b79001 --- /dev/null +++ b/machines/vm-aarch64/hardware/default.nix @@ -0,0 +1,47 @@ +# 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 = [ + "xhci_pci" + "virtio_pci" + "usbhid" + "usb_storage" + "sr_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/43e64adc-66d8-4e08-ae34-3305b0c48899"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/CFA9-A100"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/0c07a011-252e-4c69-b6d0-0e1878debbbb"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux"; +} diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index cad472a..01c2fce 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -1,14 +1,21 @@ -{ pkgs, inputs, ... }: +{ + pkgs, + lib, + inputs, + ... +}: { home.packages = [ pkgs.adwaita-icon-theme pkgs.brightnessctl pkgs.grimblast - pkgs.google-chrome pkgs.pamixer pkgs.wl-clipboard pkgs.wtype + ] + ++ lib.optionals (pkgs.stdenv.hostPlatform.isx86_64) [ + pkgs.google-chrome ]; imports = [