caesium new nixos config
This commit is contained in:
0
caesium.home.nix
Normal file
0
caesium.home.nix
Normal file
70
caesium.nixos.nix
Normal file
70
caesium.nixos.nix
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix # Crucial: Imports your UUIDs
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- BOOTLOADER ---
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
networking.hostName = "caesium";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# --- STORAGE & SSD OPTIMIZATION ---
|
||||||
|
# Enable TRIM for SSD longevity
|
||||||
|
services.fstrim.enable = true;
|
||||||
|
# Hard links duplicate files in the store to save space
|
||||||
|
nix.settings.auto-optimise-store = true;
|
||||||
|
|
||||||
|
# --- SWAP STRATEGY ---
|
||||||
|
# Primary Swap: Compressed RAM (Fastest)
|
||||||
|
zramSwap.enable = true;
|
||||||
|
zramSwap.memoryPercent = 25;
|
||||||
|
|
||||||
|
# Secondary Swap: 16GB File on Alpha (Safety Net)
|
||||||
|
swapDevices = [ {
|
||||||
|
device = "/var/lib/swapfile";
|
||||||
|
size = 16 * 1024; # 16GB
|
||||||
|
} ];
|
||||||
|
|
||||||
|
# --- USER & GROUPS ---
|
||||||
|
users.groups.storage = {};
|
||||||
|
users.users.mbessette = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "networkmanager" "storage" "docker" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- FILE SYSTEMS (Overrides/Additions) ---
|
||||||
|
# Note: The UUIDs stay in hardware-configuration.nix.
|
||||||
|
# We only list them here if we want to add specific options like compression.
|
||||||
|
|
||||||
|
fileSystems."/nix".options = [ "subvol=@nix" "compress=zstd" "noatime" ];
|
||||||
|
fileSystems."/usr/local/bottles" = {
|
||||||
|
device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; # Use the same Alpha UUID
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=@bottles" "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- SYSTEM PERMISSIONS ---
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /usr/local/steam-games 0775 mbessette storage -"
|
||||||
|
"d /usr/local/bottles 0775 mbessette storage -"
|
||||||
|
"d /usr/local/Projects 0775 mbessette storage -"
|
||||||
|
"d /usr/local/docker-data 0770 root root -"
|
||||||
|
];
|
||||||
|
|
||||||
|
# --- VIRTUALIZATION ---
|
||||||
|
virtualisation.docker.enable = true;
|
||||||
|
virtualisation.docker.daemon.settings = {
|
||||||
|
data-root = "/usr/local/docker-data";
|
||||||
|
};
|
||||||
|
|
||||||
|
# --- NETWORKING ---
|
||||||
|
networking.hostName = "nixos-alpha";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# --- SYSTEM VERSION ---
|
||||||
|
system.stateVersion = "24.11"; # Or current stable version
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user