๐Ÿ“ฆ SergioRibera / dotfiles

๐Ÿ“„ default.nix ยท 134 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134{ config, pkgs, ... }:
{
  imports = [
    ./hardware-configuration.nix
  ];
  # Prioritize performance over efficiency
  powerManagement.cpuFreqGovernor = "performance";

  ia = {
    enable = true;
    service = true;
  };
  games = true;
  server-network = true;
  git.enable = true;
  gui.enable = true;
  sshKeys = true;
  audio = true;
  bluetooth = true;

  nvim = {
    enable = true;
    neovide = true;
    complete = true;
  };

  terminal = {
    name = "alacritty";
    command = [
      "alacritty"
      "-e"
    ];
  };
  shell = {
    name = "nushell";
    command = [ "nu" ];
    privSession = [
      "nu"
      "--no-history"
    ];
  };

  user = {
    enableHM = true;
    browser = "firefox";
    groups = [
      "wheel"
      "video"
      "audio"
      "docker"
      "libvirtd"
      "networkmanager"
      "adbusers"
      "input"
      "dialout"
    ];
  };

  services.xserver.videoDrivers = pkgs.lib.optionals (
    pkgs.stdenv.buildPlatform.isLinux && config.gui.enable
  ) [ "nvidia" ];
  services.displayManager.gdm.wayland = true;

  # Ethernet
  boot.extraModulePackages = with config.boot.kernelPackages; [ r8125 ];
  boot.blacklistedKernelModules = [ "r8169" ];

  environment = {
    systemPackages = [ pkgs.libva-utils ];
    variables = {
      NVD_BACKEND = "direct";
      LIBVA_DRIVER_NAME = "nvidia";
    };
  };
  boot = {
    initrd.kernelModules = [ "nvidia" ];
    kernelParams = [
      "rcutree.gp_init_delay=1"
      "mt7925e.disable_aspm=1"
    ];
  };
  hardware = {
    nvidia-container-toolkit.enable = true;
    nvidia = {
      modesetting.enable = true;
      nvidiaPersistenced = false;
      powerManagement = {
        enable = true;
        finegrained = false;
      };
      forceFullCompositionPipeline = true;
      open = false;
      package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
        version = "575.64.05";
        sha256_64bit = "sha256-hfK1D5EiYcGRegss9+H5dDr/0Aj9wPIJ9NVWP3dNUC0=";
        sha256_aarch64 = "sha256-fYji1Y2vJc5t6dkqbh4AC/fuAswiIvlj2cXX4NmBunw=";
        openSha256 = pkgs.lib.fakeSha256;
        settingsSha256 = "sha256-o2zUnYFUQjHOcCrB0w/4L6xI1hVUXLAWgG2Y26BowBE=";
        persistencedSha256 = "sha256-2g5z7Pu8u2EiAh5givP5Q1Y4zk4Cbb06W37rf768NFU=";
      };
    };
  };

  wm.actives = [
    "niri"
  ];
  wm.screens =
    let
      height = 1080;
    in
    [
      {
        name = "DP-4";
        rotation = "left";
      }
      {
        name = "DP-3";
        position.x = height;
      }
      {
        name = "DP-5";
        position = {
          x = height;
          y = height;
        };
      }
      {
        name = "HDMI-A-2";
        position.x = 3000;
        rotation = "right";
      }
    ];
}