Nix flake reference
The install pages show the commands. This page lists what they refer to.
Outputs
Section titled “Outputs”Packages (packages. on x86_64-linux):
| Name | Gives you | Pick it when |
|---|---|---|
scoot |
the compositor plus the scoot msg client ($out/bin carries only scoot); GPU and CPU renderers in one binary, picked at run time, with the xwayland feature compiled in and Xwayland on PATH (Linux only) |
the default everywhere; VM, container, nested-only, real hardware, X11 apps too |
scoot-look |
the look format tool: validates a look and renders a catalog entry at build time (no compositor in its closure, Linux and macOS alike) | programs. without the flake’s wrappers, or a plain build-time render |
scootbg |
the wallpaper daemon (Linux only) | [wallpaper] without the desktop profile |
scootbar |
the status bar, no font in its closure (Linux only) | the bar with your own fonts |
scootbar-demo |
the bar with a bundled font as its default | trying the bar on a box with no fonts |
default |
scoot on every system (client-only on macOS) |
nix run without choosing |
The CPU-only minimal build is cargo-only
(cargo build --no-default-features: no GBM code, no libgbm, no X11
code); there is no published minimal Nix package.
Apps (nix run mirrors three of them: default, scootbar and
scootbar-demo; there is no scootbg or docs-site app):
nix run github:scoot-sh/scoot -- --nested -- footnix run github:scoot-sh/scoot -- msg windowsnix run github:scoot-sh/scoot#scootbar-demo -- daemon --right clockModules: nixosModules and homeModules both ship default,
scoot and scootbar. The desktop profile’s NixOS half is
nixosModules. (programs., including desktop); its
user half is homeModules. plus homeModules. for the
bar.
The overlay
Section titled “The overlay”overlays. adds pkgs. and pkgs. and, on
Linux, pkgs. and pkgs.:
nixpkgs.overlays = [ inputs.scoot.overlays.default ];They are the flake’s own builds, the same derivations as
packages., not rebuilt against your nixpkgs, so nothing is
built twice. With the overlay applied, the modules’ package and
wallpaper. default to these, so the pure modules work without
the flake’s wrappers. On macOS the overlay adds
the client-only scoot and no scootbg or scootbar. It never adds
scootbar-demo: a demo to run, not a package to build on.
Keep the flake’s inputs following your nixpkgs, or the modules build against a second nixpkgs:
home-manager.inputs.nixpkgs.follows = "nixpkgs";Without the follows, the first rebuild compiles a duplicate
dependency tree.
macOS: client only
Section titled “macOS: client only”On macOS, scoot is client-only: scoot msg drives a compositor
running on Linux. The home-manager module manages the config file on
any system (on macOS it also installs the client-only scoot, and the
config you edit there deploys to a Linux box), while the NixOS module’s
session entry only means anything on NixOS. scoot-look builds on
macOS beside the client (it renders the catalog the Linux box
installs). scootbg and scootbar are Linux-only: no macOS package,
and on macOS a [wallpaper] section renders as written and installs
nothing.
Symptoms
Section titled “Symptoms”Symptom: rebuild fails with
not of type 'TOML value'namingprograms.. A value inscoot. settings settingshas no TOML representation (a Nix function). The option type-check fails at evaluation time, before anything builds. A value with the wrong scoot type (a string forlayout.) still builds. scoot refuses it at session start. The loader fails safe — see Failure semantics.gap
