summaryrefslogtreecommitdiff
path: root/os/cez/modules/specialisation
diff options
context:
space:
mode:
authorsinanmohd <sinan@sinanmohd.com>2025-12-05 09:38:13 +0530
committersinan@sinanmohd.com <sinan@sinanmohd.com>2025-12-06 13:40:30 +0530
commit3dc8bee3cb3a472dcf8d3990a6623327ac75d985 (patch)
tree25146bea88b88f95ab1b0c13b2c7f7e0456ddba4 /os/cez/modules/specialisation
parent7cf4cc6ae6b68cb206a65221b4ac9b4a3ea2e583 (diff)
feat(cez/specialisation/heater): init
Diffstat (limited to 'os/cez/modules/specialisation')
-rw-r--r--os/cez/modules/specialisation/default.nix6
-rw-r--r--os/cez/modules/specialisation/heater.nix31
-rw-r--r--os/cez/modules/specialisation/nvidia.nix25
3 files changed, 62 insertions, 0 deletions
diff --git a/os/cez/modules/specialisation/default.nix b/os/cez/modules/specialisation/default.nix
new file mode 100644
index 0000000..c7fb4aa
--- /dev/null
+++ b/os/cez/modules/specialisation/default.nix
@@ -0,0 +1,6 @@
+{
+ specialisation = {
+ nvidia.configuration.imports = [ ./nvidia.nix ];
+ heater.configuration.imports = [ ./heater.nix ];
+ };
+}
diff --git a/os/cez/modules/specialisation/heater.nix b/os/cez/modules/specialisation/heater.nix
new file mode 100644
index 0000000..68dbf4d
--- /dev/null
+++ b/os/cez/modules/specialisation/heater.nix
@@ -0,0 +1,31 @@
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}:
+let
+ heater = pkgs.writeShellApplication {
+ name = "heater";
+ runtimeInputs = with pkgs; [
+ vulkan-tools
+ mangohud
+ ];
+
+ text = ''
+ MESA_VK_WSI_PRESENT_MODE=immediate mangohud vkcube --present_mode 0
+ '';
+ };
+ username = config.global.userdata.name;
+in
+{
+ imports = [ ./nvidia.nix ];
+
+ services.logind.settings.Login.HandleLidSwitch = "ignore";
+ environment.systemPackages = [ heater ];
+ home-manager.users.${username}.imports = [
+ {
+ wayland.windowManager.sway.settings.exec = [ "${lib.getExe heater}" ];
+ }
+ ];
+}
diff --git a/os/cez/modules/specialisation/nvidia.nix b/os/cez/modules/specialisation/nvidia.nix
new file mode 100644
index 0000000..3ac30b4
--- /dev/null
+++ b/os/cez/modules/specialisation/nvidia.nix
@@ -0,0 +1,25 @@
+{ lib, ... }:
+{
+ boot = {
+ kernelParams = [ "transparent_hugepage=always" ];
+ kernel.sysctl."vm.max_map_count" = 2147483642;
+ };
+
+ environment.variables = {
+ DRI_PRIME = 1;
+ __NV_PRIME_RENDER_OFFLOAD = 1;
+ __VK_LAYER_NV_optimus = "NVIDIA_only";
+ __GLX_VENDOR_LIBRARY_NAME = "nvidia";
+ };
+
+ hardware.nvidia = {
+ open = true;
+ nvidiaSettings = false;
+ prime.sync.enable = true;
+ };
+
+ services = {
+ xserver.videoDrivers = [ "nvidia" ];
+ tlp.settings.PLATFORM_PROFILE_ON_AC = lib.mkForce "performance";
+ };
+}