diff --git a/hosts/by-name/moby/polyfill.nix b/hosts/by-name/moby/polyfill.nix index c0512976..e2076793 100644 --- a/hosts/by-name/moby/polyfill.nix +++ b/hosts/by-name/moby/polyfill.nix @@ -30,6 +30,8 @@ workspace_layout = "tabbed"; }; + sane.programs.waybar.fontSize = 14; + sane.gui.sxmo = { nogesture = true; settings = { diff --git a/hosts/common/programs/waybar/default.nix b/hosts/common/programs/waybar/default.nix index 8002d4a8..45f0c4c2 100644 --- a/hosts/common/programs/waybar/default.nix +++ b/hosts/common/programs/waybar/default.nix @@ -7,18 +7,20 @@ in configOption = with lib; mkOption { type = types.submodule { options = { - extra_style = mkOption { + extraStyle = mkOption { type = types.lines; - default = '' - /* default font-size is about 14px, which is good for moby, but not quite for larger displays */ - window#waybar { - font-size: 16px; - } - ''; + default = ""; description = '' extra CSS rules to append to ~/.config/waybar/style.css ''; }; + fontSize = mkOption { + type = types.int; + default = 16; + description = '' + default font-size is about 14px, which is good for moby, but not quite for larger displays + ''; + }; top = mkOption { type = types.submodule { # `attrsOf types.anything` (v.s. plain `attrs`) causes merging of the toplevel items. @@ -80,8 +82,10 @@ in (pkgs.formats.json {}).generate "waybar-config.json" [ ({ layer = "top"; } // cfg.config.top) ]; - fs.".config/waybar/style.css".symlink.text = - (builtins.readFile ./waybar-style.css) + cfg.config.extra_style; + fs.".config/waybar/style.css".symlink.target = pkgs.substituteAll { + src = ./waybar-style.css; + inherit (cfg.config) extraStyle fontSize; + }; services.waybar = { description = "swaybar graphical header bar/tray for sway"; diff --git a/hosts/common/programs/waybar/waybar-style.css b/hosts/common/programs/waybar/waybar-style.css index fd65a752..556db352 100644 --- a/hosts/common/programs/waybar/waybar-style.css +++ b/hosts/common/programs/waybar/waybar-style.css @@ -14,6 +14,7 @@ window#waybar { color: #ffffff; transition-property: background-color; transition-duration: .2s; + font-size: @fontSize@px; } .modules-right { @@ -99,3 +100,5 @@ window#waybar { -gtk-icon-effect: highlight; background-color: #e64291; } + +@extraStyle@ diff --git a/hosts/modules/gui/sxmo/default.nix b/hosts/modules/gui/sxmo/default.nix index 0462ad00..aeed6a55 100644 --- a/hosts/modules/gui/sxmo/default.nix +++ b/hosts/modules/gui/sxmo/default.nix @@ -285,8 +285,7 @@ in sane.programs.sway.enableFor.user.colin = true; sane.programs.waybar.config = { top = import ./waybar-top.nix; - # reset extra waybar style - extra_style = ""; + fontSize = 14; }; sane.programs.sway.config = { # N.B. missing from upstream sxmo config here is: