mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 04:58:01 +00:00
61 lines
3.1 KiB
Plaintext
61 lines
3.1 KiB
Plaintext
= Bahaghari
|
|
:toc:
|
|
|
|
|
|
Bahaghari (Tagalog word for "rainbow") is a specialized set of Nix modules for generating and applying themes.
|
|
Mainly useful for making your ricing process with NixOS and home-manager environments easier.
|
|
This module set should allow for some flexibility for your use case.
|
|
|
|
At its current state, Bahaghari is considered unstable and might have breaking changes more than what you'd expect.
|
|
|
|
|
|
== Module sets
|
|
|
|
As a whole, Bahaghari is more like a set of sets, a metaset, if you will.
|
|
Specifically, it is composed of module sets of which has different ways to use them.
|
|
Here is the exhaustive list of them and its details.
|
|
|
|
=== Tinted Theming
|
|
|
|
Bahaghari has a module set for interacting with Tinted Theming standard schemes and templates.
|
|
To use it, simply import it and you're pretty much set.
|
|
|
|
// TODO: Nix code importing here
|
|
|
|
Optionally, you can also import Bahaghari's library set for Tinted Theming.
|
|
Like most of the library components from Bahaghari, it requires both the `pkgs` and `lib` attribute found from the standard nixpkgs module system.
|
|
|
|
// TODO: Nix code importing BahagharLib for TT. Also code samples for it.
|
|
|
|
This module is designed to closely follow Tinted Theming's standard while offering some convenience with the library set.
|
|
For example, you can use `importYAML` from Bahaghari's standard library set to easily import standard Base16 schemes into Nix-representable data which you can press onto your Nix configuration.
|
|
|
|
// TODO: GNOME HIG module set
|
|
// TODO: Material You module set
|
|
|
|
=== Templated configuration sub-modules
|
|
|
|
Bahaghari offers a pre-configured version of already existing modules for NixOS, home-manager, and NixVim quite similar to Stylix's `stylix.targets.<name>` submodules.
|
|
To make use of this, you'll have to import Bahaghari module set's
|
|
|
|
// TODO: Pictures and sample configurations
|
|
|
|
|
|
== Comparison with other modules
|
|
|
|
=== nix-colors
|
|
|
|
Bahaghari initially started as a derivative to nix-colors as a single Nix module entirely dedicated for Tinted Theming standard.
|
|
It was created to address its limitation of allowing only one colorscheme at a time which limits a lot of possible applications.
|
|
Most notably, the feature I'm looking for is generating multiple colorscheme templates for different applications which is nice for hybrid deployments of home-manager-plus-mutable-configurations (AKA traditional dotfiles).
|
|
|
|
While Bahaghari eventually diverged from nix-colors entirely, it can be used as an alternative specifically with Bahaghari's Tinted Theming module set.
|
|
You can replicate nix-colors' preference of allowing a default set of colorscheme
|
|
|
|
== Stylix
|
|
|
|
While Bahaghari can be used similarly to Stylix, it isn't completely 1-to-1 to Stylix as it focuses on the holistic side of customization including for fonts and wallpaper.
|
|
On the other hand, Bahaghari completely focuses on colorscheme generation. footnote:[While Bahaghari as a project can also focus beyond colorschemes similar to Stylix, it isn't a part of the vision for now. Who knows, it might be. ;)]
|
|
|
|
Bahaghari also took some cues from Stylix specifically from its Stylix targets which became the pre-templated configurations submodules for each of the module set.
|