basic.nix 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. { config, pkgs, inputs, ... }:
  2. {
  3. environment.systemPackages = let
  4. #moose = inputs.moose.packages.${pkgs.system}.default;
  5. in
  6. with pkgs; [
  7. lf
  8. jq
  9. gh
  10. git
  11. wget
  12. wine
  13. curl
  14. htop
  15. unzip
  16. seatd
  17. libgcc
  18. gnumake
  19. gparted
  20. dnsmasq
  21. pciutils
  22. onefetch
  23. python315
  24. playerctl
  25. p7zip-rar
  26. fastfetch
  27. pkg-config
  28. kdePackages.qt6ct
  29. lxqt.lxqt-policykit
  30. neovim
  31. emacs
  32. google-fonts
  33. ffmpeg_7-full
  34. libGL
  35. discord
  36. proton-vpn
  37. wireguard-tools
  38. cups-pk-helper
  39. dgop
  40. cava
  41. powertop
  42. #moose
  43. ];
  44. services.flatpak = {
  45. enable = true;
  46. packages = [
  47. "com.github.tchx84.Flatseal"
  48. "com.dec05eba.gpu_screen_recorder"
  49. "org.geogebra.GeoGebra"
  50. ];
  51. };
  52. programs.librepods.enable = true;
  53. fonts = {
  54. enableDefaultPackages = true;
  55. packages = with pkgs; [
  56. adwaita-fonts
  57. jetbrains-mono
  58. nerd-fonts.jetbrains-mono
  59. google-fonts
  60. material-symbols
  61. material-icons
  62. ];
  63. fontconfig = {
  64. enable = true;
  65. defaultFonts = {
  66. sansSerif = [ "Adwaita Sans" ];
  67. monospace = [ "JetBrains Mono" "Adwaita Mono" ];
  68. };
  69. };
  70. };
  71. #nix.gc = {
  72. # automatic = true;
  73. # dates = "weekly";
  74. # options = "--delete-older-than 7d";
  75. #};
  76. environment.variables = {
  77. QT_QPA_PLATFORMTHEME = "qt6ct";
  78. EDITOR = "nvim";
  79. };
  80. services.xserver.xkb = {
  81. layout = "no";
  82. variant = "winkeys";
  83. };
  84. console.keyMap = "no";
  85. time.timeZone = "Europe/Oslo";
  86. i18n.defaultLocale = "en_US.UTF-8";
  87. i18n.extraLocaleSettings = {
  88. LC_ADDRESS = "nn_NO.UTF-8";
  89. LC_IDENTIFICATION = "nn_NO.UTF-8";
  90. LC_MEASUREMENT = "nn_NO.UTF-8";
  91. LC_MONETARY = "nn_NO.UTF-8";
  92. LC_NAME = "nn_NO.UTF-8";
  93. LC_NUMERIC = "nn_NO.UTF-8";
  94. LC_PAPER = "nn_NO.UTF-8";
  95. LC_TELEPHONE = "nn_NO.UTF-8";
  96. LC_TIME = "nn_NO.UTF-8";
  97. };
  98. security.polkit.enable = true;
  99. programs.nix-ld = {
  100. enable = true;
  101. libraries = with pkgs; [];
  102. };
  103. programs.firefox.enable = true;
  104. programs.noisetorch.enable = true;
  105. #services.upower.enable = true;
  106. #services.power-profiles-daemon.enable = true;
  107. services.tlp = {
  108. enable = true;
  109. settings = {
  110. CPU_SCALING_GOVERNOR_ON_AC = "performance";
  111. CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
  112. CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
  113. CPU_ENERGY_PERF_POLICY_ON_BAT = "powersave";
  114. CPU_MAX_PERF_ON_AC = 100;
  115. CPU_MAX_PERF_ON_BAT = 80;
  116. };
  117. };
  118. services.accounts-daemon.enable = true;
  119. services.dbus = {
  120. enable = true;
  121. packages = with pkgs; [ cups-pk-helper ];
  122. };
  123. #programs.appimage = {
  124. # enable = true;
  125. # binfmt = true;
  126. # package = pkgs.appimage-run.override {
  127. # extraPkgs = pkgs:
  128. # [
  129. # pkgs.icu
  130. # pkgs.libxcrypt-legacy
  131. # pkgs.python312
  132. # pkgs.python312Packages.torch
  133. # pkgs.zstd
  134. # ];
  135. # };
  136. #};
  137. programs.nh = {
  138. enable = true;
  139. clean.enable = true;
  140. clean.extraArgs = "--keep-since 4d --keep 3";
  141. flake = "$HOME/nix-dots/";
  142. };
  143. hardware.graphics = {
  144. enable = true;
  145. enable32Bit = true;
  146. };
  147. services.seatd.enable = true;
  148. services.gvfs.enable = true;
  149. programs.virt-manager.enable = true;
  150. virtualisation = {
  151. libvirtd = {
  152. enable = true;
  153. qemu = {
  154. package = pkgs.qemu_kvm;
  155. vhostUserPackages = [ pkgs.virtiofsd ];
  156. };
  157. };
  158. docker = {
  159. enable = true;
  160. storageDriver = "btrfs";
  161. };
  162. };
  163. qt.enable = true;
  164. systemd.user.extraConfig = ''
  165. DefaultTimeoutStopSec=10s
  166. '';
  167. }