refactor(wpcarro/nixos): Define shared nopn.nix module

Shared between `ava` and `tarasco`. Also define `lib/default.nix` to share
utility functions like `usermod` between NixOS configurations.

Change-Id: I65b8d37520426e164c9d5f722bee4731a3c6e641
Reviewed-on: https://cl.tvl.fyi/c/depot/+/5942
Tested-by: BuildkiteCI
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
This commit is contained in:
William Carroll 2022-07-05 09:43:52 -07:00 committed by wpcarro
parent cd5fa69897
commit 33f6419d7e
7 changed files with 66 additions and 78 deletions

View file

@ -3,6 +3,7 @@
let
inherit (depot.users) wpcarro;
inherit (depot.users.wpcarro.lib) usermod;
wpcarrosEmacs = wpcarro.emacs.nixos {
load = [ ./tarasco.el ];
@ -15,7 +16,9 @@ let
};
in
{
imports = [ ./hardware.nix ];
imports = [
(usermod "hardware/nopn.nix")
];
# Use the TVL binary cache
tvl.cache.enable = true;
@ -27,25 +30,6 @@ in
# Support IP forwarding to use this device as a Tailscale exit node.
kernel.sysctl."net.ipv4.ip_forward" = true;
kernel.sysctl."net.ipv6.conf.all.forwarding" = true;
kernelModules = [
"kvm-intel"
];
# Can verify these settings with:
# $ lsmod
# ...or:
# $ cat /etc/modprobe.d/nixos.conf
blacklistedKernelModules = [
# Disabling this buggy network driver (and preferring ethernet) to prevent
# my machine from becoming unresponsive.
# TODO(wpcarro): Consider replacing this module with this fork (if NixOS
# isn't already): https://github.com/tomaspinho/rtl8821ce
"rtw88_8821ce"
];
initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
initrd.kernelModules = [ ];
extraModulePackages = [ ];
};