Files
nix-config/systems/x86_64-linux/allyx/default.nix
2026-04-05 19:10:23 -05:00

135 lines
3.1 KiB
Nix

# Snowfall Lib provides a customized `lib` instance with access to your flake's library
{
config,
# as well as the libraries available from your flake's inputs.
lib,
# An instance of `pkgs` with your overlays and packages applied is also available.
pkgs,
# # You also have access to your flake's inputs.
# inputs,
# Additional metadata is provided by Snowfall Lib.
namespace, # The namespace used for your flake, defaulting to "internal" if not set.
# system, # The system architecture for this host (eg. `x86_64-linux`).
# target, # The Snowfall Lib target for this system (eg. `x86_64-iso`).
# format, # A normalized name for the system target (eg. `iso`).
# virtual, # A boolean to determine whether this system is a virtual target using nixos-generators.
# systems, # An attribute map of your defined hosts.
# All other arguments come from the system system.
...
}:
{
imports = [
./boot.nix
];
${namespace} = {
headless.enable = false;
sops.enable = true;
bootloader.lanzaboote.enable = true;
desktop.plasma = {
enable = true;
wallpaper.enable = true;
};
gaming.enable = true;
hardware = {
disko = {
enable = true;
enableLuks = true;
};
amd = {
enable = true;
lact.enable = true;
coolercontrol.enable = true;
};
};
impermanence = {
enable = true;
extraDirectories = [
{
inherit (config.jovian.decky-loader) user;
directory = config.jovian.decky-loader.stateDir;
group = config.jovian.decky-loader.user;
mode = "u=rwx,g=rwx,o=rx";
}
];
};
network = {
hostName = "allyx";
ipv4 = {
method = "auto";
interface = "wlan0";
};
};
services = {
nebula = {
enable = true;
secretsPrefix = "allyx/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/allyx-secrets.yaml";
hostSecretName = "allyx";
};
};
wallpaper.enable = true;
};
services = {
handheld-daemon = {
enable = true;
user = config.${namespace}.user.name;
adjustor = {
enable = true;
loadAcpiCallModule = true;
};
ui = {
enable = true;
};
};
displayManager.gdm.enable = lib.mkForce false;
};
jovian = {
decky-loader = {
enable = true;
user = config.${namespace}.user.name;
extraPackages = with pkgs; [
python3
systemd
];
};
steam = {
enable = true;
autoStart = true;
desktopSession = "plasma";
user = config.${namespace}.user.name;
};
# steamos = {
# useSteamOSConfig
# enableAutoMountUdevRules
# enableBluetoothConfig
# enableDefaultCmdlineConfig
# enableEarlyOOM
# enableHdmiCecIntegration
# enableProductSerialAccess
# enableSysctlConfig
# enableZram
# };
};
systemd = {
services = {
power-profiles-daemon.enable = lib.mkForce false;
inputplumber.enable = lib.mkForce false;
};
};
}