From 33c81887cf68bc60005e38c366cf298bba8c39e5 Mon Sep 17 00:00:00 2001 From: Annika Merris Date: Sun, 19 May 2024 10:12:41 -0400 Subject: [PATCH] Setting Things Up For `kim` --- hosts/kim/default.nix | 114 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 114 insertions(+) create mode 100644 hosts/kim/default.nix diff --git a/hosts/kim/default.nix b/hosts/kim/default.nix new file mode 100644 index 0000000..35517d6 --- /dev/null +++ b/hosts/kim/default.nix @@ -0,0 +1,114 @@ +# virt-nix +# System configuration for a vm on my desktop + +{ inputs, globals, ... }: + +with inputs; + +inputs.nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + 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 = "kim"; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ "amdgpu" ]; + 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"; + + fileSystems."/" = + { + device = "/dev/disk/by-uuid/ba4362a3-3a0b-4227-b460-a5a9302f5966"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/DB88-8E65"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + networking.useDHCP = nixpkgs.lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + + # 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; + # Enable sound with pipewire. + sound.enable = true; + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + + gui.enable = true; + discord.enable = true; + firefox.enable = true; + nixpkgs-fmt.enable = true; + vscode.enable = true; + } + ]; +}