summaryrefslogtreecommitdiff
path: root/modules/desktop/hardware
diff options
context:
space:
mode:
Diffstat (limited to 'modules/desktop/hardware')
-rw-r--r--modules/desktop/hardware/bluetooth.nix19
-rw-r--r--modules/desktop/hardware/cpu.nix21
-rw-r--r--modules/desktop/hardware/default.nix14
-rw-r--r--modules/desktop/hardware/tpm.nix18
-rw-r--r--modules/desktop/hardware/usb.nix10
-rw-r--r--modules/desktop/hardware/yubikey.nix18
6 files changed, 100 insertions, 0 deletions
diff --git a/modules/desktop/hardware/bluetooth.nix b/modules/desktop/hardware/bluetooth.nix
new file mode 100644
index 0000000..9737504
--- /dev/null
+++ b/modules/desktop/hardware/bluetooth.nix
@@ -0,0 +1,19 @@
+{ pkgs, ... }:
+{
+ boot.kernelParams = [ "btusb" ];
+ services.blueman.enable = true;
+
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ package = pkgs.bluez5-experimental;
+ disabledPlugins = [ "sap" ];
+ # hsphfpd.enable = true;
+
+ settings.General = {
+ JustWorksRepairing = "always";
+ MultiProfile = "multiple";
+ Experimental = true;
+ };
+ };
+}
diff --git a/modules/desktop/hardware/cpu.nix b/modules/desktop/hardware/cpu.nix
new file mode 100644
index 0000000..1ac3a27
--- /dev/null
+++ b/modules/desktop/hardware/cpu.nix
@@ -0,0 +1,21 @@
+{ pkgs, config, ... }:
+{
+ environment.systemPackages = [ pkgs.amdctl ];
+
+ powerManagement = {
+ enable = true;
+ cpuFreqGovernor = "performance";
+ };
+
+ boot = {
+ kernelModules = [
+ # "kvm-amd"
+ "amd-pstate"
+ "zenpower"
+ "msr"
+ ];
+
+ kernelParams = [ "amd_iommu=on" ];
+ extraModulePackages = [ config.boot.kernelPackages.zenpower ];
+ };
+}
diff --git a/modules/desktop/hardware/default.nix b/modules/desktop/hardware/default.nix
new file mode 100644
index 0000000..167e7c7
--- /dev/null
+++ b/modules/desktop/hardware/default.nix
@@ -0,0 +1,14 @@
+{
+ imports = [
+ ./cpu.nix
+ ./bluetooth.nix
+ ./usb.nix
+ ./tpm.nix
+ ./yubikey.nix
+ ];
+
+ hardware = {
+ enableRedistributableFirmware = true;
+ enableAllFirmware = true;
+ };
+}
diff --git a/modules/desktop/hardware/tpm.nix b/modules/desktop/hardware/tpm.nix
new file mode 100644
index 0000000..b84551e
--- /dev/null
+++ b/modules/desktop/hardware/tpm.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+{
+ security.tpm2 = {
+ enable = true;
+ applyUdevRules = true;
+ abrmd.enable = true;
+ tctiEnvironment.enable = true;
+ pkcs11.enable = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ tpm2-tools
+ tpm2-tss
+ tpm2-abrmd
+ ];
+
+ boot.kernelModules = [ "uhid" ];
+}
diff --git a/modules/desktop/hardware/usb.nix b/modules/desktop/hardware/usb.nix
new file mode 100644
index 0000000..f697761
--- /dev/null
+++ b/modules/desktop/hardware/usb.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }:
+{
+ environment.systemPackages = with pkgs; [
+ usbutils
+ lm_sensors
+ pciutils
+ ];
+
+ boot.kernelParams = [ "usbcore.autosuspend=-1" ];
+}
diff --git a/modules/desktop/hardware/yubikey.nix b/modules/desktop/hardware/yubikey.nix
new file mode 100644
index 0000000..6bd4a5c
--- /dev/null
+++ b/modules/desktop/hardware/yubikey.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+{
+ hardware.gpgSmartcards.enable = true;
+
+ services = {
+ pcscd.enable = true;
+ udev.packages = [ pkgs.yubikey-personalization ];
+ };
+
+ environment.systemPackages = with pkgs; [
+ yubikey-manager
+ yubikey-manager-qt
+ yubikey-personalization
+ yubikey-personalization-gui
+ yubico-piv-tool
+ yubioath-flutter
+ ];
+}