From 2a809a64ff24afccc66c6f393ad5ccb1122d2b57 Mon Sep 17 00:00:00 2001 From: Kalle Jepsen Date: Tue, 24 Oct 2023 09:18:44 +0200 Subject: [PATCH] statusline/lualine: Move helper to lib --- lib/lua.nix | 2 ++ modules/statusline/lualine/config.nix | 2 +- modules/statusline/lualine/lualine.nix | 48 +++++++++++++------------- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/lib/lua.nix b/lib/lua.nix index c5c2ae5..d888d3f 100644 --- a/lib/lua.nix +++ b/lib/lua.nix @@ -44,4 +44,6 @@ ) ) + " }"; + # Convert a list of lua expressions to a lua table. The difference to listToLuaTable is that the elements here are expected to be lua expressions already, whereas listToLuaTable converts from nix types to lua first + luaTable = items: ''{${builtins.concatStringsSep "," items}}''; } diff --git a/modules/statusline/lualine/config.nix b/modules/statusline/lualine/config.nix index 1d8b2ba..53cf3fd 100644 --- a/modules/statusline/lualine/config.nix +++ b/modules/statusline/lualine/config.nix @@ -5,7 +5,7 @@ }: with lib; let cfg = config.vim.statusline.lualine; - luaTable = items: ''{${builtins.concatStringsSep "," items}}''; + inherit (nvim.lua) luaTable; in { config = (mkIf cfg.enable) { vim.startPlugins = [ diff --git a/modules/statusline/lualine/lualine.nix b/modules/statusline/lualine/lualine.nix index 16fdaf5..20480fd 100644 --- a/modules/statusline/lualine/lualine.nix +++ b/modules/statusline/lualine/lualine.nix @@ -117,7 +117,7 @@ in { activeSection = { a = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | (A) | B | C X | Y | Z |"; default = [ '' @@ -134,7 +134,7 @@ in { }; b = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | A | (B) | C X | Y | Z |"; default = [ '' @@ -157,7 +157,7 @@ in { }; c = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | A | B | (C) X | Y | Z |"; default = [ '' @@ -181,7 +181,7 @@ in { }; x = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | A | B | C (X) | Y | Z |"; default = [ '' @@ -239,7 +239,7 @@ in { }; y = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | A | B | C X | (Y) | Z |"; default = [ '' @@ -261,7 +261,7 @@ in { }; z = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "active config for: | A | B | C X | Y | (Z) |"; default = [ '' @@ -293,32 +293,32 @@ in { }; extraActiveSection = { a = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.a"; default = []; }; b = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.b"; default = []; }; c = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.c"; default = []; }; x = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.x"; default = []; }; y = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.y"; default = []; }; z = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for activeSection.z"; default = []; }; @@ -326,69 +326,69 @@ in { inactiveSection = { a = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | (A) | B | C X | Y | Z |"; default = []; }; b = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | A | (B) | C X | Y | Z |"; default = []; }; c = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | A | B | (C) X | Y | Z |"; default = ["'filename'"]; }; x = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | A | B | C (X) | Y | Z |"; default = ["'location'"]; }; y = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | A | B | C X | (Y) | Z |"; default = []; }; z = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "inactive config for: | A | B | C X | Y | (Z) |"; default = []; }; }; extraInactiveSection = { a = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.a"; default = []; }; b = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.b"; default = []; }; c = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.c"; default = []; }; x = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.x"; default = []; }; y = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.y"; default = []; }; z = mkOption { - type = types.listOf types.str; + type = with types; listOf str; description = "Extra entries for inactiveSection.z"; default = []; };