about summary refs log tree commit diff
path: root/modules
diff options
context:
space:
mode:
authoraszlig <aszlig@redmoonstudios.org>2015-04-08 20:57:19 +0200
committeraszlig <aszlig@redmoonstudios.org>2015-04-08 20:57:19 +0200
commite1563271f5d6a37bd561c093bfb134d1b25a3e27 (patch)
tree6c24ea5aadc5574adcfecc18b568e770b47f40be /modules
parent6463b29037057d12d0748deb3da2031558cbb12c (diff)
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 <aszlig@redmoonstudios.org>
Diffstat (limited to 'modules')
-rw-r--r--modules/user/aszlig/services/i3/default.nix17
1 files 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.