Files
imladris/hw/vade/default.nix
Kyle Isom 8c9d8f4ff5 Fix DNS: restore Tailscale catch-all removal service
The previous commit removed the systemd service that stripped Tailscale's
~. DNS catch-all, breaking all DNS resolution — even when Tailscale is
disconnected. Restore it as fix-tailscale-dns, which restricts tailscale0
to only route ~scylla-hammerhead.ts.net queries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 21:32:15 -07:00

70 lines
2.1 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"
''
];
# Internal Metacircular service addresses via /etc/hosts.
networking.hosts = {
"100.95.252.120" = [
"metacrypt.svc.mcp.metacircular.net"
"mcr.svc.mcp.metacircular.net"
"mcp-agent.svc.mcp.metacircular.net"
"rift.mcp.metacircular.net"
];
};
# Tailscale sets ~. (catch-all) on tailscale0, which hijacks all DNS
# queries — even when Tailscale is disconnected. Replace it with a
# specific routing domain so normal DNS resolution works.
systemd.services.fix-tailscale-dns = {
description = "Remove Tailscale DNS catch-all routing";
after = [ "network-online.target" "tailscaled.service" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
${pkgs.systemd}/bin/resolvectl domain tailscale0 ~scylla-hammerhead.ts.net
'';
};
}