# virt-nix # System configuration for a vm on my desktop { inputs, globals, ... }: with inputs; inputs.nixpkgs.lib.nixosSystem { system = "x86_64-linux"; # specialArgs = {inherit inputs;}; modules = [ globals lix-module.nixosModules.default home-manager.nixosModules.home-manager ../../modules/common ../../modules/nixos { # something with overlays, I don't get those yet. # Hardware physical = true; 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 = [ ]; boot.loader.grub.device = "/dev/vda"; 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; # TODO: identityFile = "/home/${globals.user}/.ssh/id_ed2519"; # TODO: passwordHash = nixpkgs.lib.fileContents ../../password.sha512; # Theming? # 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; services.xserver.xkb = { layout = "us"; variant = ""; }; users.users.annika = { isNormalUser = true; description = "Annika Merris"; extraGroups = [ "networkmanager" "wheel" ]; }; nixpkgs.config.allowUnfree = true; system.stateVersion = "23.11"; home-manager.backupFileExtension = "backup"; environment.systemPackages = with pkgs; [ vim wget python3 age sops ]; services.openssh.enable = true; services.flatpak.enable = true; services.netbird.enable = true; # TODO: Move this to the netbird configs hardware.bluetooth.enable = true; hardware.bluetooth.powerOnBoot = true; sound.enable = true; # TODO: Add the rest of the sound stuff... gui.enable = true; discord.enable = true; firefox.enable = true; nixpkgs-fmt.enable = true; vscode.enable = true; netbird.enable = true; element.enable = true; prusa-slicer.enable = true; } ]; }