{ config, pkgs, lib, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ../modules/common.nix ../modules/sound.nix ../modules/window_manager.nix ../modules/fonts.nix ../modules/gnupg.nix ../modules/nix.nix ../modules/garbage-collector.nix ../modules/networking.secret.nix ]; # Configure kernel boot = { kernelPackages = pkgs.linuxPackages_latest; extraModulePackages = with config.boot.kernelPackages; [ rtl88x2bu ]; }; # Use the GRUB 2 boot loader. boot.loader.grub = { enable = true; version = 2; device = "/dev/sdb"; }; networking = { hostName = "home"; # Define your hostname. useDHCP = false; interfaces = { enp3s0.useDHCP = true; wlp11s0f3u2.useDHCP = true; }; networkmanager.enable = true; }; nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "cnijfilter2" ]; services = { avahi = { enable = true; nssmdns = true; }; printing = { enable = true; drivers = with pkgs; [ gutenprint cnijfilter2 ]; }; }; services.xserver = { # All monitors in the right order # Source: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/xserver.nix#L83 xrandrHeads = [ { output = "HDMI-A-0"; monitorConfig = '' Option "PreferredMode" "1920x1080" Option "Rotate" "right" ''; } { output = "DisplayPort-1"; primary = true; monitorConfig = '' Option "PreferredMode" "2560x1440" ''; } ]; }; # Enable the Docker virtualisation.docker.enable = true; local.nix.enableMyRegistry = true; }