Files
lhns--steam-frame-nix/flake.nix
T
Pierre Kisters 24d6504f30 Add steam-ui-patches (generic Steam UI runtime patches) and launcher-menu
steamFrame.uiPatches.patches registers JS patches that the
steam-ui-patches user service keeps injected into Steam's (or SteamVR's)
web UI over the local CEF DevTools ports and reverts when it stops.

steamFrame.launcherMenu uses it for the VR "+" menu: sort = true sorts
the programs by name; pinDesktop = "top" / "bottom" pins Desktop above or
below the scrolling list.
2026-09-27 19:36:12 +02:00

44 lines
1.5 KiB
Nix

{
description = "Home Manager modules for the Valve Steam Frame (SteamOS, aarch64-linux)";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
clipboard-sync-src = {
url = "github:dnut/clipboard-sync";
flake = false; # just the source; its flake outputs are x86-only
};
};
outputs = { self, nixpkgs, clipboard-sync-src }:
let
modules = {
session = ./modules/session.nix;
portal = ./modules/portal.nix;
keyboard-layout = ./modules/keyboard-layout.nix;
steam-keyboard-patch = ./modules/steam-keyboard-patch.nix;
hidden-apps = ./modules/hidden-apps.nix;
steam-ui-patches = ./modules/steam-ui-patches.nix;
launcher-menu = ./modules/launcher-menu.nix;
# Built with the consumer's pkgs; only the source comes from our input.
# The key lets the module system deduplicate it when it is imported both
# directly and through `default`.
clipboard-sync = {
key = "steam-frame-nix/clipboard-sync";
_file = ./modules/clipboard-sync.nix;
imports = [ (import ./modules/clipboard-sync.nix { inherit clipboard-sync-src; }) ];
};
firefox = ./modules/firefox.nix;
};
in {
homeManagerModules = modules // {
default = { imports = builtins.attrValues modules; };
};
# nix flake init -t github:lhns/steam-frame-nix
templates.default = {
path = ./template;
description = "Standalone Home Manager configuration for SteamOS using steam-frame-nix";
};
};
}