From 2a8cf3de0435c4040d3702fff9b64c5000d3a602 Mon Sep 17 00:00:00 2001 From: janabhumi Date: Mon, 19 Sep 2022 18:44:57 +0300 Subject: [PATCH] plugin/theme: add tabby plugin --- default.nix | 7 ++++--- flake.lock | 18 ++++++++++++++++++ flake.nix | 27 ++++++++++++++++++++++++--- plugins/theme/default.nix | 15 ++++++++++----- plugins/theme/tabby-nvim.lua | 5 +++++ 5 files changed, 61 insertions(+), 11 deletions(-) create mode 100644 plugins/theme/tabby-nvim.lua diff --git a/default.nix b/default.nix index b6b1375..521fc59 100644 --- a/default.nix +++ b/default.nix @@ -1,5 +1,6 @@ -{ enableBarBar ? false -, enableDevIcons ? false +{ enableDevIcons ? false +, enableBarBar ? false +, enableTabby ? false , wrapNeovim , neovim-unwrapped , vimPlugins @@ -19,7 +20,7 @@ let ./plugins/git ./plugins/explorer (import ./plugins/theme { - inherit enableBarBar enableDevIcons; + inherit enableDevIcons enableBarBar enableTabby; }) ./plugins/lsp ./plugins/formatter diff --git a/flake.lock b/flake.lock index 16c4428..091ddf6 100644 --- a/flake.lock +++ b/flake.lock @@ -19,9 +19,27 @@ "root": { "inputs": { "nixpkgs": "nixpkgs", + "tabby-nvim": "tabby-nvim", "utils": "utils" } }, + "tabby-nvim": { + "flake": false, + "locked": { + "lastModified": 1663040953, + "narHash": "sha256-QmqRKFuukm4Vn531TEoejxX3yx0ofzymExOp9c9ybDg=", + "owner": "nanozuki", + "repo": "tabby.nvim", + "rev": "916c9e56d043906a441cd9f905e2ca1f5c4dddb0", + "type": "github" + }, + "original": { + "owner": "nanozuki", + "repo": "tabby.nvim", + "rev": "916c9e56d043906a441cd9f905e2ca1f5c4dddb0", + "type": "github" + } + }, "utils": { "locked": { "lastModified": 1659877975, diff --git a/flake.nix b/flake.nix index a431c9e..765162f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,12 +2,30 @@ inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; utils.url = "github:numtide/flake-utils"; + + tabby-nvim = { + url = "github:nanozuki/tabby.nvim?rev=916c9e56d043906a441cd9f905e2ca1f5c4dddb0"; + flake = false; + }; }; - outputs = { self, nixpkgs, utils, ... }: + outputs = inputs @ { self, nixpkgs, utils, ... }: utils.lib.eachDefaultSystem (system: let - pkgs = import nixpkgs { inherit system; }; + pkgs = import nixpkgs { + inherit system; + overlays = [ + (f: p: { + vimPlugins = p.vimPlugins // { + tabby-nvim = p.vimUtils.buildVimPluginFrom2Nix { + name = "tabby-nvim"; + src = inputs.tabby-nvim; + }; + }; + }) + ]; + + }; neovim = pkgs.callPackage ./. { }; in @@ -21,7 +39,10 @@ devShells.default = pkgs.mkShell { packages = [ - neovim + (neovim.override { + enableDevIcons = true; + enableTabby = true; + }) pkgs.stylua # lua formatter ]; }; diff --git a/plugins/theme/default.nix b/plugins/theme/default.nix index 5b44f0e..fc827bb 100644 --- a/plugins/theme/default.nix +++ b/plugins/theme/default.nix @@ -1,26 +1,31 @@ -{ enableBarBar ? false -, enableDevIcons ? false +{ enableDevIcons ? false +, enableBarBar ? false +, enableTabby ? false }: { lib , catppuccin-nvim , lualine-nvim , lualine-lsp-progress -, barbar-nvim , nvim-web-devicons +, barbar-nvim +, tabby-nvim , ... }: let lualinePlugins = [ lualine-nvim lualine-lsp-progress ]; + in { luaConfig = (builtins.readFile ./catppuccin-nvim.lua) + (builtins.readFile ./lualine.lua) - + (lib.optional enableBarBar (builtins.readFile ./barbar.lua)); + + (lib.optional enableBarBar (builtins.readFile ./barbar.lua)) + + (lib.optional enableTabby (builtins.readFile ./tabby-nvim.lua)); plugins = [ catppuccin-nvim ] ++ lualinePlugins ++ (lib.optional enableDevIcons [ nvim-web-devicons ]) - ++ (lib.optional enableBarBar [ barbar-nvim ]); + ++ (lib.optional enableBarBar [ barbar-nvim ]) + ++ (lib.optional enableTabby [ tabby-nvim ]); } diff --git a/plugins/theme/tabby-nvim.lua b/plugins/theme/tabby-nvim.lua new file mode 100644 index 0000000..6db5eba --- /dev/null +++ b/plugins/theme/tabby-nvim.lua @@ -0,0 +1,5 @@ +-- always display tabline +vim.o.showtabline = 2 + +-- See: https://github.com/nanozuki/tabby.nvim +require("tabby.tabline").use_preset("tab_only")