156 lines
4.0 KiB
Nix
156 lines
4.0 KiB
Nix
{ 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" ];
|
||
|
||
|
||
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 ~90–95 DPI like your 24–25" 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. It‘s 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?
|
||
} |