# 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; }; gaming.enable = true; hardware = { disko = { enable = true; enableLuks = true; }; amd = { enable = true; lact.enable = true; coolercontrol.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"; iwd.enable = true; networkmanager.enable = true; }; services = { nebula = { enable = true; secretsPrefix = "allyx/nebula"; secretsFile = lib.snowfall.fs.get-file "secrets/allyx-secrets.yaml"; hostSecretName = "allyx"; }; }; }; 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; }; }; }