From 8b9ee87a835779d5df0fd017e5255e1e56d25da2 Mon Sep 17 00:00:00 2001
From: Chris Cochrun <chris@cochrun.xyz>
Date: Fri, 6 May 2022 15:35:33 -0500
Subject: [PATCH] getting kaladin ready

---
 system/kaladin/configuration.nix          | 14 ++++++---
 system/kaladin/hardware-configuration.nix | 37 +++++++++++++++++++++++
 user/home.nix                             | 23 +-------------
 3 files changed, 48 insertions(+), 26 deletions(-)
 create mode 100644 system/kaladin/hardware-configuration.nix

diff --git a/system/kaladin/configuration.nix b/system/kaladin/configuration.nix
index 4c33355..7bd5881 100644
--- a/system/kaladin/configuration.nix
+++ b/system/kaladin/configuration.nix
@@ -21,9 +21,10 @@
   boot.loader.efi.canTouchEfiVariables = true;
 
   nixpkgs.config.allowUnfree = true;
+
   boot.kernelParams = [ "mem_sleep_default=deep" ];
 
-  networking.hostName = "syl"; # Define your hostname.
+  networking.hostName = "kaladin"; # Define your hostname.
   networking.networkmanager.enable = true;
   # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
 
@@ -34,7 +35,9 @@
   # Per-interface useDHCP will be mandatory in the future, so this generated config
   # replicates the default behaviour.
   networking.useDHCP = false;
-  networking.interfaces.wlp170s0.useDHCP = true;
+  networking.interfaces.enp0s31f6.useDHCP = true;
+  networking.interfaces.wlp7s0.useDHCP = true;
+
 
   # Select internationalisation properties.
   i18n.defaultLocale = "en_US.UTF-8";
@@ -42,6 +45,10 @@
   # Set default shell to be dash for speed
   environment.binsh = "${pkgs.dash}/bin/dash";
 
+  # NVIDIA
+  services.xserver.videoDrivers = [ "nvidia" ];
+  hardware.opengl.enable = true;
+
   # Enable the X11 windowing system.
   services.xserver.enable = true;
 
@@ -151,7 +158,7 @@
   # List services that you want to enable:
 
   # Enable the OpenSSH daemon.
-  # services.openssh.enable = true;
+  services.openssh.enable = true;
 
   # Open ports in the firewall.
   # networking.firewall.allowedTCPPorts = [ ... ];
@@ -168,4 +175,3 @@
   system.stateVersion = "21.11"; # Did you read the comment?
 
 }
-
diff --git a/system/kaladin/hardware-configuration.nix b/system/kaladin/hardware-configuration.nix
new file mode 100644
index 0000000..b7f1048
--- /dev/null
+++ b/system/kaladin/hardware-configuration.nix
@@ -0,0 +1,37 @@
+# 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" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
+  boot.initrd.kernelModules = [ ];
+  boot.kernelModules = [ "kvm-intel" ];
+  boot.extraModulePackages = [ ];
+
+  fileSystems."/" =
+    { device = "/dev/nvme0n1p2";
+      fsType = "btrfs";
+      options = [ "subvol=root" "noatime" "ssd" "space_cache" "compress=zstd" ];
+    };
+
+  fileSystems."/home" =
+    { device = "/dev/nvme0n1p2";
+      fsType = "btrfs";
+      options = [ "subvol=home" "noatime" "ssd" "space_cache" "compress=zstd" ];
+    };
+
+  fileSystems."/boot" =
+    { device = "/dev/disk/by-uuid/F9BD-D185";
+      fsType = "vfat";
+    };
+
+  swapDevices = [ ];
+
+  powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+}
diff --git a/user/home.nix b/user/home.nix
index 483ba2a..8cf4fe6 100644
--- a/user/home.nix
+++ b/user/home.nix
@@ -14,7 +14,7 @@
   # You can update Home Manager without changing this value. See
   # the Home Manager release notes for a list of state version
   # changes in each release.
-  home.stateVersion = "22.05";
+  home.stateVersion = "20.09";
 
   # Let Home Manager install and manage itself.
   programs.home-manager.enable = true;
@@ -120,27 +120,6 @@
     recursive = true;
   };
 
-  programs.fish.enable = true;
-  programs.fish.plugins = [
-  #   {
-  #   name = "oh-my-fish";
-  #   src = pkgs.fetchFromGitHub {
-  #     owner = "oh-my-fish";
-  #     repo = "oh-my-fish";
-  #     rev = "d428b723c8c18fef3b2a00b8b8b731177f483ad8";
-  #     sha256 = "msItKEPe7uSUpDAfCfdYZjt5NyfM3KtOrLUTO9NGqlg=";
-  #   };
-  # }
-  #   {
-  #   name = "plugin-foreign-env";
-  #   src = pkgs.fetchFromGitHub {
-  #     owner = "oh-my-fish";
-  #     repo = "plugin-foreign-env";
-  #     rev = "b3dd471bcc885b597c3922e4de836e06415e52dd";
-  #     sha256 = "3h03WQrBZmTXZLkQh1oVyhv6zlyYsSDS7HTHr+7WjY8=";
-  #   };
-  #   }
-  ];
   home.file.".config/fish" = {
     source = ./fish;
     recursive = true;