Refresh system/tool pins, install official Element Nightly, expand development tools, and finish desktop workflows with a shared charcoal/gold design. Retain host-specific updates and NixOS recovery generations.
49 lines
1.1 KiB
Nix
49 lines
1.1 KiB
Nix
{
|
|
inputs,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
latest = import inputs.nixpkgs-latest {
|
|
inherit (pkgs.stdenv.hostPlatform) system;
|
|
config = pkgs.config;
|
|
};
|
|
in
|
|
{
|
|
# Keep each host's existing interface/DHCP owner. On EC2 this is dhcpcd;
|
|
# NixOS wires its resolvconf hook to resolved's compatibility interface.
|
|
services.resolved = {
|
|
# Physical hosts can retain their existing DNS setup during migration.
|
|
enable = lib.mkDefault true;
|
|
settings.Resolve = {
|
|
LLMNR = false;
|
|
MulticastDNS = false;
|
|
# Do not force public DNS, DNSSEC or DNS-over-TLS over DHCP/VPN policy.
|
|
};
|
|
};
|
|
|
|
programs.mtr = {
|
|
enable = true;
|
|
package = latest.mtr;
|
|
};
|
|
environment.systemPackages = with latest; [
|
|
wireguard-tools # wg and wg-quick; no interfaces or credentials are configured.
|
|
openvpn
|
|
iperf3
|
|
nmap
|
|
traceroute
|
|
whois
|
|
dnsutils
|
|
tcpdump
|
|
ethtool
|
|
netcat-openbsd
|
|
socat
|
|
doggo
|
|
iftop
|
|
bandwhich
|
|
wireshark-cli # tshark; no capture group/capabilities or daemon.
|
|
];
|
|
# Client tools only: no VPN services, peers, keys, routes or firewall ports.
|
|
}
|