nixos/hosts/virt-nix/default.nix

71 lines
2 KiB
Nix
Raw Normal View History

2024-05-18 13:43:30 -04:00
# virt-nix
# System configuration for a vm on my desktop
2024-05-18 09:56:35 -04:00
2024-05-18 10:02:52 -04:00
{ inputs, globals, ... }:
2024-05-18 09:56:35 -04:00
with inputs;
inputs.nixpkgs.lib.nixosSystem {
2024-05-18 09:56:35 -04:00
system = "x86_64-linux";
modules = [
globals
home-manager.nixosModules.home-manager
# ../../modules/common
../../modules/nixos
2024-05-18 09:56:35 -04:00
{
# something with overlays, I don't get those yet.
# Hardware
2024-05-18 12:45:41 -04:00
physical = true;
2024-05-18 09:56:35 -04:00
networking.hostName = "virt-nix";
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
2024-05-18 13:07:12 -04:00
boot.loader.grub.device = "/dev/vda";
2024-05-18 09:56:35 -04:00
services.xserver.videoDrivers = [ "amdgpu" ]; # TODO: I use wayland, do I need this?
hardware.enableRedistributableFirmware = true;
powerManagement.cpuFreqGovernor = "performance";
hardware.cpu.amd.updateMicrocode = true;
fileSystems."/" =
{
device = "/dev/disk/by-uuid/ba78bd44-dd31-4f55-88ce-ab83fbf3eb4e";
fsType = "ext4";
};
swapDevices = [ ];
networking.useDHCP = nixpkgs.lib.mkDefault true;
2024-05-18 09:56:35 -04:00
# TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519";
# TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512;
# Theming?
2024-05-18 13:07:12 -04:00
2024-05-18 13:21:28 -04:00
# TODO: Temporary, remove eventually!
networking.networkmanager.enable = true;
time.timeZone = "America/New_York";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
2024-05-18 13:43:30 -04:00
services.xserver.xkb = {
2024-05-18 13:21:28 -04:00
layout = "us";
2024-05-18 13:43:30 -04:00
variant = "";
2024-05-18 13:21:28 -04:00
};
users.users.annika = {
isNormalUser = true;
description = "Annika Merris";
extraGroups = [ "networkmanager" "wheel" ];
};
nixpkgs.config.allowUnfree = true;
2024-05-18 13:43:30 -04:00
environment.systemPackages = with inputs.pkgs; [];
2024-05-18 13:21:28 -04:00
2024-05-18 13:07:12 -04:00
system.stateVersion = "23.11";
2024-05-18 09:56:35 -04:00
}
];
}