Commit graph

75 commits

Author SHA1 Message Date
awwpotato
581fa67c81
stylix: guard entire overlay declarations (#1088)
Closes: https://github.com/danth/stylix/issues/865
Link: https://github.com/danth/stylix/pull/1088

Tested-by: https://github.com/PedroHLC
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-04-04 16:10:55 +02:00
Daniel Thwaites
aee4df6dc1
doc: add link to CommonMark Spec (#1081) 2025-04-02 07:26:00 -07:00
awwpotato
b45eb49894
docs: add trick about lib.mkAfter (#1055) 2025-03-31 20:09:12 +00:00
awwpotato
eb19696b18
stylix: add overlay module (#1048)
Closes: https://github.com/danth/stylix/issues/865
Link: https://github.com/danth/stylix/pull/1048

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-03-31 17:36:36 +00:00
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
NAHO
daef51e920
doc: format and polish Nix code according to our formatter (#1025)
Link: https://github.com/danth/stylix/pull/1025

Reviewed-by: Daniel Thwaites <danth@danth.me>
2025-03-26 13:58:03 +00:00
Daniel Thwaites
a55488c247
doc: reduce overuse of alerts (#1041)
Using too many "info" and "warning" boxes makes them less effective when
they're needed to draw attention to something genuinely important.

This commit adds important boxes to modules which require an external
module to be imported, similar to the box already used on the "Firefox and
derivatives" page.

It changes the warning when a module has no maintainers to a regular
paragraph.

The note about `stylix.enable` being new is removed, since this has been
around for a while now.
2025-03-23 13:25:15 +00:00
Daniel Thwaites
f537d507c3
doc: add subheading before module metadata (#1042)
This avoids the metadata looking like part of a README subheading.
2025-03-23 13:23:39 +00:00
Daniel Thwaites
64b4369b6b
doc: display module maintainers (#1010)
As promised at
https://github.com/danth/stylix/pull/977#pullrequestreview-2683388232,
this lists the maintainers for each module on its page in the docs.

This includes some fixes to `stylix/meta.nix`: swapped the order of
arguments to `mapAttrs`, and added an `import` to load the meta file
rather than returning its path.
2025-03-20 16:05:36 +00:00
NAHO
421e09fc73
doc: format Nix code in Maintainers section according to our formatter (#1024)
Fixes: e43eb4e2a7 ("stylix: init module maintainers framework (#977)")
2025-03-19 20:29:50 +01:00
NAHO
fa288c0dc6
doc: fix testbed names (#1013) 2025-03-17 18:01:50 +00:00
awwpotato
e43eb4e2a7
stylix: init module maintainers framework (#977)
Initialize module maintainers framework to streamline the future
population of module maintainers [1].

[1]: https://github.com/danth/stylix/issues/275

Link: https://github.com/danth/stylix/pull/977

Reviewed-by: Daniel Thwaites <danth@danth.me>
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-03-14 19:29:51 +01:00
Daniel Thwaites
52b1cc7247
doc: implement custom option list generation (#955)
Implement a custom option list generation with a pkgs.nixosOptionsDoc
variant that evaluates each platform configuration only once.

This resolves [1] ("doc: avoid excessive calls to pkgs.nixosOptionsDoc")
and unblocks [2] ("ci: too many matrix jobs").

With the gained flexibility, option details are now rendered as tables.

[1]: https://github.com/danth/stylix/issues/896
[2]: https://github.com/danth/stylix/issues/947

Closes: https://github.com/danth/stylix/issues/896
Link: https://github.com/danth/stylix/pull/955

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-03-14 19:04:49 +01:00
bricked
e3233ead63
stylix: init droid (#778)
stylix: init nixOnDroidModules.stylix module to support Nix-on-Droid

Closes: https://github.com/danth/stylix/issues/775
Link: https://github.com/danth/stylix/pull/778

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: Daniel Thwaites <danth@danth.me>
2025-03-11 16:10:23 +01:00
NAHO
4891f1471b
stylix: simplify dummy values (#959)
Fixes: c8e4a0d218 ("treewide: optionalize stylix.image option (#717)")
2025-03-07 21:00:49 +00:00
Matt Sturgeon
eab1ecf41f
docs: document configuring Standalone Nixvim 2025-02-26 02:17:36 +00:00
Flameopathic
c8e4a0d218
treewide: optionalize stylix.image option (#717)
Optionalize the stylix.image option when stylix.base16Scheme is set,
making the following Stylix configurations valid:

    [
      // Now it possible to set 'stylix.image = null', if
      // stylix.base16Scheme is set.
      {
        base16Scheme = /* ... */;
      }

      // This configuration was already possible.
      {
        image = /* ... */;
      }

      // This configuration was already possible.
      {
        base16Scheme = /* ... */;
        image = /* ... */;
      }
    ]

Closes: https://github.com/danth/stylix/issues/200
Closes: https://github.com/danth/stylix/issues/442
Link: https://github.com/danth/stylix/pull/717

Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Tested-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
Reviewed-by: Daniel Thwaites <danth@danth.me>
2025-02-24 15:13:57 +01:00
NAHO
f121a142ab
stylix: parametrize and change testbed field separator (#887)
Parametrize and change the testbed field separator to the colon (':')
character to avoid ambiguity with module names containing hyphens ('-'),
and allow testbed names to contain hyphens.

Fixes: 211a8440e7 ("stylix: support multiple testbeds per module (#858)")
2025-02-23 18:17:59 +00:00
Daniel Thwaites
f403ca101e
doc: split modules into separate pages (#873) 2025-02-23 15:50:41 +00:00
Daniel Thwaites
1398fc4dc8
doc: use permalinks for option declarations 2025-02-23 15:20:12 +00:00
NAHO
f4401071ea
doc: add declaration entry 2025-02-23 15:20:12 +00:00
Daniel Thwaites
4c04e0dece
doc: redirect old reference pages to new location 2025-02-23 15:20:12 +00:00
Daniel Thwaites
2b2f260a69
doc: collapse platforms and modules
Collapsing is only possible for pages, not headings, so I had to
combine platforms and modules into a single section and nest them
under draft pages.

Later, we could migrate some content from the configuration page to
these draft pages to make the flow of the book more natural.
2025-02-23 15:20:12 +00:00
Daniel Thwaites
99096ef3e3
doc: clarify global option
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-02-23 15:20:11 +00:00
Daniel Thwaites
13667122ec
doc: standardize Bash code
Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-02-23 15:20:11 +00:00
Daniel Thwaites
472bd50c85
doc: store module documentation as a README within the module
This has two benefits:

1. It will be displayed when browsing the module source code on
   GitHub.
2. It prevents the documentation inadvertently disappearing if the
   module directory is renamed.
2025-02-19 13:45:27 +00:00
Daniel Thwaites
7afc6fb46d
doc: describe how to create module documentation 2025-02-19 13:45:27 +00:00
Daniel Thwaites
aeb550add3
doc: remove site-url setting (#878)
Since the documentation is now hosted at https://stylix.danth.me/ rather
than https://danth.github.io/stylix/, this setting is no longer
necessary.

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-02-18 21:06:11 +01:00
Daniel Thwaites
d6796ff307
doc: fix some alerts not being rendered by substituteInPlace 2025-02-18 14:38:27 +00:00
Daniel Thwaites
de2057a000
doc: disable section numbers
Due to new module pages being added fairly often, the section numbers
won't be stable, so they provide little benefit.
2025-02-18 14:38:27 +00:00
Daniel Thwaites
77e58881df
doc: split modules into individual pages 2025-02-18 14:38:27 +00:00
NAHO
211a8440e7
stylix: support multiple testbeds per module (#858)
Support multiple testbeds per module with
/modules/<MODULE>/testbeds/<TESTBED>.nix, while validating various
invariants.
2025-02-17 12:56:46 +00:00
NAHO
7818098f4d
treewide: remove trailing whitespaces and add trailing newline (#841) 2025-02-08 22:20:10 +01:00
Alex Friedman
6103431cd2
doc: Update tricks per tinted-theming schema changes (#792)
The tinted-theming repository has updated its scheme for themes such
that colors are located under the key `palette` [1] and such that each
color is # prefixed [2]. These changes update the documentation to
reflect this new schema.


[1]
4caed9a8f5
[2]
61058a8d2e
2025-01-26 22:28:40 +00:00
NAHO
58b54b664b
doc: elaborate pre-commit hook usage in development environment (#793) 2025-01-25 19:21:13 +00:00
pancho horrillo
fb773084f7
doc: fix two titles not using sentence case (#769)
The style of these two were inconsistent with the rest of the
documentation corpus.

Link: https://github.com/danth/stylix/pull/769

Reviewed-by: Daniel Thwaites <danth@danth.me>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2025-01-12 19:34:45 +01:00
NAHO
ad64260a75
treewide: add and apply nixfmt pre-commit hook
Link: https://github.com/danth/stylix/pull/519
2025-01-04 17:48:26 +01:00
NAHO
5ab7d0345a
treewide: add and apply typos pre-commit hook
Link: https://github.com/danth/stylix/pull/519
2025-01-04 17:45:52 +01:00
NAHO
6ef37ca6aa
treewide: leverage direnv to automatically enter developer shell
Leverage direnv [1] to automatically enter the developer shell upon
entering the project directory after running 'direnv allow'.

[1]: https://direnv.net

Link: https://github.com/danth/stylix/pull/519
2025-01-04 17:45:52 +01:00
NAHO
703f49aaca
treewide: add developer shell
Link: https://github.com/danth/stylix/pull/519
2025-01-04 17:45:52 +01:00
Daniel Thwaites
7c8874b311
doc: remove "below" which was moved to a separate page (#727) 2025-01-04 15:55:13 +00:00
Daniel Thwaites
18fd600cd2
doc: draw attention to release branches (#726)
Using the wrong branch is a very common cause of questions, due to it
not being mentioned anywhere in the documentation.
2025-01-04 15:48:43 +00:00
FirelightFlagboy
a70154ec03
doc: resolve 'magick convert' deprecation warning (#697)
Resolve the following 'magick convert' deprecation warning:

    WARNING: The convert command is deprecated in IMv7, use "magick"
    instead of "convert" or "magick convert"

Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2024-12-25 18:43:53 +01:00
NAHO
dd6605be79
doc: encourage adding testbeds for new modules (#673)
This follows the discussion at
https://github.com/danth/stylix/pull/612#issuecomment-2532155680
2024-12-10 18:14:48 +00:00
NAHO
81148743b9
doc: remove documentation about legacy commit conventions (#672)
Remove legacy documentation about commit message conventions predating
the standardized format introduced in commit bf31640f49 ("doc: specify
commit message format") on 2024-01-23, with the final GitMoji usage in
commit 5a7f3f15cc ("Add guide for creating modules 📝").
2024-12-10 18:12:25 +00:00
Alexey Lebedeff
9b61cc39b2
stylix: don't split autoloaded modules into a separate derivation (#631)
Apparently `../modules` is creating a separate derivation that contains
only that folder, so it's now separate from the flake source. But this
transient derivation isn't mentioned explicitly anywhere in the flake
outputs. It makes it impossible to target those modules in
`disabledModules` directive.

For example, after this change is applied, users can solve issues like
https://github.com/danth/stylix/issues/577 locally, by just adding the
following snippet to their configuration:

    disabledModules = [ "${inputs.stylix}/modules/regreet/nixos.nix" ];

Reviewed-by: Daniel Thwaites <danthwaites30@btinternet.com>
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2024-11-17 17:40:52 +01:00
NAHO
9b5a65b681
doc: extract Commit Convention section (#518) 2024-08-23 20:31:39 +01:00
Gabriel Talbert Bunt
feb2973dfa
doc: specify correct color attribute path (#491)
Colors are accessible under config.lib.stylix.colors, not lib.stylix.colors.

Co-authored-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
2024-07-30 00:21:31 +01:00
Will Bush
6f36b27afd
doc: update tinted-theming repo link (#476)
> The 'base16-schemes' package uses the 'tinted-theming/base16-schemes'
> repository, which has now been archived by the owner in favor of
> 'tinted-theming/schemes'
>
> -- https://github.com/NixOS/nixpkgs/issues/285671
2024-07-20 14:33:22 +02:00
Daniel Thwaites
f060e4059b
stylix: clean up fromOs (#407) 2024-06-11 03:21:04 +02:00