- # Edit this configuration file to define what should be installedni on
- # your system. Help is available in the configuration.nix(5) man page
- # and in the NixOS manual (accessible by running ‘nixos-help’).
- { config, pkgs, ... }:
- {
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- <nixpkgs/nixos/modules/virtualisation/virtualbox-host.nix>
- <nixpkgs/nixos/modules/config/pulseaudio.nix>
- <nixpkgs/nixos/modules/programs/vim.nix>
- <nixpkgs/nixos/modules/programs/tmux.nix>
- <nixpkgs/nixos/modules/programs/java.nix>
- <nixpkgs/nixos/modules/programs/zsh/zsh.nix>
- <nixpkgs/nixos/modules/services/x11/window-managers/xmonad.nix>
- <nixpkgs/nixos/modules/services/hardware/bluetooth.nix>
- <nixpkgs/nixos/modules/hardware/video/bumblebee.nix>
- <nixpkgs/nixos/modules/hardware/opengl.nix>
- #<nixpkgs/pkgs/applications/networking/browsers/google-chrome/default.nix>
- # <nixpkgs/pkgs/games/steam/steam.nix>
- ];
- services.xserver.videoDrivers = [
- "nvidia"
- "intel"
- ];
- hardware.opengl = {
- enable = true;
- driSupport = true;
- driSupport32Bit = true;
- s3tcSupport = true;
- };
- hardware.bumblebee = {
- enable = true;
- connectDisplay = true;
- };
- hardware.pulseaudio.enable = true;
- # Use the GRUB 2 boot loader.
- boot.loader.grub.enable = true;
- boot.loader.grub.version = 2;
- # boot.loader.grub.efiSupport = true;
- # boot.loader.grub.efiInstallAsRemovable = true;
- # boot.loader.efi.efiSysMountPoint = "/boot/efi";
- # Define on which hard drive you want to install Grub.
- boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
- boot.kernelParams = [ "firmware_class.path=${config.hardware.firmware}" ];
- boot.kernelModules = [ "i915" ];
- hardware.enableAllFirmware = true;
- boot.initrd.luks.devices = [
- {
- name = "root"; device = "/dev/nvme0n1p1"; preLVM = true;
- keyFile = "/dev/sdb";
- keyFileSize = 512;
- }
- ];
- networking.hostName = "wintermute"; # Define your hostname.
- networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- # Select internationalisation properties.
- i18n = {
- # consoleFont = "Lat2-Terminus16";
- consoleKeyMap = "us";
- defaultLocale = "en_US.UTF-8";
- };
- # Set your time zone.
- time.timeZone = "America/Halifax";
- # List packages installed in system profile. To search by name, run:
- # $ nix-env -qaP | grep wget
- environment.systemPackages = with pkgs; [
- wget wgetpaste
- tmux
- steam
- sbcl
- emacs
- vim
- pciutils
- urbit
- dmenu
- roxterm
- mutt
- gnupg
- tor
- openvpn
- elinks
- irssi
- gdb
- gcc
- patchelf
- arandr
- #pulseaudio
- pavucontrol
- google-chrome
- #xmodmap
- ];
- nixpkgs.config.allowUnfree = true;
- # List services that you want to enable:
- # Enable the OpenSSH daemon.
- services.openssh.enable = true;
- virtualisation.virtualbox.host.enable = true;
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
- # Enable CUPS to print documents.
- # services.printing.enable = true;
- # Enable the X11 windowing system.
- services.xserver.enable = true;
- services.xserver.layout = "us";
- # services.xserver.xkbOptions = "eurosign:e";
- services.xserver.windowManager.xmonad.enable = true;
- services.xserver.windowManager.xmonad.enableContribAndExtras = true;
- services.xserver.windowManager.default = "xmonad";
- services.xserver.synaptics.enable = true;
- services.xserver.synaptics.tapButtons = false;
- services.xserver.synaptics.twoFingerScroll = true;
- # Enable the KDE Desktop Environment.
- # services.xserver.displayManager.sddm.enable = true;
- # services.xserver.desktopManager.plasma5.enable = true;
- #services.xserver.displayManager.slim.enable = true;
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.extraUsers.oblivia = {
- isNormalUser = true;
- uid = 1000;
- home = "/home/oblivia";
- extraGroups = [ "wheel" "video" "pcap" "audio" ];
- };
- # The NixOS release to be compatible with for stateful data such as databases.
- system.stateVersion = "17.03";
- }