# 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; 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"; }; }; 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; }; }; }