No description
Find a file
Daniel Thwaites 20117a58eb
ci: run all builds in a single job (#1069)
This works around GitHub's limit on the number of matrix jobs (fixes
#947), by running all builds in a single job. To maintain some speed, we
use `nix-fast-build`, which uses multiple cores for evaluation, and skips
any builds for which the final derivation is already in a binary cache.

Although this makes the run for an individual pull request slower, the
amount of duplicated work is greatly reduced: previously, we often had
100 machines building the same derivation in parallel. This means that
more runners are available should there be multiple pull requests opened
in a short space of time, so there is less queuing. It's also more
energy efficient.

A potential downside is that the logs are all merged together, so it can
be hard to find what failed when lots of outputs were built.
`nix-fast-build` does report a list of failed attributes at the end of
the log, but this is currently broken:
https://github.com/Mic92/nix-fast-build/pull/98

The script used to launch `nix-fast-build` is also added to the
developer shell for local use. This replaces the old `nix-flake-check`
package (closes #898).

I also saw the opportunity to enable checks on `aarch64-linux` and
`aarch64-darwin` - as these are available as GitHub hosted runners.
2025-03-30 12:26:07 +01:00
.github ci: run all builds in a single job (#1069) 2025-03-30 12:26:07 +01:00
docs ci: run all builds in a single job (#1069) 2025-03-30 12:26:07 +01:00
modules mpv: init mpvScripts.modernz (#1067) 2025-03-29 11:21:44 -07:00
palette-generator treewide: add and apply nixfmt pre-commit hook 2025-01-04 17:48:26 +01:00
stylix stylix: add copyright notice to check-maintainers-sorted.nix (#1065) 2025-03-27 11:46:11 +00:00
.editorconfig stylix: add editorconfig (#945) 2025-03-07 20:55:29 +01:00
.envrc treewide: leverage direnv to automatically enter developer shell 2025-01-04 17:45:52 +01:00
.gitignore stylix: integrate pre-commit hooks into developer shell 2025-01-04 17:45:52 +01:00
default.nix stylix: update and simplify flake-compat instructions (#816) 2025-02-03 20:40:26 +01:00
flake.lock stylix: update all flake inputs (#981) 2025-03-11 15:29:02 +01:00
flake.nix ci: run all builds in a single job (#1069) 2025-03-30 12:26:07 +01:00
gnome.png doc: refresh screenshots (#382) 2024-05-22 16:54:19 +01:00
kde.png doc: refresh screenshots (#382) 2024-05-22 16:54:19 +01:00
LICENSE doc: update copyright year (#715) 2025-01-04 14:33:14 +00:00
README.md doc: fix testbed names (#1013) 2025-03-17 18:01:50 +00:00

Stylix

About

Stylix is a theming framework for NixOS, Home Manager, nix-darwin, and Nix-on-Droid that applies color schemes, wallpapers, and fonts to a wide range of applications.

Unlike color scheme utilities such as base16.nix or nix-colors, Stylix goes further by applying themes to supported applications, following the "it just works" philosophy.

Resources

Example configurations

GNOME 46

GNOME 46

Wallpapers by Clay Banks and Derrick Cooper.

Try a live demo of this dark theme by running:

nix run github:danth/stylix#testbed:gnome:default:dark:image:scheme:cursor

KDE Plasma 5

KDE Plasma 5

Wallpapers by Aniket Deole and Tom Gainor.

Since KDE theming is still a work in progress, some manual steps may be required to properly apply its theme.