diff --git a/.config/nix/modules/colors.nix b/.config/nix/modules/colors.nix index 32bad78..6fc4da4 100644 --- a/.config/nix/modules/colors.nix +++ b/.config/nix/modules/colors.nix @@ -2,6 +2,7 @@ dark = { background = "#1D1D1B"; foreground = "#ffffff"; + cursor = "#F76EC9"; black = "#1D1D1B"; blue = "#95b3d0"; @@ -17,6 +18,7 @@ bright = { background = "#FDFCF7"; foreground = "#000000"; + cursor = "#F76EC9"; black = "#000000"; blue = "#0026FF"; diff --git a/.config/nix/modules/ghostty.nix b/.config/nix/modules/ghostty.nix index 929327d..2173f71 100644 --- a/.config/nix/modules/ghostty.nix +++ b/.config/nix/modules/ghostty.nix @@ -22,6 +22,8 @@ in background = ${colors.dark.background} foreground = ${colors.dark.foreground} + cursor-color = ${colors.dark.cursor} + palette = 0=${colors.dark.black} palette = 1=${colors.dark.red} palette = 2=${colors.dark.green} diff --git a/.config/nix/modules/shell.nix b/.config/nix/modules/shell.nix index be244b2..064f536 100644 --- a/.config/nix/modules/shell.nix +++ b/.config/nix/modules/shell.nix @@ -2,6 +2,13 @@ programs.fish = { enable = true; interactiveShellInit = '' + # Ghostty supports auto-injection but Nix-darwin hard overwrites XDG_DATA_DIRS + # which make it so that we can't use the auto-injection. We have to source + # manually. + if set -q GHOSTTY_RESOURCES_DIR + source "$GHOSTTY_RESOURCES_DIR/shell-integration/fish/vendor_conf.d/ghostty-shell-integration.fish" + end + # Pure # https://github.com/rafaelrinaldi/pure#configuration set pure_color_primary white @@ -83,6 +90,7 @@ hm = "home-manager"; home = "cd ~"; lsd = "eza -d .*"; + m = "mix"; p = "pnpm"; v = "nvim"; }; diff --git a/.config/nvim/TODO.md b/.config/nvim/TODO.md index 703c4ad..534e5b2 100644 --- a/.config/nvim/TODO.md +++ b/.config/nvim/TODO.md @@ -18,6 +18,7 @@ nix ``` - https://github.com/echasnovski/mini.surround - inc_rename x noice (https://github.com/folke/noice.nvim) +- direnv verbosity https://github.com/direnv/direnv/issues/68#issuecomment-1734782205 - toggle copilot - https://github.com/folke/persistence.nvim diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index e7c443a..aa58346 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -533,18 +533,24 @@ require("lazy").setup({ lualine_a = {}, lualine_b = {}, lualine_c = { - "mode", + { + "mode", + color = "MsgArea", + }, { "filename", + color = "MsgArea", cond = conditions.buffer_not_empty, symbols = { modified = "", readonly = "", unnamed = "" }, }, { "branch", + color = "MsgArea", icon = "", }, { "diagnostics", + color = "MsgArea", sources = { "nvim_diagnostic" }, symbols = { error = icons.diagnostics.Error, @@ -556,15 +562,25 @@ require("lazy").setup({ lualine_x = { { "diff", + color = "MsgArea", symbols = { added = icons.git.added, modified = icons.git.modified, removed = icons.git.removed, }, }, - "filetype", - "progress", - "location", + { + "filetype", + color = "MsgArea", + }, + { + "progress", + color = "MsgArea", + }, + { + "location", + color = "MsgArea", + }, }, lualine_y = {}, lualine_z = {}, @@ -572,8 +588,14 @@ require("lazy").setup({ inactive_sections = { lualine_a = {}, lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, + lualine_c = { + "filename", + color = "MsgArea", + }, + lualine_x = { + "location", + color = "MsgArea", + }, lualine_y = {}, lualine_z = {}, }, @@ -591,6 +613,11 @@ require("lazy").setup({ { -- TypeScript comment plugin (https://github.com/JoosepAlviste/nvim-ts-context-commentstring) "JoosepAlviste/nvim-ts-context-commentstring", + config = function() + require("ts_context_commentstring").setup({ + enable_autocmd = false, + }) + end, }, }, config = function() @@ -659,20 +686,36 @@ require("lazy").setup({ { "fs", "Neotree focus", desc = "Focus File in Explorer" }, }, opts = { + -- TODO: Hide file icons + close_if_last_window = true, default_component_configs = { - indent = { with_markers = false }, - symbols = { - added = icons.git.added, - deleted = icons.git.removed, - modified = icons.git.modified, - renamed = "", - -- Status type - untracked = "", - ignored = "", - unstaged = "", - staged = "", - conflict = "", + icon = { + folder_closed = "▶︎", + folder_open = "▼", + folder_empty = "▽", }, + -- indent = { with_markers = false }, + modified = { + symbol = "●", + }, + git_status = { + symbols = { + added = icons.git.added, + deleted = icons.git.removed, + modified = icons.git.modified, + renamed = "", + -- Status type + untracked = "", + ignored = "", + unstaged = "", + staged = "", + conflict = "", + }, + }, + }, + buffers = { + follow_current_file = true, + group_empty_dirs = true, }, filesystem = { filtered_items = { @@ -1002,6 +1045,7 @@ require("lazy").setup({ "lua", "markdown", "markdown_inline", + "nix", "regex", "rust", "toml",