{firefox,floorp,librewolf}: add profile warning (#963)
Add warning for Firefox derivations without declared profiles, aligning with
commit 4853879264 ("vscode: support arbitrary profiles (#914)").
Link: https://github.com/danth/stylix/pull/963
Reviewed-by: NAHO <90870942+trueNAHO@users.noreply.github.com>
This commit is contained in:
parent
9388f64ebe
commit
6b5afdbb3e
1 changed files with 91 additions and 80 deletions
|
|
@ -75,89 +75,100 @@ in
|
|||
|
||||
# This and the below assignment aren't merged because of
|
||||
# https://discourse.nixos.org/t/infinite-recursion-in-module-with-mkmerge/10989
|
||||
config.programs = eachTarget (
|
||||
{ target, cfg, ... }:
|
||||
eachConfig (profileName: {
|
||||
${target.path}.profiles.${profileName} = lib.mkMerge [
|
||||
{
|
||||
settings = {
|
||||
"font.name.monospace.x-western" = config.stylix.fonts.monospace.name;
|
||||
"font.name.sans-serif.x-western" = config.stylix.fonts.sansSerif.name;
|
||||
"font.name.serif.x-western" = config.stylix.fonts.serif.name;
|
||||
};
|
||||
}
|
||||
(lib.mkIf cfg.firefoxGnomeTheme.enable {
|
||||
settings = {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
};
|
||||
config = {
|
||||
programs = eachTarget (
|
||||
{ target, cfg, ... }:
|
||||
eachConfig (profileName: {
|
||||
${target.path}.profiles.${profileName} = lib.mkMerge [
|
||||
{
|
||||
settings = {
|
||||
"font.name.monospace.x-western" = config.stylix.fonts.monospace.name;
|
||||
"font.name.sans-serif.x-western" = config.stylix.fonts.sansSerif.name;
|
||||
"font.name.serif.x-western" = config.stylix.fonts.serif.name;
|
||||
};
|
||||
}
|
||||
(lib.mkIf cfg.firefoxGnomeTheme.enable {
|
||||
settings = {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"svg.context-properties.content.enabled" = true;
|
||||
};
|
||||
|
||||
userChrome =
|
||||
let
|
||||
template = config.lib.stylix.colors {
|
||||
template = ./userChrome.css.mustache;
|
||||
extension = "css";
|
||||
};
|
||||
in
|
||||
''
|
||||
@import "${firefox-gnome-theme}/userChrome.css";
|
||||
@import "${template}";
|
||||
userChrome =
|
||||
let
|
||||
template = config.lib.stylix.colors {
|
||||
template = ./userChrome.css.mustache;
|
||||
extension = "css";
|
||||
};
|
||||
in
|
||||
''
|
||||
@import "${firefox-gnome-theme}/userChrome.css";
|
||||
@import "${template}";
|
||||
'';
|
||||
|
||||
userContent = ''
|
||||
@import "${firefox-gnome-theme}/userContent.css";
|
||||
'';
|
||||
|
||||
userContent = ''
|
||||
@import "${firefox-gnome-theme}/userContent.css";
|
||||
'';
|
||||
})
|
||||
(lib.mkIf cfg.colorTheme.enable {
|
||||
extensions = {
|
||||
packages = [ nur.repos.rycee.firefox-addons.firefox-color ];
|
||||
settings."FirefoxColor@mozilla.com".settings = {
|
||||
firstRunDone = true;
|
||||
theme = {
|
||||
title = "Stylix ${config.lib.stylix.colors.description}";
|
||||
images.additional_backgrounds = [ "./bg-000.svg" ];
|
||||
colors = {
|
||||
toolbar = mkColor "base00";
|
||||
toolbar_text = mkColor "base05";
|
||||
frame = mkColor "base01";
|
||||
tab_background_text = mkColor "base05";
|
||||
toolbar_field = mkColor "base02";
|
||||
toolbar_field_text = mkColor "base05";
|
||||
tab_line = mkColor "base0D";
|
||||
popup = mkColor "base00";
|
||||
popup_text = mkColor "base05";
|
||||
button_background_active = mkColor "base04";
|
||||
frame_inactive = mkColor "base00";
|
||||
icons_attention = mkColor "base0D";
|
||||
icons = mkColor "base05";
|
||||
ntp_background = mkColor "base00";
|
||||
ntp_text = mkColor "base05";
|
||||
popup_border = mkColor "base0D";
|
||||
popup_highlight_text = mkColor "base05";
|
||||
popup_highlight = mkColor "base04";
|
||||
sidebar_border = mkColor "base0D";
|
||||
sidebar_highlight_text = mkColor "base05";
|
||||
sidebar_highlight = mkColor "base0D";
|
||||
sidebar_text = mkColor "base05";
|
||||
sidebar = mkColor "base00";
|
||||
tab_background_separator = mkColor "base0D";
|
||||
tab_loading = mkColor "base05";
|
||||
tab_selected = mkColor "base00";
|
||||
tab_text = mkColor "base05";
|
||||
toolbar_bottom_separator = mkColor "base00";
|
||||
toolbar_field_border_focus = mkColor "base0D";
|
||||
toolbar_field_border = mkColor "base00";
|
||||
toolbar_field_focus = mkColor "base00";
|
||||
toolbar_field_highlight_text = mkColor "base00";
|
||||
toolbar_field_highlight = mkColor "base0D";
|
||||
toolbar_field_separator = mkColor "base0D";
|
||||
toolbar_vertical_separator = mkColor "base0D";
|
||||
})
|
||||
(lib.mkIf cfg.colorTheme.enable {
|
||||
extensions = {
|
||||
packages = [ nur.repos.rycee.firefox-addons.firefox-color ];
|
||||
settings."FirefoxColor@mozilla.com".settings = {
|
||||
firstRunDone = true;
|
||||
theme = {
|
||||
title = "Stylix ${config.lib.stylix.colors.description}";
|
||||
images.additional_backgrounds = [ "./bg-000.svg" ];
|
||||
colors = {
|
||||
toolbar = mkColor "base00";
|
||||
toolbar_text = mkColor "base05";
|
||||
frame = mkColor "base01";
|
||||
tab_background_text = mkColor "base05";
|
||||
toolbar_field = mkColor "base02";
|
||||
toolbar_field_text = mkColor "base05";
|
||||
tab_line = mkColor "base0D";
|
||||
popup = mkColor "base00";
|
||||
popup_text = mkColor "base05";
|
||||
button_background_active = mkColor "base04";
|
||||
frame_inactive = mkColor "base00";
|
||||
icons_attention = mkColor "base0D";
|
||||
icons = mkColor "base05";
|
||||
ntp_background = mkColor "base00";
|
||||
ntp_text = mkColor "base05";
|
||||
popup_border = mkColor "base0D";
|
||||
popup_highlight_text = mkColor "base05";
|
||||
popup_highlight = mkColor "base04";
|
||||
sidebar_border = mkColor "base0D";
|
||||
sidebar_highlight_text = mkColor "base05";
|
||||
sidebar_highlight = mkColor "base0D";
|
||||
sidebar_text = mkColor "base05";
|
||||
sidebar = mkColor "base00";
|
||||
tab_background_separator = mkColor "base0D";
|
||||
tab_loading = mkColor "base05";
|
||||
tab_selected = mkColor "base00";
|
||||
tab_text = mkColor "base05";
|
||||
toolbar_bottom_separator = mkColor "base00";
|
||||
toolbar_field_border_focus = mkColor "base0D";
|
||||
toolbar_field_border = mkColor "base00";
|
||||
toolbar_field_focus = mkColor "base00";
|
||||
toolbar_field_highlight_text = mkColor "base00";
|
||||
toolbar_field_highlight = mkColor "base0D";
|
||||
toolbar_field_separator = mkColor "base0D";
|
||||
toolbar_vertical_separator = mkColor "base0D";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
}) cfg.profileNames
|
||||
);
|
||||
})
|
||||
];
|
||||
}) cfg.profileNames
|
||||
);
|
||||
warnings = eachTarget (
|
||||
{ target, ... }:
|
||||
lib.optional
|
||||
(
|
||||
config.programs.${target.path}.enable
|
||||
&& config.stylix.targets.${target.path}.profileNames == [ ]
|
||||
)
|
||||
''stylix: ${target.path}: `config.stylix.targets.${target.path}.profileNames` is not set. Declare profile names with 'config.stylix.targets.${target.path}.profileNames = [ "<PROFILE_NAME>" ];'.''
|
||||
);
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue