complete-computing-environment/nixos-laptop.org

86 lines
2.2 KiB
Org Mode

:PROPERTIES:
:ID: cce/nixos-laptop
:END:
#+TITLE: 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!
#+ARROYO_NIXOS_MODULE: nixos/laptop.nix
#+AUTO_TANGLE: t
#+ARROYO_SYSTEM_ROLE: endpoint
#+ARROYO_SYSTEM_ROLE: settop
#+begin_src nix :tangle ~/arroyo-nix/nixos/laptop.nix
{ config, lib, pkgs, ... }:
{
powerManagement.enable = true;
networking.wireless.enable = false;
networking.networkmanager = {
enable = true;
dns = "systemd-resolved";
};
services.resolved = {
enable = true;
fallbackDns = [ "100.89.170.115" "100.100.100.100" "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 = with pkgs; [
(if (lib.versionOlder (lib.versions.majorMinor lib.version) "23.11") then vaapiIntel else intel-vaapi-driver)
libvdpau-va-gl
intel-media-driver
];
};
environment.variables = {
VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl");
};
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;
boot.supportedFilesystems = [ "ntfs" ];
}
#+end_src
My [[id:20220131T152041.472624][NixOS Set Top Box]] is a laptop right now.
#+ARROYO_SYSTEM_ROLE: settop