2025-07-07 15:44:26 +03:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
|
|
|
defaultUser = config.ataraxia.defaults.users.defaultUser;
|
|
|
|
in
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./disk-config.nix
|
|
|
|
# ./hardware-configuration.nix
|
|
|
|
./boot.nix
|
|
|
|
|
|
|
|
inputs.catppuccin.nixosModules.catppuccin
|
|
|
|
];
|
|
|
|
catppuccin.enable = true;
|
|
|
|
catppuccin.accent = "mauve";
|
|
|
|
catppuccin.flavor = "mocha";
|
|
|
|
|
2025-07-08 15:40:31 +03:00
|
|
|
ataraxia.defaults.role = "laptop";
|
2025-07-07 15:44:26 +03:00
|
|
|
ataraxia.defaults.hardware.cpuVendor = "intel";
|
|
|
|
ataraxia.defaults.hardware.gpuVendor = "intel";
|
|
|
|
ataraxia.defaults.bluetooth.enable = true;
|
|
|
|
# Impermanence
|
|
|
|
ataraxia.filesystems.zfs.enable = true;
|
|
|
|
ataraxia.filesystems.zfs.eraseOnBoot.enable = true;
|
|
|
|
ataraxia.filesystems.zfs.eraseOnBoot.snapshots = [
|
2025-07-08 15:41:09 +03:00
|
|
|
"rpool/nixos/root@blank"
|
|
|
|
"rpool/user/home@blank"
|
2025-07-07 15:44:26 +03:00
|
|
|
];
|
|
|
|
ataraxia.filesystems.zfs.mountpoints = [
|
|
|
|
"/etc/secrets"
|
|
|
|
"/media/libvirt"
|
|
|
|
"/nix"
|
|
|
|
"/persist"
|
|
|
|
"/srv"
|
|
|
|
"/var/lib/containers"
|
|
|
|
"/var/lib/docker"
|
|
|
|
"/var/lib/libvirt"
|
|
|
|
"/var/lib/postgresql"
|
|
|
|
"/var/log"
|
|
|
|
];
|
|
|
|
|
2025-07-08 15:41:09 +03:00
|
|
|
ataraxia.networkd.enable = false;
|
|
|
|
ataraxia.networkmanager.enable = true;
|
2025-07-07 15:44:26 +03:00
|
|
|
|
|
|
|
# Home-manager
|
|
|
|
home-manager.users.${defaultUser} = {
|
2025-07-08 15:40:31 +03:00
|
|
|
ataraxia.defaults.role = "laptop";
|
2025-07-07 15:44:26 +03:00
|
|
|
ataraxia.services.modprobed-db.enable = true;
|
|
|
|
ataraxia.theme.catppuccin.enable = true;
|
|
|
|
|
|
|
|
home.packages = with pkgs; [ modprobed-db ];
|
|
|
|
|
|
|
|
persist.state.directories = [ "projects" ];
|
|
|
|
|
|
|
|
home.stateVersion = "25.05";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Services
|
|
|
|
services.postgresql.settings = {
|
|
|
|
full_page_writes = "off";
|
|
|
|
wal_init_zero = "off";
|
|
|
|
wal_recycle = "off";
|
|
|
|
};
|
|
|
|
services.fwupd.enable = true;
|
|
|
|
services.tlp = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
TLP_DEFAULT_MODE = "BAT";
|
|
|
|
TLP_PERSISTENT_DEFAULT = 1;
|
|
|
|
CPU_SCALING_GOVERNOR_ON_AC = "powersave";
|
|
|
|
CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
|
|
|
|
CPU_BOOST_ON_AC = 1;
|
|
|
|
CPU_BOOST_ON_BAT = 0;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
ataraxia.programs.waydroid.enable = true;
|
|
|
|
ataraxia.vpn.sing-box.enable = true;
|
|
|
|
ataraxia.vpn.sing-box.config = "dell-singbox";
|
|
|
|
services.tailscale = {
|
|
|
|
enable = true;
|
|
|
|
useRoutingFeatures = "client";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Mesa from unstable channel
|
|
|
|
hardware.graphics.package = pkgs.mesaUnstable;
|
|
|
|
hardware.graphics.package32 = pkgs.mesaUnstablei686;
|
|
|
|
programs.hyprland.package = pkgs.hyprlandUnstable;
|
|
|
|
programs.hyprland.portalPackage = pkgs.hyprlandPortalUnstable;
|
|
|
|
|
|
|
|
# Auto-mount lan nfs share
|
|
|
|
fileSystems = {
|
|
|
|
"/media/local-nfs" = {
|
|
|
|
device = "10.10.10.11:/";
|
|
|
|
fsType = "nfs4";
|
|
|
|
options = [
|
|
|
|
"nfsvers=4.2"
|
|
|
|
"noauto"
|
|
|
|
"x-systemd.automount"
|
|
|
|
"x-systemd.idle-timeout=1800"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "25.05";
|
|
|
|
}
|