Files
nixos-config/hosts/acer.nix
T

166 lines
4.4 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ lib, pkgs, ... }:
rec {
# Identity
networking.hostName = "acer"; # Define your hostname.
networking.hostId = "fc9583ce";
# Hardware
hardware.enableRedistributableFirmware = true;
services.hardware.bolt.enable = true;
hardware.bluetooth.enable = true;
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Limiting number of generations to prevent ESP from filling
# Using Windows' preinstalled ESP which is only 256MB
boot.loader.systemd-boot.configurationLimit = 3;
boot.initrd.compressor = "zstd";
boot.initrd.compressorArgs = [ "-19" "-T16" ];
# Kernel
# boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_18;
boot.zfs.package = pkgs.zfs_unstable;
# Swap
zramSwap = {
enable = true;
memoryPercent = 100;
};
# Storage
fileSystems."/" =
{
device = "acer-ssd/root";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/nix" =
{
device = "acer-ssd/nix";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/var" =
{
device = "acer-ssd/var";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/home" =
{
device = "acer-ssd/home";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/72EF-7CD3";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
# Config modules
lumpiasty = {
pc = true;
enablePlasma = true;
intelCpu = false;
amdCpu = true;
noMitigations = false;
enablePulseaudio = true;
sshd = true;
users.user = true;
# users.drugi = true;
touchPad = {
enable = true;
name = "PIXA3848:01 093A:3848 Touchpad";
vendorId = "2362";
productId = "14408";
disableWhileTyping = false;
scrollSpeed = 0.5;
naturalScroll = false;
pointerSpeed = 0.2;
accelerationProfile = "default";
};
laptop = true;
gaming = true;
enableTailscale = true;
};
virtualisation.vmVariant = {
virtualisation = {
memorySize = 2048;
cores = 2;
};
};
# For dev vm stuff
networking.firewall.trustedInterfaces = [ "br0" ];
# Battery driver
boot.extraModulePackages = [
# Super ugly hack, for some reason it's not included in pkgs.linuxKernel.packages.linux_6_12
# Despite being in overlays, something's not working
(pkgs.linuxPackages.acer-wmi-ext.override {
kernel = boot.kernelPackages.kernel;
})
# (pkgs.callPackage ../pkgs/ms912x/ms912x.nix {
# kernel = boot.kernelPackages.kernel;
# })
];
boot.kernelModules = [ "acer-wmi-ext" ];
# Breaks sleep, not enabling for now
# lumpiasty.acerUndervolt = true;
boot.initrd.kernelModules = [ "amdgpu" "thunderbolt" ];
boot.kernelParams = [
# https://community.frame.work/t/attn-critical-bugs-in-amdgpu-driver-included-with-kernel-6-18-x-6-19-x/79221
"amdgpu.cwsr_enable=0"
# Increase GPU memory limits
"ttm.pages_limit=7864320" # 30GB in pages (30 * 1024 * 1024 * 1024 / 4096)
"ttm.page_pool_size=7864320"
"amdttm.pages_limit=7864320" # Include both for compatibility
"amdttm.page_pool_size=7864320"
];
programs.corectrl.enable = true;
hardware.amdgpu.overdrive.enable = true;
fonts = {
fontconfig = {
enable = true;
# Turn on antialiasing
antialias = true;
# Subpixel rendering tuned for your monitors
subpixel = {
rgba = "rgb"; # standard RGB stripe
lcdfilter = "default"; # or "light" if you want a bit thinner glyphs
};
# Hinting: helps a lot at ~9095 DPI like your 2425" monitors
hinting = {
enable = true;
style = "slight"; # try "full" if you want sharper / more “pixel-snapped”
autohint = false;
};
};
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.05"; # Did you read the comment?
}