mirror of
https://github.com/Username404-59/Dotfiles-NixOS.git
synced 2026-07-03 12:58:07 +02:00
77 lines
2.3 KiB
Nix
77 lines
2.3 KiB
Nix
{ config, lib, pkgs, ...}:
|
|
|
|
let
|
|
isLaptop = false;
|
|
in
|
|
{
|
|
_module.args.isLaptop = isLaptop;
|
|
home-manager.extraSpecialArgs = { inherit isLaptop; };
|
|
|
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
|
# Common modules
|
|
] ++ (if !isLaptop then [
|
|
# Desktop modules
|
|
nct6687d
|
|
] else [
|
|
# Laptop modules
|
|
]);
|
|
|
|
boot.kernelModules = [
|
|
# Common modules
|
|
] ++ (if !isLaptop then [
|
|
# Desktop modules
|
|
"nct6687" # d disappears in actual module name
|
|
] else [
|
|
# Laptop modules
|
|
]);
|
|
|
|
# CRU screen overclocking
|
|
hardware.firmware = lib.mkIf (!isLaptop) [
|
|
(pkgs.runCommandLocal "PHL-edid-77hz" {} ''
|
|
mkdir -p $out/lib/firmware/edid
|
|
cp ${/disk2/Bunker/CRU/PHL_243V5_OC_77MHZ.bin} $out/lib/firmware/edid/PHL_243V5_OC_77MHZ.bin
|
|
'')
|
|
];
|
|
|
|
boot.kernelParams = lib.mkIf (!isLaptop) [
|
|
"drm.edid_firmware=HDMI-A-4:edid/PHL_243V5_OC_77MHZ.bin"
|
|
];
|
|
|
|
programs.coolercontrol.enable = !isLaptop;
|
|
|
|
boot.loader.limine.extraEntries = lib.mkIf (!isLaptop) ''
|
|
/Windows
|
|
protocol: efi
|
|
path: uuid(F19E62C8-6ED1-4482-976A-6CCF5F561FDD):/EFI/Microsoft/Boot/bootmgfw.efi
|
|
'';
|
|
|
|
powerManagement.cpuFreqGovernor = if !isLaptop then "performance" else "schedutil";
|
|
|
|
services.auto-cpufreq = {
|
|
enable = isLaptop;
|
|
settings = {
|
|
charger.turbo = "auto";
|
|
battery.turbo = "never";
|
|
};
|
|
};
|
|
|
|
fileSystems."/".options = [ "noatime" "discard" ];
|
|
# Note: for f2fs, create it with "sudo fsck.f2fs -O extra_attr,flexible_inline_xattr,inode_checksum,sb_checksum,compression,lost_found /dev/sdxY"
|
|
/* And add these to mount options in hardware-configuration.nix
|
|
options = [
|
|
"compress_algorithm=lzo-rle"
|
|
"compress_extension=*"
|
|
#"nocompress_extension=avif,bmp,gif,heic,heif,ico,jpe,jpeg,jpg,png,svg,tif,tiff,webp,3gp,avi,flv,m4v,mkv,mov,mp4,mpeg,mpg,webm,wmv,aac,flac,m4a,mid,midi,mp3,ogg,opus,wav,wma,7z,bz2,gz,rar,tar,tgz,xz,zip,zst,docx,odt,odp,ods,pptx,xlsx,pdf,db,gpg,key,p12,pem,sqlite,sqlite3,enc,aab,apk,appimage,bin,deb,dll,elf,exe,jar,so,rpm,img,iso,qcow2,vdi,vhd,vmdk,otf,ttf,class,dump,log,swp,tmp,bak,cache,part,old,new,core"
|
|
"compress_chksum"
|
|
"atgc"
|
|
"gc_merge"
|
|
"checkpoint=enable"
|
|
"checkpoint_merge"
|
|
"fsync_mode=posix"
|
|
"nat_bits"
|
|
];
|
|
*/
|
|
|
|
networking.hostName = if !isLaptop then "lizard" else "lizard-portable";
|
|
}
|