diff --git a/flake.lock b/flake.lock index 5d696af..29c3661 100644 --- a/flake.lock +++ b/flake.lock @@ -152,11 +152,11 @@ ] }, "locked": { - "lastModified": 1724440431, - "narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=", + "lastModified": 1724857454, + "narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "c8a54057aae480c56e28ef3e14e4960628ac495b", + "rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6", "type": "github" }, "original": { @@ -215,11 +215,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1726036828, + "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "8a1671642826633586d12ac3158e463c7a50a112", "type": "github" }, "original": { @@ -288,11 +288,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1724479785, - "narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=", + "lastModified": 1725983898, + "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be", + "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", "type": "github" }, "original": { @@ -317,11 +317,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1724800090, - "narHash": "sha256-7KxGFZ40pidca5gcdI2weGanfB74yDxrErFNElOZWqA=", + "lastModified": 1726027257, + "narHash": "sha256-hsdIfpIB5wzEehgOSaifBJwY3Tn0P0wiU9pTf8nRBQc=", "owner": "nix-community", "repo": "nixvim", - "rev": "4814147442cd3f12f8160ecad9e36751f68cdc22", + "rev": "11c133e89e4090c43445a2c3b5af2322831d7219", "type": "github" }, "original": { @@ -414,11 +414,11 @@ ] }, "locked": { - "lastModified": 1724338379, - "narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=", + "lastModified": 1724833132, + "narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "070f834771efa715f3e74cd8ab93ecc96fabc951", + "rev": "3ffd842a5f50f435d3e603312eefa4790db46af5", "type": "github" }, "original": { diff --git a/modules/neovim.nix b/modules/neovim.nix index 3e23642..eb1602b 100644 --- a/modules/neovim.nix +++ b/modules/neovim.nix @@ -15,8 +15,10 @@ colorschemes.gruvbox.enable = true; extraPlugins = [ pkgs.vimPlugins.todo-txt-vim ]; plugins = { + flash.enable = true; oil.enable = true; neogit.enable = true; + hardtime.enable = true; lsp = { enable = true; servers = { @@ -159,8 +161,8 @@ }; keymaps = [ { action = ":"; key = ";"; mode = [ "n" ]; } - { action = "gj"; key = "j"; mode = [ "n" ]; } - { action = "gk"; key = "k"; mode = [ "n" ]; } + # { action = "gj"; key = "j"; mode = [ "n" ]; } + # { action = "gk"; key = "k"; mode = [ "n" ]; } { action = ""; key = "jk"; mode = [ "i" ]; } { action = "Telescope find_files"; key = ""; options.desc = "Find Files"; } @@ -171,6 +173,11 @@ { action = "Trouble diagnostics toggle"; key = "tr"; } { action = "Neogit"; key = "gg"; options.desc = "Open Git"; } { action = "NvimTreeToggle"; key = "tt"; options.desc = "Tree View";} + + { action.__raw = "function() require('flash').jump() end"; key = "s"; mode = [ "n" "x" "o" ]; options.desc = "Flash"; } + { 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"; } ]; }; } diff --git a/modules/wezterm/wezterm.lua b/modules/wezterm/wezterm.lua index c0f6936..9aea53c 100644 --- a/modules/wezterm/wezterm.lua +++ b/modules/wezterm/wezterm.lua @@ -16,7 +16,7 @@ config.window_frame = { } config.hide_tab_bar_if_only_one_tab = true -config.tab_bar_at_bottom = true +config.tab_bar_at_bottom = false wezterm.on('update-status', function(window) local SOLID_LEFT_ARROW = utf8.char(0xe0b2) @@ -62,4 +62,42 @@ config.keys = { nav_pane("l", "Right"), } +local function get_current_working_dir(tab) + local current_dir = tab.active_pane and tab.active_pane.current_working_dir or { file_path = '' } + local HOME_DIR = os.getenv('HOME') + + return current_dir.file_path == HOME_DIR and '~' + 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) + return config diff --git a/modules/zsh.nix b/modules/zsh.nix index 4bfc74d..27b0b33 100644 --- a/modules/zsh.nix +++ b/modules/zsh.nix @@ -8,6 +8,12 @@ ripgrep wget ]; + programs.bat = { + enable = true; + config = { + theme = "gruvbox-dark"; + }; + }; programs.zsh = { enable = true; prezto = { @@ -45,5 +51,8 @@ programs.starship = { enable = true; enableZshIntegration = true; + settings = { + nodejs.disabled = true; + }; }; } diff --git a/yadunut-mba/home.nix b/yadunut-mba/home.nix index 43ecd42..ae1eb4d 100644 --- a/yadunut-mba/home.nix +++ b/yadunut-mba/home.nix @@ -26,13 +26,16 @@ home.packages = [ pkgs.lazygit pkgs.jq - pkgs.todo-txt-cli + pkgs.cocoapods + pkgs.entr + pkgs.gh + pkgs.zellij + pkgs.wezterm + pkgs.arc-browser pkgs.raycast - pkgs.cocoapods pkgs.tailscale - pkgs.entr pkgs.vscode # # Adds the 'hello' command to your environment. It prints a friendly # # "Hello, world!" when run.