diff --git a/home/bufferline.nix b/home/bufferline.nix new file mode 100644 index 0000000..f019b2f --- /dev/null +++ b/home/bufferline.nix @@ -0,0 +1,101 @@ +{ pkgs, ... }: +{ + programs.neovim = { + plugins = with pkgs.vimPlugins; [ + { + plugin = bufferline-nvim; + type = "lua"; + config = '' + require("bufferline").setup({ + options = { + close_command = "bdelete! %d", -- can be a string | function, see "Mouse actions" + right_mouse_command = "bdelete! %d", -- can be a string | function, see "Mouse actions" + offsets = { { filetype = "NvimTree", text = "", padding = 1 } }, + separator_style = "thin", -- | "thick" | "thin" | { 'any', 'any' }, + }, + highlights = { + fill = { + fg = "#ff0000", + bg = { attribute = "bg", highlight = "TabLine" }, + }, + background = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + + buffer_visible = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + + close_button = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + close_button_visible = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + + tab_selected = { + fg = { attribute = "fg", highlight = "Normal" }, + bg = { attribute = "bg", highlight = "Normal" }, + }, + tab = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + tab_close = { + fg = { attribute = "fg", highlight = "TabLineSel" }, + bg = { attribute = "bg", highlight = "Normal" }, + }, + + duplicate_selected = { + fg = { attribute = "fg", highlight = "TabLineSel" }, + bg = { attribute = "bg", highlight = "TabLineSel" }, + italic = true, + }, + duplicate_visible = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + italic = true, + }, + duplicate = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + italic = true, + }, + + modified = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + modified_selected = { + fg = { attribute = "fg", highlight = "Normal" }, + bg = { attribute = "bg", highlight = "Normal" }, + }, + modified_visible = { + fg = { attribute = "fg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + + separator = { + fg = { attribute = "bg", highlight = "TabLine" }, + bg = { attribute = "bg", highlight = "TabLine" }, + }, + separator_selected = { + fg = { attribute = "bg", highlight = "Normal" }, + bg = { attribute = "bg", highlight = "Normal" }, + }, + indicator_selected = { + fg = { attribute = "fg", highlight = "LspDiagnosticsDefaultHint" }, + bg = { attribute = "bg", highlight = "Normal" }, + }, + }, + }) + ''; + } + ]; + }; +} +# vim: shiftwidth=2 tabstop=2 expandtab diff --git a/home/default.nix b/home/default.nix index 91c4f5f..8cb1205 100644 --- a/home/default.nix +++ b/home/default.nix @@ -5,6 +5,7 @@ ./programs.nix ./services.nix ./mpv.nix + ./tmux.nix ./neovim.nix ]; home = { diff --git a/home/neovim.nix b/home/neovim.nix index 0c567b2..e782b9d 100644 --- a/home/neovim.nix +++ b/home/neovim.nix @@ -60,4 +60,7 @@ vimwiki ]; }; + imports = [ + ./bufferline.nix + ]; } diff --git a/home/tmux.nix b/home/tmux.nix new file mode 100644 index 0000000..bbd704e --- /dev/null +++ b/home/tmux.nix @@ -0,0 +1,7 @@ +{ config, pkgs, ... }: +{ + programs.tmux = { + enable = true; + tmuxinator.enable = true; + }; +}