Advertisement
Guest User

Untitled

a guest
May 11th, 2020
590
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. # Edit this configuration file to define what should be installed on
  2. # your system. Help is available in the configuration.nix(5) man page
  3. # and in the NixOS manual (accessible by running ‘nixos-help’).
  4.  
  5. { config, pkgs, lib, options, ... }:
  6.  
  7. let
  8. emacs = let
  9. emacsWithPackages = (pkgs.emacsPackagesNgGen pkgs.emacs).emacsWithPackages;
  10. in
  11. emacsWithPackages (epkgs: (with epkgs.melpaPackages; [
  12. zerodark-theme
  13. tabbar
  14. ergoemacs-mode
  15. ]));
  16.  
  17. steam-wrapper = pkgs.writeShellScriptBin "steam-wrapper" ''
  18. export __NV_PRIME_RENDER_OFFLOAD=1
  19. export __GLX_VENDOR_LIBRARY_NAME=nvidia
  20. export __VK_LAYER_NV_optimus=NVIDIA_only
  21. export LANG=en_US.UTF8
  22. export LC_ALL=en_US.UTF8
  23. $@
  24. '';
  25. in {
  26. imports =
  27. [ # Include the results of the hardware scan.
  28. ./hardware-configuration.nix
  29. ];
  30.  
  31. # BIOS
  32. boot.loader.systemd-boot.enable = true;
  33. boot.loader.efi.canTouchEfiVariables = false;
  34.  
  35. # Boot
  36. boot.plymouth.enable = true;
  37.  
  38. # Hardware
  39. services.fstrim.enable = true;
  40. services.fprintd.enable = true;
  41. sound.mediaKeys.enable = true;
  42. services.upower.enable = true;
  43. # hybrid sleep hangs
  44. services.upower.criticalPowerAction = "Hibernate";
  45. services.upower.percentageLow = 12;
  46. services.upower.percentageCritical = 11;
  47. services.upower.percentageAction = 10;
  48.  
  49. # Virtualization
  50. virtualisation.libvirtd = {
  51. enable = true;
  52. qemuVerbatimConfig = ''
  53. seccomp_sandbox = 0
  54. '';
  55. onShutdown = "shutdown";
  56. };
  57.  
  58. # Network
  59. networking.networkmanager.enable = true;
  60. services.tor.enable = true;
  61. services.tor.client.enable = true;
  62.  
  63. # Graphics
  64. hardware.opengl.driSupport32Bit = true;
  65. services.xserver.videoDrivers = [ "nvidia" ];
  66. hardware.nvidia.prime.offload.enable = true;
  67. hardware.nvidia.prime.nvidiaBusId = "PCI:1:0:0";
  68. hardware.nvidia.prime.intelBusId = "PCI:0:2:0";
  69. services.autorandr.enable = true;
  70.  
  71. # Sound
  72. sound.enable = true;
  73.  
  74. # Localization
  75. i18n = {
  76. defaultLocale = "ru_RU.UTF-8";
  77. };
  78. console.font = "LatArCyrHeb-16";
  79. time.timeZone = "Europe/Moscow";
  80. services.xserver.layout = "us,ru";
  81. services.xserver.xkbOptions = "grp:alt_shift_toggle,grp_led:caps";
  82.  
  83. # UI
  84. services.xserver.enable = true;
  85. services.xserver.libinput.enable = true;
  86. services.xserver.windowManager.i3.enable = true;
  87.  
  88. # Environment
  89. environment.homeBinInPath = true;
  90. programs.command-not-found.enable = true;
  91.  
  92. # Shell
  93. programs.fish = {
  94. enable = true;
  95. shellAliases = {
  96. tmux = "${pkgs.tmux}/bin/tmux a; or ${pkgs.tmux}/bin/tmux";
  97. };
  98. };
  99. users.defaultUserShell = pkgs.fish;
  100. programs.tmux = {
  101. enable = true;
  102. historyLimit = 90000;
  103. extraConfig = ''
  104. set -g status-right ""
  105. '';
  106. secureSocket = false;
  107. };
  108. programs.nano.nanorc = ''
  109. set nowrap
  110. set tabstospaces
  111. set tabsize 2
  112. '';
  113.  
  114. # User
  115. users.extraUsers.orchestrator = {
  116. isNormalUser = true;
  117. extraGroups = [ "wheel" "input" "libvirtd" ];
  118. };
  119.  
  120. # Packages
  121. nixpkgs.config.allowUnfree = true;
  122. # List packages installed in system profile. To search by name, run:
  123. # $ nix-env -qaP | grep wget
  124. environment.systemPackages = with pkgs; [
  125. qutebrowser
  126. trojita
  127. transmission_gtk
  128. tdesktop
  129. emacs
  130. vlc
  131. qmmp
  132. libreoffice
  133. mytetra
  134. speedcrunch
  135. goldendict
  136. steam steam-wrapper steam-run-native
  137. gimp
  138. virtmanager
  139. ] ++ [
  140. file
  141. tree
  142. binutils
  143. telnet
  144. git
  145. aria2
  146. mc
  147. htop ps_mem
  148. nix-top nix-review
  149. dtrx
  150. ] ++ [
  151. filelight
  152. termite
  153. spaceFM
  154. spectacle
  155. dunst
  156. ];
  157.  
  158. # The NixOS release to be compatible with for stateful data such as databases.
  159. system.stateVersion = "17.09";
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement