nix-dotfiles/modules/desktop/wob.nix

45 lines
No EOL
999 B
Nix

{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.modules.desktop.wob;
in {
options.modules.desktop.wob = {
enable = mkEnableOption "Enable wob, a Wayland overlay bar";
sockPath = mkOption {
description = "Wob sock location";
type = types.str;
default = "$XDG_RUNTIME_DIR/wob.sock";
};
};
config = mkIf cfg.enable {
modules.desktop.execOnStart = let
path = cfg.sockPath;
script = pkgs.writeScript "launch-wob" ''
rm -f ${path} && mkfifo ${path} && tail -f ${path} | ${lib.getExe pkgs.wob}
'';
in [ (toString script) ];
hm.services.wob = {
enable = true;
settings = {
"" = {
timeout = 1000;
border_offset = 2;
border_size = 2;
bar_padding = 2;
anchor = "top";
width = 300;
height = 30;
margin = 12;
overflow_mode = "nowrap";
output_mode = "focused";
};
};
};
};
}