basic.nix 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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. google-fonts
  32. ffmpeg_7-full
  33. libGL
  34. discord
  35. proton-vpn
  36. wireguard-tools
  37. cups-pk-helper
  38. dgop
  39. cava
  40. powertop
  41. moose
  42. ];
  43. services.flatpak = {
  44. enable = true;
  45. packages = [
  46. "com.github.tchx84.Flatseal"
  47. "com.dec05eba.gpu_screen_recorder"
  48. "org.geogebra.GeoGebra"
  49. ];
  50. };
  51. fonts = {
  52. enableDefaultPackages = true;
  53. packages = with pkgs; [
  54. adwaita-fonts
  55. jetbrains-mono
  56. nerd-fonts.jetbrains-mono
  57. google-fonts
  58. material-symbols
  59. material-icons
  60. ];
  61. fontconfig = {
  62. enable = true;
  63. defaultFonts = {
  64. sansSerif = [ "Adwaita Sans" ];
  65. monospace = [ "JetBrains Mono" "Adwaita Mono" ];
  66. };
  67. };
  68. };
  69. #nix.gc = {
  70. # automatic = true;
  71. # dates = "weekly";
  72. # options = "--delete-older-than 7d";
  73. #};
  74. environment.variables = {
  75. QT_QPA_PLATFORMTHEME = "qt6ct";
  76. EDITOR = "moose";
  77. };
  78. services.xserver.xkb = {
  79. layout = "no";
  80. variant = "winkeys";
  81. };
  82. console.keyMap = "no";
  83. time.timeZone = "Europe/Oslo";
  84. i18n.defaultLocale = "en_US.UTF-8";
  85. i18n.extraLocaleSettings = {
  86. LC_ADDRESS = "nn_NO.UTF-8";
  87. LC_IDENTIFICATION = "nn_NO.UTF-8";
  88. LC_MEASUREMENT = "nn_NO.UTF-8";
  89. LC_MONETARY = "nn_NO.UTF-8";
  90. LC_NAME = "nn_NO.UTF-8";
  91. LC_NUMERIC = "nn_NO.UTF-8";
  92. LC_PAPER = "nn_NO.UTF-8";
  93. LC_TELEPHONE = "nn_NO.UTF-8";
  94. LC_TIME = "nn_NO.UTF-8";
  95. };
  96. security.polkit.enable = true;
  97. programs.nix-ld.enable = true;
  98. programs.firefox.enable = true;
  99. programs.noisetorch.enable = true;
  100. services.upower.enable = true;
  101. services.power-profiles-daemon.enable = true;
  102. services.accounts-daemon.enable = true;
  103. services.dbus = {
  104. enable = true;
  105. packages = with pkgs; [ cups-pk-helper ];
  106. };
  107. #programs.appimage = {
  108. # enable = true;
  109. # binfmt = true;
  110. # package = pkgs.appimage-run.override {
  111. # extraPkgs = pkgs:
  112. # [
  113. # pkgs.icu
  114. # pkgs.libxcrypt-legacy
  115. # pkgs.python312
  116. # pkgs.python312Packages.torch
  117. # pkgs.zstd
  118. # ];
  119. # };
  120. #};
  121. programs.nh = {
  122. enable = true;
  123. clean.enable = true;
  124. clean.extraArgs = "--keep-since 4d --keep 3";
  125. flake = "$HOME/nix-dots/";
  126. };
  127. hardware.graphics = {
  128. enable = true;
  129. enable32Bit = true;
  130. };
  131. services.seatd.enable = true;
  132. services.gvfs.enable = true;
  133. programs.virt-manager.enable = true;
  134. virtualisation = {
  135. libvirtd = {
  136. enable = true;
  137. qemu = {
  138. package = pkgs.qemu_kvm;
  139. vhostUserPackages = [ pkgs.virtiofsd ];
  140. };
  141. };
  142. docker = {
  143. enable = true;
  144. storageDriver = "btrfs";
  145. };
  146. };
  147. qt.enable = true;
  148. systemd.user.extraConfig = ''
  149. DefaultTimeoutStopSec=10s
  150. '';
  151. }