121 lines
3.2 KiB
Nix
121 lines
3.2 KiB
Nix
{ lib, pkgs, ... }:
|
||
|
||
{
|
||
# Identity
|
||
networking.hostName = "gaming-pc"; # Define your hostname.
|
||
networking.hostId = "fc9583ce";
|
||
|
||
# Hardware
|
||
hardware.enableRedistributableFirmware = true;
|
||
|
||
# Bootloader.
|
||
boot.loader.systemd-boot = {
|
||
enable = true;
|
||
graceful = true;
|
||
windows = {
|
||
"windows" =
|
||
let
|
||
# To determine the name of the windows boot drive, boot into edk2 first, then run
|
||
# `map -c` to get drive aliases, and try out running `FS1:`, then `ls EFI` to check
|
||
# which alias corresponds to which EFI partition.
|
||
boot-drive = "FS0";
|
||
in
|
||
{
|
||
title = "Windows";
|
||
efiDeviceHandle = boot-drive;
|
||
sortKey = "y_windows";
|
||
};
|
||
};
|
||
edk2-uefi-shell.enable = true;
|
||
edk2-uefi-shell.sortKey = "z_edk2";
|
||
};
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
# Kernel
|
||
# boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||
boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_17;
|
||
|
||
# Swap
|
||
zramSwap = {
|
||
enable = true;
|
||
memoryPercent = 100;
|
||
};
|
||
|
||
# Storage
|
||
fileSystems =
|
||
let
|
||
rootfs = "/dev/disk/by-uuid/c79f016c-b61b-4d99-93fc-fc38978bef0d";
|
||
in {
|
||
"/" =
|
||
{
|
||
device = rootfs;
|
||
fsType = "btrfs";
|
||
options = [ "subvol=/rootfs" "compress-force=zstd" ];
|
||
};
|
||
"/nix" =
|
||
{
|
||
device = rootfs;
|
||
fsType = "btrfs";
|
||
options = [ "subvol=/nix" "compress-force=zstd" "noatime" ];
|
||
};
|
||
"/home" =
|
||
{
|
||
device = rootfs;
|
||
fsType = "btrfs";
|
||
options = [ "subvol=/home" "compress-force=zstd" ];
|
||
};
|
||
|
||
"/boot" =
|
||
{ device = "/dev/disk/by-uuid/2C6B-5A17";
|
||
fsType = "vfat";
|
||
options = [ "fmask=0077" "dmask=0077" ];
|
||
};
|
||
|
||
"/var/games" =
|
||
{
|
||
device = "/dev/disk/by-uuid/d650af28-772a-4b08-a370-4c62ba0dc764"; # Old Gaming Arch partition
|
||
fsType = "btrfs";
|
||
options = [ "subvol=/Games" "compress-force=zstd" ];
|
||
};
|
||
};
|
||
|
||
# Config modules
|
||
lumpiasty = {
|
||
pc = true;
|
||
enablePlasma = true;
|
||
intelCpu = true;
|
||
noMitigations = true;
|
||
enablePulseaudio = true;
|
||
sshd = true;
|
||
users.user = true;
|
||
gaming = true;
|
||
# users.drugi = true;
|
||
};
|
||
|
||
virtualisation.vmVariant = {
|
||
virtualisation = {
|
||
memorySize = 2048;
|
||
cores = 2;
|
||
};
|
||
};
|
||
|
||
nix.settings.system-features = [ "gccarch-haswell" ];
|
||
|
||
# nixpkgs.hostPlatform = {
|
||
# system = "x86_64-linux";
|
||
# gcc.arch = "haswell";
|
||
# gcc.tune = "haswell";
|
||
# };
|
||
|
||
# nixpkgs.overrides = [(self: super: {
|
||
# assimp
|
||
# })];
|
||
|
||
# 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?
|
||
} |