default.nix 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. {
  2. pkgs,
  3. lib,
  4. inputs,
  5. ...
  6. }:
  7. {
  8. imports = [
  9. ./hardware-configuration.nix
  10. ./persist.nix
  11. inputs.chaotic.nixosModules.default
  12. ];
  13. # My own modules
  14. mine = {
  15. games = {
  16. gamemode.enable = true;
  17. lutris.enable = false;
  18. steam.enable = true;
  19. };
  20. gnome = {
  21. enable = true;
  22. keyring.enable = true;
  23. };
  24. dnscrypt.enable = false;
  25. stubby.enable = false;
  26. fonts.enable = true;
  27. greetd.enable = true;
  28. security.enable = true;
  29. thunar.enable = true;
  30. qemu.enable = true;
  31. };
  32. # Chaotic stuff
  33. environment = {
  34. variables = {
  35. RADV_PERFTEST = "aco,gpl";
  36. AMD_VULKAN_ICD = lib.mkDefault "RADV";
  37. };
  38. };
  39. chaotic = {
  40. mesa-git.enable = false;
  41. steam.extraCompatPackages = with pkgs; [
  42. luxtorpeda
  43. proton-ge-custom
  44. ];
  45. nyx = {
  46. cache.enable = false; # added manualy
  47. overlay.enable = true;
  48. };
  49. };
  50. documentation = {
  51. enable = true;
  52. doc.enable = true;
  53. man.enable = true;
  54. dev.enable = false;
  55. };
  56. services.logind = {
  57. powerKey = "suspend";
  58. lidSwitch = "suspend-then-hibernate";
  59. };
  60. # OpenGL
  61. hardware = {
  62. bluetooth.enable = true;
  63. opengl = {
  64. enable = true;
  65. driSupport = true;
  66. driSupport32Bit = true;
  67. extraPackages = with pkgs; [
  68. # amdvlk
  69. rocmPackages.clr.icd
  70. rocmPackages.clr
  71. ];
  72. # extraPackages32 = with pkgs; [driversi686Linux.amdvlk];
  73. };
  74. };
  75. networking = {
  76. hostName = "sforza";
  77. useDHCP = false;
  78. defaultGateway = {
  79. address = "192.168.1.1";
  80. interface = "wlp4s0";
  81. };
  82. interfaces.enp3s0.useDHCP = true; # will override networking.useDHCP
  83. interfaces.wlp4s0 = {
  84. ipv4.addresses = [
  85. {
  86. address = "192.168.1.99";
  87. prefixLength = 24;
  88. }
  89. ];
  90. };
  91. networkmanager.enable = true;
  92. wg-quick.interfaces = {
  93. wg0 = {
  94. autostart = true;
  95. address = [ "10.66.66.2/32" ];
  96. dns = [ "45.76.145.144" ];
  97. privateKeyFile = "/persist/wireguard/privateKey";
  98. peers = [
  99. {
  100. publicKey = "hOxW74kF//JpljARxf4+lu+cbwgn8OtB+lXT2Tqoyhk=";
  101. presharedKeyFile = "/persist/wireguard/presharedKey";
  102. allowedIPs = [ "0.0.0.0/0" ];
  103. endpoint = "45.76.145.144:51820";
  104. persistentKeepalive = 25;
  105. }
  106. ];
  107. };
  108. };
  109. };
  110. # TLP For Laptop
  111. services = {
  112. tlp = {
  113. enable = true;
  114. settings = {
  115. CPU_SCALING_GOVERNOR_ON_AC = "performance";
  116. CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
  117. CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
  118. CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
  119. CPU_MIN_PERF_ON_AC = 0;
  120. CPU_MAX_PERF_ON_AC = 100;
  121. CPU_MIN_PERF_ON_BAT = 0;
  122. CPU_MAX_PERF_ON_BAT = 50;
  123. };
  124. };
  125. xserver = {
  126. xkb.layout = "us"; # Configure keymap
  127. libinput.enable = true;
  128. };
  129. };
  130. }