feat(nix): add HALO system configuration and user setup
- Added system configuration for the HALO machine, including hardware, sound, and remapping settings. - Configured user-specific settings like session paths, favorite apps, and terminal customization. - Introduced zram swap, SSD TRIM, and PipeWire priority tuning for performance optimization.
This commit is contained in:
parent
536ad5a47a
commit
52e1276115
6 changed files with 326 additions and 0 deletions
123
systems/x86_64-linux/halo/default.nix
Normal file
123
systems/x86_64-linux/halo/default.nix
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.metacfg;
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./xremap.nix
|
||||
];
|
||||
|
||||
powerManagement.cpuFreqGovernor = "performance";
|
||||
|
||||
services.openssh = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.tailscale.enable = true;
|
||||
services.resolved.enable = true;
|
||||
|
||||
metacfg = {
|
||||
hardware.wooting.enable = true;
|
||||
base.enable = true;
|
||||
gui.enable = true;
|
||||
nix-ld.enable = true;
|
||||
nix.enable = true;
|
||||
podman.enable = true;
|
||||
secureboot.enable = true;
|
||||
homeprinter.enable = true;
|
||||
build.enable = true;
|
||||
|
||||
system = {
|
||||
limits = {
|
||||
enable = true;
|
||||
nofileLimit = 32768;
|
||||
memlockLimit = 32768;
|
||||
};
|
||||
};
|
||||
|
||||
# User configuration
|
||||
tools = {
|
||||
direnv.enable = true;
|
||||
};
|
||||
user.extraGroups = [
|
||||
"docker"
|
||||
"dialout"
|
||||
"tss"
|
||||
];
|
||||
system.kernelTweaks.enable = true;
|
||||
};
|
||||
|
||||
system.autoUpgrade = {
|
||||
enable = true;
|
||||
operation = "boot";
|
||||
allowReboot = false;
|
||||
};
|
||||
|
||||
nixpkgs.config.permittedInsecurePackages = [
|
||||
"electron-27.3.11"
|
||||
];
|
||||
|
||||
# Additional kernel tuning beyond the module defaults
|
||||
boot.kernel.sysctl = {
|
||||
# Reduce swap usage (you have zram)
|
||||
"vm.swappiness" = 10;
|
||||
# Prefer keeping directory/inode caches
|
||||
"vm.vfs_cache_pressure" = 50;
|
||||
# Faster dirty page writeback
|
||||
"vm.dirty_ratio" = 10;
|
||||
"vm.dirty_background_ratio" = 5;
|
||||
};
|
||||
|
||||
# SSD TRIM support
|
||||
services.fstrim = {
|
||||
enable = true;
|
||||
interval = "weekly";
|
||||
};
|
||||
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
attic-client
|
||||
azure-cli
|
||||
claude-code
|
||||
claude-desktop-with-fhs
|
||||
desktop-file-utils
|
||||
gnome-terminal
|
||||
gnome-remote-desktop
|
||||
gtypist
|
||||
k9s
|
||||
klavaro
|
||||
kubectl
|
||||
kubectx
|
||||
logseq
|
||||
nvtopPackages.amd
|
||||
obsidian
|
||||
piper-tts
|
||||
tipp10
|
||||
uv
|
||||
vscode
|
||||
cider-2
|
||||
];
|
||||
|
||||
# zram swap with zstd compression for better performance
|
||||
zramSwap = {
|
||||
algorithm = "zstd";
|
||||
memoryPercent = 50;
|
||||
};
|
||||
|
||||
services.ratbagd.enable = true;
|
||||
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker.enable = true;
|
||||
podman.dockerCompat = false;
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue