diff --git a/.github/workflows/update-flake.yaml b/.github/workflows/update-flake.yaml index bc425e5..4f61db7 100644 --- a/.github/workflows/update-flake.yaml +++ b/.github/workflows/update-flake.yaml @@ -16,6 +16,7 @@ jobs: uses: DeterminateSystems/update-flake-lock@v22 with: nix-options: --debug --log-format raw + token: ${{ secrets.FLAKE_TOKEN }} pr-title: "deps: update flake.lock" pr-labels: | dependencies diff --git a/README.md b/README.md index ab7b216..d6471c9 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ This repository contains my personal configuration NixVim, a Neovim configuratio - `indent-blankline.nix`: Configures the Indent Blankline plugin for displaying indentation levels. - `todo-comments.nix`: Configures the Todo Comments plugin for highlighting TODO comments. - `copilot-chat.nix`: Configures the Copilot Chat plugin for interacting with GitHub Copilot. +- `navic.nix`: Configures the Navic plugin, shows the current code context. ## UI Plugins diff --git a/config/default.nix b/config/default.nix index eeaa3b3..392b4b7 100644 --- a/config/default.nix +++ b/config/default.nix @@ -25,6 +25,7 @@ _: { ./plugins/editor/indent-blankline.nix ./plugins/editor/todo-comments.nix ./plugins/editor/copilot-chat.nix + ./plugins/editor/navic.nix # UI plugins ./plugins/ui/bufferline.nix diff --git a/config/plugins/editor/navic.nix b/config/plugins/editor/navic.nix new file mode 100644 index 0000000..df5a299 --- /dev/null +++ b/config/plugins/editor/navic.nix @@ -0,0 +1,38 @@ +_: { + plugins.navic = { + enable = true; + separator = "  "; + highlight = true; + depthLimit = 5; + lsp = { + autoAttach = true; + }; + icons = { + Array = "󱃵 "; + Boolean = " "; + Class = " "; + Constant = " "; + Constructor = " "; + Enum = " "; + EnumMember = " "; + Event = " "; + Field = "󰽏 "; + File = " "; + Function = "󰡱 "; + Interface = " "; + Key = " "; + Method = " "; + Module = "󰕳 "; + Namespace = " "; + Null = "󰟢 "; + Number = " "; + Object = " "; + Operator = " "; + Package = "󰏖 "; + String = " "; + Struct = " "; + TypeParameter = " "; + Variable = " "; + }; + }; +} diff --git a/config/plugins/themes/default.nix b/config/plugins/themes/default.nix index d6779ca..2f66182 100644 --- a/config/plugins/themes/default.nix +++ b/config/plugins/themes/default.nix @@ -28,6 +28,10 @@ illuminate = { enabled = true; }; + navic = { + enabled = true; + custom_bg = "NONE"; + }; treesitter = true; telescope.enabled = true; indent_blankline.enabled = true; diff --git a/config/plugins/ui/lualine.nix b/config/plugins/ui/lualine.nix index f55bf4b..d7afaa5 100644 --- a/config/plugins/ui/lualine.nix +++ b/config/plugins/ui/lualine.nix @@ -3,6 +3,7 @@ _: { enable = true; globalstatus = true; extensions = [ + "fzf" "neo-tree" ]; disabledFiletypes = { @@ -53,10 +54,13 @@ _: { } ]; lualine_x = [ + { + name = "navic"; + } { name = "diff"; extraConfig = { - symbos = { + symbols = { added = " "; modified = " "; removed = " "; diff --git a/flake.lock b/flake.lock index 9ef98be..87b1c9a 100644 --- a/flake.lock +++ b/flake.lock @@ -73,11 +73,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719994518, + "narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7", "type": "github" }, "original": { @@ -94,11 +94,11 @@ ] }, "locked": { - "lastModified": 1717285511, - "narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=", + "lastModified": 1719877454, + "narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8", + "rev": "4e3583423212f9303aa1a6337f8dffb415920e4f", "type": "github" }, "original": { @@ -139,11 +139,11 @@ ] }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -203,11 +203,11 @@ ] }, "locked": { - "lastModified": 1717525419, - "narHash": "sha256-5z2422pzWnPXHgq2ms8lcCfttM0dz+hg+x1pCcNkAws=", + "lastModified": 1719827439, + "narHash": "sha256-tneHOIv1lEavZ0vQ+rgz67LPNCgOZVByYki3OkSshFU=", "owner": "nix-community", "repo": "home-manager", - "rev": "a7117efb3725e6197dd95424136f79147aa35e5b", + "rev": "59ce796b2563e19821361abbe2067c3bb4143a7d", "type": "github" }, "original": { @@ -224,11 +224,11 @@ ] }, "locked": { - "lastModified": 1716993688, - "narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=", + "lastModified": 1719845423, + "narHash": "sha256-ZLHDmWAsHQQKnmfyhYSHJDlt8Wfjv6SQhl2qek42O7A=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4", + "rev": "ec12b88104d6c117871fad55e931addac4626756", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1717974879, - "narHash": "sha256-GTO3C88+5DX171F/gVS3Qga/hOs/eRMxPFpiHq2t+D8=", + "lastModified": 1720031269, + "narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c7b821ba2e1e635ba5a76d299af62821cbcb09f3", + "rev": "9f4128e00b0ae8ec65918efeba59db998750ead6", "type": "github" }, "original": { @@ -255,23 +255,23 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1717284937, - "narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=", + "lastModified": 1719876945, + "narHash": "sha256-Fm2rDDs86sHy0/1jxTOKB1118Q0O3Uc7EC0iXvXKpbI=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5daf0514482af3f97abaefc78a6606365c9108e2.tar.gz" } }, "nixpkgs-stable": { "locked": { - "lastModified": 1710695816, - "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", + "lastModified": 1718811006, + "narHash": "sha256-0Y8IrGhRmBmT7HHXlxxepg2t8j1X90++qRN3lukGaIk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "614b4613980a522ba49f0d194531beddbb7220d3", + "rev": "03d771e513ce90147b65fe922d87d3a0356fc125", "type": "github" }, "original": { @@ -283,11 +283,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1717786204, - "narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=", + "lastModified": 1719848872, + "narHash": "sha256-H3+EC5cYuq+gQW8y0lSrrDZfH71LB4DAf+TDFyvwCNA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "051f920625ab5aabe37c920346e3e69d7d34400e", + "rev": "00d80d13810dbfea8ab4ed1009b09100cca86ba8", "type": "github" }, "original": { @@ -299,11 +299,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1710765496, - "narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=", + "lastModified": 1719082008, + "narHash": "sha256-jHJSUH619zBQ6WdC21fFAlDxHErKVDJ5fpN0Hgx4sjs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7", + "rev": "9693852a2070b398ee123a329e68f0dab5526681", "type": "github" }, "original": { @@ -325,11 +325,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1718098450, - "narHash": "sha256-QDKPhT61Cf82/7G7vMyEfKQSIGGzs33FyT+4RB34spo=", + "lastModified": 1720210105, + "narHash": "sha256-AjcTv44xEAOxGqpoMxbfYcUwhCWLHESQIOIMcBFUCKk=", "owner": "nix-community", "repo": "nixvim", - "rev": "7a2d065ccec902c17db71bd2ba3e485a0952f43b", + "rev": "367380bd8462419f0199d262b058fadfb43823ff", "type": "github" }, "original": { @@ -346,11 +346,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1717664902, - "narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=", + "lastModified": 1719259945, + "narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1", + "rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07", "type": "github" }, "original": { @@ -390,11 +390,11 @@ ] }, "locked": { - "lastModified": 1717850719, - "narHash": "sha256-npYqVg+Wk4oxnWrnVG7416fpfrlRhp/lQ6wQ4DHI8YE=", + "lastModified": 1719887753, + "narHash": "sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII+XXHDHqek=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4fc1c45a5f50169f9f29f6a98a438fb910b834ed", + "rev": "bdb6355009562d8f9313d9460c0d3860f525bc6c", "type": "github" }, "original": {