Files
nix-config/systems/x86_64-linux/allyx/default.nix
mjallen18 0f2239af05 nebula
2026-03-24 08:59:13 -05:00

142 lines
3.4 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.gnome.enable = true;
gaming.enable = true;
hardware = {
disko = {
enable = true;
enableLuks = true;
};
amd = {
enable = true;
lact.enable = true;
};
};
impermanence = {
enable = true;
extraDirectories = [
{
directory = config.jovian.decky-loader.stateDir;
user = config.jovian.decky-loader.user;
group = config.jovian.decky-loader.user;
mode = "u=rwx,g=rwx,o=rx";
}
];
};
network = {
hostName = "allyx";
networkmanager.enable = true;
};
services = {
nebula = {
enable = true;
port = 4242;
lighthouses = [ "10.1.1.1" ];
staticHostMap = {
"10.1.1.1" = [ "mjallen.dev:4242" ];
};
secretsPrefix = "allyx/nebula";
secretsFile = lib.snowfall.fs.get-file "secrets/allyx-secrets.yaml";
hostSecretName = "allyx";
};
};
};
programs.coolercontrol.enable = true;
environment.variables = {
GDK_SCALE = "1";
EDITOR = "${lib.getExe' pkgs.vscodium "codium"} --wait";
VISUAL = "${lib.getExe' pkgs.vscodium "codium"} --wait";
};
services = {
handheld-daemon = {
enable = true;
user = config.${namespace}.user.name;
adjustor = {
enable = true;
loadAcpiCallModule = true;
};
ui = {
enable = true;
};
};
displayManager.gdm.enable = lib.mkForce false;
displayManager.sddm.wayland.enable = true;
};
jovian = {
decky-loader = {
enable = true;
user = config.${namespace}.user.name;
extraPackages = with pkgs; [
python3
systemd
];
};
steam = {
enable = true;
autoStart = true;
desktopSession = "gnome";
user = config.${namespace}.user.name;
};
# steamos = {
# useSteamOSConfig
# enableAutoMountUdevRules
# enableBluetoothConfig
# enableDefaultCmdlineConfig
# enableEarlyOOM
# enableHdmiCecIntegration
# enableProductSerialAccess
# enableSysctlConfig
# enableZram
# };
};
systemd = {
services = {
systemd-networkd-wait-online.enable = lib.mkForce false;
power-profiles-daemon.enable = lib.mkForce false;
inputplumber.enable = lib.mkForce false;
};
};
networking.networkmanager.wifi.backend = "iwd";
}