complete-computing-environment/nixos-laptop.org

1.8 KiB

NixOS Hardware Support for Laptops

Bits and Bobbins not worth showing anywhere else. This will need a mkIf if I ever support my desktop or server!

{ lib, pkgs, ... }:

{
  powerManagement.enable = true;

  networking.wireless.enable = false;
  networking.networkmanager = {
    enable = true;
    dns = "systemd-resolved";
  };
  services.resolved = {
    enable = true;
    fallbackDns = [ "10.10.10.1" "209.251.245.117" "8.8.8.8" ];
  };

  hardware.mcelog.enable = true;

  hardware.cpu.intel.updateMicrocode = true;

  # each machine in my morph file sets config.services.xserver.dpi too
  # fonts.optimizeForVeryHighDPI = lib.mkDefault false;
  services.xserver.upscaleDefaultCursor = lib.mkDefault true;

  services.xserver.videoDrivers = [ "modesetting" ];

  hardware.opengl.extraPackages32 = [ pkgs.pkgsi686Linux.vaapiIntel ];

  # these aren't laptop...

  # use trackpoint with wheel emulation
  hardware.trackpoint = {
    enable = true;
    emulateWheel = true;
  };

  # configure touchpad
  services.xserver.libinput.enable = true;
  services.xserver.libinput.touchpad = {
    clickMethod = "clickfinger";
    disableWhileTyping = true;
    tapping = false;
  };

  hardware.opengl = {
    enable = true;
    extraPackages = [
      pkgs.vaapiIntel
    ];
  };

  virtualisation.docker = {
    enable = true;
    autoPrune.enable = true;
    storageDriver = "zfs";
    daemon.settings = {
      log-driver = "local";
    };
  };

  boot.binfmt.emulatedSystems = [ "aarch64-linux" "armv6l-linux" ];
  hardware.rtl-sdr.enable = true;
}

My NixOS Set Top Box is a laptop right now.