summaryrefslogtreecommitdiff
path: root/modules/nixos/traits
diff options
context:
space:
mode:
Diffstat (limited to 'modules/nixos/traits')
-rw-r--r--modules/nixos/traits/24.05-compat.nix2
-rw-r--r--modules/nixos/traits/nvidia.nix7
-rw-r--r--modules/nixos/traits/tailscale.nix1
3 files changed, 9 insertions, 1 deletions
diff --git a/modules/nixos/traits/24.05-compat.nix b/modules/nixos/traits/24.05-compat.nix
index b6422d1..d275f9c 100644
--- a/modules/nixos/traits/24.05-compat.nix
+++ b/modules/nixos/traits/24.05-compat.nix
@@ -1,6 +1,8 @@
+# collection of fun workarounds for the stable branch of nixos
{ lib, ... }:
{
imports = lib.optionals (lib.versionOlder lib.version "24.11pre") [
+ # https://github.com/NixOS/nixpkgs/pull/320228
(lib.mkAliasOptionModule
[
"hardware"
diff --git a/modules/nixos/traits/nvidia.nix b/modules/nixos/traits/nvidia.nix
index 5fec7db..1b37086 100644
--- a/modules/nixos/traits/nvidia.nix
+++ b/modules/nixos/traits/nvidia.nix
@@ -17,12 +17,13 @@ in
config = lib.mkIf cfg.enable (
lib.mkMerge [
{
+ # NOTE: this is experiemental
boot.kernelParams = lib.optional usingNvidia "nvidia_drm.fbdev=1";
services.xserver.videoDrivers = [ "nvidia" ];
hardware = {
- graphics.extraPackages = [ pkgs.vaapiVdpau ];
+ graphics.extraPackages = [ pkgs.vaapiVdpau ]; # TODO: does this work...?
nvidia = {
package = lib.mkDefault config.boot.kernelPackages.nvidiaPackages.latest;
modesetting.enable = true;
@@ -34,10 +35,14 @@ in
specialisation = {
nvk.configuration = {
boot = {
+ # required for GSP firmware
kernelParams = [ "nouveau.config=NvGspRm=1" ];
+ # we want early KMS
+ # https://wiki.archlinux.org/title/Kernel_mode_setting#Early_KMS_start
initrd.kernelModules = [ "nouveau" ];
};
+ # TODO: make sure we don't need this anymore
environment.sessionVariables = {
MESA_VK_VERSION_OVERRIDE = "1.3";
};
diff --git a/modules/nixos/traits/tailscale.nix b/modules/nixos/traits/tailscale.nix
index 7e76f58..ea38e5c 100644
--- a/modules/nixos/traits/tailscale.nix
+++ b/modules/nixos/traits/tailscale.nix
@@ -18,6 +18,7 @@ in
lib.mkMerge [
{
networking.firewall = {
+ # all connections from tailscale are safe...or should be
trustedInterfaces = [ config.services.tailscale.interfaceName ];
};