refactor: split "real" modules and "config" modules

This commit is contained in:
oddlama 2024-05-25 17:56:30 +02:00
parent 045f15239a
commit cceae6c63c
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
60 changed files with 126 additions and 113 deletions

View file

@ -0,0 +1,30 @@
{pkgs, ...}: {
environment.systemPackages = with pkgs; [bluetuith];
environment.persistence."/persist".directories = [
"/var/lib/bluetooth"
];
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
disabledPlugins = ["sap"];
settings = {
General = {
FastConnectable = "true";
JustWorksRepairing = "always";
MultiProfile = "multiple";
Enable = "Source,Sink,Media,Socket";
};
};
};
hardware.pulseaudio = {
package = pkgs.pulseaudio.override {bluetoothSupport = true;};
extraConfig = ''
load-module module-bluetooth-discover
load-module module-bluetooth-policy
load-module module-switch-on-connect
'';
extraModules = with pkgs; [pulseaudio-modules-bt];
};
}

View file

@ -0,0 +1,4 @@
{
boot.initrd.availableKernelModules = ["virtio_pci" "virtio_net" "virtio_scsi" "virtio_blk"];
topology.self.icon = "devices.cloud-server";
}

View file

@ -0,0 +1,3 @@
{
powerManagement.cpuFreqGovernor = "powersave";
}

View file

@ -0,0 +1,29 @@
{
lib,
minimal,
pkgs,
...
}:
lib.optionalAttrs (!minimal) {
boot.blacklistedKernelModules = ["nouveau"];
services.xserver.videoDrivers = lib.mkForce ["nvidia"];
hardware = {
nvidia = {
modesetting.enable = true;
nvidiaPersistenced = true;
nvidiaSettings = true;
open = true;
powerManagement.enable = true;
};
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
vaapiVdpau
nvidia-vaapi-driver
];
};
};
}

View file

@ -0,0 +1,26 @@
{inputs, ...}: {
imports = [
inputs.nixos-hardware.nixosModules.common-pc-ssd
];
boot.initrd.availableKernelModules = [
"usbhid"
"usb_storage"
# Ethernet
"dwmac_generic"
"dwmac_meson8b"
"cfg80211"
# HDMI
"snd_soc_meson_g12a_tohdmitx"
"snd_soc_meson_g12a_toacodec"
"mdio_mux_meson_g12a"
"dw_hdmi"
"meson_vdec"
"meson_dw_hdmi"
"meson_drm"
"meson_rng"
"drm"
"display_connector"
];
boot.kernelParams = ["console=ttyAML0,115200n8" "console=tty0"];
}

View file

@ -0,0 +1,18 @@
# Configuration for actual physical machines
{
config,
lib,
minimal,
...
}: {
hardware = {
enableRedistributableFirmware = true;
enableAllFirmware = true;
};
services = lib.mkIf (!minimal) {
fwupd.enable = true;
smartd.enable = true;
thermald.enable = builtins.elem config.nixpkgs.hostPlatform.system ["x86_64-linux"];
};
}