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:
parent
cd5fa69897
commit
33f6419d7e
7 changed files with 66 additions and 78 deletions
5
users/wpcarro/lib/default.nix
Normal file
5
users/wpcarro/lib/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ depot, ... }:
|
||||
|
||||
{
|
||||
usermod = name: depot.path.origSrc + ("/users/wpcarro/nixos/modules/${name}");
|
||||
}
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
let
|
||||
inherit (depot.users) wpcarro;
|
||||
inherit (depot.users.wpcarro.lib) usermod;
|
||||
|
||||
wpcarrosEmacs = wpcarro.emacs.nixos {
|
||||
load = [ ./ava.el ];
|
||||
|
@ -15,7 +16,9 @@ let
|
|||
};
|
||||
in
|
||||
{
|
||||
imports = [ ./hardware.nix ];
|
||||
imports = [
|
||||
(usermod "hardware/nopn.nix")
|
||||
];
|
||||
|
||||
# Use the TVL binary cache
|
||||
tvl.cache.enable = true;
|
||||
|
|
|
@ -1,31 +0,0 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{
|
||||
device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
}
|
|
@ -3,8 +3,7 @@
|
|||
|
||||
let
|
||||
inherit (depot.users) wpcarro;
|
||||
|
||||
usermod = name: depot.path.origSrc + ("/users/wpcarro/nixos/modules/${name}");
|
||||
inherit (depot.users.wpcarro.lib) usermod;
|
||||
|
||||
wpcarrosEmacs = wpcarro.emacs.nixos {
|
||||
load = [ ./marcus.el ];
|
||||
|
|
52
users/wpcarro/nixos/modules/hardware/nopn.nix
Normal file
52
users/wpcarro/nixos/modules/hardware/nopn.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
# I tried looking up the manufacturer, product name, and version, but
|
||||
# `dmidecode -t system` reported "To be filled by O.E.M." for each of these
|
||||
# fields.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
boot = {
|
||||
initrd.availableKernelModules = [
|
||||
"xhci_pci"
|
||||
"ehci_pci"
|
||||
"ahci"
|
||||
"usb_storage"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
];
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
|
||||
# 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"
|
||||
];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
}
|
|
@ -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 = [ ];
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-label/NIXBOOT";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
# high-resolution display
|
||||
hardware.video.hidpi.enable = lib.mkDefault true;
|
||||
}
|
Loading…
Reference in a new issue