spacepaste

  1.  
  2. # Edit this configuration file to define what should be installedni on
  3. # your system. Help is available in the configuration.nix(5) man page
  4. # and in the NixOS manual (accessible by running ‘nixos-help’).
  5. { config, pkgs, ... }:
  6. {
  7. imports =
  8. [ # Include the results of the hardware scan.
  9. ./hardware-configuration.nix
  10. <nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix>
  11. <nixpkgs/nixos/modules/config/pulseaudio.nix>
  12. <nixpkgs/nixos/modules/programs/vim.nix>
  13. <nixpkgs/nixos/modules/programs/tmux.nix>
  14. <nixpkgs/nixos/modules/programs/java.nix>
  15. <nixpkgs/nixos/modules/programs/zsh/zsh.nix>
  16. <nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix>
  17. <nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
  18. <nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
  19. <nixpkgs/nixos/modules/hardware/opengl.nix>
  20. #<nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix>
  21. # <nixpkgs/pkgs/games/steam/steam.nix>
  22. ];
  23. services.xserver.videoDrivers = [
  24. "nvidia"
  25. "intel"
  26. ];
  27. hardware.opengl = {
  28. enable = true;
  29. driSupport = true;
  30. driSupport32Bit = true;
  31. s3tcSupport = true;
  32. };
  33. hardware.bumblebee = {
  34. enable = true;
  35. connectDisplay = true;
  36. };
  37. hardware.pulseaudio.enable = true;
  38. # Use the GRUB 2 boot loader.
  39. boot.loader.grub.enable = true;
  40. boot.loader.grub.version = 2;
  41. # boot.loader.grub.efiSupport = true;
  42. # boot.loader.grub.efiInstallAsRemovable = true;
  43. # boot.loader.efi.efiSysMountPoint = "/boot/efi";
  44. # Define on which hard drive you want to install Grub.
  45. boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
  46. boot.kernelParams = [ "firmware_class.path=${config.hardware.firmware}" ];
  47. boot.kernelModules = [ "i915" ];
  48. hardware.enableAllFirmware = true;
  49. boot.initrd.luks.devices = [
  50. {
  51. name = "root"; device = "/dev/nvme0n1p1"; preLVM = true;
  52. keyFile = "/dev/sdb";
  53. keyFileSize = 512;
  54. }
  55. ];
  56. networking.hostName = "wintermute"; # Define your hostname.
  57. networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
  58. # Select internationalisation properties.
  59. i18n = {
  60. # consoleFont = "Lat2-Terminus16";
  61. consoleKeyMap = "us";
  62. defaultLocale = "en_US.UTF-8";
  63. };
  64. # Set your time zone.
  65. time.timeZone = "America/Halifax";
  66. # List packages installed in system profile. To search by name, run:
  67. # $ nix-env -qaP | grep wget
  68. environment.systemPackages = with pkgs; [
  69. wget wgetpaste
  70. tmux
  71. steam
  72. sbcl
  73. emacs
  74. vim
  75. pciutils
  76. urbit
  77. dmenu
  78. roxterm
  79. mutt
  80. gnupg
  81. tor
  82. openvpn
  83. elinks
  84. irssi
  85. gdb
  86. gcc
  87. patchelf
  88. arandr
  89. #pulseaudio
  90. pavucontrol
  91. google-chrome
  92. #xmodmap
  93. ];
  94. nixpkgs.config.allowUnfree = true;
  95. # List services that you want to enable:
  96. # Enable the OpenSSH daemon.
  97. services.openssh.enable = true;
  98. virtualisation.virtualbox.host.enable = true;
  99. # Open ports in the firewall.
  100. # networking.firewall.allowedTCPPorts = [ ... ];
  101. # networking.firewall.allowedUDPPorts = [ ... ];
  102. # Or disable the firewall altogether.
  103. # networking.firewall.enable = false;
  104. # Enable CUPS to print documents.
  105. # services.printing.enable = true;
  106. # Enable the X11 windowing system.
  107. services.xserver.enable = true;
  108. services.xserver.layout = "us";
  109. # services.xserver.xkbOptions = "eurosign:e";
  110. services.xserver.windowManager.xmonad.enable = true;
  111. services.xserver.windowManager.xmonad.enableContribAndExtras = true;
  112. services.xserver.windowManager.default = "xmonad";
  113. services.xserver.synaptics.enable = true;
  114. services.xserver.synaptics.tapButtons = false;
  115. services.xserver.synaptics.twoFingerScroll = true;
  116. # Enable the KDE Desktop Environment.
  117. # services.xserver.displayManager.sddm.enable = true;
  118. # services.xserver.desktopManager.plasma5.enable = true;
  119. #services.xserver.displayManager.slim.enable = true;
  120. # Define a user account. Don't forget to set a password with ‘passwd’.
  121. users.extraUsers.oblivia = {
  122. isNormalUser = true;
  123. uid = 1000;
  124. home = "/home/oblivia";
  125. extraGroups = [ "wheel" "video" "pcap" "audio" ];
  126. };
  127. # The NixOS release to be compatible with for stateful data such as databases.
  128. system.stateVersion = "17.03";
  129. }
  130.