summaryrefslogtreecommitdiff
path: root/hosts/optiplex
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-08-26 21:36:16 -0500
committerTim Keller <tjk@tjkeller.xyz>2025-08-26 21:36:16 -0500
commitc3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0 (patch)
tree559a0d9385df907f471b9bdd2bf708ec4650c718 /hosts/optiplex
parent125313aabedb17516d735a718968bfad1289f12b (diff)
downloadnixos-c3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0.tar.xz
nixos-c3c3d6f1fd19a5da015c9a9d3ae5c54f2d177be0.zip
reogranize files more only working on optiplex for now prepare for home manager refactoringHEADmaster
Diffstat (limited to 'hosts/optiplex')
-rw-r--r--hosts/optiplex/configuration.nix73
-rw-r--r--hosts/optiplex/hardware-configuration.nix45
-rw-r--r--hosts/optiplex/home.nix7
3 files changed, 125 insertions, 0 deletions
diff --git a/hosts/optiplex/configuration.nix b/hosts/optiplex/configuration.nix
new file mode 100644
index 0000000..8a06294
--- /dev/null
+++ b/hosts/optiplex/configuration.nix
@@ -0,0 +1,73 @@
+{ config, lib, pkgs, ... }: {
+ imports = [
+ ./hardware-configuration.nix
+ ../../archetypes/tjkeller
+ ];
+
+ # Setup bootloader
+ boot._loader.enable = true;
+
+ # Enable common options
+ _archetypes = {
+ # Use desktop profile
+ profiles.desktop.enable = true;
+ # Install software
+ collections = {
+ desktop = {
+ extraUtilities.enable = true;
+ cad.enable = true;
+ chromium.enable = true;
+ crypto.enable = true;
+ graphics.enable = true;
+ office.enable = true;
+ };
+ development = {
+ android.enable = true;
+ c.enable = true;
+ docker.enable = true;
+ lua.enable = true;
+ web = {
+ hugo = {
+ enable = true;
+ openFirewall = true;
+ };
+ node.enable = true;
+ };
+ };
+ };
+ # Setup user
+ users.primary = {
+ enable = true;
+ autologin.enable = true;
+ };
+ tjkeller = {
+ nas.enable = true;
+ };
+ };
+
+ # Disable suspend
+ systemd._suspend.disable = true;
+
+ # Allow unfree for nvidia + others
+ nixpkgs.config.allowUnfree = true;
+
+ # Install more software
+ environment.systemPackages = with pkgs; [
+ prismlauncher
+ spotify
+ #vintagestory
+ ];
+
+ # 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
+ forceFullCompositionPipeline = true; # Enables vsync
+ };
+
+ system.stateVersion = "24.11";
+}
diff --git a/hosts/optiplex/hardware-configuration.nix b/hosts/optiplex/hardware-configuration.nix
new file mode 100644
index 0000000..3d9651e
--- /dev/null
+++ b/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.<interface>.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/hosts/optiplex/home.nix b/hosts/optiplex/home.nix
new file mode 100644
index 0000000..d293ae0
--- /dev/null
+++ b/hosts/optiplex/home.nix
@@ -0,0 +1,7 @@
+{ ... }: {
+ imports = [ ../../home-manager ];
+
+ theme.mint.theme.color = "Dark-Green";
+ theme.mint.icons.color = "Green";
+ wallpapers.enable = true;
+}