Files
imladris/hw/vade/default.nix
Kyle Isom 3be5613120 Fix deprecated NixOS options for 25.11
- Use nixpkgs.hostPlatform module instead of deprecated system arg to lib.nixosSystem
- Rename services.logind.powerKey to services.logind.settings.Login.HandlePowerKey

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 09:53:25 -07:00

64 lines
2.0 KiB
Nix

{ inputs, pkgs, ... }:
{
imports = [
inputs.nixos-hardware.nixosModules.framework-12-13th-gen-intel
./hardware-configuration.nix
../../configs/desktop-light.nix
../../configs/qemu.nix
../../configs/mcpkg.nix
];
# Power optimization for Framework 12 laptop
# Thermald works alongside TLP (from nixos-hardware) for better thermal/power management
services.thermald.enable = true;
# WiFi power saving - enables 802.11 power save mode
networking.networkmanager.wifi.powersave = true;
# Bluetooth power optimization - don't power on at boot, disable fast connect
hardware.bluetooth = {
powerOnBoot = false;
settings.General.FastConnectable = false;
};
# Audio power saving - Intel HDA codec powers down after 1 second of silence
boot.extraModprobeConfig = ''
options snd_hda_intel power_save=1
'';
# ILITEK USI stylus/touchscreen support
# The stylus device is misclassified as a keyboard by the default evdev
# catchall. Force it to use libinput as a tablet device.
services.xserver.inputClassSections = [
''
Identifier "ILITEK stylus tablet"
MatchProduct "ILIT2901:00 222A:5539 Stylus"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
''
];
# Prevent Tailscale from setting a ~. catch-all on tailscale0,
# which hijacks all DNS queries through systemd-resolved.
services.tailscale.extraUpFlags = ["--accept-dns=false"];
# DNS: MCNS for internal zones, public resolvers as fallback.
# When MCNS is down, internal names (.svc.mcp.metacircular.net) fail
# but external DNS keeps working via 1.1.1.1/8.8.8.8.
# Lesson from 2026-04-03 incident: without fallbacks, MCNS failure
# causes total DNS blackout including external services.
networking.nameservers = [
"192.168.88.181" # MCNS (LAN)
"100.95.252.120" # MCNS (Tailnet)
"1.1.1.1" # Cloudflare (fallback)
"8.8.8.8" # Google (fallback)
];
services.resolved.domains = [
"~mcp.metacircular.net"
];
services.logind.settings.Login.HandlePowerKey = "ignore";
}