Reorganise hardware vs host config, tidy settings and services

This commit is contained in:
ediblerope 2026-04-01 21:14:16 +01:00
parent effc4da3a6
commit 93ea194da4
13 changed files with 185 additions and 195 deletions

View file

@ -23,19 +23,8 @@
onlyoffice-desktopeditors
vscodium
];
programs.nix-ld.enable = true;
services.lact.enable = true;
hardware.graphics = {
enable = true;
enable32Bit = true;
};
services.xserver.videoDrivers = ["amdgpu"];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "ntsync" ];
# Enable AMD GPU overdrive for overclocking/undervolting
boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" "acpi_osi=\"!Windows 2015\"" "amdgpu.freesync_video=1"];
programs.steam = {
enable = true;
@ -46,10 +35,7 @@
];
};
};
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.configurationLimit = 5;
boot.initrd.systemd.enable = true;
};

View file

@ -1,60 +1,22 @@
{ config, pkgs, lib, inputs, ... }:
{
config = lib.mkMerge [
{
nixpkgs.config.allowInsecurePredicate = pkg:
(lib.hasPrefix "broadcom-sta" (lib.getName pkg));
}
config = lib.mkIf (config.networking.hostName == "FredOS-Macbook") {
environment.systemPackages = with pkgs; [
tlp
vesktop
adwaita-icon-theme
mission-center
vlc
geary
proton-vpn
onlyoffice-desktopeditors
];
(lib.mkIf (config.networking.hostName == "FredOS-Macbook") {
# ... all your other settings (tlp, boot, firmware) ...
services.tlp.enable = false;
services.power-profiles-daemon.enable = true;
environment.systemPackages = with pkgs; [
tlp
vesktop
adwaita-icon-theme
mission-center
vlc
geary
proton-vpn
onlyoffice-desktopeditors
];
services.tlp.enable = false;
services.power-profiles-daemon.enable = true;
hardware.facetimehd.enable = true;
boot = {
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
blacklistedKernelModules = [ "b43" "bcma" "ssb" ];
kernelParams = [ "acpi_osi=" ];
};
hardware.enableRedistributableFirmware = true;
boot.loader.systemd-boot.configurationLimit = 5;
boot.initrd.systemd.enable = true;
services.xserver.deviceSection = lib.mkDefault ''
Option "TearFree" "true"
'';
#Enable Bluetooth
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
};
})
];
boot.loader.systemd-boot.configurationLimit = 5;
boot.initrd.systemd.enable = true;
};
}

View file

@ -1,41 +1,6 @@
{ config, pkgs, lib, ... }:
{
config = lib.mkIf (config.networking.hostName == "FredOS-Mediaserver") {
# Individual Data Disks
fileSystems."/mnt/disk1" = {
device = "/dev/disk/by-uuid/90ae3493-38c1-4473-b409-e9d99c3b315e";
fsType = "ext4";
};
fileSystems."/mnt/disk2" = {
device = "/dev/disk/by-uuid/7145223e-f285-424a-a114-cb0b1b64e068";
fsType = "ext4";
};
fileSystems."/mnt/disk3" = {
device = "/dev/disk/by-uuid/58cecfd5-2fd7-4c4b-b3a1-0bf5e9d0beab";
fsType = "ext4";
};
fileSystems."/mnt/disk4" = {
device = "/dev/disk/by-uuid/317660ef-bd75-4fa4-bd20-f96a3926bf7b";
fsType = "ext4";
};
# The Combined MergerFS Pool
fileSystems."/mnt/storage" = {
device = "/mnt/disk1:/mnt/disk2:/mnt/disk3:/mnt/disk4";
fsType = "fuse.mergerfs";
options = [
"defaults"
"allow_other"
"use_ino"
"cache.files=partial"
"dropcacheonclose=true"
"category.create=mfs"
];
};
# Create symlink from home to storage
systemd.tmpfiles.rules = [
"L+ /home/fred/storage - - - - /mnt/storage"
@ -57,7 +22,7 @@
# Enable Docker
virtualisation.docker.enable = true;
# Basic networking
networking.useDHCP = lib.mkDefault true;
@ -67,13 +32,5 @@
enable = true;
settings.PermitRootLogin = "no";
};
# Boot loader
boot.loader.grub = {
enable = true;
# Includes all 4 physical disks for redundancy
devices = [ "/dev/sda" "/dev/sdb" "/dev/sdc" "/dev/sdd" "/dev/sde" ];
useOSProber = true;
};
};
}

View file

@ -6,10 +6,15 @@
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.initrd.kernelModules = [ "amdgpu" ];
boot.kernelModules = [ "kvm-amd" "ntsync" ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelParams = [ "amdgpu.ppfeaturemask=0xffffffff" "acpi_osi=\"!Windows 2015\"" "amdgpu.freesync_video=1" ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/e2731038-9c65-430a-8628-b018cd6b8d9f";
fsType = "ext4";
@ -25,13 +30,14 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.hostName = "FredOS-Gaming";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nix.settings.experimental-features = [ "nix-command" "flakes" ];
hardware.graphics = {
enable = true;
enable32Bit = true;
};
services.xserver.videoDrivers = [ "amdgpu" ];
services.lact.enable = true;
system.stateVersion = "25.11";
}
}

View file

@ -8,7 +8,12 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
boot.blacklistedKernelModules = [ "b43" "bcma" "ssb" ];
boot.kernelParams = [ "acpi_osi=" ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
fileSystems."/" = {
device = "/dev/disk/by-uuid/e295ac26-bf7e-4b93-bc97-74c3c01de0e3";
@ -25,13 +30,27 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.hostName = "FredOS-Macbook";
hardware.enableRedistributableFirmware = true;
hardware.facetimehd.enable = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
nixpkgs.config.allowInsecurePredicate = pkg:
(lib.hasPrefix "broadcom-sta" (lib.getName pkg));
nix.settings.experimental-features = [ "nix-command" "flakes" ];
services.xserver.deviceSection = lib.mkDefault ''
Option "TearFree" "true"
'';
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings = {
General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
};
system.stateVersion = "25.11";
}
}

View file

@ -15,14 +15,53 @@
fsType = "ext4";
};
# Individual Data Disks
fileSystems."/mnt/disk1" = {
device = "/dev/disk/by-uuid/90ae3493-38c1-4473-b409-e9d99c3b315e";
fsType = "ext4";
};
fileSystems."/mnt/disk2" = {
device = "/dev/disk/by-uuid/7145223e-f285-424a-a114-cb0b1b64e068";
fsType = "ext4";
};
fileSystems."/mnt/disk3" = {
device = "/dev/disk/by-uuid/58cecfd5-2fd7-4c4b-b3a1-0bf5e9d0beab";
fsType = "ext4";
};
fileSystems."/mnt/disk4" = {
device = "/dev/disk/by-uuid/317660ef-bd75-4fa4-bd20-f96a3926bf7b";
fsType = "ext4";
};
# The Combined MergerFS Pool
fileSystems."/mnt/storage" = {
device = "/mnt/disk1:/mnt/disk2:/mnt/disk3:/mnt/disk4";
fsType = "fuse.mergerfs";
options = [
"defaults"
"allow_other"
"use_ino"
"cache.files=partial"
"dropcacheonclose=true"
"category.create=mfs"
];
};
swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.hostName = "FredOS-Mediaserver";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
boot.loader.grub = {
enable = true;
# Includes all 4 physical disks for redundancy
devices = [ "/dev/sda" "/dev/sdb" "/dev/sdc" "/dev/sdd" "/dev/sde" ];
useOSProber = true;
};
system.stateVersion = "25.11";
}
}