feat:neovim updtes
This commit is contained in:
parent
114f618815
commit
c01bc77f3b
66
flake.lock
66
flake.lock
@ -86,11 +86,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726153070,
|
||||
"narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
|
||||
"lastModified": 1727826117,
|
||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
|
||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -104,11 +104,11 @@
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -122,11 +122,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1726560853,
|
||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -152,11 +152,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725513492,
|
||||
"narHash": "sha256-tyMUA6NgJSvvQuzB7A1Sf8+0XCHyfSPRx/b00o6K0uo=",
|
||||
"lastModified": 1728092656,
|
||||
"narHash": "sha256-eMeCTJZ5xBeQ0f9Os7K8DThNVSo9gy4umZLDfF5q6OM=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "7570de7b9b504cfe92025dd1be797bf546f66528",
|
||||
"rev": "1211305a5b237771e13fcca0c51e60ad47326a9a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -215,11 +215,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726440980,
|
||||
"narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=",
|
||||
"lastModified": 1728306985,
|
||||
"narHash": "sha256-l/KpcWTv2SjxCnqFs5GYhvjeVYd40WQV4/F2+w9btd4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff",
|
||||
"rev": "3ac39b2a8b7cbfc0f96628d8a84867c885bc988b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -236,11 +236,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726357542,
|
||||
"narHash": "sha256-p4OrJL2weh0TRtaeu1fmNYP6+TOp/W2qdaIJxxQay4c=",
|
||||
"lastModified": 1728041527,
|
||||
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e524c57b1fa55d6ca9d8354c6ce1e538d2a1f47f",
|
||||
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -257,11 +257,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726188813,
|
||||
"narHash": "sha256-Vop/VRi6uCiScg/Ic+YlwsdIrLabWUJc57dNczp0eBc=",
|
||||
"lastModified": 1727999297,
|
||||
"narHash": "sha256-LTJuQPCsSItZ/8TieFeP30iY+uaLoD0mT0tAj1gLeyQ=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "21fe31f26473c180390cfa81e3ea81aca0204c80",
|
||||
"rev": "8c8388ade72e58efdeae71b4cbb79e872c23a56b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -288,11 +288,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1726243404,
|
||||
"narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=",
|
||||
"lastModified": 1728018373,
|
||||
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059",
|
||||
"rev": "bc947f541ae55e999ffdb4013441347d83b00feb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -317,11 +317,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726502324,
|
||||
"narHash": "sha256-I/WFSIBeIjlY3CgSJ6IRYxP2aEJ6b42Y1HAeATlBh48=",
|
||||
"lastModified": 1728292968,
|
||||
"narHash": "sha256-Jp/SQH5q2uTRBW625gFdfXLvYLjQiDNxtvQo0vVbyeA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "2e3083e42509c399b224239f6d7fa17976b18536",
|
||||
"rev": "d71cfaaae8353b4102169a9858422ce3738cd43b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -339,11 +339,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726392886,
|
||||
"narHash": "sha256-9RtOuG7V8KG8IU8nZje5EQ1WSM/inr7+zb3tAgTiHDM=",
|
||||
"lastModified": 1728017046,
|
||||
"narHash": "sha256-ofWYux/uUAv8wq7sWw8XWke0sh8p4qYxSOn8d+EaJ8c=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "97d34b70deed4878fcb2449ac89dab717d72efa1",
|
||||
"rev": "ba81d9c1eae20fc3a1cd066062a05ac2e799e629",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -414,11 +414,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725271838,
|
||||
"narHash": "sha256-VcqxWT0O/gMaeWTTjf1r4MOyG49NaNxW4GHTO3xuThE=",
|
||||
"lastModified": 1727984844,
|
||||
"narHash": "sha256-xpRqITAoD8rHlXQafYZOLvUXCF6cnZkPfoq67ThN0Hc=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "9fb342d14b69aefdf46187f6bb80a4a0d97007cd",
|
||||
"rev": "4446c7a6fc0775df028c5a3f6727945ba8400e64",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{ config, pkgs, inputs, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
inputs.nixvim.homeManagerModules.nixvim
|
||||
@ -22,7 +22,7 @@
|
||||
lsp = {
|
||||
enable = true;
|
||||
servers = {
|
||||
tsserver.enable = true; # TS/JS
|
||||
ts-ls.enable = true; # TS/JS
|
||||
biome.enable = true; # TS/JS
|
||||
|
||||
pyright.enable = true; # Python
|
||||
@ -112,7 +112,37 @@
|
||||
};
|
||||
};
|
||||
treesitter-context.enable = true;
|
||||
treesitter-textobjects.enable = true;
|
||||
treesitter-textobjects = {
|
||||
enable = true;
|
||||
move = {
|
||||
enable = true;
|
||||
gotoNextStart = {
|
||||
"]m" = { query = "@function.outer"; };
|
||||
"]]" = { query = "@class.outer"; desc = "Next class start"; };
|
||||
"]o" = { query = "@loop.*"; };
|
||||
"]s" = { query = "@scope"; queryGroup = "locals"; desc = "Next scope"; };
|
||||
"]z" = { query = "@fold"; queryGroup = "folds"; desc = "Next fold"; };
|
||||
};
|
||||
gotoNextEnd = {
|
||||
"]M" = { query = "@function.outer"; };
|
||||
"][" = { query = "@class.outer"; };
|
||||
};
|
||||
gotoPreviousStart = {
|
||||
"[m" = { query = "@function.outer"; };
|
||||
"[[" = { query = "@class.outer"; };
|
||||
};
|
||||
gotoPreviousEnd = {
|
||||
"[M" = { query = "@function.outer"; };
|
||||
"[]" = { query = "@class.outer"; };
|
||||
};
|
||||
gotoNext = {
|
||||
"]d" = { query = "@conditional.outer"; };
|
||||
};
|
||||
gotoPrevious = {
|
||||
"[d" = { query = "@conditional.outer"; };
|
||||
};
|
||||
};
|
||||
};
|
||||
ts-autotag.enable = true;
|
||||
|
||||
which-key.enable = true;
|
||||
@ -134,6 +164,7 @@
|
||||
enable = true;
|
||||
enableTelescope = true;
|
||||
};
|
||||
web-devicons.enable = true;
|
||||
|
||||
};
|
||||
opts = {
|
||||
@ -154,6 +185,8 @@
|
||||
smarttab = true;
|
||||
scrolloff = 5;
|
||||
termguicolors = true;
|
||||
foldmethod = lib.mkForce "expr";
|
||||
foldexpr = lib.mkForce "v:lua.vim.treesitter.foldexpr()";
|
||||
};
|
||||
globals = {
|
||||
mapleader = " ";
|
||||
@ -178,6 +211,7 @@
|
||||
{ action.__raw = "function() require('flash').treesitter() end"; key = "S"; mode = [ "n" "x" "o" ]; options.desc = "Flash Treesitter"; }
|
||||
{ action.__raw = "function() require('flash').remote() end"; key = "r"; mode = [ "o" ]; options.desc = "Remote Flash"; }
|
||||
{ action.__raw = "function() require('flash').treesitter_search() end"; key = "R"; mode = [ "o" ]; options.desc = "Treesitter Search"; }
|
||||
{ action.__raw = "function() require('flash').toggle() end"; key = "<c-s>"; mode = [ "c" ]; options.desc = "Toggle Flash"; }
|
||||
];
|
||||
};
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ local font = wezterm.font({family = "Comic Mono"})
|
||||
|
||||
config.front_end = "WebGpu"
|
||||
|
||||
config.color_scheme = "Gruvbox Dark (Gogh)"
|
||||
config.font = font
|
||||
config.font_size = 13
|
||||
config.window_decorations = "RESIZE"
|
||||
@ -18,22 +17,23 @@ config.window_frame = {
|
||||
config.hide_tab_bar_if_only_one_tab = true
|
||||
config.tab_bar_at_bottom = false
|
||||
|
||||
wezterm.on('update-status', function(window)
|
||||
local SOLID_LEFT_ARROW = utf8.char(0xe0b2)
|
||||
local color_scheme = window:effective_config().resolved_palette
|
||||
local bg = color_scheme.background
|
||||
local fg = color_scheme.foreground
|
||||
-- set theme based on system appearance
|
||||
function get_appearance()
|
||||
if wezterm.gui then
|
||||
return wezterm.gui.get_appearance()
|
||||
end
|
||||
return 'Dark'
|
||||
end
|
||||
|
||||
window:set_right_status(wezterm.format({
|
||||
{ Background = { Color = 'none' }},
|
||||
{ Foreground = { Color = bg }},
|
||||
{ Text = SOLID_LEFT_ARROW },
|
||||
function scheme_for_appearance(appearance)
|
||||
if appearance:find 'Dark' then
|
||||
return 'Gruvbox Dark (Gogh)'
|
||||
else
|
||||
return 'Gruvbox (Gogh)'
|
||||
end
|
||||
end
|
||||
|
||||
{ Background = { Color = bg }},
|
||||
{ Foreground = { Color = fg }},
|
||||
{ Text = ' ' .. wezterm.hostname() .. ' ' },
|
||||
}))
|
||||
end)
|
||||
config.color_scheme = scheme_for_appearance(get_appearance())
|
||||
|
||||
config.leader = { key = 'a', mods = 'CTRL', timeout_milliseconds = 1000 }
|
||||
|
||||
@ -70,34 +70,34 @@ local function get_current_working_dir(tab)
|
||||
or string.gsub(current_dir.file_path, '(.*[/\\])(.*)', '%2')
|
||||
end
|
||||
|
||||
wezterm.on('format-tab-title', function(tab, tabs, panes, config, hover, max_width)
|
||||
local has_unseen_output = false
|
||||
if not tab.is_active then
|
||||
for _, pane in ipairs(tab.panes) do
|
||||
if pane.has_unseen_output then
|
||||
has_unseen_output = true
|
||||
break
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local cwd = wezterm.format({
|
||||
{ Text = get_current_working_dir(tab) },
|
||||
})
|
||||
|
||||
local process = get_process(tab)
|
||||
local title = process and string.format(' %s (%s) ', process, cwd) or ' [?] '
|
||||
|
||||
if has_unseen_output then
|
||||
return {
|
||||
{ Foreground = { Color = '#28719c' } },
|
||||
{ Text = title },
|
||||
}
|
||||
end
|
||||
|
||||
return {
|
||||
{ Text = title },
|
||||
}
|
||||
end)
|
||||
-- wezterm.on('format-tab-title', function(tab, tabs, panes, config, hover, max_width)
|
||||
-- local has_unseen_output = false
|
||||
-- if not tab.is_active then
|
||||
-- for _, pane in ipairs(tab.panes) do
|
||||
-- if pane.has_unseen_output then
|
||||
-- has_unseen_output = true
|
||||
-- break
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
--
|
||||
-- local cwd = wezterm.format({
|
||||
-- { Text = get_current_working_dir(tab) },
|
||||
-- })
|
||||
--
|
||||
-- local process = get_process(tab)
|
||||
-- local title = process and string.format(' %s (%s) ', process, cwd) or ' [?] '
|
||||
--
|
||||
-- if has_unseen_output then
|
||||
-- return {
|
||||
-- { Foreground = { Color = '#28719c' } },
|
||||
-- { Text = title },
|
||||
-- }
|
||||
-- end
|
||||
--
|
||||
-- return {
|
||||
-- { Text = title },
|
||||
-- }
|
||||
-- end)
|
||||
|
||||
return config
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ config, pkgs, inputs, ... }:
|
||||
{ config, pkgs, inputs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@ -30,8 +30,10 @@
|
||||
pkgs.entr
|
||||
pkgs.gh
|
||||
pkgs.zellij
|
||||
pkgs.httpie
|
||||
|
||||
|
||||
pkgs.emacs
|
||||
pkgs.wezterm
|
||||
pkgs.arc-browser
|
||||
pkgs.raycast
|
||||
@ -109,6 +111,54 @@
|
||||
};
|
||||
};
|
||||
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
settings = {
|
||||
theme = "gruvbox-light";
|
||||
themes = {
|
||||
solarized-light = {
|
||||
fg = "#657b83";
|
||||
bg = "#fdf6e3";
|
||||
black = "#073642";
|
||||
red = "#dc322f";
|
||||
green = "#859900";
|
||||
yellow = "#b58900";
|
||||
blue = "#268bd2";
|
||||
magenta = "#d33682";
|
||||
cyan = "#2aa198";
|
||||
white = "#eee8d5";
|
||||
orange = "#cb4b16";
|
||||
};
|
||||
gruvbox-light = {
|
||||
bg="#d5c4a1";
|
||||
fg="#504945";
|
||||
orange="#980005";
|
||||
green="#79740e";
|
||||
yellow="#d79921";
|
||||
blue="#458588";
|
||||
magenta="#b16286";
|
||||
cyan="#689d6a";
|
||||
black="#ebdbb2";
|
||||
white="#3c3836";
|
||||
red="#d65d0e";
|
||||
};
|
||||
gruvbox-dark = {
|
||||
fg="#ebdbb2";
|
||||
bg="#504945";
|
||||
black="#3c3836";
|
||||
red="#cc241d";
|
||||
green="#98971a";
|
||||
yellow="#d79921";
|
||||
blue="#458588";
|
||||
magenta="#b16286";
|
||||
cyan="#689d6a";
|
||||
white="#fbf1c7";
|
||||
orange="#d65d0e";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.git.extraConfig = {
|
||||
gpg.ssh.program = "/Applications/1Password.app/Contents/MacOS/op-ssh-sign";
|
||||
core.excludesFile = "~/.gitignore_global";
|
||||
@ -117,4 +167,5 @@
|
||||
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
programs.bat.config.theme = lib.mkForce "gruvbox-light";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user