stable?
This commit is contained in:
@@ -12,9 +12,11 @@
|
||||
# --- BOOTLOADER ---
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelParams = [ "usbcore.autosuspend=-1" ];
|
||||
|
||||
networking.hostName = "caesium";
|
||||
networking.networkmanager.enable = true;
|
||||
networking.interfaces.enp13s0.wakeOnLan.enable = true;
|
||||
|
||||
# --- STORAGE & SSD OPTIMIZATION ---
|
||||
# Enable TRIM for SSD longevity
|
||||
@@ -23,6 +25,8 @@
|
||||
nix.settings.auto-optimise-store = true;
|
||||
|
||||
# --- SWAP STRATEGY ---
|
||||
systemd.targets.hibernate.enable = false;
|
||||
systemd.targets.hybrid-sleep.enable = false;
|
||||
# Primary Swap: Compressed RAM (Fastest)
|
||||
zramSwap.enable = true;
|
||||
zramSwap.memoryPercent = 25;
|
||||
@@ -37,6 +41,7 @@
|
||||
users.groups.storage = {};
|
||||
users.users.mbessette = {
|
||||
isNormalUser = true;
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" "networkmanager" "storage" "docker" ];
|
||||
};
|
||||
|
||||
@@ -45,37 +50,69 @@
|
||||
# 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" = {
|
||||
fileSystems."/mnt/bottles" = {
|
||||
device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92"; # Use the same Alpha UUID
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@bottles" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/steam-games" = {
|
||||
device = "/dev/disk/by-uuid/9523b80b-8a1f-4784-9750-9b8fadf91b92";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@steam" "compress=zstd" "noatime" ];
|
||||
};
|
||||
|
||||
fileSystems."/mnt/Projects" = {
|
||||
device = "/dev/disk/by-uuid/bd31dc44-4bc0-4080-95c7-faee9ebc2b79";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
# --- 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 -"
|
||||
"d /mnt 0775 mbessette storage -"
|
||||
"d /mnt/steam-games 0775 mbessette storage -"
|
||||
"d /mnt/bottles 0775 mbessette storage -"
|
||||
"d /mnt/Projects 0775 mbessette storage -"
|
||||
"d /mnt/Projects/.docker-data 0770 root root -"
|
||||
];
|
||||
|
||||
# --- VIRTUALIZATION ---
|
||||
virtualisation.docker.enable = true;
|
||||
virtualisation.docker.daemon.settings = {
|
||||
data-root = "/usr/local/docker-data";
|
||||
data-root = "/mnt/Projects/.docker-data";
|
||||
};
|
||||
|
||||
# --- AUDIO ---
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
|
||||
# Use pulse.rules to target specific apps or set global pulse defaults
|
||||
extraConfig.pipewire-pulse."92-discord-fix" = {
|
||||
"pulse.rules" = [
|
||||
{
|
||||
matches = [ { "application.name" = "~Discord*"; } ];
|
||||
actions = {
|
||||
update-props = {
|
||||
"pulse.min.req" = "1024/48000";
|
||||
"pulse.default.req" = "1024/48000";
|
||||
"pulse.max.req" = "2048/48000";
|
||||
"pulse.min.quantum" = "1024/48000";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# --- OS ---
|
||||
# This stays 'true' to enable the graphical pipeline
|
||||
services.xserver.enable = true;
|
||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# SDDM is the login manager; Plasma 6 is the desktop
|
||||
services.displayManager.sddm.enable = true;
|
||||
@@ -84,6 +121,18 @@
|
||||
# Tell SDDM to use Wayland for the login screen itself (Ultra Modern)
|
||||
services.displayManager.sddm.wayland.enable = true;
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
mplus-outline-fonts.githubRelease
|
||||
dina-font
|
||||
proggyfonts
|
||||
];
|
||||
|
||||
# Ensure hardware acceleration is ready for Wayland
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
@@ -91,16 +140,57 @@
|
||||
};
|
||||
|
||||
# --- PROGRAMS ---
|
||||
programs.steam.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
extraPackages = with pkgs; [
|
||||
gperftools
|
||||
];
|
||||
package = pkgs.steam.override {
|
||||
extraBwrapArgs = [
|
||||
"--bind /mnt/steam-games /mnt/steam-games"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs._1password-gui = {
|
||||
enable = true;
|
||||
polkitPolicyOwners = [ "mbessette" ];
|
||||
};
|
||||
|
||||
# Biome config
|
||||
environment.etc."biome.json".source = ./config.biome.json;
|
||||
environment.etc."oxlintrc.json".source = ./config.oxlintrc.json;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
ethtool
|
||||
vim
|
||||
git
|
||||
wget
|
||||
curl
|
||||
bottles
|
||||
_1password-gui
|
||||
firefox
|
||||
discord
|
||||
wowup-cf
|
||||
spotify
|
||||
faugus-launcher
|
||||
];
|
||||
|
||||
services.flatpak.packages = [
|
||||
# "io.github.Faugus.faugus-launcher"
|
||||
];
|
||||
|
||||
services.flatpak.overrides = {
|
||||
# "io.github.Faugus.faugus-launcher".Context.filesystems = [
|
||||
# "/mtn/bottles"
|
||||
# ];
|
||||
};
|
||||
|
||||
programs.appimage = {
|
||||
enable = true;
|
||||
binfmt = true;
|
||||
};
|
||||
|
||||
# --- SYSTEM VERSION ---
|
||||
system.stateVersion = "24.11"; # Or current stable version
|
||||
}
|
||||
Reference in New Issue
Block a user