From 1ef7aa8333c0851d0ca5ae556b5f1d12fad87b08 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Wed, 5 Feb 2025 21:18:11 -0600 Subject: add optiplex as new host --- modules/hosts/optiplex/configuration.nix | 50 +++++++++++++++++++++++ modules/hosts/optiplex/hardware-configuration.nix | 45 ++++++++++++++++++++ modules/hosts/optiplex/home.nix | 7 ++++ 3 files changed, 102 insertions(+) create mode 100644 modules/hosts/optiplex/configuration.nix create mode 100644 modules/hosts/optiplex/hardware-configuration.nix create mode 100644 modules/hosts/optiplex/home.nix (limited to 'modules/hosts') diff --git a/modules/hosts/optiplex/configuration.nix b/modules/hosts/optiplex/configuration.nix new file mode 100644 index 0000000..cbde612 --- /dev/null +++ b/modules/hosts/optiplex/configuration.nix @@ -0,0 +1,50 @@ +{ config, lib, pkgs, ... }: { + imports = [ + ./hardware-configuration.nix + ]; + networking.hostName = "optiplex"; + + bootloader.mode = "efi"; + + # Allow unfree for nvidia + others + nixpkgs.config.allowUnfree = true; + + # Enable extra software pkgs + software.desktop = { + chromium.enable = true; + cad.enable = true; + crypto.enable = true; + graphics.enable = true; + office.enable = true; + utilities.enable = true; + }; + + # Install more programs + environment.systemPackages = with pkgs; [ + prismlauncher + spotify + #vintagestory + ]; + + # Enable network drives + nas.enable = true; + + # Disable wifi + wifi.enable = false; + + networking.hosts = { + "192.168.77.3" = [ "devel" ]; + }; + + # Use nvidia driver + services.xserver.videoDrivers = [ "nvidia" ]; + hardware.nvidia = { + modesetting.enable = true; # Required + powerManagement.enable = false; # Can cause bugs + nvidiaSettings = true; + open = false; # Not compatible w/ GTX-1050 + package = config.boot.kernelPackages.nvidiaPackages.stable; # Still good for 1050 + }; + + system.stateVersion = "24.11"; +} diff --git a/modules/hosts/optiplex/hardware-configuration.nix b/modules/hosts/optiplex/hardware-configuration.nix new file mode 100644 index 0000000..3d9651e --- /dev/null +++ b/modules/hosts/optiplex/hardware-configuration.nix @@ -0,0 +1,45 @@ +# 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 + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "firewire_ohci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/a9d54117-31f6-4cad-b1b2-250f6bfd7808"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/a9d54117-31f6-4cad-b1b2-250f6bfd7808"; + fsType = "btrfs"; + options = [ "subvol=@home" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/6987-81B6"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.eno1.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/modules/hosts/optiplex/home.nix b/modules/hosts/optiplex/home.nix new file mode 100644 index 0000000..ee56dc6 --- /dev/null +++ b/modules/hosts/optiplex/home.nix @@ -0,0 +1,7 @@ +{ ... }: { + imports = [ ../../home ]; + + theme.mint.theme.color = "Dark-Green"; + theme.mint.icons.color = "Green"; + wallpapers.enable = true; +} -- cgit v1.2.3