Conversation
sumnerevans
left a comment
There was a problem hiding this comment.
Looks great overall. Just a small comment. Also, this needs an entry in modules/misc/news.nix.
Co-authored-by: Sumner Evans <me@sumnerevans.com>
sumnerevans
left a comment
There was a problem hiding this comment.
sorry, one more thing
Co-authored-by: Sumner Evans <me@sumnerevans.com>
|
Would it be possible/make sense to generate the configuration during the build as opposed to the runtime? The generated configuration would then be part of the config and be reproducible. If so, it could be enabled with an option. |
|
I might be wrong, but don't all home-manager modules work that way? I mean, the derivations are evaluated (thus, the configs are generated) when the system is built? I'm doing it the standard way, i think. Still wrapping my head around it all, so any examples or docs to take a look at would be of great help! |
Oh i get it now. You mean the applications flavours is theming, not flavours itself, right? Yeah, flavours is a little stateful, i think. It does work nicely when you theme a mutable config and import it in your immutable one, for example. I'm actually porting my config to use some of the ideias from #361 right now, but still needs some work before it gets as seamless as flavours. The main one being getting I'm hacking at these right now:
I think i might close this PR and focus on this approach, instead. |
|
Sorry, I forgot to reply. There are multiple modules (neovim, xmonad, etc.) generating additional configuration during the build and linking files to the appropriate place (e.g. setting What I was asking was whether Flavors could generate its configuration files for the different programs while evaluating the HM configuration. The advantage of doing so would be reproducibility (as long as Flavors is reproducible) and caching of the built configuration (the derivation building the config files). |
|
No problems! Everything flavours actually does is writing stuff to files in-place, so i think it won't play nicely with the setups most people using home-manager usually have. Replacing colors at build time with home-manager actually makes flavours obsolete haha. I'm theming stuff with home manager now (here's an example), i think i'll work on getting more apps to support |
|
Side note, Alacritty supports imports: https://github.com/alacritty/alacritty/blob/72675db3826ced63990fdede3dcaf07e76b1dde7/alacritty.yml#L3-L12 |
Description
flavours is a base16 manager. It allows you to instantly theme any supported configuration file (using base16 templates) with more than 180 existing base16 schemes, or even generate these from images.
Please let me know if there's anything missing, i'm still learning about Home Manager and Nix :D
Checklist
Change is backwards compatible.
Code formatted with
./format.Code tested through
nix-shell --pure tests -A run.all.Test cases updated/added. See example.
Commit messages are formatted like
See CONTRIBUTING for more information and recent commit messages for examples.
If this PR adds a new module
Added myself as module maintainer. See example.
Added myself and the module files to
.github/CODEOWNERS.