diff --git a/modules/services/window-managers/i3-sway/lib/functions.nix b/modules/services/window-managers/i3-sway/lib/functions.nix index ac0a30d10..31d314b04 100644 --- a/modules/services/window-managers/i3-sway/lib/functions.nix +++ b/modules/services/window-managers/i3-sway/lib/functions.nix @@ -10,8 +10,9 @@ rec { keybindingsStr = keybindings: concatStringsSep "\n" (mapAttrsToList (keycomb: action: - optionalString (action != null) "bindsym ${keycomb} ${action}") - keybindings); + optionalString (action != null) "bindsym ${ + lib.optionalString (moduleName == "sway") "--to-code " + }${keycomb} ${action}") keybindings); keycodebindingsStr = keycodebindings: concatStringsSep "\n" (mapAttrsToList (keycomb: action: @@ -47,7 +48,10 @@ rec { mode ${mode} hidden_state ${hiddenState} position ${position} - status_command ${statusCommand} + ${ + optionalString (statusCommand != null) + "status_command ${statusCommand}" + } ${moduleName}bar_command ${command} workspace_buttons ${if workspaceButtons then "yes" else "no"} strip_workspace_numbers ${if !workspaceNumbers then "yes" else "no"} diff --git a/modules/services/window-managers/i3-sway/lib/options.nix b/modules/services/window-managers/i3-sway/lib/options.nix index 690bbbcc2..38f2ec196 100644 --- a/modules/services/window-managers/i3-sway/lib/options.nix +++ b/modules/services/window-managers/i3-sway/lib/options.nix @@ -111,7 +111,7 @@ let }; statusCommand = mkOption { - type = types.str; + type = types.nullOr types.str; default = "${pkgs.i3status}/bin/i3status"; description = "Command that will be used to get status lines."; };