# Edit this configuration file to define what should be installed 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 ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.grub.copyKernels = true; boot.supportedFilesystems = [ "zfs" ]; boot.kernelPackages = pkgs.linuxPackages_latest; boot.loader.grub.useOSProber = true; boot.kernelParams = ["zfs.zfs_arc_max=6884901888" "nouveau.modeset=0" "i915.i915_enable_rc6=1" "i915.i915_enable_fc=1"]; boot.extraModprobeConfig = "options kvm_intel nested=1"; # ntworking.hostName = "nixos"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary # networking.proxy.default = "http://user:password@proxy:port/"; # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; networking.networkmanager.enable = true; networking.hostId = "0b4cbd12"; # Select internationalisation properties. i18n = { consoleFont = "Lat2-Terminus16"; consoleKeyMap = "de"; defaultLocale = "en_US.UTF-8"; }; # Set your time zone. time.timeZone = "Europe/Berlin"; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ wget vim xlibs.xmessage ghc xmobar networkmanager wpa_supplicant emacs zsh tmux screen firefox cmake autoconf gcc automake git ripgrep silver-searcher awesome jetbrains.idea-ultimate clojure leiningen alacritty nox xcape inxi neofetch glxinfo nmon htop gnumake atop lxc vagrant ncmpcpp mpd ]; hardware.opengl.driSupport32Bit = true; virtualisation.docker.enable = true; virtualisation.libvirtd.enable = true; # Some programs need SUID wrappers, can be configured further or are # started in user sessions. # programs.mtr.enable = true; # programs.gnupg.agent = { enable = true; enableSSHSupport = true; }; # List services that you want to enable: hardware.brightnessctl.enable = true; services.flatpak.enable = true; services.zfs.autoSnapshot.enable = true; services.zfs.autoScrub.enable = true; # Enable the OpenSSH daemon. # services.openssh.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 sound. sound.enable = true; hardware.pulseaudio.enable = true; # Enable the X11 windowing system. services.xserver.enable = true; services.xserver.layout = "de"; # services.xserver.xkbOptions = "eurosign:e"; # Enable touchpad support. services.xserver.libinput.enable = true; # Enable the KDE Desktop Environment. services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.k41 = { isNormalUser = true; extraGroups = [ "wheel" "video" "libvirt"]; # Enable ‘sudo’ for the user. shell = pkgs.zsh; }; # disable card with bbswitch by default since we turn it on only on demand! hardware.nvidiaOptimus.disable = false; # install nvidia drivers in addition to intel one hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ]; hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ]; # hardware.bumblebee.enable = true; # services.xserver.videoDrivers = [ "nvidia" ]; # hardware.nvidia.optimus_prime.enable = true; # Bus ID of the NVIDIA GPU. You can find it using lspci # hardware.nvidia.optimus_prime.nvidiaBusId = "PCI:1:0:0"; # Bus ID of the Intel GPU. You can find it using lspci # hardware.nvidia.optimus_prime.intelBusId = "PCI:0:2:0"; # This value determines the NixOS release with which your system is to be # compatible, in order to avoid breaking some software such as database # servers. You should change this only after NixOS release notes say you # should. system.stateVersion = "19.03"; # Did you read the comment? # Custom nixpkgs.config.allowUnfree = true; # environment.systemPackages = with pkgs; [ # emacs # emacs24Packages.haskellMode # xlibs.xmessage # haskellPackages.haskellPlatform.ghc # haskellPackages.xmobar # haskellPackages.xmonad # haskellPackages.xmonadContrib # haskellPackages.xmonadExtras #]; #windowManager.xmonad.enableContribAndExtras = true; }