139 lines
3.5 KiB
Nix
Executable file
139 lines
3.5 KiB
Nix
Executable file
{ config, lib, pkgs, modulesPath, ... }:
|
||
|
||
{
|
||
|
||
nixpkgs.overlays = [
|
||
(self: super: {
|
||
system76-scheduler = pkgs.callPackage ./syspkgs/system76-scheduler.nix {};
|
||
kwin-system76-scheduler-integration = pkgs.libsForQt5.callPackage ./syspkgs/kwin-system76-scheduler-integration.nix {};
|
||
})
|
||
];
|
||
|
||
imports =
|
||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||
];
|
||
|
||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbcore" "sd_mod" ];
|
||
boot.initrd.kernelModules = [];
|
||
boot.kernelModules = [ "kvm-amd" "i2c-dev" ];
|
||
boot.extraModulePackages = [ ];
|
||
boot.kernelParams = [ "mitigations=off" "acpi_enforce_resources=lax" "preempt=full" ];
|
||
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
boot.plymouth.enable = true;
|
||
|
||
boot.supportedFilesystems = [ "ntfs" ];
|
||
|
||
security.tpm2.enable = true;
|
||
|
||
networking.useDHCP = lib.mkDefault true;
|
||
|
||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||
|
||
services.minidlna = {
|
||
enable = true;
|
||
settings = {
|
||
notify_interval = 120;
|
||
friendly_name = "PC";
|
||
media_dir = [ "A,/data/Music/Slsk" ];
|
||
};
|
||
};
|
||
|
||
services.xserver.videoDrivers = [ "nvidia" ];
|
||
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||
hardware.nvidia.modesetting.enable = true;
|
||
hardware.nvidia.powerManagement.enable = true;
|
||
programs.xwayland.enable = true;
|
||
|
||
systemd.services.no-rgb = {
|
||
wantedBy = [ "multi-user.target" ];
|
||
description = "rgb led turn-off-er";
|
||
serviceConfig = {
|
||
Type = "oneshot";
|
||
ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX Fury RGB" -m static -c 000000'';
|
||
};
|
||
};
|
||
|
||
systemd.services."com.system76.Scheduler" = {
|
||
wantedBy = [ "multi-user.target" ];
|
||
description = "the system76 process scheduler";
|
||
serviceConfig = {
|
||
Type = "dbus";
|
||
ExecStart = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon'';
|
||
ExecReload = ''${pkgs.system76-scheduler}/bin/system76-scheduler daemon reload'';
|
||
BusName = "com.system76.Scheduler";
|
||
};
|
||
};
|
||
|
||
services.dbus.packages = [
|
||
pkgs.kwin-system76-scheduler-integration
|
||
pkgs.system76-scheduler
|
||
];
|
||
|
||
systemd.packages = [
|
||
pkgs.kwin-system76-scheduler-integration
|
||
pkgs.system76-scheduler
|
||
];
|
||
|
||
environment.etc = {
|
||
"system76-scheduler".source = "${pkgs.system76-scheduler}/etc/system76-scheduler";
|
||
};
|
||
|
||
services.hardware.openrgb = {
|
||
enable = true;
|
||
motherboard = "amd";
|
||
};
|
||
|
||
hardware.ckb-next.enable = true;
|
||
|
||
environment.systemPackages = with pkgs;
|
||
[
|
||
xdg-desktop-portal-kde
|
||
ckb-next
|
||
openrgb
|
||
wl-clipboard
|
||
wl-clipboard-x11
|
||
xclip
|
||
system76-scheduler
|
||
kwin-system76-scheduler-integration
|
||
];
|
||
|
||
networking.hostName = "quiver"; # Define your hostname.
|
||
users.users.bolt = {
|
||
isNormalUser = true;
|
||
extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||
};
|
||
|
||
fileSystems."/" =
|
||
{ device = "/dev/disk/by-uuid/06f59431-d939-4b48-9d91-e23606dd3ce0";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
fileSystems."/home" =
|
||
{ device = "/dev/disk/by-uuid/f063e0c7-8590-4ed4-860c-5ae0c9b66898";
|
||
fsType = "ext4";
|
||
};
|
||
|
||
fileSystems."/boot" =
|
||
{ device = "/dev/disk/by-uuid/5008-1946";
|
||
fsType = "vfat";
|
||
};
|
||
|
||
fileSystems."/data" = {
|
||
device = "/dev/disk/by-uuid/39D4F78C658E8B56";
|
||
fsType = "ntfs";
|
||
options = [ "rw" "uid=1001" "gid=100" ];
|
||
};
|
||
|
||
swapDevices = [ {
|
||
device = "/home/swapfile";
|
||
size = 4096;
|
||
}
|
||
];
|
||
|
||
networking.firewall = {
|
||
allowedUDPPorts = [ 1900 ];
|
||
allowedTCPPorts = [ 8200 2234 ];
|
||
};
|
||
|
||
}
|