feishin: init - #2426
Conversation
|
also, the nixpkgs version shipped with the repo is too old to test with the testbeds without pinning it to a newer version because I added support for theming from files in the latest release of Feishin only. |
398d23d to
52a0d78
Compare
| value.text = themeJson; | ||
| } | ||
| { | ||
| name = "${dir}/Themes/stylix.css"; | ||
| value.text = themeCss; |
There was a problem hiding this comment.
I would prefer to inline themeCss and themeJson
| mode = if polarity == "light" then "light" else "dark"; | ||
|
|
||
| themeJson = builtins.toJSON { | ||
| extends = if mode == "light" then "ayuLight" else "tokyoNight"; |
There was a problem hiding this comment.
this seems like a really weird way to handle this, but I guess we have to work with what upstream gives us.
| inherit mode; | ||
|
|
||
| colors = { | ||
| background = withHashtag.base00; |
There was a problem hiding this comment.
using with colors.withHashtag here would be prefered
| options = { | ||
| dev.enable = lib.mkEnableOption "installing the theme for the Feishin development build (`~/.config/feishin-dev`) in addition to the stable build"; |
There was a problem hiding this comment.
| options = { | |
| dev.enable = lib.mkEnableOption "installing the theme for the Feishin development build (`~/.config/feishin-dev`) in addition to the stable build"; | |
| options.dev.enable = lib.mkEnableOption "installing the theme for the Feishin development build (`~/.config/feishin-dev`) in addition to the stable build"; |
| options = { | ||
| dev.enable = lib.mkEnableOption "installing the theme for the Feishin development build (`~/.config/feishin-dev`) in addition to the stable build"; |
There was a problem hiding this comment.
Why should this not be enabled by default?
| mode = if polarity == "light" then "light" else "dark"; | ||
|
|
||
| themeJson = builtins.toJSON { | ||
| extends = if mode == "light" then "ayuLight" else "tokyoNight"; |
There was a problem hiding this comment.
Does this use builtin themes as baseline that may be incompatible with the Stylix theme? Why not declare the entire theme in colors or use a workaround like in #2398 (comment)?
| mode = if polarity == "light" then "light" else "dark"; | ||
|
|
||
| themeJson = builtins.toJSON { | ||
| extends = if mode == "light" then "ayuLight" else "tokyoNight"; |
There was a problem hiding this comment.
What about the following to align with #2347:
| extends = if mode == "light" then "ayuLight" else "tokyoNight"; | |
| extends = if mode == "dark" then "tokyoNight" else "ayuLight"; |
| let | ||
| inherit (colors) withHashtag; | ||
|
|
||
| mode = if polarity == "light" then "light" else "dark"; |
There was a problem hiding this comment.
What about the following to align with #2347:
| mode = if polarity == "light" then "light" else "dark"; | |
| mode = if polarity == "dark" then "dark" else "light"; |
| { | ||
| colors, | ||
| cfg, | ||
| polarity, |
There was a problem hiding this comment.
This should move into its own { polarity } config.
| colors, | ||
| cfg, |
There was a problem hiding this comment.
The following is currently more common in Stylix:
| colors, | |
| cfg, | |
| cfg, | |
| colors, |
| }; | ||
|
|
||
| app = { | ||
| overlay-header = "linear-gradient(transparent 0%, ${withHashtag.base00}D9 100%), var(--theme-background-noise)"; |
There was a problem hiding this comment.
Does this transparency relate to the opacity option?
| overlay-header = "linear-gradient(transparent 0%, ${withHashtag.base00}D9 100%), var(--theme-background-noise)"; | ||
| overlay-subheader = "linear-gradient(180deg, ${withHashtag.base00}0D 0%, var(--theme-colors-background) 100%), var(--theme-background-noise)"; | ||
| scrollbar-handle-background = "${withHashtag.base0D}33"; | ||
| scrollbar-handle-hover-background = "${withHashtag.base0D}66"; |
There was a problem hiding this comment.
Why the D9, 0D, 33, and 66 magic numbers?
Adds support for Feishin (music player). It drops theme files into a specific dir. Users can then load the theme files themselves from the application