Advertisement
Guest User

config

a guest
May 19th, 2019
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.49 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,... }:
  6.  
  7. {
  8. imports =
  9. [
  10. ./hardware-configuration.nix
  11. ];
  12.  
  13. # Use the systemd-boot EFI boot loader.
  14. boot.loader.systemd-boot.enable = true;
  15. boot.loader.efi.canTouchEfiVariables = true;
  16. # Enable exFAT format for USB/External HDD
  17. boot.extraModulePackages = [ config.boot.kernelPackages.exfat-nofuse ];
  18. boot.supportedFilesystems = [ "exfat" ];
  19. hardware.pulseaudio.enable = true;
  20. hardware.opengl.driSupport32Bit = true;
  21.  
  22. #services.vmwareGuest.enable = true;
  23. i18n = {
  24. consoleFont = "Lat2-Terminus16";
  25. consoleKeyMap = "us";
  26. defaultLocale = "en_US.UTF-8";
  27. };
  28.  
  29.  
  30. # Set your time zone.
  31. time.timeZone = "America/Vancouver";
  32.  
  33.  
  34. ### System Packages ##########################################################
  35. environment.systemPackages = with pkgs; [
  36.  
  37.  
  38. ### Command line utilities #################################################
  39.  
  40. blender
  41. bundler
  42. compton
  43. cmus # terminal music player
  44. escrotum # Screenshot tool (what a name...)
  45. feh # Image viewer
  46. fish # Friendly Interface SHell
  47. ffmpeg-full
  48. discord # Chat
  49. dolphin # File manager
  50. dunst # Notifications
  51. git # Version control
  52. git-lfs # Support for large files for git
  53. gnumake # 'make' command to build executables
  54. htop # A better 'top' command
  55. kate # Text Editor
  56. lynx # Terminal web browser
  57. mdbook # A markdown to web "book" generator
  58. mpv
  59. moc # Music player in a terminal
  60. networkmanagerapplet # Systray Applet for Network Manager
  61. neofetch # screenfetch, but better
  62. #open-vm-tools # VMware
  63. polybar
  64. p7zip # 7z zip manager
  65. pdfgrep
  66. ranger # Terminal file manager
  67. rofi # Window switcher & App launcher
  68. rtv # Reddit in terminal
  69. screenfetch # Display info about themes to console
  70. speedtest-cli # Speed test in terminal
  71. tree # Print file tree in terminal
  72. unzip # Command to unzip files
  73. #qt5.full
  74. urlview # View URLs in a document (for rtv)
  75. wget # Download web files
  76. youtube-dl # YouTube downloader
  77. # zip # Command to zip files
  78. i3blocks
  79. i3status
  80.  
  81.  
  82. ### Applications ###########################################################
  83.  
  84.  
  85. arandr # Multiple display manager
  86. ark # Archive manager
  87. atom # Glorified text editor
  88. calibre # ebooks
  89. firefox
  90. gimp
  91. libreoffice-fresh # Documents/Spreadsheets/Presentations
  92. libsForQt5.vlc # Video player (VLC)
  93. pango # Text Layout Engine Library
  94. pandoc # Document Conversion
  95. pamixer # Pulse Audio Tool
  96. pasystray # Pusle Audio System Tray App
  97. pavucontrol # Pulse Audio controllerList services
  98. qbittorrent # Torrent Client
  99. zathura # PDF viewer
  100.  
  101.  
  102.  
  103.  
  104. ### System-wide theming ####################################################
  105.  
  106. breeze-icons # Breeze theme icons
  107. hicolor_icon_theme # Hicolor theme icons
  108. lxappearance
  109. arc-theme # Arc theme for GTK+
  110. adapta-gtk-theme # Adapta theme for GTK
  111.  
  112.  
  113. ];
  114.  
  115. environment.pathsToLink = [ "/libexec" "/etc" ];
  116.  
  117. ### Programs #################################################################
  118.  
  119. programs = {
  120.  
  121. bash.enableCompletion = true; # Enable completion in bash shell
  122. fish.enable = true; # Holdup... why is this here?
  123. fish.shellAliases = { # Extra fish commands
  124. neofetchnix = "neofetch --ascii_colors 68 110";
  125. fonts = "fc-list : family | cut -f1 -d\",\" | sort";
  126. prettify = "python -m json.tool"; # Prettify json!
  127. dotp = "dot -Tpdf -o $1.pdf";
  128. doti = "dot -Tpng -o $1.png";
  129. };
  130. less.enable = true; # Enables config for the `less` command
  131. less.commands = { h = "quit"; }; # Rebind the `h` key to quit
  132.  
  133. qt5ct.enable = true; # Enable qt5ct (fixes Qt applications)
  134. };
  135. nixpkgs.config = {
  136. allowUnfree = true;
  137. # packagesOverrides = super: let self = super.pkgs; in
  138. # {
  139. # i3status = super.i3status.overrideDerivation (drv: { postInstall = "cp ${./input.txt} $out/etc/i3status.conf"; });
  140.  
  141.  
  142. };
  143.  
  144.  
  145.  
  146.  
  147.  
  148.  
  149. systemd.user.services = {
  150. nm-applet = {
  151. description = "Network manager applet";
  152. wantedBy = [ "graphical-session.target" ];
  153. partOf = [ "graphical-session.target" ];
  154. serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
  155. };
  156. };
  157.  
  158. fonts = {
  159. fonts = with pkgs; [
  160.  
  161. corefonts
  162. hack-font
  163. emojione # Emoji font
  164. fira-code-symbols # Fancy font with programming ligatures
  165. fira-code # Fancy font with programming ligatures
  166. font-awesome_5 # Fancy icons font
  167. nerdfonts
  168. powerline-fonts
  169. roboto
  170. roboto-mono
  171. roboto-slab
  172. siji # Iconic bitmap font
  173. source-code-pro ];
  174.  
  175. fontconfig = {
  176. ultimate.enable = true;
  177. defaultFonts = {
  178. monospace = [ "roboto-mono" ];
  179. sansSerif = [ "roboto" ];
  180. serif = [ "roboto-slab" ];
  181. };
  182. };
  183.  
  184. };
  185.  
  186. virtualisation.vmware.guest = {
  187. enable = true;
  188. };
  189. services ={
  190. openssh.enable = true;
  191. #vmwareGuest.enable = true;
  192. # virtualisation.vmware.guest = {
  193. #enable = true;
  194. xserver = {
  195. enable = true;
  196. layout = "us";
  197. xkbOptions = "eurosign:e";
  198. desktopManager = {
  199. plasma5.enable = true;
  200. xterm.enable = false;
  201. };
  202.  
  203. windowManager.default = "i3";
  204. windowManager.i3.enable = true;
  205.  
  206.  
  207.  
  208. displayManager.lightdm = {
  209. enable = true;
  210. };
  211. };
  212. # Compton is a visual compositor. Without it, I can see screen tearing on fullscreen video or when scrolling quickly.
  213. compton = {
  214. enable = true;
  215. };
  216.  
  217.  
  218. #DNSCrypt
  219. dnscrypt-proxy.enable = true;
  220. dnscrypt-proxy.customResolver = {
  221. address = "142.4.204.111";
  222. port = 443;
  223. name = "2.dnscrypt-cert.ns3.ca.luggs.co";
  224. key = "1C19:7933:1BE8:23CC:CF08:9A79:0693:7E5C:3410:2A56:AC7F:6270:E046:25B2:EDDB:04E3";
  225. };
  226. };
  227. #environment.etc."i3.conf".text = pkgs.callPackage ./i3-config.nix
  228.  
  229. networking.hostName = "Seneca";
  230. networking.networkmanager.enable = true;
  231. networking.nameservers = ["127.0.0.1"];
  232.  
  233.  
  234. # Define a user account. Don't forget to set a password with ‘passwd’.
  235. users.users.v0id = {
  236. isNormalUser = true;
  237. description = "v0iD";
  238. extraGroups = [
  239. "wheel"
  240. "disk"
  241. "networkmanager"
  242. "audio"
  243. "pulse"
  244. "video"
  245. "input" ];
  246. shell = "${pkgs.fish}/bin/fish";
  247. uid = 1000;
  248. };
  249.  
  250.  
  251. security.sudo.wheelNeedsPassword = false;
  252. security.polkit.extraConfig = ''
  253. polkit.addRule(function(action, subject) {
  254. if (subject.isInGroup("wheel")) {
  255. return polkit.Result.YES;
  256. }
  257. });
  258. '';
  259.  
  260. # This value determines the NixOS release with which your system is to be
  261. # compatible, in order to avoid breaking some software such as database
  262. # servers. You should change this only after NixOS release notes say you
  263. # should.
  264. system.stateVersion = "19.03"; # Did you read the comment?
  265.  
  266.  
  267.  
  268.  
  269.  
  270. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement