anchor.diff:        upCmd = "${prefixCmd} up";
         rightCmd = "${prefixCmd} right";
       });
  +  mapWorkspaces = with lib.attrsets; with lib.strings; { workspaces, prefixKey ? null, prefixCmd }:
  +    (listToAttrs
  +      (map
  +        ({ ws, name }:
  +          (nameValuePair "${optionalString (prefixKey != null) "${prefixKey}+"}${toString ws}" ''${prefixCmd} "${name}"''))
  +        workspaces));
   
   in {
     xsession.windowManager.i3 = {
  
positive.code:           "Print" = "exec --no-startup-id ${fullScreenShot}";
            "${modifier}+Print" = "exec --no-startup-id ${areaScreenShot}";
          } //
          (mapDirectionDefault { prefixKey = modifier; prefixCmd = "focus"; }) //
          (mapDirectionDefault { prefixKey = "${modifier}+Super"; prefixCmd = "move"; }) //
          (mapDirectionDefault { prefixKey = "Ctrl+${alt}"; prefixCmd = "move workspace to output"; })
  
negative.code:   # Aliases
    alt = "Mod1";
    modifier = "Mod4";
    workspaces = [
      { ws = 1; name = "1:  "; }
      { ws = 2; name = "2:  "; }
      { ws = 3; name = "3:  "; }
      { ws = 4; name = "4:  "; }
      { ws = 5; name = "5:  "; }
      { ws = 6; name = "6:  "; }
      { ws = 7; name = "7:  "; }
      { ws = 8; name = "8:  "; }
      { ws = 9; name = "9:  "; }
      { ws = 0; name = "10:  "; }
    ];
  
    # Theme
    mainFont = "Roboto";
  