You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
17 lines
569 B
17 lines
569 B
{config, lib, pkgs, ...}:
|
|
let
|
|
# A list is used because it preserves ordering
|
|
tags = [
|
|
{ name = "tag 1"; key = "something"; }
|
|
{ name = "tag 2"; }
|
|
];
|
|
# Attribute set of { <keybind> = "use <tag>"; }
|
|
keybinds = let
|
|
tagsWithKeybinds = lib.filter (lib.hasAttr "key") tags;
|
|
in lib.listToAttrs (map (x: lib.nameValuePair x.key "use ${x.name}") tagsWithKeybinds);
|
|
in
|
|
{
|
|
xsession.windowManager.herbstluftwm.enable = true;
|
|
xsession.windowManager.herbstluftwm.keybinds = keybinds;
|
|
xsession.windowManager.herbstluftwm.tags = lib.catAttrs "name" tags;
|
|
}
|
|
|