aboutsummaryrefslogtreecommitdiffstats
path: root/modules/by-name/nv
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-24 13:32:45 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-06-24 13:32:45 +0200
commitb8d9815567bb11f3d55edeae928db9bae7c27c94 (patch)
tree60539e9eb7334c4baae72655da2825fe43189ced /modules/by-name/nv
parentmodules/nvim/plgs/flatten: Re-enable (diff)
downloadnixos-config-b8d9815567bb11f3d55edeae928db9bae7c27c94.zip
modules/nvim/plgs/lf: Use the nixvim module
Diffstat (limited to 'modules/by-name/nv')
-rw-r--r--modules/by-name/nv/nvim/plgs/lf-nvim/default.nix83
-rw-r--r--modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua53
2 files changed, 75 insertions, 61 deletions
diff --git a/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix b/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix
index 3a1c6bf9..e652a60d 100644
--- a/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix
+++ b/modules/by-name/nv/nvim/plgs/lf-nvim/default.nix
@@ -8,21 +8,88 @@
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
- pkgs,
lib,
config,
...
}: let
cfg = config.soispha.programs.nvim;
in {
- # TODO: package lf-nvim though a module
# TODO: change the nvim path, when I change the path with lf
home-manager.users.soispha.programs.nixvim = lib.mkIf cfg.enable {
- extraConfigLuaPost = ''
- ${lib.strings.fileContents ./lua/lf-nvim.lua}
- '';
- extraPlugins = [
- pkgs.vimPlugins.lf-nvim
- ];
+ plugins.lf = {
+ enable = true;
+
+ settings = {
+ default_actions = {
+ "<C-o>" = "tab drop";
+ "<C-t>" = "tabedit";
+ "<C-v>" = "vsplit";
+ "<C-x>" = "split";
+ };
+
+ default_action = "drop";
+
+ winblend = 10;
+ dir = "";
+ direction = "float";
+ border = "rounded";
+ height.__raw = "vim.fn.float2nr(vim.fn.round(0.75 * vim.o.lines))";
+ width.__raw = "vim.fn.float2nr(vim.fn.round(0.75 * vim.o.columns))";
+ escape_quit = true;
+ focus_on_open = true;
+ mappings = true;
+ tmux = false;
+ default_file_manager = true;
+ disable_netrw_warning = true;
+ highlights = {
+ Normal = {link = "Normal";};
+ NormalFloat = {link = "Normal";};
+ FloatBorder = {
+ guifg = "#cdcbe0";
+ guibg = "#191726";
+ };
+ };
+
+ layout_mapping = "<M-u>";
+ views = [
+ {
+ width = 0.800;
+ height = 0.800;
+ }
+ {
+ width = 0.600;
+ height = 0.600;
+ }
+ {
+ width = 0.950;
+ height = 0.950;
+ }
+ {
+ width = 0.500;
+ height = 0.500;
+ col = 0;
+ row = 0;
+ }
+ {
+ width = 0.500;
+ height = 0.500;
+ col = 0;
+ row = 0.5;
+ }
+ {
+ width = 0.500;
+ height = 0.500;
+ col = 0.5;
+ row = 0;
+ }
+ {
+ width = 0.500;
+ height = 0.500;
+ col = 0.5;
+ row = 0.5;
+ }
+ ];
+ };
+ };
};
}
diff --git a/modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua b/modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua
deleted file mode 100644
index 8c40ab50..00000000
--- a/modules/by-name/nv/nvim/plgs/lf-nvim/lua/lf-nvim.lua
+++ /dev/null
@@ -1,53 +0,0 @@
--- nixos-config - My current NixOS configuration
---
--- Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
--- SPDX-License-Identifier: GPL-3.0-or-later
---
--- This file is part of my nixos-config.
---
--- You should have received a copy of the License along with this program.
--- If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-
-local fn = vim.fn
-
--- Defaults
-require("lf").setup({
- default_action = "drop", -- default action when `Lf` opens a file
- -- TODO: what do these mappings do?
- default_actions = { -- default action keybindings
- ["<C-t>"] = "tabedit",
- ["<C-x>"] = "split",
- ["<C-v>"] = "vsplit",
- ["<C-o>"] = "tab drop",
- },
-
- winblend = 10, -- psuedotransparency level
- dir = "", -- directory where `lf` starts ('gwd' is git-working-directory, ""/nil is CWD)
- direction = "float", -- window type: float horizontal vertical
- border = "rounded", -- border kind: single double shadow curved
- height = fn.float2nr(fn.round(0.75 * vim.o.lines)), -- height of the *floating* window
- width = fn.float2nr(fn.round(0.75 * vim.o.columns)), -- width of the *floating* window
- escape_quit = true, -- map escape to the quit command (so it doesn't go into a meta normal mode)
- focus_on_open = true, -- focus the current file when opening Lf (experimental)
- mappings = true, -- whether terminal buffer mapping is enabled
- tmux = false, -- tmux statusline can be disabled on opening of Lf
- default_file_manager = true, -- make lf default file manager
- disable_netrw_warning = true, -- don't display a message when opening a directory with `default_file_manager` as true
- highlights = { -- highlights passed to toggleterm
- Normal = { link = "Normal" },
- NormalFloat = { link = "Normal" },
- FloatBorder = { guifg = "#cdcbe0", guibg = "#191726" },
- },
-
- -- Layout configurations
- layout_mapping = "<M-u>", -- resize window with this key
- views = { -- window dimensions to rotate through
- { width = 0.800, height = 0.800 },
- { width = 0.600, height = 0.600 },
- { width = 0.950, height = 0.950 },
- { width = 0.500, height = 0.500, col = 0, row = 0 },
- { width = 0.500, height = 0.500, col = 0, row = 0.5 },
- { width = 0.500, height = 0.500, col = 0.5, row = 0 },
- { width = 0.500, height = 0.500, col = 0.5, row = 0.5 },
- },
-})