From e1563271f5d6a37bd561c093bfb134d1b25a3e27 Mon Sep 17 00:00:00 2001 From: aszlig Date: Wed, 8 Apr 2015 20:57:19 +0200 Subject: services/i3: Fix override of default workspaces. By default, there are 10 workspaces defined and since the module system changes, we need to assign default priorities to all values instead of the full attribute set, because whenever there is an override of the default, the whole attrset is replaced by the override instead of just the values. Signed-off-by: aszlig --- modules/user/aszlig/services/i3/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/user/aszlig/services/i3/default.nix b/modules/user/aszlig/services/i3/default.nix index 7b578026..093ac2df 100644 --- a/modules/user/aszlig/services/i3/default.nix +++ b/modules/user/aszlig/services/i3/default.nix @@ -20,15 +20,17 @@ let headModifier = if cfg.reverseHeads then reverseList else id; getHeadAt = elemAt (headModifier xrandrHeads); + mkSwitchTo = number: "$mod+${if number == 10 then "0" else toString number}"; + mkDefaultWorkspace = number: numberSymbol: { name = toString number; - value = mkDefault { - label = null; - labelPrefix = "${toString number}: "; - keys.switchTo = "$mod+${if number == 10 then "0" else toString number}"; - keys.moveTo = "$mod+Shift+${numberSymbol}"; - head = if headCount == 0 then null - else getHeadAt ((number - (excessWs + 1)) / wsPerHead); + value = { + label = mkDefault null; + labelPrefix = mkDefault "${toString number}: "; + keys.switchTo = mkDefault (mkSwitchTo number); + keys.moveTo = mkDefault "$mod+Shift+${numberSymbol}"; + head = if headCount == 0 then mkDefault null + else mkDefault (getHeadAt ((number - (excessWs + 1)) / wsPerHead)); }; }; @@ -71,7 +73,6 @@ in workspaces = mkOption { type = types.attrsOf (types.submodule (import ./workspace.nix)); - default = listToAttrs (imap mkDefaultWorkspace wsNumberSymbols); description = '' Workspace to monitor assignment. -- cgit 1.4.1