From da75a7c00cf8959ce7de1c5b2f905e2b11690f73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 1 Mar 2023 15:04:05 +0100 Subject: [PATCH 001/656] nvim: config --- .config/nvim/init.lua | 1 + .config/nvim/lua/plugins/dap.lua | 56 ++++++++++++++++---------- .config/nvim/lua/plugins/misc.lua | 18 ++++----- .config/nvim/lua/plugins/null-ls.lua | 1 + .config/nvim/lua/plugins/telescope.lua | 2 +- 5 files changed, 47 insertions(+), 31 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 55b8979..74740c5 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1 +1,2 @@ +require("config.options") require("config.lazy") diff --git a/.config/nvim/lua/plugins/dap.lua b/.config/nvim/lua/plugins/dap.lua index aeec64d..c31328f 100644 --- a/.config/nvim/lua/plugins/dap.lua +++ b/.config/nvim/lua/plugins/dap.lua @@ -1,8 +1,6 @@ -local M = { +return { "mfussenegger/nvim-dap", - dependencies = { - { "rcarriga/nvim-dap-ui" }, { "theHamsta/nvim-dap-virtual-text", config = function() @@ -16,24 +14,40 @@ local M = { config = function() require("dap-go").setup() end, - keys = { - { "<leader>y", ":lua require('dap-go').debug_test()<CR>" }, - }, }, }, + keys = { + { "DD", ":lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" }, + { "Dc", ":lua require'dap'.continue()<cr>", desc = "Continue" }, + { "Di", ":lua require'dap'.step_into()<cr>", desc = "Step Into" }, + { "Do", ":lua require'dap'.step_over()<cr>", desc = "Step Over" }, + { "DO", ":lua require'dap'.step_out()<cr>", desc = "Step Out" }, + { "Dh", ":lua require'dap.ui.widgets'.hover()<cr>", desc = "Hover" }, + { "Dr", ":lua require'dap'.repl.toggle({height = 5})<cr>", desc = "Toogle Repl" }, + }, + config = function() + require("dap") + require("dap.ext.vscode").load_launchjs() + + vim.fn.sign_define( + "DapBreakpoint", + { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapBreakpointCondition", + { text = "ﳁ", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapBreakpointRejected", + { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapLogPoint", + { text = "", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" } + ) + vim.fn.sign_define( + "DapStopped", + { text = "", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" } + ) + end, } - -function M.init() - local silent = { silent = true } - vim.fn.sign_define("DapStopped", { text = "⇒", texthl = "", linehl = "debugPC", numhl = "" }) - vim.fn.sign_define("DapBreakpoint", { text = "🧘", texthl = "", linehl = "debugPC", numhl = "" }) - vim.keymap.set("n", "DD", ":lua require 'dap'.toggle_breakpoint()<CR>", silent) - vim.keymap.set("n", "Dc", ":lua require 'dap'.continue()<CR>", silent) - vim.keymap.set("n", "Di", ":lua require 'dap'.step_into()<CR>", silent) - vim.keymap.set("n", "Do", ":lua require 'dap'.step_over()<CR>", silent) - vim.keymap.set("n", "DO", ":lua require 'dap'.step_out()<CR>", silent) - vim.keymap.set("n", "Dr", ":lua require 'dap'.repl.toggle({height = 5})<CR>", silent) - vim.keymap.set("n", "Dh", ":lua require 'dap.ui.widgets'.hover()<CR>", silent) -end - -return M diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua index 4689229..24391dd 100644 --- a/.config/nvim/lua/plugins/misc.lua +++ b/.config/nvim/lua/plugins/misc.lua @@ -104,13 +104,13 @@ return { end, }, - { - url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim", - config = function() - require("lsp_lines").setup() - vim.diagnostic.config({ - virtual_text = false, - }) - end, - }, + -- { + -- url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim", + -- config = function() + -- require("lsp_lines").setup() + -- vim.diagnostic.config({ + -- virtual_text = false, + -- }) + -- end, + -- }, } diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua index 1a74e9c..f8bab18 100644 --- a/.config/nvim/lua/plugins/null-ls.lua +++ b/.config/nvim/lua/plugins/null-ls.lua @@ -15,6 +15,7 @@ function M.config() builtins.formatting.shfmt, builtins.formatting.sqlfluff, builtins.formatting.buildifier, + builtins.formatting.prettierd, builtins.completion.spell, builtins.code_actions.eslint_d, builtins.diagnostics.buf.with({ diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 4848f50..cb54946 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -26,7 +26,7 @@ function M.config() vim.keymap.set("n", "<leader>f", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') vim.keymap.set("n", "<space>", '<cmd>lua require("telescope.builtin").oldfiles({cwd_only=true})<CR>') vim.keymap.set("n", "<leader><space>", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') - vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics()<CR>') + vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics({bufnr=0})<CR>') vim.keymap.set("n", "<leader>e", '<cmd>lua require("telescope.builtin").git_files()<CR>') vim.keymap.set("n", "<leader>g", '<cmd>lua require("telescope.builtin").git_status()<CR>') vim.keymap.set("n", "<leader>a", '<cmd>lua require("telescope.builtin").lsp_code_actions()<CR>') From aae9a0f31f745c180dc26fb721415d8033a7f023 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 2 Mar 2023 14:18:25 +0100 Subject: [PATCH 002/656] dark mode experiment --- .config/nvim/lazy-lock.json | 58 ++++++----- .config/nvim/lua/config/lazy.lua | 6 +- .config/nvim/lua/config/options.lua | 1 - .config/nvim/lua/plugins/lualine.lua | 2 +- .config/nvim/lua/plugins/zenbones.lua | 132 -------------------------- 5 files changed, 33 insertions(+), 166 deletions(-) delete mode 100644 .config/nvim/lua/plugins/zenbones.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index f935590..c11e5be 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,58 +1,56 @@ { - "Comment.nvim": { "branch": "master", "commit": "418d3117dab2f54c4340ea73e0070dd78fc81753" }, + "Comment.nvim": { "branch": "master", "commit": "6821b3ae27a57f1f3cf8ed030e4a55d70d0c4e43" }, + "catppuccin": { "branch": "main", "commit": "7c392fb5f27daa6addee050f7b7522718e8d9357" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" }, + "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-tmux": { "branch": "main", "commit": "984772716f66d8ee88535a6bf3f94c4b4e1301f5" }, "colorbuddy.vim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "copilot-cmp": { "branch": "master", "commit": "b732a58ac8b7287b981cd9f0d9c0f61e5e9d5760" }, - "copilot.lua": { "branch": "master", "commit": "137df557486f91627b8e4708a47088f36950f12c" }, - "gitsigns.nvim": { "branch": "main", "commit": "4bd5d7702c17643ff40c035b6b936757b99743c7" }, - "go.nvim": { "branch": "master", "commit": "4977d3165d6ee8a06781f7b3443484fe7e91c9a3" }, - "hlargs.nvim": { "branch": "main", "commit": "88b925d699fb39633cdda02c24f0b3ba5d0e6964" }, + "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, + "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, + "gitsigns.nvim": { "branch": "main", "commit": "76b71f74ce002119fce322df13bd21cc52c1d112" }, + "go.nvim": { "branch": "master", "commit": "7d7b081bf3d3113d1d487d83a5436bd1e7215ff5" }, + "hlargs.nvim": { "branch": "main", "commit": "2a7f9878326cdfd0eb8c91ad543c07680c976227" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, - "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "lazy.nvim": { "branch": "main", "commit": "6a18404b7d1c05f0d1f35f7b78bd5c282dff7a89" }, - "lsp_lines.nvim": { "branch": "main", "commit": "ec98b45c8280e5ef8c84028d4f38aa447276c002" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "kanagawa": { "branch": "master", "commit": "4c8d48726621a7f3998c7ed35b2c2535abc22def" }, + "lazy.nvim": { "branch": "main", "commit": "26d121ea13bee96b079403cee6598f04969d4983" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, - "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "lush.nvim": { "branch": "main", "commit": "b1e8eb1da3fee95ef31515a73c9eff9bf251088d" }, - "marks.nvim": { "branch": "master", "commit": "c3b18b97912720a6586fb537c5c0dfc9e06a68f1" }, - "neogen": { "branch": "main", "commit": "465af9d6c6fb7f360175991dcc23fc10917e3a06" }, + "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, + "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, - "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "9d811bb6ed44cf766f4bda8a47fd65fdfbdcaa7d" }, - "nvim-cmp": { "branch": "main", "commit": "aae0c3e4e778ca4be6fabc52e388cbd5b844b7a5" }, - "nvim-dap": { "branch": "master", "commit": "401f5f22b2d7f9bdbb9294d0235136091458816a" }, + "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, + "null-ls.nvim": { "branch": "main", "commit": "689cdd78f70af20a37b5309ebc287ac645ae4f76" }, + "nvim-cmp": { "branch": "main", "commit": "01f697a68905f9dcae70960a9eb013695a17f9a2" }, + "nvim-dap": { "branch": "master", "commit": "5b986edc95cf7b37da1db91a5c149daa3ac008d2" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, - "nvim-dap-ui": { "branch": "master", "commit": "110193102b4840be8bda6eb2358367026145ae3a" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "7f7f2af549e72a0b7bddc3b4f827beb027ea8ce3" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "9b8f5260f3e793e2dcb2899e0a5b944667a95cb2" }, + "nvim-lspconfig": { "branch": "master", "commit": "3b08f2edc461314b9051edf26348f8af3fe33e63" }, "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, - "nvim-osc52": { "branch": "main", "commit": "27da4724a887dabed3768b41fa51c785cb62ef26" }, - "nvim-treesitter": { "branch": "master", "commit": "f475b24c81d64d64ab213a73882b7c4f3bbbf26a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "fcd764507f723903af5507e141ea593e855b504a" }, + "nvim-osc52": { "branch": "main", "commit": "0abf3267090905accf348d19951640e3b95755c3" }, + "nvim-treesitter": { "branch": "master", "commit": "9dd1b9c09707bf1cdd565b999c79ac6461602591" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4b30081d2736e09f90c890a8a7adfe4df36f5b36" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "bb6d4fd1e010300510172b173ab5205d37af084f" }, + "nvim-web-devicons": { "branch": "master", "commit": "c2c2317f356c8b7da0252f5da758f71bb60bb6b2" }, "packer.nvim": { "branch": "master", "commit": "1d0cf98a561f7fd654c970c49f917d74fafe1530" }, - "playground": { "branch": "master", "commit": "c481c660fa903a0e295902b1765ecfbd6e76a556" }, - "plenary.nvim": { "branch": "master", "commit": "9a0d3bf7b832818c042aaf30f692b081ddd58bd9" }, + "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, - "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, "stylua-nvim": { "branch": "main", "commit": "ce59a353f02938cba3e0285e662fcd3901cd270f" }, "telescope-dap.nvim": { "branch": "master", "commit": "313d2ea12ae59a1ca51b62bf01fc941a983d9c9c" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, - "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, - "trouble.nvim": { "branch": "main", "commit": "556ef3089709a6e253df1e500381fec5eb48e48a" }, + "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, + "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "vim-cue": { "branch": "master", "commit": "bd1a62303d096aa24fe4160a475645087f8770b3" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, - "yanky.nvim": { "branch": "main", "commit": "100150704104db1930519eb2a05e5aee6d00f553" }, "zenbones.nvim": { "branch": "main", "commit": "910b8c240c6aaf5263db038db81c538602c766c3" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index a5685f6..553c853 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -5,12 +5,14 @@ if not vim.loop.fs_stat(lazypath) then end vim.opt.runtimepath:prepend(lazypath) --- require("lazy").setup("plugins") - require("lazy").setup({ import = "plugins", defaults = { lazy = true }, checker = { enabled = true }, + install = { + missing = true, + colorscheme = { "zenbones" }, + }, performance = { cache = { enabled = true, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 4b80a53..462c084 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -49,7 +49,6 @@ vim.cmd("set shortmess+=c") vim.o.completeopt = "menuone,noinsert,noselect" --- Appearance -vim.o.background = "light" vim.o.scrolloff = 7 vim.o.showmode = false vim.o.sidescrolloff = 5 diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index ba2cc41..2b40678 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -14,7 +14,7 @@ function M.config() lualine.setup({ options = { globalstatus = true, - theme = "onelight", + theme = "onedark", component_separators = { left = "╲", right = "╱" }, section_separators = { left = "", right = "" }, }, diff --git a/.config/nvim/lua/plugins/zenbones.lua b/.config/nvim/lua/plugins/zenbones.lua deleted file mode 100644 index 79c2c41..0000000 --- a/.config/nvim/lua/plugins/zenbones.lua +++ /dev/null @@ -1,132 +0,0 @@ -local M = { - "mcchrish/zenbones.nvim", - -- event = "VeryLazy", - dependencies = { - { "rktjmp/lush.nvim" }, - }, -} - -function M.config() - vim.g.zenbones = { - style = "light", - lightness = "bright", - colorize_diagnostic_underline_text = true, - transparent_background = true, - } - - local lush = require("lush") - local base = require("zenbones") - - -- Create some specs - ---@diagnostic disable = undefined-global - local specs = lush.parse(function(injected_functions) - -- See https://github.com/rktjmp/lush.nvim/issues/109 - local sym = injected_functions.sym - return { - CursorLine({ bg = "#f5f5f0" }), - Error({ fg = "#d9534f" }), - CursorLineNr({ fg = "#BCAAA4", bg = "#f5f5f0" }), - MsgArea({ fg = "#A1887F", bg = "#f1f1f1" }), - String({ fg = "#5E8122", gui = "italic" }), - Number({ fg = "#32936F" }), - sym("@field")({ fg = "#6F62A7" }), - sym("@string")({ fg = "#5B7B3D", gui = "italic" }), - sym("@type.definition")({ fg = "#B6465F", gui = "bold" }), - sym("@function")({ fg = "#8C1831", gui = "bold" }), - sym("@method")(sym("@function")), - -- Comment({ fg = "#114499", gui = "bold,italic" }), - -- Comment({ fg = "#144EE1", gui = "bold,italic" }), - Comment({ fg = "#8F001D", gui = "bold,italic" }), - Todo({ fg = "#FF0000", gui = "bold,underline" }), - EndOfBuffer({ fg = "#CBCFE1" }), - CopilotSuggestion({ fg = "#0066cc", gui = "bold,italic" }), - LineNr({ fg = "#9FA8AC", gui = "bold,italic" }), - LineNrAbove({ fg = "#9F080C", gui = "bold,italic" }), - IndentBlanklineContextChar({ fg = "#699FB5", gui = "italic" }), - Indent1({ fg = "#DFDF9A", gui = "italic" }), - Indent2({ fg = "#BAE1FF", gui = "italic" }), - Indent3({ fg = "#BAFFC9", gui = "italic" }), - Indent4({ fg = "#FFB3BA", gui = "italic" }), - Indent5({ fg = "#FFDFBA", gui = "italic" }), - Indent6({ fg = "#F3E5F5", gui = "italic" }), - NormalFloat({ bg = "#FFF9C4" }), - FloatBorder({ fg = "#FFB74D", bg = "#FFF9C4" }), - TelescopeNormal({ bg = "#EFEBE9" }), - TelescopeBorder({ fg = "#A1887F", bg = "#EFEBE9" }), - TelescopeSelection({ fg = "#FFFFFF", bg = "#1976D2" }), - DiagnosticSignError({ fg = "#ff2200", bg = "#fff5ff", gui = "bold" }), - DiagnosticVirtualTextInfo({ fg = "#0033bb", bg = "#f7fcff", gui = "bold,italic" }), - DiagnosticVirtualTextWarn({ fg = "#bb2200", bg = "#fff9f3", gui = "bold,italic" }), - DiagnosticVirtualTextError({ fg = "#ff2200", bg = "#fff5f3", gui = "italic" }), - DiagnosticUnderlineError({ fg = "#ff0000", gui = "undercurl" }), - DiagnosticUnderlineWarn({ fg = "#ff7700", gui = "undercurl" }), - DiagnosticUnderlineInfo({ fg = "#3366cc", gui = "undercurl" }), - MarkSignHL({ fg = "#009688", bg = "#E0F7FA" }), - MarkSignNumHL({ fg = "#B2DFDB", bg = "#E0F7FA" }), - GitSignsAdd({ fg = "#81C784" }), - GitSignsAddNr({ fg = "#C8E6C9" }), - GitSignsDelete({ fg = "#E53935" }), - GitSignsDeleteNr({ fg = "#FFCDD2" }), - GitSignsChange({ fg = "#FFA726" }), - GitSignsChangeNr({ fg = "#FFE0B2" }), - - Hlargs({ fg = "#2274A5" }), - - IlluminatedWordText({ bg = "#FFEE99" }), - NotifyBackground({ bg = "#FFF8D6" }), - - NavicIcons({ fg = "#cc0000" }), - NavicIconsFile({ fg = "#cc0000" }), - NavicIconsModule({ fg = "#cc0000" }), - NavicIconsNamespace({ fg = "#cc0000" }), - NavicIconsPackage({ fg = "#cc0000" }), - NavicIconsClass({ fg = "#cc0000" }), - NavicIconsMethod({ fg = "#cc0000" }), - NavicIconsProperty({ fg = "#cc0000" }), - NavicIconsField({ fg = "#cc0000" }), - NavicIconsConstructor({ fg = "#cc0000" }), - NavicIconsEnum({ fg = "#cc0000" }), - NavicIconsInterface({ fg = "#cc0000" }), - NavicIconsFunction({ fg = "#cc0000" }), - NavicIconsVariable({ fg = "#cc0000" }), - NavicIconsConstant({ fg = "#cc0000" }), - NavicIconsString({ fg = "#cc0000" }), - NavicIconsNumber({ fg = "#cc0000" }), - NavicIconsBoolean({ fg = "#cc0000" }), - NavicIconsArray({ fg = "#cc0000" }), - NavicIconsObject({ fg = "#cc0000" }), - NavicIconsKey({ fg = "#cc0000" }), - NavicIconsKeyword({ fg = "#cc0000" }), - NavicIconsNull({ fg = "#cc0000" }), - NavicIconsEnumMember({ fg = "#cc0000" }), - NavicIconsStruct({ fg = "#cc0000" }), - NavicIconsEvent({ fg = "#cc0000" }), - NavicIconsOperator({ fg = "#cc0000" }), - NavicIconsTypeParameter({ fg = "#cc0000" }), - - NavicText({ fg = "#cc0000", gui = "italic" }), - - -- LspCodeLens({ fg = "#00ff00", gui = "undercurl" }), - -- LspSignatureActiveParameter({ fg = "#ff0000", bg = "#ffffcc" }), - - NoiceCmdlinePopup({ bg = "#E1F5FE" }), - NoiceMini({ bg = "#FFF9C4" }), - - PMenu({ bg = "#F7F5F0" }), - PMenuBorder({ bg = "#F7F5F0", fg = "#886622" }), - PMenuSel({ fg = "#FFFFFF", bg = "#1976D2" }), - PMenuSbar({ bg = "#90CAF9" }), - PMenuThumb({ bg = "#64B5F6" }), - StatusLine({ base = base.VertSplit, fg = "#BCAAA4" }), - StatusLineNC({ base = base.VertSplit, fg = "#BCAAA4" }), - TreesitterContext({ bg = "#f0f0f0", fg = "#BCAAA4", gui = "bold,italic" }), - TreesitterContextLineNumber({ bg = "#f0f0f0", fg = "#979770", gui = "bold,italic" }), - } - end) - - -- Apply specs using lush tool-chain - lush.apply(lush.compile(specs)) - vim.cmd("colorscheme zenbones") -end - -return M From 75ea947fa80d5a01e583f1bcbcedc57b54c0e913 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 3 Mar 2023 09:28:42 +0100 Subject: [PATCH 003/656] onward --- .config/fontconfig/fonts.conf | 11 ++++ .config/wezterm/wezterm.lua | 64 ++++--------------- .../wezterm-dln-dev-secondary.desktop | 3 +- 3 files changed, 26 insertions(+), 52 deletions(-) diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf index 2532559..b06e4c3 100644 --- a/.config/fontconfig/fonts.conf +++ b/.config/fontconfig/fonts.conf @@ -32,4 +32,15 @@ </edit> </match> --> + <match target="font"> + <edit name="hinting" mode="assign"> + <bool>true</bool> + </edit> + </match> + <match target="font"> + <edit name="hintstyle" mode="assign"> + <const>hintslight</const> + </edit> + </match> + <dir>~/.fonts</dir> </fontconfig> diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 73fd9df..6d0bf3d 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -7,8 +7,9 @@ end local themeShelmanDark = { colors = { - foreground = "#ded9ce", - background = "#171a23", + -- foreground = "#ded9ce", + foreground = "#f0f0f0", + background = "#141619", cursor_bg = "#FB8C00", cursor_border = "#FB8C00", split = "#444444", @@ -21,39 +22,6 @@ local themeShelmanDark = { inactive_tab_hover = { bg_color = "#333333", fg_color = "#909090", italic = true }, }, }, - - tab_bar_style = { - active_tab_left = wezterm.format({ - { Background = { Color = "#171a23" } }, - { Foreground = { Color = "#000000" } }, - { Text = " " }, - }), - active_tab_right = wezterm.format({ - { Background = { Color = "#171a23" } }, - { Foreground = { Color = "#000000" } }, - { Text = " " }, - }), - inactive_tab_left = wezterm.format({ - { Background = { Color = "#000000" } }, - { Foreground = { Color = "#171a23" } }, - { Text = " " }, - }), - inactive_tab_right = wezterm.format({ - { Background = { Color = "#000000" } }, - { Foreground = { Color = "#171a23" } }, - { Text = "▕" }, - }), - inactive_tab_hover_left = wezterm.format({ - { Background = { Color = "#333333" } }, - { Foreground = { Color = "#ffffff" } }, - { Text = " " }, - }), - inactive_tab_hover_right = wezterm.format({ - { Background = { Color = "#333333" } }, - { Foreground = { Color = "#ffffff" } }, - { Text = " " }, - }), - }, } local themeShelmanLight = { @@ -102,21 +70,18 @@ return { warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", - - font_size = 10.5, + font_size = 14, line_height = 1.0, cell_width = 0.9, - initial_cols = 128, initial_rows = 45, use_resize_increments = false, - - window_background_opacity = 0.93, + -- window_background_opacity = 1.0, --0.93, window_padding = { - left = "0", - right = "0", - top = "0", - bottom = "0", + left = "20", + right = "20", + top = "20", + bottom = "20", }, window_decorations = "RESIZE", window_frame = { @@ -124,16 +89,14 @@ return { border_right_width = "2px", border_bottom_height = "2px", border_top_height = "2px", - border_left_color = "#cccccc", - border_right_color = "#cccccc", - border_bottom_color = "#cccccc", - border_top_color = "#cccccc", + border_left_color = "#999999", + border_right_color = "#999999", + border_bottom_color = "#999999", + border_top_color = "#999999", }, - default_cursor_style = "SteadyBlock", cursor_thickness = "3px", cursor_blink_rate = 300, - enable_wayland = true, enable_tab_bar = false, tab_bar_at_bottom = true, @@ -145,7 +108,6 @@ return { status_update_interval = 100, audible_bell = "Disabled", term = "wezterm", - disable_default_key_bindings = true, keys = { { key = "c", mods = "ALT|SHIFT", action = wezterm.action({ CopyTo = "ClipboardAndPrimarySelection" }) }, diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop index 6d7b938..2b16f20 100644 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -7,4 +7,5 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new-session", "-As1", "-t0"}' --config font_size=9 --config=window_background_opacity=0.4 start --class=wezterm-dln-dev-secondary +#Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new-session", "-As1", "-t0"}' --config font_size=11 --config=window_background_opacity=0.4 start --class=wezterm-dln-dev-secondary +Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new-session", "-As1", "-t0"}' --config font_size=11 start --class=wezterm-dln-dev-secondary From 198903664ae643e1f18db9756300b9ba1e2a87b1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 1 Mar 2023 15:04:05 +0100 Subject: [PATCH 004/656] nvim: config --- .config/nvim/init.lua | 1 + .config/nvim/lua/plugins/dap.lua | 56 ++++++++++++++++---------- .config/nvim/lua/plugins/misc.lua | 18 ++++----- .config/nvim/lua/plugins/null-ls.lua | 1 + .config/nvim/lua/plugins/telescope.lua | 2 +- 5 files changed, 47 insertions(+), 31 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 55b8979..74740c5 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1 +1,2 @@ +require("config.options") require("config.lazy") diff --git a/.config/nvim/lua/plugins/dap.lua b/.config/nvim/lua/plugins/dap.lua index aeec64d..c31328f 100644 --- a/.config/nvim/lua/plugins/dap.lua +++ b/.config/nvim/lua/plugins/dap.lua @@ -1,8 +1,6 @@ -local M = { +return { "mfussenegger/nvim-dap", - dependencies = { - { "rcarriga/nvim-dap-ui" }, { "theHamsta/nvim-dap-virtual-text", config = function() @@ -16,24 +14,40 @@ local M = { config = function() require("dap-go").setup() end, - keys = { - { "<leader>y", ":lua require('dap-go').debug_test()<CR>" }, - }, }, }, + keys = { + { "DD", ":lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" }, + { "Dc", ":lua require'dap'.continue()<cr>", desc = "Continue" }, + { "Di", ":lua require'dap'.step_into()<cr>", desc = "Step Into" }, + { "Do", ":lua require'dap'.step_over()<cr>", desc = "Step Over" }, + { "DO", ":lua require'dap'.step_out()<cr>", desc = "Step Out" }, + { "Dh", ":lua require'dap.ui.widgets'.hover()<cr>", desc = "Hover" }, + { "Dr", ":lua require'dap'.repl.toggle({height = 5})<cr>", desc = "Toogle Repl" }, + }, + config = function() + require("dap") + require("dap.ext.vscode").load_launchjs() + + vim.fn.sign_define( + "DapBreakpoint", + { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapBreakpointCondition", + { text = "ﳁ", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapBreakpointRejected", + { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } + ) + vim.fn.sign_define( + "DapLogPoint", + { text = "", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" } + ) + vim.fn.sign_define( + "DapStopped", + { text = "", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" } + ) + end, } - -function M.init() - local silent = { silent = true } - vim.fn.sign_define("DapStopped", { text = "⇒", texthl = "", linehl = "debugPC", numhl = "" }) - vim.fn.sign_define("DapBreakpoint", { text = "🧘", texthl = "", linehl = "debugPC", numhl = "" }) - vim.keymap.set("n", "DD", ":lua require 'dap'.toggle_breakpoint()<CR>", silent) - vim.keymap.set("n", "Dc", ":lua require 'dap'.continue()<CR>", silent) - vim.keymap.set("n", "Di", ":lua require 'dap'.step_into()<CR>", silent) - vim.keymap.set("n", "Do", ":lua require 'dap'.step_over()<CR>", silent) - vim.keymap.set("n", "DO", ":lua require 'dap'.step_out()<CR>", silent) - vim.keymap.set("n", "Dr", ":lua require 'dap'.repl.toggle({height = 5})<CR>", silent) - vim.keymap.set("n", "Dh", ":lua require 'dap.ui.widgets'.hover()<CR>", silent) -end - -return M diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua index 4689229..24391dd 100644 --- a/.config/nvim/lua/plugins/misc.lua +++ b/.config/nvim/lua/plugins/misc.lua @@ -104,13 +104,13 @@ return { end, }, - { - url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim", - config = function() - require("lsp_lines").setup() - vim.diagnostic.config({ - virtual_text = false, - }) - end, - }, + -- { + -- url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim", + -- config = function() + -- require("lsp_lines").setup() + -- vim.diagnostic.config({ + -- virtual_text = false, + -- }) + -- end, + -- }, } diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua index 1a74e9c..f8bab18 100644 --- a/.config/nvim/lua/plugins/null-ls.lua +++ b/.config/nvim/lua/plugins/null-ls.lua @@ -15,6 +15,7 @@ function M.config() builtins.formatting.shfmt, builtins.formatting.sqlfluff, builtins.formatting.buildifier, + builtins.formatting.prettierd, builtins.completion.spell, builtins.code_actions.eslint_d, builtins.diagnostics.buf.with({ diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 4848f50..cb54946 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -26,7 +26,7 @@ function M.config() vim.keymap.set("n", "<leader>f", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') vim.keymap.set("n", "<space>", '<cmd>lua require("telescope.builtin").oldfiles({cwd_only=true})<CR>') vim.keymap.set("n", "<leader><space>", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') - vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics()<CR>') + vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics({bufnr=0})<CR>') vim.keymap.set("n", "<leader>e", '<cmd>lua require("telescope.builtin").git_files()<CR>') vim.keymap.set("n", "<leader>g", '<cmd>lua require("telescope.builtin").git_status()<CR>') vim.keymap.set("n", "<leader>a", '<cmd>lua require("telescope.builtin").lsp_code_actions()<CR>') From 491d064414bf383cd815cd708df3be32cea0be95 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 3 Mar 2023 11:33:16 +0100 Subject: [PATCH 005/656] nvim: colorscheme --- .config/nvim/lua/plugins/colorscheme.lua | 208 +++++++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 .config/nvim/lua/plugins/colorscheme.lua diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..c034038 --- /dev/null +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,208 @@ +return { + + { + "mcchrish/zenbones.nvim", + lazy = false, + priority = 1000, + dependencies = { + "rktjmp/lush.nvim", + }, + config = function() + vim.g.zenbones = { + style = "light", + lightness = "bright", + colorize_diagnostic_underline_text = true, + transparent_background = true, + } + + local lush = require("lush") + local base = require("zenbones") + + -- Create some specs + ---@diagnostic disable = undefined-global + local specs = lush.parse(function(injected_functions) + -- See https://github.com/rktjmp/lush.nvim/issues/109 + local sym = injected_functions.sym + return { + Special({ fg = "#EFEBE9" }), + Normal({ fg = "#f0f0f0" }), + Statement({ fg = "#e0e0e0", gui = "bold" }), + Identifier({ fg = "#e7f0f7" }), + Type({ fg = "#E3F2FD" }), + CursorLine({ bg = "#102030" }), + Error({ fg = "#d9534f", bg = "#110000" }), + CursorLineNr({ fg = "#BCAAA4", bg = "#102030" }), + MsgArea({ fg = "#A1887F", bg = "#f1f1f1" }), + Number({ fg = "#32936F" }), + sym("@field")({ fg = "#E3F2FD" }), + String({ fg = "#C5E1A5", gui = "italic" }), + sym("@string")({ fg = "#C5E1A5", gui = "italic" }), + sym("@type.definition")({ fg = "#CE93D8", gui = "bold" }), + sym("@function")({ fg = "#FFAB91", gui = "bold" }), + sym("@method")(sym("@function")), + -- Comment({ fg = "#114499", gui = "bold,italic" }), + -- Comment({ fg = "#144EE1", gui = "bold,italic" }), + Comment({ fg = "#E0E0E0", gui = "bold,italic" }), + Todo({ fg = "#FF0000", gui = "bold,underline" }), + EndOfBuffer({ fg = "#CBCFE1" }), + CopilotSuggestion({ fg = "#0066cc", gui = "bold,italic" }), + LineNr({ fg = "#9FA8AC", gui = "bold,italic" }), + LineNrAbove({ fg = "#9F080C", gui = "bold,italic" }), + IndentBlanklineContextChar({ fg = "#699FB5", gui = "italic" }), + -- Indent1({ fg = "#DFDF9A", gui = "italic" }), + -- Indent2({ fg = "#BAE1FF", gui = "italic" }), + -- Indent3({ fg = "#BAFFC9", gui = "italic" }), + -- Indent4({ fg = "#FFB3BA", gui = "italic" }), + -- Indent5({ fg = "#FFDFBA", gui = "italic" }), + -- Indent6({ fg = "#F3E5F5", gui = "italic" }), + NormalFloat({ bg = "#263238" }), + FloatBorder({ fg = "#FFB74D", bg = "#263238" }), + TelescopeNormal({ bg = "#263238" }), + TelescopeBorder({ fg = "#78909C", bg = "#263238" }), + TelescopeSelection({ fg = "#FFF8E1", bg = "#01579B" }), + DiagnosticSignError({ fg = "#ff2200", bg = "#220000", gui = "bold" }), + DiagnosticVirtualTextInfo({ fg = "#0033bb", bg = "#f7fcff", gui = "bold,italic" }), + DiagnosticVirtualTextWarn({ fg = "#bb2200", bg = "#110000", gui = "bold,italic" }), + DiagnosticVirtualTextError({ fg = "#ff2200", bg = "#110000", gui = "italic" }), + DiagnosticUnderlineError({ fg = "#ff0000", gui = "undercurl" }), + DiagnosticUnderlineWarn({ fg = "#ff7700", gui = "undercurl" }), + DiagnosticUnderlineInfo({ fg = "#3366cc", gui = "undercurl" }), + MarkSignHL({ fg = "#009688", bg = "#E0F7FA" }), + MarkSignNumHL({ fg = "#B2DFDB", bg = "#E0F7FA" }), + GitSignsAdd({ fg = "#81C784" }), + GitSignsAddNr({ fg = "#C8E6C9" }), + GitSignsDelete({ fg = "#E53935" }), + GitSignsDeleteNr({ fg = "#FFCDD2" }), + GitSignsChange({ fg = "#FFA726" }), + GitSignsChangeNr({ fg = "#FFE0B2" }), + + Hlargs({ fg = "#FFF8E1" }), + + IlluminatedWordText({ fg = "#FFA000" }), + NotifyBackground({ bg = "#FFF8D6" }), + + NavicIcons({ fg = "#cc0000" }), + NavicIconsFile({ fg = "#cc0000" }), + NavicIconsModule({ fg = "#cc0000" }), + NavicIconsNamespace({ fg = "#cc0000" }), + NavicIconsPackage({ fg = "#cc0000" }), + NavicIconsClass({ fg = "#cc0000" }), + NavicIconsMethod({ fg = "#cc0000" }), + NavicIconsProperty({ fg = "#cc0000" }), + NavicIconsField({ fg = "#cc0000" }), + NavicIconsConstructor({ fg = "#cc0000" }), + NavicIconsEnum({ fg = "#cc0000" }), + NavicIconsInterface({ fg = "#cc0000" }), + NavicIconsFunction({ fg = "#cc0000" }), + NavicIconsVariable({ fg = "#cc0000" }), + NavicIconsConstant({ fg = "#cc0000" }), + NavicIconsString({ fg = "#cc0000" }), + NavicIconsNumber({ fg = "#cc0000" }), + NavicIconsBoolean({ fg = "#cc0000" }), + NavicIconsArray({ fg = "#cc0000" }), + NavicIconsObject({ fg = "#cc0000" }), + NavicIconsKey({ fg = "#cc0000" }), + NavicIconsKeyword({ fg = "#cc0000" }), + NavicIconsNull({ fg = "#cc0000" }), + NavicIconsEnumMember({ fg = "#cc0000" }), + NavicIconsStruct({ fg = "#cc0000" }), + NavicIconsEvent({ fg = "#cc0000" }), + NavicIconsOperator({ fg = "#cc0000" }), + NavicIconsTypeParameter({ fg = "#cc0000" }), + + NavicText({ fg = "#cc0000", gui = "italic" }), + + -- LspCodeLens({ fg = "#00ff00", gui = "undercurl" }), + -- LspSignatureActiveParameter({ fg = "#ff0000", bg = "#ffffcc" }), + + NoiceCmdlinePopup({ bg = "#263238" }), + NoiceMini({ bg = "#263238" }), + + PMenu({ bg = "#263238" }), + PMenuBorder({ bg = "#F7F5F0", fg = "#886622" }), + PMenuSel({ fg = "#FFFFFF", bg = "#1976D2" }), + PMenuSbar({ bg = "#90CAF9" }), + PMenuThumb({ bg = "#64B5F6" }), + StatusLine({ base = base.VertSplit, fg = "#BCAAA4" }), + StatusLineNC({ base = base.VertSplit, fg = "#BCAAA4" }), + TreesitterContext({ bg = "#f0f0f0", fg = "#BCAAA4", gui = "bold,italic" }), + TreesitterContextLineNumber({ bg = "#f0f0f0", fg = "#979770", gui = "bold,italic" }), + } + end) + + -- Apply specs using lush tool-chain + vim.cmd([[colorscheme zenbones]]) + lush.apply(lush.compile(specs)) + end, + }, + + -- { + -- "rebelot/kanagawa.nvim", + -- name = "kanagawa", + -- lazy = false, + -- priority = 1000, + -- config = function() + -- require("kanagawa").setup({ + -- commentStyle = { bold = true, italic = true }, + -- functionStyle = {}, + -- keywordStyle = {}, + -- statementStyle = { bold = true }, + -- typeStyle = {}, + -- variablebuiltinStyle = { italic = true }, + -- transparent = true, -- do not set background color + -- colors = { + -- + -- fujiWhite = "#FFFFFF", + -- }, + -- overrides = {}, + -- theme = "default", -- Load "default" theme or the experimental "light" theme + -- }) + -- -- vim.cmd([[colorscheme kanagawa ]]) + -- end, + -- }, + + -- { + -- "catppuccin/nvim", + -- name = "catppuccin", + -- lazy = false, + -- priority = 1000, + -- config = function() + -- require("catppuccin").setup({ + -- flavour = "mocha", -- latte, frappe, macchiato, mocha + -- background = { + -- light = "latte", + -- dark = "latte", + -- }, + -- transparent_background = true, + -- show_end_of_buffer = true, + -- styles = { + -- comments = { "bold,italic" }, + -- conditionals = {}, + -- loops = {}, + -- functions = {}, + -- keywords = {}, + -- strings = { "italic" }, + -- variables = {}, + -- numbers = {}, + -- booleans = {}, + -- properties = {}, + -- types = {}, + -- operators = {}, + -- }, + -- custom_highlights = function(colors) + -- return { + -- Comment = { fg = colors.blue }, + -- Keyword = { fg = colors.rosewater }, + -- ["@keyword"] = { fg = colors.rosewater }, + -- ["@keyword.operator"] = { fg = colors.rosewater }, + -- ["@keyword.function"] = { fg = colors.rosewater }, + -- ["@keyword.return"] = { fg = colors.rosewater }, + -- ["@constant.builtin"] = { fg = colors.peach, style = {} }, + -- -- ["@comment"] = { fg = colors.blue, style = { "bold,italic" } }, + -- } + -- end, + -- }) + -- vim.cmd([[colorscheme catppuccin ]]) + -- end, + -- }, +} From b6796b88619c2a1de96919cde749bb9ef296aed7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 10:42:16 +0100 Subject: [PATCH 006/656] wezterm magic --- .config/wezterm/wezterm.lua | 123 +++++++++++------- .../wezterm-dln-dev-secondary.desktop | 3 +- .../applications/wezterm-dln-dev.desktop | 2 +- 3 files changed, 76 insertions(+), 52 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 6d0bf3d..b47d30d 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -1,45 +1,40 @@ local wezterm = require("wezterm") +local mux = wezterm.mux +local act = wezterm.action function font_with_fallback(name, params) - local names = { name, "Noto Color Emoji", "Iosevka Nerd Font Mono" } + local names = { name, "Noto Color Emoji" } return wezterm.font_with_fallback(names, params) end -local themeShelmanDark = { - colors = { - -- foreground = "#ded9ce", - foreground = "#f0f0f0", - background = "#141619", - cursor_bg = "#FB8C00", - cursor_border = "#FB8C00", - split = "#444444", - ansi = { "#000000", "#ff605a", "#b1e869", "#ead89c", "#5da9f6", "#e86aff", "#82fff6", "#ded9ce" }, - brights = { "#313131", "#f58b7f", "#dcf88f", "#eee5b2", "#a5c7ff", "#ddaaff", "#b6fff9", "#fefffe" }, - tab_bar = { - background = "#000000", - active_tab = { bg_color = "#171a23", fg_color = "#c0b070", intensity = "Normal" }, - inactive_tab = { bg_color = "#000000", fg_color = "#c0c0c0", intensity = "Half" }, - inactive_tab_hover = { bg_color = "#333333", fg_color = "#909090", italic = true }, - }, - }, -} +wezterm.on("mux-startup", function() + local tab, pane, window = mux.spawn_window({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) +end) -local themeShelmanLight = { - colors = { - foreground = "#000000", - background = "#fcfcfc", - cursor_bg = "#EA526F", - cursor_fg = "#ffffff", - cursor_border = "#cc0000", - split = "#444444", - selection_bg = "#FFCA28", - ansi = { "#212121", "#b7141e", "#457b23", "#f5971d", "#134eb2", "#550087", "#0e707c", "#eeeeee" }, - brights = { "#424242", "#e83a3f", "#7aba39", "#fee92e", "#53a4f3", "#a94dbb", "#26bad1", "#d8d8d8" }, - }, -} +function scheme_for_appearance(appearance) + if appearance:find("Dark") then + -- return "Shelman Light" + return "Shelman Dark" + else + return "Shelman Dark" + -- return "Shelman Light" + end +end + +local is_server = wezterm.hostname() == "dln-dev" return { - colors = themeShelmanLight.colors, + color_scheme = (is_server and "Shelman Dark" or scheme_for_appearance(wezterm.gui.get_appearance())), + color_scheme_dirs = { "/home/dln/.config/wezterm" }, font = font_with_fallback("Iosevka Shelman SS09", { weight = "Regular" }), font_rules = { { @@ -70,18 +65,26 @@ return { warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", - font_size = 14, + font_size = 13.5, line_height = 1.0, - cell_width = 0.9, - initial_cols = 128, - initial_rows = 45, - use_resize_increments = false, - -- window_background_opacity = 1.0, --0.93, + cell_width = 0.95, + -- initial_cols = 128, + -- initial_rows = 45, + use_resize_increments = true, + window_background_opacity = 1.0, window_padding = { - left = "20", - right = "20", - top = "20", - bottom = "20", + left = "0.75cell", + right = "0.5cell", + top = "0.25cell", + bottom = "0cell", + }, + colors = { + tab_bar = { + active_tab = { + fg_color = "#e0e0e0", + bg_color = "#374f66", + }, + }, }, window_decorations = "RESIZE", window_frame = { @@ -89,17 +92,20 @@ return { border_right_width = "2px", border_bottom_height = "2px", border_top_height = "2px", - border_left_color = "#999999", - border_right_color = "#999999", - border_bottom_color = "#999999", - border_top_color = "#999999", + border_left_color = "#333333", + border_right_color = "#333333", + border_bottom_color = "#333333", + border_top_color = "#333333", + inactive_titlebar_bg = "#21262e", + active_titlebar_bg = "#252b34", }, default_cursor_style = "SteadyBlock", cursor_thickness = "3px", cursor_blink_rate = 300, enable_wayland = true, - enable_tab_bar = false, + enable_tab_bar = true, tab_bar_at_bottom = true, + use_fancy_tab_bar = true, show_tab_index_in_tab_bar = true, enable_scroll_bar = false, scrollback_lines = 5000, @@ -110,11 +116,30 @@ return { term = "wezterm", disable_default_key_bindings = true, keys = { - { key = "c", mods = "ALT|SHIFT", action = wezterm.action({ CopyTo = "ClipboardAndPrimarySelection" }) }, + { key = "c", mods = "ALT|SHIFT", action = act({ CopyTo = "ClipboardAndPrimarySelection" }) }, { key = "v", mods = "ALT|SHIFT", action = "Paste" }, { key = "0", mods = "CTRL", action = "ResetFontSize" }, { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, + { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + -- mux + { key = "E", mods = "CTRL|SHIFT", action = act.DetachDomain({ DomainName = "dln-dev" }) }, + { key = "1", mods = "ALT", action = act({ ActivateTab = 0 }) }, + { key = "2", mods = "ALT", action = act({ ActivateTab = 1 }) }, + { key = "3", mods = "ALT", action = act({ ActivateTab = 2 }) }, + { key = "4", mods = "ALT", action = act({ ActivateTab = 3 }) }, + { key = "5", mods = "ALT", action = act({ ActivateTab = 4 }) }, + { key = "6", mods = "ALT", action = act({ ActivateTab = 5 }) }, + { key = "7", mods = "ALT", action = act({ ActivateTab = 6 }) }, + { key = "8", mods = "ALT", action = act({ ActivateTab = 7 }) }, + { key = "9", mods = "ALT", action = act({ ActivateTab = 8 }) }, + }, + unix_domains = { + { + name = "dln-dev", + local_echo_threshold_ms = 100, + proxy_command = is_server == false and { "ssh", "dln-dev", "wezterm", "cli", "proxy" } or null, + }, }, } diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop index 2b16f20..b545e9f 100644 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -7,5 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -#Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new-session", "-As1", "-t0"}' --config font_size=11 --config=window_background_opacity=0.4 start --class=wezterm-dln-dev-secondary -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new-session", "-As1", "-t0"}' --config font_size=11 start --class=wezterm-dln-dev-secondary +Exec=/usr/bin/wezterm connect dln-dev --class=wezterm-dln-dev-secondary diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop index aa25828..41311a9 100644 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ b/.local/share/applications/wezterm-dln-dev.desktop @@ -7,5 +7,5 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As0"}' start --class=wezterm-dln-dev +Exec=/usr/bin/wezterm connect dln-dev --class=wezterm-dln-dev #Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev"}' start --class=wezterm-dln-dev From dcf02aff925628d2dc55b93e6a18c35038b33987 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 16:51:47 +0100 Subject: [PATCH 007/656] ssh: remove dbus socket forwarding --- .config/systemd/user/dbus-notification-proxy.service | 9 --------- .ssh/config | 1 - 2 files changed, 10 deletions(-) delete mode 100644 .config/systemd/user/dbus-notification-proxy.service diff --git a/.config/systemd/user/dbus-notification-proxy.service b/.config/systemd/user/dbus-notification-proxy.service deleted file mode 100644 index 1b96cce..0000000 --- a/.config/systemd/user/dbus-notification-proxy.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=dbus proxy for desktop notifications - -[Service] -ExecStart=/usr/bin/xdg-dbus-proxy "$DBUS_SESSION_BUS_ADDRESS" %t/bus-notification --filter --talk=org.freedesktop.Notifications -Restart=always - -[Install] -WantedBy=default.target diff --git a/.ssh/config b/.ssh/config index 0f4ff61..7f7f1c4 100644 --- a/.ssh/config +++ b/.ssh/config @@ -28,4 +28,3 @@ LocalForward 127.0.0.1:8080 127.0.0.1:8080 # RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.extra RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh # RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.scdaemon ${XDG_RUNTIME_DIR}/gnupg/S.scdaemon -RemoteForward ${XDG_RUNTIME_DIR}/bus-notification ${XDG_RUNTIME_DIR}/bus-notification From d4605f5a553b1e5e0ffa4953bac33796ae3f7ab5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 16:53:50 +0100 Subject: [PATCH 008/656] wezterm: use multiplexer --- .config/wezterm/shelman-dark.toml | 14 ++++++++++++ .config/wezterm/shelman-light.toml | 14 ++++++++++++ .config/wezterm/wezterm.lua | 34 ++++++++++++++++++++++++------ 3 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 .config/wezterm/shelman-dark.toml create mode 100644 .config/wezterm/shelman-light.toml diff --git a/.config/wezterm/shelman-dark.toml b/.config/wezterm/shelman-dark.toml new file mode 100644 index 0000000..24f0f06 --- /dev/null +++ b/.config/wezterm/shelman-dark.toml @@ -0,0 +1,14 @@ +[metadata] + name = "Shelman Dark" + origin_url = "" + +[colors] + ansi = ["#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0"] + brights = ["#000000", "#ffb4af", "#d2ffba", "#ffebb7", "#b1deff", "#edb5ff", "#bdf4ff", "#ffffff"] + background = "#1e2835" + foreground = "#e0e0e0" + cursor_bg = "#ffcc00" + cursor_fg = "#000000" + cursor_border = "#ffcc00" + selection_bg = "#d7d7d7" + selection_fg = "#000000" diff --git a/.config/wezterm/shelman-light.toml b/.config/wezterm/shelman-light.toml new file mode 100644 index 0000000..6b730cb --- /dev/null +++ b/.config/wezterm/shelman-light.toml @@ -0,0 +1,14 @@ +[metadata] + name = "Shelman Light" + origin_url = "" + +[colors] + ansi = ["#000000", "#9e001d", "#509e00", "#ffc900", "#00669e", "#7d009e", "#008a9e", "#f0f0f0"] + brights = ["#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff"] + background = "#fefeff" + foreground = "#000000" + cursor_bg = "#aa0000" + cursor_fg = "#ffffff" + cursor_border = "#aa0000" + selection_bg = "#d7d7d7" + selection_fg = "#000000" diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b47d30d..cd0962e 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -1,12 +1,27 @@ local wezterm = require("wezterm") +local io = require("io") +local os = require("os") local mux = wezterm.mux local act = wezterm.action -function font_with_fallback(name, params) +local function font_with_fallback(name, params) local names = { name, "Noto Color Emoji" } return wezterm.font_with_fallback(names, params) end +wezterm.on("gui-startup", function(cmd) + local tab, pane, window = mux.spawn_window(cmd or {}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) + window:spawn_tab({}) +end) + wezterm.on("mux-startup", function() local tab, pane, window = mux.spawn_window({}) window:spawn_tab({}) @@ -20,20 +35,25 @@ wezterm.on("mux-startup", function() window:spawn_tab({}) end) -function scheme_for_appearance(appearance) +local function scheme_for_appearance(appearance) if appearance:find("Dark") then - -- return "Shelman Light" return "Shelman Dark" else - return "Shelman Dark" - -- return "Shelman Light" + return "Shelman Light" end end +local function _get_scheme() + -- if wezterm.gui then + -- return return scheme_for_appearance(wezterm.gui.get_appearance()) + -- end + return "Shelman Dark" +end + local is_server = wezterm.hostname() == "dln-dev" return { - color_scheme = (is_server and "Shelman Dark" or scheme_for_appearance(wezterm.gui.get_appearance())), + color_scheme = _get_scheme(), color_scheme_dirs = { "/home/dln/.config/wezterm" }, font = font_with_fallback("Iosevka Shelman SS09", { weight = "Regular" }), font_rules = { @@ -139,7 +159,7 @@ return { { name = "dln-dev", local_echo_threshold_ms = 100, - proxy_command = is_server == false and { "ssh", "dln-dev", "wezterm", "cli", "proxy" } or null, + proxy_command = is_server == false and { "ssh", "dln-dev", "wezterm", "cli", "proxy" } or nil, }, }, } From 7a66f62635cf4fe79267560ece6b92bb6fcbbdc4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 22:39:24 +0100 Subject: [PATCH 009/656] nvim: darkness --- .config/nvim/lazy-lock.json | 63 ++++--- .config/nvim/lua/plugins/colorscheme.lua | 208 ----------------------- .config/nvim/lua/plugins/zenbones.lua | 4 +- 3 files changed, 32 insertions(+), 243 deletions(-) delete mode 100644 .config/nvim/lua/plugins/colorscheme.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index f935590..3179b01 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,58 +1,55 @@ { - "Comment.nvim": { "branch": "master", "commit": "418d3117dab2f54c4340ea73e0070dd78fc81753" }, + "Comment.nvim": { "branch": "master", "commit": "6821b3ae27a57f1f3cf8ed030e4a55d70d0c4e43" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" }, + "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp-tmux": { "branch": "main", "commit": "984772716f66d8ee88535a6bf3f94c4b4e1301f5" }, "colorbuddy.vim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "copilot-cmp": { "branch": "master", "commit": "b732a58ac8b7287b981cd9f0d9c0f61e5e9d5760" }, - "copilot.lua": { "branch": "master", "commit": "137df557486f91627b8e4708a47088f36950f12c" }, - "gitsigns.nvim": { "branch": "main", "commit": "4bd5d7702c17643ff40c035b6b936757b99743c7" }, - "go.nvim": { "branch": "master", "commit": "4977d3165d6ee8a06781f7b3443484fe7e91c9a3" }, - "hlargs.nvim": { "branch": "main", "commit": "88b925d699fb39633cdda02c24f0b3ba5d0e6964" }, + "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, + "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, + "gitsigns.nvim": { "branch": "main", "commit": "b1f9cf7c5c5639c006c937fc1819e09f358210fc" }, + "go.nvim": { "branch": "master", "commit": "1844fd11a143aba3eec644c2e2099a20f79c1ec1" }, + "hlargs.nvim": { "branch": "main", "commit": "a7ad6ed8d6e27ea4dd13fda63fa732e9196ba4ea" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, - "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "lazy.nvim": { "branch": "main", "commit": "6a18404b7d1c05f0d1f35f7b78bd5c282dff7a89" }, - "lsp_lines.nvim": { "branch": "main", "commit": "ec98b45c8280e5ef8c84028d4f38aa447276c002" }, + "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, + "lazy.nvim": { "branch": "main", "commit": "e89acede13f46a5db229133cf0c87aee74938c56" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, - "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, + "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "lush.nvim": { "branch": "main", "commit": "b1e8eb1da3fee95ef31515a73c9eff9bf251088d" }, - "marks.nvim": { "branch": "master", "commit": "c3b18b97912720a6586fb537c5c0dfc9e06a68f1" }, - "neogen": { "branch": "main", "commit": "465af9d6c6fb7f360175991dcc23fc10917e3a06" }, - "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, - "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, - "null-ls.nvim": { "branch": "main", "commit": "9d811bb6ed44cf766f4bda8a47fd65fdfbdcaa7d" }, - "nvim-cmp": { "branch": "main", "commit": "aae0c3e4e778ca4be6fabc52e388cbd5b844b7a5" }, - "nvim-dap": { "branch": "master", "commit": "401f5f22b2d7f9bdbb9294d0235136091458816a" }, + "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, + "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, + "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, + "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, + "null-ls.nvim": { "branch": "main", "commit": "900c38cfa91eb7ff2716da70f2f2c1d33741cf0a" }, + "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, + "nvim-dap": { "branch": "master", "commit": "75a94b8b577a970c0cad25a54a64dc40fc6fa0ea" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, - "nvim-dap-ui": { "branch": "master", "commit": "110193102b4840be8bda6eb2358367026145ae3a" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "7f7f2af549e72a0b7bddc3b4f827beb027ea8ce3" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "9b8f5260f3e793e2dcb2899e0a5b944667a95cb2" }, - "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, - "nvim-osc52": { "branch": "main", "commit": "27da4724a887dabed3768b41fa51c785cb62ef26" }, - "nvim-treesitter": { "branch": "master", "commit": "f475b24c81d64d64ab213a73882b7c4f3bbbf26a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "fcd764507f723903af5507e141ea593e855b504a" }, + "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, + "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, + "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, + "nvim-treesitter": { "branch": "master", "commit": "356c9db3478b1bc6d0f0eefcb397989e50fdc35f" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5f13206ec33e55b16c8e1a9dec301e8bead4835" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-web-devicons": { "branch": "master", "commit": "bb6d4fd1e010300510172b173ab5205d37af084f" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, + "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, "packer.nvim": { "branch": "master", "commit": "1d0cf98a561f7fd654c970c49f917d74fafe1530" }, - "playground": { "branch": "master", "commit": "c481c660fa903a0e295902b1765ecfbd6e76a556" }, - "plenary.nvim": { "branch": "master", "commit": "9a0d3bf7b832818c042aaf30f692b081ddd58bd9" }, + "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, + "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, - "refactoring.nvim": { "branch": "master", "commit": "57c32c6b7a211e5a3a5e4ddc4ad2033daff5cf9a" }, "stylua-nvim": { "branch": "main", "commit": "ce59a353f02938cba3e0285e662fcd3901cd270f" }, "telescope-dap.nvim": { "branch": "master", "commit": "313d2ea12ae59a1ca51b62bf01fc941a983d9c9c" }, + "telescope-env.nvim": { "branch": "master", "commit": "00a703cc7b713cdda0a981d88fddf3ce25502af5" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, - "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, - "trouble.nvim": { "branch": "main", "commit": "556ef3089709a6e253df1e500381fec5eb48e48a" }, + "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, + "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, "vim-cue": { "branch": "master", "commit": "bd1a62303d096aa24fe4160a475645087f8770b3" }, "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, - "yanky.nvim": { "branch": "main", "commit": "100150704104db1930519eb2a05e5aee6d00f553" }, "zenbones.nvim": { "branch": "main", "commit": "910b8c240c6aaf5263db038db81c538602c766c3" } } \ No newline at end of file diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua deleted file mode 100644 index c034038..0000000 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,208 +0,0 @@ -return { - - { - "mcchrish/zenbones.nvim", - lazy = false, - priority = 1000, - dependencies = { - "rktjmp/lush.nvim", - }, - config = function() - vim.g.zenbones = { - style = "light", - lightness = "bright", - colorize_diagnostic_underline_text = true, - transparent_background = true, - } - - local lush = require("lush") - local base = require("zenbones") - - -- Create some specs - ---@diagnostic disable = undefined-global - local specs = lush.parse(function(injected_functions) - -- See https://github.com/rktjmp/lush.nvim/issues/109 - local sym = injected_functions.sym - return { - Special({ fg = "#EFEBE9" }), - Normal({ fg = "#f0f0f0" }), - Statement({ fg = "#e0e0e0", gui = "bold" }), - Identifier({ fg = "#e7f0f7" }), - Type({ fg = "#E3F2FD" }), - CursorLine({ bg = "#102030" }), - Error({ fg = "#d9534f", bg = "#110000" }), - CursorLineNr({ fg = "#BCAAA4", bg = "#102030" }), - MsgArea({ fg = "#A1887F", bg = "#f1f1f1" }), - Number({ fg = "#32936F" }), - sym("@field")({ fg = "#E3F2FD" }), - String({ fg = "#C5E1A5", gui = "italic" }), - sym("@string")({ fg = "#C5E1A5", gui = "italic" }), - sym("@type.definition")({ fg = "#CE93D8", gui = "bold" }), - sym("@function")({ fg = "#FFAB91", gui = "bold" }), - sym("@method")(sym("@function")), - -- Comment({ fg = "#114499", gui = "bold,italic" }), - -- Comment({ fg = "#144EE1", gui = "bold,italic" }), - Comment({ fg = "#E0E0E0", gui = "bold,italic" }), - Todo({ fg = "#FF0000", gui = "bold,underline" }), - EndOfBuffer({ fg = "#CBCFE1" }), - CopilotSuggestion({ fg = "#0066cc", gui = "bold,italic" }), - LineNr({ fg = "#9FA8AC", gui = "bold,italic" }), - LineNrAbove({ fg = "#9F080C", gui = "bold,italic" }), - IndentBlanklineContextChar({ fg = "#699FB5", gui = "italic" }), - -- Indent1({ fg = "#DFDF9A", gui = "italic" }), - -- Indent2({ fg = "#BAE1FF", gui = "italic" }), - -- Indent3({ fg = "#BAFFC9", gui = "italic" }), - -- Indent4({ fg = "#FFB3BA", gui = "italic" }), - -- Indent5({ fg = "#FFDFBA", gui = "italic" }), - -- Indent6({ fg = "#F3E5F5", gui = "italic" }), - NormalFloat({ bg = "#263238" }), - FloatBorder({ fg = "#FFB74D", bg = "#263238" }), - TelescopeNormal({ bg = "#263238" }), - TelescopeBorder({ fg = "#78909C", bg = "#263238" }), - TelescopeSelection({ fg = "#FFF8E1", bg = "#01579B" }), - DiagnosticSignError({ fg = "#ff2200", bg = "#220000", gui = "bold" }), - DiagnosticVirtualTextInfo({ fg = "#0033bb", bg = "#f7fcff", gui = "bold,italic" }), - DiagnosticVirtualTextWarn({ fg = "#bb2200", bg = "#110000", gui = "bold,italic" }), - DiagnosticVirtualTextError({ fg = "#ff2200", bg = "#110000", gui = "italic" }), - DiagnosticUnderlineError({ fg = "#ff0000", gui = "undercurl" }), - DiagnosticUnderlineWarn({ fg = "#ff7700", gui = "undercurl" }), - DiagnosticUnderlineInfo({ fg = "#3366cc", gui = "undercurl" }), - MarkSignHL({ fg = "#009688", bg = "#E0F7FA" }), - MarkSignNumHL({ fg = "#B2DFDB", bg = "#E0F7FA" }), - GitSignsAdd({ fg = "#81C784" }), - GitSignsAddNr({ fg = "#C8E6C9" }), - GitSignsDelete({ fg = "#E53935" }), - GitSignsDeleteNr({ fg = "#FFCDD2" }), - GitSignsChange({ fg = "#FFA726" }), - GitSignsChangeNr({ fg = "#FFE0B2" }), - - Hlargs({ fg = "#FFF8E1" }), - - IlluminatedWordText({ fg = "#FFA000" }), - NotifyBackground({ bg = "#FFF8D6" }), - - NavicIcons({ fg = "#cc0000" }), - NavicIconsFile({ fg = "#cc0000" }), - NavicIconsModule({ fg = "#cc0000" }), - NavicIconsNamespace({ fg = "#cc0000" }), - NavicIconsPackage({ fg = "#cc0000" }), - NavicIconsClass({ fg = "#cc0000" }), - NavicIconsMethod({ fg = "#cc0000" }), - NavicIconsProperty({ fg = "#cc0000" }), - NavicIconsField({ fg = "#cc0000" }), - NavicIconsConstructor({ fg = "#cc0000" }), - NavicIconsEnum({ fg = "#cc0000" }), - NavicIconsInterface({ fg = "#cc0000" }), - NavicIconsFunction({ fg = "#cc0000" }), - NavicIconsVariable({ fg = "#cc0000" }), - NavicIconsConstant({ fg = "#cc0000" }), - NavicIconsString({ fg = "#cc0000" }), - NavicIconsNumber({ fg = "#cc0000" }), - NavicIconsBoolean({ fg = "#cc0000" }), - NavicIconsArray({ fg = "#cc0000" }), - NavicIconsObject({ fg = "#cc0000" }), - NavicIconsKey({ fg = "#cc0000" }), - NavicIconsKeyword({ fg = "#cc0000" }), - NavicIconsNull({ fg = "#cc0000" }), - NavicIconsEnumMember({ fg = "#cc0000" }), - NavicIconsStruct({ fg = "#cc0000" }), - NavicIconsEvent({ fg = "#cc0000" }), - NavicIconsOperator({ fg = "#cc0000" }), - NavicIconsTypeParameter({ fg = "#cc0000" }), - - NavicText({ fg = "#cc0000", gui = "italic" }), - - -- LspCodeLens({ fg = "#00ff00", gui = "undercurl" }), - -- LspSignatureActiveParameter({ fg = "#ff0000", bg = "#ffffcc" }), - - NoiceCmdlinePopup({ bg = "#263238" }), - NoiceMini({ bg = "#263238" }), - - PMenu({ bg = "#263238" }), - PMenuBorder({ bg = "#F7F5F0", fg = "#886622" }), - PMenuSel({ fg = "#FFFFFF", bg = "#1976D2" }), - PMenuSbar({ bg = "#90CAF9" }), - PMenuThumb({ bg = "#64B5F6" }), - StatusLine({ base = base.VertSplit, fg = "#BCAAA4" }), - StatusLineNC({ base = base.VertSplit, fg = "#BCAAA4" }), - TreesitterContext({ bg = "#f0f0f0", fg = "#BCAAA4", gui = "bold,italic" }), - TreesitterContextLineNumber({ bg = "#f0f0f0", fg = "#979770", gui = "bold,italic" }), - } - end) - - -- Apply specs using lush tool-chain - vim.cmd([[colorscheme zenbones]]) - lush.apply(lush.compile(specs)) - end, - }, - - -- { - -- "rebelot/kanagawa.nvim", - -- name = "kanagawa", - -- lazy = false, - -- priority = 1000, - -- config = function() - -- require("kanagawa").setup({ - -- commentStyle = { bold = true, italic = true }, - -- functionStyle = {}, - -- keywordStyle = {}, - -- statementStyle = { bold = true }, - -- typeStyle = {}, - -- variablebuiltinStyle = { italic = true }, - -- transparent = true, -- do not set background color - -- colors = { - -- - -- fujiWhite = "#FFFFFF", - -- }, - -- overrides = {}, - -- theme = "default", -- Load "default" theme or the experimental "light" theme - -- }) - -- -- vim.cmd([[colorscheme kanagawa ]]) - -- end, - -- }, - - -- { - -- "catppuccin/nvim", - -- name = "catppuccin", - -- lazy = false, - -- priority = 1000, - -- config = function() - -- require("catppuccin").setup({ - -- flavour = "mocha", -- latte, frappe, macchiato, mocha - -- background = { - -- light = "latte", - -- dark = "latte", - -- }, - -- transparent_background = true, - -- show_end_of_buffer = true, - -- styles = { - -- comments = { "bold,italic" }, - -- conditionals = {}, - -- loops = {}, - -- functions = {}, - -- keywords = {}, - -- strings = { "italic" }, - -- variables = {}, - -- numbers = {}, - -- booleans = {}, - -- properties = {}, - -- types = {}, - -- operators = {}, - -- }, - -- custom_highlights = function(colors) - -- return { - -- Comment = { fg = colors.blue }, - -- Keyword = { fg = colors.rosewater }, - -- ["@keyword"] = { fg = colors.rosewater }, - -- ["@keyword.operator"] = { fg = colors.rosewater }, - -- ["@keyword.function"] = { fg = colors.rosewater }, - -- ["@keyword.return"] = { fg = colors.rosewater }, - -- ["@constant.builtin"] = { fg = colors.peach, style = {} }, - -- -- ["@comment"] = { fg = colors.blue, style = { "bold,italic" } }, - -- } - -- end, - -- }) - -- vim.cmd([[colorscheme catppuccin ]]) - -- end, - -- }, -} diff --git a/.config/nvim/lua/plugins/zenbones.lua b/.config/nvim/lua/plugins/zenbones.lua index 79c2c41..a3a6a80 100644 --- a/.config/nvim/lua/plugins/zenbones.lua +++ b/.config/nvim/lua/plugins/zenbones.lua @@ -125,8 +125,8 @@ function M.config() end) -- Apply specs using lush tool-chain - lush.apply(lush.compile(specs)) - vim.cmd("colorscheme zenbones") + -- lush.apply(lush.compile(specs)) + vim.cmd("colorscheme kanagawabones") end return M From a04e268db91254af2a9bbae08df8f36a20570241 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 22:56:45 +0100 Subject: [PATCH 010/656] replace tmux-edit-helper with equivalent wezterm script --- .config/wezterm/wezterm.lua | 21 +++++++++++++++++++ .zshrc | 2 +- bin/{tmux-edit-helper => wezterm-edit-helper} | 18 ++++++++++------ 3 files changed, 34 insertions(+), 7 deletions(-) rename bin/{tmux-edit-helper => wezterm-edit-helper} (59%) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index cd0962e..aa03e89 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -52,6 +52,24 @@ end local is_server = wezterm.hostname() == "dln-dev" +wezterm.on("user-var-changed", function(window, pane, name, value) + wezterm.log_info("user-var-changed", name, value) + + if name == "nvim_activate" then + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" then + window:perform_action(act.ActivateTab(t.index), p) + if t.index > 0 then + window:perform_action(act.MoveTab(0), p) + end + end + end + end + -- window:perform_action(act.ActivateTab(0), pane) + end +end) + return { color_scheme = _get_scheme(), color_scheme_dirs = { "/home/dln/.config/wezterm" }, @@ -154,6 +172,9 @@ return { { key = "7", mods = "ALT", action = act({ ActivateTab = 6 }) }, { key = "8", mods = "ALT", action = act({ ActivateTab = 7 }) }, { key = "9", mods = "ALT", action = act({ ActivateTab = 8 }) }, + { key = "0", mods = "ALT", action = act({ ActivateTab = 9 }) }, + { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, }, unix_domains = { { diff --git a/.zshrc b/.zshrc index 43cb2f9..71995e5 100644 --- a/.zshrc +++ b/.zshrc @@ -105,7 +105,7 @@ export LESS="--mouse --wheel-lines=1 -nRXF" ## Aliases alias c='cut -c-${COLUMNS}' -alias e='tmux-edit-helper' +alias e='wezterm-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' alias l=bat alias lw='bat --wrap=never' diff --git a/bin/tmux-edit-helper b/bin/wezterm-edit-helper similarity index 59% rename from bin/tmux-edit-helper rename to bin/wezterm-edit-helper index 1742e56..8b00b00 100755 --- a/bin/tmux-edit-helper +++ b/bin/wezterm-edit-helper @@ -14,11 +14,17 @@ else fre --store_name "$_store" --add "$_file" fi -tmux select-window -t nvim 2>/dev/null || - tmux new-window -S -n nvim \ - -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - -e "GOFLAGS=$GOFLAGS" \ - nvim --listen "$XDG_RUNTIME_DIR/nvim.sock" +function _nvim_setenv() { + nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" +} + +nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote-expr "42" 2>/dev/null || + (wezterm cli spawn --cwd "${PWD}" nvim --listen "$XDG_RUNTIME_DIR/nvim.sock" && sleep 0.5) + +_nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" +_nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" +_nvim_setenv GOFLAGS "$GOFLAGS" nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote "$_file" + +printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From 41b8393e6a90aac8e7f6b9a8aae0c4a0bd522eec Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 7 Mar 2023 23:04:13 +0100 Subject: [PATCH 011/656] wezterm: disable tab bar --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index aa03e89..2c90a10 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -141,7 +141,7 @@ return { cursor_thickness = "3px", cursor_blink_rate = 300, enable_wayland = true, - enable_tab_bar = true, + enable_tab_bar = false, tab_bar_at_bottom = true, use_fancy_tab_bar = true, show_tab_index_in_tab_bar = true, From 3c37004e9d616689f997ccb5638d6df5a7981cd5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 11:04:13 +0100 Subject: [PATCH 012/656] nvim: clean up cmp config --- .config/nvim/lua/plugins/cmp.lua | 99 ++++++++++---------------------- 1 file changed, 30 insertions(+), 69 deletions(-) diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index c52f363..ddba684 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -1,4 +1,4 @@ -local M = { +return { "hrsh7th/nvim-cmp", dependencies = { "andersevenrud/cmp-tmux", @@ -9,75 +9,36 @@ local M = { "hrsh7th/cmp-cmdline", "hrsh7th/cmp-nvim-lsp-signature-help", "onsails/lspkind-nvim", + { "zbirenbaum/copilot-cmp", opts = {} }, }, event = "InsertEnter", -} + config = function() + local cmp = require("cmp") -function M.config() - local cmp = require("cmp") - - local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - vim.o.completeopt = "menuone,noselect" - - cmp.setup({ - completion = { - completeopt = "menu,menuone,noinsert", - }, - - formatting = { - format = require("lspkind").cmp_format(), - }, - - window = { - completion = cmp.config.window.bordered({ - winhighlight = "Normal:PMenu,FloatBorder:PMenuBorder,CursorLine:PMenuSel,Search:None", - }), - documentation = cmp.config.window.bordered({ - winhighlight = "Normal:PMenu,FloatBorder:PMenu,CursorLine:PMenuSel,Search:None", - }), - }, - - mapping = { - ["<Up>"] = cmp.mapping(cmp.mapping.select_prev_item(), { "i", "c" }), - ["<Down>"] = cmp.mapping(cmp.mapping.select_next_item(), { "i", "c" }), - ["<C-d>"] = cmp.mapping.scroll_docs(-2), - ["<C-u>"] = cmp.mapping.scroll_docs(2), - ["<C-e>"] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - -- ["<CR>"] = cmp.mapping(cmp.mapping.confirm({ select = false }), { "i", "c" }), - -- ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), - ["<CR>"] = cmp.mapping(cmp.mapping.confirm({ select = true })), - ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), {}), - }, - - -- experimental = { - -- ghost_text = { - -- hl_group = "LspCodeLens", - -- }, - -- }, - - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "nvim_lsp_signature_help" }, - { name = "buffer" }, - { name = "copilot" }, - { - name = "tmux", - priority = 2, - option = { - all_panes = true, - trigger_characters = {}, - }, + cmp.setup({ + formatting = { + format = require("lspkind").cmp_format(), }, - { name = "emoji" }, - }), - }) -end - -return M + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ["<Up>"] = cmp.mapping.select_prev_item(), + ["<Down>"] = cmp.mapping.select_next_item(), + ["<C-d>"] = cmp.mapping.scroll_docs(-2), + ["<C-u>"] = cmp.mapping.scroll_docs(2), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping.confirm({ select = true }), + ["<C-Space>"] = cmp.mapping.complete(), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "nvim_lsp_signature_help" }, + { name = "buffer" }, + { name = "copilot" }, + { name = "emoji" }, + }), + }) + end, +} From 592b8e4b091abf39da3f885e2bd650c04b4f288a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 11:08:27 +0100 Subject: [PATCH 013/656] nvim: C-/ works out of tmux --- .config/nvim/lua/plugins/misc.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua index 24391dd..a76c874 100644 --- a/.config/nvim/lua/plugins/misc.lua +++ b/.config/nvim/lua/plugins/misc.lua @@ -70,8 +70,8 @@ return { { "numToStr/Comment.nvim", keys = { - { "<C-_>", "<Plug>(comment_toggle_linewise_current)" }, - { "<C-_>", "<Plug>(comment_toggle_linewise_visual)", mode = "v" }, + { "<C-/>", "<Plug>(comment_toggle_linewise_current)" }, + { "<C-/>", "<Plug>(comment_toggle_linewise_visual)", mode = "v" }, }, dependencies = { "JoosepAlviste/nvim-ts-context-commentstring", From f6fe8df9344d481ff705bb1ceedf2735a6e6d8b7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 11:12:03 +0100 Subject: [PATCH 014/656] nvim: add stylua --- .config/nvim/lua/plugins/null-ls.lua | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua index f8bab18..a3f21d4 100644 --- a/.config/nvim/lua/plugins/null-ls.lua +++ b/.config/nvim/lua/plugins/null-ls.lua @@ -9,15 +9,10 @@ function M.config() null_ls.setup({ sources = { - builtins.formatting.black, - builtins.formatting.buf, - builtins.formatting.cue_fmt, - builtins.formatting.shfmt, - builtins.formatting.sqlfluff, - builtins.formatting.buildifier, - builtins.formatting.prettierd, - builtins.completion.spell, builtins.code_actions.eslint_d, + + builtins.completion.spell, + builtins.diagnostics.buf.with({ args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, cwd = function() @@ -30,8 +25,17 @@ function M.config() }), builtins.diagnostics.buildifier, builtins.diagnostics.cue_fmt, - builtins.diagnostics.golangci_lint, builtins.diagnostics.eslint_d, + builtins.diagnostics.golangci_lint, + + builtins.formatting.black, + builtins.formatting.buf, + builtins.formatting.buildifier, + builtins.formatting.cue_fmt, + builtins.formatting.prettierd, + builtins.formatting.shfmt, + builtins.formatting.sqlfluff, + builtins.formatting.stylua, }, debug = true, }) From de0266996cc5ff3bb932eeea68c158da6f8556ba Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 12:58:51 +0100 Subject: [PATCH 015/656] nvim: dark modes --- .config/nvim/lua/config/options.lua | 3 +-- .config/nvim/lua/plugins/lualine.lua | 2 +- .config/nvim/lua/plugins/zenbones.lua | 8 +++++--- .gitconfig | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 4b80a53..2686c4f 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -46,10 +46,9 @@ end --- Completion vim.cmd("set shortmess+=c") -vim.o.completeopt = "menuone,noinsert,noselect" +vim.opt.completeopt = { "menuone", "noselect" } --- Appearance -vim.o.background = "light" vim.o.scrolloff = 7 vim.o.showmode = false vim.o.sidescrolloff = 5 diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index ba2cc41..2b40678 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -14,7 +14,7 @@ function M.config() lualine.setup({ options = { globalstatus = true, - theme = "onelight", + theme = "onedark", component_separators = { left = "╲", right = "╱" }, section_separators = { left = "", right = "" }, }, diff --git a/.config/nvim/lua/plugins/zenbones.lua b/.config/nvim/lua/plugins/zenbones.lua index a3a6a80..f4a6cca 100644 --- a/.config/nvim/lua/plugins/zenbones.lua +++ b/.config/nvim/lua/plugins/zenbones.lua @@ -1,5 +1,7 @@ local M = { "mcchrish/zenbones.nvim", + lazy = false, + priority = 1000, -- event = "VeryLazy", dependencies = { { "rktjmp/lush.nvim" }, @@ -7,9 +9,9 @@ local M = { } function M.config() - vim.g.zenbones = { - style = "light", - lightness = "bright", + vim.g.kanagawabones = { + -- style = "light", + -- lightness = "bright", colorize_diagnostic_underline_text = true, transparent_background = true, } diff --git a/.gitconfig b/.gitconfig index d5d82e1..c300397 100644 --- a/.gitconfig +++ b/.gitconfig @@ -69,7 +69,7 @@ threads = 0 date = relative [delta] -syntax-theme = GitHub +# syntax-theme = GitHub hunk-header-style = line-number syntax [hub] From fe3b0111f26f134188c5e9970a9fb1fde10af0a9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 12:59:55 +0100 Subject: [PATCH 016/656] wezterm: add launcher shortcut --- .config/wezterm/wezterm.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 2c90a10..61c67eb 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -175,6 +175,7 @@ return { { key = "0", mods = "ALT", action = act({ ActivateTab = 9 }) }, { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, + { key = "l", mods = "ALT", action = wezterm.action.ShowLauncher }, }, unix_domains = { { From 0f1e2c9baffc8a502123ead5826be39c00dedceb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 20:58:53 +0100 Subject: [PATCH 017/656] wezterm: multi-workspace goodness --- .config/wezterm/wezterm.lua | 40 +++++++++---------- .../wezterm-dln-dev-secondary.desktop | 10 ----- .../applications/wezterm-dln-dev.desktop | 3 +- .../share/applications/wezterm-local.desktop | 10 ----- 4 files changed, 21 insertions(+), 42 deletions(-) delete mode 100644 .local/share/applications/wezterm-dln-dev-secondary.desktop delete mode 100644 .local/share/applications/wezterm-local.desktop diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 61c67eb..886f09a 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -10,29 +10,28 @@ local function font_with_fallback(name, params) end wezterm.on("gui-startup", function(cmd) - local tab, pane, window = mux.spawn_window(cmd or {}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) + local _, _, local_win = mux.spawn_window({ + workspace = "default", + }) + for _ = 1, 10 do + local_win:spawn_tab({}) + end + + mux.spawn_window({ + workspace = "dln-dev", + domain = { DomainName = "dln-dev" }, + }) + + mux.set_active_workspace("default") end) wezterm.on("mux-startup", function() - local tab, pane, window = mux.spawn_window({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) - window:spawn_tab({}) + local _, _, dev_win = mux.spawn_window({ + workspace = "dln-dev", + }) + for _ = 1, 10 do + dev_win:spawn_tab({}) + end end) local function scheme_for_appearance(appearance) @@ -176,6 +175,7 @@ return { { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "l", mods = "ALT", action = wezterm.action.ShowLauncher }, + { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, }, unix_domains = { { diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop deleted file mode 100644 index b545e9f..0000000 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-dln-dev-secondary -GenericName=wezterm-dln-dev-secondary -StartupWMClass=org.wezfurlong.wezterm -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm connect dln-dev --class=wezterm-dln-dev-secondary diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop index 41311a9..ae83c85 100644 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ b/.local/share/applications/wezterm-dln-dev.desktop @@ -7,5 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm connect dln-dev --class=wezterm-dln-dev -#Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev"}' start --class=wezterm-dln-dev +Exec=/usr/bin/wezterm start --always-new-process --class=wezterm-dln-dev diff --git a/.local/share/applications/wezterm-local.desktop b/.local/share/applications/wezterm-local.desktop deleted file mode 100644 index 5275fe7..0000000 --- a/.local/share/applications/wezterm-local.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-local -GenericName=wezterm-local -StartupWMClass=wezterm-local -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm start --class=wezterm-local From 89accda03026aa4d4a119ca8fd93e01efa4500c1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 22:59:58 +0100 Subject: [PATCH 018/656] wezterm: permatabs on demand --- .config/wezterm/wezterm.lua | 90 +++++++++++++++++++++++++------------ 1 file changed, 61 insertions(+), 29 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 886f09a..eee8140 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -1,6 +1,4 @@ local wezterm = require("wezterm") -local io = require("io") -local os = require("os") local mux = wezterm.mux local act = wezterm.action @@ -13,9 +11,6 @@ wezterm.on("gui-startup", function(cmd) local _, _, local_win = mux.spawn_window({ workspace = "default", }) - for _ = 1, 10 do - local_win:spawn_tab({}) - end mux.spawn_window({ workspace = "dln-dev", @@ -29,9 +24,6 @@ wezterm.on("mux-startup", function() local _, _, dev_win = mux.spawn_window({ workspace = "dln-dev", }) - for _ = 1, 10 do - dev_win:spawn_tab({}) - end end) local function scheme_for_appearance(appearance) @@ -51,24 +43,64 @@ end local is_server = wezterm.hostname() == "dln-dev" +local function activate_nvim(window, pane) + wezterm.log_info("activate_nvim") + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(0), + }), + pane + ) + return + end + end + end +end + wezterm.on("user-var-changed", function(window, pane, name, value) wezterm.log_info("user-var-changed", name, value) if name == "nvim_activate" then - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" then - window:perform_action(act.ActivateTab(t.index), p) - if t.index > 0 then - window:perform_action(act.MoveTab(0), p) - end - end - end - end - -- window:perform_action(act.ActivateTab(0), pane) + activate_nvim(window, pane) end end) +local function activate_tab(title, index) + return function(window, pane) + wezterm.log_info(title) + for _, t in ipairs(window:mux_window():tabs_with_info()) do + if t.tab:get_title() == title then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(index), + }), + pane + ) + return + end + end + local tab, _, _ = window:mux_window():spawn_tab({}) + tab:set_title(title) + window:perform_action(act.MoveTab(index), pane) + end +end + +wezterm.on("tab-1", activate_nvim) +wezterm.on("tab-2", activate_tab("t2", 1)) +wezterm.on("tab-3", activate_tab("t3", 2)) +wezterm.on("tab-4", activate_tab("t4", 3)) +wezterm.on("tab-5", activate_tab("t5", 4)) +wezterm.on("tab-6", activate_tab("t6", 5)) +wezterm.on("tab-7", activate_tab("t7", 6)) +wezterm.on("tab-8", activate_tab("t8", 7)) +wezterm.on("tab-9", activate_tab("t9", 8)) +wezterm.on("tab-10", activate_tab("t10", 9)) + return { color_scheme = _get_scheme(), color_scheme_dirs = { "/home/dln/.config/wezterm" }, @@ -162,16 +194,16 @@ return { { key = "r", mods = "ALT", action = act.ReloadConfiguration }, -- mux { key = "E", mods = "CTRL|SHIFT", action = act.DetachDomain({ DomainName = "dln-dev" }) }, - { key = "1", mods = "ALT", action = act({ ActivateTab = 0 }) }, - { key = "2", mods = "ALT", action = act({ ActivateTab = 1 }) }, - { key = "3", mods = "ALT", action = act({ ActivateTab = 2 }) }, - { key = "4", mods = "ALT", action = act({ ActivateTab = 3 }) }, - { key = "5", mods = "ALT", action = act({ ActivateTab = 4 }) }, - { key = "6", mods = "ALT", action = act({ ActivateTab = 5 }) }, - { key = "7", mods = "ALT", action = act({ ActivateTab = 6 }) }, - { key = "8", mods = "ALT", action = act({ ActivateTab = 7 }) }, - { key = "9", mods = "ALT", action = act({ ActivateTab = 8 }) }, - { key = "0", mods = "ALT", action = act({ ActivateTab = 9 }) }, + { key = "1", mods = "ALT", action = act.EmitEvent("tab-1") }, + { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, + { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, + { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, + { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, + { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, + { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, + { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, + { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, + { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "l", mods = "ALT", action = wezterm.action.ShowLauncher }, From 21e885309ceb69adc3750598a8caa5e44d4d528e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 8 Mar 2023 23:27:35 +0100 Subject: [PATCH 019/656] non-default nvim socket for wezterm-edit-helper --- bin/wezterm-edit-helper | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index 8b00b00..b5f34c5 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -14,17 +14,19 @@ else fre --store_name "$_store" --add "$_file" fi +_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" + function _nvim_setenv() { - nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" + nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" } -nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote-expr "42" 2>/dev/null || - (wezterm cli spawn --cwd "${PWD}" nvim --listen "$XDG_RUNTIME_DIR/nvim.sock" && sleep 0.5) +nvim --server "$_nvim_socket" --remote-expr "42" 2>/dev/null || + (rm -f "$_nvim_socket" && wezterm cli spawn --cwd "${PWD}" nvim --listen "$_nvim_socket" && sleep 0.5) _nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" _nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" _nvim_setenv GOFLAGS "$GOFLAGS" -nvim --server "$XDG_RUNTIME_DIR/nvim.sock" --remote "$_file" +nvim --server "$_nvim_socket" --remote "$_file" printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From e64f06da3d5774f7fa9187f2127da668437e42e7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 Mar 2023 18:11:07 +0100 Subject: [PATCH 020/656] wezterm: mousewheel scroll --- .config/wezterm/wezterm.lua | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index eee8140..a065c67 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -137,8 +137,8 @@ return { font_size = 13.5, line_height = 1.0, cell_width = 0.95, - -- initial_cols = 128, - -- initial_rows = 45, + initial_cols = 132, + initial_rows = 45, use_resize_increments = true, window_background_opacity = 1.0, window_padding = { @@ -178,7 +178,7 @@ return { show_tab_index_in_tab_bar = true, enable_scroll_bar = false, scrollback_lines = 5000, - alternate_buffer_wheel_scroll_speed = 2, + alternate_buffer_wheel_scroll_speed = 1, check_for_updates = false, status_update_interval = 100, audible_bell = "Disabled", @@ -208,6 +208,30 @@ return { { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "l", mods = "ALT", action = wezterm.action.ShowLauncher }, { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, + { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, + { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, + { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, + { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, + }, + mouse_bindings = { + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(-1), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(1), + }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + action = act.ScrollByPage(-0.25), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + action = act.ScrollByPage(0.25), + }, }, unix_domains = { { From b0eae7695f1cba95d0b49b51957c7a1a76bcf5a2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 Mar 2023 18:11:46 +0100 Subject: [PATCH 021/656] wezterm: use shelman-theme --- .config/wezterm/wezterm.lua | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index a065c67..f79a33e 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -26,21 +26,6 @@ wezterm.on("mux-startup", function() }) end) -local function scheme_for_appearance(appearance) - if appearance:find("Dark") then - return "Shelman Dark" - else - return "Shelman Light" - end -end - -local function _get_scheme() - -- if wezterm.gui then - -- return return scheme_for_appearance(wezterm.gui.get_appearance()) - -- end - return "Shelman Dark" -end - local is_server = wezterm.hostname() == "dln-dev" local function activate_nvim(window, pane) @@ -101,9 +86,13 @@ wezterm.on("tab-8", activate_tab("t8", 7)) wezterm.on("tab-9", activate_tab("t9", 8)) wezterm.on("tab-10", activate_tab("t10", 9)) +wezterm.add_to_config_reload_watch_list("/home/dln/.config/shelman-theme/current/wezterm") + return { - color_scheme = _get_scheme(), - color_scheme_dirs = { "/home/dln/.config/wezterm" }, + color_scheme = "Shelman Theme", + color_scheme_dirs = { + "/home/dln/.config/shelman-theme/current/wezterm", + }, font = font_with_fallback("Iosevka Shelman SS09", { weight = "Regular" }), font_rules = { { From f63379c1514b29d21e436deee0b34a736b5227e7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 Mar 2023 18:12:28 +0100 Subject: [PATCH 022/656] nvim: lazy update --- .config/nvim/lazy-lock.json | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 3179b01..790d213 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -15,7 +15,7 @@ "hlargs.nvim": { "branch": "main", "commit": "a7ad6ed8d6e27ea4dd13fda63fa732e9196ba4ea" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "e89acede13f46a5db229133cf0c87aee74938c56" }, + "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "lush.nvim": { "branch": "main", "commit": "b1e8eb1da3fee95ef31515a73c9eff9bf251088d" }, @@ -23,17 +23,17 @@ "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "900c38cfa91eb7ff2716da70f2f2c1d33741cf0a" }, + "null-ls.nvim": { "branch": "main", "commit": "ccd6cb05b176bff65819c85b8d29096b5e0750d4" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, - "nvim-dap": { "branch": "master", "commit": "75a94b8b577a970c0cad25a54a64dc40fc6fa0ea" }, + "nvim-dap": { "branch": "master", "commit": "73196075627a4f079c62b0dd4aff8ce0a1b7cf57" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "1a2d5f5224c65b0709bf5da0ccd9cad29272083a" }, + "nvim-lspconfig": { "branch": "master", "commit": "2ba6e268d92934e14fe561fe446a49540803e57f" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, - "nvim-treesitter": { "branch": "master", "commit": "356c9db3478b1bc6d0f0eefcb397989e50fdc35f" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "f5f13206ec33e55b16c8e1a9dec301e8bead4835" }, + "nvim-treesitter": { "branch": "master", "commit": "fc1ca10bfbdee17e29374d0d1bac8ea030539dc3" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "4c97996c449483ee9bcb1869d99e37620cd87cd4" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, @@ -43,7 +43,6 @@ "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "stylua-nvim": { "branch": "main", "commit": "ce59a353f02938cba3e0285e662fcd3901cd270f" }, "telescope-dap.nvim": { "branch": "master", "commit": "313d2ea12ae59a1ca51b62bf01fc941a983d9c9c" }, - "telescope-env.nvim": { "branch": "master", "commit": "00a703cc7b713cdda0a981d88fddf3ce25502af5" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, From ffb96e6e39112bdcf59e1b9ed3acfecf45c87d83 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 Mar 2023 19:44:30 +0100 Subject: [PATCH 023/656] wezterm fixings --- .config/wezterm/wezterm.lua | 83 +++++++++++++++++++++---------------- 1 file changed, 47 insertions(+), 36 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index f79a33e..aa17cc5 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -8,22 +8,31 @@ local function font_with_fallback(name, params) end wezterm.on("gui-startup", function(cmd) - local _, _, local_win = mux.spawn_window({ - workspace = "default", - }) + local args = {} + if cmd then + args = cmd.args + end - mux.spawn_window({ - workspace = "dln-dev", - domain = { DomainName = "dln-dev" }, + local _, _, window = mux.spawn_window({ + workspace = "local", + args = args, }) + -- spawn 10 tabs + for _ = 1, 10 do + window:spawn_tab({}) + end - mux.set_active_workspace("default") + mux.set_active_workspace("local") end) wezterm.on("mux-startup", function() - local _, _, dev_win = mux.spawn_window({ + local _, _, window = mux.spawn_window({ workspace = "dln-dev", }) + -- Spawn 10 mux tabs (on dev server) + for _ = 1, 10 do + window:spawn_tab({}) + end end) local is_server = wezterm.hostname() == "dln-dev" @@ -54,37 +63,38 @@ wezterm.on("user-var-changed", function(window, pane, name, value) end end) -local function activate_tab(title, index) +local function activate_tab(index) return function(window, pane) - wezterm.log_info(title) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - if t.tab:get_title() == title then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(index), - }), - pane - ) - return - end - end - local tab, _, _ = window:mux_window():spawn_tab({}) - tab:set_title(title) - window:perform_action(act.MoveTab(index), pane) + window:perform_action(act.ActivateTab(index), pane) + -- wezterm.log_info(title) + -- for _, t in ipairs(window:mux_window():tabs_with_info()) do + -- if t.tab:get_title() == title then + -- window:perform_action( + -- act.Multiple({ + -- act.ActivateTab(t.index), + -- act.MoveTab(index), + -- }), + -- pane + -- ) + -- return + -- end + -- end + -- local tab, _, _ = window:mux_window():spawn_tab({}) + -- tab:set_title(title) + -- window:perform_action(act.MoveTab(index), pane) end end wezterm.on("tab-1", activate_nvim) -wezterm.on("tab-2", activate_tab("t2", 1)) -wezterm.on("tab-3", activate_tab("t3", 2)) -wezterm.on("tab-4", activate_tab("t4", 3)) -wezterm.on("tab-5", activate_tab("t5", 4)) -wezterm.on("tab-6", activate_tab("t6", 5)) -wezterm.on("tab-7", activate_tab("t7", 6)) -wezterm.on("tab-8", activate_tab("t8", 7)) -wezterm.on("tab-9", activate_tab("t9", 8)) -wezterm.on("tab-10", activate_tab("t10", 9)) +wezterm.on("tab-2", activate_tab(1)) +wezterm.on("tab-3", activate_tab(2)) +wezterm.on("tab-4", activate_tab(3)) +wezterm.on("tab-5", activate_tab(4)) +wezterm.on("tab-6", activate_tab(5)) +wezterm.on("tab-7", activate_tab(6)) +wezterm.on("tab-8", activate_tab(7)) +wezterm.on("tab-9", activate_tab(8)) +wezterm.on("tab-10", activate_tab(9)) wezterm.add_to_config_reload_watch_list("/home/dln/.config/shelman-theme/current/wezterm") @@ -161,7 +171,7 @@ return { cursor_thickness = "3px", cursor_blink_rate = 300, enable_wayland = true, - enable_tab_bar = false, + enable_tab_bar = true, tab_bar_at_bottom = true, use_fancy_tab_bar = true, show_tab_index_in_tab_bar = true, @@ -182,7 +192,8 @@ return { { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, { key = "r", mods = "ALT", action = act.ReloadConfiguration }, -- mux - { key = "E", mods = "CTRL|SHIFT", action = act.DetachDomain({ DomainName = "dln-dev" }) }, + { key = "A", mods = "ALT", action = act.AttachDomain("dln-dev") }, + { key = "E", mods = "ALT", action = act.DetachDomain({ DomainName = "dln-dev" }) }, { key = "1", mods = "ALT", action = act.EmitEvent("tab-1") }, { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, From add4e0a218c01f4cdf176bc4be94f8b2ada9b57d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 Mar 2023 21:56:21 +0100 Subject: [PATCH 024/656] zsh: rg shelman theme --- .config/nvim/lazy-lock.json | 16 ++++++++-------- .zshrc | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 790d213..7cab44d 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "Comment.nvim": { "branch": "master", "commit": "6821b3ae27a57f1f3cf8ed030e4a55d70d0c4e43" }, + "Comment.nvim": { "branch": "master", "commit": "8d3aa5c22c2d45e788c7a5fe13ad77368b783c20" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, @@ -11,29 +11,29 @@ "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, "gitsigns.nvim": { "branch": "main", "commit": "b1f9cf7c5c5639c006c937fc1819e09f358210fc" }, - "go.nvim": { "branch": "master", "commit": "1844fd11a143aba3eec644c2e2099a20f79c1ec1" }, + "go.nvim": { "branch": "master", "commit": "063bf059e31f226c525415769bf3c312c8468566" }, "hlargs.nvim": { "branch": "main", "commit": "a7ad6ed8d6e27ea4dd13fda63fa732e9196ba4ea" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "lush.nvim": { "branch": "main", "commit": "b1e8eb1da3fee95ef31515a73c9eff9bf251088d" }, + "lush.nvim": { "branch": "main", "commit": "62180850d230e1650fe5543048bb15c4452916d6" }, "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, - "noice.nvim": { "branch": "main", "commit": "c22651651da01239fc4afac4cdb7261797d5f02e" }, + "noice.nvim": { "branch": "main", "commit": "e2a04d480a9fba6b698c01998582ea17aa213ba3" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "ccd6cb05b176bff65819c85b8d29096b5e0750d4" }, + "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, "nvim-dap": { "branch": "master", "commit": "73196075627a4f079c62b0dd4aff8ce0a1b7cf57" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "2ba6e268d92934e14fe561fe446a49540803e57f" }, + "nvim-lspconfig": { "branch": "master", "commit": "4bb0f1845c5cc6465aecedc773fc2d619fcd8faf" }, "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, - "nvim-treesitter": { "branch": "master", "commit": "fc1ca10bfbdee17e29374d0d1bac8ea030539dc3" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "4c97996c449483ee9bcb1869d99e37620cd87cd4" }, + "nvim-treesitter": { "branch": "master", "commit": "e3ebc8ec5d586162f3c408417621daa59ba8ea62" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "542e0879d524ba717234fcba049b6c2da7989d5a" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, diff --git a/.zshrc b/.zshrc index 71995e5..216a4a6 100644 --- a/.zshrc +++ b/.zshrc @@ -119,7 +119,7 @@ alias xc=clip alias w="history -1 | sed -e 's/[0-9]* //' | xargs viddy -n1" ## ripgrep -export RIPGREP_CONFIG_PATH=${HOME}/.config/rg/rg.conf +export RIPGREP_CONFIG_PATH=${HOME}/.config/shelman-theme/current/rg/rg.conf # "auto paging" rg() { From 4a13cbcd13cde440508767553e1da907b843c53b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 Mar 2023 21:56:50 +0100 Subject: [PATCH 025/656] nvim: add shelman-theme --- .config/nvim/lua/plugins/shelman-theme.lua | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .config/nvim/lua/plugins/shelman-theme.lua diff --git a/.config/nvim/lua/plugins/shelman-theme.lua b/.config/nvim/lua/plugins/shelman-theme.lua new file mode 100644 index 0000000..eb28066 --- /dev/null +++ b/.config/nvim/lua/plugins/shelman-theme.lua @@ -0,0 +1,4 @@ +return { + name = "shelman-theme", + dir = "~/.config/shelman-theme/current/neovim", +} From 09f3cb6b3f0b6fbae068ca0ae0807dd51ff995d3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 17 Mar 2023 11:27:56 +0100 Subject: [PATCH 026/656] ssh: private config --- .ssh/config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ssh/config b/.ssh/config index 7f7f1c4..6aec36a 100644 --- a/.ssh/config +++ b/.ssh/config @@ -9,6 +9,8 @@ AddressFamily inet RequestTty yes PreferredAuthentications=publickey +Include ~/.ssh/private_config + Host gitlab.com IdentityAgent /dev/null PKCS11Provider /usr/lib/pkcs11/libtpm2_pkcs11.so From c8f8a268a655bcd0c64f57fd1ca7557a33d90d39 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 17 Mar 2023 11:31:45 +0100 Subject: [PATCH 027/656] prompt: no git --- .config/starship.toml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.config/starship.toml b/.config/starship.toml index b3b8fbf..79ff744 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -1,13 +1,14 @@ add_newline = false +# $git_branch\ +# $git_commit\ +# $git_state\ +# $git_status\ +# ${custom.sl_status}\ + format = """\ $hostname\ $directory\ -$git_branch\ -$git_commit\ -$git_state\ -$git_status\ -${custom.sl_status}\ ($character)\ """ From 5637a9e614883c4a857348d3f3b89f2f2293b087 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 24 Mar 2023 09:19:10 +0100 Subject: [PATCH 028/656] wezterm update --- .config/wezterm/wezterm.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index aa17cc5..19d3d4e 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -134,6 +134,7 @@ return { bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", font_size = 13.5, + command_palette_font_size = 13.5, line_height = 1.0, cell_width = 0.95, initial_cols = 132, @@ -184,8 +185,8 @@ return { term = "wezterm", disable_default_key_bindings = true, keys = { - { key = "c", mods = "ALT|SHIFT", action = act({ CopyTo = "ClipboardAndPrimarySelection" }) }, - { key = "v", mods = "ALT|SHIFT", action = "Paste" }, + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("PrimarySelection") }, { key = "0", mods = "CTRL", action = "ResetFontSize" }, { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, @@ -206,7 +207,7 @@ return { { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, - { key = "l", mods = "ALT", action = wezterm.action.ShowLauncher }, + { key = "l", mods = "ALT", action = wezterm.action.ActivateCommandPalette }, { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, From 2df09ac4fbfaace2acda83b1fe40184cc170b328 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 25 Mar 2023 17:14:05 +0100 Subject: [PATCH 029/656] neovim: theme juggling --- .config/nvim/lazy-lock.json | 36 +++--- .config/nvim/lua/config/options.lua | 4 + .config/nvim/lua/plugins/shelman-theme.lua | 6 + .config/nvim/lua/plugins/zenbones.lua | 134 --------------------- 4 files changed, 27 insertions(+), 153 deletions(-) delete mode 100644 .config/nvim/lua/plugins/zenbones.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 7cab44d..d116230 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -9,34 +9,33 @@ "cmp-tmux": { "branch": "main", "commit": "984772716f66d8ee88535a6bf3f94c4b4e1301f5" }, "colorbuddy.vim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, - "copilot.lua": { "branch": "master", "commit": "b41d4c9c7d4f5e0272bcf94061b88e244904c56f" }, - "gitsigns.nvim": { "branch": "main", "commit": "b1f9cf7c5c5639c006c937fc1819e09f358210fc" }, - "go.nvim": { "branch": "master", "commit": "063bf059e31f226c525415769bf3c312c8468566" }, + "copilot.lua": { "branch": "master", "commit": "db62371b6eac73954c194f3c8faee36cffee8135" }, + "gitsigns.nvim": { "branch": "main", "commit": "ca473e28382f1524aa3d2b6f04bcf54f2e6a64cb" }, + "go.nvim": { "branch": "master", "commit": "c02634a8350d559eeed94f78c67016fa6d80a8bf" }, "hlargs.nvim": { "branch": "main", "commit": "a7ad6ed8d6e27ea4dd13fda63fa732e9196ba4ea" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "5b4444f0d7e556deba3f7ca949a2ba0e2c3369fb" }, + "lazy.nvim": { "branch": "main", "commit": "a80422f21750fcbf0e90b26da877d4024d76f116" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "lush.nvim": { "branch": "main", "commit": "62180850d230e1650fe5543048bb15c4452916d6" }, "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, - "noice.nvim": { "branch": "main", "commit": "e2a04d480a9fba6b698c01998582ea17aa213ba3" }, + "noice.nvim": { "branch": "main", "commit": "f8b1a72a7bce56d9e9ed054708dc855d57dec085" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "09e99259f4cdd929e7fb5487bf9d92426ccf7cc1" }, - "nvim-cmp": { "branch": "main", "commit": "feed47fd1da7a1bad2c7dca456ea19c8a5a9823a" }, - "nvim-dap": { "branch": "master", "commit": "73196075627a4f079c62b0dd4aff8ce0a1b7cf57" }, + "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, + "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, + "nvim-dap": { "branch": "master", "commit": "7e81998e31277c7a33b6c34423640900c5c2c776" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "4bb0f1845c5cc6465aecedc773fc2d619fcd8faf" }, - "nvim-navic": { "branch": "master", "commit": "cdd24539bcf114a499827e9b32869fe74836efe7" }, + "nvim-lspconfig": { "branch": "master", "commit": "c6105c449683b944b5d2138fcf82f18c657249e9" }, + "nvim-navic": { "branch": "master", "commit": "ca34afcd15c7f6dd0836fc4fca2e37024bfa5019" }, "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, - "nvim-treesitter": { "branch": "master", "commit": "e3ebc8ec5d586162f3c408417621daa59ba8ea62" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "542e0879d524ba717234fcba049b6c2da7989d5a" }, - "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, + "nvim-treesitter": { "branch": "master", "commit": "1f087c91f5ca76a2257b855d72d371a2b5302986" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, + "nvim-ts-autotag": { "branch": "main", "commit": "25698e4033cd6cd3745454bfc837dd670eba0480" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, - "nvim-web-devicons": { "branch": "master", "commit": "4af94fec29f508159ceab5413383e5dedd6c24e3" }, + "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, "packer.nvim": { "branch": "master", "commit": "1d0cf98a561f7fd654c970c49f917d74fafe1530" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, @@ -46,9 +45,8 @@ "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, - "telescope.nvim": { "branch": "master", "commit": "a3f17d3baf70df58b9d3544ea30abe52a7a832c2" }, - "trouble.nvim": { "branch": "main", "commit": "67337644e38144b444d026b0df2dc5fa0038930f" }, + "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, + "trouble.nvim": { "branch": "main", "commit": "7915277a259fdff5d46c6f1d2e100df2ec384d3b" }, "vim-cue": { "branch": "master", "commit": "bd1a62303d096aa24fe4160a475645087f8770b3" }, - "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, - "zenbones.nvim": { "branch": "main", "commit": "910b8c240c6aaf5263db038db81c538602c766c3" } + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 2686c4f..fb8d091 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -69,3 +69,7 @@ vim.g.netrw_dirhistmax = 0 --- Key mappings vim.keymap.set("n", "<C-l>", ':let @/=""<CR>') -- clear search vim.keymap.set("n", ",L", ":luafile %<CR>") -- Reload lua file + +-- AutoCommand OSC7 workaround for tmux +-- see https://github.com/neovim/neovim/issues/21771 +vim.cmd([[autocmd DirChanged * call chansend(v:stderr, printf("\033]7;file://%s\033\\", v:event.cwd))]]) diff --git a/.config/nvim/lua/plugins/shelman-theme.lua b/.config/nvim/lua/plugins/shelman-theme.lua index eb28066..5c55c5b 100644 --- a/.config/nvim/lua/plugins/shelman-theme.lua +++ b/.config/nvim/lua/plugins/shelman-theme.lua @@ -1,4 +1,10 @@ return { name = "shelman-theme", dir = "~/.config/shelman-theme/current/neovim", + dev = true, + lazy = false, + priority = 1000, + config = function() + vim.cmd([[colorscheme shelman]]) + end, } diff --git a/.config/nvim/lua/plugins/zenbones.lua b/.config/nvim/lua/plugins/zenbones.lua deleted file mode 100644 index f4a6cca..0000000 --- a/.config/nvim/lua/plugins/zenbones.lua +++ /dev/null @@ -1,134 +0,0 @@ -local M = { - "mcchrish/zenbones.nvim", - lazy = false, - priority = 1000, - -- event = "VeryLazy", - dependencies = { - { "rktjmp/lush.nvim" }, - }, -} - -function M.config() - vim.g.kanagawabones = { - -- style = "light", - -- lightness = "bright", - colorize_diagnostic_underline_text = true, - transparent_background = true, - } - - local lush = require("lush") - local base = require("zenbones") - - -- Create some specs - ---@diagnostic disable = undefined-global - local specs = lush.parse(function(injected_functions) - -- See https://github.com/rktjmp/lush.nvim/issues/109 - local sym = injected_functions.sym - return { - CursorLine({ bg = "#f5f5f0" }), - Error({ fg = "#d9534f" }), - CursorLineNr({ fg = "#BCAAA4", bg = "#f5f5f0" }), - MsgArea({ fg = "#A1887F", bg = "#f1f1f1" }), - String({ fg = "#5E8122", gui = "italic" }), - Number({ fg = "#32936F" }), - sym("@field")({ fg = "#6F62A7" }), - sym("@string")({ fg = "#5B7B3D", gui = "italic" }), - sym("@type.definition")({ fg = "#B6465F", gui = "bold" }), - sym("@function")({ fg = "#8C1831", gui = "bold" }), - sym("@method")(sym("@function")), - -- Comment({ fg = "#114499", gui = "bold,italic" }), - -- Comment({ fg = "#144EE1", gui = "bold,italic" }), - Comment({ fg = "#8F001D", gui = "bold,italic" }), - Todo({ fg = "#FF0000", gui = "bold,underline" }), - EndOfBuffer({ fg = "#CBCFE1" }), - CopilotSuggestion({ fg = "#0066cc", gui = "bold,italic" }), - LineNr({ fg = "#9FA8AC", gui = "bold,italic" }), - LineNrAbove({ fg = "#9F080C", gui = "bold,italic" }), - IndentBlanklineContextChar({ fg = "#699FB5", gui = "italic" }), - Indent1({ fg = "#DFDF9A", gui = "italic" }), - Indent2({ fg = "#BAE1FF", gui = "italic" }), - Indent3({ fg = "#BAFFC9", gui = "italic" }), - Indent4({ fg = "#FFB3BA", gui = "italic" }), - Indent5({ fg = "#FFDFBA", gui = "italic" }), - Indent6({ fg = "#F3E5F5", gui = "italic" }), - NormalFloat({ bg = "#FFF9C4" }), - FloatBorder({ fg = "#FFB74D", bg = "#FFF9C4" }), - TelescopeNormal({ bg = "#EFEBE9" }), - TelescopeBorder({ fg = "#A1887F", bg = "#EFEBE9" }), - TelescopeSelection({ fg = "#FFFFFF", bg = "#1976D2" }), - DiagnosticSignError({ fg = "#ff2200", bg = "#fff5ff", gui = "bold" }), - DiagnosticVirtualTextInfo({ fg = "#0033bb", bg = "#f7fcff", gui = "bold,italic" }), - DiagnosticVirtualTextWarn({ fg = "#bb2200", bg = "#fff9f3", gui = "bold,italic" }), - DiagnosticVirtualTextError({ fg = "#ff2200", bg = "#fff5f3", gui = "italic" }), - DiagnosticUnderlineError({ fg = "#ff0000", gui = "undercurl" }), - DiagnosticUnderlineWarn({ fg = "#ff7700", gui = "undercurl" }), - DiagnosticUnderlineInfo({ fg = "#3366cc", gui = "undercurl" }), - MarkSignHL({ fg = "#009688", bg = "#E0F7FA" }), - MarkSignNumHL({ fg = "#B2DFDB", bg = "#E0F7FA" }), - GitSignsAdd({ fg = "#81C784" }), - GitSignsAddNr({ fg = "#C8E6C9" }), - GitSignsDelete({ fg = "#E53935" }), - GitSignsDeleteNr({ fg = "#FFCDD2" }), - GitSignsChange({ fg = "#FFA726" }), - GitSignsChangeNr({ fg = "#FFE0B2" }), - - Hlargs({ fg = "#2274A5" }), - - IlluminatedWordText({ bg = "#FFEE99" }), - NotifyBackground({ bg = "#FFF8D6" }), - - NavicIcons({ fg = "#cc0000" }), - NavicIconsFile({ fg = "#cc0000" }), - NavicIconsModule({ fg = "#cc0000" }), - NavicIconsNamespace({ fg = "#cc0000" }), - NavicIconsPackage({ fg = "#cc0000" }), - NavicIconsClass({ fg = "#cc0000" }), - NavicIconsMethod({ fg = "#cc0000" }), - NavicIconsProperty({ fg = "#cc0000" }), - NavicIconsField({ fg = "#cc0000" }), - NavicIconsConstructor({ fg = "#cc0000" }), - NavicIconsEnum({ fg = "#cc0000" }), - NavicIconsInterface({ fg = "#cc0000" }), - NavicIconsFunction({ fg = "#cc0000" }), - NavicIconsVariable({ fg = "#cc0000" }), - NavicIconsConstant({ fg = "#cc0000" }), - NavicIconsString({ fg = "#cc0000" }), - NavicIconsNumber({ fg = "#cc0000" }), - NavicIconsBoolean({ fg = "#cc0000" }), - NavicIconsArray({ fg = "#cc0000" }), - NavicIconsObject({ fg = "#cc0000" }), - NavicIconsKey({ fg = "#cc0000" }), - NavicIconsKeyword({ fg = "#cc0000" }), - NavicIconsNull({ fg = "#cc0000" }), - NavicIconsEnumMember({ fg = "#cc0000" }), - NavicIconsStruct({ fg = "#cc0000" }), - NavicIconsEvent({ fg = "#cc0000" }), - NavicIconsOperator({ fg = "#cc0000" }), - NavicIconsTypeParameter({ fg = "#cc0000" }), - - NavicText({ fg = "#cc0000", gui = "italic" }), - - -- LspCodeLens({ fg = "#00ff00", gui = "undercurl" }), - -- LspSignatureActiveParameter({ fg = "#ff0000", bg = "#ffffcc" }), - - NoiceCmdlinePopup({ bg = "#E1F5FE" }), - NoiceMini({ bg = "#FFF9C4" }), - - PMenu({ bg = "#F7F5F0" }), - PMenuBorder({ bg = "#F7F5F0", fg = "#886622" }), - PMenuSel({ fg = "#FFFFFF", bg = "#1976D2" }), - PMenuSbar({ bg = "#90CAF9" }), - PMenuThumb({ bg = "#64B5F6" }), - StatusLine({ base = base.VertSplit, fg = "#BCAAA4" }), - StatusLineNC({ base = base.VertSplit, fg = "#BCAAA4" }), - TreesitterContext({ bg = "#f0f0f0", fg = "#BCAAA4", gui = "bold,italic" }), - TreesitterContextLineNumber({ bg = "#f0f0f0", fg = "#979770", gui = "bold,italic" }), - } - end) - - -- Apply specs using lush tool-chain - -- lush.apply(lush.compile(specs)) - vim.cmd("colorscheme kanagawabones") -end - -return M From d701d27fd45ffeced109b5275bc6fd44729b4857 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 28 Mar 2023 11:09:23 +0200 Subject: [PATCH 030/656] wezterm: paste from clipboard --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 19d3d4e..348ed55 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -186,7 +186,7 @@ return { disable_default_key_bindings = true, keys = { { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("PrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, { key = "0", mods = "CTRL", action = "ResetFontSize" }, { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, From 49f92613ce213e03bdec31dc82560cebb6c428ad Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 28 Mar 2023 11:09:51 +0200 Subject: [PATCH 031/656] sapling: dark mode --- .config/sapling/sapling.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/sapling/sapling.conf b/.config/sapling/sapling.conf index c5a3c75..f6bbe26 100644 --- a/.config/sapling/sapling.conf +++ b/.config/sapling/sapling.conf @@ -9,7 +9,7 @@ l = ll ll = log -G -T '\033[31m{node|short} \033[3;32m{date|age} \033[35;1;3mby {author|person}\n \033[0;34;3m{desc|firstline}\033[0m\n\n' [pager] -pager = delta --hunk-header-style "line-number file" --line-numbers --max-line-distance 0.9 --syntax-theme GitHub --inspect-raw-lines=false +pager = delta --hunk-header-style "line-number file" --line-numbers --max-line-distance 0.9 --inspect-raw-lines=false [color] sl.public = color70 bold From 03994d4f04cedc8a2a0f77df539557711ead5c92 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 28 Mar 2023 11:10:21 +0200 Subject: [PATCH 032/656] starship: sl prompt --- .config/starship.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/starship.toml b/.config/starship.toml index 79ff744..2b70e5a 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -4,11 +4,11 @@ add_newline = false # $git_commit\ # $git_state\ # $git_status\ -# ${custom.sl_status}\ format = """\ $hostname\ $directory\ +${custom.sl_status}\ ($character)\ """ From 259776e89890398d680df7797fa2bd99c4902bea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 28 Mar 2023 11:10:30 +0200 Subject: [PATCH 033/656] nvim: lazy update --- .config/nvim/lazy-lock.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index d116230..b9fa55e 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -12,30 +12,30 @@ "copilot.lua": { "branch": "master", "commit": "db62371b6eac73954c194f3c8faee36cffee8135" }, "gitsigns.nvim": { "branch": "main", "commit": "ca473e28382f1524aa3d2b6f04bcf54f2e6a64cb" }, "go.nvim": { "branch": "master", "commit": "c02634a8350d559eeed94f78c67016fa6d80a8bf" }, - "hlargs.nvim": { "branch": "main", "commit": "a7ad6ed8d6e27ea4dd13fda63fa732e9196ba4ea" }, + "hlargs.nvim": { "branch": "main", "commit": "07771b0e802dd11d788a5de3ef84778a63f93802" }, "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "a80422f21750fcbf0e90b26da877d4024d76f116" }, + "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, - "neogen": { "branch": "main", "commit": "93d997dbddfe084e77ba4541c54a7b8bfd754fb1" }, - "noice.nvim": { "branch": "main", "commit": "f8b1a72a7bce56d9e9ed054708dc855d57dec085" }, + "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, + "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, - "nvim-dap": { "branch": "master", "commit": "7e81998e31277c7a33b6c34423640900c5c2c776" }, + "nvim-dap": { "branch": "master", "commit": "7389e85233e3483b31b6a1c4ba69cda77336b7a8" }, "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "c6105c449683b944b5d2138fcf82f18c657249e9" }, - "nvim-navic": { "branch": "master", "commit": "ca34afcd15c7f6dd0836fc4fca2e37024bfa5019" }, + "nvim-lspconfig": { "branch": "master", "commit": "c5505c70571b094663745167d40388edd40f6450" }, + "nvim-navic": { "branch": "master", "commit": "35731604fb5adab5fe939975879d22994aa8b575" }, "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, - "nvim-treesitter": { "branch": "master", "commit": "1f087c91f5ca76a2257b855d72d371a2b5302986" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "582cbb5a4cb50f6161cac8cc01f55aeaff6d836a" }, + "nvim-treesitter": { "branch": "master", "commit": "5a7a2ad172bcc40c53aa274dff05aacb5074b509" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, "nvim-ts-autotag": { "branch": "main", "commit": "25698e4033cd6cd3745454bfc837dd670eba0480" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, - "nvim-web-devicons": { "branch": "master", "commit": "95b1e300699be8eb6b5be1758a9d4d69fe93cc7f" }, + "nvim-web-devicons": { "branch": "master", "commit": "9c5f71eec6004d43f8e14330a6edb6dbddfe0a68" }, "packer.nvim": { "branch": "master", "commit": "1d0cf98a561f7fd654c970c49f917d74fafe1530" }, "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, @@ -46,7 +46,7 @@ "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, - "trouble.nvim": { "branch": "main", "commit": "7915277a259fdff5d46c6f1d2e100df2ec384d3b" }, + "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, "vim-cue": { "branch": "master", "commit": "bd1a62303d096aa24fe4160a475645087f8770b3" }, "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" } } \ No newline at end of file From 3fc07fbbe563ae7bd939045e36106dc11359adfe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 10 Apr 2023 21:06:24 +0200 Subject: [PATCH 034/656] wezterm-edit-helper: hide escape code output --- bin/wezterm-edit-helper | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index b5f34c5..457ba05 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -17,10 +17,11 @@ fi _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" function _nvim_setenv() { - nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" + nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" 2>&1 >/dev/null } -nvim --server "$_nvim_socket" --remote-expr "42" 2>/dev/null || + +nvim --server "$_nvim_socket" --remote-expr "42" 2>&1 >/dev/null || (rm -f "$_nvim_socket" && wezterm cli spawn --cwd "${PWD}" nvim --listen "$_nvim_socket" && sleep 0.5) _nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" From 8aa51d08ee3ca712109f748bbf8d4ffbb85ddcec Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 10 Apr 2023 21:07:19 +0200 Subject: [PATCH 035/656] remove unused binaries --- bin/gren | 16 --------------- bin/ktail | 5 ----- bin/pw | 46 ------------------------------------------- bin/tmux-build-helper | 4 ---- bin/tmux-nvr | 5 ----- 5 files changed, 76 deletions(-) delete mode 100755 bin/gren delete mode 100755 bin/ktail delete mode 100755 bin/pw delete mode 100755 bin/tmux-build-helper delete mode 100755 bin/tmux-nvr diff --git a/bin/gren b/bin/gren deleted file mode 100755 index 2dff535..0000000 --- a/bin/gren +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -set -ex - -if [[ -z "$1" ]]; then - echo "Usage: $0 <branch name>" - exit 1 -fi - -hub sync - -if git rev-parse --verify --quiet $1; then - git checkout $1 -else - git checkout -b $1 main - git push -u origin $1 -fi diff --git a/bin/ktail b/bin/ktail deleted file mode 100755 index 2969226..0000000 --- a/bin/ktail +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -kubectl get pod --output json \ - | jq -r '[.items[].metadata.labels]|map(to_entries[]|(.key) + "=" + .value)|unique|.[]' \ - | fzf \ - | xargs kubectl tail "$@" -l diff --git a/bin/pw b/bin/pw deleted file mode 100755 index 642ad2a..0000000 --- a/bin/pw +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/bash -# -# Author: Daniel Lundin <dln@arity.se> -# -# Convenience script to hide sensitive variables on the command line. -# Uses keyctl to store secrets in the keyring. -# -# Example usage: mycommand --user=foo --password=$(pw mypass) - -set -eo pipefail - -purge=0 -ttl=${PW_TTL:-259200} - -usage() { echo "Usage: $0 [-t SECONDS] [-f] SECRET_NAME" 1>&2; exit 1; } - -while getopts ":ft:" o; do - case "${o}" in - f) - purge=1 - ;; - t) - ttl=${OPTARG} - ;; - *) - usage - ;; - esac -done -shift $((OPTIND-1)) - -var="$1" -shift || usage -[ -z "$1" ] || usage - -key="pw.${var}" - -if [ "${purge}" == "1" ]; then - keyctl purge user "${key}" >>/dev/null 2>&1 || true -fi - -out=$(systemd-ask-password --accept-cached --keyname="${key}" "${var}:") -key_id=$(keyctl request user "${key}" 2>/dev/null) -keyctl timeout "$key_id" "$ttl" - -printf "%s" "$out" diff --git a/bin/tmux-build-helper b/bin/tmux-build-helper deleted file mode 100755 index e27347c..0000000 --- a/bin/tmux-build-helper +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ef -o pipefail -eval "$(direnv export bash)" -eval "${BUILD_COMMAND:-echo 'BUILD_COMMAND not set'}" | bat --paging=always diff --git a/bin/tmux-nvr b/bin/tmux-nvr deleted file mode 100755 index 12e869f..0000000 --- a/bin/tmux-nvr +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -tmux select-window -t1 -FILE="$1" -shift -exec nvr --remote "$@" $(readlink -f "$FILE") From 1b05f7e138d88bcee945951f2e4315d4fcff3cdb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 10 Apr 2023 21:07:59 +0200 Subject: [PATCH 036/656] remove GOPROXY --- .zshrc | 1 - 1 file changed, 1 deletion(-) diff --git a/.zshrc b/.zshrc index 216a4a6..0fd8bc7 100644 --- a/.zshrc +++ b/.zshrc @@ -219,7 +219,6 @@ fi ## Golang export PATH=$HOME/go/bin:$PATH -GOPROXY=https://athens.aarn.shelman.io ## Ansible export ANSIBLE_NOCOWS=1 From ad881d32282f53cde38d0310a83291e1899530df Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 10 Apr 2023 21:22:34 +0200 Subject: [PATCH 037/656] untrack lazys lockfile --- .config/nvim/lazy-lock.json | 52 ------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 .config/nvim/lazy-lock.json diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json deleted file mode 100644 index b9fa55e..0000000 --- a/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "Comment.nvim": { "branch": "master", "commit": "8d3aa5c22c2d45e788c7a5fe13ad77368b783c20" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "8fcc934a52af96120fe26358985c10c035984b53" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp-tmux": { "branch": "main", "commit": "984772716f66d8ee88535a6bf3f94c4b4e1301f5" }, - "colorbuddy.vim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "copilot-cmp": { "branch": "master", "commit": "92535dfd9c430b49ca7d9a7da336c5db65826b65" }, - "copilot.lua": { "branch": "master", "commit": "db62371b6eac73954c194f3c8faee36cffee8135" }, - "gitsigns.nvim": { "branch": "main", "commit": "ca473e28382f1524aa3d2b6f04bcf54f2e6a64cb" }, - "go.nvim": { "branch": "master", "commit": "c02634a8350d559eeed94f78c67016fa6d80a8bf" }, - "hlargs.nvim": { "branch": "main", "commit": "07771b0e802dd11d788a5de3ef84778a63f93802" }, - "inc-rename.nvim": { "branch": "main", "commit": "21c23c379342a731a0c90f226601ec0434627b26" }, - "indent-blankline.nvim": { "branch": "master", "commit": "018bd04d80c9a73d399c1061fa0c3b14a7614399" }, - "lazy.nvim": { "branch": "main", "commit": "57cce98dfdb2f2dd05a0567d89811e6d0505e13b" }, - "lspkind-nvim": { "branch": "master", "commit": "c68b3a003483cf382428a43035079f78474cd11e" }, - "lualine.nvim": { "branch": "master", "commit": "e99d733e0213ceb8f548ae6551b04ae32e590c80" }, - "marks.nvim": { "branch": "master", "commit": "76aca5069c5ce5c0099e30168649e6393e494f26" }, - "neogen": { "branch": "main", "commit": "9c17225aac94bdbf93baf16e1b2d2c6dcffb0901" }, - "noice.nvim": { "branch": "main", "commit": "1da4edfba3e9278e98fc9723d7235d9ab3889744" }, - "nui.nvim": { "branch": "main", "commit": "0dc148c6ec06577fcf06cbab3b7dac96d48ba6be" }, - "null-ls.nvim": { "branch": "main", "commit": "0180603b6f3cee40f83c6fc226b9ac5f85e691c4" }, - "nvim-cmp": { "branch": "main", "commit": "777450fd0ae289463a14481673e26246b5e38bf2" }, - "nvim-dap": { "branch": "master", "commit": "7389e85233e3483b31b6a1c4ba69cda77336b7a8" }, - "nvim-dap-go": { "branch": "main", "commit": "b4ded7de579b4e2a85c203388233b54bf1028816" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "8db23ea51203b5f00ad107a0cef7e0b2d7a0476c" }, - "nvim-lsp-ts-utils": { "branch": "main", "commit": "0a6a16ef292c9b61eac6dad00d52666c7f84b0e7" }, - "nvim-lspconfig": { "branch": "master", "commit": "c5505c70571b094663745167d40388edd40f6450" }, - "nvim-navic": { "branch": "master", "commit": "35731604fb5adab5fe939975879d22994aa8b575" }, - "nvim-osc52": { "branch": "main", "commit": "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31" }, - "nvim-treesitter": { "branch": "master", "commit": "5a7a2ad172bcc40c53aa274dff05aacb5074b509" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "b55fe6175f0001347a433c9df358c8cbf8a4e90f" }, - "nvim-ts-autotag": { "branch": "main", "commit": "25698e4033cd6cd3745454bfc837dd670eba0480" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "729d83ecb990dc2b30272833c213cc6d49ed5214" }, - "nvim-web-devicons": { "branch": "master", "commit": "9c5f71eec6004d43f8e14330a6edb6dbddfe0a68" }, - "packer.nvim": { "branch": "master", "commit": "1d0cf98a561f7fd654c970c49f917d74fafe1530" }, - "playground": { "branch": "master", "commit": "4044b53c4d4fcd7a78eae20b8627f78ce7dc6f56" }, - "plenary.nvim": { "branch": "master", "commit": "253d34830709d690f013daf2853a9d21ad7accab" }, - "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, - "stylua-nvim": { "branch": "main", "commit": "ce59a353f02938cba3e0285e662fcd3901cd270f" }, - "telescope-dap.nvim": { "branch": "master", "commit": "313d2ea12ae59a1ca51b62bf01fc941a983d9c9c" }, - "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, - "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, - "telescope-ui-select.nvim": { "branch": "master", "commit": "62ea5e58c7bbe191297b983a9e7e89420f581369" }, - "telescope.nvim": { "branch": "master", "commit": "942fe5faef47b21241e970551eba407bc10d9547" }, - "trouble.nvim": { "branch": "main", "commit": "2ae7237c2917d661f458443c9a88680f8ca2d7b2" }, - "vim-cue": { "branch": "master", "commit": "bd1a62303d096aa24fe4160a475645087f8770b3" }, - "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" } -} \ No newline at end of file From 11886d2ce88ddab55eba8d9cea89bec7f11575ce Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 17 Apr 2023 12:57:02 +0200 Subject: [PATCH 038/656] wezterm: remove window decorations and padding --- .config/wezterm/wezterm.lua | 39 ++----------------------------------- 1 file changed, 2 insertions(+), 37 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 348ed55..9df4394 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -66,22 +66,6 @@ end) local function activate_tab(index) return function(window, pane) window:perform_action(act.ActivateTab(index), pane) - -- wezterm.log_info(title) - -- for _, t in ipairs(window:mux_window():tabs_with_info()) do - -- if t.tab:get_title() == title then - -- window:perform_action( - -- act.Multiple({ - -- act.ActivateTab(t.index), - -- act.MoveTab(index), - -- }), - -- pane - -- ) - -- return - -- end - -- end - -- local tab, _, _ = window:mux_window():spawn_tab({}) - -- tab:set_title(title) - -- window:perform_action(act.MoveTab(index), pane) end end @@ -141,12 +125,6 @@ return { initial_rows = 45, use_resize_increments = true, window_background_opacity = 1.0, - window_padding = { - left = "0.75cell", - right = "0.5cell", - top = "0.25cell", - bottom = "0cell", - }, colors = { tab_bar = { active_tab = { @@ -155,24 +133,11 @@ return { }, }, }, - window_decorations = "RESIZE", - window_frame = { - border_left_width = "2px", - border_right_width = "2px", - border_bottom_height = "2px", - border_top_height = "2px", - border_left_color = "#333333", - border_right_color = "#333333", - border_bottom_color = "#333333", - border_top_color = "#333333", - inactive_titlebar_bg = "#21262e", - active_titlebar_bg = "#252b34", - }, default_cursor_style = "SteadyBlock", cursor_thickness = "3px", - cursor_blink_rate = 300, + cursor_blink_rate = 0, enable_wayland = true, - enable_tab_bar = true, + enable_tab_bar = false, tab_bar_at_bottom = true, use_fancy_tab_bar = true, show_tab_index_in_tab_bar = true, From 6e6afdbe56cf535933fa7ae94b5cf626545680c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 17 Apr 2023 12:57:34 +0200 Subject: [PATCH 039/656] wezterm: user webgpu renderer --- .config/wezterm/wezterm.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 9df4394..b3549ac 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -109,11 +109,7 @@ return { font = font_with_fallback("Iosevka Shelman SS09", { weight = "DemiBold" }), }, }, - freetype_load_target = "Light", - freetype_render_target = "HorizontalLcd", - --freetype_load_flags = "NO_HINTING", - --custom_block_glyphs = false, - + front_end = "WebGpu", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", From acaac626024e50f9f683744b8fd8259892343c82 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 27 Apr 2023 15:40:04 +0200 Subject: [PATCH 040/656] disable sapling prompt for now --- .config/starship.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/starship.toml b/.config/starship.toml index 2b70e5a..be93261 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -17,7 +17,7 @@ right_format = """\ [custom.sl_status] command = '''~/bin/starship-sl-status''' -when = true +when = false style = "italic fg:#79AE6F" format = '[(🌱 $output )]($style)' From 037dc7029a37974029f73e63cbac4fa18a82b3ea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 27 Apr 2023 15:40:49 +0200 Subject: [PATCH 041/656] wezterm: stop using muxer since it was too slow --- .config/wezterm/wezterm.lua | 103 ++++++++++++++++-------------------- 1 file changed, 45 insertions(+), 58 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b3549ac..3239f30 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -2,6 +2,9 @@ local wezterm = require("wezterm") local mux = wezterm.mux local act = wezterm.action +local dev_host = "dln-dev" +local spawn_dev_nvim = { "ssh", dev_host, "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } + local function font_with_fallback(name, params) local names = { name, "Noto Color Emoji" } return wezterm.font_with_fallback(names, params) @@ -13,35 +16,34 @@ wezterm.on("gui-startup", function(cmd) args = cmd.args end - local _, _, window = mux.spawn_window({ + local tab, pane, window = mux.spawn_window({ workspace = "local", - args = args, + args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" }, }) - -- spawn 10 tabs - for _ = 1, 10 do + tab:set_title("nvim") + + for _ = 1, 9 do window:spawn_tab({}) end + window:gui_window():perform_action(act.ActivateTab(1), pane) + + local tab, pane, window = mux.spawn_window({ + workspace = dev_host, + args = spawn_dev_nvim, + }) + tab:set_title("nvim") + + for _ = 1, 9 do + window:spawn_tab({ args = { "ssh", dev_host } }) + end mux.set_active_workspace("local") end) -wezterm.on("mux-startup", function() - local _, _, window = mux.spawn_window({ - workspace = "dln-dev", - }) - -- Spawn 10 mux tabs (on dev server) - for _ = 1, 10 do - window:spawn_tab({}) - end -end) - -local is_server = wezterm.hostname() == "dln-dev" - local function activate_nvim(window, pane) - wezterm.log_info("activate_nvim") for _, t in ipairs(window:mux_window():tabs_with_info()) do for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" then + if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then window:perform_action( act.Multiple({ act.ActivateTab(t.index), @@ -53,39 +55,31 @@ local function activate_nvim(window, pane) end end end + + local nvim = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } + if window:mux_window():get_workspace() == dev_host then + nvim = spawn_dev_nvim + end + + local tab, pane, _ = window:mux_window():spawn_tab({ args = nvim }) + window:perform_action(act.MoveTab(0), pane) + tab:set_title("nvim") end wezterm.on("user-var-changed", function(window, pane, name, value) - wezterm.log_info("user-var-changed", name, value) - if name == "nvim_activate" then activate_nvim(window, pane) end end) -local function activate_tab(index) - return function(window, pane) - window:perform_action(act.ActivateTab(index), pane) - end -end +wezterm.on("activate-nvim", activate_nvim) -wezterm.on("tab-1", activate_nvim) -wezterm.on("tab-2", activate_tab(1)) -wezterm.on("tab-3", activate_tab(2)) -wezterm.on("tab-4", activate_tab(3)) -wezterm.on("tab-5", activate_tab(4)) -wezterm.on("tab-6", activate_tab(5)) -wezterm.on("tab-7", activate_tab(6)) -wezterm.on("tab-8", activate_tab(7)) -wezterm.on("tab-9", activate_tab(8)) -wezterm.on("tab-10", activate_tab(9)) - -wezterm.add_to_config_reload_watch_list("/home/dln/.config/shelman-theme/current/wezterm") +wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") return { color_scheme = "Shelman Theme", color_scheme_dirs = { - "/home/dln/.config/shelman-theme/current/wezterm", + os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm", }, font = font_with_fallback("Iosevka Shelman SS09", { weight = "Regular" }), font_rules = { @@ -110,6 +104,7 @@ return { }, }, front_end = "WebGpu", + webgpu_power_preference = "HighPerformance", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", @@ -135,7 +130,7 @@ return { enable_wayland = true, enable_tab_bar = false, tab_bar_at_bottom = true, - use_fancy_tab_bar = true, + use_fancy_tab_bar = false, show_tab_index_in_tab_bar = true, enable_scroll_bar = false, scrollback_lines = 5000, @@ -153,19 +148,18 @@ return { { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + { key = "L", mods = "CTRL", action = wezterm.action.ShowDebugOverlay }, -- mux - { key = "A", mods = "ALT", action = act.AttachDomain("dln-dev") }, - { key = "E", mods = "ALT", action = act.DetachDomain({ DomainName = "dln-dev" }) }, - { key = "1", mods = "ALT", action = act.EmitEvent("tab-1") }, - { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, - { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, - { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, - { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, - { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, - { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, - { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, - { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, - { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, + { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, + { key = "2", mods = "ALT", action = act.ActivateTab(1) }, + { key = "3", mods = "ALT", action = act.ActivateTab(2) }, + { key = "4", mods = "ALT", action = act.ActivateTab(3) }, + { key = "5", mods = "ALT", action = act.ActivateTab(4) }, + { key = "6", mods = "ALT", action = act.ActivateTab(5) }, + { key = "7", mods = "ALT", action = act.ActivateTab(6) }, + { key = "8", mods = "ALT", action = act.ActivateTab(7) }, + { key = "9", mods = "ALT", action = act.ActivateTab(8) }, + { key = "0", mods = "ALT", action = act.ActivateTab(9) }, { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "l", mods = "ALT", action = wezterm.action.ActivateCommandPalette }, @@ -195,11 +189,4 @@ return { action = act.ScrollByPage(0.25), }, }, - unix_domains = { - { - name = "dln-dev", - local_echo_threshold_ms = 100, - proxy_command = is_server == false and { "ssh", "dln-dev", "wezterm", "cli", "proxy" } or nil, - }, - }, } From e9e059660c9a0084587b659e49908f45167b5d1c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 27 Apr 2023 15:59:43 +0200 Subject: [PATCH 042/656] edit-helper: do not spawn nvim --- bin/wezterm-edit-helper | 4 ---- 1 file changed, 4 deletions(-) diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index 457ba05..714b3d2 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -20,10 +20,6 @@ function _nvim_setenv() { nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" 2>&1 >/dev/null } - -nvim --server "$_nvim_socket" --remote-expr "42" 2>&1 >/dev/null || - (rm -f "$_nvim_socket" && wezterm cli spawn --cwd "${PWD}" nvim --listen "$_nvim_socket" && sleep 0.5) - _nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" _nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" _nvim_setenv GOFLAGS "$GOFLAGS" From 6dfd7d5f8ef7c924af96b81e2aaf72d319f3d927 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 27 Apr 2023 16:05:18 +0200 Subject: [PATCH 043/656] zsh: clean up completion --- .zshrc | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/.zshrc b/.zshrc index 0fd8bc7..a56a3ea 100644 --- a/.zshrc +++ b/.zshrc @@ -172,6 +172,11 @@ pyenv() { esac } + +autoload -Uz compdef +autoload -U +X bashcompinit && bashcompinit +autoload -U +X compinit && compinit + ## eksctl if [ ! -f "${fpath[1]}/_eksctl" ]; then command -v eksctl >/dev/null 2>&1 && eksctl completion zsh > "${fpath[1]}/_eksctl" @@ -214,8 +219,13 @@ if [ ! -f "${fpath[1]}/_talosctl" ]; then command -v talosctl >/dev/null 2>&1 && talosctl completion zsh > "${fpath[1]}/_talosctl" fi +## vault +complete -o nospace -C /usr/bin/vault vault + ## Google Cloud [ -f /opt/google-cloud-sdk/completion.zsh.inc ] && source /opt/google-cloud-sdk/completion.zsh.inc +if [ -f '/home/dln/google-cloud-sdk/path.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/path.zsh.inc'; fi +if [ -f '/home/dln/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/completion.zsh.inc'; fi ## Golang export PATH=$HOME/go/bin:$PATH @@ -226,21 +236,8 @@ export ANSIBLE_NOCOWS=1 ## Docker export DOCKER_BUILDKIT=1 -autoload -Uz compinit -compinit - -autoload -Uz compdef - PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/dln/.config/tea/autocomplete.zsh" ## AWS -autoload -U +X bashcompinit && bashcompinit complete -o nospace -C /usr/bin/mcli mcli complete -C '/usr/bin/aws_completer' aws - - -# The next line updates PATH for the Google Cloud SDK. -if [ -f '/home/dln/google-cloud-sdk/path.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/path.zsh.inc'; fi - -# The next line enables shell command completion for gcloud. -if [ -f '/home/dln/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/completion.zsh.inc'; fi From 1a1acba0e78274a69f0797b2e9dfd3d00e75f6a2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 29 Apr 2023 11:33:39 +0200 Subject: [PATCH 044/656] Return of the tmux --- .config/starship.toml | 14 +++- .config/wezterm/wezterm.lua | 79 +------------------ .../applications/wezterm-dln-dev.desktop | 2 +- .../share/applications/wezterm-local.desktop | 11 +++ .tmux.conf | 24 +++--- .zshrc | 2 +- bin/tmux-build-helper | 4 + bin/{wezterm-edit-helper => tmux-edit-helper} | 15 ++-- 8 files changed, 47 insertions(+), 104 deletions(-) create mode 100644 .local/share/applications/wezterm-local.desktop create mode 100755 bin/tmux-build-helper rename bin/{wezterm-edit-helper => tmux-edit-helper} (70%) diff --git a/.config/starship.toml b/.config/starship.toml index be93261..ab1eeda 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -1,20 +1,26 @@ add_newline = false -# $git_branch\ -# $git_commit\ -# $git_state\ -# $git_status\ format = """\ +${env_var.TMUX_WINDOW}\ $hostname\ $directory\ ${custom.sl_status}\ +$git_branch\ +$git_commit\ +$git_state\ +$git_status\ ($character)\ """ right_format = """\ """ +[env_var.TMUX_WINDOW] +default = "" +format = '[ $env_value ]($style)[](fg:#d1002f) ' +style = 'italic bg:#d1002f fg:#ffffff' + [custom.sl_status] command = '''~/bin/starship-sl-status''' when = false diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 3239f30..25aef7c 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -10,70 +10,6 @@ local function font_with_fallback(name, params) return wezterm.font_with_fallback(names, params) end -wezterm.on("gui-startup", function(cmd) - local args = {} - if cmd then - args = cmd.args - end - - local tab, pane, window = mux.spawn_window({ - workspace = "local", - args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" }, - }) - tab:set_title("nvim") - - for _ = 1, 9 do - window:spawn_tab({}) - end - window:gui_window():perform_action(act.ActivateTab(1), pane) - - local tab, pane, window = mux.spawn_window({ - workspace = dev_host, - args = spawn_dev_nvim, - }) - tab:set_title("nvim") - - for _ = 1, 9 do - window:spawn_tab({ args = { "ssh", dev_host } }) - end - - mux.set_active_workspace("local") -end) - -local function activate_nvim(window, pane) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(0), - }), - pane - ) - return - end - end - end - - local nvim = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } - if window:mux_window():get_workspace() == dev_host then - nvim = spawn_dev_nvim - end - - local tab, pane, _ = window:mux_window():spawn_tab({ args = nvim }) - window:perform_action(act.MoveTab(0), pane) - tab:set_title("nvim") -end - -wezterm.on("user-var-changed", function(window, pane, name, value) - if name == "nvim_activate" then - activate_nvim(window, pane) - end -end) - -wezterm.on("activate-nvim", activate_nvim) - wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") return { @@ -115,6 +51,7 @@ return { initial_cols = 132, initial_rows = 45, use_resize_increments = true, + window_decorations = "RESIZE", window_background_opacity = 1.0, colors = { tab_bar = { @@ -127,6 +64,7 @@ return { default_cursor_style = "SteadyBlock", cursor_thickness = "3px", cursor_blink_rate = 0, + hide_mouse_cursor_when_typing = false, enable_wayland = true, enable_tab_bar = false, tab_bar_at_bottom = true, @@ -149,19 +87,6 @@ return { { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, { key = "r", mods = "ALT", action = act.ReloadConfiguration }, { key = "L", mods = "CTRL", action = wezterm.action.ShowDebugOverlay }, - -- mux - { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, - { key = "2", mods = "ALT", action = act.ActivateTab(1) }, - { key = "3", mods = "ALT", action = act.ActivateTab(2) }, - { key = "4", mods = "ALT", action = act.ActivateTab(3) }, - { key = "5", mods = "ALT", action = act.ActivateTab(4) }, - { key = "6", mods = "ALT", action = act.ActivateTab(5) }, - { key = "7", mods = "ALT", action = act.ActivateTab(6) }, - { key = "8", mods = "ALT", action = act.ActivateTab(7) }, - { key = "9", mods = "ALT", action = act.ActivateTab(8) }, - { key = "0", mods = "ALT", action = act.ActivateTab(9) }, - { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "l", mods = "ALT", action = wezterm.action.ActivateCommandPalette }, { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop index ae83c85..8f8a4e7 100644 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ b/.local/share/applications/wezterm-dln-dev.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm start --always-new-process --class=wezterm-dln-dev +Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As0"}' start --class=wezterm-dln-dev diff --git a/.local/share/applications/wezterm-local.desktop b/.local/share/applications/wezterm-local.desktop new file mode 100644 index 0000000..c425874 --- /dev/null +++ b/.local/share/applications/wezterm-local.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=wezterm-local +GenericName=wezterm-local +StartupWMClass=wezterm-local +Type=Application +TryExec=/usr/bin/wezterm +Icon=org.wezfurlong.wezterm +Terminal=false +Categories=System;TerminalEmulator; +Exec=/usr/bin/wezterm --config 'default_prog={"tmux", "-u", "new", "-As0"}' start + diff --git a/.tmux.conf b/.tmux.conf index 297c1f2..11ef005 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -53,9 +53,9 @@ bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-d bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again -bind -n M-g display-popup -S 'bg=#F1F8E9,fg=#689F38' -s 'bg=#F1F8E9' -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "gitui" -bind -n M-e display-popup -S 'bg=#E3F2FD,fg=#0288D1' -s 'bg=#E3F2FD' -h '40%' -w '90%' -y 0 -b rounded -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-helper" -bind -n M-m display-popup -S 'bg=#FFF8E1,fg=#FF6F00' -s 'bg=#FFF8E1' -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "~/bin/tmux-build-helper" +bind -n M-g display-popup -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "gitui" +bind -n M-e display-popup -h '40%' -w '90%' -y 0 -b rounded -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "~/bin/tmux-build-helper" setw -g window-status-format "" setw -g window-status-current-format "" @@ -71,14 +71,14 @@ set -g set-titles on set -g set-titles-string "#H - #T" new -s0 -n 1 nvim --listen $XDG_RUNTIME_DIR/nvim.sock -new-window -n 2 -new-window -n 3 -new-window -n 4 -new-window -n 5 -new-window -n 6 -new-window -n 7 -new-window -n 8 -new-window -n 9 -new-window -n 0 +new-window -n 2 -e TMUX_WINDOW=2 +new-window -n 3 -e TMUX_WINDOW=3 +new-window -n 4 -e TMUX_WINDOW=4 +new-window -n 5 -e TMUX_WINDOW=5 +new-window -n 6 -e TMUX_WINDOW=6 +new-window -n 7 -e TMUX_WINDOW=7 +new-window -n 8 -e TMUX_WINDOW=8 +new-window -n 9 -e TMUX_WINDOW=9 +new-window -n 0 -e TMUX_WINDOW=0 # vim:set ft=tmux: diff --git a/.zshrc b/.zshrc index a56a3ea..409fd34 100644 --- a/.zshrc +++ b/.zshrc @@ -105,7 +105,7 @@ export LESS="--mouse --wheel-lines=1 -nRXF" ## Aliases alias c='cut -c-${COLUMNS}' -alias e='wezterm-edit-helper' +alias e='tmux-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' alias l=bat alias lw='bat --wrap=never' diff --git a/bin/tmux-build-helper b/bin/tmux-build-helper new file mode 100755 index 0000000..e27347c --- /dev/null +++ b/bin/tmux-build-helper @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ef -o pipefail +eval "$(direnv export bash)" +eval "${BUILD_COMMAND:-echo 'BUILD_COMMAND not set'}" | bat --paging=always diff --git a/bin/wezterm-edit-helper b/bin/tmux-edit-helper similarity index 70% rename from bin/wezterm-edit-helper rename to bin/tmux-edit-helper index 714b3d2..efe3e07 100755 --- a/bin/wezterm-edit-helper +++ b/bin/tmux-edit-helper @@ -16,14 +16,11 @@ fi _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" -function _nvim_setenv() { - nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" 2>&1 >/dev/null -} - -_nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" -_nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" -_nvim_setenv GOFLAGS "$GOFLAGS" +tmux select-window -t nvim 2>/dev/null || + tmux new-window -S -n nvim \ + -e "BUILD_COMMAND=$BUILD_COMMAND" \ + -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "GOFLAGS=$GOFLAGS" \ + nvim --listen "$_nvim_socket" nvim --server "$_nvim_socket" --remote "$_file" - -printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From c4439324dbf10f2f37d0d8a37c09145017be2153 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 29 Apr 2023 15:18:46 +0200 Subject: [PATCH 045/656] ssh: send locale env vars --- .ssh/config | 1 + 1 file changed, 1 insertion(+) diff --git a/.ssh/config b/.ssh/config index 6aec36a..d8b018d 100644 --- a/.ssh/config +++ b/.ssh/config @@ -8,6 +8,7 @@ Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh. AddressFamily inet RequestTty yes PreferredAuthentications=publickey +SendEnv LC_* LANG Include ~/.ssh/private_config From bbca481fc49169728104c18b0c4dc727b9581013 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 29 Apr 2023 15:23:07 +0200 Subject: [PATCH 046/656] zsh: locale kludge --- .zshrc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.zshrc b/.zshrc index 409fd34..32b07f4 100644 --- a/.zshrc +++ b/.zshrc @@ -51,6 +51,10 @@ setopt null_glob # ZSH_AUTOSUGGEST_USE_ASYNC=1 # ZSH_AUTOSUGGEST_STRATEGY=(history completion) +# FIXME: Why does this work? Otherwise zshrc gets the wrong prompt length for unicode chars. +export LC_ALL=en_US.UTF-8 +export LC_ALL=en_SE.UTF-8 + export PATH=$HOME/bin:$PATH redraw-prompt() { From 58e973e0f17ce0f72182da86f2e6d4e4e324d7e0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 3 May 2023 10:21:44 +0200 Subject: [PATCH 047/656] nvim: fix tmux key bindings --- .config/nvim/lua/plugins/misc.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua index a76c874..24391dd 100644 --- a/.config/nvim/lua/plugins/misc.lua +++ b/.config/nvim/lua/plugins/misc.lua @@ -70,8 +70,8 @@ return { { "numToStr/Comment.nvim", keys = { - { "<C-/>", "<Plug>(comment_toggle_linewise_current)" }, - { "<C-/>", "<Plug>(comment_toggle_linewise_visual)", mode = "v" }, + { "<C-_>", "<Plug>(comment_toggle_linewise_current)" }, + { "<C-_>", "<Plug>(comment_toggle_linewise_visual)", mode = "v" }, }, dependencies = { "JoosepAlviste/nvim-ts-context-commentstring", From e80c94955d838175dfb3385e02b35006f6f7da83 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 3 May 2023 10:22:07 +0200 Subject: [PATCH 048/656] zsh: use en_DK locale --- .zshrc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.zshrc b/.zshrc index 32b07f4..f86e07a 100644 --- a/.zshrc +++ b/.zshrc @@ -53,7 +53,7 @@ setopt null_glob # FIXME: Why does this work? Otherwise zshrc gets the wrong prompt length for unicode chars. export LC_ALL=en_US.UTF-8 -export LC_ALL=en_SE.UTF-8 +export LC_ALL=en_DK.UTF-8 export PATH=$HOME/bin:$PATH @@ -193,9 +193,9 @@ fi export PATH=$HOME/.krew/bin:$PATH ## bazel -if [ ! -f "${fpath[1]}/_bazel" ]; then - curl -sLo "${fpath[1]}/_bazel" https://raw.githubusercontent.com/bazelbuild/bazel/master/scripts/zsh_completion/_bazel -fi +#if [ ! -f "${fpath[1]}/_bazel" ]; then +# curl -sLo "${fpath[1]}/_bazel" https://raw.githubusercontent.com/bazelbuild/bazel/master/scripts/zsh_completion/_bazel +#fi ## sapling if [ ! -f "${fpath[1]}/_sl" ]; then From 8df9e883a1603cf2e4502871e2d4e5db447d9dd2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 3 May 2023 10:33:36 +0200 Subject: [PATCH 049/656] nvim: uncomment comment textobject --- .config/nvim/lua/plugins/treesitter.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 662c3c3..7ec330a 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -112,6 +112,12 @@ return { ["[M"] = "@class.outer", }, }, + select = { + enable = true, + keymaps = { + ["uc"] = "@comment.outer", + }, + }, }, --- nvim-ts-autotag --- autotag = { From 474a89b198a3e890a7753f11e3207c49c3c3644f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 3 May 2023 10:39:06 +0200 Subject: [PATCH 050/656] nvim: nvim and tmux cwd fix --- .config/nvim/lua/config/options.lua | 7 +++++-- .tmux.conf | 7 ++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index fb8d091..7532f9f 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -9,7 +9,7 @@ vim.o.splitright = true vim.o.ttimeout = true vim.o.ttimeoutlen = 50 vim.o.updatetime = 100 -vim.o.autochdir = false +vim.o.autochdir = true vim.o.backupdir = "/home/dln/.local/share/nvim/backup/" vim.o.backup = true vim.g.netrw_dirhistmax = 0 @@ -72,4 +72,7 @@ vim.keymap.set("n", ",L", ":luafile %<CR>") -- Reload lua file -- AutoCommand OSC7 workaround for tmux -- see https://github.com/neovim/neovim/issues/21771 -vim.cmd([[autocmd DirChanged * call chansend(v:stderr, printf("\033]7;file://%s\033\\", v:event.cwd))]]) +vim.api.nvim_create_autocmd("dirchanged", { + pattern = "*", + command = 'call chansend(v:stderr, printf("\\033]7;%s\\033", v:event.cwd))', +}) diff --git a/.tmux.conf b/.tmux.conf index 11ef005..bb50935 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -53,9 +53,10 @@ bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-d bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again -bind -n M-g display-popup -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "gitui" -bind -n M-e display-popup -h '40%' -w '90%' -y 0 -b rounded -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-helper" -bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{pane_current_path}' -E "~/bin/tmux-build-helper" +bind -n M-g display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "gitui" +bind -n M-e display-popup -h '40%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "~/bin/tmux-build-helper" + setw -g window-status-format "" setw -g window-status-current-format "" From 334331080048e4f7b251cd6d06431b9ea020e134 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 7 May 2023 10:42:53 +0200 Subject: [PATCH 051/656] nvim: disable lazy auto check for updates --- .config/nvim/lua/config/lazy.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index a5685f6..32e6454 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -10,7 +10,7 @@ vim.opt.runtimepath:prepend(lazypath) require("lazy").setup({ import = "plugins", defaults = { lazy = true }, - checker = { enabled = true }, + checker = { enabled = false }, performance = { cache = { enabled = true, From 7826d193f65a0f2e82dae47c1c6dbeb78ed7a6ee Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 7 May 2023 10:43:13 +0200 Subject: [PATCH 052/656] nvim: put hostname in lualine --- .config/nvim/lua/plugins/lualine.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua index 2b40678..65f272c 100644 --- a/.config/nvim/lua/plugins/lualine.lua +++ b/.config/nvim/lua/plugins/lualine.lua @@ -15,10 +15,12 @@ function M.config() options = { globalstatus = true, theme = "onedark", + -- theme = "wombat", component_separators = { left = "╲", right = "╱" }, section_separators = { left = "", right = "" }, }, sections = { + lualine_a = { "hostname" }, lualine_c = { { "filename", From 2df6c93955c13a4f2205d24dd40afb57fed42f26 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 8 May 2023 00:15:03 +0200 Subject: [PATCH 053/656] wezterm: cleaning up the typography --- .config/wezterm/wezterm.lua | 19 ++++++++++++------- .../share/applications/wezterm-local.desktop | 3 +-- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 25aef7c..b76e5ca 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -17,26 +17,26 @@ return { color_scheme_dirs = { os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm", }, - font = font_with_fallback("Iosevka Shelman SS09", { weight = "Regular" }), + font = font_with_fallback("Iosevka Term SS09", { weight = "Light" }), font_rules = { { italic = false, intensity = "Half", - font = font_with_fallback("Iosevka Shelman SS09", { weight = "Thin" }), + font = font_with_fallback("Iosevka Term SS09", { weight = "Thin" }), }, { italic = true, intensity = "Normal", - font = font_with_fallback("Iosevka Shelman Curly Slab", { weight = "Light", italic = true }), + font = font_with_fallback("Iosevka Term Curly Slab", { weight = "Light", italic = true }), }, { italic = true, intensity = "Bold", - font = font_with_fallback("Iosevka Shelman SS15", { weight = "ExtraLight", italic = true }), + font = font_with_fallback("Iosevka Term SS15", { weight = "ExtraLight", italic = true }), }, { intensity = "Bold", - font = font_with_fallback("Iosevka Shelman SS09", { weight = "DemiBold" }), + font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), }, }, front_end = "WebGpu", @@ -46,13 +46,18 @@ return { allow_square_glyphs_to_overflow_width = "Always", font_size = 13.5, command_palette_font_size = 13.5, - line_height = 1.0, - cell_width = 0.95, + line_height = 1.065, initial_cols = 132, initial_rows = 45, use_resize_increments = true, window_decorations = "RESIZE", window_background_opacity = 1.0, + window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, + }, colors = { tab_bar = { active_tab = { diff --git a/.local/share/applications/wezterm-local.desktop b/.local/share/applications/wezterm-local.desktop index c425874..773565d 100644 --- a/.local/share/applications/wezterm-local.desktop +++ b/.local/share/applications/wezterm-local.desktop @@ -7,5 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"tmux", "-u", "new", "-As0"}' start - +Exec=/usr/bin/wezterm --config 'default_prog={"tmux", "-u", "new", "-As0"}' start --class=wezterm-local From faaaf6cf8408680b7689b13341299d7699bfc836 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 8 May 2023 09:44:25 +0200 Subject: [PATCH 054/656] nvim: telescope oldfiles all dirs by default --- .config/nvim/lua/plugins/telescope.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index cb54946..a74ea03 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -24,8 +24,8 @@ function M.config() vim.keymap.set("n", "<leader>b", '<cmd>lua require("telescope.builtin").buffers()<CR>') vim.keymap.set("n", "<leader>f", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') - vim.keymap.set("n", "<space>", '<cmd>lua require("telescope.builtin").oldfiles({cwd_only=true})<CR>') - vim.keymap.set("n", "<leader><space>", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') + vim.keymap.set("n", "<space>", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') + vim.keymap.set("n", "<leader><space>", '<cmd>lua require("telescope.builtin").oldfiles({cwd_only=true})<CR>') vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics({bufnr=0})<CR>') vim.keymap.set("n", "<leader>e", '<cmd>lua require("telescope.builtin").git_files()<CR>') vim.keymap.set("n", "<leader>g", '<cmd>lua require("telescope.builtin").git_status()<CR>') From 712769d7cd327129c97a39a4f47a90c3a035947d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 8 May 2023 09:44:49 +0200 Subject: [PATCH 055/656] nvim: no clipboard sync --- .config/nvim/lua/config/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 7532f9f..3368d0c 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -13,7 +13,7 @@ vim.o.autochdir = true vim.o.backupdir = "/home/dln/.local/share/nvim/backup/" vim.o.backup = true vim.g.netrw_dirhistmax = 0 -vim.o.clipboard = "unnamedplus" +-- vim.o.clipboard = "unnamedplus" vim.g.do_filetype_lua = 1 vim.o.spell = false vim.o.spelllang = "en_us" From 9d6880a7338a4cf87d1c429fff9d2c11c33ee712 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 9 May 2023 22:19:50 +0200 Subject: [PATCH 056/656] nvim: cmp tweaks --- .config/nvim/lua/plugins/cmp.lua | 85 +++++++++++++++++--------------- 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index ddba684..6bb7800 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -1,44 +1,47 @@ return { - "hrsh7th/nvim-cmp", - dependencies = { - "andersevenrud/cmp-tmux", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-emoji", - "hrsh7th/cmp-path", - "hrsh7th/cmp-cmdline", - "hrsh7th/cmp-nvim-lsp-signature-help", - "onsails/lspkind-nvim", - { "zbirenbaum/copilot-cmp", opts = {} }, - }, - event = "InsertEnter", - config = function() - local cmp = require("cmp") + "hrsh7th/nvim-cmp", + dependencies = { + "andersevenrud/cmp-tmux", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-buffer", + "hrsh7th/cmp-emoji", + "hrsh7th/cmp-path", + "hrsh7th/cmp-cmdline", + "hrsh7th/cmp-nvim-lsp-signature-help", + "onsails/lspkind-nvim", + { "zbirenbaum/copilot-cmp", opts = {} }, + }, + event = "InsertEnter", + config = function() + local cmp = require("cmp") - cmp.setup({ - formatting = { - format = require("lspkind").cmp_format(), - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - ["<Up>"] = cmp.mapping.select_prev_item(), - ["<Down>"] = cmp.mapping.select_next_item(), - ["<C-d>"] = cmp.mapping.scroll_docs(-2), - ["<C-u>"] = cmp.mapping.scroll_docs(2), - ["<C-e>"] = cmp.mapping.abort(), - ["<CR>"] = cmp.mapping.confirm({ select = true }), - ["<C-Space>"] = cmp.mapping.complete(), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "nvim_lsp_signature_help" }, - { name = "buffer" }, - { name = "copilot" }, - { name = "emoji" }, - }), - }) - end, + cmp.setup({ + formatting = { + format = require("lspkind").cmp_format(), + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + ["<Up>"] = cmp.mapping.select_prev_item(), + ["<Down>"] = cmp.mapping.select_next_item(), + ["<C-d>"] = cmp.mapping.scroll_docs(-2), + ["<C-u>"] = cmp.mapping.scroll_docs(2), + ["<C-e>"] = cmp.mapping.abort(), + ["<CR>"] = cmp.mapping.confirm({ select = false }), + ["<Tab>"] = cmp.mapping.confirm({ select = true }), + ["<C-Space>"] = cmp.mapping.complete(), + }), + + + sources = cmp.config.sources({ + { name = "nvim_lsp", priority = 3 }, + { name = "nvim_lsp_signature_help", priority = 10 }, + { name = "buffer", keyword_length = 3 }, + { name = "copilot" }, + { name = "emoji" }, + }), + }) + end, } From a4e102f94445b1b8ed844c8c8625eb1e750095b9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 19 May 2023 21:12:51 +0200 Subject: [PATCH 057/656] git: nice tag alias "t" --- .gitconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitconfig b/.gitconfig index c300397..1c2c441 100644 --- a/.gitconfig +++ b/.gitconfig @@ -29,6 +29,7 @@ patch = !git --no-pager diff --no-color co = checkout st = status -sb pullr = pull --rebase +t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(color:noitalic) %(refname:short)' sl = branchless smartlog sync = branchless sync @@ -121,3 +122,5 @@ concurrenttransfers = 32 repo = /tmp/k2/src [fetch] showForcedUpdates = true +[tag] + sort = -v:refname From 264fa64323339abbfdfb0dc97cc62ce73821049b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 26 May 2023 14:12:44 +0200 Subject: [PATCH 058/656] zsh: paging goodness --- .zshrc | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/.zshrc b/.zshrc index f86e07a..032b9d1 100644 --- a/.zshrc +++ b/.zshrc @@ -103,6 +103,8 @@ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) ## Pager export LESS="--mouse --wheel-lines=1 -nRXF" +export PAGER="bat" +export BAT_PAGER="less -r" ## Clipboard OSC 52 function clip { echo -en "\x1b]52;c;$(base64 -w0)\x07" } @@ -111,12 +113,10 @@ export LESS="--mouse --wheel-lines=1 -nRXF" alias c='cut -c-${COLUMNS}' alias e='tmux-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' -alias l=bat -alias lw='bat --wrap=never' +alias l='bat --wrap=never' alias ls=exa alias tail='tail -n $LINES' alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' -alias tree='exa --tree' alias v=vgrep alias ve='env EDITOR= vgrep -s' alias xc=clip @@ -125,6 +125,11 @@ alias w="history -1 | sed -e 's/[0-9]* //' | xargs viddy -n1" ## ripgrep export RIPGREP_CONFIG_PATH=${HOME}/.config/shelman-theme/current/rg/rg.conf + +tree() { + exa --tree --color=always "$@" | bat --wrap=never +} + # "auto paging" rg() { /usr/bin/rg -p "$@" | bat From 783f94ecf3274d3e654d7211396454a71498c136 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 26 May 2023 14:13:02 +0200 Subject: [PATCH 059/656] git: branchless goodies --- .gitconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitconfig b/.gitconfig index 1c2c441..f7a8586 100644 --- a/.gitconfig +++ b/.gitconfig @@ -34,6 +34,8 @@ t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(col sl = branchless smartlog sync = branchless sync sw = branchless switch +s = branchless switch -i +n = branchless switch -d main gerrit-new = !git fetch origin main && git checkout --detach origin/main gerrit-push = !git push origin HEAD:refs/for/main From 2e54a9eef2d6c625f1d7c6f8f082eca976bf2f2f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 2 Jun 2023 10:04:45 +0200 Subject: [PATCH 060/656] zsh: use btm instead of top --- .zshrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 032b9d1..3df74fa 100644 --- a/.zshrc +++ b/.zshrc @@ -113,10 +113,11 @@ export BAT_PAGER="less -r" alias c='cut -c-${COLUMNS}' alias e='tmux-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' -alias l='bat --wrap=never' +alias l='bat --wrap=never --pager="less -S"' alias ls=exa alias tail='tail -n $LINES' alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' +alias top='btm --basic --enable_cache_memory --enable_gpu_memory --battery' alias v=vgrep alias ve='env EDITOR= vgrep -s' alias xc=clip From 4dcc64952f1338afe9d36263d1e838699d2af6e1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 2 Jun 2023 10:05:03 +0200 Subject: [PATCH 061/656] wezterm: resize fix --- .config/wezterm/wezterm.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b76e5ca..b4b0514 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -50,6 +50,7 @@ return { initial_cols = 132, initial_rows = 45, use_resize_increments = true, + adjust_window_size_when_changing_font_size = false, window_decorations = "RESIZE", window_background_opacity = 1.0, window_padding = { From b1a7aec7b7c3c8a33d404eccd45dd96adc76c3ae Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 2 Jun 2023 12:43:10 +0200 Subject: [PATCH 062/656] wezterm: no webgpu --- .config/wezterm/wezterm.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b4b0514..2deeafe 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -39,8 +39,8 @@ return { font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), }, }, - front_end = "WebGpu", - webgpu_power_preference = "HighPerformance", + -- front_end = "WebGpu", + -- webgpu_power_preference = "HighPerformance", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", From 980107874e799d8cfe51b2f25475acbc7d9f6cd2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 3 Jun 2023 11:13:25 +0200 Subject: [PATCH 063/656] zsh: fzf tab goodness and better syntax highlighting --- .zshrc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 3df74fa..813d841 100644 --- a/.zshrc +++ b/.zshrc @@ -13,9 +13,12 @@ autoload -Uz _zinit zi ice wait lucid zi load zsh-users/zsh-completions zi ice wait lucid -zi load zsh-users/zsh-syntax-highlighting +zi load zdharma-continuum/fast-syntax-highlighting zi ice wait lucid zi load zsh-users/zsh-history-substring-search +zi ice wait lucid +zi load Aloxaf/fzf-tab +zi ice wait lucid ## History HISTSIZE=50000 From a687516aedd7cc5e864a561633b0d64f1455041f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 3 Jun 2023 11:13:58 +0200 Subject: [PATCH 064/656] nvim: theme fixery --- .config/nvim/lua/plugins/misc.lua | 81 ++++++++++++++++++++++ .config/nvim/lua/plugins/shelman-theme.lua | 21 +++--- 2 files changed, 92 insertions(+), 10 deletions(-) diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua index 24391dd..2740b3d 100644 --- a/.config/nvim/lua/plugins/misc.lua +++ b/.config/nvim/lua/plugins/misc.lua @@ -6,6 +6,87 @@ return { "jjo/vim-cue", "ckipp01/stylua-nvim", + { + "jesseleite/nvim-noirbuddy", + dependencies = { "tjdevries/colorbuddy.nvim" }, + config = function() + require("noirbuddy").setup({ + styles = { + italic = true, + bold = true, + underline = true, + undercurl = true, + }, + colors = { + primary = "#FFECB3", + secondary = "#B0BEC5", + -- background = "#1d2229", + background = "#0d1219", + }, + }) + local Color, colors, Group, groups, styles = require("colorbuddy").setup() + Color.new("string", "#D7CCC8") + Color.new("symbol", "#ECEFF1") + + Color.new("comment", "#E57373") + Color.new("hlargs", "#FFF8E1") + + Color.new("illuminate_bg", "#112210") + Color.new("illuminate_fg", "#66FFEE") + + -- Color.new("search_bg", "#554411") + -- Color.new("search_fg", "#FFF0C0") + -- + Color.new("search_bg", "#223311") + Color.new("search_fg", "#CCFF33") + + Group.new("TelescopeTitle", colors.primary) + Group.new("TelescopeBorder", colors.secondary) + Group.new("@comment", colors.comment, nil, styles.bold + styles.italic) + Group.new("@string", colors.string, nil, styles.italic) + + Group.new("@keyword", colors.noir_2) + Group.new("@keyword.function", colors.noir_2) + Group.new("@keyword.return", colors.noir_1) + + Group.new("@operator", colors.noir_1) + Group.new("@keyword.operator", colors.noir_1) + -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) + Group.new("@type.builtin", colors.noir_2) + + Group.new("@variable", colors.symbol, nil, styles.italic) + Group.new("Hlargs", colors.hlargs, nil, styles.italic) + + Group.new("@function", colors.noir_1, nil, styles.bold) + Group.new("@method", colors.noir_1, nil, styles.bold) + + Group.new("@punctuation", colors.noir_4) + Group.new("@punctuation.bracket", colors.noir_4) + Group.new("@punctuation.delimiter", colors.noir_4) + + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) + Group.new("IncSearch", colors.search_fg, colors.search_bg) + end, + }, + + { + "lukas-reineke/headlines.nvim", + -- config = { + -- ft = { "go" }, + -- go = { + -- query = vim.treesitter.parse_query( + -- "go", + -- [[ + -- (function_declaration @headline) + -- ]] + -- ), + -- -- treesitter_language = "go", + -- }, + -- }, + }, + { "m-demare/hlargs.nvim", event = "VeryLazy", diff --git a/.config/nvim/lua/plugins/shelman-theme.lua b/.config/nvim/lua/plugins/shelman-theme.lua index 5c55c5b..112653e 100644 --- a/.config/nvim/lua/plugins/shelman-theme.lua +++ b/.config/nvim/lua/plugins/shelman-theme.lua @@ -1,10 +1,11 @@ -return { - name = "shelman-theme", - dir = "~/.config/shelman-theme/current/neovim", - dev = true, - lazy = false, - priority = 1000, - config = function() - vim.cmd([[colorscheme shelman]]) - end, -} +return {} +-- return { +-- name = "shelman-theme", +-- dir = "~/.config/shelman-theme/current/neovim", +-- dev = true, +-- lazy = false, +-- priority = 1000, +-- config = function() +-- vim.cmd([[colorscheme shelman]]) +-- end, +-- } From a2d6c90dcb7b62142765b5af236bdb7a7bfbe94c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 3 Jun 2023 11:46:30 +0200 Subject: [PATCH 065/656] add paru config --- .config/paru/paru.conf | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .config/paru/paru.conf diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf new file mode 100644 index 0000000..2d4fc99 --- /dev/null +++ b/.config/paru/paru.conf @@ -0,0 +1,8 @@ +Include = /etc/paru.conf + + +[options] +SkipReview + +[bin] +Sudo = doas From 4b264db47135ce951547b24b770ce596b7b5585c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 3 Jun 2023 12:44:31 +0200 Subject: [PATCH 066/656] zsh: zsh-tab goodness --- .lessfilter | 46 ++++++++++++++++++++++++++++++++++++++++++++++ .zshrc | 9 +++++++++ 2 files changed, 55 insertions(+) create mode 100755 .lessfilter diff --git a/.lessfilter b/.lessfilter new file mode 100755 index 0000000..43d2942 --- /dev/null +++ b/.lessfilter @@ -0,0 +1,46 @@ +#! /usr/bin/env bash +mime=$(file -Lbs --mime-type "$1") +category=${mime%%/*} +kind=${mime##*/} +ext=${1##*.} +if [ "$kind" = json ]; then + if [ "$(command -v jq)" ]; then + jq -Cr . "$1" + fi +elif [ "$kind" = vnd.sqlite3 ]; then + if [ "$(command -v yes)" ] && [ "$(command -v sqlite3)" ] && [ "$(command -v bat)" ]; then + yes .q | sqlite3 "$1" | bat --color=always -plsql + fi +# https://github.com/wofr06/lesspipe/pull/107 +elif [ -d "$1" ]; then + if [ "$(command -v exa)" ]; then + exa --git -hl --color=always --icons "$1" + fi +# https://github.com/wofr06/lesspipe/pull/110 +elif [ "$kind" = pdf ]; then + if [ "$(command -v pdftotext)" ] && [ "$(command -v sed)" ]; then + pdftotext -q "$1" - | sed "s/\f/$(hr ─)\n/g" + fi +# https://github.com/wofr06/lesspipe/pull/115 +elif [ "$kind" = rfc822 ]; then + if [ "$(command -v bat)" ]; then + bat --color=always -lEmail "$1" + fi +# https://github.com/wofr06/lesspipe/pull/106 +elif [ "$category" = image ]; then + if [ "$(command -v chafa)" ]; then + chafa -f symbols "$1" + fi + if [ "$(command -v exiftool)" ]; then + exiftool "$1" | bat --color=always -plyaml + fi +# https://github.com/wofr06/lesspipe/pull/117 +elif [ "$category" = text ]; then + if [ "$(command -v bat)" ]; then + bat --color=always "$1" + elif [ "$(command -v pygmentize)" ]; then + pygmentize "$1" | less + fi +else + exit 1 +fi diff --git a/.zshrc b/.zshrc index 813d841..fde0e43 100644 --- a/.zshrc +++ b/.zshrc @@ -19,7 +19,14 @@ zi load zsh-users/zsh-history-substring-search zi ice wait lucid zi load Aloxaf/fzf-tab zi ice wait lucid +zi load Freed-Wu/fzf-tab-source +zi ice wait lucid +## fzf-tab +zstyle ':fzf-tab:*' fzf-bindings 'tab:accept' +zstyle ':fzf-tab:*' continuous-trigger '/' +zstyle ':fzf-tab:*' fzf-min-height 30 + ## History HISTSIZE=50000 SAVEHIST=50000 @@ -106,6 +113,8 @@ export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) ## Pager export LESS="--mouse --wheel-lines=1 -nRXF" +export LESSCOLORIZER="bat" +export LESSOPEN="|lesspipe.sh %s" export PAGER="bat" export BAT_PAGER="less -r" From 4eee6eabfdb8206c01871a754551deec2713779f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 3 Jun 2023 13:06:08 +0200 Subject: [PATCH 067/656] zsh: emoji fun --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index fde0e43..d18bc83 100644 --- a/.zshrc +++ b/.zshrc @@ -22,6 +22,11 @@ zi ice wait lucid zi load Freed-Wu/fzf-tab-source zi ice wait lucid +export EMOJI_CLI_FILTER="fzf-tmux -p 50%:fzf:peco:percol:fzy" +export EMOJI_CLI_KEYBIND="^_" +export EMOJI_CLI_USE_EMOJI="true" +zi load b4b4r07/emoji-cli + ## fzf-tab zstyle ':fzf-tab:*' fzf-bindings 'tab:accept' zstyle ':fzf-tab:*' continuous-trigger '/' From 742b149306e4fdff78e0ab212f1fb4b66a3135d7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 4 Jun 2023 10:57:41 +0200 Subject: [PATCH 068/656] zshrc: enable kubecolor --- .zshrc | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/.zshrc b/.zshrc index d18bc83..db93b9c 100644 --- a/.zshrc +++ b/.zshrc @@ -20,12 +20,6 @@ zi ice wait lucid zi load Aloxaf/fzf-tab zi ice wait lucid zi load Freed-Wu/fzf-tab-source -zi ice wait lucid - -export EMOJI_CLI_FILTER="fzf-tmux -p 50%:fzf:peco:percol:fzy" -export EMOJI_CLI_KEYBIND="^_" -export EMOJI_CLI_USE_EMOJI="true" -zi load b4b4r07/emoji-cli ## fzf-tab zstyle ':fzf-tab:*' fzf-bindings 'tab:accept' @@ -214,6 +208,8 @@ if [ ! -f "${fpath[1]}/_kubectl" ]; then command -v kubectl >/dev/null 2>&1 && kubectl completion zsh > "${fpath[1]}/_kubectl" fi export PATH=$HOME/.krew/bin:$PATH +alias kubectl=kubecolor +compdef kubecolor=kubectl ## bazel #if [ ! -f "${fpath[1]}/_bazel" ]; then From d9039fa3f6e1e28bbe502250816d242fd18527a3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 10:38:58 +0200 Subject: [PATCH 069/656] zsh: hello -sk ssh keys --- .zshrc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.zshrc b/.zshrc index db93b9c..3ddb739 100644 --- a/.zshrc +++ b/.zshrc @@ -106,10 +106,6 @@ bindkey '^g' _jump bindkey '^_' _cwd_gitroot -## Gnupg / gpg / ssh / yubikey -export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) - - ## Pager export LESS="--mouse --wheel-lines=1 -nRXF" export LESSCOLORIZER="bat" From a941385823e3f555859c7212cdee3ec9b19190f5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 12:18:49 +0200 Subject: [PATCH 070/656] ssh fixings --- .config/environment.d/ssh.conf | 1 + .config/systemd/user/ssh-agent.service | 14 ++++++++++++++ .ssh/config | 7 +------ .ssh/rc | 2 +- .tmux.conf | 2 +- 5 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 .config/environment.d/ssh.conf create mode 100644 .config/systemd/user/ssh-agent.service diff --git a/.config/environment.d/ssh.conf b/.config/environment.d/ssh.conf new file mode 100644 index 0000000..bbfcca2 --- /dev/null +++ b/.config/environment.d/ssh.conf @@ -0,0 +1 @@ +SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/ssh-agent.socket diff --git a/.config/systemd/user/ssh-agent.service b/.config/systemd/user/ssh-agent.service new file mode 100644 index 0000000..9d71206 --- /dev/null +++ b/.config/systemd/user/ssh-agent.service @@ -0,0 +1,14 @@ +[Unit] +Description=SSH key agent + +[Service] +Type=simple +Restart=on-failure +Environment=DISPLAY=:0 +Environment=WAYLAND_DISPLAY=wayland-0 +Environment=SSH_ASKPASS=/usr/bin/ksshaskpass +Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket +ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK + +[Install] +WantedBy=default.target diff --git a/.ssh/config b/.ssh/config index d8b018d..981024c 100644 --- a/.ssh/config +++ b/.ssh/config @@ -1,4 +1,4 @@ -ForwardAgent yes +ForwardAgent no ServerAliveInterval 15 ServerAliveCountMax 3 ControlMaster auto @@ -19,15 +19,10 @@ PKCS11Provider /usr/lib/pkcs11/libtpm2_pkcs11.so Host 10.1.100.16 Host dln-dev Hostname 10.1.100.16 -IdentityAgent ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh ForwardAgent yes -ForwardX11 no ExitOnForwardFailure yes Compression yes LocalForward 127.0.0.1:3000 127.0.0.1:3000 LocalForward 127.0.0.1:3011 127.0.0.1:3011 LocalForward 127.0.0.1:8000 127.0.0.1:8000 LocalForward 127.0.0.1:8080 127.0.0.1:8080 -# RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.extra -RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh ${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh -# RemoteForward ${XDG_RUNTIME_DIR}/gnupg/S.scdaemon ${XDG_RUNTIME_DIR}/gnupg/S.scdaemon diff --git a/.ssh/rc b/.ssh/rc index 7cdde35..61b9390 100755 --- a/.ssh/rc +++ b/.ssh/rc @@ -1,3 +1,3 @@ if [[ -S "$SSH_AUTH_SOCK" && ! -h "$SSH_AUTH_SOCK" ]]; then - ln -sf "$SSH_AUTH_SOCK" $HOME/.ssh/ssh_auth_sock; + ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/ssh-agent.sock"; fi diff --git a/.tmux.conf b/.tmux.conf index bb50935..637f407 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -17,7 +17,7 @@ set-option -g mouse on set -g set-clipboard on bind-key ] paste-buffer -p -set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER XAUTHORITY DISPLAY WINDOWID SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION" +set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" set -g default-command zsh set -g history-limit 10000 From 3ae7467ed5d85a97baabc33ed59678e9d6a01879 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 12:20:24 +0200 Subject: [PATCH 071/656] zsh: colorful kubectl using grc --- .zshrc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.zshrc b/.zshrc index 3ddb739..42b8c34 100644 --- a/.zshrc +++ b/.zshrc @@ -204,8 +204,7 @@ if [ ! -f "${fpath[1]}/_kubectl" ]; then command -v kubectl >/dev/null 2>&1 && kubectl completion zsh > "${fpath[1]}/_kubectl" fi export PATH=$HOME/.krew/bin:$PATH -alias kubectl=kubecolor -compdef kubecolor=kubectl +alias kubectl='grc kubectl' ## bazel #if [ ! -f "${fpath[1]}/_bazel" ]; then @@ -260,3 +259,10 @@ PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/dln/.config/tea/autocomplete ## AWS complete -o nospace -C /usr/bin/mcli mcli complete -C '/usr/bin/aws_completer' aws + +function _grc() { + shift words + (( CURRENT-- )) + _normal +} +compdef _grc grc From fff394bf5e87b51e14bdb1752bd5b3a229fba279 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 12:20:52 +0200 Subject: [PATCH 072/656] zsh: add jujutsu completion --- .zshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.zshrc b/.zshrc index 42b8c34..0ed5dd6 100644 --- a/.zshrc +++ b/.zshrc @@ -217,6 +217,9 @@ if [ ! -f "${fpath[1]}/_sl" ]; then curl -sLo "${fpath[1]}/_sl" https://github.com/facebook/sapling/raw/d6157db1ebc0868cf70805756e32541bd681bac2/eden/scm/contrib/zsh_completion_sl fi +## jujutsu +source <(jj util completion --zsh) + ## Tekton cli if [ ! -f "${fpath[1]}/_tkn" ]; then command -v tkn >/dev/null 2>&1 && tkn completion zsh > "${fpath[1]}/_tkn" From b4db1c4887e7f7b61a61941421d474a2c1d29c0f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 12:49:24 +0200 Subject: [PATCH 073/656] ssh: reorder config to get defaults right --- .ssh/config | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/.ssh/config b/.ssh/config index 981024c..341d13d 100644 --- a/.ssh/config +++ b/.ssh/config @@ -1,3 +1,14 @@ +Host 10.1.100.16 +Host dln-dev +Hostname 10.1.100.16 +ForwardAgent yes +ExitOnForwardFailure yes +Compression yes +LocalForward 127.0.0.1:3000 127.0.0.1:3000 +LocalForward 127.0.0.1:3011 127.0.0.1:3011 +LocalForward 127.0.0.1:8000 127.0.0.1:8000 +LocalForward 127.0.0.1:8080 127.0.0.1:8080 + ForwardAgent no ServerAliveInterval 15 ServerAliveCountMax 3 @@ -15,14 +26,3 @@ Include ~/.ssh/private_config Host gitlab.com IdentityAgent /dev/null PKCS11Provider /usr/lib/pkcs11/libtpm2_pkcs11.so - -Host 10.1.100.16 -Host dln-dev -Hostname 10.1.100.16 -ForwardAgent yes -ExitOnForwardFailure yes -Compression yes -LocalForward 127.0.0.1:3000 127.0.0.1:3000 -LocalForward 127.0.0.1:3011 127.0.0.1:3011 -LocalForward 127.0.0.1:8000 127.0.0.1:8000 -LocalForward 127.0.0.1:8080 127.0.0.1:8080 From ebcced2c1238900b0b20e6f5b562ea217eb91cbb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 12:49:24 +0200 Subject: [PATCH 074/656] ssh: config to get defaults right --- .ssh/config | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/.ssh/config b/.ssh/config index 341d13d..342b554 100644 --- a/.ssh/config +++ b/.ssh/config @@ -1,3 +1,16 @@ +ServerAliveInterval 15 +ServerAliveCountMax 3 +ControlMaster auto +ControlPath ${XDG_RUNTIME_DIR}/ssh_control:%h:%p:%r +ControlPersist 1200 +Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr +AddressFamily inet +RequestTty yes +PreferredAuthentications=publickey +SendEnv LC_* LANG + +Include ~/.ssh/private_config + Host 10.1.100.16 Host dln-dev Hostname 10.1.100.16 @@ -9,20 +22,9 @@ LocalForward 127.0.0.1:3011 127.0.0.1:3011 LocalForward 127.0.0.1:8000 127.0.0.1:8000 LocalForward 127.0.0.1:8080 127.0.0.1:8080 -ForwardAgent no -ServerAliveInterval 15 -ServerAliveCountMax 3 -ControlMaster auto -ControlPath ~/.ssh/control:%h:%p:%r -ControlPersist 1200 -Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr -AddressFamily inet -RequestTty yes -PreferredAuthentications=publickey -SendEnv LC_* LANG - -Include ~/.ssh/private_config - Host gitlab.com IdentityAgent /dev/null PKCS11Provider /usr/lib/pkcs11/libtpm2_pkcs11.so + +Host * +ForwardAgent no From 571c3503796221677c4d45fcb526dec67a71f72e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 13:02:35 +0200 Subject: [PATCH 075/656] ssh fixings --- .ssh/rc | 2 +- .tmux.conf | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.ssh/rc b/.ssh/rc index 61b9390..f782092 100755 --- a/.ssh/rc +++ b/.ssh/rc @@ -1,3 +1,3 @@ if [[ -S "$SSH_AUTH_SOCK" && ! -h "$SSH_AUTH_SOCK" ]]; then - ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/ssh-agent.sock"; + ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/ssh-agent.socket"; fi diff --git a/.tmux.conf b/.tmux.conf index 637f407..e1ca4e7 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -17,6 +17,7 @@ set-option -g mouse on set -g set-clipboard on bind-key ] paste-buffer -p +set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent.socket" set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" set -g default-command zsh set -g history-limit 10000 From e969503d7aa2ea8cc8ab291e63c1fe663f11e1b9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 16:20:27 +0200 Subject: [PATCH 076/656] zsh: set WORDCHARS for better delimiters --- .zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.zshrc b/.zshrc index 0ed5dd6..722805f 100644 --- a/.zshrc +++ b/.zshrc @@ -44,6 +44,7 @@ setopt hist_subst_pattern setopt hist_verify setopt share_history export HISTORY_IGNORE="(ls *|cd *|rm *|pwd|reboot|exit|e *|*AWS*|*SECRET*|*PASSWORD*|*TOKEN*|*API*|*KEY*|*PASS*|*SECRETS*|*SECRET_KEY*|*SECRET_TOKEN*|*SECRET_KEY_BASE*|*SECRET_TOKEN_BASE*)" +export WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' ## zsh settings From 4120076cb0b5960d262e7aa23a426fbf4b21ff04 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 16:29:42 +0200 Subject: [PATCH 077/656] ssh fixings --- .config/environment.d/ssh.conf | 1 + .config/systemd/user/ssh-agent.service | 1 + 2 files changed, 2 insertions(+) diff --git a/.config/environment.d/ssh.conf b/.config/environment.d/ssh.conf index bbfcca2..de556f5 100644 --- a/.config/environment.d/ssh.conf +++ b/.config/environment.d/ssh.conf @@ -1 +1,2 @@ +SSH_ASKPASS=/usr/bin/ksshaskpass SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/ssh-agent.socket diff --git a/.config/systemd/user/ssh-agent.service b/.config/systemd/user/ssh-agent.service index 9d71206..c8187e0 100644 --- a/.config/systemd/user/ssh-agent.service +++ b/.config/systemd/user/ssh-agent.service @@ -6,6 +6,7 @@ Type=simple Restart=on-failure Environment=DISPLAY=:0 Environment=WAYLAND_DISPLAY=wayland-0 +Environment=QT_QPA_PLATFORM=wayland Environment=SSH_ASKPASS=/usr/bin/ksshaskpass Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK From 85b4158cf676641c009e89bacb877b53d3c12b65 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 6 Jun 2023 16:31:10 +0200 Subject: [PATCH 078/656] zsh: better completion for jj --- .zshrc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 722805f..77ac0ca 100644 --- a/.zshrc +++ b/.zshrc @@ -219,7 +219,9 @@ if [ ! -f "${fpath[1]}/_sl" ]; then fi ## jujutsu -source <(jj util completion --zsh) +if [ ! -f "${fpath[1]}/_jj" ]; then + command -v jj >/dev/null 2>&1 && jj util completion --zsh > "${fpath[1]}/_jj" +fi ## Tekton cli if [ ! -f "${fpath[1]}/_tkn" ]; then From 91a3eaed94a9af143e4edffd1659f3dbe52a8225 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 8 Jun 2023 09:51:36 +0200 Subject: [PATCH 079/656] Add jujtusu config --- .jjconfig.toml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .jjconfig.toml diff --git a/.jjconfig.toml b/.jjconfig.toml new file mode 100644 index 0000000..521bd0b --- /dev/null +++ b/.jjconfig.toml @@ -0,0 +1,7 @@ +[user] +name = "Daniel Lundin" +email = "daniel@arity.se" + +[ui] +default-command = "log" +diff-editor = "vimdiff" From 8f8147374047b719dfa9445e26d26b404c4eb791 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 8 Jun 2023 21:02:52 +0200 Subject: [PATCH 080/656] Fix up the tmux helpers for jj --- .zshrc | 2 +- bin/tmux-edit-helper | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.zshrc b/.zshrc index 77ac0ca..2830c55 100644 --- a/.zshrc +++ b/.zshrc @@ -90,7 +90,7 @@ typeset -gaU chpwd_functions chpwd_functions+=fre_chpwd _cwd_gitroot() { - _gitroot=$(git rev-parse --show-toplevel 2>/dev/null || sl root 2>/dev/null || pwd) + _gitroot=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) _dir=$((echo "$_gitroot" && fd -td . "$_gitroot") | fzf-tmux -p 90%,40% -y 0) [ -n "$_dir" ] && cd $_dir zle && zle redraw-prompt diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper index efe3e07..2a12394 100755 --- a/bin/tmux-edit-helper +++ b/bin/tmux-edit-helper @@ -1,15 +1,17 @@ #!/usr/bin/env bash set -fe -o pipefail -eval "$(direnv export bash)" +eval "$(direnv export bash 2>/dev/null)" + +PATH="$HOME/bin:$PATH" if [ -n "$1" ]; then _file=$(readlink -f "$@") else FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} - _root=$(git rev-parse --show-toplevel 2>/dev/null || sl root 2>/dev/null || pwd) + _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .sl --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) + _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) _file="${_root}/${_file}" fre --store_name "$_store" --add "$_file" fi From 2c730982ed6fdfaff8ec3047d93bbc56c905d710 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 13 Jun 2023 22:57:25 +0200 Subject: [PATCH 081/656] ssh fixings --- .config/autostart/gnome-keyring-ssh.desktop | 157 ++++++++++++++++++++ .config/environment.d/ssh.conf | 3 +- .config/systemd/user/ssh-agent.service | 15 -- 3 files changed, 158 insertions(+), 17 deletions(-) create mode 100644 .config/autostart/gnome-keyring-ssh.desktop delete mode 100644 .config/systemd/user/ssh-agent.service diff --git a/.config/autostart/gnome-keyring-ssh.desktop b/.config/autostart/gnome-keyring-ssh.desktop new file mode 100644 index 0000000..d0cbed2 --- /dev/null +++ b/.config/autostart/gnome-keyring-ssh.desktop @@ -0,0 +1,157 @@ +[Desktop Entry] +Type=Application +Name[af]=SSH-sleutelagent +Name[ar]=عميل مفاتيح SSH +Name[as]=SSH কি সহায়ক +Name[ast]=Axente de claves SSH +Name[be]=SSH-агент ключоў +Name[bg]=Агентът на SSH за ключове +Name[bn]=SSH কী এজেন্ট +Name[bn_IN]=SSH কি এজেন্ট +Name[bs]=Agent za SSH ključeve +Name[ca]=Agent de claus SSH +Name[ca@valencia]=Agent de claus SSH +Name[cs]=Agent klíčů SSH +Name[da]=SSH-nøgleagent +Name[de]=SSH-Schlüsselagent +Name[el]=Πράκτορας κλειδιού SSH +Name[en_GB]=SSH Key Agent +Name[eo]=SSH-ŝlosila agento +Name[es]=Agente de claves SSH +Name[et]=SSH-võtmete agent +Name[eu]=SSH gako-agentea +Name[fa]=عامل کلید SSH +Name[fi]=SSH-avainten agentti +Name[fr]=Agent de clés SSH +Name[fur]=Agjent clâfs SSH +Name[gd]=Àidseant iuchair SSH +Name[gl]=Axente de chave SSH +Name[gu]=SSH કી ઍજન્ટ +Name[he]=סוכן מפתחות SSH +Name[hi]=AFS कुँजी प्रतिनिधि +Name[hr]=Agent SSH ključa +Name[hu]=SSH-kulcs ügynök +Name[id]=Agen Kunci SSH +Name[it]=Agente chiavi SSH +Name[ja]=SSH 鍵エージェント +Name[kk]=SSH кілттер агенті +Name[km]=ភ្នាក់ងារសោ SSH +Name[kn]=SSH ಕೀಲಿ ಮಧ್ಯವರ್ತಿ +Name[ko]=SSH 키 에이전트 +Name[lt]=SSH raktų tarnyba +Name[lv]=SSH atslēgu aģents +Name[mjw]=SSH Key Agent +Name[mk]=Агент за SSH клучеви +Name[ml]=എസ്എസ്എച് കീ ഏജന്റ് +Name[mr]=SSH कि एजंट +Name[ms]=Ejen Kunci SSH +Name[nb]=SSH-nøkkelagent +Name[nl]=SSH-sleutelagent +Name[nn]=Nøkkelagent for SSH +Name[oc]=Agent de claus SSH +Name[or]=SSH କି ସଦସ୍ୟ +Name[pa]=SSH ਕੁੰਜੀ ਏਜੰਟ +Name[pl]=Agent kluczy SSH +Name[pt]=Agente de chaves SSH +Name[pt_BR]=Agente de chaves SSH +Name[ro]=Agent pentru chei SSH +Name[ru]=Агент ключей SSH +Name[sk]=Agent kľúčov SSH +Name[sl]=Agent ključev SSH +Name[sr]=Агент за ССХ кључеве +Name[sr@latin]=Agent za SSH ključeve +Name[sv]=SSH-nyckelagent +Name[ta]=SSH முகவர் +Name[te]=SSH కీ వాహకము +Name[th]=เอเจนต์กุญแจ SSH +Name[tr]=SSH Anahtar Aracı +Name[ug]=SSH ئاچقۇچ ياردەمچىسى +Name[uk]=Агент ключів SSH +Name[vi]=Đại diện khóa SSH +Name[zh_CN]=SSH 密钥代理 +Name[zh_HK]=SSH 密碼匙代理程式 +Name[zh_TW]=SSH 金鑰代理程式 +Name=SSH Key Agent +Comment[af]=GNOME-sleutelring: SSH-agent +Comment[ar]=حلقة مفاتيح جنوم: عميل SSH +Comment[as]=GNOME Keyring: SSH সহায়ক +Comment[ast]=Depósitu de claves de GNOME: axente SSH +Comment[be]=Вязкі ключоў GNOME: SSH-агент +Comment[bg]=Ключодържател на GNOME: агент на SSH +Comment[bn]=GNOME কী রিং: SSH এজেন্ট +Comment[bn_IN]=GNOME Keyring: SSH এজেন্ট +Comment[bs]=Gnomovi privjesci: SSH agent +Comment[ca]=Anell de claus del GNOME: agent SSH +Comment[ca@valencia]=Anell de claus del GNOME: agent SSH +Comment[cs]=Klíčenka GNOME: Agent SSH +Comment[da]=GNOME-nøgleringsdæmon: SSH-agent +Comment[de]=GNOME-Schlüsselbunddienst: SSH-Agent +Comment[el]=Κλειδοθήκη GNOME: Πράκτορας SSH +Comment[en_GB]=GNOME Keyring: SSH Agent +Comment[eo]=GNOME Ŝlosilaro: SSH-agento +Comment[es]=Depósito de claves de GNOME: agente SSH +Comment[et]=GNOME võtmerõngas: SSH-agent +Comment[eu]=GNOMEren gako-sorta: SSH agentea +Comment[fa]=دستهکلید گنوم: عامل SSH +Comment[fi]=Gnomen avainnippu: SSH-agentti +Comment[fr]=Trousseau de clés de GNOME : agent SSH +Comment[fur]=Puarteclâfs di GNOME: agjent SSH +Comment[gd]=Dul-iuchrach: Àidseant SSH +Comment[gl]=GNOME Keyring: Axente SSH +Comment[gu]=GNOME કીરીંગ: SSH ઍજન્ટ +Comment[he]=קבוצת מפתחות של GNOME: סוכן SSH +Comment[hi]=गनोम कीरिंग: SSH प्रतिनिधि +Comment[hr]=GNOME skup ključeva: SSH agent +Comment[hu]=GNOME kulcstartó – SSH-ügynök +Comment[id]=Ring Kunci GNOME: Agen SSH +Comment[it]=Portachiavi di GNOME: agente SSH +Comment[ja]=GNOME キーリング: SSH エージェント +Comment[kk]=GNOME Keyring: SSH агенті +Comment[km]=GNOME Keyring ៖ ភ្នាក់ងារ SSH +Comment[kn]=GNOME ಕೀಲಿಗೊಂಚಲು: SSH ಮಧ್ಯವರ್ತಿ +Comment[ko]=그놈 키 모음: SSH 에이전트 +Comment[lt]=GNOME raktinė: SSH tarnyba +Comment[lv]=GNOME atslēgu saišķis — SSH aģents +Comment[mjw]=GNOME Keyring: SSH Agent +Comment[mk]=Приврзок на GNOME: SSH агент +Comment[ml]=ഗ്നോം കീറിങ്: എസ്എസ്എച് ഏജന്റ് +Comment[mr]=GNOME किरिंग: SSH एजंट +Comment[ms]=Gelang Kunci GNOME: Ejen SSH +Comment[nb]=GNOME nøkkelring: SSH-agent +Comment[ne]=जिनोम किरिङ : SSH एजेन्ट +Comment[nl]=Sleutelbos-service: SSH-agent +Comment[nn]=GNOME Nøkkelring: SSH-agent +Comment[oc]=Trossèl de claus GNOME : agent SSH +Comment[or]=GNOME କି ରିଙ୍ଗ: SSH ସଦସ୍ୟ +Comment[pa]=ਗਨੋਮ ਕੀਰਿੰਗ: SSH ਏਜੰਟ +Comment[pl]=Baza kluczy dla środowiska GNOME: agent SSH +Comment[pt]=GNOME Keyring: agente SSH +Comment[pt_BR]=Chaveiro do GNOME: Agente SSH +Comment[ro]=Inelul de chei GNOME: Agent SSH +Comment[ru]=Связка ключей GNOME: SSH-агент +Comment[sk]=SSH agent zväzku kľúčov GNOME +Comment[sl]=Zbirka ključev GNOME: agent SSH +Comment[sr]=Гномови привесци: ССХ агент +Comment[sr@latin]=Gnomovi privesci: SSH agent +Comment[sv]=GNOME-nyckelring: SSH-agent +Comment[ta]=GNOME கீரிங்: SSH முகவர் +Comment[te]=GNOME కీరింగ్: SSH వాహకం +Comment[th]=พวงกุญแจของ GNOME: เอเจนต์ SSH +Comment[tr]=GNOME Anahtarlığı: SSH Aracı +Comment[ug]=گىنوم ئاچقۇچ ھالقىسى:SSH ياردەمچىسى +Comment[uk]=Служба в'язки ключів GNOME: агент SSH +Comment[vi]=Chùm chìa khóa GNOME: Đại diện SSH +Comment[zh_CN]=GNOME 密钥环:SSH 代理 +Comment[zh_HK]=GNOME 密碼匙圈:SSH 代理程式 +Comment[zh_TW]=GNOME 鑰匙圈:SSH 代理程式 +Comment=GNOME Keyring: SSH Agent +Exec=/usr/bin/gnome-keyring-daemon --start --components=ssh +OnlyShowIn=GNOME;Unity;MATE;Cinnamon; +X-GNOME-Autostart-Phase=PreDisplayServer +X-GNOME-AutoRestart=false +X-GNOME-Autostart-Notify=true +X-GNOME-Bugzilla-Bugzilla=GNOME +X-GNOME-Bugzilla-Product=gnome-keyring +X-GNOME-Bugzilla-Component=general +X-GNOME-Bugzilla-Version=42.1 +Hidden=true diff --git a/.config/environment.d/ssh.conf b/.config/environment.d/ssh.conf index de556f5..cae7205 100644 --- a/.config/environment.d/ssh.conf +++ b/.config/environment.d/ssh.conf @@ -1,2 +1 @@ -SSH_ASKPASS=/usr/bin/ksshaskpass -SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/ssh-agent.socket +SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gcr/ssh diff --git a/.config/systemd/user/ssh-agent.service b/.config/systemd/user/ssh-agent.service deleted file mode 100644 index c8187e0..0000000 --- a/.config/systemd/user/ssh-agent.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=SSH key agent - -[Service] -Type=simple -Restart=on-failure -Environment=DISPLAY=:0 -Environment=WAYLAND_DISPLAY=wayland-0 -Environment=QT_QPA_PLATFORM=wayland -Environment=SSH_ASKPASS=/usr/bin/ksshaskpass -Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket -ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK - -[Install] -WantedBy=default.target From 7821afe73f83ba89ec2a6c19bfb18109b1f80315 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Jun 2023 09:46:47 +0200 Subject: [PATCH 082/656] ssh: use same agent path everywhere so tmux stays sane --- .ssh/rc | 2 +- .tmux.conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ssh/rc b/.ssh/rc index f782092..556f229 100755 --- a/.ssh/rc +++ b/.ssh/rc @@ -1,3 +1,3 @@ if [[ -S "$SSH_AUTH_SOCK" && ! -h "$SSH_AUTH_SOCK" ]]; then - ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/ssh-agent.socket"; + ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/gcr/ssh"; fi diff --git a/.tmux.conf b/.tmux.conf index e1ca4e7..1d88b6e 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -17,7 +17,7 @@ set-option -g mouse on set -g set-clipboard on bind-key ] paste-buffer -p -set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent.socket" +set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/gcr/ssh" set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" set -g default-command zsh set -g history-limit 10000 From 5c5c22a42271ec050d595224c13792efd37c9223 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Jun 2023 09:47:41 +0200 Subject: [PATCH 083/656] git/jj: change default email --- .gitconfig | 2 +- .jjconfig.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitconfig b/.gitconfig index f7a8586..22e7481 100644 --- a/.gitconfig +++ b/.gitconfig @@ -92,7 +92,7 @@ gpgsign = false [user] name = Daniel Lundin -email = daniel@arity.se +email = dln@arity.se [init] defaultBranch = main diff --git a/.jjconfig.toml b/.jjconfig.toml index 521bd0b..c1b5bb8 100644 --- a/.jjconfig.toml +++ b/.jjconfig.toml @@ -1,6 +1,6 @@ [user] name = "Daniel Lundin" -email = "daniel@arity.se" +email = "dln@arity.se" [ui] default-command = "log" From 6d12bce85fe29c636ef7c28d11b6fbbb546a2bcb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Jun 2023 09:48:19 +0200 Subject: [PATCH 084/656] wezterm: give webgpu a chance --- .config/wezterm/wezterm.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 2deeafe..b4b0514 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -39,8 +39,8 @@ return { font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), }, }, - -- front_end = "WebGpu", - -- webgpu_power_preference = "HighPerformance", + front_end = "WebGpu", + webgpu_power_preference = "HighPerformance", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", From 61e5bb9aaf675c3a794bfab9dcb0137c0e0e486f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Jun 2023 11:31:18 +0200 Subject: [PATCH 085/656] wezterm: appearance --- .config/wezterm/wezterm.lua | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b4b0514..de79e40 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -51,22 +51,12 @@ return { initial_rows = 45, use_resize_increments = true, adjust_window_size_when_changing_font_size = false, - window_decorations = "RESIZE", - window_background_opacity = 1.0, window_padding = { left = 0, right = 0, top = 0, bottom = 0, }, - colors = { - tab_bar = { - active_tab = { - fg_color = "#e0e0e0", - bg_color = "#374f66", - }, - }, - }, default_cursor_style = "SteadyBlock", cursor_thickness = "3px", cursor_blink_rate = 0, From dbdc1b99da862e9f5b1d752760f81f51642b6ff3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Jun 2023 11:31:51 +0200 Subject: [PATCH 086/656] ssh: mkdir for the ssh-agent --- .ssh/rc | 1 + 1 file changed, 1 insertion(+) diff --git a/.ssh/rc b/.ssh/rc index 556f229..eb38e90 100755 --- a/.ssh/rc +++ b/.ssh/rc @@ -1,3 +1,4 @@ if [[ -S "$SSH_AUTH_SOCK" && ! -h "$SSH_AUTH_SOCK" ]]; then + mkdir -p "${XDG_RUNTIME_DIR}/gcr"; ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/gcr/ssh"; fi From 50c229fd5b10c5d48501955311a48ce211619838 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 21 Jun 2023 14:07:22 +0200 Subject: [PATCH 087/656] zsh: add cargo bin to PATH --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 2830c55..1e0a5a4 100644 --- a/.zshrc +++ b/.zshrc @@ -65,7 +65,7 @@ setopt null_glob export LC_ALL=en_US.UTF-8 export LC_ALL=en_DK.UTF-8 -export PATH=$HOME/bin:$PATH +export PATH=$HOME/bin:$HOME/.cargo/bin:$PATH redraw-prompt() { local precmd From a3d1ac98e288b1699935681cc35298c0ee4a7f90 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 24 Jun 2023 14:15:06 +0200 Subject: [PATCH 088/656] jj: use scm-diff-editor from git-branchless --- .jjconfig.toml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.jjconfig.toml b/.jjconfig.toml index c1b5bb8..a7f9752 100644 --- a/.jjconfig.toml +++ b/.jjconfig.toml @@ -3,5 +3,13 @@ name = "Daniel Lundin" email = "dln@arity.se" [ui] -default-command = "log" -diff-editor = "vimdiff" +default-command = "l" +diff-editor = ["scm-diff-editor", "--dir-diff", "$left", "$right"] +pager = ["delta", "--line-numbers", "--max-line-distance=0.9"] + +[aliases] +l = ["log", "--ignore-working-copy", "-r", "(main..@): | (main..@)-"] +la = ["log", "--ignore-working-copy", "-r", "all()"] +b = ["branch", "list"] +n = ["new", "main"] +d = ["diff"] From cbc86ca7fc2e0288c79f4b06c0bca49af46a88ed Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 24 Jun 2023 14:15:28 +0200 Subject: [PATCH 089/656] zsh: completion cache --- .zshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.zshrc b/.zshrc index 1e0a5a4..6c7135a 100644 --- a/.zshrc +++ b/.zshrc @@ -21,6 +21,9 @@ zi load Aloxaf/fzf-tab zi ice wait lucid zi load Freed-Wu/fzf-tab-source +zstyle ':completion:*' use-cache on +zstyle ':completion:*' cache-path ~/.zsh/cache + ## fzf-tab zstyle ':fzf-tab:*' fzf-bindings 'tab:accept' zstyle ':fzf-tab:*' continuous-trigger '/' From c35583110367410e38de606bf7917377f9e979f8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 24 Jun 2023 14:17:06 +0200 Subject: [PATCH 090/656] zsh: configure nix --- .zshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.zshrc b/.zshrc index 6c7135a..7c5d33d 100644 --- a/.zshrc +++ b/.zshrc @@ -198,6 +198,9 @@ autoload -Uz compdef autoload -U +X bashcompinit && bashcompinit autoload -U +X compinit && compinit +## Nix +export PATH=$HOME/.nix-profile/bin:$PATH + ## eksctl if [ ! -f "${fpath[1]}/_eksctl" ]; then command -v eksctl >/dev/null 2>&1 && eksctl completion zsh > "${fpath[1]}/_eksctl" From 9d0eefb5dcb2cdfd1e05dee0a5165d975d479f88 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 24 Jun 2023 14:18:05 +0200 Subject: [PATCH 091/656] zsh: remove unused tekton completion --- .zshrc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.zshrc b/.zshrc index 7c5d33d..a632bfb 100644 --- a/.zshrc +++ b/.zshrc @@ -229,11 +229,6 @@ if [ ! -f "${fpath[1]}/_jj" ]; then command -v jj >/dev/null 2>&1 && jj util completion --zsh > "${fpath[1]}/_jj" fi -## Tekton cli -if [ ! -f "${fpath[1]}/_tkn" ]; then - command -v tkn >/dev/null 2>&1 && tkn completion zsh > "${fpath[1]}/_tkn" -fi - ## kapp if [ ! -f "${fpath[1]}/_kapp" ]; then command -v kapp >/dev/null 2>&1 && kapp completion zsh --tty=false > "${fpath[1]}/_kapp" From 489159f23bf3ea4579dab52fabbaba4e6fbc93ac Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 12:40:29 +0200 Subject: [PATCH 092/656] wezterm: font goodness --- .config/wezterm/wezterm.lua | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index de79e40..56bc9e4 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -31,9 +31,19 @@ return { }, { italic = true, - intensity = "Bold", + intensity = "Half", font = font_with_fallback("Iosevka Term SS15", { weight = "ExtraLight", italic = true }), }, + { + italic = true, + intensity = "Bold", + font = font_with_fallback("Iosevka Term Curly Slab Ex", { weight = "Regular", italic = true }), + }, + { + reverse = true, + intensity = "Bold", + font = font_with_fallback("Iosevka Term SS09", { weight = "Bold" }), + }, { intensity = "Bold", font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), From 8e9e6ef30eae74e58290d46f784ec99e437ff294 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 12:40:48 +0200 Subject: [PATCH 093/656] Add test-term script --- bin/test-term.sh | 169 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100755 bin/test-term.sh diff --git a/bin/test-term.sh b/bin/test-term.sh new file mode 100755 index 0000000..2b49fc6 --- /dev/null +++ b/bin/test-term.sh @@ -0,0 +1,169 @@ +echo -e '\e[0mnormal\e[0m' +echo -e '\e[2mdim\e[0m' + +echo -e '\e[1mbold\e[0m' + +echo -e '\e[3mitalic\e[0m' +echo -e '\e[2;3mdim italic\e[0m' +echo -e '\e[1;3mbold italic\e[0m' + +echo +echo -e '\e[4munderline\e[24m' +echo -e '\e[3;4mitalic underline\e[0m' +echo -e '\e[4:1mthis is also underline \e[4:0m' +echo -e '\e[21mdouble underline \e[24m' +echo -e '\e[4:2mthis is also double underline \e[4:0m' +echo -e '\e[4:3mcurly underline \e[4:0m' +echo -e '\e[21m\e[58;5;42m256-color underline \e[59m\e[24m' +echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (*)\e[59m\e[4:0m' +echo -e "\x1b[58:2::255:0:0m\x1b[4:1msingle underline \x1b[0m" +echo -e "\x1b[4:2mdouble underline \x1b[58:2::255:0:0m and with color\x1b[0m" +echo -e "\x1b[4:3mcurly underline \x1b[58:2::255:0:0m and with color\x1b[0m" +echo -e "\x1b[4:4mdotted underline \x1b[58:2::255:0:0m and with color\x1b[0m" +echo -e "\x1b[4:5mdashed underline \x1b[58:2::255:0:0m and with color\x1b[0m" + + + +echo +echo -e '\e[7mreverse\e[27m' +echo -e '\e[7;1mreverse bold\e[0m' +echo -e '\e[7;3mreverse italic\e[0m' +echo -e '\e[7;2mreverse dim\e[0m' +echo -e '\e[7;2;1mreverse dim italic\e[0m' + +echo +echo -e '\e[5mblink \e[25m' +echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)' +echo -e '\e[9mstrikethrough\e[29m' +echo -e '\e[53moverline \e[55m' +echo -e '\e[51mframed \e[0m' +echo -e '\e[52mencircled \e[0m' + +echo -e '\e[31mred\e[39m' +echo -e '\e[91mbright red\e[39m' +echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m' +echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m' +echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) \e[39m' +echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m' + +echo -e '\e[46mcyan background\e[49m' +echo -e '\e[106mbright cyan background\e[49m' +echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m' +echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m' +echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) \e[49m' +echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m' +echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m' + + +echo +echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷" + +echo +echo "Ligatures:" +echo "-<< -< -<- <-- <--- <<- <- -> ->> --> ---> ->- >- >>- <-> <--> <---> <----> <!--" +echo "=<< =< =<= <== <=== <<= <= => =>> ==> ===> =>= >= >>= <=> <==> <===> <====> <!---" +echo "[| |] {| |} <=< >=> <~~ <~ ~> ~~> :: ::: \/ /\ == != /= ~= <> === !== =/= =!= :>" +echo ":= :- :+ <* <*> *> <| <|> |> <. <.> .> +: -: =: <***> __ (* comm *) ++ +++ |- -|" + +echo +echo 24-bit colors: + +# This file was originally taken from iterm2 https://github.com/gnachman/iTerm2/blob/master/tests/24-bit-color.sh +# +# This file echoes a bunch of 24-bit color codes +# to the terminal to demonstrate its functionality. +# The foreground escape sequence is ^[38;2;<r>;<g>;<b>m +# The background escape sequence is ^[48;2;<r>;<g>;<b>m +# <r> <g> <b> range from 0 to 255 inclusive. +# The escape sequence ^[0m returns output to default + +setBackgroundColor() +{ + #printf '\x1bPtmux;\x1b\x1b[48;2;%s;%s;%sm' $1 $2 $3 + printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3 +} + +resetOutput() +{ + echo -en "\x1b[0m\n" +} + +# Gives a color $1/255 % along HSV +# Who knows what happens when $1 is outside 0-255 +# Echoes "$red $green $blue" where +# $red $green and $blue are integers +# ranging between 0 and 255 inclusive +rainbowColor() +{ + let h=$1/43 + let f=$1-43*$h + let t=$f*255/43 + let q=255-t + + if [ $h -eq 0 ] + then + echo "255 $t 0" + elif [ $h -eq 1 ] + then + echo "$q 255 0" + elif [ $h -eq 2 ] + then + echo "0 255 $t" + elif [ $h -eq 3 ] + then + echo "0 $q 255" + elif [ $h -eq 4 ] + then + echo "$t 0 255" + elif [ $h -eq 5 ] + then + echo "255 0 $q" + else + # execution should never reach here + echo "0 0 0" + fi +} + +for i in `seq 0 127`; do + setBackgroundColor $i 0 0 + echo -en " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor $i 0 0 + echo -en " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor 0 $i 0 + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor 0 $i 0 + echo -n " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor 0 0 $i + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor 0 0 $i + echo -n " " +done +resetOutput + +for i in `seq 0 127`; do + setBackgroundColor `rainbowColor $i` + echo -n " " +done +resetOutput +for i in `seq 255 -1 128`; do + setBackgroundColor `rainbowColor $i` + echo -n " " +done +resetOutput From 7ef81bb2eab35584d6d351cfced9d009d7749f1b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 13:35:22 +0200 Subject: [PATCH 094/656] starship: proper weights --- .config/starship.toml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.config/starship.toml b/.config/starship.toml index ab1eeda..ccbfb7a 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -10,12 +10,20 @@ $git_branch\ $git_commit\ $git_state\ $git_status\ +$nix_shell\ ($character)\ """ right_format = """\ """ +[nix_shell] +disabled = true +impure_msg = '[impure shell](bold red)' +pure_msg = '[pure shell](bold green)' +unknown_msg = '[unknown shell](bold yellow)' +format = 'via [☃️ $state( \($name\))](bold blue) ' + [env_var.TMUX_WINDOW] default = "" format = '[ $env_value ]($style)[](fg:#d1002f) ' @@ -38,7 +46,7 @@ disabled = true fish_style_pwd_dir_length = 1 truncation_length = 1 truncate_to_repo = false -style = "italic bold" +style = "italic dimmed" [git_branch] format = "[$symbol$branch]($style)" @@ -60,7 +68,7 @@ style = "dimmed" [hostname] ssh_only = false -format = "[$hostname](bold italic):" +format = "[$hostname](dimmed italic):" disabled = false [kubernetes] From 7428ba0dd0c3bf032c41f0209a3f8b9d1c126a42 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 13:35:36 +0200 Subject: [PATCH 095/656] zsh: nix vs locales --- .zshrc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.zshrc b/.zshrc index a632bfb..24c6910 100644 --- a/.zshrc +++ b/.zshrc @@ -64,10 +64,6 @@ setopt null_glob # ZSH_AUTOSUGGEST_USE_ASYNC=1 # ZSH_AUTOSUGGEST_STRATEGY=(history completion) -# FIXME: Why does this work? Otherwise zshrc gets the wrong prompt length for unicode chars. -export LC_ALL=en_US.UTF-8 -export LC_ALL=en_DK.UTF-8 - export PATH=$HOME/bin:$HOME/.cargo/bin:$PATH redraw-prompt() { @@ -200,6 +196,7 @@ autoload -U +X compinit && compinit ## Nix export PATH=$HOME/.nix-profile/bin:$PATH +export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive ## eksctl if [ ! -f "${fpath[1]}/_eksctl" ]; then From 01b973ad691147d61111a2f59b502f9217cbf9bf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 13:36:06 +0200 Subject: [PATCH 096/656] ssh: do not send locale vars --- .ssh/config | 1 - 1 file changed, 1 deletion(-) diff --git a/.ssh/config b/.ssh/config index 342b554..ddb5430 100644 --- a/.ssh/config +++ b/.ssh/config @@ -7,7 +7,6 @@ Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh. AddressFamily inet RequestTty yes PreferredAuthentications=publickey -SendEnv LC_* LANG Include ~/.ssh/private_config From 51f06921285e71596deb9b9c4b0c138cbb064dda Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 16:26:25 +0200 Subject: [PATCH 097/656] zsh: set NIX_REMOTE env var --- .zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.zshrc b/.zshrc index 24c6910..2b0708c 100644 --- a/.zshrc +++ b/.zshrc @@ -197,6 +197,7 @@ autoload -U +X compinit && compinit ## Nix export PATH=$HOME/.nix-profile/bin:$PATH export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive +export NIX_REMOTE=daemon ## eksctl if [ ! -f "${fpath[1]}/_eksctl" ]; then From 4e734c68cb7f4fdaf0a404652b71200da9988ffd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 16:28:31 +0200 Subject: [PATCH 098/656] zsh: add nix completions --- .zshrc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.zshrc b/.zshrc index 2b0708c..f8b68c8 100644 --- a/.zshrc +++ b/.zshrc @@ -20,6 +20,8 @@ zi ice wait lucid zi load Aloxaf/fzf-tab zi ice wait lucid zi load Freed-Wu/fzf-tab-source +zi ice wait lucid +zi load nix-community/nix-zsh-completions zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache From e7fce6aa853403546d86fc75082ad2d4dbd612c8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 21:18:19 +0200 Subject: [PATCH 099/656] term-test layout --- bin/test-term.sh | 199 ++++++++++++++++++++++------------------------- 1 file changed, 94 insertions(+), 105 deletions(-) diff --git a/bin/test-term.sh b/bin/test-term.sh index 2b49fc6..9780da5 100755 --- a/bin/test-term.sh +++ b/bin/test-term.sh @@ -1,59 +1,58 @@ -echo -e '\e[0mnormal\e[0m' -echo -e '\e[2mdim\e[0m' +echo -ne '\e[0mnormal\e[0m\t\t\t\t\t' +echo -e '\e[7m reverse \e[0m' -echo -e '\e[1mbold\e[0m' +echo -ne '\e[2mdim\e[0m\t\t\t\t\t\t' +echo -e '\e[7;2m reverse dim \e[0m' -echo -e '\e[3mitalic\e[0m' -echo -e '\e[2;3mdim italic\e[0m' -echo -e '\e[1;3mbold italic\e[0m' +echo -ne '\e[1mbold\e[0m\t\t\t\t\t' +echo -e '\e[7;1m reverse bold \e[0m' + +echo -ne '\e[3mitalic\e[0m\t\t\t\t\t' +echo -e '\e[7;3m reverse italic \e[0m' + +echo -ne '\e[2;3mdim italic\e[0m\t\t\t\t' +echo -e '\e[7;2;3m reverse dim italic \e[0m' + +echo -ne '\e[1;3mbold italic\e[0m\t\t\t\t' +echo -e '\e[7;1;3m reverse bold italic \e[0m' echo -echo -e '\e[4munderline\e[24m' +echo -e '\e[4munderline\e[0m' echo -e '\e[3;4mitalic underline\e[0m' -echo -e '\e[4:1mthis is also underline \e[4:0m' -echo -e '\e[21mdouble underline \e[24m' -echo -e '\e[4:2mthis is also double underline \e[4:0m' -echo -e '\e[4:3mcurly underline \e[4:0m' -echo -e '\e[21m\e[58;5;42m256-color underline \e[59m\e[24m' -echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (*)\e[59m\e[4:0m' -echo -e "\x1b[58:2::255:0:0m\x1b[4:1msingle underline \x1b[0m" -echo -e "\x1b[4:2mdouble underline \x1b[58:2::255:0:0m and with color\x1b[0m" -echo -e "\x1b[4:3mcurly underline \x1b[58:2::255:0:0m and with color\x1b[0m" -echo -e "\x1b[4:4mdotted underline \x1b[58:2::255:0:0m and with color\x1b[0m" -echo -e "\x1b[4:5mdashed underline \x1b[58:2::255:0:0m and with color\x1b[0m" - - +echo -e '\e[4:1mthis is also underline \e[0m' +echo -e '\e[21mdouble underline \e[0m' +echo -e '\e[4:2mthis is also double underline \e[0m' +echo -e '\e[4:3mcurly underline \e[0m' +echo -e '\e[21m\e[58;5;42m256-color underline \e[0m' +echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (*)\e[0m' +echo -e "\e[58:2::255:0:0m\e[4:1msingle underline \e[0m" +echo -e "\e[4:2mdouble underline \e[58:2::255:0:0m and with color\e[0m" +echo -e "\e[4:3mcurly underline \e[58:2::255:0:0m and with color\e[0m" +echo -e "\e[4:4mdotted underline \e[58:2::255:0:0m and with color\e[0m" +echo -e "\e[4:5mdashed underline \e[58:2::255:0:0m and with color\e[0m" echo -echo -e '\e[7mreverse\e[27m' -echo -e '\e[7;1mreverse bold\e[0m' -echo -e '\e[7;3mreverse italic\e[0m' -echo -e '\e[7;2mreverse dim\e[0m' -echo -e '\e[7;2;1mreverse dim italic\e[0m' - -echo -echo -e '\e[5mblink \e[25m' -echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)' -echo -e '\e[9mstrikethrough\e[29m' -echo -e '\e[53moverline \e[55m' +echo -e '\e[5mblink \e[0m' +echo -e '\e[8minvisible\e[0m <- invisible (but copy-pasteable)' +echo -e '\e[9mstrikethrough\e[0m' +echo -e '\e[53moverline \e[0m' echo -e '\e[51mframed \e[0m' echo -e '\e[52mencircled \e[0m' -echo -e '\e[31mred\e[39m' -echo -e '\e[91mbright red\e[39m' -echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m' -echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m' -echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) \e[39m' -echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m' - -echo -e '\e[46mcyan background\e[49m' -echo -e '\e[106mbright cyan background\e[49m' -echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m' -echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m' -echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) \e[49m' -echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m' -echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m' +echo -e '\e[31mred\e[0m' +echo -e '\e[91mbright red\e[0m' +echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[0m' +echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[0m' +echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) \e[0m' +echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[0m' +echo -e '\e[46mcyan background\e[0m' +echo -e '\e[106mbright cyan background\e[0m' +echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[0m' +echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[0m' +echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) \e[0m' +echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[0m' +echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[0m' echo echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷" @@ -65,7 +64,7 @@ echo "=<< =< =<= <== <=== <<= <= => =>> ==> ===> =>= >= >>= <=> <==> <===> <==== echo "[| |] {| |} <=< >=> <~~ <~ ~> ~~> :: ::: \/ /\ == != /= ~= <> === !== =/= =!= :>" echo ":= :- :+ <* <*> *> <| <|> |> <. <.> .> +: -: =: <***> __ (* comm *) ++ +++ |- -|" -echo +echo echo 24-bit colors: # This file was originally taken from iterm2 https://github.com/gnachman/iTerm2/blob/master/tests/24-bit-color.sh @@ -77,15 +76,12 @@ echo 24-bit colors: # <r> <g> <b> range from 0 to 255 inclusive. # The escape sequence ^[0m returns output to default -setBackgroundColor() -{ - #printf '\x1bPtmux;\x1b\x1b[48;2;%s;%s;%sm' $1 $2 $3 - printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3 +setBackgroundColor() { + printf '\x1b[48;2;%s;%s;%sm' $1 $2 $3 } -resetOutput() -{ - echo -en "\x1b[0m\n" +resetOutput() { + echo -en "\x1b[0m\n" } # Gives a color $1/255 % along HSV @@ -93,77 +89,70 @@ resetOutput() # Echoes "$red $green $blue" where # $red $green and $blue are integers # ranging between 0 and 255 inclusive -rainbowColor() -{ - let h=$1/43 - let f=$1-43*$h - let t=$f*255/43 - let q=255-t +rainbowColor() { + let h=$1/43 + let f=$1-43*$h + let t=$f*255/43 + let q=255-t - if [ $h -eq 0 ] - then - echo "255 $t 0" - elif [ $h -eq 1 ] - then - echo "$q 255 0" - elif [ $h -eq 2 ] - then - echo "0 255 $t" - elif [ $h -eq 3 ] - then - echo "0 $q 255" - elif [ $h -eq 4 ] - then - echo "$t 0 255" - elif [ $h -eq 5 ] - then - echo "255 0 $q" - else - # execution should never reach here - echo "0 0 0" - fi + if [ $h -eq 0 ]; then + echo "255 $t 0" + elif [ $h -eq 1 ]; then + echo "$q 255 0" + elif [ $h -eq 2 ]; then + echo "0 255 $t" + elif [ $h -eq 3 ]; then + echo "0 $q 255" + elif [ $h -eq 4 ]; then + echo "$t 0 255" + elif [ $h -eq 5 ]; then + echo "255 0 $q" + else + # execution should never reach here + echo "0 0 0" + fi } -for i in `seq 0 127`; do - setBackgroundColor $i 0 0 - echo -en " " +for i in $(seq 0 127); do + setBackgroundColor $i 0 0 + echo -en " " done resetOutput -for i in `seq 255 -1 128`; do - setBackgroundColor $i 0 0 - echo -en " " +for i in $(seq 255 -1 128); do + setBackgroundColor $i 0 0 + echo -en " " done resetOutput -for i in `seq 0 127`; do - setBackgroundColor 0 $i 0 - echo -n " " +for i in $(seq 0 127); do + setBackgroundColor 0 $i 0 + echo -n " " done resetOutput -for i in `seq 255 -1 128`; do - setBackgroundColor 0 $i 0 - echo -n " " +for i in $(seq 255 -1 128); do + setBackgroundColor 0 $i 0 + echo -n " " done resetOutput -for i in `seq 0 127`; do - setBackgroundColor 0 0 $i - echo -n " " +for i in $(seq 0 127); do + setBackgroundColor 0 0 $i + echo -n " " done resetOutput -for i in `seq 255 -1 128`; do - setBackgroundColor 0 0 $i - echo -n " " +for i in $(seq 255 -1 128); do + setBackgroundColor 0 0 $i + echo -n " " done resetOutput -for i in `seq 0 127`; do - setBackgroundColor `rainbowColor $i` - echo -n " " +for i in $(seq 0 127); do + setBackgroundColor $(rainbowColor $i) + echo -n " " done resetOutput -for i in `seq 255 -1 128`; do - setBackgroundColor `rainbowColor $i` - echo -n " " +for i in $(seq 255 -1 128); do + setBackgroundColor $(rainbowColor $i) + echo -n " " done resetOutput From f08ac5321985b95a07083e57bce48a1054a3f85f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 25 Jun 2023 21:18:44 +0200 Subject: [PATCH 100/656] wezterm: fonts --- .config/wezterm/wezterm.lua | 45 ++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 56bc9e4..41cc8ea 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -22,31 +22,70 @@ return { { italic = false, intensity = "Half", + reverse = false, font = font_with_fallback("Iosevka Term SS09", { weight = "Thin" }), }, + { + italic = false, + intensity = "Bold", + reverse = false, + font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), + }, { italic = true, intensity = "Normal", + reverse = false, font = font_with_fallback("Iosevka Term Curly Slab", { weight = "Light", italic = true }), }, { italic = true, intensity = "Half", + reverse = false, font = font_with_fallback("Iosevka Term SS15", { weight = "ExtraLight", italic = true }), }, { italic = true, intensity = "Bold", + reverse = false, font = font_with_fallback("Iosevka Term Curly Slab Ex", { weight = "Regular", italic = true }), }, + + -- Reversed + { + reverse = true, + italic = false, + intensity = "Normal", + font = font_with_fallback("Iosevka Term SS09", { weight = "Regular" }), + }, { reverse = true, - intensity = "Bold", - font = font_with_fallback("Iosevka Term SS09", { weight = "Bold" }), + italic = false, + intensity = "Half", + font = font_with_fallback("Iosevka Term SS09", { weight = "Light" }), }, { + reverse = true, + italic = true, + intensity = "Half", + font = font_with_fallback("Iosevka Term Curly Slab", { weight = "ExtraLight", italic = true }), + }, + { + reverse = true, + italic = true, + intensity = "Normal", + font = font_with_fallback("Iosevka Term Curly Slab", { weight = "Light", italic = true }), + }, + { + reverse = true, + italic = true, intensity = "Bold", - font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), + font = font_with_fallback("Iosevka Term Curly Slab Ex", { weight = "Bold", italic = true }), + }, + { + reverse = true, + italic = false, + intensity = "Bold", + font = font_with_fallback("Iosevka Term SS09", { weight = "Bold" }), }, }, front_end = "WebGpu", From 17afeb4b6a92c67cc7399b150d6ce29122e90bf3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 10:11:24 +0200 Subject: [PATCH 101/656] wezterm: a bit thicker cursor --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 41cc8ea..2a07e4c 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -107,7 +107,7 @@ return { bottom = 0, }, default_cursor_style = "SteadyBlock", - cursor_thickness = "3px", + cursor_thickness = "6px", cursor_blink_rate = 0, hide_mouse_cursor_when_typing = false, enable_wayland = true, From b307c4549c1a3b953d06842b4b6ba44f5bddb3d9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 09:57:00 +0200 Subject: [PATCH 102/656] starship: minimize prompt --- .config/starship.toml | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/.config/starship.toml b/.config/starship.toml index ccbfb7a..a3b9734 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -5,15 +5,13 @@ format = """\ ${env_var.TMUX_WINDOW}\ $hostname\ $directory\ -${custom.sl_status}\ -$git_branch\ -$git_commit\ -$git_state\ -$git_status\ -$nix_shell\ ($character)\ """ +# $git_branch\ +# $git_commit\ +# $git_state\ +# $git_status\ right_format = """\ """ @@ -26,7 +24,7 @@ format = 'via [☃️ $state( \($name\))](bold blue) ' [env_var.TMUX_WINDOW] default = "" -format = '[ $env_value ]($style)[](fg:#d1002f) ' +format = '[ $env_value ]($style) ' style = 'italic bg:#d1002f fg:#ffffff' [custom.sl_status] From 65defa2a96a27a25a3cb36a99e2568069deeae66 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 10:00:49 +0200 Subject: [PATCH 103/656] tmux: use new terminal-features instead of terminal-override --- .tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tmux.conf b/.tmux.conf index 1d88b6e..b44348c 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -23,7 +23,7 @@ set -g default-command zsh set -g history-limit 10000 set -g default-terminal "wezterm" -set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # Underline color +set -ga terminal-features '*:overline:strikethrough:usstyle:RGB' # Key bindings bind -n M-Left select-pane -L From 3691a3aee1850365b4c282ed9f9733f454ab3ef4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 10:12:01 +0200 Subject: [PATCH 104/656] zsh: disable fzf-tab that was driving me nuts --- .zshrc | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.zshrc b/.zshrc index f8b68c8..fbebfe9 100644 --- a/.zshrc +++ b/.zshrc @@ -17,19 +17,10 @@ zi load zdharma-continuum/fast-syntax-highlighting zi ice wait lucid zi load zsh-users/zsh-history-substring-search zi ice wait lucid -zi load Aloxaf/fzf-tab -zi ice wait lucid -zi load Freed-Wu/fzf-tab-source -zi ice wait lucid zi load nix-community/nix-zsh-completions zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache - -## fzf-tab -zstyle ':fzf-tab:*' fzf-bindings 'tab:accept' -zstyle ':fzf-tab:*' continuous-trigger '/' -zstyle ':fzf-tab:*' fzf-min-height 30 ## History HISTSIZE=50000 From 1a2a5a91328beb9d2114b2874aae0624bcfc83d3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 10:14:36 +0200 Subject: [PATCH 105/656] zsh: disable highlighting pasted test in reverse --- .zshrc | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.zshrc b/.zshrc index fbebfe9..53e76f4 100644 --- a/.zshrc +++ b/.zshrc @@ -22,6 +22,9 @@ zi load nix-community/nix-zsh-completions zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache +# Highlighting +zle_highlight=('paste:none') + ## History HISTSIZE=50000 SAVEHIST=50000 From 9c38ebd3ee6e4293f3baa6d9e98d97ae0b77e63c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 15:13:16 +0200 Subject: [PATCH 106/656] zsh: just use zsh for prompt, deprecating starship --- .config/starship.toml | 74 ------------------------------------------- .tmux.conf | 18 +++++------ .zshrc | 35 ++++++++++++++++---- 3 files changed, 38 insertions(+), 89 deletions(-) delete mode 100644 .config/starship.toml diff --git a/.config/starship.toml b/.config/starship.toml deleted file mode 100644 index a3b9734..0000000 --- a/.config/starship.toml +++ /dev/null @@ -1,74 +0,0 @@ -add_newline = false - - -format = """\ -${env_var.TMUX_WINDOW}\ -$hostname\ -$directory\ -($character)\ -""" - -# $git_branch\ -# $git_commit\ -# $git_state\ -# $git_status\ -right_format = """\ -""" - -[nix_shell] -disabled = true -impure_msg = '[impure shell](bold red)' -pure_msg = '[pure shell](bold green)' -unknown_msg = '[unknown shell](bold yellow)' -format = 'via [☃️ $state( \($name\))](bold blue) ' - -[env_var.TMUX_WINDOW] -default = "" -format = '[ $env_value ]($style) ' -style = 'italic bg:#d1002f fg:#ffffff' - -[custom.sl_status] -command = '''~/bin/starship-sl-status''' -when = false -style = "italic fg:#79AE6F" -format = '[(🌱 $output )]($style)' - -[character] -success_symbol = "%" -error_symbol = "[%](bold red)" - -[line_break] -disabled = true - -[directory] -fish_style_pwd_dir_length = 1 -truncation_length = 1 -truncate_to_repo = false -style = "italic dimmed" - -[git_branch] -format = "[$symbol$branch]($style)" -style = "fg:#559955" -symbol = " " -truncation_length = 16 -truncation_symbol = "" - -[git_commit] -format = "[ $hash$tag]($style) " -style = "fg:#559955" - -[git_state] -style = "" - -[git_status] -format = '([\[$all_status$ahead_behind\]]($style))' -style = "dimmed" - -[hostname] -ssh_only = false -format = "[$hostname](dimmed italic):" -disabled = false - -[kubernetes] -disabled = false -style = "" diff --git a/.tmux.conf b/.tmux.conf index b44348c..5fd908b 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -73,14 +73,14 @@ set -g set-titles on set -g set-titles-string "#H - #T" new -s0 -n 1 nvim --listen $XDG_RUNTIME_DIR/nvim.sock -new-window -n 2 -e TMUX_WINDOW=2 -new-window -n 3 -e TMUX_WINDOW=3 -new-window -n 4 -e TMUX_WINDOW=4 -new-window -n 5 -e TMUX_WINDOW=5 -new-window -n 6 -e TMUX_WINDOW=6 -new-window -n 7 -e TMUX_WINDOW=7 -new-window -n 8 -e TMUX_WINDOW=8 -new-window -n 9 -e TMUX_WINDOW=9 -new-window -n 0 -e TMUX_WINDOW=0 +new-window -n 2 +new-window -n 3 +new-window -n 4 +new-window -n 5 +new-window -n 6 +new-window -n 7 +new-window -n 8 +new-window -n 9 +new-window -n 0 # vim:set ft=tmux: diff --git a/.zshrc b/.zshrc index 53e76f4..a8ee569 100644 --- a/.zshrc +++ b/.zshrc @@ -18,6 +18,8 @@ zi ice wait lucid zi load zsh-users/zsh-history-substring-search zi ice wait lucid zi load nix-community/nix-zsh-completions +zi ice wait lucid +zi snippet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/shrink-path/shrink-path.plugin.zsh zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache @@ -55,6 +57,8 @@ setopt extended_glob setopt ksh_glob setopt null_glob +export LC_ALL=en_US.UTF-8 + ## Autosuggest # ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#D7CCC8,italic" # ZSH_AUTOSUGGEST_USE_ASYNC=1 @@ -99,7 +103,6 @@ bindkey '^[[B' history-beginning-search-forward bindkey '^P' history-beginning-search-backward bindkey '^N' history-beginning-search-forward bindkey '^g' _jump -bindkey '^_' _cwd_gitroot ## Pager @@ -139,15 +142,35 @@ rg() { /usr/bin/rg -p "$@" | bat } -fix_cursor() { - echo -ne '\e[5 q' +## Prompt + +prompt_chpwd() { + if [[ ${#PWD} < 25 ]]; then + PROMPT_PWD="$PWD" + else + PROMPT_PWD="$(shrink_path -t -l -e "%{%G\e[2;3;38;5;202m\U2026\e[0;2;3m%}")" + fi +} +chpwd_functions+=prompt_chpwd + +prompt_precmd() { + # PROMPT_LABEL="%B$(tmux display-message -p "#I")%b" + PROMPT_LABEL="$HOST" } -precmd_functions+=(fix_cursor) +precmd_functions+=(prompt_precmd) +autoload -Uz vcs_info +chpwd_functions+=vcs_info +precmd_functions+=vcs_info -## Prompt -eval "$(starship init zsh)" +zstyle ':vcs_info:git:*' check-for-changes true +zstyle ':vcs_info:git:*' formats '%F{#559955} %b%u%c%f ' +zstyle ':vcs_info:*' unstagedstr ' %F{#ff0}' +zstyle ':vcs_info:*' stagedstr ' %F{#9ff}' + +setopt PROMPT_SUBST +PROMPT=$'%F{#fff}%K{#d1002f}%{\e[3m%} ${PROMPT_LABEL} %{\e[0m%}%S%F{#d1002f}%k%{%G\Ue0ba%}%k%s%f%{\e[2;3m%}${PROMPT_PWD}%{\e[0m%} ${vcs_info_msg_0_}%# ' ## vim export EDITOR=nvim From e594c4177df345dd266817d2036dba372546c65b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 15:44:07 +0200 Subject: [PATCH 107/656] wezterm: hide window decorations --- .config/wezterm/wezterm.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 2a07e4c..f08c496 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -100,6 +100,7 @@ return { initial_rows = 45, use_resize_increments = true, adjust_window_size_when_changing_font_size = false, + window_decorations = "RESIZE", window_padding = { left = 0, right = 0, From d25cbf6ea44c3cc394451da08dbd10e84d15ebb7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 15:45:54 +0200 Subject: [PATCH 108/656] zsh: fix for narrow cursor --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index a8ee569..be07564 100644 --- a/.zshrc +++ b/.zshrc @@ -154,8 +154,8 @@ prompt_chpwd() { chpwd_functions+=prompt_chpwd prompt_precmd() { - # PROMPT_LABEL="%B$(tmux display-message -p "#I")%b" PROMPT_LABEL="$HOST" + echo -ne '\e[5 q' # Fix cursor } precmd_functions+=(prompt_precmd) From fe5d005c2b0ddff4cbdbf3460c642f7bae969f00 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 16:46:07 +0200 Subject: [PATCH 109/656] git: use --word-diff. minimize delta --- .gitconfig | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.gitconfig b/.gitconfig index 22e7481..dd493f2 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,6 +1,6 @@ [core] excludesfile = "~/.gitignore" -pager = delta --line-numbers --max-line-distance 0.9 +pager = delta compression = 0 looseCompression = 0 @@ -22,8 +22,10 @@ rebase = true [alias] b = branch -va cl = clone --filter=blob:none -d = diff --stat -p -C -ds = diff --staged --stat -p -C +d = diff --stat -p -C --color-words +dg = diff --stat -p -C +ds = diff --staged --stat -p -C --color-words +sh = show --color-words dt = difftool patch = !git --no-pager diff --no-color co = checkout @@ -72,8 +74,13 @@ threads = 0 date = relative [delta] -# syntax-theme = GitHub -hunk-header-style = line-number syntax +; # syntax-theme = GitHub + file-decoration-style=none + hunk-header-decoration-style=none + hunk-header-decoration-style='blue ul' + hunk-header-style = line-number syntax + line-numbers = true + max-line-distance = 0.9 [hub] protocol = git From dc6dc5b13a21df9e5a6018d1b500b2fb4569f781 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jul 2023 17:27:07 +0200 Subject: [PATCH 110/656] git: delta fancification --- .gitconfig | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitconfig b/.gitconfig index dd493f2..34ac5d3 100644 --- a/.gitconfig +++ b/.gitconfig @@ -75,10 +75,20 @@ date = relative [delta] ; # syntax-theme = GitHub + file-style = bold "#ffff66" "#333300" + file-transformation = "s/$/ ══ /" file-decoration-style=none + file-added-label = " ══" + file-modified-label = " ══" + file-removed-label = " ══" + file-renamed-label = " ══" hunk-header-decoration-style=none - hunk-header-decoration-style='blue ul' - hunk-header-style = line-number syntax + ; hunk-header-decoration-style='#99eeff' + hunk-header-file-style = bold "#66ddff" + hunk-header-style = line-number bold "#99eeff" "#001133" + hunk-header-line-number-style = bold "#66ccff" + hunk-label-style = bold "#66ccff" + hunk-label = " " line-numbers = true max-line-distance = 0.9 From ccf0d176c58525a8d8cc340cbe6b76a2f2d2640d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 12:30:22 +0200 Subject: [PATCH 111/656] tmux: status style --- .tmux.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 5fd908b..450ee94 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -62,8 +62,8 @@ bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_p setw -g window-status-format "" setw -g window-status-current-format "" setw -g window-status-separator "" -set -g status-style "fg=#cc0000,dotted-underscore,italics" -set -g status-position top +set -g status-style "bg=#444444,fg=#dddddd,italics" +set -g status-position bottom set -g status-left-length 0 set -g status-right-length 0 set -g status-left '[#I] #{pane_current_path}' From 471ee13bf5e6802be38f43cf5e12d90881d674b7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 12:35:15 +0200 Subject: [PATCH 112/656] zsh/tmux: use OSC 7 to signal pwd. fixes M-e for tmux-edit-helper --- .zshrc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index be07564..55aa782 100644 --- a/.zshrc +++ b/.zshrc @@ -155,7 +155,8 @@ chpwd_functions+=prompt_chpwd prompt_precmd() { PROMPT_LABEL="$HOST" - echo -ne '\e[5 q' # Fix cursor + print -n '\e[5 q' # Fix cursor + print -n "\e]7;${PWD}\a" # OSC 7 for terminal pwd } precmd_functions+=(prompt_precmd) From 8050aa5304d60e2d5b98c6d6ab96d2891749d175 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 14:24:15 +0200 Subject: [PATCH 113/656] zsh: git branchless completion --- .zshrc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.zshrc b/.zshrc index 55aa782..138d28c 100644 --- a/.zshrc +++ b/.zshrc @@ -119,6 +119,7 @@ export BAT_PAGER="less -r" alias c='cut -c-${COLUMNS}' alias e='tmux-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' +alias git='git-branchless wrap --' alias l='bat --wrap=never --pager="less -S"' alias ls=exa alias tail='tail -n $LINES' @@ -236,6 +237,11 @@ alias kubectl='grc kubectl' # curl -sLo "${fpath[1]}/_bazel" https://raw.githubusercontent.com/bazelbuild/bazel/master/scripts/zsh_completion/_bazel #fi +## git-branchless +if [ ! -f "${fpath[1]}/_git_branchless" ]; then + curl -sLo "${fpath[1]}/_git_branchless" https://gist.githubusercontent.com/minijackson/68effb0e6c7d8333e20f07da20076c28/raw/5469ffa1c6adc245adb82316f1013937c5148da7/_git-branchless +fi + ## sapling if [ ! -f "${fpath[1]}/_sl" ]; then # See: https://github.com/facebook/sapling/pull/369 From f8d1cf1a57bcbc4c7a3d3b7359723b50e7957aee Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 16:34:21 +0200 Subject: [PATCH 114/656] zsh: add zsh-abbr --- .config/zsh-abbr/abbr-jj | 6 ++++++ .config/zsh-abbr/user-abbreviations | 9 +++++++++ .zshrc | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 .config/zsh-abbr/abbr-jj create mode 100644 .config/zsh-abbr/user-abbreviations diff --git a/.config/zsh-abbr/abbr-jj b/.config/zsh-abbr/abbr-jj new file mode 100644 index 0000000..29e638f --- /dev/null +++ b/.config/zsh-abbr/abbr-jj @@ -0,0 +1,6 @@ +abbr add -S --force "c"="jj commit" +abbr add -S --force "new"="jj new main" +abbr add -S --force "p"="jj git push" +abbr add -S --force "s"="jj status" +abbr add -S --force "sl"="jj log --ignore-working-copy" +abbr add -S --force "d"="jj show" diff --git a/.config/zsh-abbr/user-abbreviations b/.config/zsh-abbr/user-abbreviations new file mode 100644 index 0000000..3b32d17 --- /dev/null +++ b/.config/zsh-abbr/user-abbreviations @@ -0,0 +1,9 @@ +abbr "abbr-jj"="source ~/.config/zsh-abbr/abbr-jj" +abbr "c"="git commit" +abbr "d"="git diff --stat -p -C --color-words" +abbr "g"="git" +abbr "k"="kubectl" +abbr "new"="git checkout --detach main" +abbr "p"="git push" +abbr "s"="git status" +abbr "sl"="git sl" diff --git a/.zshrc b/.zshrc index 138d28c..cc414c6 100644 --- a/.zshrc +++ b/.zshrc @@ -19,6 +19,8 @@ zi load zsh-users/zsh-history-substring-search zi ice wait lucid zi load nix-community/nix-zsh-completions zi ice wait lucid +zi load olets/zsh-abbr +zi ice wait lucid zi snippet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/shrink-path/shrink-path.plugin.zsh zstyle ':completion:*' use-cache on From 1ba2eef66ba78bab74c99090468ce2686970a1a0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 17:33:37 +0200 Subject: [PATCH 115/656] zsh: automatic jj abbreviations --- .config/zsh-abbr/abbr-jj | 6 ------ .config/zsh-abbr/user-abbreviations | 6 ++++-- .zshrc | 31 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 8 deletions(-) delete mode 100644 .config/zsh-abbr/abbr-jj diff --git a/.config/zsh-abbr/abbr-jj b/.config/zsh-abbr/abbr-jj deleted file mode 100644 index 29e638f..0000000 --- a/.config/zsh-abbr/abbr-jj +++ /dev/null @@ -1,6 +0,0 @@ -abbr add -S --force "c"="jj commit" -abbr add -S --force "new"="jj new main" -abbr add -S --force "p"="jj git push" -abbr add -S --force "s"="jj status" -abbr add -S --force "sl"="jj log --ignore-working-copy" -abbr add -S --force "d"="jj show" diff --git a/.config/zsh-abbr/user-abbreviations b/.config/zsh-abbr/user-abbreviations index 3b32d17..15704f2 100644 --- a/.config/zsh-abbr/user-abbreviations +++ b/.config/zsh-abbr/user-abbreviations @@ -1,4 +1,4 @@ -abbr "abbr-jj"="source ~/.config/zsh-abbr/abbr-jj" +abbr "b"="git branch -va" abbr "c"="git commit" abbr "d"="git diff --stat -p -C --color-words" abbr "g"="git" @@ -6,4 +6,6 @@ abbr "k"="kubectl" abbr "new"="git checkout --detach main" abbr "p"="git push" abbr "s"="git status" -abbr "sl"="git sl" +abbr "sl"="git branchless smartlog" +abbr "sw"="git branchless switch --interactive" +abbr "sy"="git sync --pull" diff --git a/.zshrc b/.zshrc index cc414c6..00e4b08 100644 --- a/.zshrc +++ b/.zshrc @@ -145,6 +145,37 @@ rg() { /usr/bin/rg -p "$@" | bat } + +## Jujutsu +jj_chpwd() { + _state="$JJ_REPO" + JJ_REPO=$(jj workspace root --ignore-working-copy 2>/dev/null) + if [[ "$JJ_REPO" == "$_state" ]]; then + return + fi + if [[ -n "$JJ_REPO" ]]; then + abbr add -S --force "b"="jj branch list" + abbr add -S --force "c"="jj commit" + abbr add -S --force "d"="jj show" + abbr add -S --force "new"="jj new main" + abbr add -S --force "p"="jj git push" + abbr add -S --force "s"="jj status" + abbr add -S --force "sl"="jj log --ignore-working-copy" + abbr add -S --force "sy"="jj git fetch" + else + abbr erase -S b + abbr erase -S c + abbr erase -S d + abbr erase -S new + abbr erase -S p + abbr erase -S s + abbr erase -S sl + abbr erase -S sy + fi +} +chpwd_functions+=jj_chpwd + + ## Prompt prompt_chpwd() { From 64e7b1bad68c96aa60c813d07ecb8720a7a7affc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jul 2023 21:12:37 +0200 Subject: [PATCH 116/656] zsh: truncate branch name in vcs_info prompt --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 00e4b08..7e7ece2 100644 --- a/.zshrc +++ b/.zshrc @@ -200,7 +200,7 @@ chpwd_functions+=vcs_info precmd_functions+=vcs_info zstyle ':vcs_info:git:*' check-for-changes true -zstyle ':vcs_info:git:*' formats '%F{#559955} %b%u%c%f ' +zstyle ':vcs_info:git:*' formats '%F{#559955} %1.25b%u%c%f ' zstyle ':vcs_info:*' unstagedstr ' %F{#ff0}' zstyle ':vcs_info:*' stagedstr ' %F{#9ff}' From 36f21baf1d4475bc4838c702c747108035a7f59b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 11 Jul 2023 15:49:54 +0200 Subject: [PATCH 117/656] paru: prompt to remove make deps on install --- .config/paru/paru.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf index 2d4fc99..23800b5 100644 --- a/.config/paru/paru.conf +++ b/.config/paru/paru.conf @@ -1,7 +1,7 @@ Include = /etc/paru.conf - [options] +RemoveMake = ask SkipReview [bin] From 0a369346e7cc0f94d3ac9b0445c64be55e2d6813 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 12 Jul 2023 09:20:07 +0200 Subject: [PATCH 118/656] zsh: task completion --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index 7e7ece2..be68ba6 100644 --- a/.zshrc +++ b/.zshrc @@ -275,6 +275,11 @@ if [ ! -f "${fpath[1]}/_git_branchless" ]; then curl -sLo "${fpath[1]}/_git_branchless" https://gist.githubusercontent.com/minijackson/68effb0e6c7d8333e20f07da20076c28/raw/5469ffa1c6adc245adb82316f1013937c5148da7/_git-branchless fi +## go-task +if [ ! -f "${fpath[1]}/_task" ]; then + curl -sLo "${fpath[1]}/_task" https://raw.githubusercontent.com/go-task/task/main/completion/zsh/_task +fi + ## sapling if [ ! -f "${fpath[1]}/_sl" ]; then # See: https://github.com/facebook/sapling/pull/369 From 3b5cca3513a8af3ad3b6559504a5132670cb5455 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 15 Jul 2023 11:09:38 +0200 Subject: [PATCH 119/656] git: use --stat for show command --- .gitconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitconfig b/.gitconfig index 34ac5d3..ee18805 100644 --- a/.gitconfig +++ b/.gitconfig @@ -25,7 +25,7 @@ cl = clone --filter=blob:none d = diff --stat -p -C --color-words dg = diff --stat -p -C ds = diff --staged --stat -p -C --color-words -sh = show --color-words +sh = show --stat -p -C --color-words dt = difftool patch = !git --no-pager diff --no-color co = checkout From 136f6f7de3892640c9c2648ec1392cc5172427b7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 15 Jul 2023 11:09:51 +0200 Subject: [PATCH 120/656] zsh: rec abbrev --- .config/zsh-abbr/user-abbreviations | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/zsh-abbr/user-abbreviations b/.config/zsh-abbr/user-abbreviations index 15704f2..8ad9b83 100644 --- a/.config/zsh-abbr/user-abbreviations +++ b/.config/zsh-abbr/user-abbreviations @@ -5,6 +5,7 @@ abbr "g"="git" abbr "k"="kubectl" abbr "new"="git checkout --detach main" abbr "p"="git push" +abbr "rec"="git record" abbr "s"="git status" abbr "sl"="git branchless smartlog" abbr "sw"="git branchless switch --interactive" From bdac2d36126b0d2462ab2d0e91aaee2272ae6614 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 15 Jul 2023 16:52:55 +0200 Subject: [PATCH 121/656] nvim: add lsp_dynamic_workspace_symbols binding --- .config/nvim/lua/plugins/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index a74ea03..bd564bf 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -32,6 +32,7 @@ function M.config() vim.keymap.set("n", "<leader>a", '<cmd>lua require("telescope.builtin").lsp_code_actions()<CR>') vim.keymap.set("n", "<leader>m", '<cmd>lua require("telescope.builtin").marks()<CR>') vim.keymap.set("n", "<leader>s", '<cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>') + vim.keymap.set("n", "<leader>S", '<cmd>lua require("telescope.builtin").lsp_dynamic_workspace_symbols()<CR>') vim.keymap.set("n", "<leader>t", '<cmd>lua require("telescope.builtin").treesitter()<CR>') vim.keymap.set("n", "<leader>/", '<cmd>lua require("telescope.builtin").live_grep()<CR>') vim.keymap.set("n", "<leader>.", '<cmd>lua require("telescope.builtin").file_browser()<CR>') From 91833eb18c7d597b5ab6284a86f2fc9aad01744b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 28 Jul 2023 09:51:04 +0200 Subject: [PATCH 122/656] nvim: add binding for lsp find implementations --- .config/nvim/lua/plugins/telescope.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index bd564bf..1810ff3 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -40,6 +40,7 @@ function M.config() vim.keymap.set("n", "ga", "<cmd>lua vim.lsp.buf.code_action()<CR>") vim.keymap.set("n", "gr", '<cmd>lua require("telescope.builtin").lsp_references()<CR>') vim.keymap.set("n", "gd", '<cmd>lua require("telescope.builtin").lsp_definitions()<CR>') + vim.keymap.set("n", "gi", '<cmd>lua require("telescope.builtin").lsp_implementations()<CR>') vim.keymap.set("n", "g/", '<cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>') vim.keymap.set( "n", From 8071e98e1d4be676ecea9f0920fe48fcad8ec989 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 30 Jul 2023 21:18:43 +0200 Subject: [PATCH 123/656] tmux: don't start nvim on startup --- .tmux.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tmux.conf b/.tmux.conf index 450ee94..6988918 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -72,7 +72,7 @@ set -g status off set -g set-titles on set -g set-titles-string "#H - #T" -new -s0 -n 1 nvim --listen $XDG_RUNTIME_DIR/nvim.sock +new -s0 -n 1 new-window -n 2 new-window -n 3 new-window -n 4 From f40a7cc2347906ac936bc9404a9f209d25ebefb6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 25 Aug 2023 10:12:37 +0200 Subject: [PATCH 124/656] ssh: remove deprecated pkcs11 config --- .ssh/config | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.ssh/config b/.ssh/config index ddb5430..b0001ae 100644 --- a/.ssh/config +++ b/.ssh/config @@ -17,13 +17,9 @@ ForwardAgent yes ExitOnForwardFailure yes Compression yes LocalForward 127.0.0.1:3000 127.0.0.1:3000 -LocalForward 127.0.0.1:3011 127.0.0.1:3011 LocalForward 127.0.0.1:8000 127.0.0.1:8000 LocalForward 127.0.0.1:8080 127.0.0.1:8080 - -Host gitlab.com -IdentityAgent /dev/null -PKCS11Provider /usr/lib/pkcs11/libtpm2_pkcs11.so +LocalForward 127.0.0.1:9090 127.0.0.1:9090 Host * ForwardAgent no From ab03a59ae5c04060462e294d723d7fc46a78b834 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 1 Sep 2023 11:14:42 +0200 Subject: [PATCH 125/656] wezterm: tmux goodness --- .../applications/wezterm-dln-dev-secondary.desktop | 10 ++++++++++ .local/share/applications/wezterm-dln-dev.desktop | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .local/share/applications/wezterm-dln-dev-secondary.desktop diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop new file mode 100644 index 0000000..afe10b5 --- /dev/null +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=wezterm-dln-dev-secondary +GenericName=wezterm-dln-dev-secondary +StartupWMClass=org.wezfurlong.wezterm-secondary +Type=Application +TryExec=/usr/bin/wezterm +Icon=org.wezfurlong.wezterm +Terminal=false +Categories=System;TerminalEmulator; +Exec=/usr/bin/wezterm --config window_background_opacity=0.6 --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop index 8f8a4e7..6398802 100644 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ b/.local/share/applications/wezterm-dln-dev.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As0"}' start --class=wezterm-dln-dev +Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As0", "-t0"}' start --class=wezterm-dln-dev From 52b32491529dd5f5ddf78bf89c9b92a2e4480cc5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 7 Sep 2023 13:29:26 +0200 Subject: [PATCH 126/656] zsh: pulumi completion --- .zshrc | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.zshrc b/.zshrc index be68ba6..39d52df 100644 --- a/.zshrc +++ b/.zshrc @@ -306,6 +306,11 @@ if [ ! -f "${fpath[1]}/_talosctl" ]; then command -v talosctl >/dev/null 2>&1 && talosctl completion zsh > "${fpath[1]}/_talosctl" fi +## pulumi +if [ ! -f "${fpath[1]}/_pulumi" ]; then + command -v pulumi >/dev/null 2>&1 && pulumi gen-completion zsh > "${fpath[1]}/_pulumi" +fi + ## vault complete -o nospace -C /usr/bin/vault vault From 8fe4c4fb2705f792bb25a347ecdccc7cc22369e2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 7 Sep 2023 13:29:54 +0200 Subject: [PATCH 127/656] zsh: exa -> eza --- .zshrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.zshrc b/.zshrc index 39d52df..570c168 100644 --- a/.zshrc +++ b/.zshrc @@ -123,7 +123,7 @@ alias e='tmux-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' alias git='git-branchless wrap --' alias l='bat --wrap=never --pager="less -S"' -alias ls=exa +alias ls=eza alias tail='tail -n $LINES' alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' alias top='btm --basic --enable_cache_memory --enable_gpu_memory --battery' @@ -137,7 +137,7 @@ export RIPGREP_CONFIG_PATH=${HOME}/.config/shelman-theme/current/rg/rg.conf tree() { - exa --tree --color=always "$@" | bat --wrap=never + eza --tree --color=always "$@" | bat --wrap=never } # "auto paging" From 30a2f2074a156dd2dc31051e9f8eef1ec69a9c22 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 17 Sep 2023 23:33:27 +0200 Subject: [PATCH 128/656] ssh: no need for tty always --- .ssh/config | 1 - 1 file changed, 1 deletion(-) diff --git a/.ssh/config b/.ssh/config index b0001ae..ffa3826 100644 --- a/.ssh/config +++ b/.ssh/config @@ -5,7 +5,6 @@ ControlPath ${XDG_RUNTIME_DIR}/ssh_control:%h:%p:%r ControlPersist 1200 Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr AddressFamily inet -RequestTty yes PreferredAuthentications=publickey Include ~/.ssh/private_config From 3923b2051936e82618f77b5633e426baf7f274a3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 17 Sep 2023 23:36:17 +0200 Subject: [PATCH 129/656] neovim: config refresh with lazyvim --- .config/nvim/.netrwhist | 12 - .config/nvim/init.lua | 2 +- .config/nvim/lazy-lock.json | 56 ++++ .config/nvim/lua/config/autocmds.lua | 3 + .config/nvim/lua/config/keymaps.lua | 3 + .config/nvim/lua/config/lazy.lua | 70 +++-- .config/nvim/lua/config/options.lua | 79 +----- .config/nvim/lua/plugins/cmp.lua | 47 ---- .config/nvim/lua/plugins/colorscheme.lua | 80 ++++++ .config/nvim/lua/plugins/copilot.lua | 22 +- .config/nvim/lua/plugins/dap.lua | 53 ---- .config/nvim/lua/plugins/example.lua | 266 ++++++++++++++++++ .config/nvim/lua/plugins/gitsigns.lua | 38 --- .config/nvim/lua/plugins/illuminate.lua | 9 - .config/nvim/lua/plugins/indent-blankline.lua | 44 --- .config/nvim/lua/plugins/lsp-config.lua | 241 ---------------- .config/nvim/lua/plugins/lualine.lua | 52 ---- .config/nvim/lua/plugins/marks.lua | 37 --- .config/nvim/lua/plugins/misc.lua | 197 ------------- .config/nvim/lua/plugins/noice.lua | 19 -- .config/nvim/lua/plugins/null-ls.lua | 44 --- .config/nvim/lua/plugins/osc52.lua | 18 -- .config/nvim/lua/plugins/shelman-theme.lua | 11 - .config/nvim/lua/plugins/telescope.lua | 112 -------- .config/nvim/lua/plugins/treesitter.lua | 130 --------- 25 files changed, 461 insertions(+), 1184 deletions(-) delete mode 100644 .config/nvim/.netrwhist create mode 100644 .config/nvim/lazy-lock.json create mode 100644 .config/nvim/lua/config/autocmds.lua create mode 100644 .config/nvim/lua/config/keymaps.lua delete mode 100644 .config/nvim/lua/plugins/cmp.lua create mode 100644 .config/nvim/lua/plugins/colorscheme.lua delete mode 100644 .config/nvim/lua/plugins/dap.lua create mode 100644 .config/nvim/lua/plugins/example.lua delete mode 100644 .config/nvim/lua/plugins/gitsigns.lua delete mode 100644 .config/nvim/lua/plugins/illuminate.lua delete mode 100644 .config/nvim/lua/plugins/indent-blankline.lua delete mode 100644 .config/nvim/lua/plugins/lsp-config.lua delete mode 100644 .config/nvim/lua/plugins/lualine.lua delete mode 100644 .config/nvim/lua/plugins/marks.lua delete mode 100644 .config/nvim/lua/plugins/misc.lua delete mode 100644 .config/nvim/lua/plugins/noice.lua delete mode 100644 .config/nvim/lua/plugins/null-ls.lua delete mode 100644 .config/nvim/lua/plugins/osc52.lua delete mode 100644 .config/nvim/lua/plugins/shelman-theme.lua delete mode 100644 .config/nvim/lua/plugins/telescope.lua delete mode 100644 .config/nvim/lua/plugins/treesitter.lua diff --git a/.config/nvim/.netrwhist b/.config/nvim/.netrwhist deleted file mode 100644 index 823f9b5..0000000 --- a/.config/nvim/.netrwhist +++ /dev/null @@ -1,12 +0,0 @@ -let g:netrw_dirhistmax =10 -let g:netrw_dirhistcnt =4 -let g:netrw_dirhist_4='/home/dln/src/github.com/tocaboca/Toca-Days/Infrastructure/Helm' -let g:netrw_dirhist_3='/home/dln/src/github.com/tocaboca/Toca-Days/Infrastructure/Helm/days' -let g:netrw_dirhist_2='/home/dln/src/github.com/tocaboca/toca-days-prod/blessings' -let g:netrw_dirhist_1='/home/dln/src/github.com/tocaboca/toca-infrastructure/flux/k8s/infra/tenants/toca-studio/clusters/studio' -let g:netrw_dirhist_0='/home/dln/src/github.com/tocaboca/toca-infrastructure/linkerd/gateway' -let g:netrw_dirhist_9='/home/dln/src/github.com/tocaboca/toca-infrastructure/cluster/terraform' -let g:netrw_dirhist_8='/home/dln/src/github.com/shelmangroup/tf-infra/lab001/vms/modules/fcos_vault_agent' -let g:netrw_dirhist_7='/tmp/squid/etc' -let g:netrw_dirhist_6='/tmp/squid' -let g:netrw_dirhist_5='/tmp/squid/etc' diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 74740c5..2514f9e 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,2 +1,2 @@ -require("config.options") +-- bootstrap lazy.nvim, LazyVim and your plugins require("config.lazy") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..de433ee --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,56 @@ +{ + "LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" }, + "LuaSnip": { "branch": "master", "commit": "3657c3f3cb2214a681fc7e95b6ffb509d076ebfb" }, + "SchemaStore.nvim": { "branch": "main", "commit": "2a6a5d3e2bc8a5727b6d083d2920d12a392ed05b" }, + "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, + "bufferline.nvim": { "branch": "main", "commit": "9961d87bb3ec008213c46ba14b3f384a5f520eb5" }, + "catppuccin": { "branch": "main", "commit": "85e93601e0f0b48aa2c6bbfae4d0e9d7a1898280" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, + "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, + "copilot.lua": { "branch": "master", "commit": "2c942f33ba5c621c906e625e00a1bb504b65e2f0" }, + "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, + "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, + "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, + "gitsigns.nvim": { "branch": "main", "commit": "907ae8636016aab2f283576fc60d46ca3427e579" }, + "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, + "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, + "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "f014db32437aa61c86fc0ef1067cd2bc6a37205c" }, + "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, + "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, + "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, + "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, + "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, + "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, + "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "2d89ca96e08eb6e9c8e50e1bb4738bc5125c9f12" }, + "neoconf.nvim": { "branch": "main", "commit": "a4eb3675cb87be2e2dcb283dddc8c7aabd2c50ca" }, + "neodev.nvim": { "branch": "main", "commit": "471324e6c746284dbbdc1d357799d1911bb7e120" }, + "noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, + "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, + "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, + "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, + "nvim-lspconfig": { "branch": "master", "commit": "cc388d3f6b9c7c943ae2b2dcd46ad470fd257f91" }, + "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, + "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, + "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, + "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, + "nvim-treesitter": { "branch": "master", "commit": "9dd3e07609c5b74c5ac4193d0ce4fe91fb406fea" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, + "nvim-web-devicons": { "branch": "master", "commit": "973ab742f143a796a779af4d786ec409116a0d87" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, + "telescope.nvim": { "branch": "master", "commit": "b543aaa2c9cf8123ed2fe7dbb6c211a9cd415124" }, + "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, + "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, + "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, + "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, + "vim-illuminate": { "branch": "master", "commit": "8c910b2f84ae6acd9b4b17330bb94dd783c0c11a" }, + "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, + "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" } +} \ No newline at end of file diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/.config/nvim/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 32e6454..5f07074 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -1,33 +1,49 @@ local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath }) - vim.fn.system({ "git", "-C", lazypath, "checkout", "tags/stable" }) -- last stable release + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) end -vim.opt.runtimepath:prepend(lazypath) - --- require("lazy").setup("plugins") +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) require("lazy").setup({ - import = "plugins", - defaults = { lazy = true }, - checker = { enabled = false }, - performance = { - cache = { - enabled = true, - }, - rtp = { - disabled_plugins = { - "gzip", - "matchit", - "matchparen", - "netrwPlugin", - "rplugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, - debug = false, + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.lang.go" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.yaml" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "noirbuddy", "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, }) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 3368d0c..65826c7 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -1,78 +1,9 @@ -vim.cmd([[set undofile]]) -vim.cmd([[set completeopt-=preview]]) -vim.cmd([[set viewoptions-=options]]) -vim.g.mapleader = "," -vim.o.hidden = true -vim.o.mouse = "a" -vim.o.splitbelow = true -vim.o.splitright = true -vim.o.ttimeout = true -vim.o.ttimeoutlen = 50 -vim.o.updatetime = 100 -vim.o.autochdir = true -vim.o.backupdir = "/home/dln/.local/share/nvim/backup/" -vim.o.backup = true -vim.g.netrw_dirhistmax = 0 --- vim.o.clipboard = "unnamedplus" -vim.g.do_filetype_lua = 1 -vim.o.spell = false -vim.o.spelllang = "en_us" -vim.opt.winbar = nil +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here ---- Indent -vim.o.autoindent = true -vim.o.breakindent = true -vim.o.expandtab = true -vim.o.smartindent = true -vim.o.joinspaces = false -vim.o.listchars = "extends:›,precedes:‹,nbsp:·,tab:→ ,trail:·" -vim.wo.foldlevel = 99 -vim.wo.linebreak = true -vim.wo.list = true -vim.o.shiftwidth = 2 -vim.o.tabstop = 2 -vim.o.softtabstop = 2 +local opt = vim.opt ---- Search -vim.cmd("set path+=**") -vim.cmd("set wildignore+=/var/*,*.so,*.swp,*.zip,*.tar,*.pyc") -vim.o.ignorecase = true -vim.o.smartcase = true -vim.o.wildmode = "longest:full,full" +opt.relativenumber = false -if vim.fn.executable("rg") then - vim.o.grepprg = "rg --vimgrep --no-heading --smart-case" -end - ---- Completion -vim.cmd("set shortmess+=c") -vim.opt.completeopt = { "menuone", "noselect" } - ---- Appearance -vim.o.scrolloff = 7 -vim.o.showmode = false -vim.o.sidescrolloff = 5 -vim.o.termguicolors = true -vim.wo.cursorline = true -vim.wo.number = true -vim.wo.signcolumn = "yes" -vim.o.laststatus = 3 -vim.o.cmdheight = 1 --- vim.o.statusline = "═" --- vim.o.title = true --- vim.o.titlestring = "%F%m %r %y" vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" --- vim.wo.foldmethod = "expr" --- vim.wo.foldexpr = "nvim_treesitter#foldexpr()" -vim.g.netrw_dirhistmax = 0 - ---- Key mappings -vim.keymap.set("n", "<C-l>", ':let @/=""<CR>') -- clear search -vim.keymap.set("n", ",L", ":luafile %<CR>") -- Reload lua file - --- AutoCommand OSC7 workaround for tmux --- see https://github.com/neovim/neovim/issues/21771 -vim.api.nvim_create_autocmd("dirchanged", { - pattern = "*", - command = 'call chansend(v:stderr, printf("\\033]7;%s\\033", v:event.cwd))', -}) diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua deleted file mode 100644 index 6bb7800..0000000 --- a/.config/nvim/lua/plugins/cmp.lua +++ /dev/null @@ -1,47 +0,0 @@ -return { - "hrsh7th/nvim-cmp", - dependencies = { - "andersevenrud/cmp-tmux", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-emoji", - "hrsh7th/cmp-path", - "hrsh7th/cmp-cmdline", - "hrsh7th/cmp-nvim-lsp-signature-help", - "onsails/lspkind-nvim", - { "zbirenbaum/copilot-cmp", opts = {} }, - }, - event = "InsertEnter", - config = function() - local cmp = require("cmp") - - cmp.setup({ - formatting = { - format = require("lspkind").cmp_format(), - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - ["<Up>"] = cmp.mapping.select_prev_item(), - ["<Down>"] = cmp.mapping.select_next_item(), - ["<C-d>"] = cmp.mapping.scroll_docs(-2), - ["<C-u>"] = cmp.mapping.scroll_docs(2), - ["<C-e>"] = cmp.mapping.abort(), - ["<CR>"] = cmp.mapping.confirm({ select = false }), - ["<Tab>"] = cmp.mapping.confirm({ select = true }), - ["<C-Space>"] = cmp.mapping.complete(), - }), - - - sources = cmp.config.sources({ - { name = "nvim_lsp", priority = 3 }, - { name = "nvim_lsp_signature_help", priority = 10 }, - { name = "buffer", keyword_length = 3 }, - { name = "copilot" }, - { name = "emoji" }, - }), - }) - end, -} diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..d21cc98 --- /dev/null +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,80 @@ +return { + + { + "jesseleite/nvim-noirbuddy", + as = "noirbuddy", + lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + }, + + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "noirbuddy", + colorscheme = function() + require("noirbuddy").setup({ + preset = "slate", + styles = { + italic = true, + bold = true, + underline = true, + undercurl = true, + }, + colors = { + primary = "#FFECB3", + secondary = "#B0BEC5", + -- background = "#1d2229", + background = "#0d1219", + }, + }) + + local Color, colors, Group, groups, styles = require("colorbuddy").setup() + Color.new("string", "#D7CCC8") + Color.new("symbol", "#ECEFF1") + -- + Color.new("comment", "#E57373", nil, styles.italic) + Color.new("hlargs", "#FFF8E1") + + Color.new("illuminate_bg", "#112210") + Color.new("illuminate_fg", "#66FFEE") + + -- Color.new("search_bg", "#554411") + -- Color.new("search_fg", "#FFF0C0") + -- + Color.new("search_bg", "#223311") + Color.new("search_fg", "#CCFF33") + + Group.new("TelescopeTitle", colors.primary) + Group.new("TelescopeBorder", colors.secondary) + Group.new("@comment", colors.comment, nil, styles.italic) + Group.new("@string", colors.string, nil, styles.italic) + + Group.new("@keyword", colors.noir_2) + Group.new("@keyword.function", colors.noir_2) + Group.new("@keyword.return", colors.noir_1) + + Group.new("@operator", colors.noir_1) + Group.new("@keyword.operator", colors.noir_1) + -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) + Group.new("@type.builtin", colors.noir_2) + + Group.new("@variable", colors.symbol, nil, styles.italic) + Group.new("Hlargs", colors.hlargs, nil, styles.italic) + + Group.new("@function", colors.noir_1, nil, styles.bold) + Group.new("@method", colors.noir_1, nil, styles.bold) + + Group.new("@punctuation", colors.noir_4) + Group.new("@punctuation.bracket", colors.noir_4) + Group.new("@punctuation.delimiter", colors.noir_4) + + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) + Group.new("IncSearch", colors.search_fg, colors.search_bg) + end, + }, + }, +} diff --git a/.config/nvim/lua/plugins/copilot.lua b/.config/nvim/lua/plugins/copilot.lua index 24a6f6a..2e8f8aa 100644 --- a/.config/nvim/lua/plugins/copilot.lua +++ b/.config/nvim/lua/plugins/copilot.lua @@ -1,18 +1,6 @@ -local M = { +return { "zbirenbaum/copilot.lua", - event = { "VeryLazy" }, - dependencies = { - { - "zbirenbaum/copilot-cmp", - config = function() - require("copilot_cmp").setup() - end, - }, - }, -} - -function M.config() - require("copilot").setup({ + opts = { panel = { enabled = true, auto_refresh = false, @@ -48,7 +36,5 @@ function M.config() }, copilot_node_command = "node", -- Node version must be < 18 server_opts_overrides = {}, - }) -end - -return M + }, +} diff --git a/.config/nvim/lua/plugins/dap.lua b/.config/nvim/lua/plugins/dap.lua deleted file mode 100644 index c31328f..0000000 --- a/.config/nvim/lua/plugins/dap.lua +++ /dev/null @@ -1,53 +0,0 @@ -return { - "mfussenegger/nvim-dap", - dependencies = { - { - "theHamsta/nvim-dap-virtual-text", - config = function() - require("nvim-dap-virtual-text").setup({ - commented = true, - }) - end, - }, - { - "leoluz/nvim-dap-go", - config = function() - require("dap-go").setup() - end, - }, - }, - keys = { - { "DD", ":lua require'dap'.toggle_breakpoint()<cr>", desc = "Toggle Breakpoint" }, - { "Dc", ":lua require'dap'.continue()<cr>", desc = "Continue" }, - { "Di", ":lua require'dap'.step_into()<cr>", desc = "Step Into" }, - { "Do", ":lua require'dap'.step_over()<cr>", desc = "Step Over" }, - { "DO", ":lua require'dap'.step_out()<cr>", desc = "Step Out" }, - { "Dh", ":lua require'dap.ui.widgets'.hover()<cr>", desc = "Hover" }, - { "Dr", ":lua require'dap'.repl.toggle({height = 5})<cr>", desc = "Toogle Repl" }, - }, - config = function() - require("dap") - require("dap.ext.vscode").load_launchjs() - - vim.fn.sign_define( - "DapBreakpoint", - { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } - ) - vim.fn.sign_define( - "DapBreakpointCondition", - { text = "ﳁ", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } - ) - vim.fn.sign_define( - "DapBreakpointRejected", - { text = "", texthl = "DapBreakpoint", linehl = "DapBreakpoint", numhl = "DapBreakpoint" } - ) - vim.fn.sign_define( - "DapLogPoint", - { text = "", texthl = "DapLogPoint", linehl = "DapLogPoint", numhl = "DapLogPoint" } - ) - vim.fn.sign_define( - "DapStopped", - { text = "", texthl = "DapStopped", linehl = "DapStopped", numhl = "DapStopped" } - ) - end, -} diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..78a3370 --- /dev/null +++ b/.config/nvim/lua/plugins/example.lua @@ -0,0 +1,266 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- add symbols-outline + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, + config = true, + }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "<leader>fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add telescope-fzf-native + { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use <tab> for completion and snippets (supertab) + -- first: disable default <tab> and <s-tab> behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + ["<Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- this way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + ["<S-Tab>"] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/gitsigns.lua b/.config/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 779414a..0000000 --- a/.config/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,38 +0,0 @@ -local M = { - "lewis6991/gitsigns.nvim", -} - -function M.config() - require("gitsigns").setup({ - numhl = true, - signs = { - add = { hl = "GitSignsAdd", text = "▌", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" }, - change = { - hl = "GitSignsChange", - text = "▌", - numhl = "GitSignsChangeNr", - linehl = "GitSignsChangeLn", - }, - delete = { - hl = "GitSignsDelete", - text = "▖", - numhl = "GitSignsDeleteNr", - linehl = "GitSignsDeleteLn", - }, - topdelete = { - hl = "GitSignsDelete", - text = "▘", - numhl = "GitSignsDeleteNr", - linehl = "GitSignsDeleteLn", - }, - changedelete = { - hl = "GitSignsChange", - text = "~", - numhl = "GitSignsChangeNr", - linehl = "GitSignsChangeLn", - }, - }, - }) -end - -return M diff --git a/.config/nvim/lua/plugins/illuminate.lua b/.config/nvim/lua/plugins/illuminate.lua deleted file mode 100644 index bc4afcc..0000000 --- a/.config/nvim/lua/plugins/illuminate.lua +++ /dev/null @@ -1,9 +0,0 @@ -local M = { - "RRethy/vim-illuminate", - event = "BufReadPost", - config = function() - require("illuminate").configure({ delay = 200 }) - end, -} - -return M diff --git a/.config/nvim/lua/plugins/indent-blankline.lua b/.config/nvim/lua/plugins/indent-blankline.lua deleted file mode 100644 index b9f11e1..0000000 --- a/.config/nvim/lua/plugins/indent-blankline.lua +++ /dev/null @@ -1,44 +0,0 @@ -local M = { - "lukas-reineke/indent-blankline.nvim", - event = "BufReadPre", - config = { - buftype_exclude = { "terminal", "nofile" }, - filetype_exclude = { - "help", - "neogitstatus", - "NvimTree", - "neo-tree", - "Trouble", - }, - char = "│", - -- char = "┊", - char_highlight_list = { "Indent1", "Indent2", "Indent3", "Indent4", "Indent5", "Indent6" }, - use_treesitter_scope = false, - show_trailing_blankline_indent = false, - show_current_context = true, - context_patterns = { - "class", - "return", - "function", - "method", - "^if", - "^while", - "jsx_element", - "^for", - "^object", - "^table", - "block", - "arguments", - "if_statement", - "else_clause", - "jsx_element", - "jsx_self_closing_element", - "try_statement", - "catch_clause", - "import_statement", - "operation_type", - }, - }, -} - -return M diff --git a/.config/nvim/lua/plugins/lsp-config.lua b/.config/nvim/lua/plugins/lsp-config.lua deleted file mode 100644 index 089690f..0000000 --- a/.config/nvim/lua/plugins/lsp-config.lua +++ /dev/null @@ -1,241 +0,0 @@ -local M = { - "neovim/nvim-lspconfig", - event = "VeryLazy", -} - -function M.config() - local lspconfig = require("lspconfig") - - local capabilities = require("cmp_nvim_lsp").default_capabilities() - - vim.keymap.set("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>") - vim.keymap.set("i", "<C-k>", "<Cmd>lua vim.lsp.buf.signature_help()<CR>") - vim.keymap.set("n", "1gd", "<Cmd>lua vim.lsp.buf.type_definition()<CR>") - vim.keymap.set("n", "gf", "<Cmd>lua vim.lsp.buf.format()<CR>") - vim.keymap.set("n", "[d", "<Cmd>lua vim.lsp.diagnostic.goto_prev()<CR>") - vim.keymap.set("n", "]d", "<Cmd>lua vim.lsp.diagnostic.goto_next()<CR>") - vim.keymap.set("n", "gwa", "<Cmd>lua vim.lsp.buf.add_workspace_folder()<CR>") - vim.keymap.set("n", "gwr", "<Cmd>lua vim.lsp.buf.add_workspace_folder()<CR>") - vim.keymap.set("n", "gwl", "<Cmd>lua vim.lsp.buf.add_workspace_folder()<CR>") - - vim.cmd([[autocmd BufWritePre * lua vim.lsp.buf.format({sync = true})]]) - - local border = { - { "🭽", "FloatBorder" }, - { "▔", "FloatBorder" }, - { "🭾", "FloatBorder" }, - { "▕", "FloatBorder" }, - { "🭿", "FloatBorder" }, - { "▁", "FloatBorder" }, - { "🭼", "FloatBorder" }, - { "▏", "FloatBorder" }, - } - - vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = border }) - vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = border }) - vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(vim.lsp.diagnostic.on_publish_diagnostics, { - update_in_insert = false, - virtual_text = false, - }) - - local signs = { Error = "🔥", Warn = "⚠️ ", Hint = "💡", Info = "💡" } - for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) - end - - local function on_attach(client, bufnr) - require("nvim-navic").attach(client, bufnr) - end - - -- simple setups -- - local servers = { - "bashls", - "bufls", - "dockerls", - "gopls", - "jsonls", - -- "sql", - "pyright", - "lua_ls", - "terraformls", - "yamlls", - } - - for _, lsp in ipairs(servers) do - lspconfig[lsp].setup({ on_attach = on_attach }) - end - - local efm_prettier = { - formatCommand = "prettier --stdin-filepath ${INPUT}", - formatStdin = true, - } - - lspconfig.gopls.setup({ - on_attach = on_attach, - settings = { - gopls = { - directoryFilters = { - "-bazel-bin", - "-bazel-out", - "-bazel-testlogs", - "-proto", - }, - }, - }, - }) - - lspconfig.lua_ls.setup({ - on_attach = function(client, bufnr) - on_attach(client, bufnr) - vim.cmd([[autocmd BufWritePre <buffer> lua require'stylua-nvim'.format_file()]]) - end, - settings = { - Lua = { - completion = { kewordSnippet = "Disable" }, - diagnostics = { - enable = true, - globals = { "renoise", "use", "vim" }, - }, - runtime = { - version = "LuaJIT", - path = { "?.lua", "?/init.lua", "?/?.lua" }, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - maxPreload = 2000, - preloadFileSize = 1000, - checkThirdParty = false, - }, - }, - }, - }) - - lspconfig.terraformls.setup({}) - - local yaml_is_k8s = function(bufnr) - local lines = vim.api.nvim_buf_get_lines(bufnr, 0, 50, false) -- Stop after the first 50 lines - for _, l in pairs(lines) do - if string.find(l, "apiVersion") ~= nil then - return true - end - end - return false - end - - lspconfig.cssls.setup({ - cmd = { "vscode-css-languageserver", "--stdio" }, - capabilities = capabilities, - }) - - lspconfig.cssmodules_ls.setup({}) - - lspconfig.html.setup({ - cmd = { "vscode-html-languageserver", "--stdio" }, - filetypes = { "html" }, - init_options = { - configurationSection = { "html", "css", "javascript" }, - embeddedLanguages = { - css = true, - javascript = true, - }, - }, - settings = {}, - }) - - lspconfig.yamlls.setup({ - settings = { - yaml = { - format = { enable = true, singleQuote = true }, - schemaStore = { enable = true, url = "https://json.schemastore.org" }, - schemas = { - -- ["https://json.schemastore.org/github-workflow"] = "*.github/workflows/*", - ["https://json.schemastore.org/kustomization.json"] = "kustomization.yaml", - -- ["https://json.schemastore.org/ansible-role-2.9.json"] = "*/tasks/*.y*ml", - kubernetes = { - "clusterrolebinding.yaml", - "clusterrole-contour.yaml", - "clusterrole.yaml", - "configmap.yaml", - "cronjob.yaml", - "daemonset.yaml", - "deployment-*.yaml", - "deployment.yaml", - "*-deployment.yaml", - "hpa.yaml", - "ingress.yaml", - "job.yaml", - "namespace.yaml", - "pvc.yaml", - "rbac.yaml", - "rolebinding.yaml", - "role.yaml", - "sa.yaml", - "secret.yaml", - "serviceaccounts.yaml", - "service-account.yaml", - "serviceaccount.yaml", - "service-*.yaml", - "service.yaml", - "*-service.yaml", - "statefulset.yaml", - }, - }, - - validate = true, - }, - }, - }) - - require("lspconfig").tsserver.setup({ - root_dir = vim.loop.cwd, - }) - - -- npm install -g typescript typescript-language-server - -- require("lspconfig").tsserver.setup({ - -- on_attach = function(client, bufnr) - -- client.resolved_capabilities.document_formatting = false - -- on_attach(client) - - -- local ts_utils = require("nvim-lsp-ts-utils") - - -- ts_utils.setup({ - -- debug = false, - -- disable_commands = false, - -- enable_import_on_completion = false, - -- import_all_timeout = 5000, -- ms - - -- -- eslint - -- eslint_enable_code_actions = true, - -- eslint_enable_disable_comments = true, - -- eslint_bin = "eslint_d", - -- eslint_config_fallback = nil, - -- eslint_enable_diagnostics = true, - - -- -- formatting - -- enable_formatting = true, - -- formatter = "prettier", - -- formatter_config_fallback = nil, - - -- -- parentheses completion - -- complete_parens = false, - -- signature_help_in_parens = false, - - -- -- update imports on file move - -- update_imports_on_move = true, - -- require_confirmation_on_move = true, - -- watch_dir = nil, - -- }) - - -- ts_utils.setup_client(client) - - -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<Leader>co", ":TSLspOrganize<CR>", { silent = true }) - -- vim.api.nvim_buf_set_keymap(bufnr, "n", "qq", ":TSLspFixCurrent<CR>", { silent = true }) - -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<Leader>cR", ":TSLspRenameFile<CR>", { silent = true }) - -- vim.api.nvim_buf_set_keymap(bufnr, "n", "<Leader>ci", ":TSLspImportAll<CR>", { silent = true }) - -- end, - -- }) - -- -end - -return M diff --git a/.config/nvim/lua/plugins/lualine.lua b/.config/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 65f272c..0000000 --- a/.config/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,52 +0,0 @@ -local M = { - "nvim-lualine/lualine.nvim", - dependencies = { "kyazdani42/nvim-web-devicons" }, - event = "VeryLazy", -} - -local function clock() - return os.date("%H:%M") -end - -function M.config() - local lualine = require("lualine") - - lualine.setup({ - options = { - globalstatus = true, - theme = "onedark", - -- theme = "wombat", - component_separators = { left = "╲", right = "╱" }, - section_separators = { left = "", right = "" }, - }, - sections = { - lualine_a = { "hostname" }, - lualine_c = { - { - "filename", - path = 1, - file_status = true, - }, - { - function() - local navic = require("nvim-navic") - local ret = navic.get_location() - return ret:len() > 2000 and "navic error" or ret - end, - cond = function() - if package.loaded["nvim-navic"] then - local navic = require("nvim-navic") - return navic.is_available() - end - end, - color = { fg = "#ff8f00" }, - }, - }, - lualine_x = { "filetype" }, - lualine_y = { "location" }, - lualine_z = { clock }, - }, - }) -end - -return M diff --git a/.config/nvim/lua/plugins/marks.lua b/.config/nvim/lua/plugins/marks.lua deleted file mode 100644 index 6226ae3..0000000 --- a/.config/nvim/lua/plugins/marks.lua +++ /dev/null @@ -1,37 +0,0 @@ -local M = { - "chentoast/marks.nvim", - event = "VeryLazy", -} - -function M.config() - local marks = require("marks") - marks.setup({ - - default_mappings = true, - -- which builtin marks to show. default {} - -- builtin_marks = { ".", "<", ">", "^" }, - - cyclic = true, - force_write_shada = false, - - -- marks, and bookmarks. - -- can be either a table with all/none of the keys, or a single number, in which case - -- the priority applies to all marks. - -- default 10. - -- sign_priority = { lower=10, upper=15, builtin=8, bookmark=20 }, - -- - -- disables mark tracking for specific filetypes. default {} - excluded_filetypes = {}, - - -- marks.nvim allows you to configure up to 10 bookmark groups, each with its own - -- sign/virttext. Bookmarks can be used to group together positions and quickly move - -- across multiple buffers. default sign is '!@#$%^&*()' (from 0 to 9), and - -- default virt_text is "". - bookmark_1 = { - sign = "⚑", - virt_text = "", - }, - }) -end - -return M diff --git a/.config/nvim/lua/plugins/misc.lua b/.config/nvim/lua/plugins/misc.lua deleted file mode 100644 index 2740b3d..0000000 --- a/.config/nvim/lua/plugins/misc.lua +++ /dev/null @@ -1,197 +0,0 @@ -return { - - "tjdevries/colorbuddy.vim", - "wbthomason/packer.nvim", - "jose-elias-alvarez/nvim-lsp-ts-utils", - "jjo/vim-cue", - "ckipp01/stylua-nvim", - - { - "jesseleite/nvim-noirbuddy", - dependencies = { "tjdevries/colorbuddy.nvim" }, - config = function() - require("noirbuddy").setup({ - styles = { - italic = true, - bold = true, - underline = true, - undercurl = true, - }, - colors = { - primary = "#FFECB3", - secondary = "#B0BEC5", - -- background = "#1d2229", - background = "#0d1219", - }, - }) - local Color, colors, Group, groups, styles = require("colorbuddy").setup() - Color.new("string", "#D7CCC8") - Color.new("symbol", "#ECEFF1") - - Color.new("comment", "#E57373") - Color.new("hlargs", "#FFF8E1") - - Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#66FFEE") - - -- Color.new("search_bg", "#554411") - -- Color.new("search_fg", "#FFF0C0") - -- - Color.new("search_bg", "#223311") - Color.new("search_fg", "#CCFF33") - - Group.new("TelescopeTitle", colors.primary) - Group.new("TelescopeBorder", colors.secondary) - Group.new("@comment", colors.comment, nil, styles.bold + styles.italic) - Group.new("@string", colors.string, nil, styles.italic) - - Group.new("@keyword", colors.noir_2) - Group.new("@keyword.function", colors.noir_2) - Group.new("@keyword.return", colors.noir_1) - - Group.new("@operator", colors.noir_1) - Group.new("@keyword.operator", colors.noir_1) - -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) - Group.new("@type.builtin", colors.noir_2) - - Group.new("@variable", colors.symbol, nil, styles.italic) - Group.new("Hlargs", colors.hlargs, nil, styles.italic) - - Group.new("@function", colors.noir_1, nil, styles.bold) - Group.new("@method", colors.noir_1, nil, styles.bold) - - Group.new("@punctuation", colors.noir_4) - Group.new("@punctuation.bracket", colors.noir_4) - Group.new("@punctuation.delimiter", colors.noir_4) - - Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) - - Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) - Group.new("IncSearch", colors.search_fg, colors.search_bg) - end, - }, - - { - "lukas-reineke/headlines.nvim", - -- config = { - -- ft = { "go" }, - -- go = { - -- query = vim.treesitter.parse_query( - -- "go", - -- [[ - -- (function_declaration @headline) - -- ]] - -- ), - -- -- treesitter_language = "go", - -- }, - -- }, - }, - - { - "m-demare/hlargs.nvim", - event = "VeryLazy", - enabled = true, - config = { - excluded_argnames = { - usages = { - lua = { "self", "use" }, - }, - }, - }, - }, - - { - "folke/trouble.nvim", - cmd = { "TroubleToggle", "Trouble" }, - config = { - auto_open = false, - use_diagnostic_signs = true, - }, - keys = { - { "<leader>xx", "<cmd>TroubleToggle<cr>" }, - { "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>" }, - { "<leader>xd", "<cmd>TroubleToggle document_diagnostics<cr>" }, - { "<leader>xl", "<cmd>TroubleToggle loclist<cr>" }, - { "<leader>xq", "<cmd>TroubleToggle quickfix<cr>" }, - { "gR", "<cmd>TroubleToggle lsp_references<cr>" }, - }, - }, - - { - "danymat/neogen", - keys = { - { - "<leader>cc", - function() - require("neogen").generate({}) - end, - desc = "Neogen Comment", - }, - }, - opts = { snippet_engine = "luasnip" }, - }, - - { - "smjonas/inc-rename.nvim", - cmd = "IncRename", - config = true, - keys = { - { "<Leader>rn", ":IncRename " }, - }, - }, - - { - "SmiteshP/nvim-navic", - config = function() - vim.g.navic_silence = true - require("nvim-navic").setup({ separator = " ", highlight = true, depth_limit = 5 }) - end, - }, - - { - "numToStr/Comment.nvim", - keys = { - { "<C-_>", "<Plug>(comment_toggle_linewise_current)" }, - { "<C-_>", "<Plug>(comment_toggle_linewise_visual)", mode = "v" }, - }, - dependencies = { - "JoosepAlviste/nvim-ts-context-commentstring", - }, - config = function() - require("Comment").setup({ - pre_hook = require("ts_context_commentstring.integrations.comment_nvim").create_pre_hook(), - }) - end, - }, - - { - "ray-x/go.nvim", - config = function() - require("go").setup({ - comment_placeholder = "", - icons = { breakpoint = "🧘", currentpos = "🏃" }, - dap_debug_gui = false, - }) - vim.cmd("autocmd FileType go nmap <Leader>c :lua require('go.comment').gen()<cr>") - vim.cmd("autocmd BufWritePre *.go :silent! lua require('go.format').gofmt()") - vim.cmd("autocmd BufWritePre (InsertLeave?) <buffer> lua vim.lsp.buf.formatting_sync(nil,500)") - end, - }, - - { - "onsails/lspkind-nvim", - config = function() - require("lspkind").init({}) - end, - }, - - -- { - -- url = "https://git.sr.ht/~whynothugo/lsp_lines.nvim", - -- config = function() - -- require("lsp_lines").setup() - -- vim.diagnostic.config({ - -- virtual_text = false, - -- }) - -- end, - -- }, -} diff --git a/.config/nvim/lua/plugins/noice.lua b/.config/nvim/lua/plugins/noice.lua deleted file mode 100644 index 7d49f14..0000000 --- a/.config/nvim/lua/plugins/noice.lua +++ /dev/null @@ -1,19 +0,0 @@ -local M = { - "folke/noice.nvim", - event = "VeryLazy", - dependencies = { - "MunifTanjim/nui.nvim", - }, -} - -function M.config() - require("noice").setup({ - presets = { - inc_rename = true, - long_message_to_split = true, - lsp_doc_border = true, - }, - }) -end - -return M diff --git a/.config/nvim/lua/plugins/null-ls.lua b/.config/nvim/lua/plugins/null-ls.lua deleted file mode 100644 index a3f21d4..0000000 --- a/.config/nvim/lua/plugins/null-ls.lua +++ /dev/null @@ -1,44 +0,0 @@ -local M = { - "jose-elias-alvarez/null-ls.nvim", - dependencies = { "nvim-lua/plenary.nvim" }, -} - -function M.config() - local null_ls = require("null-ls") - local builtins = require("null-ls.builtins") - - null_ls.setup({ - sources = { - builtins.code_actions.eslint_d, - - builtins.completion.spell, - - builtins.diagnostics.buf.with({ - args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, - cwd = function() - local file_dir = vim.fn.expand("%:p:h") .. ";" - local buf_yaml = vim.fn.findfile("buf.yaml", file_dir) - if buf_yaml then - return vim.fn.fnamemodify(buf_yaml, ":h") - end - end, - }), - builtins.diagnostics.buildifier, - builtins.diagnostics.cue_fmt, - builtins.diagnostics.eslint_d, - builtins.diagnostics.golangci_lint, - - builtins.formatting.black, - builtins.formatting.buf, - builtins.formatting.buildifier, - builtins.formatting.cue_fmt, - builtins.formatting.prettierd, - builtins.formatting.shfmt, - builtins.formatting.sqlfluff, - builtins.formatting.stylua, - }, - debug = true, - }) -end - -return M diff --git a/.config/nvim/lua/plugins/osc52.lua b/.config/nvim/lua/plugins/osc52.lua deleted file mode 100644 index b788cde..0000000 --- a/.config/nvim/lua/plugins/osc52.lua +++ /dev/null @@ -1,18 +0,0 @@ -local M = { - "ojroques/nvim-osc52", -} - -function M.config() - local osc52 = require("osc52") - osc52.setup({ - max_length = 0, -- Maximum length of selection (0 for no limit) - silent = false, -- Disable message on successful copy - trim = false, -- Trim text before copy - }) - - vim.keymap.set("n", "<leader>c", require("osc52").copy_operator, { expr = true }) - vim.keymap.set("n", "<leader>cc", "<leader>c_", { remap = true }) - vim.keymap.set("x", "<leader>c", require("osc52").copy_visual) -end - -return M diff --git a/.config/nvim/lua/plugins/shelman-theme.lua b/.config/nvim/lua/plugins/shelman-theme.lua deleted file mode 100644 index 112653e..0000000 --- a/.config/nvim/lua/plugins/shelman-theme.lua +++ /dev/null @@ -1,11 +0,0 @@ -return {} --- return { --- name = "shelman-theme", --- dir = "~/.config/shelman-theme/current/neovim", --- dev = true, --- lazy = false, --- priority = 1000, --- config = function() --- vim.cmd([[colorscheme shelman]]) --- end, --- } diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 1810ff3..0000000 --- a/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,112 +0,0 @@ -local function project_files() - require("telescope.builtin").find_files({ - cwd = require("lspconfig.util").root_pattern(".git")(vim.fn.expand("%:p")), - }) -end - -local M = { - "nvim-telescope/telescope.nvim", - lazy = false, - dependencies = { - "nvim-lua/popup.nvim", - "nvim-lua/plenary.nvim", - "nvim-telescope/telescope-fzy-native.nvim", - "nvim-telescope/telescope-github.nvim", - "nvim-telescope/telescope-dap.nvim", - "nvim-telescope/telescope-ui-select.nvim", - }, -} - -function M.config() - local telescope = require("telescope") - local actions = require("telescope.actions") - local previewers = require("telescope.previewers") - - vim.keymap.set("n", "<leader>b", '<cmd>lua require("telescope.builtin").buffers()<CR>') - vim.keymap.set("n", "<leader>f", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') - vim.keymap.set("n", "<space>", '<cmd>lua require("telescope.builtin").oldfiles()<CR>') - vim.keymap.set("n", "<leader><space>", '<cmd>lua require("telescope.builtin").oldfiles({cwd_only=true})<CR>') - vim.keymap.set("n", "<leader>d", '<cmd>lua require("telescope.builtin").diagnostics({bufnr=0})<CR>') - vim.keymap.set("n", "<leader>e", '<cmd>lua require("telescope.builtin").git_files()<CR>') - vim.keymap.set("n", "<leader>g", '<cmd>lua require("telescope.builtin").git_status()<CR>') - vim.keymap.set("n", "<leader>a", '<cmd>lua require("telescope.builtin").lsp_code_actions()<CR>') - vim.keymap.set("n", "<leader>m", '<cmd>lua require("telescope.builtin").marks()<CR>') - vim.keymap.set("n", "<leader>s", '<cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>') - vim.keymap.set("n", "<leader>S", '<cmd>lua require("telescope.builtin").lsp_dynamic_workspace_symbols()<CR>') - vim.keymap.set("n", "<leader>t", '<cmd>lua require("telescope.builtin").treesitter()<CR>') - vim.keymap.set("n", "<leader>/", '<cmd>lua require("telescope.builtin").live_grep()<CR>') - vim.keymap.set("n", "<leader>.", '<cmd>lua require("telescope.builtin").file_browser()<CR>') - vim.keymap.set("n", "<leader>p", '<cmd>lua require("telescope.builtin").registers()<CR>') - vim.keymap.set("n", "ga", "<cmd>lua vim.lsp.buf.code_action()<CR>") - vim.keymap.set("n", "gr", '<cmd>lua require("telescope.builtin").lsp_references()<CR>') - vim.keymap.set("n", "gd", '<cmd>lua require("telescope.builtin").lsp_definitions()<CR>') - vim.keymap.set("n", "gi", '<cmd>lua require("telescope.builtin").lsp_implementations()<CR>') - vim.keymap.set("n", "g/", '<cmd>lua require("telescope.builtin").lsp_document_symbols()<CR>') - vim.keymap.set( - "n", - "g?", - '<cmd>lua require("telescope.builtin").lsp_workspace_symbols({query=(vim.bo.filetype == "go" and "\'" or "")})<CR>' - ) - vim.keymap.set("n", "ge", '<cmd>lua require("telescope.builtin").lsp_document_diagnostics()<CR>') - vim.keymap.set("n", "Db", '<cmd>lua require("telescope").extensions.dap.list_breakpoints()<CR>') - vim.keymap.set("n", "Dcc", '<cmd>lua require("telescope").extensions.dap.commands()<CR>') - vim.keymap.set("n", "Df", '<cmd>lua require("telescope").extensions.dap.frames()<CR>') - vim.keymap.set("n", "Dv", '<cmd>lua require("telescope").extensions.dap.variables()<CR>') - - -- Setup - telescope.setup({ - defaults = { - layout_strategy = "flex", - -- layout_defaults = {flip_columns = 160}, - layout_config = { - preview_cutoff = 10, - prompt_position = "bottom", - mirror = true, - }, - mappings = { - i = { - ["<CR>"] = actions.select_default + actions.center, - ["<esc>"] = actions.close, - ["<tab>"] = actions.add_selection, - }, - }, - color_devicons = true, - file_previewer = previewers.vim_buffer_cat.new, - grep_previewer = previewers.vim_buffer_vimgrep.new, - qflist_previewer = previewers.vim_buffer_qflist.new, - }, - extensions = { - ["ui-select"] = { - require("telescope.themes").get_dropdown({ - -- even more opts - }), - }, - }, - }) - - local layout_strategies = require("telescope.pickers.layout_strategies") - local config = require("telescope.config") - - layout_strategies.flex = function(self, max_columns, max_lines) - local layout_config = self.layout_config or {} - - local flip_columns = layout_config.flip_columns or 160 -- Here's why. - local flip_lines = layout_config.flip_lines or 20 - - if max_columns < flip_columns and max_lines > flip_lines then - self.layout_config = (config.values.layout_defaults or {})["vertical"] - return layout_strategies.vertical(self, max_columns, max_lines) - else - self.layout_config = (config.values.layout_defaults or {})["horizontal"] - return layout_strategies.horizontal(self, max_columns, max_lines) - end - end - - -- Extensions - telescope.load_extension("dap") - telescope.load_extension("fzy_native") - telescope.load_extension("gh") - telescope.load_extension("ui-select") -end - -return M diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua deleted file mode 100644 index 7ec330a..0000000 --- a/.config/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,130 +0,0 @@ -return { - { "nvim-treesitter/playground", cmd = "TSPlaygroundToggle" }, - - { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - event = "BufReadPost", - dependencies = { - "nvim-treesitter/nvim-treesitter-textobjects", - "windwp/nvim-ts-autotag", - }, - config = function() - require("nvim-treesitter.configs").setup({ - ensure_installed = { - "bash", - "c", - "cmake", - "cpp", - "css", - "diff", - "dockerfile", - "gdscript", - "git_rebase", - "gitcommit", - "gitignore", - "go", - "gomod", - "graphql", - "help", - "hcl", - "html", - "http", - "java", - "javascript", - "jsdoc", - "json", - "jsonc", - "kotlin", - "latex", - "lua", - "make", - "markdown", - "markdown_inline", - "meson", - "ninja", - "php", - "proto", - "python", - "query", - "regex", - "rego", - "rust", - "scss", - "sql", - "svelte", - "teal", - "toml", - "tsx", - "typescript", - "vhs", - "vim", - "vue", - "wgsl", - "yaml", - "zig", - }, - highlight = { - enable = true, - use_languagetree = true, - }, - indent = { - enable = false, - }, - context_commentstring = { enable = true, enable_autocmd = false }, - playground = { - enable = true, - disable = {}, - updatetime = 25, - persist_queries = false, - }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = "ss", - node_incremental = "sq", - scope_incremental = "sd", - node_decremental = "sa", - }, - }, - query_linter = { - enable = true, - use_virtual_text = true, - lint_events = { "BufWrite", "CursorHold" }, - }, - textobjects = { - move = { - enable = true, - goto_next_start = { - ["]]"] = "@function.outer", - ["]m"] = "@class.outer", - }, - goto_next_end = { - ["]["] = "@function.outer", - ["]M"] = "@class.outer", - }, - goto_previous_start = { - ["[["] = "@function.outer", - ["[m"] = "@class.outer", - }, - goto_previous_end = { - ["[]"] = "@function.outer", - ["[M"] = "@class.outer", - }, - }, - select = { - enable = true, - keymaps = { - ["uc"] = "@comment.outer", - }, - }, - }, - --- nvim-ts-autotag --- - autotag = { - enable = true, - filetypes = { "html", "javascriptreact", "xml" }, - }, - }) - end, - }, -} From 251539979eac45798caa0daa2263250be96367a7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 18 Sep 2023 00:45:46 +0200 Subject: [PATCH 130/656] nvim: yaml schema goodness --- .config/nvim/lua/config/lazy.lua | 78 +++++++++++++++---------------- .config/nvim/lua/plugins/yaml.lua | 25 ++++++++++ 2 files changed, 64 insertions(+), 39 deletions(-) create mode 100644 .config/nvim/lua/plugins/yaml.lua diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 5f07074..cf0f003 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -7,43 +7,43 @@ end vim.opt.rtp:prepend(vim.env.LAZY or lazypath) require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import any extras modules here - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.coding.copilot" }, - { import = "lazyvim.plugins.extras.lang.go" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "lazyvim.plugins.extras.lang.yaml" }, - -- import/override with your plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - }, - install = { colorscheme = { "noirbuddy", "tokyonight", "habamax" } }, - checker = { enabled = true }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.lang.go" }, + { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.yaml" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "noirbuddy", "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, }) diff --git a/.config/nvim/lua/plugins/yaml.lua b/.config/nvim/lua/plugins/yaml.lua new file mode 100644 index 0000000..d14f2a4 --- /dev/null +++ b/.config/nvim/lua/plugins/yaml.lua @@ -0,0 +1,25 @@ +return { + { + "someone-stole-my-name/yaml-companion.nvim", + dependencies = { + { "neovim/nvim-lspconfig" }, + { "nvim-lua/plenary.nvim" }, + { "nvim-telescope/telescope.nvim" }, + }, + config = function() + require("yaml-companion").setup() + require("telescope").load_extension("yaml_schema") + local cfg = require("yaml-companion").setup({ + -- Add any options here, or leave empty to use the default settings + -- Additional schemas available in Telescope picker + schemas = { + { + name = "Kubernetes 1.25.9", + uri = "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.25.9-standalone-strict/all.json", + }, + }, + }) + require("lspconfig")["yamlls"].setup(cfg) + end, + }, +} From 206b5ee00641a7a53de5285c8f68340d13fee56b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 18 Sep 2023 13:53:33 +0200 Subject: [PATCH 131/656] nvim: pretty indent colors --- .config/nvim/lua/plugins/colorscheme.lua | 149 +++++++------ .config/nvim/lua/plugins/example.lua | 266 ----------------------- .config/nvim/lua/plugins/ui.lua | 19 ++ 3 files changed, 103 insertions(+), 331 deletions(-) delete mode 100644 .config/nvim/lua/plugins/example.lua create mode 100644 .config/nvim/lua/plugins/ui.lua diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index d21cc98..41daa47 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,80 +1,99 @@ return { - { - "jesseleite/nvim-noirbuddy", - as = "noirbuddy", - lazy = false, - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - }, + { + "jesseleite/nvim-noirbuddy", + as = "noirbuddy", + lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + }, - { - "LazyVim/LazyVim", - opts = { - -- colorscheme = "noirbuddy", - colorscheme = function() - require("noirbuddy").setup({ - preset = "slate", - styles = { - italic = true, - bold = true, - underline = true, - undercurl = true, - }, - colors = { - primary = "#FFECB3", - secondary = "#B0BEC5", - -- background = "#1d2229", - background = "#0d1219", - }, - }) + { + "LazyVim/LazyVim", + opts = { + -- colorscheme = "noirbuddy", + colorscheme = function() + require("noirbuddy").setup({ + preset = "slate", + styles = { + italic = true, + bold = true, + underline = true, + undercurl = true, + }, + colors = { + primary = "#FFECB3", + secondary = "#B0BEC5", + -- background = "#1d2229", + background = "#0d1219", + }, + }) - local Color, colors, Group, groups, styles = require("colorbuddy").setup() - Color.new("string", "#D7CCC8") - Color.new("symbol", "#ECEFF1") - -- - Color.new("comment", "#E57373", nil, styles.italic) - Color.new("hlargs", "#FFF8E1") + local Color, colors, Group, groups, styles = require("colorbuddy").setup() + Color.new("string", "#D7CCC8") + Color.new("symbol", "#ECEFF1") + -- + Color.new("comment", "#E57373", nil, styles.italic) + Color.new("hlargs", "#FFF8E1") - Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#66FFEE") + Color.new("illuminate_bg", "#112210") + Color.new("illuminate_fg", "#66FFEE") - -- Color.new("search_bg", "#554411") - -- Color.new("search_fg", "#FFF0C0") - -- - Color.new("search_bg", "#223311") - Color.new("search_fg", "#CCFF33") + -- Color.new("search_bg", "#554411") + -- Color.new("search_fg", "#FFF0C0") + -- + Color.new("search_bg", "#223311") + Color.new("search_fg", "#CCFF33") - Group.new("TelescopeTitle", colors.primary) - Group.new("TelescopeBorder", colors.secondary) - Group.new("@comment", colors.comment, nil, styles.italic) - Group.new("@string", colors.string, nil, styles.italic) + Color.new("IndentBlanklineIndent5", "#E06C75", styles.nocombine) + Color.new("IndentBlanklineIndent6", "#E5C07B", styles.nocombine) + Color.new("IndentBlanklineIndent3", "#98C379", styles.nocombine) + Color.new("IndentBlanklineIndent4", "#56B6C2", styles.nocombine) + Color.new("IndentBlanklineIndent1", "#61AFEF", styles.nocombine) + Color.new("IndentBlanklineIndent2", "#C678DD", styles.nocombine) + Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent1:dark(0.2)) + Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent2:dark(0.2)) + Group.new("IndentBlanklineIndent3", colors.IndentBlanklineIndent3:dark(0.2)) + Group.new("IndentBlanklineIndent4", colors.IndentBlanklineIndent4:dark(0.2)) + Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent5:dark(0.2)) + Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent6:dark(0.2)) - Group.new("@keyword", colors.noir_2) - Group.new("@keyword.function", colors.noir_2) - Group.new("@keyword.return", colors.noir_1) + Color.new("IndentBlanklineContextChar", "#00AABB", styles.nocombine) + Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) - Group.new("@operator", colors.noir_1) - Group.new("@keyword.operator", colors.noir_1) - -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) - Group.new("@type.builtin", colors.noir_2) + Color.new("MiniIndentscopeSymbol", "#57FAF0") + Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - Group.new("@variable", colors.symbol, nil, styles.italic) - Group.new("Hlargs", colors.hlargs, nil, styles.italic) + Group.new("TelescopeTitle", colors.primary) + Group.new("TelescopeBorder", colors.secondary) + Group.new("@comment", colors.comment, nil, styles.italic) + Group.new("@string", colors.string, nil, styles.italic) - Group.new("@function", colors.noir_1, nil, styles.bold) - Group.new("@method", colors.noir_1, nil, styles.bold) + Group.new("@keyword", colors.noir_2) + Group.new("@keyword.function", colors.noir_2) + Group.new("@keyword.return", colors.noir_1) - Group.new("@punctuation", colors.noir_4) - Group.new("@punctuation.bracket", colors.noir_4) - Group.new("@punctuation.delimiter", colors.noir_4) + Group.new("@operator", colors.noir_1) + Group.new("@keyword.operator", colors.noir_1) + -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) + Group.new("@type.builtin", colors.noir_2) - Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + Group.new("@variable", colors.symbol, nil, styles.italic) + Group.new("Hlargs", colors.hlargs, nil, styles.italic) - Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) - Group.new("IncSearch", colors.search_fg, colors.search_bg) - end, - }, - }, + Group.new("@function", colors.noir_1, nil, styles.bold) + Group.new("@method", colors.noir_1, nil, styles.bold) + + Group.new("@punctuation", colors.noir_4) + Group.new("@punctuation.bracket", colors.noir_4) + Group.new("@punctuation.delimiter", colors.noir_4) + + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) + Group.new("IncSearch", colors.search_fg, colors.search_bg) + end, + }, + }, } diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua deleted file mode 100644 index 78a3370..0000000 --- a/.config/nvim/lua/plugins/example.lua +++ /dev/null @@ -1,266 +0,0 @@ --- since this is just an example spec, don't actually load anything here and return an empty spec --- stylua: ignore -if true then return {} end - --- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim --- --- In your plugin files, you can: --- * add extra plugins --- * disable/enabled LazyVim plugins --- * override the configuration of LazyVim plugins -return { - -- add gruvbox - { "ellisonleao/gruvbox.nvim" }, - - -- Configure LazyVim to load gruvbox - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - }, - - -- change trouble config - { - "folke/trouble.nvim", - -- opts will be merged with the parent spec - opts = { use_diagnostic_signs = true }, - }, - - -- disable trouble - { "folke/trouble.nvim", enabled = false }, - - -- add symbols-outline - { - "simrat39/symbols-outline.nvim", - cmd = "SymbolsOutline", - keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, - config = true, - }, - - -- override nvim-cmp and add cmp-emoji - { - "hrsh7th/nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local cmp = require("cmp") - opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) - end, - }, - - -- change some telescope options and a keymap to browse plugin files - { - "nvim-telescope/telescope.nvim", - keys = { - -- add a keymap to browse plugin files - -- stylua: ignore - { - "<leader>fp", - function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, - desc = "Find Plugin File", - }, - }, - -- change some options - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { prompt_position = "top" }, - sorting_strategy = "ascending", - winblend = 0, - }, - }, - }, - - -- add telescope-fzf-native - { - "telescope.nvim", - dependencies = { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make", - config = function() - require("telescope").load_extension("fzf") - end, - }, - }, - - -- add pyright to lspconfig - { - "neovim/nvim-lspconfig", - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- pyright will be automatically installed with mason and loaded with lspconfig - pyright = {}, - }, - }, - }, - - -- add tsserver and setup with typescript.nvim instead of lspconfig - { - "neovim/nvim-lspconfig", - dependencies = { - "jose-elias-alvarez/typescript.nvim", - init = function() - require("lazyvim.util").on_attach(function(_, buffer) - -- stylua: ignore - vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) - vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) - end) - end, - }, - ---@class PluginLspOpts - opts = { - ---@type lspconfig.options - servers = { - -- tsserver will be automatically installed with mason and loaded with lspconfig - tsserver = {}, - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> - setup = { - -- example to setup with typescript.nvim - tsserver = function(_, opts) - require("typescript").setup({ server = opts }) - return true - end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, - }, - - -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, - -- treesitter, mason and typescript.nvim. So instead of the above, you can use: - { import = "lazyvim.plugins.extras.lang.typescript" }, - - -- add more treesitter parsers - { - "nvim-treesitter/nvim-treesitter", - opts = { - ensure_installed = { - "bash", - "html", - "javascript", - "json", - "lua", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "tsx", - "typescript", - "vim", - "yaml", - }, - }, - }, - - -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above - -- would overwrite `ensure_installed` with the new value. - -- If you'd rather extend the default config, use the code below instead: - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - -- add tsx and treesitter - vim.list_extend(opts.ensure_installed, { - "tsx", - "typescript", - }) - end, - }, - - -- the opts function can also be used to change the default opts: - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function(_, opts) - table.insert(opts.sections.lualine_x, "😄") - end, - }, - - -- or you can return new options to override all the defaults - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - opts = function() - return { - --[[add your custom lualine config here]] - } - end, - }, - - -- use mini.starter instead of alpha - { import = "lazyvim.plugins.extras.ui.mini-starter" }, - - -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc - { import = "lazyvim.plugins.extras.lang.json" }, - - -- add any tools you want to have installed below - { - "williamboman/mason.nvim", - opts = { - ensure_installed = { - "stylua", - "shellcheck", - "shfmt", - "flake8", - }, - }, - }, - - -- Use <tab> for completion and snippets (supertab) - -- first: disable default <tab> and <s-tab> behavior in LuaSnip - { - "L3MON4D3/LuaSnip", - keys = function() - return {} - end, - }, - -- then: setup supertab in cmp - { - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", - }, - ---@param opts cmp.ConfigSchema - opts = function(_, opts) - local has_words_before = function() - unpack = unpack or table.unpack - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - local luasnip = require("luasnip") - local cmp = require("cmp") - - opts.mapping = vim.tbl_extend("force", opts.mapping, { - ["<Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() - -- this way you will only jump inside the snippet region - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end, { "i", "s" }), - ["<S-Tab>"] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }) - end, - }, -} diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua new file mode 100644 index 0000000..8dacbc2 --- /dev/null +++ b/.config/nvim/lua/plugins/ui.lua @@ -0,0 +1,19 @@ +return { + { + "lukas-reineke/indent-blankline.nvim", + opts = { + char = "┊", + char_highlight_list = { + "IndentBlanklineIndent1", + "IndentBlanklineIndent2", + "IndentBlanklineIndent3", + "IndentBlanklineIndent4", + "IndentBlanklineIndent5", + "IndentBlanklineIndent6", + }, + show_current_context = true, + show_current_context_start = false, + context_char = "│", + }, + }, +} From 4e111c7a407cee510c91c4dae2f0e29c7d9af165 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 20 Sep 2023 12:25:15 +0200 Subject: [PATCH 132/656] nvim: onward with colors! --- .config/nvim/lazy-lock.json | 27 ++++++----- .config/nvim/lua/config/options.lua | 4 ++ .config/nvim/lua/plugins/colorscheme.lua | 60 ++++++++++++++++++++++-- 3 files changed, 75 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index de433ee..faac63c 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" }, - "LuaSnip": { "branch": "master", "commit": "3657c3f3cb2214a681fc7e95b6ffb509d076ebfb" }, - "SchemaStore.nvim": { "branch": "main", "commit": "2a6a5d3e2bc8a5727b6d083d2920d12a392ed05b" }, + "LuaSnip": { "branch": "master", "commit": "8efa4e402a24df6a4713a2ec653147c49e8f73de" }, + "SchemaStore.nvim": { "branch": "main", "commit": "57b379a6f521eca8e955283c2886b6261c4e14e8" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, - "bufferline.nvim": { "branch": "main", "commit": "9961d87bb3ec008213c46ba14b3f384a5f520eb5" }, + "bufferline.nvim": { "branch": "main", "commit": "81cd04fe7c914d020d331cea1e707da5f14c2665" }, "catppuccin": { "branch": "main", "commit": "85e93601e0f0b48aa2c6bbfae4d0e9d7a1898280" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, @@ -13,13 +13,13 @@ "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "2c942f33ba5c621c906e625e00a1bb504b65e2f0" }, "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, - "flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, + "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "907ae8636016aab2f283576fc60d46ca3427e579" }, + "gitsigns.nvim": { "branch": "main", "commit": "bce4576a9047085a528c479a7fe1e2f6b787b6c1" }, "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f014db32437aa61c86fc0ef1067cd2bc6a37205c" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, @@ -28,29 +28,30 @@ "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "2d89ca96e08eb6e9c8e50e1bb4738bc5125c9f12" }, - "neoconf.nvim": { "branch": "main", "commit": "a4eb3675cb87be2e2dcb283dddc8c7aabd2c50ca" }, - "neodev.nvim": { "branch": "main", "commit": "471324e6c746284dbbdc1d357799d1911bb7e120" }, + "neoconf.nvim": { "branch": "main", "commit": "b7cde4ba41eabf9bec9464c990bcf84a0fef4526" }, + "neodev.nvim": { "branch": "main", "commit": "53673d03258a4e4c49ab6ed621820510ac17e052" }, "noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "cc388d3f6b9c7c943ae2b2dcd46ad470fd257f91" }, - "nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, + "nvim-lspconfig": { "branch": "master", "commit": "f3195835c0447ee2c80152b893ab51ca162b04a9" }, + "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "9dd3e07609c5b74c5ac4193d0ce4fe91fb406fea" }, + "nvim-treesitter": { "branch": "master", "commit": "c29d973c40f42fdf9823c2756c330fe7c8f7ca80" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, "nvim-web-devicons": { "branch": "master", "commit": "973ab742f143a796a779af4d786ec409116a0d87" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, - "telescope.nvim": { "branch": "master", "commit": "b543aaa2c9cf8123ed2fe7dbb6c211a9cd415124" }, + "telescope.nvim": { "branch": "master", "commit": "40c8d2fc2b729dd442eda093cf8c9496d6e23732" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "vim-illuminate": { "branch": "master", "commit": "8c910b2f84ae6acd9b4b17330bb94dd783c0c11a" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" } + "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, + "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 65826c7..0b15b1b 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -5,5 +5,9 @@ local opt = vim.opt opt.relativenumber = false +opt.clipboard = "" vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" +vim.o.autochdir = true +vim.o.updatetime = 100 +vim.g.do_filetype_lua = 1 diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 41daa47..a7a391e 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -27,6 +27,9 @@ return { secondary = "#B0BEC5", -- background = "#1d2229", background = "#0d1219", + + diagnostic_info = "#00d992", + diagnostic_hint = "#00d992", }, }) @@ -38,7 +41,7 @@ return { Color.new("hlargs", "#FFF8E1") Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#66FFEE") + Color.new("illuminate_fg", "#00d992") -- Color.new("search_bg", "#554411") -- Color.new("search_fg", "#FFF0C0") @@ -59,12 +62,63 @@ return { Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent5:dark(0.2)) Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent6:dark(0.2)) - Color.new("IndentBlanklineContextChar", "#00AABB", styles.nocombine) + Color.new("IndentBlanklineContextChar", "#00a972", styles.nocombine) Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) - Color.new("MiniIndentscopeSymbol", "#57FAF0") + Color.new("MiniIndentscopeSymbol", "#00d992") Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) + Color.new("NavicTextFg", "#5fbf9f") + Color.new("NavicTextBg", "#333333") + Color.new("NavicIcon", "#5fbf9f") + + Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) + Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) + Group.link("NavicIconsFile", groups.NavicIcon) + Group.link("NavicIconsModule", groups.NavicIcon) + Group.link("NavicIconsNamespace", groups.NavicIcon) + Group.link("NavicIconsPackage", groups.NavicIcon) + Group.link("NavicIconsClass", groups.NavicIcon) + Group.link("NavicIconsMethod", groups.NavicIcon) + Group.link("NavicIconsProperty", groups.NavicIcon) + Group.link("NavicIconsField", groups.NavicIcon) + Group.link("NavicIconsConstructor", groups.NavicIcon) + Group.link("NavicIconsEnum", groups.NavicIcon) + Group.link("NavicIconsInterface", groups.NavicIcon) + Group.link("NavicIconsFunction", groups.NavicIcon) + Group.link("NavicIconsVariable", groups.NavicIcon) + Group.link("NavicIconsConstant", groups.NavicIcon) + Group.link("NavicIconsString", groups.NavicIcon) + Group.link("NavicIconsNumber", groups.NavicIcon) + Group.link("NavicIconsBoolean", groups.NavicIcon) + Group.link("NavicIconsArray", groups.NavicIcon) + Group.link("NavicIconsObject", groups.NavicIcon) + Group.link("NavicIconsKey", groups.NavicIcon) + Group.link("NavicIconsNull", groups.NavicIcon) + Group.link("NavicIconsEnumMember", groups.NavicIcon) + Group.link("NavicIconsStruct", groups.NavicIcon) + Group.link("NavicIconsEvent", groups.NavicIcon) + Group.link("NavicIconsOperator", groups.NavicIcon) + Group.link("NavicIconsTypeParameter", groups.NavicIcon) + + Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) + Color.new("NormalFloatBg", "#335a88", styles.nocombine) + Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) + + Color.new("PmenuSelFg", "#f3d390", styles.nocombine) + Color.new("PmenuSelBg", "#335a88", styles.nocombine) + Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + -- + -- Color.new("TroubleFg", "#ffce60", styles.nocombine) + -- Color.new("TroubleBg", "#260200", styles.nocombine) + -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) + -- Group.link("TroubleText", groups.TroubleNormal) + -- Group.link("TroubleSource", groups.TroubleNormal) + + Color.new("FlashLabelFg", "#002211") + Color.new("FlashLabelBg", "#11EA99") + Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) + Group.new("TelescopeTitle", colors.primary) Group.new("TelescopeBorder", colors.secondary) Group.new("@comment", colors.comment, nil, styles.italic) From 1b29efc1eb33d0f235ce6b14686e2fab4b79e41f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 20 Sep 2023 12:25:28 +0200 Subject: [PATCH 133/656] gitui: config file format change --- .config/gitui/theme.ron | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.config/gitui/theme.ron b/.config/gitui/theme.ron index 45a81d3..466a37b 100644 --- a/.config/gitui/theme.ron +++ b/.config/gitui/theme.ron @@ -1,23 +1,23 @@ ( - selected_tab: Reset, - command_fg: Rgb(2, 119, 189), - selection_bg: Rgb(225, 245, 254), - selection_fg: Reset, - cmdbar_extra_lines_bg: Rgb(2, 136, 209), - cmdbar_bg: Reset, - disabled_fg: Rgb(109, 76, 65), - diff_line_add: Rgb(56, 142, 60), - diff_line_delete: Rgb(230, 74, 25), - diff_file_added: Rgb(56, 142, 60), - diff_file_removed: Rgb(230, 74, 25), - diff_file_moved: Rgb(156, 39, 176), - diff_file_modified: Rgb(255, 111, 0), - commit_hash: Magenta, - commit_time: Rgb(0, 131, 143), - commit_author: Green, - danger_fg: Red, - push_gauge_bg: Blue, - push_gauge_fg: Reset, - tag_fg: LightMagenta, - branch_fg: LightBlue -) + selected_tab: None, + command_fg: Some(Rgb(2, 119, 189)), + selection_bg: Some(Rgb(225, 245, 254)), + selection_fg: Some(Reset), + cmdbar_bg: Some(Reset), + cmdbar_extra_lines_bg: Some(Rgb(2, 136, 209)), + disabled_fg: Some(Rgb(109, 76, 65)), + diff_line_add: Some(Rgb(56, 142, 60)), + diff_line_delete: Some(Rgb(230, 74, 25)), + diff_file_added: Some(Rgb(56, 142, 60)), + diff_file_removed: Some(Rgb(230, 74, 25)), + diff_file_moved: Some(Rgb(156, 39, 176)), + diff_file_modified: Some(Rgb(255, 111, 0)), + commit_hash: None, + commit_time: Some(Rgb(0, 131, 143)), + commit_author: None, + danger_fg: None, + push_gauge_bg: None, + push_gauge_fg: None, + tag_fg: None, + branch_fg: Some(LightBlue), +) \ No newline at end of file From 45df7e4dfdd111b53366f14b2f3693f26a783f00 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 21 Sep 2023 10:51:59 +0200 Subject: [PATCH 134/656] nvim: comment keybindings --- .config/nvim/lua/plugins/coding.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .config/nvim/lua/plugins/coding.lua diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua new file mode 100644 index 0000000..4c5fbfb --- /dev/null +++ b/.config/nvim/lua/plugins/coding.lua @@ -0,0 +1,11 @@ +return { + + { + "echasnovski/mini.comment", + keys = { + { "<Leader><C-_>", "gcgc", remap = true, silent = true, mode = "n" }, + { "<C-_>", "gcc", remap = true, silent = true, mode = "n" }, + { "<C-_>", "gc", remap = true, silent = true, mode = "v" }, + }, + }, +} From 5020699941b196fa9631f9b8536921e3b79c1937 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 21 Sep 2023 10:55:05 +0200 Subject: [PATCH 135/656] nvim: document uncomment --- .config/nvim/lua/plugins/coding.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index 4c5fbfb..1448ecf 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -3,7 +3,7 @@ return { { "echasnovski/mini.comment", keys = { - { "<Leader><C-_>", "gcgc", remap = true, silent = true, mode = "n" }, + { "<Leader><C-_>", "gcgc", remap = true, silent = true, mode = "n", desc = "Uncomment whole comment" }, { "<C-_>", "gcc", remap = true, silent = true, mode = "n" }, { "<C-_>", "gc", remap = true, silent = true, mode = "v" }, }, diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index a7a391e..ef4c36e 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -23,10 +23,10 @@ return { undercurl = true, }, colors = { + -- background = "#0d1219", + background = "#11171d", primary = "#FFECB3", secondary = "#B0BEC5", - -- background = "#1d2229", - background = "#0d1219", diagnostic_info = "#00d992", diagnostic_hint = "#00d992", From 0221c3ec0076ab2d7305daee6244e8508a9fb94e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 21 Sep 2023 11:23:53 +0200 Subject: [PATCH 136/656] tmux-edit-helper: open file directly on first launch --- bin/tmux-edit-helper | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper index 2a12394..da98fa3 100755 --- a/bin/tmux-edit-helper +++ b/bin/tmux-edit-helper @@ -18,11 +18,11 @@ fi _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" -tmux select-window -t nvim 2>/dev/null || - tmux new-window -S -n nvim \ - -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - -e "GOFLAGS=$GOFLAGS" \ - nvim --listen "$_nvim_socket" +tmux select-window -t nvim 2>/dev/null && exec nvim --server "$_nvim_socket" --remote "$_file" -nvim --server "$_nvim_socket" --remote "$_file" +# nvim is not running/listening on remote socket, so start it. +tmux new-window -S -n nvim \ + -e "BUILD_COMMAND=$BUILD_COMMAND" \ + -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "GOFLAGS=$GOFLAGS" \ + nvim --listen "$_nvim_socket" "$_file" From 33cb2e30f091595cd2f1c8d4f313d6e01b24c584 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 28 Sep 2023 11:13:02 +0200 Subject: [PATCH 137/656] nvim: config --- .config/nvim/lazy-lock.json | 38 +++++++++++++----------- .config/nvim/lua/config/lazy.lua | 1 + .config/nvim/lua/config/options.lua | 8 +++-- .config/nvim/lua/plugins/coding.lua | 5 ++++ .config/nvim/lua/plugins/colorscheme.lua | 11 +++++-- .config/nvim/lua/plugins/editor.lua | 6 ++++ 6 files changed, 46 insertions(+), 23 deletions(-) create mode 100644 .config/nvim/lua/plugins/editor.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index faac63c..ffddaf7 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,21 +1,21 @@ { - "LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" }, - "LuaSnip": { "branch": "master", "commit": "8efa4e402a24df6a4713a2ec653147c49e8f73de" }, - "SchemaStore.nvim": { "branch": "main", "commit": "57b379a6f521eca8e955283c2886b6261c4e14e8" }, + "LazyVim": { "branch": "main", "commit": "50401d358b7be9b931b42fc3b537794920308bef" }, + "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" }, + "SchemaStore.nvim": { "branch": "main", "commit": "917083c0ab4fc328628f0a55c72415e1bd72ab13" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, - "bufferline.nvim": { "branch": "main", "commit": "81cd04fe7c914d020d331cea1e707da5f14c2665" }, - "catppuccin": { "branch": "main", "commit": "85e93601e0f0b48aa2c6bbfae4d0e9d7a1898280" }, + "bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" }, + "catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "2c942f33ba5c621c906e625e00a1bb504b65e2f0" }, + "copilot.lua": { "branch": "master", "commit": "1a8032ae496916ccc7a7a52ee79194fbef29f462" }, "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "bce4576a9047085a528c479a7fe1e2f6b787b6c1" }, + "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, @@ -27,31 +27,33 @@ "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "2d89ca96e08eb6e9c8e50e1bb4738bc5125c9f12" }, - "neoconf.nvim": { "branch": "main", "commit": "b7cde4ba41eabf9bec9464c990bcf84a0fef4526" }, - "neodev.nvim": { "branch": "main", "commit": "53673d03258a4e4c49ab6ed621820510ac17e052" }, - "noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, + "neoconf.nvim": { "branch": "main", "commit": "909179f44e94b4cb8331d46b31d3b77ca71127d5" }, + "neodev.nvim": { "branch": "main", "commit": "67b7a5c9facd65077cc4486c73d1774d1a2ed582" }, + "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "f3195835c0447ee2c80152b893ab51ca162b04a9" }, + "nvim-lspconfig": { "branch": "master", "commit": "bfdf2e91e7297a54bcc09d3e092a12bff69a1cf4" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "c29d973c40f42fdf9823c2756c330fe7c8f7ca80" }, + "nvim-treesitter": { "branch": "master", "commit": "d6c9c85e14e15bc59478a0d5d810e88dad0ac53f" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, - "nvim-web-devicons": { "branch": "master", "commit": "973ab742f143a796a779af4d786ec409116a0d87" }, + "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, - "telescope.nvim": { "branch": "master", "commit": "40c8d2fc2b729dd442eda093cf8c9496d6e23732" }, + "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, + "telescope.nvim": { "branch": "master", "commit": "84d53dfdbefbdf84e861a288abc71ef8ccafd04e" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, + "tokyonight.nvim": { "branch": "main", "commit": "8e670218651eaf02bf61c68ecdfdaa572bc14b47" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, - "vim-illuminate": { "branch": "master", "commit": "8c910b2f84ae6acd9b4b17330bb94dd783c0c11a" }, + "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, - "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" } + "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, + "yanky.nvim": { "branch": "main", "commit": "51dfc7721cfa4bb5b1baf5f365b8a39394d89eb2" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index cf0f003..4e1c2e3 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -13,6 +13,7 @@ require("lazy").setup({ -- import any extras modules here -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "lazyvim.plugins.extras.lang.go" }, { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.typescript" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 0b15b1b..298a8c0 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -7,7 +7,9 @@ local opt = vim.opt opt.relativenumber = false opt.clipboard = "" -vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" -vim.o.autochdir = true -vim.o.updatetime = 100 vim.g.do_filetype_lua = 1 + +vim.o.autochdir = true +vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" +vim.o.scrolloff = 7 +vim.o.updatetime = 100 diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index 1448ecf..714cba8 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -8,4 +8,9 @@ return { { "<C-_>", "gc", remap = true, silent = true, mode = "v" }, }, }, + + { + "echasnovski/mini.pairs", + enabled = false, + }, } diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index ef4c36e..c569cd1 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -68,6 +68,10 @@ return { Color.new("MiniIndentscopeSymbol", "#00d992") Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) + Color.new("CursorFg", "#000000", styles.nocombine) + Color.new("CursorBg", "#00d992", styles.nocombine) + Group.new("Cursor", colors.CursorFg, colors.CursorBg) + Color.new("NavicTextFg", "#5fbf9f") Color.new("NavicTextBg", "#333333") Color.new("NavicIcon", "#5fbf9f") @@ -115,8 +119,11 @@ return { -- Group.link("TroubleText", groups.TroubleNormal) -- Group.link("TroubleSource", groups.TroubleNormal) - Color.new("FlashLabelFg", "#002211") - Color.new("FlashLabelBg", "#11EA99") + Color.new("Error", "#ffce60", styles.nocombine) + Group.new("ErrorMsg", colors.Error) + + Color.new("FlashLabelFg", "#220011") + Color.new("FlashLabelBg", "#EA1199") Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) Group.new("TelescopeTitle", colors.primary) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua new file mode 100644 index 0000000..c1ca23a --- /dev/null +++ b/.config/nvim/lua/plugins/editor.lua @@ -0,0 +1,6 @@ +return { + { + "folke/flash.nvim", + enabled = false, + }, +} From d42d684ed8ba7f0ee4fb036bbfe8b2afe49d8cea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 2 Oct 2023 21:39:32 +0200 Subject: [PATCH 138/656] nvim: adjust for indent-blankline v3 --- .config/nvim/lua/plugins/ui.lua | 35 ++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 8dacbc2..20f2641 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -2,18 +2,31 @@ return { { "lukas-reineke/indent-blankline.nvim", opts = { - char = "┊", - char_highlight_list = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - "IndentBlanklineIndent3", - "IndentBlanklineIndent4", - "IndentBlanklineIndent5", - "IndentBlanklineIndent6", + indent = { + char = "┊", + tab_char = "┊", + highlight = { + "IndentBlanklineIndent1", + "IndentBlanklineIndent2", + "IndentBlanklineIndent3", + "IndentBlanklineIndent4", + "IndentBlanklineIndent5", + "IndentBlanklineIndent6", + }, + }, + scope = { + enabled = true, + show_start = false, + char = "│", + highlight = { + "IndentBlanklineIndent1", + "IndentBlanklineIndent2", + "IndentBlanklineIndent3", + "IndentBlanklineIndent4", + "IndentBlanklineIndent5", + "IndentBlanklineIndent6", + }, }, - show_current_context = true, - show_current_context_start = false, - context_char = "│", }, }, } From b4c284f01ea40251dfb89113363a65823fd13bd1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 2 Oct 2023 21:51:48 +0200 Subject: [PATCH 139/656] nvim: fix mini.comment keymap preference --- .config/nvim/lua/config/keymaps.lua | 6 ++++++ .config/nvim/lua/plugins/coding.lua | 10 ---------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 2c134f7..f99684e 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -1,3 +1,9 @@ -- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here + +-- C-/ should be comment instead of lazyterm +vim.api.nvim_del_keymap("n", "<c-_>") +vim.api.nvim_set_keymap("n", "<c-_>", "gcc", {}) +vim.api.nvim_set_keymap("v", "<c-_>", "gc", {}) +vim.api.nvim_set_keymap("n", "<Leader><c-_>", "gcgc", {}) diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index 714cba8..563d752 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -1,14 +1,4 @@ return { - - { - "echasnovski/mini.comment", - keys = { - { "<Leader><C-_>", "gcgc", remap = true, silent = true, mode = "n", desc = "Uncomment whole comment" }, - { "<C-_>", "gcc", remap = true, silent = true, mode = "n" }, - { "<C-_>", "gc", remap = true, silent = true, mode = "v" }, - }, - }, - { "echasnovski/mini.pairs", enabled = false, From 256d0c34e498ecc3b23a733e9d40bb101bc87243 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 2 Oct 2023 21:51:56 +0200 Subject: [PATCH 140/656] nvim: lazyvim update --- .config/nvim/lazy-lock.json | 43 +++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index ffddaf7..58f706d 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,10 +1,10 @@ { - "LazyVim": { "branch": "main", "commit": "50401d358b7be9b931b42fc3b537794920308bef" }, + "LazyVim": { "branch": "main", "commit": "ecac59c9823c86ac4c916a4cc1aa761f43e040ec" }, "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" }, - "SchemaStore.nvim": { "branch": "main", "commit": "917083c0ab4fc328628f0a55c72415e1bd72ab13" }, + "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, - "bufferline.nvim": { "branch": "main", "commit": "6ecd37e0fa8b156099daedd2191130e083fb1490" }, - "catppuccin": { "branch": "main", "commit": "3d9a5ed556e289bce6c1fb0af89ec838360641b2" }, + "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, + "catppuccin": { "branch": "main", "commit": "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, @@ -12,48 +12,45 @@ "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "1a8032ae496916ccc7a7a52ee79194fbef29f462" }, - "dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, - "flash.nvim": { "branch": "main", "commit": "cc8c7e03987134997d74ee87e55a5717279f2d05" }, - "friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, - "gitsigns.nvim": { "branch": "main", "commit": "bdeba1cec3faddd89146690c10b9a87949c0ee66" }, - "indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, - "lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, + "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, + "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, + "gitsigns.nvim": { "branch": "main", "commit": "b14b9fba7d085ed8c11392aa51e575de84822bb1" }, + "indent-blankline.nvim": { "branch": "master", "commit": "ce2e8e410bc8b46a6938bfa3520bc6b85ca8a743" }, + "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "2451adb9bdb0fd32140bf3aa8dbc17ff60050db3" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "909179f44e94b4cb8331d46b31d3b77ca71127d5" }, - "neodev.nvim": { "branch": "main", "commit": "67b7a5c9facd65077cc4486c73d1774d1a2ed582" }, + "neoconf.nvim": { "branch": "main", "commit": "466ba6f645f63f91ac84d3dd986acede5d107f39" }, + "neodev.nvim": { "branch": "main", "commit": "5147640bc8435ca3557a105ebd1143bc20420b60" }, "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" }, + "none-ls.nvim": { "branch": "main", "commit": "f39f627bbdfb33cc4ae4a95b4708e7dba7b9aafc" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, - "null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "bfdf2e91e7297a54bcc09d3e092a12bff69a1cf4" }, + "nvim-lspconfig": { "branch": "master", "commit": "ac478757efcde1ac346f7044ab774e7cbb482533" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, - "nvim-notify": { "branch": "master", "commit": "94859430020f5cf32a1b97ddd9e596fed9db7981" }, + "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "d6c9c85e14e15bc59478a0d5d810e88dad0ac53f" }, + "nvim-treesitter": { "branch": "master", "commit": "d96c216c54cc2d48d3c66ba7f0fc3c7c5b71b3b1" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "95e9ba9de4289d221666b66fd930d157c7ca08c6" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "telescope.nvim": { "branch": "master", "commit": "84d53dfdbefbdf84e861a288abc71ef8ccafd04e" }, + "telescope.nvim": { "branch": "master", "commit": "8c69f58427f98b2ca39a90a36db830c06e30351c" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "8e670218651eaf02bf61c68ecdfdaa572bc14b47" }, + "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, - "typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, - "yanky.nvim": { "branch": "main", "commit": "51dfc7721cfa4bb5b1baf5f365b8a39394d89eb2" } + "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" } } \ No newline at end of file From 74b12bcfa5fd1a86bf2b6abae7b32893abc2e619 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Oct 2023 15:18:14 +0200 Subject: [PATCH 141/656] wezterm: secondary --- .local/share/applications/wezterm-dln-dev-secondary.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop index afe10b5..8d40b0b 100644 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config window_background_opacity=0.6 --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary +Exec=/usr/bin/wezterm --config window_background_opacity=0.8 --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary From ea69d13bcf9326abf8c63b7eae6abc0551b1d3ff Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Oct 2023 15:18:39 +0200 Subject: [PATCH 142/656] wezterm: line height --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index f08c496..7b445fd 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -95,7 +95,7 @@ return { allow_square_glyphs_to_overflow_width = "Always", font_size = 13.5, command_palette_font_size = 13.5, - line_height = 1.065, + line_height = 1.1, initial_cols = 132, initial_rows = 45, use_resize_increments = true, From 326f502d3878420e96a1f0ed38b8a1b682386222 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 4 Oct 2023 21:49:08 +0200 Subject: [PATCH 143/656] nvim: enable conform + prettier --- .config/nvim/lua/config/lazy.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 4e1c2e3..a0e2c80 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -12,6 +12,8 @@ require("lazy").setup({ { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, + { import = "lazyvim.plugins.extras.formatting.conform" }, + { import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "lazyvim.plugins.extras.lang.go" }, From 0cbf0441c0296e9f787a8610b5df3feec0067e79 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 4 Oct 2023 21:49:49 +0200 Subject: [PATCH 144/656] zsh: muted prompt --- .zshrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.zshrc b/.zshrc index 570c168..215a5e6 100644 --- a/.zshrc +++ b/.zshrc @@ -205,7 +205,7 @@ zstyle ':vcs_info:*' unstagedstr ' %F{#ff0}' zstyle ':vcs_info:*' stagedstr ' %F{#9ff}' setopt PROMPT_SUBST -PROMPT=$'%F{#fff}%K{#d1002f}%{\e[3m%} ${PROMPT_LABEL} %{\e[0m%}%S%F{#d1002f}%k%{%G\Ue0ba%}%k%s%f%{\e[2;3m%}${PROMPT_PWD}%{\e[0m%} ${vcs_info_msg_0_}%# ' +PROMPT=$'%F{#aaa}%K{#333}%{\e[3m%} ${PROMPT_LABEL} %{\e[0m%}%S%F{#333}%k%{%G\Ue0ba%}%k%s%f%{\e[2;3m%}${PROMPT_PWD}%{\e[0m%} ${vcs_info_msg_0_}%# ' ## vim export EDITOR=nvim From 9ef30664bb4a022ef74a1f8a30d9bfc05b86da0d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 4 Oct 2023 21:50:02 +0200 Subject: [PATCH 145/656] nvim: lazy update --- .config/nvim/lazy-lock.json | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 58f706d..2bc7d9e 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { - "LazyVim": { "branch": "main", "commit": "ecac59c9823c86ac4c916a4cc1aa761f43e040ec" }, - "LuaSnip": { "branch": "master", "commit": "480b032f6708573334f4437d3f83307d143f1a72" }, + "LazyVim": { "branch": "main", "commit": "758520dcbbf0f40774beceaf65de3f464b23fc3f" }, + "LuaSnip": { "branch": "master", "commit": "6085dfd1808fb0059e13d160317a10c3a68c5407" }, "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, @@ -10,12 +10,13 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, + "conform.nvim": { "branch": "master", "commit": "7ad988c2509ff1869c26ecdabebadc7943e78f6f" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "1a8032ae496916ccc7a7a52ee79194fbef29f462" }, "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "b14b9fba7d085ed8c11392aa51e575de84822bb1" }, - "indent-blankline.nvim": { "branch": "master", "commit": "ce2e8e410bc8b46a6938bfa3520bc6b85ca8a743" }, + "gitsigns.nvim": { "branch": "main", "commit": "2272cf9f0c092e908f892f5b075e6cc2a8d3d07d" }, + "indent-blankline.nvim": { "branch": "master", "commit": "c60e76a638b1d2a4299b9bfc38461cdb02ae8397" }, "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, @@ -27,17 +28,17 @@ "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, "neoconf.nvim": { "branch": "main", "commit": "466ba6f645f63f91ac84d3dd986acede5d107f39" }, - "neodev.nvim": { "branch": "main", "commit": "5147640bc8435ca3557a105ebd1143bc20420b60" }, - "noice.nvim": { "branch": "main", "commit": "396f9146529130904e07c45e90ecdbfa607534f3" }, + "neodev.nvim": { "branch": "main", "commit": "8cc5eb23452d355ea95b7253ca1367c3420352ff" }, + "noice.nvim": { "branch": "main", "commit": "8d775bc8ac1a594a2ecdb80e092330afd916e4c3" }, "none-ls.nvim": { "branch": "main", "commit": "f39f627bbdfb33cc4ae4a95b4708e7dba7b9aafc" }, "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "ac478757efcde1ac346f7044ab774e7cbb482533" }, + "nvim-lspconfig": { "branch": "master", "commit": "361a2878a41f23452457eec12a807ff59bc75882" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "d96c216c54cc2d48d3c66ba7f0fc3c7c5b71b3b1" }, + "nvim-treesitter": { "branch": "master", "commit": "812c2dd8fe838bb26cb53f0d251116468c2cae37" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, @@ -46,7 +47,7 @@ "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "telescope.nvim": { "branch": "master", "commit": "8c69f58427f98b2ca39a90a36db830c06e30351c" }, "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "e89caa3ad6d8da9d0dd981ec74a82c55adc61ffd" }, + "tokyonight.nvim": { "branch": "main", "commit": "ebe613949edc0ac2cd4b911d502c67b023673d87" }, "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, From 3374a5247c5d02bd0a854d450b493b05db92043c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 4 Oct 2023 22:22:31 +0200 Subject: [PATCH 146/656] nvim: proto and terraform autoformat --- .config/nvim/lua/plugins/formatting.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .config/nvim/lua/plugins/formatting.lua diff --git a/.config/nvim/lua/plugins/formatting.lua b/.config/nvim/lua/plugins/formatting.lua new file mode 100644 index 0000000..e51693d --- /dev/null +++ b/.config/nvim/lua/plugins/formatting.lua @@ -0,0 +1,11 @@ +return { + { + "stevearc/conform.nvim", + opts = { + formatters_by_ft = { + ["proto"] = { { "buf" } }, + ["terraform"] = { { "terraform_fmt" } }, + }, + }, + }, +} From 9cb610b2f9f6d481ce122d14b427315427aa29e5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 23 Oct 2023 10:49:05 +0200 Subject: [PATCH 147/656] Add contour config --- .config/contour/contour.yml | 769 ++++++++++++++++++++++++++++++++++++ 1 file changed, 769 insertions(+) create mode 100644 .config/contour/contour.yml diff --git a/.config/contour/contour.yml b/.config/contour/contour.yml new file mode 100644 index 0000000..8955087 --- /dev/null +++ b/.config/contour/contour.yml @@ -0,0 +1,769 @@ +# Default Contour Configuration File. + +# Overrides the auto-detected platform plugin to be loaded. +# +# Possible (incomplete list of) values are: +# - auto The platform will be auto-detected. +# - xcb Uses XCB plugin (for X11 environment). +# - cocoa Used to be run on Mac OS/X. +# - direct2d Windows platform plugin using Direct2D. +# - winrt Windows platform plugin using WinRT. +# +# Default: auto +platform_plugin: auto + +# VT Renderer configuration. +# ADVANCED! Do not touch unless you know what you are doing. +renderer: + # Backend to use for rendering the terminal onto the screen + # + # Possible values are: + # - default Uses the default rendering option as decided by the terminal. + # - software Uses software-based rendering. + # - OpenGL Use (possibly) hardware accelerated OpenGL + backend: OpenGL + + # Number of hashtable slots to map to the texture tiles. + # Larger values may increase performance, but too large may also decrease. + # This value is rounded up to a value equal to the power of two. + # + # Default: 4096 + tile_hashtable_slots: 4096 + + # Number of tiles that must fit at lest into the texture atlas. + # + # This does not include direct mapped tiles (US-ASCII glyphs, + # cursor shapes and decorations), if tile_direct_mapping is set to true). + # + # Value must be at least as large as grid cells available in the terminal view. + # This value is automatically adjusted if too small. + # + # Default: 4000 + tile_cache_count: 4000 + + # Enables/disables the use of direct-mapped texture atlas tiles for + # the most often used ones (US-ASCII, cursor shapes, underline styles) + # You most likely do not want to touch this. + # + # Default: true + tile_direct_mapping: true + +# Word delimiters when selecting word-wise. +word_delimiters: " /\\()\"'-.,:;<>~!@#$%^&*+=[]{}~?|│" + +# Default PTY read buffer size. +# +# This is an advance option. Use with care! +# Default: 16384 +read_buffer_size: 16384 + +# Size in bytes per PTY Buffer Object. +# +# This is an advanced option of an internal storage. Only change with care! +pty_buffer_size: 1048576 + +default_profile: main + +# Flag to determine whether to spawn new process or not when creating new terminal +# Default: false +spawn_new_process: false + +# Whether or not to reflow the lines on terminal resize events. +# Default: true +reflow_on_resize: true + +# Section of experimental features. +# All experimental features are disabled by default and must be explicitly enabled here. +# NOTE: Contour currently has no experimental features behind this configuration wall. +# experimental: +# # Enables experimental support for feature X/Y/Z +# feature_xyz: true + +# This keyboard modifier can be used to bypass the terminal's mouse protocol, +# which can be used to select screen content even if the an application +# mouse protocol has been activated (Default: Shift). +# +# The same modifier values apply as with input modifiers (see below). +bypass_mouse_protocol_modifier: Shift + +# Modifier to be pressed in order to initiate block-selection +# using the left mouse button. +# +# This is usually the Control modifier, but on OS/X that is not possible, +# so Alt or Meta would be recommended instead. +# +# Supported modifiers: +# - Alt +# - Control +# - Shift +# - Meta +# +# Default: Control +mouse_block_selection_modifier: Control + +# Selects an action to perform when a text selection has been made. +# +# Possible values are: +# +# - None Does nothing +# - CopyToClipboard Copies the selection to the primary clipboard. +# - CopyToSelectionClipboard Copies the selection to the selection clipboard. +# This is not supported on all platforms. +# +# Default: CopyToSelectionClipboard +on_mouse_select: CopyToSelectionClipboard + +# Determines whether the instance is reloading the configuration files whenever it is changing or not. +# +# Default: false +live_config: false + +# Inline image related default configuration and limits +# ----------------------------------------------------- +images: + # Enable or disable sixel scrolling (SM/RM ?80 default) + sixel_scrolling: true + # Configures the maximum number of color registers available when rendering Sixel graphics. + sixel_register_count: 4096 + # maximum width in pixels of an image to be accepted (0 defaults to system screen pixel width) + max_width: 0 + # maximum height in pixels of an image to be accepted (0 defaults to system screen pixel height) + max_height: 0 + +# Terminal Profiles +# ----------------- +# +# Dominates how your terminal visually looks like. You will need at least one terminal profile. +profiles: + main: + # You can override the process to be started inside the terminal. + # If nothing is specified, the users' default login shell will be used. + # But you may as well log in to a remote host. + # shell: "ssh ubuntu-vm" + # shell: "/bin/bash" + # arguments: ["some", "optional", "arguments", "for", "the", "shell"] + + # If this terminal is being executed from within Flatpak, enforces sandboxing + # then this boolean indicates whether or not that sandbox should be escaped or not. + # + # Default value is true. + # + # It only makes sense to set this value to false if you really know what you are doing. + escape_sandbox: true + + # Advanced value that is useful when CopyPreviousMarkRange is used + # with multiline-prompts. This offset value is being added to the + # current cursor's line number minus 1 (i.e. the line above the current cursor). + # + # Default value is 0. + copy_last_mark_range_offset: 0 + + # Sets initial working directory when spawning a new terminal. + # A leading ~ is expanded to the user's home directory. + # Default value is the user's home directory. + initial_working_directory: "~" + + # When this profile is *activated*, this flag decides + # whether or not the title bar will be shown + show_title_bar: false + # When this profile is being *activated*, this flag decides + # whether or not to put the terminal's screen into fullscreen mode. + # + # It is activated during startup as well as when switching from another profile to this one. + fullscreen: false + + # When this profile is *activated*, this flag decides + # whether or not to put the window into maximized mode. + maximized: false + + # Defines the class part of the WM_CLASS property of the window. + wm_class: "contour" + + # Environment variables to be passed to the shell. + # environment: + # TERM: contour + # COLORTERM: truecolor + + # Determines the terminal type that is being advertised. + # Possible values are: + # - VT100 + # - VT220 + # - VT240 + # - VT330 + # - VT340 + # - VT320 + # - VT420 + # - VT510 + # - VT520 + # - VT525 + # Default: VT525 + terminal_id: VT525 + + # Determines the initial terminal size in characters. + terminal_size: + columns: 80 + lines: 25 + + history: + # Number of lines to preserve (-1 for infinite). + limit: 1000 + # Boolean indicating whether or not to scroll down to the bottom on screen updates. + auto_scroll_on_update: true + # Number of lines to scroll on ScrollUp & ScrollDown events. + # Default: 3 + scroll_multiplier: 3 + + # visual scrollbar support + scrollbar: + # scroll bar position: Left, Right, Hidden (ignore-case) + position: Hidden + # whether or not to hide the scrollbar when in alt-screen. + hide_in_alt_screen: true + + # mouse setting + mouse: + # whether or not to hide mouse when typing + # + # Default value: true + hide_while_typing: true + + # Some VT sequences should need access permissions. + # + # These can be to: + # - allow Allows the given functionality + # - deny Denies the given functionality + # - ask Asks the user interactively via popup dialog for permission of the given action. + # + # Default for all of these entries should be: "ask". + permissions: + # Allows changing the font via `OSC 50 ; Pt ST`. + change_font: ask + # Allows capturing the screen buffer via `CSI > Pm ; Ps ; Pc ST`. + # The response can be read from stdin as sequence `OSC 314 ; <screen capture> ST` + capture_buffer: ask + # Allows displaying the "Host Writable Statusline" programmatically using `DECSSDT 2`. + display_host_writable_statusline: ask + + # If enabled, and you double-click on a word in the primary screen, + # all other words matching this word will be highlighted as well. + # So the double-clicked word will be selected as well as highlighted, along with + # all other words being simply highlighted. + # + # This is currently implemented by initiating a search on the double-clicked word. + # Therefore one can even use FocusNextSearchMatch and FocusPreviousSearchMatch to + # jump to the next/previous same word, also outside of the current viewport. + # + # Default: true + highlight_word_and_matches_on_double_click: true + + # Font related configuration (font face, styles, size, rendering mode). + font: + # Initial font size in pixels. + size: 20 + + # DPI scaling factor applied on top of the system configured on (default: 1.0). + dpi_scale: 1.0 + + # Font Locator API + # Selects an engine to use for locating font files on the system. + # This is implicitly also responsible for font fallback + # Possible values are: + # - native : automatically choose the best available on the current platform + # - fontconfig : uses fontconfig to select fonts + # - CoreText : uses OS/X CoreText to select fonts. + # - DirectWrite : selects DirectWrite engine (Windows only) + locator: native + + # Text shaping related settings + text_shaping: + # Selects which text shaping and font rendering engine to use. + # Supported values are: + # - native : automatically choose the best available on the current platform. + # - DirectWrite : selects DirectWrite engine (Windows only) + # - CoreText : selects CoreText engine (Mac OS/X only) (currently not implemented) + # - OpenShaper : selects OpenShaper (harfbuzz/freetype/fontconfig, available on all + # platforms) + engine: native + + # Uses builtin textures for pixel-perfect box drawing. + # If disabled, the font's provided box drawing characters + # will be used (Default: true). + builtin_box_drawing: true + + # Font render modes tell the font rasterizer engine what rendering technique to use. + # + # Modes available are: + # - lcd Uses a subpixel rendering technique optimized for LCD displays. + # - light Uses a subpixel rendering technique in gray-scale. + # - gray Uses standard gray-scaled anti-aliasing. + # - monochrome Uses pixel-perfect bitmap rendering. + render_mode: gray + + # Indicates whether or not to include *only* monospace fonts in the font and + # font-fallback list (Default: true). + strict_spacing: false + + # Font family to use for displaying text. + # + # A font can be either described in detail as below or as a + # simple string value (e.g. "monospace" with the appropriate + # weight/slant applied automatically). + regular: + # Font family defines the font family name, such as: + # Fira Code", "Courier New", or "monospace" (default). + family: "Iosevka Term SS09 Light" + + # Font weight can be one of: + # thin, extra_light, light, demilight, book, normal, + # medium, demibold, bold, extra_bold, black, extra_black. + weight: light + + # Font slant can be one of: normal, italic, oblique. + slant: normal + + # Set of optional font features to be enabled. This + # is usually a 4-letter code, such as ss01 or ss02 etc. + # + # Please see your font's documentation to find out what it + # supports. + # + # Default: [] + features: [ss09] + + # If bold/italic/bold_italic are not explicitly specified, the regular font with + # the respective weight and slant will be used. + bold: + family: "Iosevka Term SS09" + features: [ss09] + weight: demibold + italic: + family: "Iosevka Term Curly Slab" + weight: light + slant: italic + bold_italic: + family: "Iosevka Term Curly Slab Ex" + weight: regular + slant: italic + #bold: "Hack" + #italic: "Hack" + #bold_italic: "Hack" + + # This is a special font to be used for displaying unicode symbols + # that are to be rendered in emoji presentation. + # Defaults to "emoji". + emoji: "Noto Color Emoji" + + # Indicates whether or not bold text should be rendered in bright colors, + # for indexed colors. + # + # If disabled, normal color will be used instead. + # + # Default: false + draw_bold_text_with_bright_colors: false + + # Terminal cursor display configuration + cursor: + # Supported shapes are: + # + # - block a filled rectangle + # - rectangle just the outline of a block + # - underscore a line under the text + # - bar: the well known i-Beam + shape: "bar" + # Determines whether or not the cursor will be blinking over time. + blinking: false + # Blinking interval (in milliseconds) to use when cursor is blinking. + blinking_interval: 500 + + # vi-like normal-mode specific settings. + # Note, currently only the cursor can be customized. + normal_mode: + cursor: + shape: block + blinking: false + blinking_interval: 500 + + # vi-like visual/visual-line/visual-block mode specific settings. + # Note, currently only the cursor can be customized. + visual_mode: + cursor: + shape: block + blinking: false + blinking_interval: 500 + + # Time duration in milliseconds for which yank highlight is shown. + vi_mode_highlight_timeout: 300 + + # Configures a `scrolloff` for cursor movements in normal and visual (block) modes. + # + # Default: 8 + vi_mode_scrolloff: 8 + + status_line: + # Either none or indicator. + # This only reflects the initial state of the status line, as it can + # be changed at any time during runtime by the user or by an application. + display: none + + # Position to place the status line to, if it is to be shown. + # This can be either value `top` or value `bottom`. + # Default: bottom + position: bottom + + # Synchronize the window title with the Host Writable status_line if + # and only if the host writable status line was denied to be shown. + # Default: false + sync_to_window_title: false + + # Background configuration + background: + # Background opacity to use. A value of 1.0 means fully opaque whereas 0.0 means fully + # transparent. Only values between 0.0 and 1.0 are allowed. + opacity: 1.0 + # Some platforms can blur the transparent background (currently only Windows 10 is supported). + blur: false + + # Specifies a colorscheme to use (alternatively the colors can be inlined). + colors: "default" + + # Hyperlinks (via OSC-8) can be stylized and colorized on hover. + hyperlink_decoration: + normal: dotted + hover: underline + +# Color Profiles +# -------------- +# +# Here you can configure your color profiles, whereas a color can be expressed in standard web format, +# with a leading # followed by red/green/blue values, 7 characters in total. +# You may alternatively use 0x as prefix instead of #. +# For example 0x102030 is equal to '#102030'. +color_schemes: + default: + # Default colors + default: + # Default background color (this can be made transparent, see above). + background: "#11171d" + # Default foreground text color. + foreground: "#e3e0cd" + + # Background image support. + background_image: + # Full path to the image to use as background. + # + # Default: empty string (disabled) + # path: '/Users/trapni/Pictures/bg.png' + + # Image opacity to be applied to make the image not look to intense + # and not get too distracted by the background image. + # Default: 0.5 + opacity: 0.5 + + # Optionally blurs background image to make it less distracting + # and keep the focus on the actual terminal contents. + # + # Default: false + blur: false + + # Mandates the color of the cursor and potentially overridden text. + # + # The color can be specified in RGB as usual, plus + # - CellForeground: Selects the cell's foreground color. + # - CellBackground: Selects the cell's background color. + cursor: + # Specifies the color to be used for the actual cursor shape. + # + # Default: CellForeground + default: "#00d992" + # Specifies the color to be used for the characters that would + # be covered otherwise. + # + # Default: CellBackground + text: CellBackground + + # color to pick for hyperlinks decoration, when hovering + hyperlink_decoration: + normal: "#f0f000" + hover: "#ff0000" + + # Color to pick for vi_mode highlights. + # The value format is equivalent to how selection colors and alpha contribution is defined. + vi_mode_highlight: + foreground: CellForeground + foreground_alpha: 1.0 + background: "#ffa500" + background_alpha: 0.5 + + # Color override for the current cursor's line when in vi_mode: + # The value format is equivalent to how selection colors and alpha contribution is defined. + # To disable cursorline in vi_mode, set foreground to CellForeground and background to CellBackground. + vi_mode_cursorline: + foreground: "#ffffff" + foreground_alpha: 0.2 + background: "#808080" + background_alpha: 0.4 + + # The text selection color can be customized here. + # Leaving a value empty will default to the inverse of the content's color values. + # + # The color can be specified in RGB as usual, plus + # - CellForeground: Selects the cell's foreground color. + # - CellBackground: Selects the cell's background color. + selection: + # Specifies the color to be used for the selected text. + # + # Default: CellBackground + foreground: CellForeground + # Specifies the alpha value (between 0.0 and 1.0) the configured foreground color + # will contribute to the original color. + # + # A value of 1.0 will paint over, whereas a value of 0.5 will give + # a look of a half-transparently painted grid cell. + foreground_alpha: 1.0 + # Specifies the color to be used for the selected background. + # + # Default: CellForeground + background: "#4040f0" + # Specifies the alpha value (between 0.0 and 1.0) the configured background color + # will contribute to the original color. + # + # A value of 1.0 will paint over, whereas a value of 0.5 will give + # a look of a half-transparently painted grid cell. + background_alpha: 0.5 + + # Search match highlighting. Similar to selection highlighting. + search_highlight: + foreground: CellBackground + background: CellForeground + foreground_alpha: 1.0 + background_alpha: 1.0 + + # Search match highlighting (focused term). Similar to selection highlighting. + search_highlight_focused: + foreground: CellBackground + background: CellForeground + foreground_alpha: 1.0 + background_alpha: 1.0 + + # Coloring for the word that is highlighted due to double-clicking it. + # + # The format is similar to selection highlighting. + word_highlight_current: + foreground: CellForeground + background: "#909090" + foreground_alpha: 1.0 + background_alpha: 0.5 + + # Coloring for the word that is highlighted due to double-clicking + # another word that matches this word. + # + # The format is similar to selection highlighting. + word_highlight_other: + foreground: CellForeground + background: "#909090" + foreground_alpha: 1.0 + background_alpha: 0.5 + + # Defines the colors to be used for the Indicator status line. + # Values must be in RGB form. + indicator_statusline: + # Default: default background + foreground: "#808080" + # Default: default foreground + background: "#000000" + + # Alternate colors to be used for the indicator status line when + # this terminal is currently not in focus. + indicator_statusline_inactive: + # Default: default background + foreground: "#808080" + # Default: default foreground + background: "#000000" + + # Colors for the IME (Input Method Editor) area. + input_method_editor: + # Default: default #FFFFFF + foreground: "#FFFFFF" + # Default: default #FF0000 + background: "#FF0000" + + # Normal colors + normal: + black: "#000000" + red: "#ff0035" + green: "#85ff00" + yellow: "#ffc900" + blue: "#00a7ff" + magenta: "#cb01ff" + cyan: "#00e0ff" + white: "#f0f0f0" + + # Bright colors + bright: + black: "#000000" + red: "#ffb4af" + green: "#d2ffba" + yellow: "#ffebb7" + blue: "#b1deff" + magenta: "#edb5ff" + cyan: "#bdf4ff" + white: "#ffffff" + # Dim (faint) colors, if not set, they're automatically computed based on normal colors. + # dim: + # black: '#1d1f21' + # red: '#cc342b' + # green: '#198844' + # yellow: '#fba922' + # blue: '#3971ed' + # magenta: '#a36ac7' + # cyan: '#3971ed' + # white: '#c5c8c6' + +# Key Bindings +# ------------ +# +# In this section you can customize key bindings. +# Each array element in `input_mapping` represents one key binding, +# whereas `mods` represents an array of keyboard modifiers that must be pressed - as well as +# the `key` or `mouse` - in order to activate the corresponding action, +# +# Additionally one can filter input mappings based on special terminal modes using the `modes` option: +# - Alt : The terminal is currently in alternate screen buffer, otherwise it is in primary screen buffer. +# - AppCursor : The application key cursor mode is enabled (otherwise it's normal cursor mode). +# - AppKeypad : The application keypad mode is enabled (otherwise it's the numeric keypad mode). +# - Select : The terminal has currently an active grid cell selection (such as selected text). +# - Insert : The Insert input mode is active, that is the default and one way to test +# that the input mode is not in normal mode or any of the visual select modes. +# - Search : There is a search term currently being edited or already present. +# - Trace : The terminal is currently in trace-mode, i.e., each VT sequence can be interactively +# single-step executed using custom actions. See TraceEnter/TraceStep/TraceLeave actions. +# +# You can combine these modes by concatenating them via | and negate a single one +# by prefixing with ~. +# +# The `modes` option defaults to not filter at all (the input mappings always +# match based on modifier and key press / mouse event). +# +# `key` represents keys on your keyboard, and `mouse` represents buttons +# as well as the scroll wheel. +# +# Modifiers: +# - Alt +# - Control +# - Shift +# - Meta (this is the Windows key on Windows OS, and the Command key on OS/X, and Meta on anything else) +# +# Keys can be expressed case-insensitively symbolic: +# APOSTROPHE, ADD, BACKSLASH, COMMA, DECIMAL, DIVIDE, EQUAL, LEFT_BRACKET, +# MINUS, MULTIPLY, PERIOD, RIGHT_BRACKET, SEMICOLON, SLASH, SUBTRACT, SPACE +# Enter, Backspace, Tab, Escape, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, +# DownArrow, LeftArrow, RightArrow, UpArrow, Insert, Delete, Home, End, PageUp, PageDown, +# Numpad_NumLock, Numpad_Divide, Numpad_Multiply, Numpad_Subtract, Numpad_CapsLock, +# Numpad_Add, Numpad_Decimal, Numpad_Enter, Numpad_Equal, +# Numpad_0, Numpad_1, Numpad_2, Numpad_3, Numpad_4, +# Numpad_5, Numpad_6, Numpad_7, Numpad_8, Numpad_9 +# or in case of standard characters, just the character. +# +# Mouse buttons can be one of the following self-explanatory ones: +# Left, Middle, Right, WheelUp, WheelDown +# +# Actions: +# - CancelSelection Cancels currently active selection, if any. +# - ChangeProfile Changes the profile to the given profile `name`. +# - ClearHistoryAndReset Clears the history, performs a terminal hard reset and attempts to force a redraw of the currently running application. +# - CopyPreviousMarkRange Copies the most recent range that is delimited by vertical line marks into clipboard. +# - CopySelection Copies the current selection into the clipboard buffer. +# - DecreaseFontSize Decreases the font size by 1 pixel. +# - DecreaseOpacity Decreases the default-background opacity by 5%. +# - FocusNextSearchMatch Focuses the next search match (if any). +# - FocusPreviousSearchMatch Focuses the next previous match (if any). +# - FollowHyperlink Follows the hyperlink that is exposed via OSC 8 under the current cursor position. +# - IncreaseFontSize Increases the font size by 1 pixel. +# - IncreaseOpacity Increases the default-background opacity by 5%. +# - NewTerminal Spawns a new terminal at the current terminals current working directory. +# - NoSearchHighlight Disables current search highlighting, if anything is still highlighted due to a prior search. +# - OpenConfiguration Opens the configuration file. +# - OpenFileManager Opens the current working directory in a system file manager. +# - PasteClipboard Pastes clipboard to standard input. Pass boolean parameter 'strip' to indicate whether or not to strip repetitive whitespaces down to one and newlines to whitespaces. +# - PasteSelection Pastes current selection to standard input. +# - Quit Quits the application. +# - ReloadConfig Forces a configuration reload. +# - ResetConfig Overwrites current configuration with builtin default configuration and loads it. Attention, all your current configuration will be lost due to overwrite! +# - ResetFontSize Resets font size to what is configured in the config file. +# - ScreenshotVT Takes a screenshot in form of VT escape sequences. +# - ScrollDown Scrolls down by the multiplier factor. +# - ScrollMarkDown Scrolls one mark down (if none present, bottom of the screen) +# - ScrollMarkUp Scrolls one mark up +# - ScrollOneDown Scrolls down by exactly one line. +# - ScrollOneUp Scrolls up by exactly one line. +# - ScrollPageDown Scrolls a page down. +# - ScrollPageUp Scrolls a page up. +# - ScrollToBottom Scrolls to the bottom of the screen buffer. +# - ScrollToTop Scrolls to the top of the screen buffer. +# - ScrollUp Scrolls up by the multiplier factor. +# - SearchReverse Initiates search mode (starting to search at current cursor position, moving upwards). +# - SendChars Writes given characters in `chars` member to the applications input. +# - ToggleAllKeyMaps Disables/enables responding to all keybinds (this keybind will be preserved when disabling all others). +# - ToggleFullScreen Enables/disables full screen mode. +# - ToggleInputProtection Enables/disables terminal input protection. +# - ToggleStatusLine Shows/hides the VT320 compatible Indicator status line. +# - ToggleTitleBar Shows/Hides titlebar +# - TraceBreakAtEmptyQueue Executes any pending VT sequence from the VT sequence buffer in trace mode, then waits. +# - TraceEnter Enables trace mode, suspending execution until explicitly requested to continue (See TraceLeave and TraceStep). +# - TraceLeave Disables trace mode. Any pending VT sequence will be flushed out and normal execution will be resumed. +# - TraceStep Executes a single VT sequence that is to be executed next. +# - ViNormalMode Enters/Leaves Vi-like normal mode. The cursor can then be moved via h/j/k/l movements in normal mode and text can be selected via v, yanked via y, and clipboard pasted via p. +# - WriteScreen Writes VT sequence in `chars` member to the screen (bypassing the application). + +input_mapping: + - { mods: [Control], mouse: Left, action: FollowHyperlink } + - { mods: [], mouse: Middle, action: PasteSelection } + - { mods: [], mouse: WheelDown, action: ScrollDown } + - { mods: [], mouse: WheelUp, action: ScrollUp } + - { mods: [Alt], key: Enter, action: ToggleFullscreen } + - { mods: [Alt], mouse: WheelDown, action: DecreaseOpacity } + - { mods: [Alt], mouse: WheelUp, action: IncreaseOpacity } + - { mods: [Control, Alt], key: S, action: ScreenshotVT } + - { mods: [Control, Shift], key: Plus, action: IncreaseFontSize } + - { mods: [Control], key: "0", action: ResetFontSize } + - { mods: [Control, Shift], key: Minus, action: DecreaseFontSize } + - { mods: [Control, Shift], key: "_", action: DecreaseFontSize } + - { mods: [Control, Shift], key: N, action: NewTerminal } + - { mods: [Control, Shift], key: V, action: PasteClipboard, strip: false } + - { mods: [Control, Alt], key: V, action: PasteClipboard, strip: true } + - { mods: [Control], key: C, action: CopySelection, mode: "Select|Insert" } + - { mods: [Control], key: C, action: CancelSelection, mode: "Select|Insert" } + - { + mods: [Control], + key: V, + action: PasteClipboard, + strip: false, + mode: "Select|Insert", + } + - { mods: [Control], key: V, action: CancelSelection, mode: "Select|Insert" } + - { mods: [], key: Escape, action: CancelSelection, mode: "Select|Insert" } + - { mods: [Control, Shift], key: Space, action: ViNormalMode, mode: "Insert" } + - { mods: [Control, Shift], key: Comma, action: OpenConfiguration } + - { mods: [Control, Shift], key: Q, action: Quit } + - { mods: [Control], mouse: WheelDown, action: DecreaseFontSize } + - { mods: [Control], mouse: WheelUp, action: IncreaseFontSize } + - { mods: [Shift], key: DownArrow, action: ScrollOneDown } + - { mods: [Shift], key: End, action: ScrollToBottom } + - { mods: [Shift], key: Home, action: ScrollToTop } + - { mods: [Shift], key: PageDown, action: ScrollPageDown } + - { mods: [Shift], key: PageUp, action: ScrollPageUp } + - { mods: [Shift], key: UpArrow, action: ScrollOneUp } + - { mods: [Control, Alt], key: K, action: ScrollMarkUp, mode: "~Alt" } + - { mods: [Control, Alt], key: J, action: ScrollMarkDown, mode: "~Alt" } + - { mods: [Shift], mouse: WheelDown, action: ScrollPageDown } + - { mods: [Shift], mouse: WheelUp, action: ScrollPageUp } + - { mods: [Control, Alt], key: O, action: OpenFileManager } + - { mods: [Control, Alt], key: ".", action: ToggleStatusLine } + - { mods: [Control, Shift], key: "F", action: SearchReverse } + - { mods: [Control, Shift], key: "H", action: NoSearchHighlight } + - { mods: [], key: "F3", action: FocusNextSearchMatch } + - { mods: [Shift], key: "F3", action: FocusPreviousSearchMatch } +# - { mods: [Control, Meta], key: 'E', action: TraceEnter, mode: "~Trace" } +# - { mods: [Control, Meta], key: 'E', action: TraceLeave, mode: "Trace" } +# - { mods: [Control, Meta], key: 'N', action: TraceStep, mode: "Trace" } +# - { mods: [Control, Meta], key: 'F', action: TraceBreakAtEmptyQueue, mode: "Trace" } From 02a8033fede04951a207b7608b71c5f1568a2fd0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 29 Oct 2023 09:48:27 +0100 Subject: [PATCH 148/656] nvim: lazy update --- .config/nvim/lazy-lock.json | 87 +++++++++++++------------ .config/nvim/lua/config/lazy.lua | 2 - .config/nvim/lua/config/options.lua | 1 + .config/nvim/lua/plugins/formatting.lua | 2 + 4 files changed, 48 insertions(+), 44 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 2bc7d9e..3712cb0 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,57 +1,60 @@ { - "LazyVim": { "branch": "main", "commit": "758520dcbbf0f40774beceaf65de3f464b23fc3f" }, - "LuaSnip": { "branch": "master", "commit": "6085dfd1808fb0059e13d160317a10c3a68c5407" }, - "SchemaStore.nvim": { "branch": "main", "commit": "08ab25507a92e22cec433f6750bb4a56a8cec22d" }, - "alpha-nvim": { "branch": "main", "commit": "234822140b265ec4ba3203e3e0be0e0bb826dff5" }, + "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, + "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "7a4bcdadafc59a5bedbd866c643fa486d8cca4a1" }, + "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "7ad988c2509ff1869c26ecdabebadc7943e78f6f" }, + "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "1a8032ae496916ccc7a7a52ee79194fbef29f462" }, - "dressing.nvim": { "branch": "master", "commit": "8f4d62b7817455896a3c73cab642002072c114bc" }, + "copilot.lua": { "branch": "master", "commit": "688762a3999eeee54b78f447719854f52672ec02" }, + "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, + "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "2272cf9f0c092e908f892f5b075e6cc2a8d3d07d" }, - "indent-blankline.nvim": { "branch": "master", "commit": "c60e76a638b1d2a4299b9bfc38461cdb02ae8397" }, - "lazy.nvim": { "branch": "main", "commit": "59335c5b9d116f5d3948f833288a89e2a829a005" }, - "lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "e2705063f395b44f676cd26596a11007a2cbd3bd" }, - "mason.nvim": { "branch": "main", "commit": "d66c60e17dd6fd8165194b1d14d21f7eb2c1697a" }, - "mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, - "mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, - "mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, - "mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, - "mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "71f1841ba6c652908678cece623f52c1fea8a6cd" }, - "neoconf.nvim": { "branch": "main", "commit": "466ba6f645f63f91ac84d3dd986acede5d107f39" }, - "neodev.nvim": { "branch": "main", "commit": "8cc5eb23452d355ea95b7253ca1367c3420352ff" }, - "noice.nvim": { "branch": "main", "commit": "8d775bc8ac1a594a2ecdb80e092330afd916e4c3" }, - "none-ls.nvim": { "branch": "main", "commit": "f39f627bbdfb33cc4ae4a95b4708e7dba7b9aafc" }, - "nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, - "nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, - "nvim-lspconfig": { "branch": "master", "commit": "361a2878a41f23452457eec12a807ff59bc75882" }, + "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, + "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, + "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, + "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, + "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, + "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, + "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, + "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, + "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, + "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, + "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, + "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, + "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, + "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, + "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, + "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, + "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, - "nvim-spectre": { "branch": "master", "commit": "97cfd1b0f5a6ab35979ce1bee6c17f54745fd1e5" }, - "nvim-treesitter": { "branch": "master", "commit": "812c2dd8fe838bb26cb53f0d251116468c2cae37" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "0c136439fb93fd94db9106250ff6f6858101422b" }, - "nvim-web-devicons": { "branch": "master", "commit": "45d0237c427baba8cd05e0ab26d30e2ee58c2c82" }, - "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, - "plenary.nvim": { "branch": "master", "commit": "9ce85b0f7dcfe5358c0be937ad23e456907d410b" }, + "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, + "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, + "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, + "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, + "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, - "telescope.nvim": { "branch": "master", "commit": "8c69f58427f98b2ca39a90a36db830c06e30351c" }, - "todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, - "tokyonight.nvim": { "branch": "main", "commit": "ebe613949edc0ac2cd4b911d502c67b023673d87" }, - "trouble.nvim": { "branch": "main", "commit": "3f85d8ed30e97ceeddbbcf80224245d347053711" }, - "vim-illuminate": { "branch": "master", "commit": "1b5d70332a51a1de05f281069851865a2bb1e6d7" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, + "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, + "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, + "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, - "which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" }, + "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, - "yanky.nvim": { "branch": "main", "commit": "590a713b0372485f595eea36e7e3ab2069946794" } + "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index a0e2c80..4e1c2e3 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -12,8 +12,6 @@ require("lazy").setup({ { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.formatting.conform" }, - { import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "lazyvim.plugins.extras.lang.go" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 298a8c0..18c2447 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -9,6 +9,7 @@ opt.clipboard = "" vim.g.do_filetype_lua = 1 +vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.scrolloff = 7 diff --git a/.config/nvim/lua/plugins/formatting.lua b/.config/nvim/lua/plugins/formatting.lua index e51693d..07e34da 100644 --- a/.config/nvim/lua/plugins/formatting.lua +++ b/.config/nvim/lua/plugins/formatting.lua @@ -3,6 +3,8 @@ return { "stevearc/conform.nvim", opts = { formatters_by_ft = { + ["html"] = { { "prettierd", "prettier" } }, + ["sass"] = { { "prettierd", "prettier" } }, ["proto"] = { { "buf" } }, ["terraform"] = { { "terraform_fmt" } }, }, From 2f0cc73f6831457ff3a45fbccda9af14047996fe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 29 Oct 2023 09:54:18 +0100 Subject: [PATCH 149/656] wezterm: default font size --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 7b445fd..a0c8f0b 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -93,7 +93,7 @@ return { warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, allow_square_glyphs_to_overflow_width = "Always", - font_size = 13.5, + font_size = 20, command_palette_font_size = 13.5, line_height = 1.1, initial_cols = 132, From fe48f382c27992c33f47cad60af19295f9b4d1fe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Nov 2023 20:04:31 +0100 Subject: [PATCH 150/656] nvim: telescope layout --- .config/nvim/lua/plugins/editor.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index c1ca23a..0ce8233 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -3,4 +3,27 @@ return { "folke/flash.nvim", enabled = false, }, + { + "telescope.nvim", + opts = { + defaults = { + layout_strategy = "vertical", + layout_config = { + anchor = "top", + vertical = { + prompt_position = "top", + mirror = true, + -- preview_width = 0.5, + preview_height = 0.5, + }, + width = 0.9, + height = 0.9, + preview_cutoff = 10, + }, + -- sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, + }, + }, + }, } From 8cd16682e63cac38ee009fece051a40a9bc6f74d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 2 Nov 2023 20:04:55 +0100 Subject: [PATCH 151/656] nvim: lazyvim update --- .config/nvim/lazy-lock.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 3712cb0..fbea556 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,26 +1,26 @@ { "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "976e7e3e9c400b99f1cb337b2ce804a9652571ec" }, - "bufferline.nvim": { "branch": "main", "commit": "357cc8f8eeb64702e6fcf2995e3b9becee99a5d3" }, - "catppuccin": { "branch": "main", "commit": "b359f3eec32dcc6b7c9a26901dc235bbb6cd8a0b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "98afa085f8bee6a7d4ffb1b025248e4d0555a14b" }, + "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, + "catppuccin": { "branch": "main", "commit": "40dc9f0621c55bd40da4ad0731fac44d15bb393a" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "3d639d6155a63e3143920b739cee02f3faa1b4db" }, + "conform.nvim": { "branch": "master", "commit": "2c1e852fbf723b7d89b14fd28089472d92edeeb9" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "688762a3999eeee54b78f447719854f52672ec02" }, "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, - "indent-blankline.nvim": { "branch": "master", "commit": "64fdadb3ada61c4297452f7662789b01ee82ffcb" }, + "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" }, + "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, @@ -28,7 +28,7 @@ "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "f3f5d756f4043180523bb69072a104f7216b5f42" }, + "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, @@ -38,7 +38,7 @@ "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, - "nvim-treesitter": { "branch": "master", "commit": "d2fe87062dde25e7fdadac061f6ca04541275e31" }, + "nvim-treesitter": { "branch": "master", "commit": "198015cca117d41e7d1fd404e0cdf3235084749b" }, "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, @@ -56,5 +56,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, - "yanky.nvim": { "branch": "main", "commit": "c1211c6c6d983a72c74dde44df8575a64d50562f" } + "yanky.nvim": { "branch": "main", "commit": "ad6484873a88c1012c67eda8e2fba7bafef4f135" } } \ No newline at end of file From 4878f466b482cc221318998a6fb0568f78522d7b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 19 Nov 2023 13:50:41 +0100 Subject: [PATCH 152/656] nerdctl + buildkit config --- .config/buildkit/buildkitd.toml | 6 ++++++ .config/nerdctl/nerdctl.toml | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 .config/buildkit/buildkitd.toml create mode 100644 .config/nerdctl/nerdctl.toml diff --git a/.config/buildkit/buildkitd.toml b/.config/buildkit/buildkitd.toml new file mode 100644 index 0000000..728ed62 --- /dev/null +++ b/.config/buildkit/buildkitd.toml @@ -0,0 +1,6 @@ +[worker.oci] + enabled = false + +[worker.containerd] + enabled = true + rootless = true diff --git a/.config/nerdctl/nerdctl.toml b/.config/nerdctl/nerdctl.toml new file mode 100644 index 0000000..6bbbda3 --- /dev/null +++ b/.config/nerdctl/nerdctl.toml @@ -0,0 +1,3 @@ +debug_full = false +snapshotter = "native" +insecure_registry = false From 29d9faa20b146e5313a6cb223869bb3444994c4a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 26 Dec 2023 21:18:49 +0100 Subject: [PATCH 153/656] git: add gerrit-clone, new aliases --- .gitconfig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitconfig b/.gitconfig index ee18805..318dcc8 100644 --- a/.gitconfig +++ b/.gitconfig @@ -37,13 +37,14 @@ sl = branchless smartlog sync = branchless sync sw = branchless switch s = branchless switch -i -n = branchless switch -d main +new = !git fetch -u origin main:main && git branchless switch -d origin/main + +gerrit-clone = "!f() { git clone ssh://gerrit-ssh.shelman.io:2222/$1 && (cd $1 && mkdir -p `git rev-parse --git-dir`/hooks/ && scp -O -P 2222 gerrit-ssh.shelman.io:hooks/commit-msg `git rev-parse --git-dir`/hooks/commit-msg && chmod +x `git rev-parse --git-dir`/hooks/commit-msg && git branchless init); }; f" -gerrit-new = !git fetch origin main && git checkout --detach origin/main gerrit-push = !git push origin HEAD:refs/for/main gerrit-push-wip = !git push origin HEAD:refs/for/main%wip gerrit-push-ready = !git push origin HEAD:refs/for/main%ready -gerrit-replace = !git commit --amend -a && git push origin HEAD:refs/for/main +gerrit-replace = !git branchless amend && git push origin HEAD:refs/for/main gerrit-config = !git fetch origin refs/meta/config:refs/remotes/origin/meta/config && git checkout FETCH_HEAD gerrit-config-push = !git push origin HEAD:refs/meta/config gp = gerrit-push From c2023b81ac609d93e57bb1c10a65dc840bb22f74 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 26 Dec 2023 21:36:25 +0100 Subject: [PATCH 154/656] git: add gerrit-switch alias to select a change interactively --- .gitconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitconfig b/.gitconfig index 318dcc8..6142a4a 100644 --- a/.gitconfig +++ b/.gitconfig @@ -41,6 +41,12 @@ new = !git fetch -u origin main:main && git branchless switch -d origin/main gerrit-clone = "!f() { git clone ssh://gerrit-ssh.shelman.io:2222/$1 && (cd $1 && mkdir -p `git rev-parse --git-dir`/hooks/ && scp -O -P 2222 gerrit-ssh.shelman.io:hooks/commit-msg `git rev-parse --git-dir`/hooks/commit-msg && chmod +x `git rev-parse --git-dir`/hooks/commit-msg && git branchless init); }; f" +gerrit-switch = !(ssh `git remote get-url origin | cut -d / -f -3` gerrit query --format=JSON --current-patch-set status:open project:`git remote get-url origin | cut -d / -f 4-` \ + | jq -sr 'map(select(.number) | \"\\(.number) @ \\(.currentPatchSet.ref) - \\(.subject)\")|join(\"\\n\")' \ + | fzf +s -d ' ' \ + | cut -d ' ' -f3 \ + | xargs -n1 git fetch origin) && git checkout FETCH_HEAD + gerrit-push = !git push origin HEAD:refs/for/main gerrit-push-wip = !git push origin HEAD:refs/for/main%wip gerrit-push-ready = !git push origin HEAD:refs/for/main%ready From 3c12e2f7463ca3acd58f61ab5e78f0379cbc59c1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Dec 2023 00:43:23 +0100 Subject: [PATCH 155/656] git: add git-st script --- .gitconfig | 7 ++++++- bin/git-st | 31 +++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100755 bin/git-st diff --git a/.gitconfig b/.gitconfig index 6142a4a..6deb7af 100644 --- a/.gitconfig +++ b/.gitconfig @@ -39,7 +39,12 @@ sw = branchless switch s = branchless switch -i new = !git fetch -u origin main:main && git branchless switch -d origin/main -gerrit-clone = "!f() { git clone ssh://gerrit-ssh.shelman.io:2222/$1 && (cd $1 && mkdir -p `git rev-parse --git-dir`/hooks/ && scp -O -P 2222 gerrit-ssh.shelman.io:hooks/commit-msg `git rev-parse --git-dir`/hooks/commit-msg && chmod +x `git rev-parse --git-dir`/hooks/commit-msg && git branchless init); }; f" +gerrit-clone = "!f() { \ + git clone ssh://gerrit-ssh.shelman.io:2222/$1 \ + && (cd $1 && mkdir -p `git rev-parse --git-dir`/hooks/ \ + && scp -O -P 2222 gerrit-ssh.shelman.io:hooks/commit-msg `git rev-parse --git-dir`/hooks/commit-msg \ + && chmod +x `git rev-parse --git-dir`/hooks/commit-msg \ + && git branchless init); }; f" gerrit-switch = !(ssh `git remote get-url origin | cut -d / -f -3` gerrit query --format=JSON --current-patch-set status:open project:`git remote get-url origin | cut -d / -f 4-` \ | jq -sr 'map(select(.number) | \"\\(.number) @ \\(.currentPatchSet.ref) - \\(.subject)\")|join(\"\\n\")' \ diff --git a/bin/git-st b/bin/git-st new file mode 100755 index 0000000..a982342 --- /dev/null +++ b/bin/git-st @@ -0,0 +1,31 @@ +#!/usr/bin/env bash + +git branchless smartlog || true +printf '\n' + +awk -vOFS='' ' + NR==FNR { + all[i++] = $0; + difffiles[$1] = $0; + next; + } + ! ($2 in difffiles) { + print; next; + } + { + gsub($2, difffiles[$2]); + print; + } + END { + if (NR != FNR) { + # Had diff output + exit; + } + # Had no diff output, just print lines from git status -sb + for (i in all) { + print all[i]; + } + } +' \ + <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //')\ + <(git -c color.status=always status -sb) From 635841761e027852d74d5a99ff5b0ea6853c109e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Dec 2023 12:37:56 +0100 Subject: [PATCH 156/656] nvim: add templ filetype --- .config/nvim/lazy-lock.json | 84 ++++++++++++++--------------- .config/nvim/lua/config/options.lua | 7 +++ 2 files changed, 49 insertions(+), 42 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index fbea556..4424d56 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,54 +1,54 @@ { - "LazyVim": { "branch": "main", "commit": "9a6b0f8928ad2e802cae36c6b05b94cd9a73451f" }, - "LuaSnip": { "branch": "master", "commit": "80a8528f084a97b624ae443a6f50ff8074ba486b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "98afa085f8bee6a7d4ffb1b025248e4d0555a14b" }, - "bufferline.nvim": { "branch": "main", "commit": "9e8d2f695dd50ab6821a6a53a840c32d2067a78a" }, - "catppuccin": { "branch": "main", "commit": "40dc9f0621c55bd40da4ad0731fac44d15bb393a" }, + "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, + "LuaSnip": { "branch": "master", "commit": "07f5d974203a5d957e7b464020261a657f59556d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "771c9517bf36f431361cbaac1ddc8499c7e5c5d3" }, + "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, + "catppuccin": { "branch": "main", "commit": "4fbab1f01488718c3d54034a473d0346346b90e3" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "2c1e852fbf723b7d89b14fd28089472d92edeeb9" }, + "conform.nvim": { "branch": "master", "commit": "86393c143b8d1b7bdae1449fd25de315fd967fd7" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "688762a3999eeee54b78f447719854f52672ec02" }, - "dashboard-nvim": { "branch": "master", "commit": "c71cab740e2add248c54c458b5ca9d6e77c30fa6" }, - "dressing.nvim": { "branch": "master", "commit": "1f2d1206a03bd3add8aedf6251e4534611de577f" }, - "friendly-snippets": { "branch": "main", "commit": "43727c2ff84240e55d4069ec3e6158d74cb534b6" }, - "gitsigns.nvim": { "branch": "main", "commit": "af0f583cd35286dd6f0e3ed52622728703237e50" }, - "indent-blankline.nvim": { "branch": "master", "commit": "29be0919b91fb59eca9e90690d76014233392bef" }, - "lazy.nvim": { "branch": "main", "commit": "16603c6917435d8446f7357cb61095138a417085" }, - "lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "40301e1c74bc0946eece13edf2b1c561cc497491" }, - "mason.nvim": { "branch": "main", "commit": "eabf6d347fdb75be360d4c0ced1145670a171453" }, - "mini.ai": { "branch": "main", "commit": "fc9ce93eb8d58ce1a39101928fb5ea8f8b97844c" }, - "mini.bufremove": { "branch": "main", "commit": "f53c7f27e36009fe61563c11cde154b94a0e5b94" }, - "mini.comment": { "branch": "main", "commit": "e4320af992cd053a7da2f33d9f63a86c2ab6ce59" }, - "mini.indentscope": { "branch": "main", "commit": "cbc07203ca8faae952ca373c1f6cc5881ce97af0" }, - "mini.surround": { "branch": "main", "commit": "862cfaef72d789d320625ec34e2488a5cc8fd423" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "1236db954ce502eb5b340bcdb69aa057cc372e8d" }, - "neoconf.nvim": { "branch": "main", "commit": "00dcf2b81c45de1768b4171faa16729f0888cfb8" }, - "neodev.nvim": { "branch": "main", "commit": "80487e4f7bfa11c2ef2a1b461963db019aad6a73" }, + "copilot.lua": { "branch": "master", "commit": "858bbfa6fa81c88fb1f64107d7981f1658619e0a" }, + "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, + "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, + "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, + "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, + "indent-blankline.nvim": { "branch": "master", "commit": "0dca9284bce128e60da18693d92999968d6cb523" }, + "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, + "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, + "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, + "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, + "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, + "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, + "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, + "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, + "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, + "neodev.nvim": { "branch": "main", "commit": "029899ea32d3dc8ed8c910ceca2ee5d16e566c11" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "c0c8e347ceac53030f5c1ece1c5a5b6a17a25b32" }, - "nvim-cmp": { "branch": "main", "commit": "51260c02a8ffded8e16162dcf41a23ec90cfba62" }, - "nvim-lint": { "branch": "master", "commit": "962a76877a4479a535b935bd7ef35ad41ba308b2" }, - "nvim-lspconfig": { "branch": "master", "commit": "d0467b9574b48429debf83f8248d8cee79562586" }, - "nvim-navic": { "branch": "master", "commit": "0ffa7ffe6588f3417e680439872f5049e38a24db" }, - "nvim-noirbuddy": { "branch": "master", "commit": "67f945acee6da0ea4c11575c72ce8e930090ea95" }, - "nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" }, - "nvim-spectre": { "branch": "master", "commit": "696cff781a4a7ecc91549736835e2acbd00fe859" }, - "nvim-treesitter": { "branch": "master", "commit": "198015cca117d41e7d1fd404e0cdf3235084749b" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2806d83e3965017382ce08792ee527e708fa1bd4" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "e69a504baf2951d52e1f1fbb05145d43f236cbf1" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6be1192965df35f94b8ea6d323354f7dc7a557e4" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "92e688f013c69f90c9bbd596019ec10235bc51de" }, - "nvim-web-devicons": { "branch": "master", "commit": "5de460ca7595806044eced31e3c36c159a493857" }, + "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, + "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, + "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, + "nvim-lspconfig": { "branch": "master", "commit": "9099871a7c7e1c16122e00d70208a2cd02078d80" }, + "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, + "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, + "nvim-notify": { "branch": "master", "commit": "27a6649ba6b22828ccc67c913f95a5407a2d8bec" }, + "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, + "nvim-treesitter": { "branch": "master", "commit": "27f68c0b6a87cbad900b3d016425450af8268026" }, + "nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "0e2d5bd4cbe75849a013901555d436a48c6680cb" }, + "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, + "nvim-web-devicons": { "branch": "master", "commit": "43aa2ddf476012a2155f5f969ee55ab17174da7a" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "50012918b2fc8357b87cff2a7f7f0446e47da174" }, + "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "4522d7e3ea75ffddabdc39957168a8a7060b5df0" }, + "telescope.nvim": { "branch": "master", "commit": "ae6708a90b89a686f85b51288f488f4186dff2d4" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, @@ -56,5 +56,5 @@ "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, - "yanky.nvim": { "branch": "main", "commit": "ad6484873a88c1012c67eda8e2fba7bafef4f135" } + "yanky.nvim": { "branch": "main", "commit": "6bb9ffd3cad4c9876bda54e19d0659de28a4f84f" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 18c2447..608968e 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -14,3 +14,10 @@ vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.scrolloff = 7 vim.o.updatetime = 100 + +-- additional filetypes +vim.filetype.add({ + extension = { + templ = "templ", + }, +}) From 045541c72988d898d29f1616002fcf5b43fda24a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Dec 2023 12:38:18 +0100 Subject: [PATCH 157/656] buildkitd: use unprivileged containerd --- .config/buildkit/buildkitd.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/buildkit/buildkitd.toml b/.config/buildkit/buildkitd.toml index 728ed62..b273b2b 100644 --- a/.config/buildkit/buildkitd.toml +++ b/.config/buildkit/buildkitd.toml @@ -4,3 +4,4 @@ [worker.containerd] enabled = true rootless = true + address = "/run/user/1000/containerd/containerd.sock" From e73da671abc55a08b4c5df04d8b9e4e975bf8ccd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Dec 2023 12:38:40 +0100 Subject: [PATCH 158/656] zsh: set GOPROXY --- .zshrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.zshrc b/.zshrc index 215a5e6..9e79464 100644 --- a/.zshrc +++ b/.zshrc @@ -321,6 +321,7 @@ if [ -f '/home/dln/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/dln/goo ## Golang export PATH=$HOME/go/bin:$PATH +export GOPROXY=https://athens.aarn.shelman.io ## Ansible export ANSIBLE_NOCOWS=1 From 7540f0540d08ebb254e60f1492aadf7688ab714b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Dec 2023 12:39:05 +0100 Subject: [PATCH 159/656] zsh: abbr updates --- .config/zsh-abbr/user-abbreviations | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.config/zsh-abbr/user-abbreviations b/.config/zsh-abbr/user-abbreviations index 8ad9b83..b0d3a00 100644 --- a/.config/zsh-abbr/user-abbreviations +++ b/.config/zsh-abbr/user-abbreviations @@ -2,11 +2,12 @@ abbr "b"="git branch -va" abbr "c"="git commit" abbr "d"="git diff --stat -p -C --color-words" abbr "g"="git" +abbr "gsw"="git gerrit-switch" abbr "k"="kubectl" abbr "new"="git checkout --detach main" abbr "p"="git push" abbr "rec"="git record" -abbr "s"="git status" +abbr "s"="git st" abbr "sl"="git branchless smartlog" abbr "sw"="git branchless switch --interactive" abbr "sy"="git sync --pull" From ed3b8eeae76bbd3082ae1b5ce846e10d112ec4f9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 28 Dec 2023 11:27:46 +0100 Subject: [PATCH 160/656] git: fancy git-st status script --- bin/git-st | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/bin/git-st b/bin/git-st index a982342..764d628 100755 --- a/bin/git-st +++ b/bin/git-st @@ -1,7 +1,10 @@ #!/usr/bin/env bash -git branchless smartlog || true -printf '\n' +if git branchless query HEAD >/dev/null 2>&1; then + printf '\n ● \e[1m' + git branchless query HEAD + printf '\e[2;38;5;242m%*s\e[0m\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' '-' +fi awk -vOFS='' ' NR==FNR { @@ -27,5 +30,7 @@ awk -vOFS='' ' } } ' \ - <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //')\ - <(git -c color.status=always status -sb) + <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') \ + <(git -c color.status=always status -sb) + +printf '\n' From 4f0c383f9f36176559bd1fe25a15a7a0b2bdc497 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 2 Jan 2024 23:33:20 +0100 Subject: [PATCH 161/656] nvim: emoji cmp --- .config/nvim/lazy-lock.json | 37 +++++++++++++++++------------ .config/nvim/lua/config/lazy.lua | 1 + .config/nvim/lua/plugins/coding.lua | 8 +++++++ 3 files changed, 31 insertions(+), 15 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 4424d56..f320ffa 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,26 +1,28 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "07f5d974203a5d957e7b464020261a657f59556d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "771c9517bf36f431361cbaac1ddc8499c7e5c5d3" }, + "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, + "SchemaStore.nvim": { "branch": "main", "commit": "90149d11708d38037e340bf7a668e1a79217680d" }, "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, - "catppuccin": { "branch": "main", "commit": "4fbab1f01488718c3d54034a473d0346346b90e3" }, + "catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "86393c143b8d1b7bdae1449fd25de315fd967fd7" }, + "conform.nvim": { "branch": "master", "commit": "c4b2efb8aee4af0ef179a9b49ba401de3c4ef5d2" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "858bbfa6fa81c88fb1f64107d7981f1658619e0a" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, - "indent-blankline.nvim": { "branch": "master", "commit": "0dca9284bce128e60da18693d92999968d6cb523" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3c8a185da4b8ab7aef487219f5e001b11d4b6aaf" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, - "mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "9e82ded0515186edd4f69e4ce6b1a5f1b55b47e9" }, + "mason.nvim": { "branch": "main", "commit": "a09da6ac634926a299dd439da08bdb547a8ca011" }, "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, @@ -28,27 +30,32 @@ "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "029899ea32d3dc8ed8c910ceca2ee5d16e566c11" }, + "neodev.nvim": { "branch": "main", "commit": "2a8630847dbb93455936156c0689678e4eaee319" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" }, + "none-ls.nvim": { "branch": "main", "commit": "5c72382d14ea9debccf52dd06adff086e98f6e22" }, + "nui.nvim": { "branch": "main", "commit": "80445d015d2b5f9af0d9e8bce63d303bc86eda8a" }, "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, - "nvim-lint": { "branch": "master", "commit": "32f98300881f38f4e022391f240188fec42f74db" }, - "nvim-lspconfig": { "branch": "master", "commit": "9099871a7c7e1c16122e00d70208a2cd02078d80" }, + "nvim-dap": { "branch": "master", "commit": "f0dca670fa059eb89dda8869a6310c804241345c" }, + "nvim-dap-go": { "branch": "main", "commit": "a5cc8dcad43f0732585d4793deb02a25c4afb766" }, + "nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" }, + "nvim-lint": { "branch": "master", "commit": "4dbc7ec60b33b656f7c54bb945671a55b18699f2" }, + "nvim-lspconfig": { "branch": "master", "commit": "ce0e625df61be77abe1340fbc9afe9ad39b31dd8" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, - "nvim-notify": { "branch": "master", "commit": "27a6649ba6b22828ccc67c913f95a5407a2d8bec" }, + "nvim-notify": { "branch": "master", "commit": "ebcdd8219e2a2cbc0a4bef68002f6867f1fde269" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-treesitter": { "branch": "master", "commit": "27f68c0b6a87cbad900b3d016425450af8268026" }, + "nvim-treesitter": { "branch": "master", "commit": "65ef62092ef997d2ecf68ede01a0afbda17808c3" }, "nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "0e2d5bd4cbe75849a013901555d436a48c6680cb" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-web-devicons": { "branch": "master", "commit": "43aa2ddf476012a2155f5f969ee55ab17174da7a" }, + "nvim-web-devicons": { "branch": "master", "commit": "cff25ce621e6d15fae0b0bfe38c00be50ce38468" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "ae6708a90b89a686f85b51288f488f4186dff2d4" }, + "telescope.nvim": { "branch": "master", "commit": "3466159b0fcc1876483f6f53587562628664d850" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 4e1c2e3..8478c8c 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -18,6 +18,7 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.lang.json" }, { import = "lazyvim.plugins.extras.lang.typescript" }, { import = "lazyvim.plugins.extras.lang.yaml" }, + { import = "lazyvim.plugins.extras.lsp.none-ls" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index 563d752..f5b7e2e 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -3,4 +3,12 @@ return { "echasnovski/mini.pairs", enabled = false, }, + + { + "nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + opts = function(_, opts) + table.insert(opts.sources, { name = "emoji" }) + end, + }, } From f88aa21285c60c48e1743778bfa7342e71992bb8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Jan 2024 22:12:00 +0100 Subject: [PATCH 162/656] nvim: use cue fmt for cue files --- .config/nvim/lazy-lock.json | 42 ++++++++++++------------- .config/nvim/lua/plugins/formatting.lua | 1 + 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index f320ffa..2439d2b 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, - "SchemaStore.nvim": { "branch": "main", "commit": "90149d11708d38037e340bf7a668e1a79217680d" }, + "LuaSnip": { "branch": "master", "commit": "82108e7e31cc6fc223cc5df5cae6d89f70bb199f" }, + "SchemaStore.nvim": { "branch": "main", "commit": "fcb1522fefd0f9029b7dc71aa2664d2d0ead0fb3" }, "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, "catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -10,19 +10,19 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "c4b2efb8aee4af0ef179a9b49ba401de3c4ef5d2" }, + "conform.nvim": { "branch": "master", "commit": "75e7c5c7eb5fbd53f8b12dc420b31ec70770b231" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "858bbfa6fa81c88fb1f64107d7981f1658619e0a" }, + "copilot.lua": { "branch": "master", "commit": "b03617a6dc4bc88b65ab5deac1631da9a9c2dcaf" }, "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, - "friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" }, - "gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" }, + "friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" }, + "gitsigns.nvim": { "branch": "main", "commit": "3e6e91b09f0468c32d3b96dcacf4b947f037ce25" }, "indent-blankline.nvim": { "branch": "master", "commit": "3c8a185da4b8ab7aef487219f5e001b11d4b6aaf" }, "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "9e82ded0515186edd4f69e4ce6b1a5f1b55b47e9" }, - "mason.nvim": { "branch": "main", "commit": "a09da6ac634926a299dd439da08bdb547a8ca011" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" }, + "mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" }, "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, @@ -30,32 +30,32 @@ "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "2a8630847dbb93455936156c0689678e4eaee319" }, + "neodev.nvim": { "branch": "main", "commit": "be8d4d4cab6c13c6a572269c9d6a63774baba9a0" }, "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "none-ls.nvim": { "branch": "main", "commit": "5c72382d14ea9debccf52dd06adff086e98f6e22" }, - "nui.nvim": { "branch": "main", "commit": "80445d015d2b5f9af0d9e8bce63d303bc86eda8a" }, + "none-ls.nvim": { "branch": "main", "commit": "fbdcbf8e152529af846b3a333f039751829b84c2" }, + "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, - "nvim-dap": { "branch": "master", "commit": "f0dca670fa059eb89dda8869a6310c804241345c" }, + "nvim-dap": { "branch": "master", "commit": "aad46274f09ba29933e4cef2257cdda5ec19cf7a" }, "nvim-dap-go": { "branch": "main", "commit": "a5cc8dcad43f0732585d4793deb02a25c4afb766" }, - "nvim-dap-ui": { "branch": "master", "commit": "34160a7ce6072ef332f350ae1d4a6a501daf0159" }, + "nvim-dap-ui": { "branch": "master", "commit": "7e5e16427aaf814dc2d58e1b219def9ef2fa2435" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" }, - "nvim-lint": { "branch": "master", "commit": "4dbc7ec60b33b656f7c54bb945671a55b18699f2" }, - "nvim-lspconfig": { "branch": "master", "commit": "ce0e625df61be77abe1340fbc9afe9ad39b31dd8" }, + "nvim-lint": { "branch": "master", "commit": "8df53b5dde8ea80f0a039775777eae6648a10229" }, + "nvim-lspconfig": { "branch": "master", "commit": "796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, - "nvim-notify": { "branch": "master", "commit": "ebcdd8219e2a2cbc0a4bef68002f6867f1fde269" }, + "nvim-notify": { "branch": "master", "commit": "1576123bff3bed67bc673a3076e591abfe5d8ca9" }, "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-treesitter": { "branch": "master", "commit": "65ef62092ef997d2ecf68ede01a0afbda17808c3" }, - "nvim-treesitter-context": { "branch": "master", "commit": "652ec514d6ba8bc4a3c2de76c855fe668e2c7196" }, + "nvim-treesitter": { "branch": "master", "commit": "8cd2b230174efbf7b5d9f49fe2f90bda6b5eb16e" }, + "nvim-treesitter-context": { "branch": "master", "commit": "400a99ad43ac78af1148061da3491cba2637ad29" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" }, "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-web-devicons": { "branch": "master", "commit": "cff25ce621e6d15fae0b0bfe38c00be50ce38468" }, + "nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" }, "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "3466159b0fcc1876483f6f53587562628664d850" }, + "telescope.nvim": { "branch": "master", "commit": "4367e05c06d19f28c514e1498bcd9410f4bc65b2" }, "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, diff --git a/.config/nvim/lua/plugins/formatting.lua b/.config/nvim/lua/plugins/formatting.lua index 07e34da..1cd976c 100644 --- a/.config/nvim/lua/plugins/formatting.lua +++ b/.config/nvim/lua/plugins/formatting.lua @@ -3,6 +3,7 @@ return { "stevearc/conform.nvim", opts = { formatters_by_ft = { + ["cue"] = { { "cue_fmt" } }, ["html"] = { { "prettierd", "prettier" } }, ["sass"] = { { "prettierd", "prettier" } }, ["proto"] = { { "buf" } }, From 92c475e20fdc4f5dcf45ed77e061f40367213fb8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 25 Jan 2024 11:17:56 +0100 Subject: [PATCH 163/656] k9s: add <Shift-l> get all pod logs plugin --- .config/k9s/plugins.yaml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .config/k9s/plugins.yaml diff --git a/.config/k9s/plugins.yaml b/.config/k9s/plugins.yaml new file mode 100644 index 0000000..ef8a5bf --- /dev/null +++ b/.config/k9s/plugins.yaml @@ -0,0 +1,12 @@ +plugins: + raw-logs-follow: + shortCut: Shift-L + description: kubectl logs + scopes: + - po + command: bash + background: false + args: + - -c + - | + kubectl logs $NAME -n $NAMESPACE --context $CONTEXT | bat --wrap=never --pager="less" --force-colorization From affaebbc1397cc7829cf80b62f810da876590265 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 25 Jan 2024 11:25:37 +0100 Subject: [PATCH 164/656] k9s: add <Shift-k> ktoolbox plugin --- .config/k9s/plugins.yaml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.config/k9s/plugins.yaml b/.config/k9s/plugins.yaml index ef8a5bf..59b9f8c 100644 --- a/.config/k9s/plugins.yaml +++ b/.config/k9s/plugins.yaml @@ -10,3 +10,13 @@ plugins: - -c - | kubectl logs $NAME -n $NAMESPACE --context $CONTEXT | bat --wrap=never --pager="less" --force-colorization + toolbox: + shortCut: Shift-K + description: ktoolbox in current namespace + scopes: + - all + command: ktoolbox + background: false + args: + - -n + - $NAMESPACE From 09b2992cce682713035c506629b37573204271e0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 8 Feb 2024 10:23:41 +0100 Subject: [PATCH 165/656] nvim: updated yamlls schemas for k8s + friends --- .config/nvim/lua/plugins/lsp.lua | 35 +++++++++++++++++++++++++++++++ .config/nvim/lua/plugins/yaml.lua | 25 ---------------------- 2 files changed, 35 insertions(+), 25 deletions(-) create mode 100644 .config/nvim/lua/plugins/lsp.lua delete mode 100644 .config/nvim/lua/plugins/yaml.lua diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua new file mode 100644 index 0000000..a95915f --- /dev/null +++ b/.config/nvim/lua/plugins/lsp.lua @@ -0,0 +1,35 @@ +return { + { + "neovim/nvim-lspconfig", + opts = { + inlay_hints = { enabled = true }, + capabilities = { + workspace = { + didChangeWatchedFiles = { + dynamicRegistration = false, + }, + }, + }, + ---@type lspconfig.options + servers = { + yamlls = { + settings = { + yaml = { + schemas = { + kubernetes = "*.yaml", + ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*", + ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}", + ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}", + ["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}", + ["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}", + ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}", + ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}", + ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.29.1/all.json"] = "/*.yaml", + }, + }, + }, + }, + }, + }, + }, +} diff --git a/.config/nvim/lua/plugins/yaml.lua b/.config/nvim/lua/plugins/yaml.lua deleted file mode 100644 index d14f2a4..0000000 --- a/.config/nvim/lua/plugins/yaml.lua +++ /dev/null @@ -1,25 +0,0 @@ -return { - { - "someone-stole-my-name/yaml-companion.nvim", - dependencies = { - { "neovim/nvim-lspconfig" }, - { "nvim-lua/plenary.nvim" }, - { "nvim-telescope/telescope.nvim" }, - }, - config = function() - require("yaml-companion").setup() - require("telescope").load_extension("yaml_schema") - local cfg = require("yaml-companion").setup({ - -- Add any options here, or leave empty to use the default settings - -- Additional schemas available in Telescope picker - schemas = { - { - name = "Kubernetes 1.25.9", - uri = "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.25.9-standalone-strict/all.json", - }, - }, - }) - require("lspconfig")["yamlls"].setup(cfg) - end, - }, -} From 994ee848f6b7d9cda314a4bf8b83680f99c7c661 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 8 Feb 2024 10:23:55 +0100 Subject: [PATCH 166/656] nvim: osc7 goodness --- .config/nvim/lua/config/options.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 608968e..3e0ab0f 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -21,3 +21,10 @@ vim.filetype.add({ templ = "templ", }, }) + +-- AutoCommand OSC7 workaround for tmux +-- see https://github.com/neovim/neovim/issues/21771 +vim.api.nvim_create_autocmd("dirchanged", { + pattern = "*", + command = 'call chansend(v:stderr, printf("\\033]7;%s\\033", v:event.cwd))', +}) From 2c6762d8e61b2b0c2aefac7f2f852606b846c7c0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 12 Feb 2024 15:25:27 +0100 Subject: [PATCH 167/656] nvim: add comment string for CUE files --- .config/nvim/lua/config/autocmds.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua index 27e9e06..b5f7062 100644 --- a/.config/nvim/lua/config/autocmds.lua +++ b/.config/nvim/lua/config/autocmds.lua @@ -1,3 +1,16 @@ -- Autocmds are automatically loaded on the VeryLazy event -- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua -- Add any additional autocmds here + +local function augroup(name) + return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true }) +end + +-- Set comment string for CUE files +vim.api.nvim_create_autocmd("FileType", { + group = augroup("cue"), + pattern = { "cue" }, + callback = function(ev) + vim.bo[ev.buf].commentstring = "// %s" + end, +}) From 64d50a238b102850179cad785663bea4a71a8297 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 14 Feb 2024 21:37:25 +0100 Subject: [PATCH 168/656] zsh: Give atuin a whirl --- .config/atuin/config.toml | 188 ++++++++++++++++++++++++++++++++++++++ .zsh/history.zsh | 38 ++++++++ .zshrc | 13 +-- 3 files changed, 233 insertions(+), 6 deletions(-) create mode 100644 .config/atuin/config.toml create mode 100644 .zsh/history.zsh diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml new file mode 100644 index 0000000..7eacfda --- /dev/null +++ b/.config/atuin/config.toml @@ -0,0 +1,188 @@ +## where to store your database, default is your system data directory +## linux/mac: ~/.local/share/atuin/history.db +## windows: %USERPROFILE%/.local/share/atuin/history.db +# db_path = "~/.history.db" + +## where to store your encryption key, default is your system data directory +## linux/mac: ~/.local/share/atuin/key +## windows: %USERPROFILE%/.local/share/atuin/key +# key_path = "~/.key" + +## where to store your auth session token, default is your system data directory +## linux/mac: ~/.local/share/atuin/session +## windows: %USERPROFILE%/.local/share/atuin/session +# session_path = "~/.session" + +## date format used, either "us" or "uk" +# dialect = "us" + +## default timezone to use when displaying time +## either "l", "local" to use the system's current local timezone, or an offset +## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" +## for example: "+9", "-05", "+03:30", "-01:23:45", etc. +# timezone = "local" + +## enable or disable automatic sync +# auto_sync = true + +## enable or disable automatic update checks +# update_check = true + +## address of the sync server +# sync_address = "https://api.atuin.sh" + +## how often to sync history. note that this is only triggered when a command +## is ran, so sync intervals may well be longer +## set it to 0 to sync after every command +# sync_frequency = "10m" + +## which search mode to use +## possible values: prefix, fulltext, fuzzy, skim +# search_mode = "fuzzy" + +## which filter mode to use +## possible values: global, host, session, directory +# filter_mode = "global" + +## With workspace filtering enabled, Atuin will filter for commands executed +## in any directory within a git repository tree (default: false) +# workspaces = false +# workspaces = true + +## which filter mode to use when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "filter_mode" +## leave unspecified to use same mode set in "filter_mode" +# filter_mode_shell_up_key_binding = "global" + +## which search mode to use when atuin is invoked from a shell up-key binding +## the accepted values are identical to those of "search_mode" +## leave unspecified to use same mode set in "search_mode" +# search_mode_shell_up_key_binding = "fuzzy" + +## which style to use +## possible values: auto, full, compact +# style = "auto" +style = "compact" + +## the maximum number of lines the interface should take up +## set it to 0 to always go full screen +# inline_height = 0 + +## Invert the UI - put the search bar at the top , Default to `false` +# invert = false + +## enable or disable showing a preview of the selected command +## useful when the command is longer than the terminal width and is cut off +# show_preview = false + +## what to do when the escape key is pressed when searching +## possible values: return-original, return-query +# exit_mode = "return-original" + +## possible values: emacs, subl +# word_jump_mode = "emacs" + +## characters that count as a part of a word +# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" + +## number of context lines to show when scrolling by pages +# scroll_context_lines = 1 + +## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts +## alt-0 .. alt-9 +# ctrl_n_shortcuts = false + +ctrl_n_shortcuts = true + +## default history list format - can also be specified with the --format arg +# history_format = "{time}\t{command}\t{duration}" + +## prevent commands matching any of these regexes from being written to history. +## Note that these regular expressions are unanchored, i.e. if they don't start +## with ^ or end with $, they'll match anywhere in the command. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# history_filter = [ +# "^secret-cmd", +# "^innocuous-cmd .*--secret=.+" +# ] + +history_filter = [ + "VAULT_TOKEN=", +] + +## prevent commands run with cwd matching any of these regexes from being written +## to history. Note that these regular expressions are unanchored, i.e. if they don't +## start with ^ or end with $, they'll match anywhere in CWD. +## For details on the supported regular expression syntax, see +## https://docs.rs/regex/latest/regex/#syntax +# cwd_filter = [ +# "^/very/secret/area" +# ] + +cwd_filter = [ + "^~/media", + "^/home/dln/media" +] + +## Configure the maximum height of the preview to show. +## Useful when you have long scripts in your history that you want to distinguish +## by more than the first few lines. +# max_preview_height = 4 + +## Configure whether or not to show the help row, which includes the current Atuin +## version (and whether an update is available), a keymap hint, and the total +## amount of commands in your history. +# show_help = true +show_help = false + +## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include +## 1. AWS key id +## 2. Github pat (old and new) +## 3. Slack oauth tokens (bot, user) +## 4. Slack webhooks +## 5. Stripe live/test keys +# secrets_filter = true + +## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. +# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. +enter_accept = true + + +## Defaults to "emacs". This specifies the keymap on the startup of `atuin +## search`. If this is set to "auto", the startup keymap mode in the Atuin +## search is automatically selected based on the shell's keymap where the +## keybinding is defined. If this is set to "emacs", "vim-insert", or +## "vim-normal", the startup keymap mode in the Atuin search is forced to be +## the specified one. +# keymap_mode = "auto" + +## Cursor style in each keymap mode. If specified, the cursor style is changed +## in entering the cursor shape. Available values are "default" and +## "{blink,steady}-{block,underilne,bar}". +# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } + +# network_connect_timeout = 5 +# network_timeout = 5 + +## Timeout (in seconds) for acquiring a local database connection (sqlite) +# local_timeout = 5 + +## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. +## Alternatively, set env NO_MOTION=true +# prefers_reduced_motion = false + +#[stats] +# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl +#common_subcommands = [ +# "cargo", +# "go", +# "git", +# "npm", +# "yarn", +# "pnpm", +# "kubectl", +#] +# +# Set commands that should be totally stripped and ignored from stats +#common_prefix = ["sudo"] diff --git a/.zsh/history.zsh b/.zsh/history.zsh new file mode 100644 index 0000000..c46bf6f --- /dev/null +++ b/.zsh/history.zsh @@ -0,0 +1,38 @@ +typeset -g MY_HISTORY_SEARCH_OFFSET=0 +typeset -g MY_HISTORY_SEARCH_PREFIX="" + +function my-history-prefix-search() { + if [[ $LASTWIDGET != my-history-prefix-search-* ]]; then + # start state machine + MY_HISTORY_SEARCH_OFFSET=-1 + MY_HISTORY_SEARCH_PREFIX="$LBUFFER" + fi + local offset_delta=$1 + local offset=$((MY_HISTORY_SEARCH_OFFSET + $offset_delta)) + + (($offset < 0)) && return + local result=$( + atuin search \ + --search-mode prefix \ + --limit 1 \ + --offset $offset \ + --format '{command}' \ + "$MY_HISTORY_SEARCH_PREFIX" + ) + if [[ -n "$result" ]]; then + BUFFER=$result + CURSOR=${#BUFFER} + MY_HISTORY_SEARCH_OFFSET=$offset + fi +} + +function my-history-prefix-search-backward-widget() { + my-history-prefix-search +1 +} + +function my-history-prefix-search-forward-widget() { + my-history-prefix-search -1 +} + +zle -N my-history-prefix-search-backward-widget +zle -N my-history-prefix-search-forward-widget diff --git a/.zshrc b/.zshrc index 9e79464..75c2071 100644 --- a/.zshrc +++ b/.zshrc @@ -15,8 +15,6 @@ zi load zsh-users/zsh-completions zi ice wait lucid zi load zdharma-continuum/fast-syntax-highlighting zi ice wait lucid -zi load zsh-users/zsh-history-substring-search -zi ice wait lucid zi load nix-community/nix-zsh-completions zi ice wait lucid zi load olets/zsh-abbr @@ -98,12 +96,12 @@ _cwd_gitroot() { } zle -N _cwd_gitroot +source $HOME/.zsh/history.zsh + ## Keybindings bindkey -e -bindkey '^[[A' history-beginning-search-backward -bindkey '^[[B' history-beginning-search-forward -bindkey '^P' history-beginning-search-backward -bindkey '^N' history-beginning-search-forward +bindkey '^P' my-history-prefix-search-backward-widget +bindkey '^N' my-history-prefix-search-forward-widget bindkey '^g' _jump @@ -341,3 +339,6 @@ function _grc() { _normal } compdef _grc grc + +# Atuin history +eval "$(atuin init zsh)" From c0e875a4ebf85dd572637c6ad8a3498c4f7e728b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 17 Feb 2024 12:49:21 +0100 Subject: [PATCH 169/656] add pst script for internal pastebin --- bin/pst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 bin/pst diff --git a/bin/pst b/bin/pst new file mode 100755 index 0000000..3239f28 --- /dev/null +++ b/bin/pst @@ -0,0 +1,15 @@ +#!/bin/bash +set -eo pipefail + +URL="https://paste.aarn.shelman.io" + +FILEPATH="$1" +FILENAME=$(basename -- "$FILEPATH") +EXTENSION="${FILENAME##*.}" + +RESPONSE=$(curl -s --data-binary "@${FILEPATH:-/dev/stdin}" --url $URL) +PASTELINK="$URL$RESPONSE" + +[ -z "$EXTENSION" ] && + echo "$PASTELINK" || + echo "$PASTELINK.$EXTENSION" From 6e7f8fc004f973e17b1ad840a2b9f5b3ef42a6da Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 28 Feb 2024 11:53:46 +0100 Subject: [PATCH 170/656] atuin: enter_accept nothxplz --- .config/atuin/config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index 7eacfda..554307f 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -146,7 +146,7 @@ show_help = false ## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. # This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. -enter_accept = true +enter_accept = false ## Defaults to "emacs". This specifies the keymap on the startup of `atuin From e191b29748d58ab692d72bfa1e075dc1a76682b0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 28 Feb 2024 12:23:35 +0100 Subject: [PATCH 171/656] zsh: bind C-p to atuin prefix search --- .zsh/history.zsh | 38 -------------------------------------- .zshrc | 5 +---- 2 files changed, 1 insertion(+), 42 deletions(-) delete mode 100644 .zsh/history.zsh diff --git a/.zsh/history.zsh b/.zsh/history.zsh deleted file mode 100644 index c46bf6f..0000000 --- a/.zsh/history.zsh +++ /dev/null @@ -1,38 +0,0 @@ -typeset -g MY_HISTORY_SEARCH_OFFSET=0 -typeset -g MY_HISTORY_SEARCH_PREFIX="" - -function my-history-prefix-search() { - if [[ $LASTWIDGET != my-history-prefix-search-* ]]; then - # start state machine - MY_HISTORY_SEARCH_OFFSET=-1 - MY_HISTORY_SEARCH_PREFIX="$LBUFFER" - fi - local offset_delta=$1 - local offset=$((MY_HISTORY_SEARCH_OFFSET + $offset_delta)) - - (($offset < 0)) && return - local result=$( - atuin search \ - --search-mode prefix \ - --limit 1 \ - --offset $offset \ - --format '{command}' \ - "$MY_HISTORY_SEARCH_PREFIX" - ) - if [[ -n "$result" ]]; then - BUFFER=$result - CURSOR=${#BUFFER} - MY_HISTORY_SEARCH_OFFSET=$offset - fi -} - -function my-history-prefix-search-backward-widget() { - my-history-prefix-search +1 -} - -function my-history-prefix-search-forward-widget() { - my-history-prefix-search -1 -} - -zle -N my-history-prefix-search-backward-widget -zle -N my-history-prefix-search-forward-widget diff --git a/.zshrc b/.zshrc index 75c2071..edc52aa 100644 --- a/.zshrc +++ b/.zshrc @@ -96,12 +96,9 @@ _cwd_gitroot() { } zle -N _cwd_gitroot -source $HOME/.zsh/history.zsh - ## Keybindings bindkey -e -bindkey '^P' my-history-prefix-search-backward-widget -bindkey '^N' my-history-prefix-search-forward-widget +bindkey '^P' atuin-up-search bindkey '^g' _jump From 1481603e9bd9c050dad60ce1614a46dc0e3a72a8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 28 Feb 2024 12:24:17 +0100 Subject: [PATCH 172/656] autin: config goodness --- .config/atuin/config.toml | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index 554307f..09a16f8 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -43,11 +43,12 @@ ## which filter mode to use ## possible values: global, host, session, directory # filter_mode = "global" +filter_mode = "session" ## With workspace filtering enabled, Atuin will filter for commands executed ## in any directory within a git repository tree (default: false) # workspaces = false -# workspaces = true +workspaces = true ## which filter mode to use when atuin is invoked from a shell up-key binding ## the accepted values are identical to those of "filter_mode" @@ -58,6 +59,7 @@ ## the accepted values are identical to those of "search_mode" ## leave unspecified to use same mode set in "search_mode" # search_mode_shell_up_key_binding = "fuzzy" +search_mode_shell_up_key_binding = "prefix" ## which style to use ## possible values: auto, full, compact @@ -67,9 +69,11 @@ style = "compact" ## the maximum number of lines the interface should take up ## set it to 0 to always go full screen # inline_height = 0 +inline_height = 10 ## Invert the UI - put the search bar at the top , Default to `false` # invert = false +invert = true ## enable or disable showing a preview of the selected command ## useful when the command is longer than the terminal width and is cut off @@ -172,6 +176,8 @@ enter_accept = false ## Alternatively, set env NO_MOTION=true # prefers_reduced_motion = false +prefers_reduced_motion = true + #[stats] # Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl #common_subcommands = [ @@ -183,6 +189,20 @@ enter_accept = false # "pnpm", # "kubectl", #] -# + +[stats] +common_subcommands = [ + "cargo", + "go", + "git", + "nix", + "npm", + "yarn", + "pnpm", + "kubectl", + "task", +] # Set commands that should be totally stripped and ignored from stats #common_prefix = ["sudo"] +# +common_prefix = ["doas", "sudo"] From 10180be4fefe9aeea55f7c0ee219c656a1feb3d1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 29 Feb 2024 23:29:39 +0100 Subject: [PATCH 173/656] nvim: add rust extras --- .config/nvim/lua/config/lazy.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 8478c8c..31ca937 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -16,6 +16,7 @@ require("lazy").setup({ { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "lazyvim.plugins.extras.lang.go" }, { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.rust" }, { import = "lazyvim.plugins.extras.lang.typescript" }, { import = "lazyvim.plugins.extras.lang.yaml" }, { import = "lazyvim.plugins.extras.lsp.none-ls" }, From 736ba022a52cbd38c325cb47eb021b040fae6a17 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 3 Mar 2024 22:20:36 +0100 Subject: [PATCH 174/656] atuin: tweaks --- .config/atuin/config.toml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index 09a16f8..17ba8dc 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -43,12 +43,12 @@ ## which filter mode to use ## possible values: global, host, session, directory # filter_mode = "global" -filter_mode = "session" +#filter_mode = "session" ## With workspace filtering enabled, Atuin will filter for commands executed ## in any directory within a git repository tree (default: false) # workspaces = false -workspaces = true +# workspaces = true ## which filter mode to use when atuin is invoked from a shell up-key binding ## the accepted values are identical to those of "filter_mode" @@ -69,11 +69,11 @@ style = "compact" ## the maximum number of lines the interface should take up ## set it to 0 to always go full screen # inline_height = 0 -inline_height = 10 +inline_height = 6 ## Invert the UI - put the search bar at the top , Default to `false` # invert = false -invert = true +# invert = true ## enable or disable showing a preview of the selected command ## useful when the command is longer than the terminal width and is cut off @@ -111,9 +111,7 @@ ctrl_n_shortcuts = true # "^innocuous-cmd .*--secret=.+" # ] -history_filter = [ - "VAULT_TOKEN=", -] +history_filter = ["VAULT_TOKEN="] ## prevent commands run with cwd matching any of these regexes from being written ## to history. Note that these regular expressions are unanchored, i.e. if they don't @@ -124,10 +122,7 @@ history_filter = [ # "^/very/secret/area" # ] -cwd_filter = [ - "^~/media", - "^/home/dln/media" -] +cwd_filter = ["^~/media", "^/home/dln/media"] ## Configure the maximum height of the preview to show. ## Useful when you have long scripts in your history that you want to distinguish @@ -150,7 +145,8 @@ show_help = false ## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. # This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. -enter_accept = false +# enter_accept = false +enter_accept = true ## Defaults to "emacs". This specifies the keymap on the startup of `atuin From aac1be1b75f5b40cf3c49838a43440f26d90f960 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 3 Mar 2024 22:20:57 +0100 Subject: [PATCH 175/656] nvim: onward --- .config/nvim/lazy-lock.json | 106 ++++++++++++----------- .config/nvim/lua/config/lazy.lua | 2 +- .config/nvim/lua/config/options.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 79 +++++++++-------- .config/nvim/lua/plugins/lsp.lua | 30 +++++++ .config/nvim/lua/plugins/ui.lua | 60 +++++++++++++ 6 files changed, 187 insertions(+), 92 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 2439d2b..192f34b 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,67 +1,69 @@ { - "LazyVim": { "branch": "main", "commit": "879e29504d43e9f178d967ecc34d482f902e5a91" }, - "LuaSnip": { "branch": "master", "commit": "82108e7e31cc6fc223cc5df5cae6d89f70bb199f" }, - "SchemaStore.nvim": { "branch": "main", "commit": "fcb1522fefd0f9029b7dc71aa2664d2d0ead0fb3" }, - "bufferline.nvim": { "branch": "main", "commit": "e48ce1805697e4bb97bc171c081e849a65859244" }, - "catppuccin": { "branch": "main", "commit": "5e36ca599f4aa41bdd87fbf2c5aae4397ac55074" }, + "LazyVim": { "branch": "main", "commit": "fe72424e77cb9c953084bbcaaa0eb7fe8056dc70" }, + "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, + "SchemaStore.nvim": { "branch": "main", "commit": "ebe6fe2e78c19a0cf6e82752ab6f3ac55c35ef99" }, + "bufferline.nvim": { "branch": "main", "commit": "b15c6daf5a64426c69732b31a951f4e438cb6590" }, + "catppuccin": { "branch": "main", "commit": "c0de3b46811fe1ce3912e2245a9dfbea6b41c300" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "75e7c5c7eb5fbd53f8b12dc420b31ec70770b231" }, + "conform.nvim": { "branch": "master", "commit": "34b81e70da83e26c048290204de44268eb59814e" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "b03617a6dc4bc88b65ab5deac1631da9a9c2dcaf" }, - "dashboard-nvim": { "branch": "master", "commit": "63df28409d940f9cac0a925df09d3dc369db9841" }, - "dressing.nvim": { "branch": "master", "commit": "94b0d24483d56f3777ee0c8dc51675f21709318c" }, - "friendly-snippets": { "branch": "main", "commit": "69a2c1675b66e002799f5eef803b87a12f593049" }, - "gitsigns.nvim": { "branch": "main", "commit": "3e6e91b09f0468c32d3b96dcacf4b947f037ce25" }, - "indent-blankline.nvim": { "branch": "master", "commit": "3c8a185da4b8ab7aef487219f5e001b11d4b6aaf" }, - "lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" }, - "lualine.nvim": { "branch": "master", "commit": "566b7036f717f3d676362742630518a47f132fff" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "0989bdf4fdf7b5aa4c74131d7ffccc3f399ac788" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "3614a39aae98ccd34124b072939d6283853b3dd2" }, - "mason.nvim": { "branch": "main", "commit": "e110bc3be1a7309617cecd77bfe4bf86ba1b8134" }, - "mini.ai": { "branch": "main", "commit": "f7787cff9cc42004f722ca1e64e6af4e64e34177" }, - "mini.bufremove": { "branch": "main", "commit": "020243bfed8c8b941f2c20626faf3ea39c0c0e1b" }, - "mini.comment": { "branch": "main", "commit": "67f00d3ebbeae15e84584d971d0c32aad4f4f3a4" }, - "mini.indentscope": { "branch": "main", "commit": "5a8369475cd7cd6f207a4d288406d03b0fc48bdb" }, - "mini.surround": { "branch": "main", "commit": "7bf8915ba15d7a4f3c2afe7868d3c15a858d73f1" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" }, - "neoconf.nvim": { "branch": "main", "commit": "64437787dba70fce50dad7bfbb97d184c5bc340f" }, - "neodev.nvim": { "branch": "main", "commit": "be8d4d4cab6c13c6a572269c9d6a63774baba9a0" }, - "noice.nvim": { "branch": "main", "commit": "92433164e2f7118d4122c7674c3834d9511722ba" }, - "none-ls.nvim": { "branch": "main", "commit": "fbdcbf8e152529af846b3a333f039751829b84c2" }, - "nui.nvim": { "branch": "main", "commit": "35da9ca1de0fc4dda96c2e214d93d363c145f418" }, - "nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" }, - "nvim-dap": { "branch": "master", "commit": "aad46274f09ba29933e4cef2257cdda5ec19cf7a" }, - "nvim-dap-go": { "branch": "main", "commit": "a5cc8dcad43f0732585d4793deb02a25c4afb766" }, - "nvim-dap-ui": { "branch": "master", "commit": "7e5e16427aaf814dc2d58e1b219def9ef2fa2435" }, + "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, + "crates.nvim": { "branch": "main", "commit": "ec2b04a380c9f3a8e6ca38c230e4990d71978143" }, + "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, + "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, + "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, + "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, + "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, + "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, + "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, + "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, + "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, + "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, + "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, + "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "f3941c57ec85d7bdb44fa53fd858fd80f159018f" }, + "neoconf.nvim": { "branch": "main", "commit": "8d7150e9d6113f01421c34c5aeb0f586afa232e0" }, + "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, + "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, + "none-ls.nvim": { "branch": "main", "commit": "ff3819c52ca04232fb70fbd6c1639de9abcbe122" }, + "nui.nvim": { "branch": "main", "commit": "b81333d12f824dbed5eb231c8a4409a290fdd848" }, + "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, + "nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" }, + "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, + "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" }, - "nvim-lint": { "branch": "master", "commit": "8df53b5dde8ea80f0a039775777eae6648a10229" }, - "nvim-lspconfig": { "branch": "master", "commit": "796394fd19fb878e8dbc4fd1e9c9c186ed07a5f4" }, + "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, + "nvim-lspconfig": { "branch": "master", "commit": "c932a56bf25167b1e88d2a1ebe35bb774b41019a" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, - "nvim-notify": { "branch": "master", "commit": "1576123bff3bed67bc673a3076e591abfe5d8ca9" }, - "nvim-spectre": { "branch": "master", "commit": "d8906855f1949ac97b1e77aaf8d3fe12ed158ddc" }, - "nvim-treesitter": { "branch": "master", "commit": "8cd2b230174efbf7b5d9f49fe2f90bda6b5eb16e" }, - "nvim-treesitter-context": { "branch": "master", "commit": "400a99ad43ac78af1148061da3491cba2637ad29" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "85b9d0cbd4ff901abcda862b50dbb34e0901848b" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "1277b4a1f451b0f18c0790e1a7f12e1e5fdebfee" }, - "nvim-web-devicons": { "branch": "master", "commit": "db0c864375c198cacc171ff373e76bfce2a85045" }, - "persistence.nvim": { "branch": "main", "commit": "ad538bfd5336f1335cdb6fd4e0b0eebfa6e12f32" }, - "plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" }, - "sqlite.lua": { "branch": "master", "commit": "b7e28c8463254c46a8e61c52d27d6a2040492fc3" }, + "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, + "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, + "nvim-treesitter": { "branch": "master", "commit": "63ca90eaa3ce1cc668add8828a9e3d6728dbbdf1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b8d1ffe58a88e0356da56b167373e89c4579ce15" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "95933e762e28f9d38b572d65e7e4da9d2f4d90cb" }, + "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, + "nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" }, + "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, + "plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, + "rasmus.nvim": { "branch": "main", "commit": "f824de95d446686e479781c0c2b778c177da528f" }, + "rust-tools.nvim": { "branch": "master", "commit": "676187908a1ce35ffcd727c654ed68d851299d3e" }, + "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "4367e05c06d19f28c514e1498bcd9410f4bc65b2" }, - "todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" }, - "tokyonight.nvim": { "branch": "main", "commit": "f247ee700b569ed43f39320413a13ba9b0aef0db" }, + "telescope.nvim": { "branch": "master", "commit": "aa83606299c5beeaf80e656efbf07bde258db7be" }, + "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, + "tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, - "vim-illuminate": { "branch": "master", "commit": "3bd2ab64b5d63b29e05691e624927e5ebbf0fb86" }, - "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, + "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, + "vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "yaml-companion.nvim": { "branch": "main", "commit": "4de1e1546abc461f62dee02fcac6a02debd6eb9e" }, - "yanky.nvim": { "branch": "main", "commit": "6bb9ffd3cad4c9876bda54e19d0659de28a4f84f" } + "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 31ca937..b4773e7 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -32,7 +32,7 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "noirbuddy", "tokyonight", "habamax" } }, + install = { colorscheme = { "eyes" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 3e0ab0f..3426dee 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -5,7 +5,7 @@ local opt = vim.opt opt.relativenumber = false -opt.clipboard = "" +opt.clipboard = "unnamedplus" vim.g.do_filetype_lua = 1 diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index c569cd1..9ad67d2 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,4 +1,21 @@ return { + { + "kvrohit/rasmus.nvim", + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + lazy = false, + priority = 1000, + config = function() + vim.g.rasmus_variant = "monochrome" + vim.g.rasmus_bold_functions = true + vim.g.rasmus_bold_comments = false + vim.g.rasmus_italic_comments = true + vim.g.rasmus_transparent = true + + -- vim.cmd("colorscheme rasmus") + end, + }, { "jesseleite/nvim-noirbuddy", @@ -12,7 +29,6 @@ return { { "LazyVim/LazyVim", opts = { - -- colorscheme = "noirbuddy", colorscheme = function() require("noirbuddy").setup({ preset = "slate", @@ -25,57 +41,44 @@ return { colors = { -- background = "#0d1219", background = "#11171d", - primary = "#FFECB3", + -- background = "#1e2835", + primary = "#FFECD3", secondary = "#B0BEC5", - + -- diagnostic_info = "#00d992", diagnostic_hint = "#00d992", }, }) - + -- local Color, colors, Group, groups, styles = require("colorbuddy").setup() Color.new("string", "#D7CCC8") Color.new("symbol", "#ECEFF1") -- Color.new("comment", "#E57373", nil, styles.italic) Color.new("hlargs", "#FFF8E1") - + -- Color.new("illuminate_bg", "#112210") Color.new("illuminate_fg", "#00d992") - + -- -- Color.new("search_bg", "#554411") -- Color.new("search_fg", "#FFF0C0") -- Color.new("search_bg", "#223311") Color.new("search_fg", "#CCFF33") - - Color.new("IndentBlanklineIndent5", "#E06C75", styles.nocombine) - Color.new("IndentBlanklineIndent6", "#E5C07B", styles.nocombine) - Color.new("IndentBlanklineIndent3", "#98C379", styles.nocombine) - Color.new("IndentBlanklineIndent4", "#56B6C2", styles.nocombine) - Color.new("IndentBlanklineIndent1", "#61AFEF", styles.nocombine) - Color.new("IndentBlanklineIndent2", "#C678DD", styles.nocombine) - Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent1:dark(0.2)) - Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent2:dark(0.2)) - Group.new("IndentBlanklineIndent3", colors.IndentBlanklineIndent3:dark(0.2)) - Group.new("IndentBlanklineIndent4", colors.IndentBlanklineIndent4:dark(0.2)) - Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent5:dark(0.2)) - Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent6:dark(0.2)) - - Color.new("IndentBlanklineContextChar", "#00a972", styles.nocombine) - Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) - + -- Color.new("MiniIndentscopeSymbol", "#00d992") Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - + -- Color.new("CursorFg", "#000000", styles.nocombine) Color.new("CursorBg", "#00d992", styles.nocombine) Group.new("Cursor", colors.CursorFg, colors.CursorBg) - + Color.new("CursorLine", "#141b23") + Group.new("CursorLine", nil, colors.CursorLine) + -- Color.new("NavicTextFg", "#5fbf9f") Color.new("NavicTextBg", "#333333") Color.new("NavicIcon", "#5fbf9f") - + -- Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) Group.link("NavicIconsFile", groups.NavicIcon) @@ -104,11 +107,11 @@ return { Group.link("NavicIconsEvent", groups.NavicIcon) Group.link("NavicIconsOperator", groups.NavicIcon) Group.link("NavicIconsTypeParameter", groups.NavicIcon) - + -- Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) Color.new("NormalFloatBg", "#335a88", styles.nocombine) Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) - + -- Color.new("PmenuSelFg", "#f3d390", styles.nocombine) Color.new("PmenuSelBg", "#335a88", styles.nocombine) Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) @@ -118,40 +121,40 @@ return { -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) -- Group.link("TroubleText", groups.TroubleNormal) -- Group.link("TroubleSource", groups.TroubleNormal) - + -- Color.new("Error", "#ffce60", styles.nocombine) Group.new("ErrorMsg", colors.Error) - + -- Color.new("FlashLabelFg", "#220011") Color.new("FlashLabelBg", "#EA1199") Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) - + -- Group.new("TelescopeTitle", colors.primary) Group.new("TelescopeBorder", colors.secondary) Group.new("@comment", colors.comment, nil, styles.italic) Group.new("@string", colors.string, nil, styles.italic) - + -- Group.new("@keyword", colors.noir_2) Group.new("@keyword.function", colors.noir_2) Group.new("@keyword.return", colors.noir_1) - + -- Group.new("@operator", colors.noir_1) Group.new("@keyword.operator", colors.noir_1) -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) Group.new("@type.builtin", colors.noir_2) - + -- Group.new("@variable", colors.symbol, nil, styles.italic) Group.new("Hlargs", colors.hlargs, nil, styles.italic) - + -- Group.new("@function", colors.noir_1, nil, styles.bold) Group.new("@method", colors.noir_1, nil, styles.bold) - + -- Group.new("@punctuation", colors.noir_4) Group.new("@punctuation.bracket", colors.noir_4) Group.new("@punctuation.delimiter", colors.noir_4) - + -- Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) - + -- Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) Group.new("IncSearch", colors.search_fg, colors.search_bg) end, diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index a95915f..db126a3 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -12,6 +12,36 @@ return { }, ---@type lspconfig.options servers = { + rust_analyzer = { + keys = { + { "K", "<cmd>RustHoverActions<cr>", desc = "Hover Actions (Rust)" }, + { "<leader>cR", "<cmd>RustCodeAction<cr>", desc = "Code Action (Rust)" }, + { "<leader>dr", "<cmd>RustDebuggables<cr>", desc = "Run Debuggables (Rust)" }, + }, + settings = { + ["rust-analyzer"] = { + cargo = { + allFeatures = true, + loadOutDirsFromCheck = true, + runBuildScripts = true, + }, + -- Add clippy lints for Rust. + checkOnSave = { + allFeatures = true, + command = "clippy", + extraArgs = { "--no-deps" }, + }, + procMacro = { + enable = true, + ignored = { + ["async-trait"] = { "async_trait" }, + ["napi-derive"] = { "napi" }, + ["async-recursion"] = { "async_recursion" }, + }, + }, + }, + }, + }, yamlls = { settings = { yaml = { diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 20f2641..ab6dcb4 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -1,6 +1,27 @@ +local hooks = require("ibl.hooks") +-- create the highlight groups in the highlight setup hook, so they are reset +-- every time the colorscheme changes +hooks.register(hooks.type.HIGHLIGHT_SETUP, function() + local Color, colors, Group, groups, styles = require("colorbuddy").setup() + Color.new("IndentBlanklineIndent", "#1e2835", styles.nocombine) + Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent:light(0.1)) + Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent:light(0.15)) + Group.new("IndentBlanklineIndent3", colors.IndentBlanklineIndent:light(0.2)) + Group.new("IndentBlanklineIndent4", colors.IndentBlanklineIndent:light(0.25)) + Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent:light(0.3)) + Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent:light(0.35)) + + Color.new("IndentBlanklineContextChar", "#f0a972", styles.nocombine) + Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) +end) + return { { "lukas-reineke/indent-blankline.nvim", + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + main = "ibl", opts = { indent = { char = "┊", @@ -29,4 +50,43 @@ return { }, }, }, + + { + "rcarriga/nvim-notify", + opts = { + timeout = 1500, + background_colour = "#1e2835", + }, + }, + + { + "nvim-lualine/lualine.nvim", + dependencies = { + "jesseleite/nvim-noirbuddy", + "nvim-tree/nvim-web-devicons", + }, + config = function() + -- Option 1: + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") + + local theme = noirbuddy_lualine.theme + -- optional, you can define those yourself if you need + local sections = noirbuddy_lualine.sections + local inactive_sections = noirbuddy_lualine.inactive_sections + + require("lualine").setup({ + options = { + icons_enabled = true, + theme = theme, + filetype = { colored = false }, + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + disabled_filetypes = {}, + always_divide_middle = true, + }, + sections = sections, + inactive_sections = inactive_sections, + }) + end, + }, } From 6516c5306f84353ab542c9e5f4a13d37c750ffbf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Mar 2024 19:45:46 +0100 Subject: [PATCH 176/656] wezterm: use iosevka shelman font --- .config/wezterm/wezterm.lua | 80 ++++++------------------------------- 1 file changed, 13 insertions(+), 67 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index a0c8f0b..535811a 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -5,11 +5,11 @@ local act = wezterm.action local dev_host = "dln-dev" local spawn_dev_nvim = { "ssh", dev_host, "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } -local function font_with_fallback(name, params) - local names = { name, "Noto Color Emoji" } - return wezterm.font_with_fallback(names, params) -end - +-- local function font_with_fallback(name, params) +-- local names = { name, "Noto Color Emoji" } +-- return wezterm.font_with_fallback(names, params) +-- end +-- wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") return { @@ -17,85 +17,28 @@ return { color_scheme_dirs = { os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm", }, - font = font_with_fallback("Iosevka Term SS09", { weight = "Light" }), + font = wezterm.font({ family = "IosevkaShelman Nerd Font" }), font_rules = { { italic = false, intensity = "Half", reverse = false, - font = font_with_fallback("Iosevka Term SS09", { weight = "Thin" }), - }, - { - italic = false, - intensity = "Bold", - reverse = false, - font = font_with_fallback("Iosevka Term SS09", { weight = "DemiBold" }), + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight" }), }, { italic = true, intensity = "Normal", reverse = false, - font = font_with_fallback("Iosevka Term Curly Slab", { weight = "Light", italic = true }), - }, - { - italic = true, - intensity = "Half", - reverse = false, - font = font_with_fallback("Iosevka Term SS15", { weight = "ExtraLight", italic = true }), - }, - { - italic = true, - intensity = "Bold", - reverse = false, - font = font_with_fallback("Iosevka Term Curly Slab Ex", { weight = "Regular", italic = true }), - }, - - -- Reversed - { - reverse = true, - italic = false, - intensity = "Normal", - font = font_with_fallback("Iosevka Term SS09", { weight = "Regular" }), - }, - { - reverse = true, - italic = false, - intensity = "Half", - font = font_with_fallback("Iosevka Term SS09", { weight = "Light" }), - }, - { - reverse = true, - italic = true, - intensity = "Half", - font = font_with_fallback("Iosevka Term Curly Slab", { weight = "ExtraLight", italic = true }), - }, - { - reverse = true, - italic = true, - intensity = "Normal", - font = font_with_fallback("Iosevka Term Curly Slab", { weight = "Light", italic = true }), - }, - { - reverse = true, - italic = true, - intensity = "Bold", - font = font_with_fallback("Iosevka Term Curly Slab Ex", { weight = "Bold", italic = true }), - }, - { - reverse = true, - italic = false, - intensity = "Bold", - font = font_with_fallback("Iosevka Term SS09", { weight = "Bold" }), + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), }, }, front_end = "WebGpu", webgpu_power_preference = "HighPerformance", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, - allow_square_glyphs_to_overflow_width = "Always", - font_size = 20, + -- allow_square_glyphs_to_overflow_width = "Always", + font_size = 16, command_palette_font_size = 13.5, - line_height = 1.1, initial_cols = 132, initial_rows = 45, use_resize_increments = true, @@ -107,10 +50,13 @@ return { top = 0, bottom = 0, }, + unicode_version = 14, default_cursor_style = "SteadyBlock", cursor_thickness = "6px", cursor_blink_rate = 0, hide_mouse_cursor_when_typing = false, + underline_position = -12, + underline_thickness = 2, enable_wayland = true, enable_tab_bar = false, tab_bar_at_bottom = true, From fa08caa326a967d034925f23865e3d5325c3f7d7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Mar 2024 19:47:26 +0100 Subject: [PATCH 177/656] wezterm: explicitly request tty in ssh --- .local/share/applications/wezterm-dln-dev-secondary.desktop | 2 +- .local/share/applications/wezterm-dln-dev.desktop | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop index 8d40b0b..39b281b 100644 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config window_background_opacity=0.8 --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary +Exec=/usr/bin/wezterm --config window_background_opacity=0.8 --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop index 6398802..277cb3a 100644 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ b/.local/share/applications/wezterm-dln-dev.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-q", "dln-dev", "--", "tmux", "-u", "new", "-As0", "-t0"}' start --class=wezterm-dln-dev +Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As0", "-t0"}' start --class=wezterm-dln-dev From 49a43e46c6c2b0fa1ad2bec442743cbcba615358 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Mar 2024 19:48:02 +0100 Subject: [PATCH 178/656] ssh: disable compression --- .ssh/config | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.ssh/config b/.ssh/config index ffa3826..df495cf 100644 --- a/.ssh/config +++ b/.ssh/config @@ -12,9 +12,11 @@ Include ~/.ssh/private_config Host 10.1.100.16 Host dln-dev Hostname 10.1.100.16 + #Hostname aarn.shelman.io + #Port 2022 ForwardAgent yes ExitOnForwardFailure yes -Compression yes +Compression no LocalForward 127.0.0.1:3000 127.0.0.1:3000 LocalForward 127.0.0.1:8000 127.0.0.1:8000 LocalForward 127.0.0.1:8080 127.0.0.1:8080 From 2f27ec5095560135f7cd11bf1271484800d46e12 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Mar 2024 19:48:30 +0100 Subject: [PATCH 179/656] Remove deprecated fontconfig --- .config/fontconfig/fonts.conf | 46 ----------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 .config/fontconfig/fonts.conf diff --git a/.config/fontconfig/fonts.conf b/.config/fontconfig/fonts.conf deleted file mode 100644 index b06e4c3..0000000 --- a/.config/fontconfig/fonts.conf +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version='1.0' encoding='UTF-8'?> -<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'> -<fontconfig> - <alias> - <family>serif</family> - <prefer> - <family>Noto Color Emoji</family> - </prefer> - </alias> - <alias> - <family>sans-serif</family> - <prefer> - <family>Noto Color Emoji</family> - </prefer> - </alias> - <alias> - <family>monospace</family> - <prefer> - <family>Noto Color Emoji</family> - </prefer> - </alias> - <!-- - <dir>~/.fonts</dir> - <match target="font"> - <edit mode="assign" name="hinting"> - <bool>true</bool> - </edit> - </match> - <match target="font"> - <edit mode="assign" name="hintstyle"> - <const>hintmedium</const> - </edit> - </match> - --> - <match target="font"> - <edit name="hinting" mode="assign"> - <bool>true</bool> - </edit> - </match> - <match target="font"> - <edit name="hintstyle" mode="assign"> - <const>hintslight</const> - </edit> - </match> - <dir>~/.fonts</dir> -</fontconfig> From 7411069e3577927e9949890339c820c45b95682d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 8 Mar 2024 19:51:32 +0100 Subject: [PATCH 180/656] zsh: fresh prompt --- .config/starship.toml | 50 +++++++++++++++++++++++++++ .zshrc | 79 ++----------------------------------------- 2 files changed, 53 insertions(+), 76 deletions(-) create mode 100644 .config/starship.toml diff --git a/.config/starship.toml b/.config/starship.toml new file mode 100644 index 0000000..4e5bd81 --- /dev/null +++ b/.config/starship.toml @@ -0,0 +1,50 @@ +"$schema" = 'https://starship.rs/config-schema.json' + +add_newline = false + +format = """\ +$directory\ +($character)\ +""" + +right_format = """\ +$git_status$git_state$git_branch$git_commit +$hostname""" + +[hostname] +ssh_only = false +format = " [](fg:#333333)[ $hostname ](italic dimmed bg:#333333)" +disabled = false + +[directory] +fish_style_pwd_dir_length = 1 +truncation_length = 1 +truncate_to_repo = false +truncation_symbol = "…" +style = "italic dimmed" + +[character] +success_symbol = "[%](bold)" +error_symbol = "[%](bold red)" + +[git_branch] +format = "[$symbol$branch]($style)" +style = "italic bold fg:#00d992" +symbol = " " +truncation_length = 16 +truncation_symbol = "" + +[git_commit] +format = "[ $hash$tag]($style) " +style = "fg:#00d992" + +[git_state] +style = "" + +[git_status] +format = '([$all_status$ahead_behind]($style)) ' +style = "fg:#00d992" +modified = "[ ](fg:#FFEE58)" +deleted = "[ ✘](fg:#FF5722)" +untracked = "[ ?](fg:#CE93D8)" +staged = "[ ](fg:#80DEEA)" diff --git a/.zshrc b/.zshrc index edc52aa..a8b5490 100644 --- a/.zshrc +++ b/.zshrc @@ -59,11 +59,6 @@ setopt null_glob export LC_ALL=en_US.UTF-8 -## Autosuggest -# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#D7CCC8,italic" -# ZSH_AUTOSUGGEST_USE_ASYNC=1 -# ZSH_AUTOSUGGEST_STRATEGY=(history completion) - export PATH=$HOME/bin:$HOME/.cargo/bin:$PATH redraw-prompt() { @@ -89,7 +84,7 @@ typeset -gaU chpwd_functions chpwd_functions+=fre_chpwd _cwd_gitroot() { - _gitroot=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) + _gitroot=$(git rev-parse --show-toplevel 2>/dev/null || pwd) _dir=$((echo "$_gitroot" && fd -td . "$_gitroot") | fzf-tmux -p 90%,40% -y 0) [ -n "$_dir" ] && cd $_dir zle && zle redraw-prompt @@ -141,66 +136,9 @@ rg() { } -## Jujutsu -jj_chpwd() { - _state="$JJ_REPO" - JJ_REPO=$(jj workspace root --ignore-working-copy 2>/dev/null) - if [[ "$JJ_REPO" == "$_state" ]]; then - return - fi - if [[ -n "$JJ_REPO" ]]; then - abbr add -S --force "b"="jj branch list" - abbr add -S --force "c"="jj commit" - abbr add -S --force "d"="jj show" - abbr add -S --force "new"="jj new main" - abbr add -S --force "p"="jj git push" - abbr add -S --force "s"="jj status" - abbr add -S --force "sl"="jj log --ignore-working-copy" - abbr add -S --force "sy"="jj git fetch" - else - abbr erase -S b - abbr erase -S c - abbr erase -S d - abbr erase -S new - abbr erase -S p - abbr erase -S s - abbr erase -S sl - abbr erase -S sy - fi -} -chpwd_functions+=jj_chpwd - - ## Prompt - -prompt_chpwd() { - if [[ ${#PWD} < 25 ]]; then - PROMPT_PWD="$PWD" - else - PROMPT_PWD="$(shrink_path -t -l -e "%{%G\e[2;3;38;5;202m\U2026\e[0;2;3m%}")" - fi -} -chpwd_functions+=prompt_chpwd - -prompt_precmd() { - PROMPT_LABEL="$HOST" - print -n '\e[5 q' # Fix cursor - print -n "\e]7;${PWD}\a" # OSC 7 for terminal pwd -} - -precmd_functions+=(prompt_precmd) - -autoload -Uz vcs_info -chpwd_functions+=vcs_info -precmd_functions+=vcs_info - -zstyle ':vcs_info:git:*' check-for-changes true -zstyle ':vcs_info:git:*' formats '%F{#559955} %1.25b%u%c%f ' -zstyle ':vcs_info:*' unstagedstr ' %F{#ff0}' -zstyle ':vcs_info:*' stagedstr ' %F{#9ff}' - -setopt PROMPT_SUBST -PROMPT=$'%F{#aaa}%K{#333}%{\e[3m%} ${PROMPT_LABEL} %{\e[0m%}%S%F{#333}%k%{%G\Ue0ba%}%k%s%f%{\e[2;3m%}${PROMPT_PWD}%{\e[0m%} ${vcs_info_msg_0_}%# ' +setopt TRANSIENT_RPROMPT +eval "$(starship init zsh)" ## vim export EDITOR=nvim @@ -275,17 +213,6 @@ if [ ! -f "${fpath[1]}/_task" ]; then curl -sLo "${fpath[1]}/_task" https://raw.githubusercontent.com/go-task/task/main/completion/zsh/_task fi -## sapling -if [ ! -f "${fpath[1]}/_sl" ]; then - # See: https://github.com/facebook/sapling/pull/369 - curl -sLo "${fpath[1]}/_sl" https://github.com/facebook/sapling/raw/d6157db1ebc0868cf70805756e32541bd681bac2/eden/scm/contrib/zsh_completion_sl -fi - -## jujutsu -if [ ! -f "${fpath[1]}/_jj" ]; then - command -v jj >/dev/null 2>&1 && jj util completion --zsh > "${fpath[1]}/_jj" -fi - ## kapp if [ ! -f "${fpath[1]}/_kapp" ]; then command -v kapp >/dev/null 2>&1 && kapp completion zsh --tty=false > "${fpath[1]}/_kapp" From 5f2a658772f0ec297426c3e57d62b6b00ff07e8b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 8 Mar 2024 19:52:21 +0100 Subject: [PATCH 181/656] tmux: pane border and nav --- .tmux.conf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.tmux.conf b/.tmux.conf index 6988918..b890397 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -21,13 +21,18 @@ set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/gcr/ssh" set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" set -g default-command zsh set -g history-limit 10000 - +# set -g default-terminal "wezterm" set -ga terminal-features '*:overline:strikethrough:usstyle:RGB' # Key bindings +bind -n M-Tab if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window' +bind -n M-h select-pane -L +bind -n M-l select-pane -R bind -n M-Left select-pane -L bind -n M-Right select-pane -R +bind -n M-j select-pane -U +bind -n M-k select-pane -D bind -n M-Up select-pane -U bind -n M-Down select-pane -D bind -n M-1 select-window -t nvim @@ -63,6 +68,8 @@ setw -g window-status-format "" setw -g window-status-current-format "" setw -g window-status-separator "" set -g status-style "bg=#444444,fg=#dddddd,italics" +set -g pane-border-style "fg=#334455" +set -g pane-active-border-style "fg=#334455" set -g status-position bottom set -g status-left-length 0 set -g status-right-length 0 From 2fb69d78a96f46b7dc7879ddea947bcb5cb42ac1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 8 Mar 2024 19:53:06 +0100 Subject: [PATCH 182/656] tmux: nvim edit helper selects first pane in first window --- bin/tmux-edit-helper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper index da98fa3..95b1e65 100755 --- a/bin/tmux-edit-helper +++ b/bin/tmux-edit-helper @@ -18,7 +18,7 @@ fi _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" -tmux select-window -t nvim 2>/dev/null && exec nvim --server "$_nvim_socket" --remote "$_file" +(tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" # nvim is not running/listening on remote socket, so start it. tmux new-window -S -n nvim \ From a93d3578a3dc233a06d19918925c8a2824fa6d86 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 8 Mar 2024 19:53:33 +0100 Subject: [PATCH 183/656] nvim: color scheme tweaks --- .config/nvim/lazy-lock.json | 46 ++++++------ .config/nvim/lua/config/lazy.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 91 +++++++++++++++++------- .config/nvim/lua/plugins/lsp.lua | 20 +++--- 4 files changed, 100 insertions(+), 59 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 192f34b..ca65459 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,26 +1,29 @@ { - "LazyVim": { "branch": "main", "commit": "fe72424e77cb9c953084bbcaaa0eb7fe8056dc70" }, + "LazyVim": { "branch": "main", "commit": "e3bfcb9bf74292dc846f5d1710fbb2e8f36a687a" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "ebe6fe2e78c19a0cf6e82752ab6f3ac55c35ef99" }, - "bufferline.nvim": { "branch": "main", "commit": "b15c6daf5a64426c69732b31a951f4e438cb6590" }, - "catppuccin": { "branch": "main", "commit": "c0de3b46811fe1ce3912e2245a9dfbea6b41c300" }, + "SchemaStore.nvim": { "branch": "main", "commit": "6eb5d8d9ec9f81b75aaa6d15d0f6dc12a066fd3f" }, + "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, + "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, + "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, + "cmp-emoji": { "branch": "main", "commit": "0acd702358230abeb6576769f7116e766bca28a0" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "34b81e70da83e26c048290204de44268eb59814e" }, + "conform.nvim": { "branch": "master", "commit": "5a15cc46e75cad804fd51ec5af9227aeb1d1bdaa" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, - "crates.nvim": { "branch": "main", "commit": "ec2b04a380c9f3a8e6ca38c230e4990d71978143" }, + "crates.nvim": { "branch": "main", "commit": "535773ed3b321d68ddd6ef8cd5a1e07b345026a6" }, "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, - "lazy.nvim": { "branch": "main", "commit": "28126922c9b54e35a192ac415788f202c3944c9f" }, - "lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" }, + "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, + "lualine.nvim": { "branch": "master", "commit": "8b56462bfb746760465264de41b4907310f113ec" }, + "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, @@ -29,36 +32,35 @@ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "f3941c57ec85d7bdb44fa53fd858fd80f159018f" }, - "neoconf.nvim": { "branch": "main", "commit": "8d7150e9d6113f01421c34c5aeb0f586afa232e0" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "459c60317cc1d251f6eb3b6f010d015d5d24b806" }, + "neoconf.nvim": { "branch": "main", "commit": "db1d1bd45f4e91da6abc898281711fa47eda0ece" }, "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, "none-ls.nvim": { "branch": "main", "commit": "ff3819c52ca04232fb70fbd6c1639de9abcbe122" }, - "nui.nvim": { "branch": "main", "commit": "b81333d12f824dbed5eb231c8a4409a290fdd848" }, + "nui.nvim": { "branch": "main", "commit": "756c59f46057cd2d43619cd3a6d4e01b2aa60295" }, "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, "nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" }, "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "a5fc69240869c0fee8ff176bc9e4efdf8bdfb596" }, "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, - "nvim-lspconfig": { "branch": "master", "commit": "c932a56bf25167b1e88d2a1ebe35bb774b41019a" }, + "nvim-lspconfig": { "branch": "master", "commit": "94cf4adb81158817520e18d2174963d8e1424df9" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, - "nvim-treesitter": { "branch": "master", "commit": "63ca90eaa3ce1cc668add8828a9e3d6728dbbdf1" }, - "nvim-treesitter-context": { "branch": "master", "commit": "b8d1ffe58a88e0356da56b167373e89c4579ce15" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "95933e762e28f9d38b572d65e7e4da9d2f4d90cb" }, + "nvim-treesitter": { "branch": "master", "commit": "57205313dda0ac82ac69e21d5e2a80f3297c14cc" }, + "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, "nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" }, - "rasmus.nvim": { "branch": "main", "commit": "f824de95d446686e479781c0c2b778c177da528f" }, - "rust-tools.nvim": { "branch": "master", "commit": "676187908a1ce35ffcd727c654ed68d851299d3e" }, + "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, + "rustaceanvim": { "branch": "master", "commit": "387ca846d632f8c90631536341ca1778b4c2c497" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" }, - "telescope.nvim": { "branch": "master", "commit": "aa83606299c5beeaf80e656efbf07bde258db7be" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, "tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index b4773e7..9affbf2 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -32,7 +32,7 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - install = { colorscheme = { "eyes" } }, + -- install = { colorscheme = { "eyes" } }, checker = { enabled = true }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 9ad67d2..30f2076 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,20 +1,32 @@ return { - { - "kvrohit/rasmus.nvim", - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - lazy = false, - priority = 1000, - config = function() - vim.g.rasmus_variant = "monochrome" - vim.g.rasmus_bold_functions = true - vim.g.rasmus_bold_comments = false - vim.g.rasmus_italic_comments = true - vim.g.rasmus_transparent = true + -- { + -- "kvrohit/rasmus.nvim", + -- dependencies = { + -- { "tjdevries/colorbuddy.nvim" }, + -- }, + -- lazy = false, + -- priority = 1000, + -- config = function() + -- vim.g.rasmus_variant = "monochrome" + -- vim.g.rasmus_bold_functions = true + -- vim.g.rasmus_bold_comments = false + -- vim.g.rasmus_italic_comments = true + -- vim.g.rasmus_transparent = true + -- + -- -- vim.cmd("colorscheme rasmus") + -- end, + -- }, - -- vim.cmd("colorscheme rasmus") - end, + -- { + -- "LazyVim/LazyVim", + -- opts = { + -- colorscheme = "default", + -- }, + -- }, + + { + "p00f/alabaster.nvim", + lazy = false, }, { @@ -39,9 +51,7 @@ return { undercurl = true, }, colors = { - -- background = "#0d1219", background = "#11171d", - -- background = "#1e2835", primary = "#FFECD3", secondary = "#B0BEC5", -- @@ -51,6 +61,12 @@ return { }) -- local Color, colors, Group, groups, styles = require("colorbuddy").setup() + + Color.new("ColorColumn", "#171e26") + Group.new("ColorColumn", nil, colors.ColorColumn) + Color.new("normal", "#e3e0cd") + Group.new("Normal", colors.normal, nil) + Color.new("string", "#D7CCC8") Color.new("symbol", "#ECEFF1") -- @@ -70,15 +86,15 @@ return { Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) -- Color.new("CursorFg", "#000000", styles.nocombine) - Color.new("CursorBg", "#00d992", styles.nocombine) + Color.new("CursorBg", "#23fdb6", styles.nocombine) Group.new("Cursor", colors.CursorFg, colors.CursorBg) Color.new("CursorLine", "#141b23") Group.new("CursorLine", nil, colors.CursorLine) - -- + Color.new("NavicTextFg", "#5fbf9f") Color.new("NavicTextBg", "#333333") Color.new("NavicIcon", "#5fbf9f") - -- + Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) Group.link("NavicIconsFile", groups.NavicIcon) @@ -107,16 +123,40 @@ return { Group.link("NavicIconsEvent", groups.NavicIcon) Group.link("NavicIconsOperator", groups.NavicIcon) Group.link("NavicIconsTypeParameter", groups.NavicIcon) - -- + Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) Color.new("NormalFloatBg", "#335a88", styles.nocombine) Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) - -- + Color.new("PmenuSelFg", "#f3d390", styles.nocombine) Color.new("PmenuSelBg", "#335a88", styles.nocombine) Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + + Color.new("PmenuSelBg", "#335a88", styles.nocombine) + Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + + Color.new("TreesitterContext", "#233344", styles.nocombine) + Group.new("TreesitterContext", nil, colors.TreesitterContext) + + -- Color.new("NonText", "#955252", styles.nocombine) + Color.new("NonText", "#955252", styles.nocombine) + + Color.new("comment2", "#51a0cf") + Group.new("Comment", colors.NonText, nil, styles.italic + styles.bold) + Group.new("LspInlayHint", colors.comment2, nil, styles.italic) + + Group.new("NonText", colors.NonText, nil, styles.italic) + Group.new("NonText", colors.NonText, nil, styles.italic) + + Color.new("spelling", "#ffce60") + Group.new("SpellBad", colors.spelling, nil, styles.undercurl) + + Color.new("LspInfoTitle", "#955252") + Group.new("LspInfoTitle", colors.LspInfoTitle, nil, styles.italic) + -- Group.new("DiagnosticHint", colors.LspInfoTitle, nil, styles.italic) -- -- Color.new("TroubleFg", "#ffce60", styles.nocombine) + -- Color.new("TroubleFg", "#ffce60", styles.nocombine) -- Color.new("TroubleBg", "#260200", styles.nocombine) -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) -- Group.link("TroubleText", groups.TroubleNormal) @@ -131,8 +171,9 @@ return { -- Group.new("TelescopeTitle", colors.primary) Group.new("TelescopeBorder", colors.secondary) - Group.new("@comment", colors.comment, nil, styles.italic) + Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) Group.new("@string", colors.string, nil, styles.italic) + -- Group.new("@keyword", colors.noir_2) Group.new("@keyword.function", colors.noir_2) @@ -143,8 +184,8 @@ return { -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) Group.new("@type.builtin", colors.noir_2) -- - Group.new("@variable", colors.symbol, nil, styles.italic) - Group.new("Hlargs", colors.hlargs, nil, styles.italic) + Group.new("@variable", colors.symbol, nil) + Group.new("Hlargs", colors.hlargs, nil) -- Group.new("@function", colors.noir_1, nil, styles.bold) Group.new("@method", colors.noir_1, nil, styles.bold) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index db126a3..3a94ba6 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -2,15 +2,14 @@ return { { "neovim/nvim-lspconfig", opts = { - inlay_hints = { enabled = true }, - capabilities = { - workspace = { - didChangeWatchedFiles = { - dynamicRegistration = false, - }, - }, - }, - ---@type lspconfig.options + -- inlay_hints = { enabled = true }, + -- capabilities = { + -- workspace = { + -- didChangeWatchedFiles = { + -- dynamicRegistration = false, + -- }, + -- }, + -- }, servers = { rust_analyzer = { keys = { @@ -46,11 +45,10 @@ return { settings = { yaml = { schemas = { - kubernetes = "*.yaml", + -- kubernetes = "*.yaml", ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*", ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}", ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}", - ["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}", ["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}", ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}", ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}", From 0b405b354a8424d23be4886ca11e05594e81b992 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 8 Mar 2024 19:53:45 +0100 Subject: [PATCH 184/656] test-term: alignment --- bin/test-term.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/bin/test-term.sh b/bin/test-term.sh index 9780da5..2942743 100755 --- a/bin/test-term.sh +++ b/bin/test-term.sh @@ -1,19 +1,19 @@ -echo -ne '\e[0mnormal\e[0m\t\t\t\t\t' +echo -ne '\e[0mnormal\e[0m\t\t\t' echo -e '\e[7m reverse \e[0m' -echo -ne '\e[2mdim\e[0m\t\t\t\t\t\t' +echo -ne '\e[2mdim\e[0m\t\t\t' echo -e '\e[7;2m reverse dim \e[0m' -echo -ne '\e[1mbold\e[0m\t\t\t\t\t' +echo -ne '\e[1mbold\e[0m\t\t\t' echo -e '\e[7;1m reverse bold \e[0m' -echo -ne '\e[3mitalic\e[0m\t\t\t\t\t' +echo -ne '\e[3mitalic\e[0m\t\t\t' echo -e '\e[7;3m reverse italic \e[0m' -echo -ne '\e[2;3mdim italic\e[0m\t\t\t\t' +echo -ne '\e[2;3mdim italic\e[0m\t\t' echo -e '\e[7;2;3m reverse dim italic \e[0m' -echo -ne '\e[1;3mbold italic\e[0m\t\t\t\t' +echo -ne '\e[1;3mbold italic\e[0m\t\t' echo -e '\e[7;1;3m reverse bold italic \e[0m' echo @@ -55,7 +55,7 @@ echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[0m' echo -echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷" +echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷 ❤️ " echo echo "Ligatures:" From 09e2c2e0fd07c99479028f8858f0a34699fbe505 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 9 Mar 2024 18:34:05 +0100 Subject: [PATCH 185/656] zsh: use p10k for prompt with transient prompt --- .p10k.zsh | 1723 +++++++++++++++++++++++++++++++++++++++++++++++++++++ .zshrc | 15 +- 2 files changed, 1736 insertions(+), 2 deletions(-) create mode 100644 .p10k.zsh diff --git a/.p10k.zsh b/.p10k.zsh new file mode 100644 index 0000000..05d0a0e --- /dev/null +++ b/.p10k.zsh @@ -0,0 +1,1723 @@ +# Generated by Powerlevel10k configuration wizard on 2024-03-09 at 10:48 CET. +# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 52020. +# Wizard options: nerdfont-v3 + powerline, large icons, unicode, lean, 24h time, +# 2 lines, dotted, no frame, darkest-ornaments, compact, few icons, concise, +# transient_prompt, instant_prompt=verbose. +# Type `p10k configure` to generate another config. +# +# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate +# your own config based on it. +# +# Tip: Looking for a nice color? Here's a one-liner to print colormap. +# +# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done + +# Temporarily change options. +'builtin' 'local' '-a' 'p10k_config_opts' +[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') +[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') +[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') +'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' + +() { + emulate -L zsh -o extended_glob + + # Unset all configuration options. This allows you to apply configuration changes without + # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. + unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' + + # Zsh >= 5.1 is required. + [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return + + # The list of segments shown on the left. Fill it with the most important segments. + typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + # os_icon # os identifier + dir # current directory + # vcs # git status + # =========================[ Line #2 ]========================= + newline # \n + prompt_char # prompt symbol + ) + + # The list of segments shown on the right. Fill it with less important segments. + # Right prompt on the last prompt line (where you are typing your commands) gets + # automatically hidden when the input line reaches it. Right prompt above the + # last prompt line gets hidden if it would overlap with left prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( + # =========================[ Line #1 ]========================= + status # exit code of the last command + command_execution_time # duration of the last command + background_jobs # presence of background jobs + # direnv # direnv status (https://direnv.net/) + # asdf # asdf version manager (https://github.com/asdf-vm/asdf) + # virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) + # anaconda # conda environment (https://conda.io/) + # pyenv # python environment (https://github.com/pyenv/pyenv) + # goenv # go environment (https://github.com/syndbg/goenv) + # nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) + # nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) + # nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) + # node_version # node.js version + # go_version # go version (https://golang.org) + # rust_version # rustc version (https://www.rust-lang.org) + # dotnet_version # .NET version (https://dotnet.microsoft.com) + # php_version # php version (https://www.php.net/) + # laravel_version # laravel php framework version (https://laravel.com/) + # java_version # java version (https://www.java.com/) + # package # name@version from package.json (https://docs.npmjs.com/files/package.json) + # rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) + # rvm # ruby version from rvm (https://rvm.io) + # fvm # flutter version management (https://github.com/leoafarias/fvm) + # luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) + # jenv # java version from jenv (https://github.com/jenv/jenv) + # plenv # perl version from plenv (https://github.com/tokuhirom/plenv) + # perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) + # phpenv # php version from phpenv (https://github.com/phpenv/phpenv) + # scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) + # haskell_stack # haskell version from stack (https://haskellstack.org/) + # kubecontext # current kubernetes context (https://kubernetes.io/) + # terraform # terraform workspace (https://www.terraform.io) + # terraform_version # terraform version (https://www.terraform.io) + # aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) + # aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) + # azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) + # gcloud # google cloud cli account and project (https://cloud.google.com/) + # google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) + # toolbox # toolbox name (https://github.com/containers/toolbox) + # context # user@hostname + # nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) + # ranger # ranger shell (https://github.com/ranger/ranger) + # yazi # yazi shell (https://github.com/sxyazi/yazi) + # nnn # nnn shell (https://github.com/jarun/nnn) + # lf # lf shell (https://github.com/gokcehan/lf) + # xplr # xplr shell (https://github.com/sayanarijit/xplr) + # vim_shell # vim shell indicator (:sh) + # midnight_commander # midnight commander shell (https://midnight-commander.org/) + # nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) + # chezmoi_shell # chezmoi shell (https://www.chezmoi.io/) + # vpn_ip # virtual private network indicator + # load # CPU load + # disk_usage # disk usage + # ram # free RAM + # swap # used swap + # todo # todo items (https://github.com/todotxt/todo.txt-cli) + # timewarrior # timewarrior tracking status (https://timewarrior.net/) + # taskwarrior # taskwarrior task count (https://taskwarrior.org/) + # per_directory_history # Oh My Zsh per-directory-history local/global indicator + # cpu_arch # CPU architecture + # time # current time + vcs + # =========================[ Line #2 ]========================= + newline + # ip # ip address and bandwidth usage for a specified network interface + # public_ip # public IP address + # proxy # system-wide http/https/ftp proxy + # battery # internal battery + # wifi # wifi speed + # example # example user-defined segment (see prompt_example function below) + context + time + ) + + # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. + typeset -g POWERLEVEL9K_MODE=nerdfont-v3 + # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid + # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. + typeset -g POWERLEVEL9K_ICON_PADDING=moderate + + # Basic style options that define the overall look of your prompt. You probably don't want to + # change them. + typeset -g POWERLEVEL9K_BACKGROUND= # transparent background + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space + typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol + + # When set to true, icons appear before content on both sides of the prompt. When set + # to false, icons go after content. If empty or not set, icons go before content in the left + # prompt and after content in the right prompt. + # + # You can also override it for a specific segment: + # + # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false + # + # Or for a specific segment in specific state: + # + # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false + typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true + + # Add an empty line before each prompt. + # typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false + p10k-on-pre-prompt() p10k display empty_line=print + + # Connect left prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= + # Connect right prompt lines with these symbols. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= + typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= + + # The left end of left prompt. + typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + # The right end of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL= + + # Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll + # probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and + # POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below. + typeset -g POWERLEVEL9K_SHOW_RULER=false + typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·' + typeset -g POWERLEVEL9K_RULER_FOREGROUND=238 + + # Filler between left and right prompt on the first prompt line. You can set it to '·' or '─' + # to make it easier to see the alignment between left and right prompt and to separate prompt + # from command output. It serves the same purpose as ruler (see above) without increasing + # the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false + # if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact + # prompt. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='⎯' #'·' '⋯' '⎯' '·' + if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then + # The color of the filler. + typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=235 + # Add a space between the end of left prompt and the filler. + typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' ' + # Add a space between the filler and the start of right prompt. + typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL=' ' + # Start filler from the edge of the screen if there are no left segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' + # End filler on the edge of the screen if there are no right segments on the first line. + typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' + fi + + #################################[ os_icon: os identifier ]################################## + # OS identifier color. + typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND= + # Custom icon. + # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' + + ################################[ prompt_char: prompt symbol ]################################ + # Green prompt symbol if the last command succeeded. + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=253 + # Red prompt symbol if the last command failed. + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=253 + # Default prompt symbol. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='%%' #'❯' + # Prompt symbol in command vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' + # Prompt symbol in visual vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' + # Prompt symbol in overwrite vi mode. + typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' + typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true + # No line terminator if prompt_char is the last segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='' + # No line introducer if prompt_char is the first segment. + typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= + + ##################################[ dir: current directory ]################################## + # Default current directory color. + typeset -g POWERLEVEL9K_DIR_FOREGROUND=241 + # If directory is too long, shorten some of its segments to the shortest possible unique + # prefix. The shortened directory can be tab-completed to the original. + typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique + # Replace removed segment suffixes with this symbol. + typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= + # Color of the shortened directory segments. + typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 + # Color of the anchor directory segments. Anchor segments are never shortened. The first + # segment is always an anchor. + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=245 + # Display anchor directory segments in bold. + typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=false + # Don't shorten directories that contain any of these files. They are anchors. + local anchor_files=( + .bzr + .citc + .git + .hg + .node-version + .python-version + .go-version + .ruby-version + .lua-version + .java-version + .perl-version + .php-version + .tool-versions + .shorten_folder_marker + .svn + .terraform + CVS + Cargo.toml + composer.json + go.mod + package.json + stack.yaml + ) + typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" + # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains + # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is + # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) + # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers + # and other directories don't. + # + # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. + # This moves the truncation point to the right (positive offset) or to the left (negative offset) + # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" + # respectively. + typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false + # Don't shorten this many last directory segments. They are anchors. + typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 + # Shorten directory if it's longer than this even if there is space for it. The value can + # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, + # directory will be shortened only when prompt doesn't fit or when other parameters demand it + # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). + # If set to `0`, directory will always be shortened to its minimum length. + typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this + # many columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 + # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least + # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. + typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 + # If set to true, embed a hyperlink into the directory. Useful for quickly + # opening a directory in the file manager simply by clicking the link. + # Can also be handy when the directory is shortened, as it allows you to see + # the full directory that was used in previous commands. + typeset -g POWERLEVEL9K_DIR_HYPERLINK=false + + # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON + # and POWERLEVEL9K_DIR_CLASSES below. + typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 + + # The default icon shown next to non-writable and non-existent directories when + # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. + # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' + + # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different + # directories. It must be an array with 3 * N elements. Each triplet consists of: + # + # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with + # extended_glob option enabled. + # 2. Directory class for the purpose of styling. + # 3. An empty string. + # + # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. + # + # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories + # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_DIR_CLASSES=( + # '~/work(|/*)' WORK '' + # '~(|/*)' HOME '' + # '*' DEFAULT '') + # + # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one + # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or + # WORK_NON_EXISTENT. + # + # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an + # option to define custom colors and icons for different directory classes. + # + # # Styling for WORK. + # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NOT_WRITABLE. + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 + # + # # Styling for WORK_NON_EXISTENT. + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 + # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 + # + # If a styling parameter isn't explicitly defined for some class, it falls back to the classless + # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls + # back to POWERLEVEL9K_DIR_FOREGROUND. + # + typeset -g POWERLEVEL9K_DIR_CLASSES=() + + # Custom prefix. + # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin ' + + #####################################[ vcs: git status ]###################################### + # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. + typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\UE0A0' + + # Untracked files icon. It's really a question mark, your font isn't broken. + # Change the value of this parameter to show a different icon. + typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' + + # Formatter for Git status. + # + # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. + # + # You can edit the function to customize how Git status looks. + # + # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: + # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. + function my_git_formatter() { + emulate -L zsh + + if [[ -n $P9K_CONTENT ]]; then + # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from + # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. + typeset -g my_git_format=$P9K_CONTENT + return + fi + + if (( $1 )); then + # Styling for up-to-date Git status. + local meta='%f' # default foreground + local clean='%35F' # green foreground + local modified='%178F' # yellow foreground + local untracked='%39F' # blue foreground + local conflicted='%196F' # red foreground + else + # Styling for incomplete and stale Git status. + local meta='%244F' # grey foreground + local clean='%244F' # grey foreground + local modified='%244F' # grey foreground + local untracked='%244F' # grey foreground + local conflicted='%244F' # grey foreground + fi + + local res + + if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then + local branch=${(V)VCS_STATUS_LOCAL_BRANCH} + # If local branch name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show local branch name in full without truncation, delete the next line. + (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line + res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" + fi + + if [[ -n $VCS_STATUS_TAG + # Show tag only if not on a branch. + # Tip: To always show tag, delete the next line. + && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line + ]]; then + local tag=${(V)VCS_STATUS_TAG} + # If tag name is at most 32 characters long, show it in full. + # Otherwise show the first 12 … the last 12. + # Tip: To always show tag name in full without truncation, delete the next line. + (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line + res+="${meta}#${clean}${tag//\%/%%}" + fi + + # Display the current Git commit if there is no branch and no tag. + # Tip: To always display the current Git commit, delete the next line. + [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line + res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" + + # Show tracking branch name if it differs from local branch. + if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then + res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" + fi + + # Display "wip" if the latest commit's summary contains "wip" or "WIP". + if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then + res+=" ${modified}wip" + fi + + if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then + # ⇣42 if behind the remote. + (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" + # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. + (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " + (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" + elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then + # Tip: Uncomment the next line to display '=' if up to date with the remote. + # res+=" ${clean}=" + fi + + # ⇠42 if behind the push remote. + (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" + (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " + # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. + (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" + # *42 if have stashes. + (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" + # 'merge' if the repo is in an unusual state. + [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" + # ~42 if have merge conflicts. + (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" + # +42 if have staged changes. + (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" + # !42 if have unstaged changes. + (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" + # ?42 if have untracked files. It's really a question mark, your font isn't broken. + # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. + # Remove the next line if you don't want to see untracked files at all. + (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" + # "─" if the number of unstaged files is unknown. This can happen due to + # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower + # than the number of files in the Git index, or due to bash.showDirtyState being set to false + # in the repository config. The number of staged and untracked files may also be unknown + # in this case. + (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" + + typeset -g my_git_format=$res + } + functions -M my_git_formatter 2>/dev/null + + # Don't count the number of unstaged, untracked and conflicted files in Git repositories with + # more than this many files in the index. Negative value means infinity. + # + # If you are working in Git repositories with tens of millions of files and seeing performance + # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output + # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's + # config: `git config bash.showDirtyState false`. + typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 + + # Don't show Git status in prompt for repositories whose workdir matches this pattern. + # For example, if set to '~', the Git repository at $HOME/.git will be ignored. + # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. + typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' + + # Disable the default Git status formatting. + typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true + # Install our own Git status formatter. + typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION=$'%{\e[3m%}${$((my_git_formatter(1)))+${my_git_format}}' + typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' + # Enable counters for staged, unstaged, etc. + typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 + + # Icon color. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=49 + typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 + # Custom icon. + typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_VCS_PREFIX='%fon ' + + # Show status of repositories of these types. You can add svn and/or hg if you are + # using them. If you do, your prompt may become slow even when your current directory + # isn't in an svn or hg repository. + typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) + + # These settings are used for repositories other than Git or when gitstatusd fails and + # Powerlevel10k has to fall back to using vcs_info. + typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 + typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 + + ##########################[ status: exit code of the last command ]########################### + # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and + # style them independently from the regular OK and ERROR state. + typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true + + # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as + # it will signify success by turning green. + typeset -g POWERLEVEL9K_STATUS_OK=false + typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when some part of a pipe command fails but the overall exit status is zero. It may look + # like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 + typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' + + # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as + # it will signify error by turning red. + typeset -g POWERLEVEL9K_STATUS_ERROR=false + typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when the last command was terminated by a signal. + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 + # Use terse signal names: "INT" instead of "SIGINT(2)". + typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false + typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' + + # Status when some part of a pipe command fails and the overall exit status is also non-zero. + # It may look like this: 1|0. + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 + typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' + + ###################[ command_execution_time: duration of the last command ]################### + # Show duration of the last command if takes at least this many seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 + # Show this many fractional digits. Zero means round to seconds. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 + # Execution time color. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101 + # Duration format: 1d 2h 3m 4s. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' + # Custom icon. + typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= + # Custom prefix. + # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook ' + + #######################[ background_jobs: presence of background jobs ]####################### + # Don't show the number of background jobs. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false + # Background jobs color. + typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ direnv: direnv status (https://direnv.net/) ]######################## + # Direnv color. + typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### + # Default asdf color. Only used to display tools for which there is no color override (see below). + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. + typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 + + # There are four parameters that can be used to hide asdf tools. Each parameter describes + # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at + # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to + # hide a tool, it gets shown. + # + # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and + # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: + # + # asdf local python 3.8.1 + # asdf global python 3.8.1 + # + # After running both commands the current python version is 3.8.1 and its source is "local" as + # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, + # it'll hide python version in this case because 3.8.1 is the same as the global version. + # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't + # contain "local". + + # Hide tool versions that don't come from one of these sources. + # + # Available sources: + # + # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" + # - local `asdf current` says "set by /some/not/home/directory/file" + # - global `asdf current` says "set by /home/username/file" + # + # Note: If this parameter is set to (shell local global), it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. + typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) + + # If set to false, hide tool versions that are the same as global. + # + # Note: The name of this parameter doesn't reflect its meaning at all. + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. + typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false + + # If set to false, hide tool versions that are equal to "system". + # + # Note: If this parameter is set to true, it won't hide tools. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. + typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true + + # If set to non-empty value, hide tools unless there is a file matching the specified file pattern + # in the current directory, or its parent directory, or its grandparent directory, and so on. + # + # Note: If this parameter is set to empty value, it won't hide tools. + # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. + # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. + # + # Example: Hide nodejs version when there is no package.json and no *.js files in the current + # directory, in `..`, in `../..` and so on. + # + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' + typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= + + # Ruby version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 + # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Python version from asdf. + typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Go version from asdf. + typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Node.js version from asdf. + typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Rust version from asdf. + typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 + # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' + + # .NET Core version from asdf. + typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 + # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_DOTNET_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Flutter version from asdf. + typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Lua version from asdf. + typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Java version from asdf. + typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 + # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Perl version from asdf. + typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 + # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Erlang version from asdf. + typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 + # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Elixir version from asdf. + typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Postgres version from asdf. + typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' + + # PHP version from asdf. + typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 + # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Haskell version from asdf. + typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 + # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' + + # Julia version from asdf. + typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 + # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' + + ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### + # NordVPN connection indicator color. + typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 + # Hide NordVPN connection indicator when not connected. + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= + typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= + # Custom icon. + # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## + # Ranger shell color. + typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### + # Yazi shell color. + typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### + # Nnn shell color. + typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]####################### + # lf shell color. + typeset -g POWERLEVEL9K_LF_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## + # xplr shell color. + typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 + # Custom icon. + # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########################[ vim_shell: vim shell indicator (:sh) ]########################### + # Vim shell indicator color. + typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 + # Custom icon. + # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### + # Midnight Commander shell color. + typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 + # Custom icon. + # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## + # Nix shell color. + typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 + + # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store. + # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false + + # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. + # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]################## + # chezmoi shell color. + typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33 + # Custom icon. + # typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ disk_usage: disk usage ]################################## + # Colors for different levels of disk usage. + typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 + # Thresholds for different levels of disk usage (percentage points). + typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 + typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 + # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. + typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false + # Custom icon. + # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ ram: free RAM ]####################################### + # RAM color. + typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 + # Custom icon. + # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################################[ swap: used swap ]###################################### + # Swap color. + typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 + # Custom icon. + # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######################################[ load: CPU load ]###################################### + # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. + typeset -g POWERLEVEL9K_LOAD_WHICH=5 + # Load color when load is under 50%. + typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 + # Load color when load is between 50% and 70%. + typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 + # Load color when load is over 70%. + typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 + # Custom icon. + # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ + # Todo color. + typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 + # Hide todo when the total number of tasks is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true + # Hide todo when the number of tasks after filtering is zero. + typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false + + # Todo format. The following parameters are available within the expansion. + # + # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. + # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. + # + # These variables correspond to the last line of the output of `todo.sh -p ls`: + # + # TODO: 24 of 42 tasks shown + # + # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. + # + # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ + # Timewarrior color. + typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 + # If the tracked task is longer than 24 characters, truncate and append "…". + # Tip: To always display tasks without truncation, delete the following parameter. + # Tip: To hide task names and display just the icon when time tracking is enabled, set the + # value of the following parameter to "". + typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' + + # Custom icon. + # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## + # Taskwarrior color. + typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 + + # Taskwarrior segment format. The following parameters are available within the expansion. + # + # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. + # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. + # + # Zero values are represented as empty parameters. + # + # The default format: + # + # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' + # + # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' + + # Custom icon. + # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]####### + # Color when using local/global history. + typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135 + typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130 + + # Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon. + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION='' + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION='' + + # Custom icon. + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ cpu_arch: CPU architecture ]################################ + # CPU architecture color. + typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 + + # Hide the segment when on a specific CPU architecture. + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= + # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= + + # Custom icon. + # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##################################[ context: user@hostname ]################################## + # Context color when running with privileges. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 + # Context color in SSH without privileges. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=239 + # Default context color (no privileges, no SSH). + typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=239 + + # Context format when running with privileges: bold user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' + # Context format when in SSH without privileges: user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%{\e[3m%}%n@%m' + # Default context format (no privileges, no SSH): user@hostname. + typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' + + # Don't show context unless running with privileges or in SSH. + # Tip: Remove the next line to always show context. + typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION='' + + # Custom icon. + # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%fwith ' + + ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### + # Python virtual environment color. + typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 + # Don't show Python version next to the virtual environment name. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false + # If set to "false", won't show virtualenv if pyenv is already shown. + # If set to "if-different", won't show virtualenv if it's the same as pyenv. + typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false + # Separate environment name from Python version only with a space. + typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ anaconda: conda environment (https://conda.io/) ]###################### + # Anaconda environment color. + typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 + + # Anaconda segment format. The following parameters are available within the expansion. + # + # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. + # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. + # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). + # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). + # + # CONDA_PROMPT_MODIFIER can be configured with the following command: + # + # conda config --set env_prompt '({default_env}) ' + # + # The last argument is a Python format string that can use the following variables: + # + # - prefix The same as CONDA_PREFIX. + # - default_env The same as CONDA_DEFAULT_ENV. + # - name The last segment of CONDA_PREFIX. + # - stacked_env Comma-separated list of names in the environment stack. The first element is + # always the same as default_env. + # + # Note: '({default_env}) ' is the default value of env_prompt. + # + # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER + # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former + # is empty. + typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' + + # Custom icon. + # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ + # Pyenv color. + typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 + # Hide python version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) + # If set to false, hide python version if it's the same as global: + # $(pyenv version-name) == $(pyenv global). + typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide python version if it's equal to "system". + typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true + + # Pyenv segment format. The following parameters are available within the expansion. + # + # - P9K_CONTENT Current pyenv environment (pyenv version-name). + # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). + # + # The default format has the following logic: + # + # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or + # starts with "$P9K_PYENV_PYTHON_VERSION/". + # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". + typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' + + # Custom icon. + # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ + # Goenv color. + typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 + # Hide go version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) + # If set to false, hide go version if it's the same as global: + # $(goenv version-name) == $(goenv global). + typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide go version if it's equal to "system". + typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## + # Nodenv color. + typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 + # Hide node version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) + # If set to false, hide node version if it's the same as global: + # $(nodenv version-name) == $(nodenv global). + typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### + # Nvm color. + typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 + # If set to false, hide node version if it's the same as default: + # $(nvm version current) == $(nvm version default). + typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false + # If set to false, hide node version if it's equal to "system". + typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ + # Nodeenv color. + typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 + # Don't show Node version next to the environment name. + typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false + # Separate environment name from Node version only with a space. + typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= + # Custom icon. + # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##############################[ node_version: node.js version ]############################### + # Node version color. + typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 + # Show node version only when in a directory tree containing package.json. + typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ go_version: go version (https://golang.org) ]######################## + # Go version color. + typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 + # Show go version only when in a go project subdirectory. + typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## + # Rust version color. + typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 + # Show rust version only when in a rust project subdirectory. + typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ + # .NET version color. + typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 + # Show .NET version only when in a .NET project subdirectory. + typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #####################[ php_version: php version (https://www.php.net/) ]###################### + # PHP version color. + typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 + # Show PHP version only when in a PHP project subdirectory. + typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### + # Laravel version color. + typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 + # Custom icon. + # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ####################[ java_version: java version (https://www.java.com/) ]#################### + # Java version color. + typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 + # Show java version only when in a java project subdirectory. + typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true + # Show brief version. + typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false + # Custom icon. + # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### + # Package color. + typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 + # Package format. The following parameters are available within the expansion. + # + # - P9K_PACKAGE_NAME The value of `name` field in package.json. + # - P9K_PACKAGE_VERSION The value of `version` field in package.json. + # + # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' + # Custom icon. + # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## + # Rbenv color. + typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 + # Hide ruby version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) + # If set to false, hide ruby version if it's the same as global: + # $(rbenv version-name) == $(rbenv global). + typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide ruby version if it's equal to "system". + typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## + # Rvm color. + typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 + # Don't show @gemset at the end. + typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false + # Don't show ruby- at the front. + typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ + # Fvm color. + typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### + # Lua color. + typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 + # Hide lua version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) + # If set to false, hide lua version if it's the same as global: + # $(luaenv version-name) == $(luaenv global). + typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide lua version if it's equal to "system". + typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ + # Java color. + typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 + # Hide java version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) + # If set to false, hide java version if it's the same as global: + # $(jenv version-name) == $(jenv global). + typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide java version if it's equal to "system". + typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ + # Perl color. + typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 + # Hide perl version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) + # If set to false, hide perl version if it's the same as global: + # $(plenv version-name) == $(plenv global). + typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide perl version if it's equal to "system". + typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ + # Perlbrew color. + typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 + # Show perlbrew version only when in a perl project subdirectory. + typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true + # Don't show "perl-" at the front. + typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false + # Custom icon. + # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ + # PHP color. + typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 + # Hide php version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) + # If set to false, hide php version if it's the same as global: + # $(phpenv version-name) == $(phpenv global). + typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide php version if it's equal to "system". + typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### + # Scala color. + typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 + # Hide scala version if it doesn't come from one of these sources. + typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) + # If set to false, hide scala version if it's the same as global: + # $(scalaenv version-name) == $(scalaenv global). + typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false + # If set to false, hide scala version if it's equal to "system". + typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true + # Custom icon. + # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### + # Haskell color. + typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 + # Hide haskell version if it doesn't come from one of these sources. + # + # shell: version is set by STACK_YAML + # local: version is set by stack.yaml up the directory tree + # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) + typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) + # If set to false, hide haskell version if it's the same as in the implicit global project. + typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true + # Custom icon. + # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# + # Show kubecontext only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show kubecontext. + typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl' + + # Kubernetes context classes for the purpose of using different colors, icons and expansions with + # different contexts. + # + # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current kubernetes context gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current kubernetes context is "deathray-testing/default", its class is TEST + # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 + # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext + # segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # Within the expansion the following parameters are always available: + # + # - P9K_CONTENT The content that would've been displayed if there was no content + # expansion defined. + # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the + # output of `kubectl config get-contexts`. + # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE + # in the output of `kubectl config get-contexts`. If there is no + # namespace, the parameter is set to "default". + # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the + # output of `kubectl config get-contexts`. + # + # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), + # the following extra parameters are available: + # + # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. + # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. + # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. + # + # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, + # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=gke + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + # + # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": + # + # - P9K_KUBECONTEXT_CLOUD_NAME=eks + # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 + # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 + # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 + typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= + # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' + # Append the current context's namespace if it's not "default". + POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' + + # Custom prefix. + # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%fat ' + + ################[ terraform: terraform workspace (https://www.terraform.io) ]################# + # Don't show terraform workspace if it's literally "default". + typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false + # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current terraform workspace gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current terraform workspace is "project_test", its class is TEST because "project_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 + # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #############[ terraform_version: terraform version (https://www.terraform.io) ]############## + # Terraform version color. + typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 + # Custom icon. + # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# + # Show aws only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show aws. + typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current AWS profile gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' DEFAULT) + # + # If your current AWS profile is "company_test", its class is TEST + # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AWS_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 + # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # AWS segment format. The following parameters are available within the expansion. + # + # - P9K_AWS_PROFILE The name of the current AWS profile. + # - P9K_AWS_REGION The region associated with the current AWS profile. + typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' + + #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# + # AWS Elastic Beanstalk environment color. + typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 + # Custom icon. + # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## + # Show azure only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show azure. + typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' + + # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element + # in each pair defines a pattern against which the current azure account name gets matched. + # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) + # that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters, + # you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The + # first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_AZURE_CLASSES=( + # '*prod*' PROD + # '*test*' TEST + # '*' OTHER) + # + # If your current azure account is "company_test", its class is TEST because "company_test" + # doesn't match the pattern '*prod*' but does match '*test*'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' + typeset -g POWERLEVEL9K_AZURE_CLASSES=( + # '*prod*' PROD # These values are examples that are unlikely + # '*test*' TEST # to match your needs. Customize them as needed. + '*' OTHER) + + # Azure account name color. + typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32 + # Custom icon. + # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### + # Show gcloud only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show gcloud. + typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' + # Google cloud color. + typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 + + # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or + # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative + # enough. You can use the following parameters in the expansions. Each of them corresponds to the + # output of `gcloud` tool. + # + # Parameter | Source + # -------------------------|-------------------------------------------------------------------- + # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' + # P9K_GCLOUD_ACCOUNT | gcloud config get-value account + # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project + # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. + # + # Obtaining project name requires sending a request to Google servers. This can take a long time + # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud + # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets + # set and gcloud prompt segment transitions to state COMPLETE. + # + # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL + # and COMPLETE. You can also hide gcloud in state PARTIAL by setting + # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and + # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. + typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' + typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' + + # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name + # this often. Negative value disables periodic polling. In this mode project name is retrieved + # only when the current configuration, account or project id changes. + typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 + + # Custom icon. + # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# + # Show google_app_cred only when the command you are typing invokes one of these tools. + # Tip: Remove the next line to always show google_app_cred. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' + + # Google application credentials classes for the purpose of using different colors, icons and + # expansions with different credentials. + # + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first + # element in each pair defines a pattern against which the current kubernetes context gets + # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion + # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION + # parameters, you'll see this value in your prompt. The second element of each pair in + # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. + # The first match wins. + # + # For example, given these settings: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD + # '*:*test*:*' TEST + # '*' DEFAULT) + # + # If your current Google application credentials is "service_account deathray-testing x@y.com", + # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. + # + # You can define different colors, icons and content expansions for different classes: + # + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( + # '*:*prod*:*' PROD # These values are examples that are unlikely + # '*:*test*:*' TEST # to match your needs. Customize them as needed. + '*' DEFAULT) + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 + # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by + # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: + # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. + # + # You can use the following parameters in the expansion. Each of them corresponds to one of the + # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. + # + # Parameter | JSON key file field + # ---------------------------------+--------------- + # P9K_GOOGLE_APP_CRED_TYPE | type + # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id + # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email + # + # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. + typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' + + ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### + # Toolbox color. + typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 + # Don't display the name of the toolbox if it matches fedora-toolbox-*. + typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' + # Custom icon. + # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' + # Custom prefix. + # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin ' + + ###############################[ public_ip: public IP address ]############################### + # Public IP color. + typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 + # Custom icon. + # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ########################[ vpn_ip: virtual private network indicator ]######################### + # VPN IP color. + typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 + # When on VPN, show just an icon without the IP address. + # Tip: To display the private IP address when on VPN, remove the next line. + typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= + # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN + # to see the name of the interface. + typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)' + # If set to true, show one segment per matching network interface. If set to false, show only + # one segment corresponding to the first matching network interface. + # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. + typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false + # Custom icon. + # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### + # IP color. + typeset -g POWERLEVEL9K_IP_FOREGROUND=38 + # The following parameters are accessible within the expansion: + # + # Parameter | Meaning + # ----------------------+------------------------------------------- + # P9K_IP_IP | IP address + # P9K_IP_INTERFACE | network interface + # P9K_IP_RX_BYTES | total number of bytes received + # P9K_IP_TX_BYTES | total number of bytes sent + # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt + # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt + # P9K_IP_RX_RATE | receive rate (since last prompt) + # P9K_IP_TX_RATE | send rate (since last prompt) + typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}' + # Show information for the first network interface whose name matches this regular expression. + # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. + typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' + # Custom icon. + # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' + + #########################[ proxy: system-wide http/https/ftp proxy ]########################## + # Proxy color. + typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' + + ################################[ battery: internal battery ]################################# + # Show battery in red when it's below this level and not connected to power supply. + typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 + typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 + # Show battery in green when it's charging or fully charged. + typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 + # Show battery in yellow when it's discharging. + typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 + # Battery pictograms going from low to high level of charge. + typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079' + # Don't show the remaining time to charge/discharge. + typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false + + #####################################[ wifi: wifi speed ]##################################### + # WiFi color. + typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 + # Custom icon. + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). + # + # # Wifi colors and icons for different signal strength levels (low to high). + # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values + # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values + # + # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' + # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' + # + # The following parameters are accessible within the expansions: + # + # Parameter | Meaning + # ----------------------+--------------- + # P9K_WIFI_SSID | service set identifier, a.k.a. network name + # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown + # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second + # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 + # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 + # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) + + ####################################[ time: current time ]#################################### + # Current time color. + typeset -g POWERLEVEL9K_TIME_FOREGROUND=240 + # Format for the current time: 09:51:02. See `man 3 strftime`. + typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M}' + # If set to true, time will update when you hit enter. This way prompts for the past + # commands will contain the start times of their commands as opposed to the default + # behavior where they contain the end times of their preceding commands. + typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false + # Custom icon. + typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='' + # Custom prefix. + # typeset -g POWERLEVEL9K_TIME_PREFIX='%fat ' + + # Example of a user-defined prompt segment. Function prompt_example will be called on every + # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or + # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. + # + # Type `p10k help segment` for documentation and a more sophisticated example. + function prompt_example() { + p10k segment -f 208 -i '⭐' -t 'hello, %n' + } + + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job + # is to generate the prompt segment for display in instant prompt. See + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # + # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function + # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k + # will replay these calls without actually calling instant_prompt_*. It is imperative that + # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this + # rule is not observed, the content of instant prompt will be incorrect. + # + # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If + # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. + function instant_prompt_example() { + # Since prompt_example always makes the same `p10k segment` calls, we can call it from + # instant_prompt_example. This will give us the same `example` prompt segment in the instant + # and regular prompts. + prompt_example + } + + # User-defined prompt segments can be customized the same way as built-in segments. + # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 + # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' + + # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt + # when accepting a command line. Supported values: + # + # - off: Don't change prompt when accepting a command line. + # - always: Trim down prompt when accepting a command line. + # - same-dir: Trim down prompt when accepting a command line unless this is the first command + # typed after changing current working directory. + typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always + + # Instant prompt mode. + # + # - off: Disable instant prompt. Choose this if you've tried instant prompt and found + # it incompatible with your zsh configuration files. + # - quiet: Enable instant prompt and don't print warnings when detecting console output + # during zsh initialization. Choose this if you've read and understood + # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. + # - verbose: Enable instant prompt and print a warning when detecting console output during + # zsh initialization. Choose this if you've never tried instant prompt, haven't + # seen the warning, or if you are unsure what this all means. + typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose + + # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. + # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload + # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you + # really need it. + typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true + + # If p10k is already loaded, reload configuration. + # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. + (( ! $+functions[p10k] )) || p10k reload +} + +# Tell `p10k configure` which file it should overwrite. +typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} + +(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} +'builtin' 'unset' 'p10k_config_opts' diff --git a/.zshrc b/.zshrc index a8b5490..bb67f8c 100644 --- a/.zshrc +++ b/.zshrc @@ -1,3 +1,10 @@ +# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. +# Initialization code that may require console input (password prompts, [y/n] +# confirmations, etc.) must go above this block; everything else may go below. +if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then + source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" +fi + if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" @@ -20,6 +27,7 @@ zi ice wait lucid zi load olets/zsh-abbr zi ice wait lucid zi snippet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/shrink-path/shrink-path.plugin.zsh +zinit ice depth=1; zinit light romkatv/powerlevel10k zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache @@ -137,8 +145,8 @@ rg() { ## Prompt -setopt TRANSIENT_RPROMPT -eval "$(starship init zsh)" +# setopt TRANSIENT_RPROMPT +# eval "$(starship init zsh)" ## vim export EDITOR=nvim @@ -266,3 +274,6 @@ compdef _grc grc # Atuin history eval "$(atuin init zsh)" + +# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. +[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh From 54417b92f70424952b2dac7e87546a7c8dd37614 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 9 Mar 2024 18:34:31 +0100 Subject: [PATCH 186/656] nvim: disable bufferline --- .config/nvim/lua/plugins/ui.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index ab6dcb4..2beed80 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -16,6 +16,11 @@ hooks.register(hooks.type.HIGHLIGHT_SETUP, function() end) return { + { + "akinsho/bufferline.nvim", + enabled = false, + }, + { "lukas-reineke/indent-blankline.nvim", dependencies = { From c17e7aba3db9196bf9d9d8b441db40c03bcb4664 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 10 Mar 2024 00:16:29 +0100 Subject: [PATCH 187/656] shell fixings --- .config/nvim/lazy-lock.json | 13 ++++---- .config/nvim/lua/plugins/colorscheme.lua | 1 + .p10k.zsh | 17 +++++++++-- .zsh/history.zsh | 38 ++++++++++++++++++++++++ .zshrc | 11 +++++-- 5 files changed, 68 insertions(+), 12 deletions(-) create mode 100644 .zsh/history.zsh diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index ca65459..dba64aa 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,9 +1,8 @@ { "LazyVim": { "branch": "main", "commit": "e3bfcb9bf74292dc846f5d1710fbb2e8f36a687a" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "6eb5d8d9ec9f81b75aaa6d15d0f6dc12a066fd3f" }, + "SchemaStore.nvim": { "branch": "main", "commit": "b788bde023f9fbc2eb86e89d32c0bf98a60ae406" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "bufferline.nvim": { "branch": "main", "commit": "64e2c5def50dfd6b6f14d96a45fa3d815a4a1eef" }, "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "0acd702358230abeb6576769f7116e766bca28a0" }, @@ -32,7 +31,7 @@ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "459c60317cc1d251f6eb3b6f010d015d5d24b806" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "7f2ebdef3b55374390714ac7c0a7fe6b0dae498a" }, "neoconf.nvim": { "branch": "main", "commit": "db1d1bd45f4e91da6abc898281711fa47eda0ece" }, "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, @@ -44,20 +43,20 @@ "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "a5fc69240869c0fee8ff176bc9e4efdf8bdfb596" }, "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, - "nvim-lspconfig": { "branch": "master", "commit": "94cf4adb81158817520e18d2174963d8e1424df9" }, + "nvim-lspconfig": { "branch": "master", "commit": "16295b79410f131c4fa7870c663b4ace6a761fb2" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, - "nvim-treesitter": { "branch": "master", "commit": "57205313dda0ac82ac69e21d5e2a80f3297c14cc" }, + "nvim-treesitter": { "branch": "master", "commit": "7ff51f53b0efb6228df2e8539b51bb2e737b77f3" }, "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" }, + "nvim-web-devicons": { "branch": "master", "commit": "75df79feb02d5e0ec114e447453775d4d291ea03" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "387ca846d632f8c90631536341ca1778b4c2c497" }, + "rustaceanvim": { "branch": "master", "commit": "19f12173ccb7993f86ea26b0e21bbb883c3b86c7" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 30f2076..f02ab3b 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -64,6 +64,7 @@ return { Color.new("ColorColumn", "#171e26") Group.new("ColorColumn", nil, colors.ColorColumn) + Color.new("normal", "#e3e0cd") Group.new("Normal", colors.normal, nil) diff --git a/.p10k.zsh b/.p10k.zsh index 05d0a0e..638f02e 100644 --- a/.p10k.zsh +++ b/.p10k.zsh @@ -37,6 +37,7 @@ # vcs # git status # =========================[ Line #2 ]========================= newline # \n + cwd prompt_char # prompt symbol ) @@ -199,9 +200,9 @@ ################################[ prompt_char: prompt symbol ]################################ # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=253 + typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=70 #253 # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=253 + typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=70 #253 # Default prompt symbol. typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='%%' #'❯' # Prompt symbol in command vi mode. @@ -228,7 +229,7 @@ typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 # Color of the anchor directory segments. Anchor segments are never shortened. The first # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=245 + typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=246 # Display anchor directory segments in bold. typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=false # Don't shorten directories that contain any of these files. They are anchors. @@ -347,6 +348,11 @@ # typeset -g POWERLEVEL9K_DIR_CLASSES=() + unset POWERLEVEL9K_DIR_ANCHOR_FOREGROUND + unset POWERLEVEL9K_DIR_SHORTENED_FOREGROUND + typeset -g POWERLEVEL9K_DIR_CONTENT_EXPANSION=$'%{\e[38;5;246;1;3m%}$P9K_CONTENT%b' + + # Custom prefix. # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin ' @@ -1661,6 +1667,10 @@ p10k segment -f 208 -i '⭐' -t 'hello, %n' } + function prompt_cwd() { + p10k segment -f 66 -e -t "${PWD##*/}" + } + # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job # is to generate the prompt segment for display in instant prompt. See # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. @@ -1678,6 +1688,7 @@ # instant_prompt_example. This will give us the same `example` prompt segment in the instant # and regular prompts. prompt_example + prompt_cwd } # User-defined prompt segments can be customized the same way as built-in segments. diff --git a/.zsh/history.zsh b/.zsh/history.zsh new file mode 100644 index 0000000..c46bf6f --- /dev/null +++ b/.zsh/history.zsh @@ -0,0 +1,38 @@ +typeset -g MY_HISTORY_SEARCH_OFFSET=0 +typeset -g MY_HISTORY_SEARCH_PREFIX="" + +function my-history-prefix-search() { + if [[ $LASTWIDGET != my-history-prefix-search-* ]]; then + # start state machine + MY_HISTORY_SEARCH_OFFSET=-1 + MY_HISTORY_SEARCH_PREFIX="$LBUFFER" + fi + local offset_delta=$1 + local offset=$((MY_HISTORY_SEARCH_OFFSET + $offset_delta)) + + (($offset < 0)) && return + local result=$( + atuin search \ + --search-mode prefix \ + --limit 1 \ + --offset $offset \ + --format '{command}' \ + "$MY_HISTORY_SEARCH_PREFIX" + ) + if [[ -n "$result" ]]; then + BUFFER=$result + CURSOR=${#BUFFER} + MY_HISTORY_SEARCH_OFFSET=$offset + fi +} + +function my-history-prefix-search-backward-widget() { + my-history-prefix-search +1 +} + +function my-history-prefix-search-forward-widget() { + my-history-prefix-search -1 +} + +zle -N my-history-prefix-search-backward-widget +zle -N my-history-prefix-search-forward-widget diff --git a/.zshrc b/.zshrc index bb67f8c..22c0b4c 100644 --- a/.zshrc +++ b/.zshrc @@ -19,6 +19,8 @@ autoload -Uz _zinit zi ice wait lucid zi load zsh-users/zsh-completions +# zi ice wait lucid +# zi load zsh-users/zsh-autosuggestions zi ice wait lucid zi load zdharma-continuum/fast-syntax-highlighting zi ice wait lucid @@ -100,9 +102,14 @@ _cwd_gitroot() { zle -N _cwd_gitroot ## Keybindings +source $HOME/.zsh/history.zsh bindkey -e -bindkey '^P' atuin-up-search bindkey '^g' _jump +# bindkey '^P' atuin-up-search +bindkey '^p' my-history-prefix-search-backward-widget +bindkey '^n' my-history-prefix-search-forward-widget +bindkey "^[[A" my-history-prefix-search-backward-widget +bindkey "^[[B" my-history-prefix-search-forward-widget ## Pager @@ -273,7 +280,7 @@ function _grc() { compdef _grc grc # Atuin history -eval "$(atuin init zsh)" +eval "$(atuin init zsh --disable-up-arrow)" # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh From 68c0b21cd2413aac6f5530906f2efd7313549c2e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 11 Mar 2024 09:18:43 +0100 Subject: [PATCH 188/656] nvim: disable lazy autoupdate --- .config/nvim/lazy-lock.json | 14 +++++++------- .config/nvim/lua/config/lazy.lua | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index dba64aa..9a3e0c9 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -23,7 +23,7 @@ "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, "lualine.nvim": { "branch": "master", "commit": "8b56462bfb746760465264de41b4907310f113ec" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, @@ -32,7 +32,7 @@ "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7f2ebdef3b55374390714ac7c0a7fe6b0dae498a" }, - "neoconf.nvim": { "branch": "main", "commit": "db1d1bd45f4e91da6abc898281711fa47eda0ece" }, + "neoconf.nvim": { "branch": "main", "commit": "d21739358bca9811f783c9a3d5e91c7b3abc3005" }, "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, "none-ls.nvim": { "branch": "main", "commit": "ff3819c52ca04232fb70fbd6c1639de9abcbe122" }, @@ -41,14 +41,14 @@ "nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" }, "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "a5fc69240869c0fee8ff176bc9e4efdf8bdfb596" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, - "nvim-lspconfig": { "branch": "master", "commit": "16295b79410f131c4fa7870c663b4ace6a761fb2" }, + "nvim-lspconfig": { "branch": "master", "commit": "1917b562a02f20885900b1da0f0ea25028ccedab" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, - "nvim-treesitter": { "branch": "master", "commit": "7ff51f53b0efb6228df2e8539b51bb2e737b77f3" }, + "nvim-treesitter": { "branch": "master", "commit": "488bec03254207b1dd071be8cb1fb78434b6e777" }, "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, @@ -56,12 +56,12 @@ "nvim-web-devicons": { "branch": "master", "commit": "75df79feb02d5e0ec114e447453775d4d291ea03" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "19f12173ccb7993f86ea26b0e21bbb883c3b86c7" }, + "rustaceanvim": { "branch": "master", "commit": "5dc35a075ad7c9d2f6493065e1e5970e4ad61504" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "610179f7f12db3d08540b6cc61434db2eaecbcff" }, + "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 9affbf2..c81386d 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -33,7 +33,7 @@ require("lazy").setup({ -- version = "*", -- try installing the latest stable version for plugins that support semver }, -- install = { colorscheme = { "eyes" } }, - checker = { enabled = true }, -- automatically check for plugin updates + checker = { enabled = false }, -- automatically check for plugin updates performance = { rtp = { -- disable some rtp plugins From fe11201cdb123342caaa3c7c0f20721ca1d47e00 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 11 Mar 2024 13:00:26 +0100 Subject: [PATCH 189/656] wezterm: new config --- .config/wezterm/wezterm.lua | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 535811a..b967d2b 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -5,11 +5,6 @@ local act = wezterm.action local dev_host = "dln-dev" local spawn_dev_nvim = { "ssh", dev_host, "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } --- local function font_with_fallback(name, params) --- local names = { name, "Noto Color Emoji" } --- return wezterm.font_with_fallback(names, params) --- end --- wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") return { @@ -17,46 +12,51 @@ return { color_scheme_dirs = { os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm", }, - font = wezterm.font({ family = "IosevkaShelman Nerd Font" }), + font = wezterm.font({ + family = "IosevkaShelman Nerd Font", + weight = "Light", + }), font_rules = { { - italic = false, - intensity = "Half", + italic = true, + intensity = "Bold", reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight" }), + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Thin", italic = true }), }, { italic = true, intensity = "Normal", reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "Light", italic = true }), }, }, front_end = "WebGpu", webgpu_power_preference = "HighPerformance", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, - -- allow_square_glyphs_to_overflow_width = "Always", + -- allow_square_glyphs_to_overflow_width = "Never", font_size = 16, command_palette_font_size = 13.5, + line_height = 1.0, initial_cols = 132, initial_rows = 45, use_resize_increments = true, adjust_window_size_when_changing_font_size = false, window_decorations = "RESIZE", window_padding = { - left = 0, - right = 0, + left = 6, + right = 6, top = 0, bottom = 0, }, unicode_version = 14, default_cursor_style = "SteadyBlock", cursor_thickness = "6px", - cursor_blink_rate = 0, + cursor_blink_rate = 700, hide_mouse_cursor_when_typing = false, - underline_position = -12, - underline_thickness = 2, + underline_position = -9, + underline_thickness = 1, enable_wayland = true, enable_tab_bar = false, tab_bar_at_bottom = true, @@ -77,10 +77,6 @@ return { { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, - { key = "r", mods = "ALT", action = act.ReloadConfiguration }, - { key = "L", mods = "CTRL", action = wezterm.action.ShowDebugOverlay }, - { key = "l", mods = "ALT", action = wezterm.action.ActivateCommandPalette }, - { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, From e176c27955bc86c99eb708b64b67a2eb787efbae Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 12 Mar 2024 15:44:19 +0100 Subject: [PATCH 190/656] Set up opener. Support multiple hosts. Enable with `systemctl --user enable --now opener@myhost` --- .config/systemd/user/opener@.service | 10 ++++++++++ .ssh/config | 1 + bin/xdg-open | 11 +++++++++++ 3 files changed, 22 insertions(+) create mode 100644 .config/systemd/user/opener@.service create mode 100755 bin/xdg-open diff --git a/.config/systemd/user/opener@.service b/.config/systemd/user/opener@.service new file mode 100644 index 0000000..ae713c9 --- /dev/null +++ b/.config/systemd/user/opener@.service @@ -0,0 +1,10 @@ +[Unit] +Description=Open URL in your local web browser from the SSH-connected remote environment. + +[Service] +Restart=always +Environment=OPENER_CONF=%t/opener.%i.conf +ExecStart=/bin/sh -c 'echo "address: %t/opener.%i.sock" > $OPENER_CONF && exec %h/bin/opener --config $OPENER_CONF' + +[Install] +WantedBy=graphical-session.target diff --git a/.ssh/config b/.ssh/config index df495cf..8b147e7 100644 --- a/.ssh/config +++ b/.ssh/config @@ -21,6 +21,7 @@ LocalForward 127.0.0.1:3000 127.0.0.1:3000 LocalForward 127.0.0.1:8000 127.0.0.1:8000 LocalForward 127.0.0.1:8080 127.0.0.1:8080 LocalForward 127.0.0.1:9090 127.0.0.1:9090 +RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock Host * ForwardAgent no diff --git a/bin/xdg-open b/bin/xdg-open new file mode 100755 index 0000000..1a10b0b --- /dev/null +++ b/bin/xdg-open @@ -0,0 +1,11 @@ +#!/usr/bin/env sh +set -eu + +# Use local xdg-open if not in an ssh session +[ -n "$SSH_TTY" ] || exec /usr/bin/xdg-open "$@" + +if [ -p /dev/stdin ]; then + exec nc -U "$XDG_RUNTIME_DIR/opener.sock" </dev/stdin +else + echo "$@" | nc -U "$XDG_RUNTIME_DIR/opener.sock" +fi From 40afbee24841b67b1a6f183b698f64fe42d0f05a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 12 Mar 2024 17:20:24 +0100 Subject: [PATCH 191/656] nvim: add extrax --- .config/nvim/lua/plugins/extras.lua | 52 +++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .config/nvim/lua/plugins/extras.lua diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua new file mode 100644 index 0000000..4e41075 --- /dev/null +++ b/.config/nvim/lua/plugins/extras.lua @@ -0,0 +1,52 @@ +return { + { + "nvimtools/none-ls.nvim", + opts = function(_, opts) + local nls = require("null-ls") + opts.root_dir = opts.root_dir + or require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", "Makefile", ".git") + opts.sources = vim.list_extend(opts.sources or {}, { + nls.builtins.formatting.fish_indent, + nls.builtins.diagnostics.fish, + nls.builtins.formatting.stylua, + nls.builtins.formatting.shfmt, + nls.builtins.formatting.buf, + nls.builtins.diagnostics.buf.with({ + args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, + cwd = function() + local file_dir = vim.fn.expand("%:p:h") .. ";" + local buf_yaml = vim.fn.findfile("buf.yaml", file_dir) + if buf_yaml then + return vim.fn.fnamemodify(buf_yaml, ":h") + end + end, + }), + }) + end, + }, + + { + "simrat39/rust-tools.nvim", + enabled = false, + }, + { + "mrcjkb/rustaceanvim", + version = "^4", -- Recommended + ft = { "rust" }, + opts = { + server = { + on_attach = function(_, bufnr) + vim.keymap.set("n", "<leader>cR", function() + vim.cmd.RustLsp("codeAction") + end, { desc = "Code Action", buffer = bufnr }) + vim.keymap.set("n", "<leader>dr", function() + vim.cmd.RustLsp("debuggables") + end, { desc = "Rust debuggables", buffer = bufnr }) + vim.keymap.set("n", "<leader>cD", function() + vim.cmd.RustLsp("externalDocs") + end, { desc = "Rust external documentation", buffer = bufnr }) + end, + }, + }, + }, +} From 5433ee64f754b47a68857872e5d43a47ebd33cde Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 12 Mar 2024 17:21:41 +0100 Subject: [PATCH 192/656] nvim: enable inlay hints by default --- .config/nvim/lua/plugins/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 3a94ba6..437f9d7 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -2,7 +2,7 @@ return { { "neovim/nvim-lspconfig", opts = { - -- inlay_hints = { enabled = true }, + inlay_hints = { enabled = true }, -- capabilities = { -- workspace = { -- didChangeWatchedFiles = { From c87db0023b622a4ddc635b5d4ee7f9b0c95d32bf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 12 Mar 2024 17:21:58 +0100 Subject: [PATCH 193/656] git: enable compression --- .gitconfig | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.gitconfig b/.gitconfig index 6deb7af..3d4fcda 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,8 +1,12 @@ [core] excludesfile = "~/.gitignore" pager = delta -compression = 0 -looseCompression = 0 +compression = 3 +looseCompression = 3 + +[pack] +threads = 0 +compression = 3 [user] useConfigOnly = true @@ -79,9 +83,6 @@ status = auto [apply] whitespace = nowarn -[pack] -threads = 0 - [blame] date = relative From 7ecb63d1a02dec6d2dfac9d2bdb1b30382fc44c3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 14 Mar 2024 09:55:30 +0100 Subject: [PATCH 194/656] ssh: bind localhost instead of ipv4 --- .ssh/config | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.ssh/config b/.ssh/config index 8b147e7..7596805 100644 --- a/.ssh/config +++ b/.ssh/config @@ -17,10 +17,10 @@ Hostname 10.1.100.16 ForwardAgent yes ExitOnForwardFailure yes Compression no -LocalForward 127.0.0.1:3000 127.0.0.1:3000 -LocalForward 127.0.0.1:8000 127.0.0.1:8000 -LocalForward 127.0.0.1:8080 127.0.0.1:8080 -LocalForward 127.0.0.1:9090 127.0.0.1:9090 +LocalForward localhost:3000 localhost:3000 +LocalForward localhost:8000 localhost:8000 +LocalForward localhost:8080 localhost:8080 +LocalForward localhost:9090 localhost:9090 RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock Host * From 6fe02664391ddfb1c227539db9e08e4dd30e237c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 15 Mar 2024 14:46:19 +0100 Subject: [PATCH 195/656] zsh: Replace p10k with oh-my-posh --- .config/oh-my-posh/config.yaml | 81 ++ .p10k.zsh | 1734 -------------------------------- .zshrc | 16 +- 3 files changed, 83 insertions(+), 1748 deletions(-) create mode 100644 .config/oh-my-posh/config.yaml delete mode 100644 .p10k.zsh diff --git a/.config/oh-my-posh/config.yaml b/.config/oh-my-posh/config.yaml new file mode 100644 index 0000000..ece6a4b --- /dev/null +++ b/.config/oh-my-posh/config.yaml @@ -0,0 +1,81 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json +version: 2 +final_space: true +pwd: osc7 +disable_cursor_positioning: true +blocks: + - type: prompt + alignment: left + newline: true + segments: + - type: path + style: plain + foreground: "#999" + template: "<b><i>{{ .Path }}</i></b> " + properties: + style: full + + - type: prompt + alignment: right + filler: "<#333>⎯</>" + segments: + - type: git + style: plain + foreground: "#777" + foreground_templates: + - "{{ if or (.Working.Changed) (.Staging.Changed) }}#3b8{{ end }}" + - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#3b8{{ end }}" + - "{{ if gt .Ahead 0 }}#B388FF{{ end }}" + - "{{ if gt .Behind 0 }}#B388FB{{ end }}" + template: " <i>{{ .HEAD }} {{if .BranchStatus }}{{ .BranchStatus + }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and + (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} + {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ + end }}</i>" + properties: + fetch_status: true + + - type: rprompt + segments: + - type: executiontime + style: plain + foreground: "#c93" + template: "<i> {{ .FormattedMs }}</i>" + properties: + threshold: 500 + + - type: session + style: plain + foreground: "#666" + template: " <i>{{ .UserName }}@{{ .HostName }}</i>" + + - type: time + style: plain + foreground: "#666" + template: " <i>{{ .CurrentDate | date .Format }}</i>" + properties: + time_format: "15:04" + + - type: prompt + alignment: left + newline: true + segments: + - type: path + style: plain + foreground: "#678" + template: "<i>{{ .Path }}</i>" + properties: + style: folder + + - type: text + style: plain + foreground: "#6c9" + template: " %" + properties: + style: folder + +transient_prompt: + background: transparent + foreground: "#6c9" + template: "\n%% " + filler: "-" diff --git a/.p10k.zsh b/.p10k.zsh deleted file mode 100644 index 638f02e..0000000 --- a/.p10k.zsh +++ /dev/null @@ -1,1734 +0,0 @@ -# Generated by Powerlevel10k configuration wizard on 2024-03-09 at 10:48 CET. -# Based on romkatv/powerlevel10k/config/p10k-lean.zsh, checksum 52020. -# Wizard options: nerdfont-v3 + powerline, large icons, unicode, lean, 24h time, -# 2 lines, dotted, no frame, darkest-ornaments, compact, few icons, concise, -# transient_prompt, instant_prompt=verbose. -# Type `p10k configure` to generate another config. -# -# Config for Powerlevel10k with lean prompt style. Type `p10k configure` to generate -# your own config based on it. -# -# Tip: Looking for a nice color? Here's a one-liner to print colormap. -# -# for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'\n'}; done - -# Temporarily change options. -'builtin' 'local' '-a' 'p10k_config_opts' -[[ ! -o 'aliases' ]] || p10k_config_opts+=('aliases') -[[ ! -o 'sh_glob' ]] || p10k_config_opts+=('sh_glob') -[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand') -'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand' - -() { - emulate -L zsh -o extended_glob - - # Unset all configuration options. This allows you to apply configuration changes without - # restarting zsh. Edit ~/.p10k.zsh and type `source ~/.p10k.zsh`. - unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' - - # Zsh >= 5.1 is required. - [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return - - # The list of segments shown on the left. Fill it with the most important segments. - typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - # os_icon # os identifier - dir # current directory - # vcs # git status - # =========================[ Line #2 ]========================= - newline # \n - cwd - prompt_char # prompt symbol - ) - - # The list of segments shown on the right. Fill it with less important segments. - # Right prompt on the last prompt line (where you are typing your commands) gets - # automatically hidden when the input line reaches it. Right prompt above the - # last prompt line gets hidden if it would overlap with left prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=( - # =========================[ Line #1 ]========================= - status # exit code of the last command - command_execution_time # duration of the last command - background_jobs # presence of background jobs - # direnv # direnv status (https://direnv.net/) - # asdf # asdf version manager (https://github.com/asdf-vm/asdf) - # virtualenv # python virtual environment (https://docs.python.org/3/library/venv.html) - # anaconda # conda environment (https://conda.io/) - # pyenv # python environment (https://github.com/pyenv/pyenv) - # goenv # go environment (https://github.com/syndbg/goenv) - # nodenv # node.js version from nodenv (https://github.com/nodenv/nodenv) - # nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) - # nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) - # node_version # node.js version - # go_version # go version (https://golang.org) - # rust_version # rustc version (https://www.rust-lang.org) - # dotnet_version # .NET version (https://dotnet.microsoft.com) - # php_version # php version (https://www.php.net/) - # laravel_version # laravel php framework version (https://laravel.com/) - # java_version # java version (https://www.java.com/) - # package # name@version from package.json (https://docs.npmjs.com/files/package.json) - # rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) - # rvm # ruby version from rvm (https://rvm.io) - # fvm # flutter version management (https://github.com/leoafarias/fvm) - # luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) - # jenv # java version from jenv (https://github.com/jenv/jenv) - # plenv # perl version from plenv (https://github.com/tokuhirom/plenv) - # perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew) - # phpenv # php version from phpenv (https://github.com/phpenv/phpenv) - # scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv) - # haskell_stack # haskell version from stack (https://haskellstack.org/) - # kubecontext # current kubernetes context (https://kubernetes.io/) - # terraform # terraform workspace (https://www.terraform.io) - # terraform_version # terraform version (https://www.terraform.io) - # aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) - # aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) - # azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) - # gcloud # google cloud cli account and project (https://cloud.google.com/) - # google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) - # toolbox # toolbox name (https://github.com/containers/toolbox) - # context # user@hostname - # nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) - # ranger # ranger shell (https://github.com/ranger/ranger) - # yazi # yazi shell (https://github.com/sxyazi/yazi) - # nnn # nnn shell (https://github.com/jarun/nnn) - # lf # lf shell (https://github.com/gokcehan/lf) - # xplr # xplr shell (https://github.com/sayanarijit/xplr) - # vim_shell # vim shell indicator (:sh) - # midnight_commander # midnight commander shell (https://midnight-commander.org/) - # nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) - # chezmoi_shell # chezmoi shell (https://www.chezmoi.io/) - # vpn_ip # virtual private network indicator - # load # CPU load - # disk_usage # disk usage - # ram # free RAM - # swap # used swap - # todo # todo items (https://github.com/todotxt/todo.txt-cli) - # timewarrior # timewarrior tracking status (https://timewarrior.net/) - # taskwarrior # taskwarrior task count (https://taskwarrior.org/) - # per_directory_history # Oh My Zsh per-directory-history local/global indicator - # cpu_arch # CPU architecture - # time # current time - vcs - # =========================[ Line #2 ]========================= - newline - # ip # ip address and bandwidth usage for a specified network interface - # public_ip # public IP address - # proxy # system-wide http/https/ftp proxy - # battery # internal battery - # wifi # wifi speed - # example # example user-defined segment (see prompt_example function below) - context - time - ) - - # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. - typeset -g POWERLEVEL9K_MODE=nerdfont-v3 - # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid - # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. - typeset -g POWERLEVEL9K_ICON_PADDING=moderate - - # Basic style options that define the overall look of your prompt. You probably don't want to - # change them. - typeset -g POWERLEVEL9K_BACKGROUND= # transparent background - typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE= # no surrounding whitespace - typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' ' # separate segments with a space - typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR= # no end-of-line symbol - - # When set to true, icons appear before content on both sides of the prompt. When set - # to false, icons go after content. If empty or not set, icons go before content in the left - # prompt and after content in the right prompt. - # - # You can also override it for a specific segment: - # - # POWERLEVEL9K_STATUS_ICON_BEFORE_CONTENT=false - # - # Or for a specific segment in specific state: - # - # POWERLEVEL9K_DIR_NOT_WRITABLE_ICON_BEFORE_CONTENT=false - typeset -g POWERLEVEL9K_ICON_BEFORE_CONTENT=true - - # Add an empty line before each prompt. - # typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=false - p10k-on-pre-prompt() p10k display empty_line=print - - # Connect left prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX= - # Connect right prompt lines with these symbols. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= - typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_SUFFIX= - - # The left end of left prompt. - typeset -g POWERLEVEL9K_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - # The right end of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_LAST_SEGMENT_END_SYMBOL= - - # Ruler, a.k.a. the horizontal line before each prompt. If you set it to true, you'll - # probably want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false above and - # POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' below. - typeset -g POWERLEVEL9K_SHOW_RULER=false - typeset -g POWERLEVEL9K_RULER_CHAR='─' # reasonable alternative: '·' - typeset -g POWERLEVEL9K_RULER_FOREGROUND=238 - - # Filler between left and right prompt on the first prompt line. You can set it to '·' or '─' - # to make it easier to see the alignment between left and right prompt and to separate prompt - # from command output. It serves the same purpose as ruler (see above) without increasing - # the number of prompt lines. You'll probably want to set POWERLEVEL9K_SHOW_RULER=false - # if using this. You might also like POWERLEVEL9K_PROMPT_ADD_NEWLINE=false for more compact - # prompt. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR='⎯' #'·' '⋯' '⎯' '·' - if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then - # The color of the filler. - typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=235 - # Add a space between the end of left prompt and the filler. - typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL=' ' - # Add a space between the filler and the start of right prompt. - typeset -g POWERLEVEL9K_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL=' ' - # Start filler from the edge of the screen if there are no left segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' - # End filler on the edge of the screen if there are no right segments on the first line. - typeset -g POWERLEVEL9K_EMPTY_LINE_RIGHT_PROMPT_FIRST_SEGMENT_START_SYMBOL='%{%}' - fi - - #################################[ os_icon: os identifier ]################################## - # OS identifier color. - typeset -g POWERLEVEL9K_OS_ICON_FOREGROUND= - # Custom icon. - # typeset -g POWERLEVEL9K_OS_ICON_CONTENT_EXPANSION='⭐' - - ################################[ prompt_char: prompt symbol ]################################ - # Green prompt symbol if the last command succeeded. - typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=70 #253 - # Red prompt symbol if the last command failed. - typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=70 #253 - # Default prompt symbol. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='%%' #'❯' - # Prompt symbol in command vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮' - # Prompt symbol in visual vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='V' - # Prompt symbol in overwrite vi mode. - typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIOWR_CONTENT_EXPANSION='▶' - typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=true - # No line terminator if prompt_char is the last segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='' - # No line introducer if prompt_char is the first segment. - typeset -g POWERLEVEL9K_PROMPT_CHAR_LEFT_PROMPT_FIRST_SEGMENT_START_SYMBOL= - - ##################################[ dir: current directory ]################################## - # Default current directory color. - typeset -g POWERLEVEL9K_DIR_FOREGROUND=241 - # If directory is too long, shorten some of its segments to the shortest possible unique - # prefix. The shortened directory can be tab-completed to the original. - typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_unique - # Replace removed segment suffixes with this symbol. - typeset -g POWERLEVEL9K_SHORTEN_DELIMITER= - # Color of the shortened directory segments. - typeset -g POWERLEVEL9K_DIR_SHORTENED_FOREGROUND=103 - # Color of the anchor directory segments. Anchor segments are never shortened. The first - # segment is always an anchor. - typeset -g POWERLEVEL9K_DIR_ANCHOR_FOREGROUND=246 - # Display anchor directory segments in bold. - typeset -g POWERLEVEL9K_DIR_ANCHOR_BOLD=false - # Don't shorten directories that contain any of these files. They are anchors. - local anchor_files=( - .bzr - .citc - .git - .hg - .node-version - .python-version - .go-version - .ruby-version - .lua-version - .java-version - .perl-version - .php-version - .tool-versions - .shorten_folder_marker - .svn - .terraform - CVS - Cargo.toml - composer.json - go.mod - package.json - stack.yaml - ) - typeset -g POWERLEVEL9K_SHORTEN_FOLDER_MARKER="(${(j:|:)anchor_files})" - # If set to "first" ("last"), remove everything before the first (last) subdirectory that contains - # files matching $POWERLEVEL9K_SHORTEN_FOLDER_MARKER. For example, when the current directory is - # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) - # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers - # and other directories don't. - # - # Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer. - # This moves the truncation point to the right (positive offset) or to the left (negative offset) - # relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0" - # respectively. - typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false - # Don't shorten this many last directory segments. They are anchors. - typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 - # Shorten directory if it's longer than this even if there is space for it. The value can - # be either absolute (e.g., '80') or a percentage of terminal width (e.g, '50%'). If empty, - # directory will be shortened only when prompt doesn't fit or when other parameters demand it - # (see POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS and POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT below). - # If set to `0`, directory will always be shortened to its minimum length. - typeset -g POWERLEVEL9K_DIR_MAX_LENGTH=80 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least this - # many columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS=40 - # When `dir` segment is on the last prompt line, try to shorten it enough to leave at least - # COLUMNS * POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT * 0.01 columns for typing commands. - typeset -g POWERLEVEL9K_DIR_MIN_COMMAND_COLUMNS_PCT=50 - # If set to true, embed a hyperlink into the directory. Useful for quickly - # opening a directory in the file manager simply by clicking the link. - # Can also be handy when the directory is shortened, as it allows you to see - # the full directory that was used in previous commands. - typeset -g POWERLEVEL9K_DIR_HYPERLINK=false - - # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON - # and POWERLEVEL9K_DIR_CLASSES below. - typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3 - - # The default icon shown next to non-writable and non-existent directories when - # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3. - # typeset -g POWERLEVEL9K_LOCK_ICON='⭐' - - # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different - # directories. It must be an array with 3 * N elements. Each triplet consists of: - # - # 1. A pattern against which the current directory ($PWD) is matched. Matching is done with - # extended_glob option enabled. - # 2. Directory class for the purpose of styling. - # 3. An empty string. - # - # Triplets are tried in order. The first triplet whose pattern matches $PWD wins. - # - # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories - # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_DIR_CLASSES=( - # '~/work(|/*)' WORK '' - # '~(|/*)' HOME '' - # '*' DEFAULT '') - # - # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one - # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or - # WORK_NON_EXISTENT. - # - # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an - # option to define custom colors and icons for different directory classes. - # - # # Styling for WORK. - # typeset -g POWERLEVEL9K_DIR_WORK_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NOT_WRITABLE. - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 - # - # # Styling for WORK_NON_EXISTENT. - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103 - # typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39 - # - # If a styling parameter isn't explicitly defined for some class, it falls back to the classless - # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls - # back to POWERLEVEL9K_DIR_FOREGROUND. - # - typeset -g POWERLEVEL9K_DIR_CLASSES=() - - unset POWERLEVEL9K_DIR_ANCHOR_FOREGROUND - unset POWERLEVEL9K_DIR_SHORTENED_FOREGROUND - typeset -g POWERLEVEL9K_DIR_CONTENT_EXPANSION=$'%{\e[38;5;246;1;3m%}$P9K_CONTENT%b' - - - # Custom prefix. - # typeset -g POWERLEVEL9K_DIR_PREFIX='%fin ' - - #####################################[ vcs: git status ]###################################### - # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon. - typeset -g POWERLEVEL9K_VCS_BRANCH_ICON='\UE0A0' - - # Untracked files icon. It's really a question mark, your font isn't broken. - # Change the value of this parameter to show a different icon. - typeset -g POWERLEVEL9K_VCS_UNTRACKED_ICON='?' - - # Formatter for Git status. - # - # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42. - # - # You can edit the function to customize how Git status looks. - # - # VCS_STATUS_* parameters are set by gitstatus plugin. See reference: - # https://github.com/romkatv/gitstatus/blob/master/gitstatus.plugin.zsh. - function my_git_formatter() { - emulate -L zsh - - if [[ -n $P9K_CONTENT ]]; then - # If P9K_CONTENT is not empty, use it. It's either "loading" or from vcs_info (not from - # gitstatus plugin). VCS_STATUS_* parameters are not available in this case. - typeset -g my_git_format=$P9K_CONTENT - return - fi - - if (( $1 )); then - # Styling for up-to-date Git status. - local meta='%f' # default foreground - local clean='%35F' # green foreground - local modified='%178F' # yellow foreground - local untracked='%39F' # blue foreground - local conflicted='%196F' # red foreground - else - # Styling for incomplete and stale Git status. - local meta='%244F' # grey foreground - local clean='%244F' # grey foreground - local modified='%244F' # grey foreground - local untracked='%244F' # grey foreground - local conflicted='%244F' # grey foreground - fi - - local res - - if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then - local branch=${(V)VCS_STATUS_LOCAL_BRANCH} - # If local branch name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show local branch name in full without truncation, delete the next line. - (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line - res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}" - fi - - if [[ -n $VCS_STATUS_TAG - # Show tag only if not on a branch. - # Tip: To always show tag, delete the next line. - && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line - ]]; then - local tag=${(V)VCS_STATUS_TAG} - # If tag name is at most 32 characters long, show it in full. - # Otherwise show the first 12 … the last 12. - # Tip: To always show tag name in full without truncation, delete the next line. - (( $#tag > 32 )) && tag[13,-13]="…" # <-- this line - res+="${meta}#${clean}${tag//\%/%%}" - fi - - # Display the current Git commit if there is no branch and no tag. - # Tip: To always display the current Git commit, delete the next line. - [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line - res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" - - # Show tracking branch name if it differs from local branch. - if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then - res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" - fi - - # Display "wip" if the latest commit's summary contains "wip" or "WIP". - if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then - res+=" ${modified}wip" - fi - - if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then - # ⇣42 if behind the remote. - (( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}⇣${VCS_STATUS_COMMITS_BEHIND}" - # ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42. - (( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" " - (( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}⇡${VCS_STATUS_COMMITS_AHEAD}" - elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then - # Tip: Uncomment the next line to display '=' if up to date with the remote. - # res+=" ${clean}=" - fi - - # ⇠42 if behind the push remote. - (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}⇠${VCS_STATUS_PUSH_COMMITS_BEHIND}" - (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " - # ⇢42 if ahead of the push remote; no leading space if also behind: ⇠42⇢42. - (( VCS_STATUS_PUSH_COMMITS_AHEAD )) && res+="${clean}⇢${VCS_STATUS_PUSH_COMMITS_AHEAD}" - # *42 if have stashes. - (( VCS_STATUS_STASHES )) && res+=" ${clean}*${VCS_STATUS_STASHES}" - # 'merge' if the repo is in an unusual state. - [[ -n $VCS_STATUS_ACTION ]] && res+=" ${conflicted}${VCS_STATUS_ACTION}" - # ~42 if have merge conflicts. - (( VCS_STATUS_NUM_CONFLICTED )) && res+=" ${conflicted}~${VCS_STATUS_NUM_CONFLICTED}" - # +42 if have staged changes. - (( VCS_STATUS_NUM_STAGED )) && res+=" ${modified}+${VCS_STATUS_NUM_STAGED}" - # !42 if have unstaged changes. - (( VCS_STATUS_NUM_UNSTAGED )) && res+=" ${modified}!${VCS_STATUS_NUM_UNSTAGED}" - # ?42 if have untracked files. It's really a question mark, your font isn't broken. - # See POWERLEVEL9K_VCS_UNTRACKED_ICON above if you want to use a different icon. - # Remove the next line if you don't want to see untracked files at all. - (( VCS_STATUS_NUM_UNTRACKED )) && res+=" ${untracked}${(g::)POWERLEVEL9K_VCS_UNTRACKED_ICON}${VCS_STATUS_NUM_UNTRACKED}" - # "─" if the number of unstaged files is unknown. This can happen due to - # POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY (see below) being set to a non-negative number lower - # than the number of files in the Git index, or due to bash.showDirtyState being set to false - # in the repository config. The number of staged and untracked files may also be unknown - # in this case. - (( VCS_STATUS_HAS_UNSTAGED == -1 )) && res+=" ${modified}─" - - typeset -g my_git_format=$res - } - functions -M my_git_formatter 2>/dev/null - - # Don't count the number of unstaged, untracked and conflicted files in Git repositories with - # more than this many files in the index. Negative value means infinity. - # - # If you are working in Git repositories with tens of millions of files and seeing performance - # sagging, try setting POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY to a number lower than the output - # of `git ls-files | wc -l`. Alternatively, add `bash.showDirtyState = false` to the repository's - # config: `git config bash.showDirtyState false`. - typeset -g POWERLEVEL9K_VCS_MAX_INDEX_SIZE_DIRTY=-1 - - # Don't show Git status in prompt for repositories whose workdir matches this pattern. - # For example, if set to '~', the Git repository at $HOME/.git will be ignored. - # Multiple patterns can be combined with '|': '~(|/foo)|/bar/baz/*'. - typeset -g POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~' - - # Disable the default Git status formatting. - typeset -g POWERLEVEL9K_VCS_DISABLE_GITSTATUS_FORMATTING=true - # Install our own Git status formatter. - typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION=$'%{\e[3m%}${$((my_git_formatter(1)))+${my_git_format}}' - typeset -g POWERLEVEL9K_VCS_LOADING_CONTENT_EXPANSION='${$((my_git_formatter(0)))+${my_git_format}}' - # Enable counters for staged, unstaged, etc. - typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED,CONFLICTED,COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=-1 - - # Icon color. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_COLOR=49 - typeset -g POWERLEVEL9K_VCS_LOADING_VISUAL_IDENTIFIER_COLOR=244 - # Custom icon. - typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= - # Custom prefix. - # typeset -g POWERLEVEL9K_VCS_PREFIX='%fon ' - - # Show status of repositories of these types. You can add svn and/or hg if you are - # using them. If you do, your prompt may become slow even when your current directory - # isn't in an svn or hg repository. - typeset -g POWERLEVEL9K_VCS_BACKENDS=(git) - - # These settings are used for repositories other than Git or when gitstatusd fails and - # Powerlevel10k has to fall back to using vcs_info. - typeset -g POWERLEVEL9K_VCS_CLEAN_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND=76 - typeset -g POWERLEVEL9K_VCS_MODIFIED_FOREGROUND=178 - - ##########################[ status: exit code of the last command ]########################### - # Enable OK_PIPE, ERROR_PIPE and ERROR_SIGNAL status states to allow us to enable, disable and - # style them independently from the regular OK and ERROR state. - typeset -g POWERLEVEL9K_STATUS_EXTENDED_STATES=true - - # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as - # it will signify success by turning green. - typeset -g POWERLEVEL9K_STATUS_OK=false - typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when some part of a pipe command fails but the overall exit status is zero. It may look - # like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_OK_PIPE=true - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_FOREGROUND=70 - typeset -g POWERLEVEL9K_STATUS_OK_PIPE_VISUAL_IDENTIFIER_EXPANSION='✔' - - # Status when it's just an error code (e.g., '1'). No need to show it if prompt_char is enabled as - # it will signify error by turning red. - typeset -g POWERLEVEL9K_STATUS_ERROR=false - typeset -g POWERLEVEL9K_STATUS_ERROR_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when the last command was terminated by a signal. - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL=true - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_FOREGROUND=160 - # Use terse signal names: "INT" instead of "SIGINT(2)". - typeset -g POWERLEVEL9K_STATUS_VERBOSE_SIGNAME=false - typeset -g POWERLEVEL9K_STATUS_ERROR_SIGNAL_VISUAL_IDENTIFIER_EXPANSION='✘' - - # Status when some part of a pipe command fails and the overall exit status is also non-zero. - # It may look like this: 1|0. - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE=true - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_FOREGROUND=160 - typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' - - ###################[ command_execution_time: duration of the last command ]################### - # Show duration of the last command if takes at least this many seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 - # Show this many fractional digits. Zero means round to seconds. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 - # Execution time color. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101 - # Duration format: 1d 2h 3m 4s. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s' - # Custom icon. - typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= - # Custom prefix. - # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%ftook ' - - #######################[ background_jobs: presence of background jobs ]####################### - # Don't show the number of background jobs. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false - # Background jobs color. - typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ direnv: direnv status (https://direnv.net/) ]######################## - # Direnv color. - typeset -g POWERLEVEL9K_DIRENV_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_DIRENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ asdf: asdf version manager (https://github.com/asdf-vm/asdf) ]############### - # Default asdf color. Only used to display tools for which there is no color override (see below). - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_FOREGROUND. - typeset -g POWERLEVEL9K_ASDF_FOREGROUND=66 - - # There are four parameters that can be used to hide asdf tools. Each parameter describes - # conditions under which a tool gets hidden. Parameters can hide tools but not unhide them. If at - # least one parameter decides to hide a tool, that tool gets hidden. If no parameter decides to - # hide a tool, it gets shown. - # - # Special note on the difference between POWERLEVEL9K_ASDF_SOURCES and - # POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW. Consider the effect of the following commands: - # - # asdf local python 3.8.1 - # asdf global python 3.8.1 - # - # After running both commands the current python version is 3.8.1 and its source is "local" as - # it takes precedence over "global". If POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW is set to false, - # it'll hide python version in this case because 3.8.1 is the same as the global version. - # POWERLEVEL9K_ASDF_SOURCES will hide python version only if the value of this parameter doesn't - # contain "local". - - # Hide tool versions that don't come from one of these sources. - # - # Available sources: - # - # - shell `asdf current` says "set by ASDF_${TOOL}_VERSION environment variable" - # - local `asdf current` says "set by /some/not/home/directory/file" - # - global `asdf current` says "set by /home/username/file" - # - # Note: If this parameter is set to (shell local global), it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SOURCES. - typeset -g POWERLEVEL9K_ASDF_SOURCES=(shell local global) - - # If set to false, hide tool versions that are the same as global. - # - # Note: The name of this parameter doesn't reflect its meaning at all. - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_PROMPT_ALWAYS_SHOW. - typeset -g POWERLEVEL9K_ASDF_PROMPT_ALWAYS_SHOW=false - - # If set to false, hide tool versions that are equal to "system". - # - # Note: If this parameter is set to true, it won't hide tools. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_SYSTEM. - typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true - - # If set to non-empty value, hide tools unless there is a file matching the specified file pattern - # in the current directory, or its parent directory, or its grandparent directory, and so on. - # - # Note: If this parameter is set to empty value, it won't hide tools. - # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. - # Tip: Override this parameter for ${TOOL} with POWERLEVEL9K_ASDF_${TOOL}_SHOW_ON_UPGLOB. - # - # Example: Hide nodejs version when there is no package.json and no *.js files in the current - # directory, in `..`, in `../..` and so on. - # - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.js|package.json' - typeset -g POWERLEVEL9K_ASDF_SHOW_ON_UPGLOB= - - # Ruby version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUBY_FOREGROUND=168 - # typeset -g POWERLEVEL9K_ASDF_RUBY_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUBY_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Python version from asdf. - typeset -g POWERLEVEL9K_ASDF_PYTHON_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_PYTHON_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PYTHON_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Go version from asdf. - typeset -g POWERLEVEL9K_ASDF_GOLANG_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_GOLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_GOLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Node.js version from asdf. - typeset -g POWERLEVEL9K_ASDF_NODEJS_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_NODEJS_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_NODEJS_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Rust version from asdf. - typeset -g POWERLEVEL9K_ASDF_RUST_FOREGROUND=37 - # typeset -g POWERLEVEL9K_ASDF_RUST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_RUST_SHOW_ON_UPGLOB='*.foo|*.bar' - - # .NET Core version from asdf. - typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_FOREGROUND=134 - # typeset -g POWERLEVEL9K_ASDF_DOTNET_CORE_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_DOTNET_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Flutter version from asdf. - typeset -g POWERLEVEL9K_ASDF_FLUTTER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_FLUTTER_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Lua version from asdf. - typeset -g POWERLEVEL9K_ASDF_LUA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_LUA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_LUA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Java version from asdf. - typeset -g POWERLEVEL9K_ASDF_JAVA_FOREGROUND=32 - # typeset -g POWERLEVEL9K_ASDF_JAVA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JAVA_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Perl version from asdf. - typeset -g POWERLEVEL9K_ASDF_PERL_FOREGROUND=67 - # typeset -g POWERLEVEL9K_ASDF_PERL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PERL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Erlang version from asdf. - typeset -g POWERLEVEL9K_ASDF_ERLANG_FOREGROUND=125 - # typeset -g POWERLEVEL9K_ASDF_ERLANG_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ERLANG_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Elixir version from asdf. - typeset -g POWERLEVEL9K_ASDF_ELIXIR_FOREGROUND=129 - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_ELIXIR_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Postgres version from asdf. - typeset -g POWERLEVEL9K_ASDF_POSTGRES_FOREGROUND=31 - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_POSTGRES_SHOW_ON_UPGLOB='*.foo|*.bar' - - # PHP version from asdf. - typeset -g POWERLEVEL9K_ASDF_PHP_FOREGROUND=99 - # typeset -g POWERLEVEL9K_ASDF_PHP_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_PHP_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Haskell version from asdf. - typeset -g POWERLEVEL9K_ASDF_HASKELL_FOREGROUND=172 - # typeset -g POWERLEVEL9K_ASDF_HASKELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_HASKELL_SHOW_ON_UPGLOB='*.foo|*.bar' - - # Julia version from asdf. - typeset -g POWERLEVEL9K_ASDF_JULIA_FOREGROUND=70 - # typeset -g POWERLEVEL9K_ASDF_JULIA_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_ASDF_JULIA_SHOW_ON_UPGLOB='*.foo|*.bar' - - ##########[ nordvpn: nordvpn connection status, linux only (https://nordvpn.com/) ]########### - # NordVPN connection indicator color. - typeset -g POWERLEVEL9K_NORDVPN_FOREGROUND=39 - # Hide NordVPN connection indicator when not connected. - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_CONTENT_EXPANSION= - typeset -g POWERLEVEL9K_NORDVPN_{DISCONNECTED,CONNECTING,DISCONNECTING}_VISUAL_IDENTIFIER_EXPANSION= - # Custom icon. - # typeset -g POWERLEVEL9K_NORDVPN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ ranger: ranger shell (https://github.com/ranger/ranger) ]################## - # Ranger shell color. - typeset -g POWERLEVEL9K_RANGER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_RANGER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ yazi: yazi shell (https://github.com/sxyazi/yazi) ]##################### - # Yazi shell color. - typeset -g POWERLEVEL9K_YAZI_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_YAZI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ nnn: nnn shell (https://github.com/jarun/nnn) ]####################### - # Nnn shell color. - typeset -g POWERLEVEL9K_NNN_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################[ lf: lf shell (https://github.com/gokcehan/lf) ]####################### - # lf shell color. - typeset -g POWERLEVEL9K_LF_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]################## - # xplr shell color. - typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72 - # Custom icon. - # typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########################[ vim_shell: vim shell indicator (:sh) ]########################### - # Vim shell indicator color. - typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 - # Custom icon. - # typeset -g POWERLEVEL9K_VIM_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ midnight_commander: midnight commander shell (https://midnight-commander.org/) ]###### - # Midnight Commander shell color. - typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_FOREGROUND=178 - # Custom icon. - # typeset -g POWERLEVEL9K_MIDNIGHT_COMMANDER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ nix_shell: nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) ]## - # Nix shell color. - typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 - - # Display the icon of nix_shell if PATH contains a subdirectory of /nix/store. - # typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false - - # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. - # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]################## - # chezmoi shell color. - typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33 - # Custom icon. - # typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ disk_usage: disk usage ]################################## - # Colors for different levels of disk usage. - typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND=220 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND=160 - # Thresholds for different levels of disk usage (percentage points). - typeset -g POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL=90 - typeset -g POWERLEVEL9K_DISK_USAGE_CRITICAL_LEVEL=95 - # If set to true, hide disk usage when below $POWERLEVEL9K_DISK_USAGE_WARNING_LEVEL percent. - typeset -g POWERLEVEL9K_DISK_USAGE_ONLY_WARNING=false - # Custom icon. - # typeset -g POWERLEVEL9K_DISK_USAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ ram: free RAM ]####################################### - # RAM color. - typeset -g POWERLEVEL9K_RAM_FOREGROUND=66 - # Custom icon. - # typeset -g POWERLEVEL9K_RAM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################################[ swap: used swap ]###################################### - # Swap color. - typeset -g POWERLEVEL9K_SWAP_FOREGROUND=96 - # Custom icon. - # typeset -g POWERLEVEL9K_SWAP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######################################[ load: CPU load ]###################################### - # Show average CPU load over this many last minutes. Valid values are 1, 5 and 15. - typeset -g POWERLEVEL9K_LOAD_WHICH=5 - # Load color when load is under 50%. - typeset -g POWERLEVEL9K_LOAD_NORMAL_FOREGROUND=66 - # Load color when load is between 50% and 70%. - typeset -g POWERLEVEL9K_LOAD_WARNING_FOREGROUND=178 - # Load color when load is over 70%. - typeset -g POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND=166 - # Custom icon. - # typeset -g POWERLEVEL9K_LOAD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ todo: todo items (https://github.com/todotxt/todo.txt-cli) ]################ - # Todo color. - typeset -g POWERLEVEL9K_TODO_FOREGROUND=110 - # Hide todo when the total number of tasks is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_TOTAL=true - # Hide todo when the number of tasks after filtering is zero. - typeset -g POWERLEVEL9K_TODO_HIDE_ZERO_FILTERED=false - - # Todo format. The following parameters are available within the expansion. - # - # - P9K_TODO_TOTAL_TASK_COUNT The total number of tasks. - # - P9K_TODO_FILTERED_TASK_COUNT The number of tasks after filtering. - # - # These variables correspond to the last line of the output of `todo.sh -p ls`: - # - # TODO: 24 of 42 tasks shown - # - # Here 24 is P9K_TODO_FILTERED_TASK_COUNT and 42 is P9K_TODO_TOTAL_TASK_COUNT. - # - # typeset -g POWERLEVEL9K_TODO_CONTENT_EXPANSION='$P9K_TODO_FILTERED_TASK_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TODO_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ timewarrior: timewarrior tracking status (https://timewarrior.net/) ]############ - # Timewarrior color. - typeset -g POWERLEVEL9K_TIMEWARRIOR_FOREGROUND=110 - # If the tracked task is longer than 24 characters, truncate and append "…". - # Tip: To always display tasks without truncation, delete the following parameter. - # Tip: To hide task names and display just the icon when time tracking is enabled, set the - # value of the following parameter to "". - typeset -g POWERLEVEL9K_TIMEWARRIOR_CONTENT_EXPANSION='${P9K_CONTENT:0:24}${${P9K_CONTENT:24}:+…}' - - # Custom icon. - # typeset -g POWERLEVEL9K_TIMEWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ taskwarrior: taskwarrior task count (https://taskwarrior.org/) ]############## - # Taskwarrior color. - typeset -g POWERLEVEL9K_TASKWARRIOR_FOREGROUND=74 - - # Taskwarrior segment format. The following parameters are available within the expansion. - # - # - P9K_TASKWARRIOR_PENDING_COUNT The number of pending tasks: `task +PENDING count`. - # - P9K_TASKWARRIOR_OVERDUE_COUNT The number of overdue tasks: `task +OVERDUE count`. - # - # Zero values are represented as empty parameters. - # - # The default format: - # - # '${P9K_TASKWARRIOR_OVERDUE_COUNT:+"!$P9K_TASKWARRIOR_OVERDUE_COUNT/"}$P9K_TASKWARRIOR_PENDING_COUNT' - # - # typeset -g POWERLEVEL9K_TASKWARRIOR_CONTENT_EXPANSION='$P9K_TASKWARRIOR_PENDING_COUNT' - - # Custom icon. - # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]####### - # Color when using local/global history. - typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135 - typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130 - - # Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon. - # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION='' - # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION='' - - # Custom icon. - # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ cpu_arch: CPU architecture ]################################ - # CPU architecture color. - typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172 - - # Hide the segment when on a specific CPU architecture. - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION= - # typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION= - - # Custom icon. - # typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##################################[ context: user@hostname ]################################## - # Context color when running with privileges. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 - # Context color in SSH without privileges. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_FOREGROUND=239 - # Default context color (no privileges, no SSH). - typeset -g POWERLEVEL9K_CONTEXT_FOREGROUND=239 - - # Context format when running with privileges: bold user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE='%B%n@%m' - # Context format when in SSH without privileges: user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_{REMOTE,REMOTE_SUDO}_TEMPLATE='%{\e[3m%}%n@%m' - # Default context format (no privileges, no SSH): user@hostname. - typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE='%n@%m' - - # Don't show context unless running with privileges or in SSH. - # Tip: Remove the next line to always show context. - typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_{CONTENT,VISUAL_IDENTIFIER}_EXPANSION='' - - # Custom icon. - # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%fwith ' - - ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### - # Python virtual environment color. - typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 - # Don't show Python version next to the virtual environment name. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false - # If set to "false", won't show virtualenv if pyenv is already shown. - # If set to "if-different", won't show virtualenv if it's the same as pyenv. - typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false - # Separate environment name from Python version only with a space. - typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ anaconda: conda environment (https://conda.io/) ]###################### - # Anaconda environment color. - typeset -g POWERLEVEL9K_ANACONDA_FOREGROUND=37 - - # Anaconda segment format. The following parameters are available within the expansion. - # - # - CONDA_PREFIX Absolute path to the active Anaconda/Miniconda environment. - # - CONDA_DEFAULT_ENV Name of the active Anaconda/Miniconda environment. - # - CONDA_PROMPT_MODIFIER Configurable prompt modifier (see below). - # - P9K_ANACONDA_PYTHON_VERSION Current python version (python --version). - # - # CONDA_PROMPT_MODIFIER can be configured with the following command: - # - # conda config --set env_prompt '({default_env}) ' - # - # The last argument is a Python format string that can use the following variables: - # - # - prefix The same as CONDA_PREFIX. - # - default_env The same as CONDA_DEFAULT_ENV. - # - name The last segment of CONDA_PREFIX. - # - stacked_env Comma-separated list of names in the environment stack. The first element is - # always the same as default_env. - # - # Note: '({default_env}) ' is the default value of env_prompt. - # - # The default value of POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION expands to $CONDA_PROMPT_MODIFIER - # without the surrounding parentheses, or to the last path component of CONDA_PREFIX if the former - # is empty. - typeset -g POWERLEVEL9K_ANACONDA_CONTENT_EXPANSION='${${${${CONDA_PROMPT_MODIFIER#\(}% }%\)}:-${CONDA_PREFIX:t}}' - - # Custom icon. - # typeset -g POWERLEVEL9K_ANACONDA_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ pyenv: python environment (https://github.com/pyenv/pyenv) ]################ - # Pyenv color. - typeset -g POWERLEVEL9K_PYENV_FOREGROUND=37 - # Hide python version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PYENV_SOURCES=(shell local global) - # If set to false, hide python version if it's the same as global: - # $(pyenv version-name) == $(pyenv global). - typeset -g POWERLEVEL9K_PYENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide python version if it's equal to "system". - typeset -g POWERLEVEL9K_PYENV_SHOW_SYSTEM=true - - # Pyenv segment format. The following parameters are available within the expansion. - # - # - P9K_CONTENT Current pyenv environment (pyenv version-name). - # - P9K_PYENV_PYTHON_VERSION Current python version (python --version). - # - # The default format has the following logic: - # - # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or - # starts with "$P9K_PYENV_PYTHON_VERSION/". - # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION". - typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}' - - # Custom icon. - # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################[ goenv: go environment (https://github.com/syndbg/goenv) ]################ - # Goenv color. - typeset -g POWERLEVEL9K_GOENV_FOREGROUND=37 - # Hide go version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_GOENV_SOURCES=(shell local global) - # If set to false, hide go version if it's the same as global: - # $(goenv version-name) == $(goenv global). - typeset -g POWERLEVEL9K_GOENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide go version if it's equal to "system". - typeset -g POWERLEVEL9K_GOENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_GOENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ nodenv: node.js version from nodenv (https://github.com/nodenv/nodenv) ]########## - # Nodenv color. - typeset -g POWERLEVEL9K_NODENV_FOREGROUND=70 - # Hide node version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_NODENV_SOURCES=(shell local global) - # If set to false, hide node version if it's the same as global: - # $(nodenv version-name) == $(nodenv global). - typeset -g POWERLEVEL9K_NODENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NODENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### - # Nvm color. - typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 - # If set to false, hide node version if it's the same as default: - # $(nvm version current) == $(nvm version default). - typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false - # If set to false, hide node version if it's equal to "system". - typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############ - # Nodeenv color. - typeset -g POWERLEVEL9K_NODEENV_FOREGROUND=70 - # Don't show Node version next to the environment name. - typeset -g POWERLEVEL9K_NODEENV_SHOW_NODE_VERSION=false - # Separate environment name from Node version only with a space. - typeset -g POWERLEVEL9K_NODEENV_{LEFT,RIGHT}_DELIMITER= - # Custom icon. - # typeset -g POWERLEVEL9K_NODEENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##############################[ node_version: node.js version ]############################### - # Node version color. - typeset -g POWERLEVEL9K_NODE_VERSION_FOREGROUND=70 - # Show node version only when in a directory tree containing package.json. - typeset -g POWERLEVEL9K_NODE_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_NODE_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ go_version: go version (https://golang.org) ]######################## - # Go version color. - typeset -g POWERLEVEL9K_GO_VERSION_FOREGROUND=37 - # Show go version only when in a go project subdirectory. - typeset -g POWERLEVEL9K_GO_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_GO_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #################[ rust_version: rustc version (https://www.rust-lang.org) ]################## - # Rust version color. - typeset -g POWERLEVEL9K_RUST_VERSION_FOREGROUND=37 - # Show rust version only when in a rust project subdirectory. - typeset -g POWERLEVEL9K_RUST_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_RUST_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ dotnet_version: .NET version (https://dotnet.microsoft.com) ]################ - # .NET version color. - typeset -g POWERLEVEL9K_DOTNET_VERSION_FOREGROUND=134 - # Show .NET version only when in a .NET project subdirectory. - typeset -g POWERLEVEL9K_DOTNET_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_DOTNET_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #####################[ php_version: php version (https://www.php.net/) ]###################### - # PHP version color. - typeset -g POWERLEVEL9K_PHP_VERSION_FOREGROUND=99 - # Show PHP version only when in a PHP project subdirectory. - typeset -g POWERLEVEL9K_PHP_VERSION_PROJECT_ONLY=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHP_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ laravel_version: laravel php framework version (https://laravel.com/) ]########### - # Laravel version color. - typeset -g POWERLEVEL9K_LARAVEL_VERSION_FOREGROUND=161 - # Custom icon. - # typeset -g POWERLEVEL9K_LARAVEL_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ####################[ java_version: java version (https://www.java.com/) ]#################### - # Java version color. - typeset -g POWERLEVEL9K_JAVA_VERSION_FOREGROUND=32 - # Show java version only when in a java project subdirectory. - typeset -g POWERLEVEL9K_JAVA_VERSION_PROJECT_ONLY=true - # Show brief version. - typeset -g POWERLEVEL9K_JAVA_VERSION_FULL=false - # Custom icon. - # typeset -g POWERLEVEL9K_JAVA_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###[ package: name@version from package.json (https://docs.npmjs.com/files/package.json) ]#### - # Package color. - typeset -g POWERLEVEL9K_PACKAGE_FOREGROUND=117 - # Package format. The following parameters are available within the expansion. - # - # - P9K_PACKAGE_NAME The value of `name` field in package.json. - # - P9K_PACKAGE_VERSION The value of `version` field in package.json. - # - # typeset -g POWERLEVEL9K_PACKAGE_CONTENT_EXPANSION='${P9K_PACKAGE_NAME//\%/%%}@${P9K_PACKAGE_VERSION//\%/%%}' - # Custom icon. - # typeset -g POWERLEVEL9K_PACKAGE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ rbenv: ruby version from rbenv (https://github.com/rbenv/rbenv) ]############## - # Rbenv color. - typeset -g POWERLEVEL9K_RBENV_FOREGROUND=168 - # Hide ruby version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_RBENV_SOURCES=(shell local global) - # If set to false, hide ruby version if it's the same as global: - # $(rbenv version-name) == $(rbenv global). - typeset -g POWERLEVEL9K_RBENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide ruby version if it's equal to "system". - typeset -g POWERLEVEL9K_RBENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_RBENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######################[ rvm: ruby version from rvm (https://rvm.io) ]######################## - # Rvm color. - typeset -g POWERLEVEL9K_RVM_FOREGROUND=168 - # Don't show @gemset at the end. - typeset -g POWERLEVEL9K_RVM_SHOW_GEMSET=false - # Don't show ruby- at the front. - typeset -g POWERLEVEL9K_RVM_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_RVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ fvm: flutter version management (https://github.com/leoafarias/fvm) ]############ - # Fvm color. - typeset -g POWERLEVEL9K_FVM_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_FVM_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ luaenv: lua version from luaenv (https://github.com/cehoffman/luaenv) ]########### - # Lua color. - typeset -g POWERLEVEL9K_LUAENV_FOREGROUND=32 - # Hide lua version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_LUAENV_SOURCES=(shell local global) - # If set to false, hide lua version if it's the same as global: - # $(luaenv version-name) == $(luaenv global). - typeset -g POWERLEVEL9K_LUAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide lua version if it's equal to "system". - typeset -g POWERLEVEL9K_LUAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_LUAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###############[ jenv: java version from jenv (https://github.com/jenv/jenv) ]################ - # Java color. - typeset -g POWERLEVEL9K_JENV_FOREGROUND=32 - # Hide java version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_JENV_SOURCES=(shell local global) - # If set to false, hide java version if it's the same as global: - # $(jenv version-name) == $(jenv global). - typeset -g POWERLEVEL9K_JENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide java version if it's equal to "system". - typeset -g POWERLEVEL9K_JENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_JENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ plenv: perl version from plenv (https://github.com/tokuhirom/plenv) ]############ - # Perl color. - typeset -g POWERLEVEL9K_PLENV_FOREGROUND=67 - # Hide perl version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PLENV_SOURCES=(shell local global) - # If set to false, hide perl version if it's the same as global: - # $(plenv version-name) == $(plenv global). - typeset -g POWERLEVEL9K_PLENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide perl version if it's equal to "system". - typeset -g POWERLEVEL9K_PLENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############ - # Perlbrew color. - typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67 - # Show perlbrew version only when in a perl project subdirectory. - typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true - # Don't show "perl-" at the front. - typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false - # Custom icon. - # typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ - # PHP color. - typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 - # Hide php version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_PHPENV_SOURCES=(shell local global) - # If set to false, hide php version if it's the same as global: - # $(phpenv version-name) == $(phpenv global). - typeset -g POWERLEVEL9K_PHPENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide php version if it's equal to "system". - typeset -g POWERLEVEL9K_PHPENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]####### - # Scala color. - typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160 - # Hide scala version if it doesn't come from one of these sources. - typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global) - # If set to false, hide scala version if it's the same as global: - # $(scalaenv version-name) == $(scalaenv global). - typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false - # If set to false, hide scala version if it's equal to "system". - typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true - # Custom icon. - # typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### - # Haskell color. - typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 - # Hide haskell version if it doesn't come from one of these sources. - # - # shell: version is set by STACK_YAML - # local: version is set by stack.yaml up the directory tree - # global: version is set by the implicit global project (~/.stack/global-project/stack.yaml) - typeset -g POWERLEVEL9K_HASKELL_STACK_SOURCES=(shell local) - # If set to false, hide haskell version if it's the same as in the implicit global project. - typeset -g POWERLEVEL9K_HASKELL_STACK_ALWAYS_SHOW=true - # Custom icon. - # typeset -g POWERLEVEL9K_HASKELL_STACK_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# - # Show kubecontext only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show kubecontext. - typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl' - - # Kubernetes context classes for the purpose of using different colors, icons and expansions with - # different contexts. - # - # POWERLEVEL9K_KUBECONTEXT_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current kubernetes context gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_KUBECONTEXT_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_KUBECONTEXT_CLASSES defines the context class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current kubernetes context is "deathray-testing/default", its class is TEST - # because "deathray-testing/default" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_KUBECONTEXT_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_KUBECONTEXT_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_FOREGROUND=134 - # typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_KUBECONTEXT_CONTENT_EXPANSION to specify the content displayed by kubecontext - # segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # Within the expansion the following parameters are always available: - # - # - P9K_CONTENT The content that would've been displayed if there was no content - # expansion defined. - # - P9K_KUBECONTEXT_NAME The current context's name. Corresponds to column NAME in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_CLUSTER The current context's cluster. Corresponds to column CLUSTER in the - # output of `kubectl config get-contexts`. - # - P9K_KUBECONTEXT_NAMESPACE The current context's namespace. Corresponds to column NAMESPACE - # in the output of `kubectl config get-contexts`. If there is no - # namespace, the parameter is set to "default". - # - P9K_KUBECONTEXT_USER The current context's user. Corresponds to column AUTHINFO in the - # output of `kubectl config get-contexts`. - # - # If the context points to Google Kubernetes Engine (GKE) or Elastic Kubernetes Service (EKS), - # the following extra parameters are available: - # - # - P9K_KUBECONTEXT_CLOUD_NAME Either "gke" or "eks". - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT Account/project ID. - # - P9K_KUBECONTEXT_CLOUD_ZONE Availability zone. - # - P9K_KUBECONTEXT_CLOUD_CLUSTER Cluster. - # - # P9K_KUBECONTEXT_CLOUD_* parameters are derived from P9K_KUBECONTEXT_CLUSTER. For example, - # if P9K_KUBECONTEXT_CLUSTER is "gke_my-account_us-east1-a_my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=gke - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=my-account - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east1-a - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - # - # If P9K_KUBECONTEXT_CLUSTER is "arn:aws:eks:us-east-1:123456789012:cluster/my-cluster-01": - # - # - P9K_KUBECONTEXT_CLOUD_NAME=eks - # - P9K_KUBECONTEXT_CLOUD_ACCOUNT=123456789012 - # - P9K_KUBECONTEXT_CLOUD_ZONE=us-east-1 - # - P9K_KUBECONTEXT_CLOUD_CLUSTER=my-cluster-01 - typeset -g POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION= - # Show P9K_KUBECONTEXT_CLOUD_CLUSTER if it's not empty and fall back to P9K_KUBECONTEXT_NAME. - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${P9K_KUBECONTEXT_CLOUD_CLUSTER:-${P9K_KUBECONTEXT_NAME}}' - # Append the current context's namespace if it's not "default". - POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' - - # Custom prefix. - # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%fat ' - - ################[ terraform: terraform workspace (https://www.terraform.io) ]################# - # Don't show terraform workspace if it's literally "default". - typeset -g POWERLEVEL9K_TERRAFORM_SHOW_DEFAULT=false - # POWERLEVEL9K_TERRAFORM_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current terraform workspace gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_TERRAFORM_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_TERRAFORM_CLASSES defines the workspace class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current terraform workspace is "project_test", its class is TEST because "project_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_TERRAFORM_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_TERRAFORM_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 - # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #############[ terraform_version: terraform version (https://www.terraform.io) ]############## - # Terraform version color. - typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38 - # Custom icon. - # typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# - # Show aws only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show aws. - typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current AWS profile gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AWS_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AWS_CLASSES defines the profile class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' DEFAULT) - # - # If your current AWS profile is "company_test", its class is TEST - # because "company_test" doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AWS_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AWS_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AWS_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AWS_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 - # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # AWS segment format. The following parameters are available within the expansion. - # - # - P9K_AWS_PROFILE The name of the current AWS profile. - # - P9K_AWS_REGION The region associated with the current AWS profile. - typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}' - - #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# - # AWS Elastic Beanstalk environment color. - typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 - # Custom icon. - # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## - # Show azure only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show azure. - typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt' - - # POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element - # in each pair defines a pattern against which the current azure account name gets matched. - # More specifically, it's P9K_CONTENT prior to the application of context expansion (see below) - # that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters, - # you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The - # first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_AZURE_CLASSES=( - # '*prod*' PROD - # '*test*' TEST - # '*' OTHER) - # - # If your current azure account is "company_test", its class is TEST because "company_test" - # doesn't match the pattern '*prod*' but does match '*test*'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <' - typeset -g POWERLEVEL9K_AZURE_CLASSES=( - # '*prod*' PROD # These values are examples that are unlikely - # '*test*' TEST # to match your needs. Customize them as needed. - '*' OTHER) - - # Azure account name color. - typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32 - # Custom icon. - # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### - # Show gcloud only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show gcloud. - typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil' - # Google cloud color. - typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 - - # Google cloud format. Change the value of POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION and/or - # POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION if the default is too verbose or not informative - # enough. You can use the following parameters in the expansions. Each of them corresponds to the - # output of `gcloud` tool. - # - # Parameter | Source - # -------------------------|-------------------------------------------------------------------- - # P9K_GCLOUD_CONFIGURATION | gcloud config configurations list --format='value(name)' - # P9K_GCLOUD_ACCOUNT | gcloud config get-value account - # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project - # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'. - # - # Obtaining project name requires sending a request to Google servers. This can take a long time - # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud - # prompt segment is in state PARTIAL. When project name gets known, P9K_GCLOUD_PROJECT_NAME gets - # set and gcloud prompt segment transitions to state COMPLETE. - # - # You can customize the format, icon and colors of gcloud segment separately for states PARTIAL - # and COMPLETE. You can also hide gcloud in state PARTIAL by setting - # POWERLEVEL9K_GCLOUD_PARTIAL_VISUAL_IDENTIFIER_EXPANSION and - # POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION to empty. - typeset -g POWERLEVEL9K_GCLOUD_PARTIAL_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_ID//\%/%%}' - typeset -g POWERLEVEL9K_GCLOUD_COMPLETE_CONTENT_EXPANSION='${P9K_GCLOUD_PROJECT_NAME//\%/%%}' - - # Send a request to Google (by means of `gcloud projects describe ...`) to obtain project name - # this often. Negative value disables periodic polling. In this mode project name is retrieved - # only when the current configuration, account or project id changes. - typeset -g POWERLEVEL9K_GCLOUD_REFRESH_PROJECT_NAME_SECONDS=60 - - # Custom icon. - # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# - # Show google_app_cred only when the command you are typing invokes one of these tools. - # Tip: Remove the next line to always show google_app_cred. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt' - - # Google application credentials classes for the purpose of using different colors, icons and - # expansions with different credentials. - # - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES is an array with even number of elements. The first - # element in each pair defines a pattern against which the current kubernetes context gets - # matched. More specifically, it's P9K_CONTENT prior to the application of context expansion - # (see below) that gets matched. If you unset all POWERLEVEL9K_GOOGLE_APP_CRED_*CONTENT_EXPANSION - # parameters, you'll see this value in your prompt. The second element of each pair in - # POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES defines the context class. Patterns are tried in order. - # The first match wins. - # - # For example, given these settings: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD - # '*:*test*:*' TEST - # '*' DEFAULT) - # - # If your current Google application credentials is "service_account deathray-testing x@y.com", - # its class is TEST because it doesn't match the pattern '* *prod* *' but does match '* *test* *'. - # - # You can define different colors, icons and content expansions for different classes: - # - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_FOREGROUND=28 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐' - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_TEST_CONTENT_EXPANSION='$P9K_GOOGLE_APP_CRED_PROJECT_ID' - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_CLASSES=( - # '*:*prod*:*' PROD # These values are examples that are unlikely - # '*:*test*:*' TEST # to match your needs. Customize them as needed. - '*' DEFAULT) - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_FOREGROUND=32 - # typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use POWERLEVEL9K_GOOGLE_APP_CRED_CONTENT_EXPANSION to specify the content displayed by - # google_app_cred segment. Parameter expansions are very flexible and fast, too. See reference: - # http://zsh.sourceforge.net/Doc/Release/Expansion.html#Parameter-Expansion. - # - # You can use the following parameters in the expansion. Each of them corresponds to one of the - # fields in the JSON file pointed to by GOOGLE_APPLICATION_CREDENTIALS. - # - # Parameter | JSON key file field - # ---------------------------------+--------------- - # P9K_GOOGLE_APP_CRED_TYPE | type - # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id - # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email - # - # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'. - typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' - - ##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]############### - # Toolbox color. - typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178 - # Don't display the name of the toolbox if it matches fedora-toolbox-*. - typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}' - # Custom icon. - # typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐' - # Custom prefix. - # typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%fin ' - - ###############################[ public_ip: public IP address ]############################### - # Public IP color. - typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 - # Custom icon. - # typeset -g POWERLEVEL9K_PUBLIC_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ########################[ vpn_ip: virtual private network indicator ]######################### - # VPN IP color. - typeset -g POWERLEVEL9K_VPN_IP_FOREGROUND=81 - # When on VPN, show just an icon without the IP address. - # Tip: To display the private IP address when on VPN, remove the next line. - typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= - # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN - # to see the name of the interface. - typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)' - # If set to true, show one segment per matching network interface. If set to false, show only - # one segment corresponding to the first matching network interface. - # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. - typeset -g POWERLEVEL9K_VPN_IP_SHOW_ALL=false - # Custom icon. - # typeset -g POWERLEVEL9K_VPN_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ###########[ ip: ip address and bandwidth usage for a specified network interface ]########### - # IP color. - typeset -g POWERLEVEL9K_IP_FOREGROUND=38 - # The following parameters are accessible within the expansion: - # - # Parameter | Meaning - # ----------------------+------------------------------------------- - # P9K_IP_IP | IP address - # P9K_IP_INTERFACE | network interface - # P9K_IP_RX_BYTES | total number of bytes received - # P9K_IP_TX_BYTES | total number of bytes sent - # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt - # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt - # P9K_IP_RX_RATE | receive rate (since last prompt) - # P9K_IP_TX_RATE | send rate (since last prompt) - typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='$P9K_IP_IP${P9K_IP_RX_RATE:+ %70F⇣$P9K_IP_RX_RATE}${P9K_IP_TX_RATE:+ %215F⇡$P9K_IP_TX_RATE}' - # Show information for the first network interface whose name matches this regular expression. - # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. - typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*' - # Custom icon. - # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' - - #########################[ proxy: system-wide http/https/ftp proxy ]########################## - # Proxy color. - typeset -g POWERLEVEL9K_PROXY_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_PROXY_VISUAL_IDENTIFIER_EXPANSION='⭐' - - ################################[ battery: internal battery ]################################# - # Show battery in red when it's below this level and not connected to power supply. - typeset -g POWERLEVEL9K_BATTERY_LOW_THRESHOLD=20 - typeset -g POWERLEVEL9K_BATTERY_LOW_FOREGROUND=160 - # Show battery in green when it's charging or fully charged. - typeset -g POWERLEVEL9K_BATTERY_{CHARGING,CHARGED}_FOREGROUND=70 - # Show battery in yellow when it's discharging. - typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 - # Battery pictograms going from low to high level of charge. - typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079' - # Don't show the remaining time to charge/discharge. - typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false - - #####################################[ wifi: wifi speed ]##################################### - # WiFi color. - typeset -g POWERLEVEL9K_WIFI_FOREGROUND=68 - # Custom icon. - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Use different colors and icons depending on signal strength ($P9K_WIFI_BARS). - # - # # Wifi colors and icons for different signal strength levels (low to high). - # typeset -g my_wifi_fg=(68 68 68 68 68) # <-- change these values - # typeset -g my_wifi_icon=('WiFi' 'WiFi' 'WiFi' 'WiFi' 'WiFi') # <-- change these values - # - # typeset -g POWERLEVEL9K_WIFI_CONTENT_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}$P9K_WIFI_LAST_TX_RATE Mbps' - # typeset -g POWERLEVEL9K_WIFI_VISUAL_IDENTIFIER_EXPANSION='%F{${my_wifi_fg[P9K_WIFI_BARS+1]}}${my_wifi_icon[P9K_WIFI_BARS+1]}' - # - # The following parameters are accessible within the expansions: - # - # Parameter | Meaning - # ----------------------+--------------- - # P9K_WIFI_SSID | service set identifier, a.k.a. network name - # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown - # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second - # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 - # P9K_WIFI_NOISE | noise in dBm, from -120 to 0 - # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) - - ####################################[ time: current time ]#################################### - # Current time color. - typeset -g POWERLEVEL9K_TIME_FOREGROUND=240 - # Format for the current time: 09:51:02. See `man 3 strftime`. - typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M}' - # If set to true, time will update when you hit enter. This way prompts for the past - # commands will contain the start times of their commands as opposed to the default - # behavior where they contain the end times of their preceding commands. - typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false - # Custom icon. - typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION='' - # Custom prefix. - # typeset -g POWERLEVEL9K_TIME_PREFIX='%fat ' - - # Example of a user-defined prompt segment. Function prompt_example will be called on every - # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or - # POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS. It displays an icon and orange text greeting the user. - # - # Type `p10k help segment` for documentation and a more sophisticated example. - function prompt_example() { - p10k segment -f 208 -i '⭐' -t 'hello, %n' - } - - function prompt_cwd() { - p10k segment -f 66 -e -t "${PWD##*/}" - } - - # User-defined prompt segments may optionally provide an instant_prompt_* function. Its job - # is to generate the prompt segment for display in instant prompt. See - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - # Powerlevel10k will call instant_prompt_* at the same time as the regular prompt_* function - # and will record all `p10k segment` calls it makes. When displaying instant prompt, Powerlevel10k - # will replay these calls without actually calling instant_prompt_*. It is imperative that - # instant_prompt_* always makes the same `p10k segment` calls regardless of environment. If this - # rule is not observed, the content of instant prompt will be incorrect. - # - # Usually, you should either not define instant_prompt_* or simply call prompt_* from it. If - # instant_prompt_* is not defined for a segment, the segment won't be shown in instant prompt. - function instant_prompt_example() { - # Since prompt_example always makes the same `p10k segment` calls, we can call it from - # instant_prompt_example. This will give us the same `example` prompt segment in the instant - # and regular prompts. - prompt_example - prompt_cwd - } - - # User-defined prompt segments can be customized the same way as built-in segments. - # typeset -g POWERLEVEL9K_EXAMPLE_FOREGROUND=208 - # typeset -g POWERLEVEL9K_EXAMPLE_VISUAL_IDENTIFIER_EXPANSION='⭐' - - # Transient prompt works similarly to the builtin transient_rprompt option. It trims down prompt - # when accepting a command line. Supported values: - # - # - off: Don't change prompt when accepting a command line. - # - always: Trim down prompt when accepting a command line. - # - same-dir: Trim down prompt when accepting a command line unless this is the first command - # typed after changing current working directory. - typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=always - - # Instant prompt mode. - # - # - off: Disable instant prompt. Choose this if you've tried instant prompt and found - # it incompatible with your zsh configuration files. - # - quiet: Enable instant prompt and don't print warnings when detecting console output - # during zsh initialization. Choose this if you've read and understood - # https://github.com/romkatv/powerlevel10k/blob/master/README.md#instant-prompt. - # - verbose: Enable instant prompt and print a warning when detecting console output during - # zsh initialization. Choose this if you've never tried instant prompt, haven't - # seen the warning, or if you are unsure what this all means. - typeset -g POWERLEVEL9K_INSTANT_PROMPT=verbose - - # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. - # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload - # can slow down prompt by 1-2 milliseconds, so it's better to keep it turned off unless you - # really need it. - typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true - - # If p10k is already loaded, reload configuration. - # This works even with POWERLEVEL9K_DISABLE_HOT_RELOAD=true. - (( ! $+functions[p10k] )) || p10k reload -} - -# Tell `p10k configure` which file it should overwrite. -typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a} - -(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]} -'builtin' 'unset' 'p10k_config_opts' diff --git a/.zshrc b/.zshrc index 22c0b4c..545e2bb 100644 --- a/.zshrc +++ b/.zshrc @@ -1,10 +1,3 @@ -# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. -# Initialization code that may require console input (password prompts, [y/n] -# confirmations, etc.) must go above this block; everything else may go below. -if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then - source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" -fi - if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" @@ -29,7 +22,6 @@ zi ice wait lucid zi load olets/zsh-abbr zi ice wait lucid zi snippet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/shrink-path/shrink-path.plugin.zsh -zinit ice depth=1; zinit light romkatv/powerlevel10k zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache @@ -151,10 +143,6 @@ rg() { } -## Prompt -# setopt TRANSIENT_RPROMPT -# eval "$(starship init zsh)" - ## vim export EDITOR=nvim @@ -282,5 +270,5 @@ compdef _grc grc # Atuin history eval "$(atuin init zsh --disable-up-arrow)" -# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. -[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh +# Prompt +eval "$(oh-my-posh init zsh --config $HOME/.config/oh-my-posh/config.yaml)" From 55afa4948e657edcac3b148d68e0ab4fddd7a268 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 15 Mar 2024 14:47:31 +0100 Subject: [PATCH 196/656] nvim: upgrade --- .config/nvim/lazy-lock.json | 42 ++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 9a3e0c9..9d97c6b 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "e3bfcb9bf74292dc846f5d1710fbb2e8f36a687a" }, + "LazyVim": { "branch": "main", "commit": "0107a1079be7fb92f7d5b7e2c40818f47cf425d9" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "b788bde023f9fbc2eb86e89d32c0bf98a60ae406" }, + "SchemaStore.nvim": { "branch": "main", "commit": "7efe039d0675f4f1b03f946cc457891d13a6495f" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -10,18 +10,18 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "5a15cc46e75cad804fd51ec5af9227aeb1d1bdaa" }, + "conform.nvim": { "branch": "master", "commit": "a605ce4b2db397c84ae6fa8bcfc85f00b985bc73" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, - "crates.nvim": { "branch": "main", "commit": "535773ed3b321d68ddd6ef8cd5a1e07b345026a6" }, + "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, - "dressing.nvim": { "branch": "master", "commit": "6f212262061a2120e42da0d1e87326e8a41c0478" }, + "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" }, + "gitsigns.nvim": { "branch": "main", "commit": "4e348641b8206c3b8d23080999e3ddbe4ca90efc" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "indent-blankline.nvim": { "branch": "master", "commit": "821a7acd88587d966f7e464b0b3031dfe7f5680c" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, - "lualine.nvim": { "branch": "master", "commit": "8b56462bfb746760465264de41b4907310f113ec" }, + "lualine.nvim": { "branch": "master", "commit": "26dac2fcadb6e622790ab08e36d0dba3d3765398" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, @@ -31,35 +31,35 @@ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "7f2ebdef3b55374390714ac7c0a7fe6b0dae498a" }, - "neoconf.nvim": { "branch": "main", "commit": "d21739358bca9811f783c9a3d5e91c7b3abc3005" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "742db4e60c74e5fbcc596aaf9e7575e1342dfd09" }, + "neoconf.nvim": { "branch": "main", "commit": "ffdeab72dc167543f9b3355baceb0918f1e81fc0" }, "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, - "none-ls.nvim": { "branch": "main", "commit": "ff3819c52ca04232fb70fbd6c1639de9abcbe122" }, - "nui.nvim": { "branch": "main", "commit": "756c59f46057cd2d43619cd3a6d4e01b2aa60295" }, + "none-ls.nvim": { "branch": "main", "commit": "e25d2fcb24364b9cdb1e6b24a2399dfda5dbdf0c" }, + "nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" }, "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, - "nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" }, + "nvim-dap": { "branch": "master", "commit": "c43c2473ecb482a9d91f32c1d4c0098fffad3c7d" }, "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, - "nvim-lint": { "branch": "master", "commit": "e824adb9bc01647f71e55457353a68f0f37f9931" }, - "nvim-lspconfig": { "branch": "master", "commit": "1917b562a02f20885900b1da0f0ea25028ccedab" }, + "nvim-lint": { "branch": "master", "commit": "03b1fc593638098a35de26d768d5f43b0fe57041" }, + "nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-spectre": { "branch": "master", "commit": "3712ff0cdf4f9f877d9ca708d835a877d9a0abaf" }, - "nvim-treesitter": { "branch": "master", "commit": "488bec03254207b1dd071be8cb1fb78434b6e777" }, + "nvim-spectre": { "branch": "master", "commit": "d1db6c1d37252b5a38f199e2f590c5a1617d9254" }, + "nvim-treesitter": { "branch": "master", "commit": "f87882858438834d2fbb6379aa2be37de901751b" }, "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "b7a0bfa3e93697ca5b61b15df633404bf8f45883" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "75df79feb02d5e0ec114e447453775d4d291ea03" }, + "nvim-web-devicons": { "branch": "master", "commit": "a851380fbea4c1312d11f13d5cdc86a7a19808dd" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "5dc35a075ad7c9d2f6493065e1e5970e4ad61504" }, + "rustaceanvim": { "branch": "master", "commit": "69a22c2ec63ab375190006751562b62ebb318250" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "7472420f8734c710bd7009081cef9b97f08a3821" }, + "telescope.nvim": { "branch": "master", "commit": "67c598fdd4fca113224281c85721c4d8a6df055e" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, From 6318a796a89091f4a48e786e1432960e6639d49e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 16 Mar 2024 09:51:42 +0100 Subject: [PATCH 197/656] opener: run after graphical-session --- .config/systemd/user/opener@.service | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/systemd/user/opener@.service b/.config/systemd/user/opener@.service index ae713c9..fcd14c9 100644 --- a/.config/systemd/user/opener@.service +++ b/.config/systemd/user/opener@.service @@ -1,5 +1,6 @@ [Unit] Description=Open URL in your local web browser from the SSH-connected remote environment. +After=graphical-session.target [Service] Restart=always From 74a33e44ea058ce9b6031dee8987c459a49943a1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 18 Mar 2024 17:47:39 +0100 Subject: [PATCH 198/656] nvim: colors --- .config/atuin/config.toml | 2 +- .config/nvim/lazy-lock.json | 36 ++++++++++++------------ .config/nvim/lua/config/lazy.lua | 2 ++ .config/nvim/lua/plugins/colorscheme.lua | 7 ++++- .config/nvim/lua/plugins/extras.lua | 3 +- .config/nvim/lua/plugins/ui.lua | 7 ++++- 6 files changed, 34 insertions(+), 23 deletions(-) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index 17ba8dc..ecfbfb3 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -111,7 +111,7 @@ ctrl_n_shortcuts = true # "^innocuous-cmd .*--secret=.+" # ] -history_filter = ["VAULT_TOKEN="] +history_filter = [] ## prevent commands run with cwd matching any of these regexes from being written ## to history. Note that these regular expressions are unanchored, i.e. if they don't diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 9d97c6b..25d50fa 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,7 +1,7 @@ { "LazyVim": { "branch": "main", "commit": "0107a1079be7fb92f7d5b7e2c40818f47cf425d9" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "7efe039d0675f4f1b03f946cc457891d13a6495f" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4d798fd5b692c8fce77268aba8f6f926b0c9f835" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -9,21 +9,21 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "colorbuddy.nvim": { "branch": "master", "commit": "cdb5b0654d3cafe61d2a845e15b2b4b0e78e752a" }, - "conform.nvim": { "branch": "master", "commit": "a605ce4b2db397c84ae6fa8bcfc85f00b985bc73" }, + "colorbuddy.nvim": { "branch": "master", "commit": "e498b2b49d9ad0c3fb8168a02b237b689dcd4051" }, + "conform.nvim": { "branch": "master", "commit": "0a530b31acacf10eca9f9a74b2434ece4d232ca3" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, - "dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" }, + "dashboard-nvim": { "branch": "master", "commit": "92c94c8c3c92ddd29e1181a0aebcc22f2fe96f71" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "4e348641b8206c3b8d23080999e3ddbe4ca90efc" }, + "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, - "lualine.nvim": { "branch": "master", "commit": "26dac2fcadb6e622790ab08e36d0dba3d3765398" }, + "lualine.nvim": { "branch": "master", "commit": "af4c3cf17206810880d2a93562e0a4c0d901c684" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "55716a879568a498fa236593c8119789054a3b8e" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "82c7cb08ddb836ad938b2708e50085f12a8825d2" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, @@ -32,39 +32,39 @@ "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "742db4e60c74e5fbcc596aaf9e7575e1342dfd09" }, - "neoconf.nvim": { "branch": "main", "commit": "ffdeab72dc167543f9b3355baceb0918f1e81fc0" }, + "neoconf.nvim": { "branch": "main", "commit": "68753daced3b41d6b5e4a441b10a69c1ec33523c" }, "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, - "none-ls.nvim": { "branch": "main", "commit": "e25d2fcb24364b9cdb1e6b24a2399dfda5dbdf0c" }, - "nui.nvim": { "branch": "main", "commit": "3dc46d725f7b94bee5117c0a699b57b1902b5d65" }, + "none-ls.nvim": { "branch": "main", "commit": "72e25ed4162474ef5d666525853f8a42bffd97c5" }, + "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, - "nvim-dap": { "branch": "master", "commit": "c43c2473ecb482a9d91f32c1d4c0098fffad3c7d" }, + "nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" }, "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, "nvim-lint": { "branch": "master", "commit": "03b1fc593638098a35de26d768d5f43b0fe57041" }, - "nvim-lspconfig": { "branch": "master", "commit": "4bdd3800b4148f670c6cf55ef65f490148eeb550" }, + "nvim-lspconfig": { "branch": "master", "commit": "8c1831817d40925d22cd8a555296c44c02fdaaf5" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, - "nvim-noirbuddy": { "branch": "master", "commit": "131b032debf1d9aebd096f41bb3fb7b9e1545b7c" }, + "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "d1db6c1d37252b5a38f199e2f590c5a1617d9254" }, - "nvim-treesitter": { "branch": "master", "commit": "f87882858438834d2fbb6379aa2be37de901751b" }, + "nvim-treesitter": { "branch": "master", "commit": "e6d80e5efdbec343c4ff30d627cee129e545b878" }, "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "a851380fbea4c1312d11f13d5cdc86a7a19808dd" }, + "nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "69a22c2ec63ab375190006751562b62ebb318250" }, + "rustaceanvim": { "branch": "master", "commit": "6c9b8a9051d28db984eb028132e7031597424d6e" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "67c598fdd4fca113224281c85721c4d8a6df055e" }, + "telescope.nvim": { "branch": "master", "commit": "1fa3b801f034caa609e2570cd2e422cf9416819c" }, "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, - "vim-startuptime": { "branch": "master", "commit": "308b0088a864c4711a96e45b6734cf9294074f65" }, + "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index c81386d..ff1e9c0 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -14,8 +14,10 @@ require("lazy").setup({ -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, { import = "lazyvim.plugins.extras.coding.copilot" }, { import = "lazyvim.plugins.extras.coding.yanky" }, + { import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.lang.go" }, { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.markdown" }, { import = "lazyvim.plugins.extras.lang.rust" }, { import = "lazyvim.plugins.extras.lang.typescript" }, { import = "lazyvim.plugins.extras.lang.yaml" }, diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index f02ab3b..b37b0b3 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -60,7 +60,12 @@ return { }, }) -- - local Color, colors, Group, groups, styles = require("colorbuddy").setup() + local colorbuddy = require("colorbuddy") + local Color = colorbuddy.Color + local colors = colorbuddy.colors + local Group = colorbuddy.Group + local groups = colorbuddy.groups + local styles = colorbuddy.styles Color.new("ColorColumn", "#171e26") Group.new("ColorColumn", nil, colors.ColorColumn) diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 4e41075..7bdce04 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -6,8 +6,7 @@ return { opts.root_dir = opts.root_dir or require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", "Makefile", ".git") opts.sources = vim.list_extend(opts.sources or {}, { - nls.builtins.formatting.fish_indent, - nls.builtins.diagnostics.fish, + nls.builtins.formatting.mdformat, nls.builtins.formatting.stylua, nls.builtins.formatting.shfmt, nls.builtins.formatting.buf, diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 2beed80..fd05e63 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -2,7 +2,12 @@ local hooks = require("ibl.hooks") -- create the highlight groups in the highlight setup hook, so they are reset -- every time the colorscheme changes hooks.register(hooks.type.HIGHLIGHT_SETUP, function() - local Color, colors, Group, groups, styles = require("colorbuddy").setup() + local colorbuddy = require("colorbuddy") + local Color = colorbuddy.Color + local colors = colorbuddy.colors + local Group = colorbuddy.Group + local groups = colorbuddy.groups + local styles = colorbuddy.styles Color.new("IndentBlanklineIndent", "#1e2835", styles.nocombine) Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent:light(0.1)) Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent:light(0.15)) From d977d0bdacdf96a6b9e10b56bf2aea0ce78d2a7f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 18 Mar 2024 17:52:42 +0100 Subject: [PATCH 199/656] nvim: shorted delay for mini.indentscope --- .config/nvim/lua/plugins/ui.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index fd05e63..f3cdcf9 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -21,6 +21,14 @@ hooks.register(hooks.type.HIGHLIGHT_SETUP, function() end) return { + { + "echasnovski/mini.indentscope", + opts = { + draw = { + delay = 25, -- ms + }, + }, + }, { "akinsho/bufferline.nvim", enabled = false, From 12ce3d85d17f8e3a1074feed66c2626af5c79be2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 19 Mar 2024 17:40:21 +0100 Subject: [PATCH 200/656] xdg-open: fix unbound variable error --- bin/xdg-open | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/xdg-open b/bin/xdg-open index 1a10b0b..219baf3 100755 --- a/bin/xdg-open +++ b/bin/xdg-open @@ -1,5 +1,5 @@ #!/usr/bin/env sh -set -eu +set -e # Use local xdg-open if not in an ssh session [ -n "$SSH_TTY" ] || exec /usr/bin/xdg-open "$@" From a2660c38c062b4ab0ef33d553865849443626cff Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 23 Mar 2024 16:36:54 +0100 Subject: [PATCH 201/656] tmux: use OSC 133 to jump to previous/next prompt in history --- .config/oh-my-posh/config.yaml | 1 + .tmux.conf | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.config/oh-my-posh/config.yaml b/.config/oh-my-posh/config.yaml index ece6a4b..c73a2fb 100644 --- a/.config/oh-my-posh/config.yaml +++ b/.config/oh-my-posh/config.yaml @@ -3,6 +3,7 @@ version: 2 final_space: true pwd: osc7 disable_cursor_positioning: true +shell_integration: true blocks: - type: prompt alignment: left diff --git a/.tmux.conf b/.tmux.conf index b890397..17d82ee 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -31,8 +31,12 @@ bind -n M-h select-pane -L bind -n M-l select-pane -R bind -n M-Left select-pane -L bind -n M-Right select-pane -R -bind -n M-j select-pane -U -bind -n M-k select-pane -D +# bind -n M-j select-pane -U +# bind -n M-k select-pane -D +bind -T copy-mode-vi M-k send-keys -X cursor-up \; send-keys -X previous-prompt -o \; send-keys -X cursor-up +bind -T copy-mode-vi M-j send-keys -X cursor-down \; send-keys -X next-prompt -o \; send-keys -X cursor-up +bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up +bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up bind -n M-Up select-pane -U bind -n M-Down select-pane -D bind -n M-1 select-window -t nvim From 6c1643445744d817bd6e164209a12b05de341938 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 23 Mar 2024 16:37:47 +0100 Subject: [PATCH 202/656] nvim: update --- .config/nvim/lazy-lock.json | 54 ++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 31 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 25d50fa..74cb8f4 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,69 +1,61 @@ { - "LazyVim": { "branch": "main", "commit": "0107a1079be7fb92f7d5b7e2c40818f47cf425d9" }, + "LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "4d798fd5b692c8fce77268aba8f6f926b0c9f835" }, + "SchemaStore.nvim": { "branch": "main", "commit": "ed3f891a5deefcd94c62c8e375d1efb1ce53464b" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "catppuccin": { "branch": "main", "commit": "045e3499d9ec8d84635fb08877ae44fd33f6a38d" }, + "catppuccin": { "branch": "main", "commit": "56fb98218d22d5c326387bf9e4076227e7372e6b" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-emoji": { "branch": "main", "commit": "0acd702358230abeb6576769f7116e766bca28a0" }, + "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "colorbuddy.nvim": { "branch": "master", "commit": "e498b2b49d9ad0c3fb8168a02b237b689dcd4051" }, - "conform.nvim": { "branch": "master", "commit": "0a530b31acacf10eca9f9a74b2434ece4d232ca3" }, + "colorbuddy.nvim": { "branch": "master", "commit": "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e" }, + "conform.nvim": { "branch": "master", "commit": "bf109f061fc3cd75394b7823923187ae045cbf22" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, "dashboard-nvim": { "branch": "master", "commit": "92c94c8c3c92ddd29e1181a0aebcc22f2fe96f71" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, - "lualine.nvim": { "branch": "master", "commit": "af4c3cf17206810880d2a93562e0a4c0d901c684" }, + "lazy.nvim": { "branch": "main", "commit": "af6afefbb46ab29a8a1db69536b04290a9403876" }, + "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "82c7cb08ddb836ad938b2708e50085f12a8825d2" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" }, + "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, - "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "742db4e60c74e5fbcc596aaf9e7575e1342dfd09" }, - "neoconf.nvim": { "branch": "main", "commit": "68753daced3b41d6b5e4a441b10a69c1ec33523c" }, - "neodev.nvim": { "branch": "main", "commit": "84e0290f5600e8b89c0dfcafc864f45496a53400" }, + "neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" }, + "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, - "none-ls.nvim": { "branch": "main", "commit": "72e25ed4162474ef5d666525853f8a42bffd97c5" }, + "none-ls.nvim": { "branch": "main", "commit": "18910d09d21d7df339805343bfe4a2b2e41c057b" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" }, + "nvim-cmp": { "branch": "main", "commit": "6ed1c93465c33f6a53b4c3f103bf9d1ab696382a" }, "nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" }, "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, - "nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" }, + "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, - "nvim-lint": { "branch": "master", "commit": "03b1fc593638098a35de26d768d5f43b0fe57041" }, - "nvim-lspconfig": { "branch": "master", "commit": "8c1831817d40925d22cd8a555296c44c02fdaaf5" }, + "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, + "nvim-lspconfig": { "branch": "master", "commit": "24662f92c18edd397ef12d635b11dbdedef2d094" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-spectre": { "branch": "master", "commit": "d1db6c1d37252b5a38f199e2f590c5a1617d9254" }, - "nvim-treesitter": { "branch": "master", "commit": "e6d80e5efdbec343c4ff30d627cee129e545b878" }, - "nvim-treesitter-context": { "branch": "master", "commit": "b8b7e52c1517d401d7c519787d5dc4528c41291a" }, + "nvim-treesitter": { "branch": "master", "commit": "b009aba903565163442f2adecff72bc3193bb8fd" }, + "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "cb0c967c9723a76ccb1be0cc3a9a10e577d2f6ec" }, + "nvim-web-devicons": { "branch": "master", "commit": "585b2dc4bba2b5973f2b1d3e576709af5ac34fb6" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "6c9b8a9051d28db984eb028132e7031597424d6e" }, + "rustaceanvim": { "branch": "master", "commit": "b0548ff58d34caa220f8806c518fedb6453fc48e" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "1fa3b801f034caa609e2570cd2e422cf9416819c" }, - "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "c025baf23b62f044eff1f4ef561c45de636f0e32" }, - "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, - "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, + "telescope.nvim": { "branch": "master", "commit": "1e591885751d255b12c3649253cb6c2838e2c724" }, + "tokyonight.nvim": { "branch": "main", "commit": "fbe3a27378fdd51a8ddd04f57012455436916a62" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } From 1bde039e24703964740219eb3c33af7c559eaa94 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 24 Mar 2024 15:07:49 +0100 Subject: [PATCH 203/656] env: otel defaults --- .config/environment.d/otel.conf | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .config/environment.d/otel.conf diff --git a/.config/environment.d/otel.conf b/.config/environment.d/otel.conf new file mode 100644 index 0000000..08d9968 --- /dev/null +++ b/.config/environment.d/otel.conf @@ -0,0 +1,3 @@ +OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.aarn.shelman.io +OTEL_RESOURCE_ATTRIBUTES=instance=dln-dev +OTEL_LOG_LEVEL=debug From 819686b44f1ce3f90a6e1abd63465ec309e3749b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 24 Mar 2024 15:10:07 +0100 Subject: [PATCH 204/656] zsh: use session filtering for prefix history search --- .zsh/history.zsh | 1 + 1 file changed, 1 insertion(+) diff --git a/.zsh/history.zsh b/.zsh/history.zsh index c46bf6f..267af14 100644 --- a/.zsh/history.zsh +++ b/.zsh/history.zsh @@ -13,6 +13,7 @@ function my-history-prefix-search() { (($offset < 0)) && return local result=$( atuin search \ + --filter-mode session \ --search-mode prefix \ --limit 1 \ --offset $offset \ From 982b6b968c8e3288c24acd04bd55dfa1e7bc8a59 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 17:26:02 +0100 Subject: [PATCH 205/656] tmux-edit-helper: pass on nix-set environment vars to neovim --- bin/tmux-edit-helper | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper index 95b1e65..c912ee7 100755 --- a/bin/tmux-edit-helper +++ b/bin/tmux-edit-helper @@ -22,7 +22,23 @@ _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" # nvim is not running/listening on remote socket, so start it. tmux new-window -S -n nvim \ + -e "AR=$AR" \ + -e "AS=$AS" \ -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "CC=$CC" \ + -e "CXX=$CXX" \ -e "GOFLAGS=$GOFLAGS" \ + -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "LC_ALL=$LC_ALL" \ + -e "LD=$LD" \ + -e "NM=$NM" \ + -e "NM=$NM" \ + -e "OBJCOPY=$OBJCOPY" \ + -e "OBJDUMP=$OBJDUMP" \ + -e "PATH=$PATH" \ + -e "RANLIB=$RANLIB" \ + -e "READELF=$READELF" \ + -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ + -e "SIZE=$SIZE" \ + -e "STRIP=$STRIP" \ nvim --listen "$_nvim_socket" "$_file" From 54ad214a5b5d311af5d52c4f7d136fffeea97cfd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 19:28:23 +0100 Subject: [PATCH 206/656] gitui: catpuccin mocca theme --- .config/gitui/theme.ron | 44 ++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.config/gitui/theme.ron b/.config/gitui/theme.ron index 466a37b..9818424 100644 --- a/.config/gitui/theme.ron +++ b/.config/gitui/theme.ron @@ -1,23 +1,23 @@ ( - selected_tab: None, - command_fg: Some(Rgb(2, 119, 189)), - selection_bg: Some(Rgb(225, 245, 254)), - selection_fg: Some(Reset), - cmdbar_bg: Some(Reset), - cmdbar_extra_lines_bg: Some(Rgb(2, 136, 209)), - disabled_fg: Some(Rgb(109, 76, 65)), - diff_line_add: Some(Rgb(56, 142, 60)), - diff_line_delete: Some(Rgb(230, 74, 25)), - diff_file_added: Some(Rgb(56, 142, 60)), - diff_file_removed: Some(Rgb(230, 74, 25)), - diff_file_moved: Some(Rgb(156, 39, 176)), - diff_file_modified: Some(Rgb(255, 111, 0)), - commit_hash: None, - commit_time: Some(Rgb(0, 131, 143)), - commit_author: None, - danger_fg: None, - push_gauge_bg: None, - push_gauge_fg: None, - tag_fg: None, - branch_fg: Some(LightBlue), -) \ No newline at end of file + selected_tab: Some(Reset), + command_fg: Some(Rgb(205, 214, 244)), + selection_bg: Some(Rgb(88, 91, 112)), + selection_fg: Some(Rgb(205, 214, 244)), + cmdbar_bg: Some(Rgb(24, 24, 37)), + cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)), + disabled_fg: Some(Rgb(127, 132, 156)), + diff_line_add: Some(Rgb(166, 227, 161)), + diff_line_delete: Some(Rgb(243, 139, 168)), + diff_file_added: Some(Rgb(249, 226, 175)), + diff_file_removed: Some(Rgb(235, 160, 172)), + diff_file_moved: Some(Rgb(203, 166, 247)), + diff_file_modified: Some(Rgb(250, 179, 135)), + commit_hash: Some(Rgb(180, 190, 254)), + commit_time: Some(Rgb(186, 194, 222)), + commit_author: Some(Rgb(116, 199, 236)), + danger_fg: Some(Rgb(243, 139, 168)), + push_gauge_bg: Some(Rgb(137, 180, 250)), + push_gauge_fg: Some(Rgb(30, 30, 46)), + tag_fg: Some(Rgb(245, 224, 220)), + branch_fg: Some(Rgb(148, 226, 213)) +) From b135975253b6fd5b833c6dd24dcc45697e0cc5e9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 19:29:27 +0100 Subject: [PATCH 207/656] zsh: add secondary, unfiltered, prefix search --- .zsh/history.zsh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.zsh/history.zsh b/.zsh/history.zsh index 267af14..f0b901a 100644 --- a/.zsh/history.zsh +++ b/.zsh/history.zsh @@ -18,7 +18,13 @@ function my-history-prefix-search() { --limit 1 \ --offset $offset \ --format '{command}' \ - "$MY_HISTORY_SEARCH_PREFIX" + "$MY_HISTORY_SEARCH_PREFIX" || + atuin search \ + --search-mode prefix \ + --limit 1 \ + --offset $offset \ + --format '{command}' \ + "$MY_HISTORY_SEARCH_PREFIX" || ) if [[ -n "$result" ]]; then BUFFER=$result From 71f2b5356afadfdc854b9c3d6a96198dbcd9e1ce Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 19:29:41 +0100 Subject: [PATCH 208/656] nvim: update --- .config/nvim/lazy-lock.json | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 74cb8f4..002fb01 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,9 +1,9 @@ { "LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "ed3f891a5deefcd94c62c8e375d1efb1ce53464b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "f87d415b51e67703cd3600d4bcde59a7a75171f4" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "catppuccin": { "branch": "main", "commit": "56fb98218d22d5c326387bf9e4076227e7372e6b" }, + "catppuccin": { "branch": "main", "commit": "9be7fcdff77b9a175ea7def77f6df0260971a15f" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, @@ -14,9 +14,10 @@ "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, - "dashboard-nvim": { "branch": "master", "commit": "92c94c8c3c92ddd29e1181a0aebcc22f2fe96f71" }, + "dashboard-nvim": { "branch": "master", "commit": "354e7bd0ad62f6e8b5ab9394b1ec7dbcaaa1470c" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, + "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "af6afefbb46ab29a8a1db69536b04290a9403876" }, @@ -26,36 +27,44 @@ "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, + "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "8afbb06081ce1e4beb5b18945d14a608b10babeb" }, "neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" }, "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, - "noice.nvim": { "branch": "main", "commit": "bf67d70bd7265d075191e7812d8eb42b9791f737" }, + "noice.nvim": { "branch": "main", "commit": "d29b26c329558ee4bb2e7f3cc25078929ef89b2f" }, "none-ls.nvim": { "branch": "main", "commit": "18910d09d21d7df339805343bfe4a2b2e41c057b" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "6ed1c93465c33f6a53b4c3f103bf9d1ab696382a" }, - "nvim-dap": { "branch": "master", "commit": "c1695e500c7d552a0a19953a9aefcc89178fb1af" }, - "nvim-dap-go": { "branch": "main", "commit": "64f73400761e2d19459e664a52ea478f3a4420e7" }, + "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, + "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, + "nvim-dap-go": { "branch": "main", "commit": "36abe1d320cb61bfdf094d4e0fe815ef58f2302a" }, "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, - "nvim-lspconfig": { "branch": "master", "commit": "24662f92c18edd397ef12d635b11dbdedef2d094" }, + "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, + "nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-treesitter": { "branch": "master", "commit": "b009aba903565163442f2adecff72bc3193bb8fd" }, + "nvim-spectre": { "branch": "master", "commit": "31f62d7fc30257b2a5c5327ff7b47719da37a1b4" }, + "nvim-treesitter": { "branch": "master", "commit": "aa31b8d4ccaa05e1ab30120e103f72adbd2837bc" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "585b2dc4bba2b5973f2b1d3e576709af5ac34fb6" }, + "nvim-web-devicons": { "branch": "master", "commit": "6662f059bf78e6092ba90cd1929599625f448f55" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, - "rustaceanvim": { "branch": "master", "commit": "b0548ff58d34caa220f8806c518fedb6453fc48e" }, + "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, + "rustaceanvim": { "branch": "master", "commit": "ff658ba1da85498135e02300797466a447754ff0" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, - "telescope.nvim": { "branch": "master", "commit": "1e591885751d255b12c3649253cb6c2838e2c724" }, - "tokyonight.nvim": { "branch": "main", "commit": "fbe3a27378fdd51a8ddd04f57012455436916a62" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, + "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, + "tokyonight.nvim": { "branch": "main", "commit": "623c3cd60a8081b68edcaf544856c053249a659e" }, + "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } From 57ad37b67e6298772721c81e7ca49545de73c62a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 19:30:23 +0100 Subject: [PATCH 209/656] nvim: rust-analyzer config --- .config/nvim/lua/plugins/lsp.lua | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 437f9d7..c1cfe44 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -3,15 +3,10 @@ return { "neovim/nvim-lspconfig", opts = { inlay_hints = { enabled = true }, - -- capabilities = { - -- workspace = { - -- didChangeWatchedFiles = { - -- dynamicRegistration = false, - -- }, - -- }, - -- }, servers = { rust_analyzer = { + mason = false, + targetDir = true, keys = { { "K", "<cmd>RustHoverActions<cr>", desc = "Hover Actions (Rust)" }, { "<leader>cR", "<cmd>RustCodeAction<cr>", desc = "Code Action (Rust)" }, @@ -23,12 +18,7 @@ return { allFeatures = true, loadOutDirsFromCheck = true, runBuildScripts = true, - }, - -- Add clippy lints for Rust. - checkOnSave = { - allFeatures = true, - command = "clippy", - extraArgs = { "--no-deps" }, + targetDir = true, }, procMacro = { enable = true, From 6a52cd262c4ac97654ada3ce0bb2c6185d1572a6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 22:57:04 +0100 Subject: [PATCH 210/656] Add fish config --- .config/fish/conf.d/abbr.fish | 6 +++ .config/fish/conf.d/aliases.fish | 10 +++++ .config/fish/conf.d/task.fish | 37 ++++++++++++++++ .config/fish/config.fish | 49 ++++++++++++++++++++++ .config/fish/fish_variables | 43 +++++++++++++++++++ .config/fish/themes/Catppuccin Mocha.theme | 30 +++++++++++++ .config/starship.toml | 4 +- .tmux.conf | 6 +-- 8 files changed, 180 insertions(+), 5 deletions(-) create mode 100644 .config/fish/conf.d/abbr.fish create mode 100644 .config/fish/conf.d/aliases.fish create mode 100644 .config/fish/conf.d/task.fish create mode 100644 .config/fish/config.fish create mode 100644 .config/fish/fish_variables create mode 100644 .config/fish/themes/Catppuccin Mocha.theme diff --git a/.config/fish/conf.d/abbr.fish b/.config/fish/conf.d/abbr.fish new file mode 100644 index 0000000..9e5859a --- /dev/null +++ b/.config/fish/conf.d/abbr.fish @@ -0,0 +1,6 @@ +abbr --add b git branch -va +abbr --add d git diff --stat -p -C --color-words +abbr --add new git checkout --detach main +abbr --add s git st +abbr --add sl git branchless smartlog +abbr --add sw git branchless switch --interactive diff --git a/.config/fish/conf.d/aliases.fish b/.config/fish/conf.d/aliases.fish new file mode 100644 index 0000000..275eb25 --- /dev/null +++ b/.config/fish/conf.d/aliases.fish @@ -0,0 +1,10 @@ +alias e='tmux-edit-helper' +alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' +alias git='git-branchless wrap --' +alias l='bat --wrap=never --pager="less -S"' +alias ls=eza +alias tail='tail -n $LINES' +alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' +alias top='btm --basic --enable_cache_memory --enable_gpu_memory --battery' +alias w="history -1 | sed -e 's/[0-9]* //' | xargs viddy -n1" +alias xc=fish_clipboard_copy diff --git a/.config/fish/conf.d/task.fish b/.config/fish/conf.d/task.fish new file mode 100644 index 0000000..ee2d0a5 --- /dev/null +++ b/.config/fish/conf.d/task.fish @@ -0,0 +1,37 @@ +set GO_TASK_PROGNAME task + +function __task_get_tasks --description "Prints all available tasks with their description" + # Read the list of tasks (and potential errors) + $GO_TASK_PROGNAME --list-all 2>&1 | read -lz rawOutput + + # Return on non-zero exit code (for cases when there is no Taskfile found or etc.) + if test $status -ne 0 + return + end + + # Grab names and descriptions (if any) of the tasks + set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) + if test $output + echo $output + end +end + +complete -c $GO_TASK_PROGNAME -d 'Runs the specified task(s). Falls back to the "default" task if no task name was specified, or lists all tasks if an unknown task name was +specified.' -xa "(__task_get_tasks)" + +complete -c $GO_TASK_PROGNAME -s c -l color -d 'colored output (default true)' +complete -c $GO_TASK_PROGNAME -s d -l dir -d 'sets directory of execution' +complete -c $GO_TASK_PROGNAME -l dry -d 'compiles and prints tasks in the order that they would be run, without executing them' +complete -c $GO_TASK_PROGNAME -s f -l force -d 'forces execution even when the task is up-to-date' +complete -c $GO_TASK_PROGNAME -s h -l help -d 'shows Task usage' +complete -c $GO_TASK_PROGNAME -s i -l init -d 'creates a new Taskfile.yml in the current folder' +complete -c $GO_TASK_PROGNAME -s l -l list -d 'lists tasks with description of current Taskfile' +complete -c $GO_TASK_PROGNAME -s o -l output -d 'sets output style: [interleaved|group|prefixed]' -xa "interleaved group prefixed" +complete -c $GO_TASK_PROGNAME -s p -l parallel -d 'executes tasks provided on command line in parallel' +complete -c $GO_TASK_PROGNAME -s s -l silent -d 'disables echoing' +complete -c $GO_TASK_PROGNAME -l status -d 'exits with non-zero exit code if any of the given tasks is not up-to-date' +complete -c $GO_TASK_PROGNAME -l summary -d 'show summary about a task' +complete -c $GO_TASK_PROGNAME -s t -l taskfile -d 'choose which Taskfile to run. Defaults to "Taskfile.yml"' +complete -c $GO_TASK_PROGNAME -s v -l verbose -d 'enables verbose mode' +complete -c $GO_TASK_PROGNAME -l version -d 'show Task version' +complete -c $GO_TASK_PROGNAME -s w -l watch -d 'enables watch of the given task' diff --git a/.config/fish/config.fish b/.config/fish/config.fish new file mode 100644 index 0000000..49ff000 --- /dev/null +++ b/.config/fish/config.fish @@ -0,0 +1,49 @@ + +set fish_greeting + +fish_add_path $HOME/.cargo/bin +fish_add_path $HOME/bin + + +if status is-interactive + + ## Utilities + + function tree + eza --tree --color=always $argv | bat --wrap=never + end + + function rg --wraps rg --description 'ripgrep with bat' + /usr/bin/rg --color=always $argv | bat --wrap=never + end + + ## Directory jumping with frecency + + function fre_after_cd --on-variable PWD + fre --add "$PWD" + end + + function jump + set _dir $(fre --sorted | fzf-tmux --no-sort -p 90%,40% -y 0) + [ -n "$_dir" ] && pushd $_dir >>/dev/null + commandline -f repaint + end + bind \cg jump + + + ## History + + atuin init fish | source + + + ## Prompt + + function starship_transient_prompt_func + starship module character + end + starship init fish | source + enable_transience +end + +## Direnv +direnv hook fish | source diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables new file mode 100644 index 0000000..fd0f23c --- /dev/null +++ b/.config/fish/fish_variables @@ -0,0 +1,43 @@ +# This file contains fish universal variable definitions. +# VERSION: 3.0 +SETUVAR __fish_initialized:3400 +SETUVAR fish_color_autosuggestion:6c7086 +SETUVAR fish_color_cancel:f38ba8 +SETUVAR fish_color_command:89b4fa +SETUVAR fish_color_comment:7f849c\x1e\x2d\x2ditalics\x1e\x2d\x2ddim +SETUVAR fish_color_cwd:f9e2af +SETUVAR fish_color_cwd_root:red +SETUVAR fish_color_end:fab387 +SETUVAR fish_color_error:f38ba8 +SETUVAR fish_color_escape:eba0ac +SETUVAR fish_color_gray:6c7086 +SETUVAR fish_color_history_current:\x2d\x2dbold +SETUVAR fish_color_host:89b4fa +SETUVAR fish_color_host_remote:a6e3a1 +SETUVAR fish_color_keyword:f38ba8 +SETUVAR fish_color_normal:cdd6f4 +SETUVAR fish_color_operator:f5c2e7 +SETUVAR fish_color_option:a6e3a1 +SETUVAR fish_color_param:f2cdcd +SETUVAR fish_color_quote:a6e3a1 +SETUVAR fish_color_redirection:f5c2e7 +SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d313244 +SETUVAR fish_color_selection:\x2d\x2dbackground\x3d313244 +SETUVAR fish_color_status:f38ba8 +SETUVAR fish_color_user:94e2d5 +SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_key_bindings:fish_default_key_bindings +SETUVAR fish_pager_color_background:\x1d +SETUVAR fish_pager_color_completion:cdd6f4 +SETUVAR fish_pager_color_description:6c7086 +SETUVAR fish_pager_color_prefix:f5c2e7 +SETUVAR fish_pager_color_progress:6c7086 +SETUVAR fish_pager_color_secondary_background:\x1d +SETUVAR fish_pager_color_secondary_completion:\x1d +SETUVAR fish_pager_color_secondary_description:\x1d +SETUVAR fish_pager_color_secondary_prefix:\x1d +SETUVAR fish_pager_color_selected_background:\x1d +SETUVAR fish_pager_color_selected_completion:\x1d +SETUVAR fish_pager_color_selected_description:\x1d +SETUVAR fish_pager_color_selected_prefix:\x1d +SETUVAR fish_user_paths:/home/dln/bin\x1e/home/dln/\x2ecargo/bin diff --git a/.config/fish/themes/Catppuccin Mocha.theme b/.config/fish/themes/Catppuccin Mocha.theme new file mode 100644 index 0000000..104281b --- /dev/null +++ b/.config/fish/themes/Catppuccin Mocha.theme @@ -0,0 +1,30 @@ +# name: 'Catppuccin mocha' +# url: 'https://github.com/catppuccin/fish' +# preferred_background: 1e1e2e + +fish_color_normal cdd6f4 +fish_color_command 89b4fa +fish_color_param f2cdcd +fish_color_keyword f38ba8 +fish_color_quote a6e3a1 +fish_color_redirection f5c2e7 +fish_color_end fab387 +fish_color_comment 7f849c --italics --dim +fish_color_error f38ba8 +fish_color_gray 6c7086 +fish_color_selection --background=313244 +fish_color_search_match --background=313244 +fish_color_option a6e3a1 +fish_color_operator f5c2e7 +fish_color_escape eba0ac +fish_color_autosuggestion 6c7086 +fish_color_cancel f38ba8 +fish_color_cwd f9e2af +fish_color_user 94e2d5 +fish_color_host 89b4fa +fish_color_host_remote a6e3a1 +fish_color_status f38ba8 +fish_pager_color_progress 6c7086 +fish_pager_color_prefix f5c2e7 +fish_pager_color_completion cdd6f4 +fish_pager_color_description 6c7086 diff --git a/.config/starship.toml b/.config/starship.toml index 4e5bd81..3df21dc 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -1,6 +1,6 @@ "$schema" = 'https://starship.rs/config-schema.json' -add_newline = false +add_newline = true format = """\ $directory\ @@ -13,7 +13,7 @@ $hostname""" [hostname] ssh_only = false -format = " [](fg:#333333)[ $hostname ](italic dimmed bg:#333333)" +format = " [](fg:#333333)[ $hostname ](italic dimmed bg:#333333)" disabled = false [directory] diff --git a/.tmux.conf b/.tmux.conf index 17d82ee..d2d0757 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -18,12 +18,12 @@ set -g set-clipboard on bind-key ] paste-buffer -p set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/gcr/ssh" -set -g update-environment "BUILDCOMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" -set -g default-command zsh +set -g update-environment "BUILD_COMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" +#set -g default-command "$SHELL" set -g history-limit 10000 # set -g default-terminal "wezterm" -set -ga terminal-features '*:overline:strikethrough:usstyle:RGB' +set -ga terminal-features '*:clipboard:ccolor:hyperlinks:osc7:overline:sixel:strikethrough:title:usstyle:RGB' # Key bindings bind -n M-Tab if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window' From fab020b37346113f7d17ba242ef031aa846da30c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 25 Mar 2024 23:31:46 +0100 Subject: [PATCH 211/656] fish: add semantic prompt (OSC 133) support --- .config/fish/conf.d/prompt.fish | 91 ++++++++++++++++++++++++ .config/fish/conf.d/semantic-prompt.fish | 57 +++++++++++++++ .config/fish/config.fish | 9 --- 3 files changed, 148 insertions(+), 9 deletions(-) create mode 100644 .config/fish/conf.d/prompt.fish create mode 100644 .config/fish/conf.d/semantic-prompt.fish diff --git a/.config/fish/conf.d/prompt.fish b/.config/fish/conf.d/prompt.fish new file mode 100644 index 0000000..c6281d9 --- /dev/null +++ b/.config/fish/conf.d/prompt.fish @@ -0,0 +1,91 @@ +function fish_prompt + switch "$fish_key_bindings" + case fish_hybrid_key_bindings fish_vi_key_bindings + set STARSHIP_KEYMAP "$fish_bind_mode" + case '*' + set STARSHIP_KEYMAP insert + end + set STARSHIP_CMD_PIPESTATUS $pipestatus + set STARSHIP_CMD_STATUS $status + # Account for changes in variable name between v2.7 and v3.0 + set STARSHIP_DURATION "$CMD_DURATION$cmd_duration" + set STARSHIP_JOBS (count (jobs -p)) + if test "$TRANSIENT" = 1 + # Clear from cursor to end of screen as `commandline -f repaint` does not do this + # See https://github.com/fish-shell/fish-shell/issues/8418 + printf \e\[0J + if type -q starship_transient_prompt_func + starship_transient_prompt_func + else + printf "\n\e[1;32m%%\e[0m " + end + else + /usr/bin/starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + end +end + +function fish_right_prompt + switch "$fish_key_bindings" + case fish_hybrid_key_bindings fish_vi_key_bindings + set STARSHIP_KEYMAP "$fish_bind_mode" + case '*' + set STARSHIP_KEYMAP insert + end + set STARSHIP_CMD_PIPESTATUS $pipestatus + set STARSHIP_CMD_STATUS $status + # Account for changes in variable name between v2.7 and v3.0 + set STARSHIP_DURATION "$CMD_DURATION$cmd_duration" + set STARSHIP_JOBS (count (jobs -p)) + if test "$TRANSIENT" = 1 + if type -q starship_transient_rprompt_func + starship_transient_rprompt_func + else + printf "" + end + else + /usr/bin/starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + end +end + +# Disable virtualenv prompt, it breaks starship +set -g VIRTUAL_ENV_DISABLE_PROMPT 1 + +# Remove default mode prompt +builtin functions -e fish_mode_prompt + +set -gx STARSHIP_SHELL fish + +# Transience related functions +function reset-transient --on-event fish_postexec + set -g TRANSIENT 0 +end + +function transient_execute + if commandline --is-valid + set -g TRANSIENT 1 + commandline -f repaint + else + set -g TRANSIENT 0 + end + commandline -f execute +end + +# --user is the default, but listed anyway to make it explicit. +function enable_transience --description 'enable transient prompt keybindings' + bind --user \r transient_execute + bind --user -M insert \r transient_execute +end + +# Erase the transient prompt related key bindings. +# --user is the default, but listed anyway to make it explicit. +# Erasing a user binding will revert to the preset. +function disable_transience --description 'remove transient prompt keybindings' + bind --user -e \r + bind --user -M insert -e \r +end + +# Set up the session key that will be used to store logs +# We don't use `random [min] [max]` because it is unavailable in older versions of fish shell +set -gx STARSHIP_SESSION_KEY (string sub -s1 -l16 (random)(random)(random)(random)(random)0000000000000000) + +enable_transience diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish new file mode 100644 index 0000000..296a561 --- /dev/null +++ b/.config/fish/conf.d/semantic-prompt.fish @@ -0,0 +1,57 @@ +#!/usr/bin/fish +# SPDX-License-Identifier: CC0-1.0 +if status --is-interactive + set _fishprompt_aid "fish"$fish_pid + set _fishprompt_started 0 + # empty if running; or a numeric exit code; or CANCEL + set _fishprompt_postexec "" + + functions -c fish_prompt _fishprompt_saved_prompt + set _fishprompt_prompt_count 0 + set _fishprompt_disp_count 0 + function _fishprompt_start --on-event fish_prompt + set _fishprompt_prompt_count (math $_fishprompt_prompt_count + 1) + # don't use post-exec, because it is called *before* omitted-newline output + if [ -n "$_fishprompt_postexec" ] + printf "\033]133;D;%s;aid=%s\007" "$_fishprompt_postexec" $_fishprompt_aid + end + printf "\033]133;A;aid=%s;cl=m\007" $_fishprompt_aid + end + + function fish_prompt + set _fishprompt_disp_count (math $_fishprompt_disp_count + 1) + printf "\033]133;P;k=i\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_prompt)) + set _fishprompt_started 1 + set _fishprompt_postexec "" + end + + function _fishprompt_preexec --on-event fish_preexec + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;C;\007" + end + set _fishprompt_started 0 + end + + function _fishprompt_postexec --on-event fish_postexec + set _fishprompt_postexec $status + _fishprompt_start + end + + function __fishprompt_cancel --on-event fish_cancel + set _fishprompt_postexec CANCEL + _fishprompt_start + end + + function _fishprompt_exit --on-process %self + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;Z;aid=%s\007" $_fishprompt_aid + end + end + + if functions -q fish_right_prompt + functions -c fish_right_prompt _fishprompt_saved_right_prompt + function fish_right_prompt + printf "\033]133;P;k=r\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_right_prompt)) + end + end +end diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 49ff000..4a93d7c 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -34,15 +34,6 @@ if status is-interactive ## History atuin init fish | source - - - ## Prompt - - function starship_transient_prompt_func - starship module character - end - starship init fish | source - enable_transience end ## Direnv From 5cc5e1ff8e7177e67e42052f774f9df1b98a3bde Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 26 Mar 2024 00:41:11 +0100 Subject: [PATCH 212/656] fish: a bit fancier starship prompt --- .config/fish/config.fish | 13 +++++++++- .config/fish/fish_variables | 4 ++- .config/starship.toml | 50 +++++++++++++++++++++++++++++-------- .gitconfig | 4 ++- 4 files changed, 57 insertions(+), 14 deletions(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 4a93d7c..1560f81 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -4,9 +4,15 @@ set fish_greeting fish_add_path $HOME/.cargo/bin fish_add_path $HOME/bin - if status is-interactive + export LESS="--mouse --wheel-lines=1 -nRXF" + export LESSCOLORIZER="bat" + export LESSOPEN="|lesspipe.sh %s" + export PAGER="bat" + export BAT_PAGER="less -r" + + ## Utilities function tree @@ -30,6 +36,11 @@ if status is-interactive end bind \cg jump + ## Kubernetes + fish_add_path $HOME/.krew/bin + function kubectl --wraps kubectl + command grc --colour=on kubectl $argv + end ## History diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index fd0f23c..ac55d57 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -26,6 +26,8 @@ SETUVAR fish_color_selection:\x2d\x2dbackground\x3d313244 SETUVAR fish_color_status:f38ba8 SETUVAR fish_color_user:94e2d5 SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_cursor_default:line +SETUVAR fish_cursor_normal:line SETUVAR fish_key_bindings:fish_default_key_bindings SETUVAR fish_pager_color_background:\x1d SETUVAR fish_pager_color_completion:cdd6f4 @@ -40,4 +42,4 @@ SETUVAR fish_pager_color_selected_background:\x1d SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d -SETUVAR fish_user_paths:/home/dln/bin\x1e/home/dln/\x2ecargo/bin +SETUVAR fish_user_paths:/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin diff --git a/.config/starship.toml b/.config/starship.toml index 3df21dc..03ad822 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -3,33 +3,61 @@ add_newline = true format = """\ +${custom.pwd}\ +$fill\ +$line_break\ $directory\ ($character)\ """ right_format = """\ -$git_status$git_state$git_branch$git_commit -$hostname""" +$cmd_duration\ +$git_branch$git_commit$git_status$git_state\ +$hostname\ +""" [hostname] ssh_only = false -format = " [](fg:#333333)[ $hostname ](italic dimmed bg:#333333)" +format = " [](fg:#222222)[ $hostname ](italic dimmed bg:#222222 fg:#999999)" disabled = false +[time] +disabled = false +format = ' [$time]($style)' +style = "italic dimmed fg:#666666" +time_format = '%R' + +[custom.pwd] +command = "pwd" +when = true +format = "[($output)]($style) " +style = "italic dimmed fg:#777777" + [directory] fish_style_pwd_dir_length = 1 truncation_length = 1 truncate_to_repo = false truncation_symbol = "…" -style = "italic dimmed" +style = "italic fg:#88aabb" + +[line_break] +disabled = false + +[fill] +symbol = '⎯' +style = 'fg:#333333' [character] -success_symbol = "[%](bold)" +success_symbol = "[%](bold fg:#66cc99)" error_symbol = "[%](bold red)" +[cmd_duration] +min_time = 500 +format = '[ $duration ](yellow)' + [git_branch] format = "[$symbol$branch]($style)" -style = "italic bold fg:#00d992" +style = "italic bold fg:#00ac73" symbol = " " truncation_length = 16 truncation_symbol = "" @@ -43,8 +71,8 @@ style = "" [git_status] format = '([$all_status$ahead_behind]($style)) ' -style = "fg:#00d992" -modified = "[ ](fg:#FFEE58)" -deleted = "[ ✘](fg:#FF5722)" -untracked = "[ ?](fg:#CE93D8)" -staged = "[ ](fg:#80DEEA)" +style = "fg:#00ac73" +modified = "[ ](fg:#d1c000)" +deleted = "[ ✘](fg:#b93400)" +untracked = "[ ?](fg:#9c49aa)" +staged = "[ ](fg:#71a4aa)" diff --git a/.gitconfig b/.gitconfig index 3d4fcda..be56a50 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,6 +1,6 @@ [core] excludesfile = "~/.gitignore" -pager = delta +pager = delta compression = 3 looseCompression = 3 @@ -105,6 +105,8 @@ date = relative line-numbers = true max-line-distance = 0.9 + + [hub] protocol = git From b17febf0feee011a64abc9b0d5eb1d9564345b86 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 26 Mar 2024 20:28:34 +0100 Subject: [PATCH 213/656] fish: add nix env vars --- .config/fish/config.fish | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 1560f81..14e033f 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -4,15 +4,20 @@ set fish_greeting fish_add_path $HOME/.cargo/bin fish_add_path $HOME/bin +## Nix +export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive +export NIX_REMOTE=daemon +fish_add_path $HOME/.nix-profile/bin + if status is-interactive + ## Pager export LESS="--mouse --wheel-lines=1 -nRXF" export LESSCOLORIZER="bat" export LESSOPEN="|lesspipe.sh %s" export PAGER="bat" export BAT_PAGER="less -r" - ## Utilities function tree @@ -38,9 +43,7 @@ if status is-interactive ## Kubernetes fish_add_path $HOME/.krew/bin - function kubectl --wraps kubectl - command grc --colour=on kubectl $argv - end + alias kubectl=kubecolor ## History From 7c10a8bbb0463479eff064b634b0c0d588fb3142 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 26 Mar 2024 20:28:48 +0100 Subject: [PATCH 214/656] remove deprecated zsh config --- .config/oh-my-posh/config.yaml | 82 ---------- .zsh/history.zsh | 45 ------ .zshrc | 274 --------------------------------- 3 files changed, 401 deletions(-) delete mode 100644 .config/oh-my-posh/config.yaml delete mode 100644 .zsh/history.zsh delete mode 100644 .zshrc diff --git a/.config/oh-my-posh/config.yaml b/.config/oh-my-posh/config.yaml deleted file mode 100644 index c73a2fb..0000000 --- a/.config/oh-my-posh/config.yaml +++ /dev/null @@ -1,82 +0,0 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/schema.json -version: 2 -final_space: true -pwd: osc7 -disable_cursor_positioning: true -shell_integration: true -blocks: - - type: prompt - alignment: left - newline: true - segments: - - type: path - style: plain - foreground: "#999" - template: "<b><i>{{ .Path }}</i></b> " - properties: - style: full - - - type: prompt - alignment: right - filler: "<#333>⎯</>" - segments: - - type: git - style: plain - foreground: "#777" - foreground_templates: - - "{{ if or (.Working.Changed) (.Staging.Changed) }}#3b8{{ end }}" - - "{{ if and (gt .Ahead 0) (gt .Behind 0) }}#3b8{{ end }}" - - "{{ if gt .Ahead 0 }}#B388FF{{ end }}" - - "{{ if gt .Behind 0 }}#B388FB{{ end }}" - template: " <i>{{ .HEAD }} {{if .BranchStatus }}{{ .BranchStatus - }}{{ end }}{{ if .Working.Changed }} {{ .Working.String }}{{ end }}{{ if and - (.Working.Changed) (.Staging.Changed) }} |{{ end }}{{ if .Staging.Changed }} - {{ .Staging.String }}{{ end }}{{ if gt .StashCount 0 }} {{ .StashCount }}{{ - end }}</i>" - properties: - fetch_status: true - - - type: rprompt - segments: - - type: executiontime - style: plain - foreground: "#c93" - template: "<i> {{ .FormattedMs }}</i>" - properties: - threshold: 500 - - - type: session - style: plain - foreground: "#666" - template: " <i>{{ .UserName }}@{{ .HostName }}</i>" - - - type: time - style: plain - foreground: "#666" - template: " <i>{{ .CurrentDate | date .Format }}</i>" - properties: - time_format: "15:04" - - - type: prompt - alignment: left - newline: true - segments: - - type: path - style: plain - foreground: "#678" - template: "<i>{{ .Path }}</i>" - properties: - style: folder - - - type: text - style: plain - foreground: "#6c9" - template: " %" - properties: - style: folder - -transient_prompt: - background: transparent - foreground: "#6c9" - template: "\n%% " - filler: "-" diff --git a/.zsh/history.zsh b/.zsh/history.zsh deleted file mode 100644 index f0b901a..0000000 --- a/.zsh/history.zsh +++ /dev/null @@ -1,45 +0,0 @@ -typeset -g MY_HISTORY_SEARCH_OFFSET=0 -typeset -g MY_HISTORY_SEARCH_PREFIX="" - -function my-history-prefix-search() { - if [[ $LASTWIDGET != my-history-prefix-search-* ]]; then - # start state machine - MY_HISTORY_SEARCH_OFFSET=-1 - MY_HISTORY_SEARCH_PREFIX="$LBUFFER" - fi - local offset_delta=$1 - local offset=$((MY_HISTORY_SEARCH_OFFSET + $offset_delta)) - - (($offset < 0)) && return - local result=$( - atuin search \ - --filter-mode session \ - --search-mode prefix \ - --limit 1 \ - --offset $offset \ - --format '{command}' \ - "$MY_HISTORY_SEARCH_PREFIX" || - atuin search \ - --search-mode prefix \ - --limit 1 \ - --offset $offset \ - --format '{command}' \ - "$MY_HISTORY_SEARCH_PREFIX" || - ) - if [[ -n "$result" ]]; then - BUFFER=$result - CURSOR=${#BUFFER} - MY_HISTORY_SEARCH_OFFSET=$offset - fi -} - -function my-history-prefix-search-backward-widget() { - my-history-prefix-search +1 -} - -function my-history-prefix-search-forward-widget() { - my-history-prefix-search -1 -} - -zle -N my-history-prefix-search-backward-widget -zle -N my-history-prefix-search-forward-widget diff --git a/.zshrc b/.zshrc deleted file mode 100644 index 545e2bb..0000000 --- a/.zshrc +++ /dev/null @@ -1,274 +0,0 @@ -if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then - print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f" - command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit" - command git clone --depth=1 https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \ - print -P "%F{33} %F{34}Installation successful.%f%b" || \ - print -P "%F{160} The clone has failed.%f%b" -fi - -source "$HOME/.local/share/zinit/zinit.git/zinit.zsh" -autoload -Uz _zinit -(( ${+_comps} )) && _comps[zinit]=_zinit - -zi ice wait lucid -zi load zsh-users/zsh-completions -# zi ice wait lucid -# zi load zsh-users/zsh-autosuggestions -zi ice wait lucid -zi load zdharma-continuum/fast-syntax-highlighting -zi ice wait lucid -zi load nix-community/nix-zsh-completions -zi ice wait lucid -zi load olets/zsh-abbr -zi ice wait lucid -zi snippet https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/shrink-path/shrink-path.plugin.zsh - -zstyle ':completion:*' use-cache on -zstyle ':completion:*' cache-path ~/.zsh/cache - -# Highlighting -zle_highlight=('paste:none') - -## History -HISTSIZE=50000 -SAVEHIST=50000 -HISTFILE=~/.zsh_history -setopt append_history -setopt extended_history -setopt hist_expire_dups_first -setopt hist_fcntl_lock -setopt hist_ignore_all_dups -setopt hist_ignore_space -setopt HIST_IGNORE_SPACE -setopt hist_lex_words -setopt hist_reduce_blanks -setopt hist_save_no_dups -setopt hist_subst_pattern -setopt hist_verify -setopt share_history -export HISTORY_IGNORE="(ls *|cd *|rm *|pwd|reboot|exit|e *|*AWS*|*SECRET*|*PASSWORD*|*TOKEN*|*API*|*KEY*|*PASS*|*SECRETS*|*SECRET_KEY*|*SECRET_TOKEN*|*SECRET_KEY_BASE*|*SECRET_TOKEN_BASE*)" -export WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' - - -## zsh settings -setopt pipe_fail -setopt auto_pushd -setopt no_beep -setopt no_rm_star_silent -setopt extended_glob -setopt ksh_glob -setopt null_glob - -export LC_ALL=en_US.UTF-8 - -export PATH=$HOME/bin:$HOME/.cargo/bin:$PATH - -redraw-prompt() { - local precmd - for precmd in $precmd_functions; do - $precmd - done - zle reset-prompt -} -zle -N redraw-prompt - -_jump() { - _dir=$(fre --sorted | fzf-tmux --no-sort -p 90%,40% -y 0) - [ -n "$_dir" ] && pushd $_dir >>/dev/null - zle && zle redraw-prompt -} -zle -N _jump - -fre_chpwd() { - fre --add "$(pwd)" -} -typeset -gaU chpwd_functions -chpwd_functions+=fre_chpwd - -_cwd_gitroot() { - _gitroot=$(git rev-parse --show-toplevel 2>/dev/null || pwd) - _dir=$((echo "$_gitroot" && fd -td . "$_gitroot") | fzf-tmux -p 90%,40% -y 0) - [ -n "$_dir" ] && cd $_dir - zle && zle redraw-prompt -} -zle -N _cwd_gitroot - -## Keybindings -source $HOME/.zsh/history.zsh -bindkey -e -bindkey '^g' _jump -# bindkey '^P' atuin-up-search -bindkey '^p' my-history-prefix-search-backward-widget -bindkey '^n' my-history-prefix-search-forward-widget -bindkey "^[[A" my-history-prefix-search-backward-widget -bindkey "^[[B" my-history-prefix-search-forward-widget - - -## Pager -export LESS="--mouse --wheel-lines=1 -nRXF" -export LESSCOLORIZER="bat" -export LESSOPEN="|lesspipe.sh %s" -export PAGER="bat" -export BAT_PAGER="less -r" - -## Clipboard OSC 52 - function clip { echo -en "\x1b]52;c;$(base64 -w0)\x07" } - -## Aliases -alias c='cut -c-${COLUMNS}' -alias e='tmux-edit-helper' -alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' -alias git='git-branchless wrap --' -alias l='bat --wrap=never --pager="less -S"' -alias ls=eza -alias tail='tail -n $LINES' -alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' -alias top='btm --basic --enable_cache_memory --enable_gpu_memory --battery' -alias v=vgrep -alias ve='env EDITOR= vgrep -s' -alias xc=clip -alias w="history -1 | sed -e 's/[0-9]* //' | xargs viddy -n1" - -## ripgrep -export RIPGREP_CONFIG_PATH=${HOME}/.config/shelman-theme/current/rg/rg.conf - - -tree() { - eza --tree --color=always "$@" | bat --wrap=never -} - -# "auto paging" -rg() { - /usr/bin/rg -p "$@" | bat -} - - -## vim -export EDITOR=nvim - -## fzf -export FZF_TMUX=1 -export FZF_COMPLETION_TRIGGER=";" -export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git' -. /usr/share/fzf/completion.zsh -. /usr/share/fzf/key-bindings.zsh - -## direnv -eval "$(direnv hook zsh)" - -## pyenv -export PYENV_ROOT="$HOME/.pyenv" -command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH" -export PATH="/home/dln/.pyenv/shims:${PATH}" -export PYENV_SHELL=zsh -# command pyenv rehash 2>/dev/null # this is slow -pyenv() { - local command - command="${1:-}" - if [ "$#" -gt 0 ]; then - shift - fi - - case "$command" in - activate|deactivate|rehash|shell) - eval "$(pyenv "sh-$command" "$@")" - ;; - *) - command pyenv "$command" "$@" - ;; - esac -} - - -autoload -Uz compdef -autoload -U +X bashcompinit && bashcompinit -autoload -U +X compinit && compinit - -## Nix -export PATH=$HOME/.nix-profile/bin:$PATH -export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive -export NIX_REMOTE=daemon - -## eksctl -if [ ! -f "${fpath[1]}/_eksctl" ]; then - command -v eksctl >/dev/null 2>&1 && eksctl completion zsh > "${fpath[1]}/_eksctl" -fi - -## Kubernetes -if [ ! -f "${fpath[1]}/_kubectl" ]; then - command -v kubectl >/dev/null 2>&1 && kubectl completion zsh > "${fpath[1]}/_kubectl" -fi -export PATH=$HOME/.krew/bin:$PATH -alias kubectl='grc kubectl' - -## bazel -#if [ ! -f "${fpath[1]}/_bazel" ]; then -# curl -sLo "${fpath[1]}/_bazel" https://raw.githubusercontent.com/bazelbuild/bazel/master/scripts/zsh_completion/_bazel -#fi - -## git-branchless -if [ ! -f "${fpath[1]}/_git_branchless" ]; then - curl -sLo "${fpath[1]}/_git_branchless" https://gist.githubusercontent.com/minijackson/68effb0e6c7d8333e20f07da20076c28/raw/5469ffa1c6adc245adb82316f1013937c5148da7/_git-branchless -fi - -## go-task -if [ ! -f "${fpath[1]}/_task" ]; then - curl -sLo "${fpath[1]}/_task" https://raw.githubusercontent.com/go-task/task/main/completion/zsh/_task -fi - -## kapp -if [ ! -f "${fpath[1]}/_kapp" ]; then - command -v kapp >/dev/null 2>&1 && kapp completion zsh --tty=false > "${fpath[1]}/_kapp" -fi - -## kn -if [ ! -f "${fpath[1]}/_kn" ]; then - command -v kn >/dev/null 2>&1 && kn completion zsh > "${fpath[1]}/_kn" -fi - -## talos cli -if [ ! -f "${fpath[1]}/_talosctl" ]; then - command -v talosctl >/dev/null 2>&1 && talosctl completion zsh > "${fpath[1]}/_talosctl" -fi - -## pulumi -if [ ! -f "${fpath[1]}/_pulumi" ]; then - command -v pulumi >/dev/null 2>&1 && pulumi gen-completion zsh > "${fpath[1]}/_pulumi" -fi - -## vault -complete -o nospace -C /usr/bin/vault vault - -## Google Cloud -[ -f /opt/google-cloud-sdk/completion.zsh.inc ] && source /opt/google-cloud-sdk/completion.zsh.inc -if [ -f '/home/dln/google-cloud-sdk/path.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/path.zsh.inc'; fi -if [ -f '/home/dln/google-cloud-sdk/completion.zsh.inc' ]; then . '/home/dln/google-cloud-sdk/completion.zsh.inc'; fi - -## Golang -export PATH=$HOME/go/bin:$PATH -export GOPROXY=https://athens.aarn.shelman.io - -## Ansible -export ANSIBLE_NOCOWS=1 - -## Docker -export DOCKER_BUILDKIT=1 - -PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/dln/.config/tea/autocomplete.zsh" - -## AWS -complete -o nospace -C /usr/bin/mcli mcli -complete -C '/usr/bin/aws_completer' aws - -function _grc() { - shift words - (( CURRENT-- )) - _normal -} -compdef _grc grc - -# Atuin history -eval "$(atuin init zsh --disable-up-arrow)" - -# Prompt -eval "$(oh-my-posh init zsh --config $HOME/.config/oh-my-posh/config.yaml)" From 8b1ee883d8b5e1761b63fb84a3979e43c5aed59b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 27 Mar 2024 23:19:10 +0100 Subject: [PATCH 215/656] nvim: replace statusline within incline --- .config/nvim/lazy-lock.json | 31 +++++------ .config/nvim/lua/config/options.lua | 9 ++++ .config/nvim/lua/plugins/colorscheme.lua | 66 +++++++++--------------- .config/nvim/lua/plugins/extras.lua | 10 ++++ .config/nvim/lua/plugins/incline.lua | 65 +++++++++++++++++++++++ .config/nvim/lua/plugins/ui.lua | 28 +--------- 6 files changed, 124 insertions(+), 85 deletions(-) create mode 100644 .config/nvim/lua/plugins/incline.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 002fb01..a342254 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,26 +1,27 @@ { - "LazyVim": { "branch": "main", "commit": "c91982a8bca120857f24f0eb0dd9bdcc7d574f50" }, + "LazyVim": { "branch": "main", "commit": "c901640167ec5b123ff8524b01518c9a370a0d31" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "f87d415b51e67703cd3600d4bcde59a7a75171f4" }, + "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "catppuccin": { "branch": "main", "commit": "9be7fcdff77b9a175ea7def77f6df0260971a15f" }, + "catppuccin": { "branch": "main", "commit": "f66654d5d5190865333e8e46474c1593302c558e" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e" }, - "conform.nvim": { "branch": "master", "commit": "bf109f061fc3cd75394b7823923187ae045cbf22" }, + "conform.nvim": { "branch": "master", "commit": "f9523f75134614fc0eff29c2377ed36603a1b0aa" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, - "dashboard-nvim": { "branch": "master", "commit": "354e7bd0ad62f6e8b5ab9394b1ec7dbcaaa1470c" }, + "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, + "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "af6afefbb46ab29a8a1db69536b04290a9403876" }, + "lazy.nvim": { "branch": "main", "commit": "65887ea871d44822bff47504202b3643f29d614e" }, "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, @@ -31,10 +32,10 @@ "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "8afbb06081ce1e4beb5b18945d14a608b10babeb" }, - "neoconf.nvim": { "branch": "main", "commit": "9a419c4fa772c4c61839a8f7fdd8e863679a8c94" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, + "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, - "noice.nvim": { "branch": "main", "commit": "d29b26c329558ee4bb2e7f3cc25078929ef89b2f" }, + "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "none-ls.nvim": { "branch": "main", "commit": "18910d09d21d7df339805343bfe4a2b2e41c057b" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, @@ -48,21 +49,21 @@ "nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-spectre": { "branch": "master", "commit": "31f62d7fc30257b2a5c5327ff7b47719da37a1b4" }, - "nvim-treesitter": { "branch": "master", "commit": "aa31b8d4ccaa05e1ab30120e103f72adbd2837bc" }, + "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, + "nvim-treesitter": { "branch": "master", "commit": "07a404570f3d912afdfe92bbf74ff55886293369" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, - "nvim-web-devicons": { "branch": "master", "commit": "6662f059bf78e6092ba90cd1929599625f448f55" }, + "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, - "rustaceanvim": { "branch": "master", "commit": "ff658ba1da85498135e02300797466a447754ff0" }, + "rustaceanvim": { "branch": "master", "commit": "c2cdbeca8674e1b1b66ba870ff502bdad55a6d8a" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, - "todo-comments.nvim": { "branch": "main", "commit": "833d8dd8b07eeda37a09e99460f72a02616935cb" }, - "tokyonight.nvim": { "branch": "main", "commit": "623c3cd60a8081b68edcaf544856c053249a659e" }, + "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, + "tokyonight.nvim": { "branch": "main", "commit": "f4b415bfbce390866a83277db42cf6aa94230728" }, "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 3426dee..985f4bc 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -4,6 +4,7 @@ local opt = vim.opt +opt.number = true opt.relativenumber = false opt.clipboard = "unnamedplus" @@ -28,3 +29,11 @@ vim.api.nvim_create_autocmd("dirchanged", { pattern = "*", command = 'call chansend(v:stderr, printf("\\033]7;%s\\033", v:event.cwd))', }) + +-- (No) Statusline + +vim.opt.laststatus = 0 +vim.api.nvim_set_hl(0, "Statusline", { link = "Normal" }) +vim.api.nvim_set_hl(0, "StatuslineNC", { link = "Normal" }) +local line = string.rep("┅", vim.api.nvim_win_get_width(0)) +vim.opt.statusline = "%#WinSeparator#" .. line .. "%*" diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index b37b0b3..694bbb4 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,29 +1,4 @@ return { - -- { - -- "kvrohit/rasmus.nvim", - -- dependencies = { - -- { "tjdevries/colorbuddy.nvim" }, - -- }, - -- lazy = false, - -- priority = 1000, - -- config = function() - -- vim.g.rasmus_variant = "monochrome" - -- vim.g.rasmus_bold_functions = true - -- vim.g.rasmus_bold_comments = false - -- vim.g.rasmus_italic_comments = true - -- vim.g.rasmus_transparent = true - -- - -- -- vim.cmd("colorscheme rasmus") - -- end, - -- }, - - -- { - -- "LazyVim/LazyVim", - -- opts = { - -- colorscheme = "default", - -- }, - -- }, - { "p00f/alabaster.nvim", lazy = false, @@ -73,24 +48,24 @@ return { Color.new("normal", "#e3e0cd") Group.new("Normal", colors.normal, nil) + Color.new("WinSeparator", "#446688") + Group.new("WinSeparator", colors.WinSeparator, nil) + Color.new("string", "#D7CCC8") Color.new("symbol", "#ECEFF1") - -- + Color.new("comment", "#E57373", nil, styles.italic) Color.new("hlargs", "#FFF8E1") - -- + Color.new("illuminate_bg", "#112210") Color.new("illuminate_fg", "#00d992") - -- - -- Color.new("search_bg", "#554411") - -- Color.new("search_fg", "#FFF0C0") - -- + Color.new("search_bg", "#223311") Color.new("search_fg", "#CCFF33") - -- + Color.new("MiniIndentscopeSymbol", "#00d992") Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - -- + Color.new("CursorFg", "#000000", styles.nocombine) Color.new("CursorBg", "#23fdb6", styles.nocombine) Group.new("Cursor", colors.CursorFg, colors.CursorBg) @@ -141,7 +116,7 @@ return { Color.new("PmenuSelBg", "#335a88", styles.nocombine) Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) - Color.new("TreesitterContext", "#233344", styles.nocombine) + Color.new("TreesitterContext", "#242e38", styles.nocombine) Group.new("TreesitterContext", nil, colors.TreesitterContext) -- Color.new("NonText", "#955252", styles.nocombine) @@ -157,6 +132,12 @@ return { Color.new("spelling", "#ffce60") Group.new("SpellBad", colors.spelling, nil, styles.undercurl) + -- Color.new("LuaLineFg", "#aebed0") + Color.new("InclineFg", "#aebed0") + Color.new("InclineBg", "#242e38") + Group.new("InclineNormal", colors.InclineFg, colors.InclineBg) + Group.new("InclineNormalNC", colors.InclineFg, colors.InclineBg) + Color.new("LspInfoTitle", "#955252") Group.new("LspInfoTitle", colors.LspInfoTitle, nil, styles.italic) -- Group.new("DiagnosticHint", colors.LspInfoTitle, nil, styles.italic) @@ -170,38 +151,37 @@ return { -- Color.new("Error", "#ffce60", styles.nocombine) Group.new("ErrorMsg", colors.Error) - -- + Color.new("FlashLabelFg", "#220011") Color.new("FlashLabelBg", "#EA1199") Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) - -- + Group.new("TelescopeTitle", colors.primary) Group.new("TelescopeBorder", colors.secondary) Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) Group.new("@string", colors.string, nil, styles.italic) - -- Group.new("@keyword", colors.noir_2) Group.new("@keyword.function", colors.noir_2) Group.new("@keyword.return", colors.noir_1) - -- + Group.new("@operator", colors.noir_1) Group.new("@keyword.operator", colors.noir_1) -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) Group.new("@type.builtin", colors.noir_2) - -- + Group.new("@variable", colors.symbol, nil) Group.new("Hlargs", colors.hlargs, nil) - -- + Group.new("@function", colors.noir_1, nil, styles.bold) Group.new("@method", colors.noir_1, nil, styles.bold) - -- + Group.new("@punctuation", colors.noir_4) Group.new("@punctuation.bracket", colors.noir_4) Group.new("@punctuation.delimiter", colors.noir_4) - -- + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) - -- + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) Group.new("IncSearch", colors.search_fg, colors.search_bg) end, diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 7bdce04..50f0128 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -24,6 +24,16 @@ return { end, }, + { + "nvim-neo-tree/neo-tree.nvim", + opts = { + window = { + width = 30, + position = "right", + }, + }, + }, + { "simrat39/rust-tools.nvim", enabled = false, diff --git a/.config/nvim/lua/plugins/incline.lua b/.config/nvim/lua/plugins/incline.lua new file mode 100644 index 0000000..154796c --- /dev/null +++ b/.config/nvim/lua/plugins/incline.lua @@ -0,0 +1,65 @@ +return { + "b0o/incline.nvim", + config = function() + local devicons = require("nvim-web-devicons") + require("incline").setup({ + render = function(props) + local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t") + if filename == "" then + filename = "[No Name]" + end + local ft_icon, ft_color = devicons.get_icon_color(filename) + + local function get_git_diff() + local icons = { removed = "", changed = "", added = "" } + local signs = vim.b[props.buf].gitsigns_status_dict + local labels = {} + if signs == nil then + return labels + end + for name, icon in pairs(icons) do + if tonumber(signs[name]) and signs[name] > 0 then + table.insert(labels, { icon .. signs[name] .. " ", group = "Diff" .. name }) + end + end + if #labels > 0 then + table.insert(labels, { "┊" }) + end + return labels + end + + local function get_diagnostic_label() + local icons = { error = " ", warn = " ", info = " ", hint = " " } + local label = {} + + for severity, icon in pairs(icons) do + local n = #vim.diagnostic.get( + props.buf, + { severity = vim.diagnostic.severity[string.upper(severity)] } + ) + if n > 0 then + table.insert(label, { icon .. n .. " ", group = "DiagnosticSign" .. severity }) + end + end + if #label > 0 then + table.insert(label, { "┊", guifg = "#0d1117" }) + end + return label + end + + local bg_color = "#242e38" + + return { + { "┊", guibg = bg_color, guifg = "#0d1117" }, + { get_diagnostic_label(), guibg = bg_color }, + { " ", guibg = bg_color }, + { get_git_diff() }, + -- { (ft_icon or "") .. " ", guifg = ft_color, guibg = "none" }, + { filename .. " ", gui = "italic" }, + } + end, + }) + end, + -- Optional: Lazy load Incline + event = "VeryLazy", +} diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index f3cdcf9..4afcfba 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -79,32 +79,6 @@ return { { "nvim-lualine/lualine.nvim", - dependencies = { - "jesseleite/nvim-noirbuddy", - "nvim-tree/nvim-web-devicons", - }, - config = function() - -- Option 1: - local noirbuddy_lualine = require("noirbuddy.plugins.lualine") - - local theme = noirbuddy_lualine.theme - -- optional, you can define those yourself if you need - local sections = noirbuddy_lualine.sections - local inactive_sections = noirbuddy_lualine.inactive_sections - - require("lualine").setup({ - options = { - icons_enabled = true, - theme = theme, - filetype = { colored = false }, - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - disabled_filetypes = {}, - always_divide_middle = true, - }, - sections = sections, - inactive_sections = inactive_sections, - }) - end, + enabled = false, }, } From dba48cb52f6970c9be52b9f9cd77d0bcddb2f841 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 29 Mar 2024 10:24:47 +0100 Subject: [PATCH 216/656] nvim: move incline to bottom right. add some styling --- .config/nvim/lua/plugins/incline.lua | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/.config/nvim/lua/plugins/incline.lua b/.config/nvim/lua/plugins/incline.lua index 154796c..24e8f90 100644 --- a/.config/nvim/lua/plugins/incline.lua +++ b/.config/nvim/lua/plugins/incline.lua @@ -3,6 +3,17 @@ return { config = function() local devicons = require("nvim-web-devicons") require("incline").setup({ + window = { + margin = { + horizontal = 0, + vertical = 0, + }, + padding = 0, + placement = { + horizontal = "right", + vertical = "bottom", + }, + }, render = function(props) local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t") if filename == "" then @@ -11,7 +22,7 @@ return { local ft_icon, ft_color = devicons.get_icon_color(filename) local function get_git_diff() - local icons = { removed = "", changed = "", added = "" } + local icons = { removed = " ", changed = " ", added = " " } local signs = vim.b[props.buf].gitsigns_status_dict local labels = {} if signs == nil then @@ -23,13 +34,13 @@ return { end end if #labels > 0 then - table.insert(labels, { "┊" }) + table.insert(labels, { "╱ " }) end return labels end local function get_diagnostic_label() - local icons = { error = " ", warn = " ", info = " ", hint = " " } + local icons = { error = " ", warn = " ", info = " ", hint = " " } local label = {} for severity, icon in pairs(icons) do @@ -42,7 +53,7 @@ return { end end if #label > 0 then - table.insert(label, { "┊", guifg = "#0d1117" }) + table.insert(label, { "╱ " }) end return label end @@ -50,11 +61,10 @@ return { local bg_color = "#242e38" return { - { "┊", guibg = bg_color, guifg = "#0d1117" }, + { "", guibg = "#0d1117", guifg = bg_color }, + { " ", guifg = "#0d1117", guibg = bg_color }, { get_diagnostic_label(), guibg = bg_color }, - { " ", guibg = bg_color }, { get_git_diff() }, - -- { (ft_icon or "") .. " ", guifg = ft_color, guibg = "none" }, { filename .. " ", gui = "italic" }, } end, From 4ec068ddad823636518a5982a04edfc643c813be Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 30 Mar 2024 09:37:04 +0100 Subject: [PATCH 217/656] fish: add otel env vars --- .config/fish/config.fish | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 14e033f..75d81b6 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -18,6 +18,11 @@ if status is-interactive export PAGER="bat" export BAT_PAGER="less -r" + ## OpenTelemetry + export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.aarn.shelman.io + export OTEL_RESOURCE_ATTRIBUTES=instance=dln-dev + export OTEL_LOG_LEVEL=debug + ## Utilities function tree @@ -43,7 +48,9 @@ if status is-interactive ## Kubernetes fish_add_path $HOME/.krew/bin - alias kubectl=kubecolor + # function kubectl --wraps kubectl + # command kubecolor $argv + # end ## History From 4d6f9e2887a46a3d82b260fd7f30e621e6c29492 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 30 Mar 2024 09:39:25 +0100 Subject: [PATCH 218/656] nvim: halfwitted attempt at colorscheme --- .config/nvim/lazy-lock.json | 28 +++++++++++------------- .config/nvim/lua/config/options.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 26 ++++++++++++++++++++-- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index a342254..609dc42 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,37 +1,36 @@ { - "LazyVim": { "branch": "main", "commit": "c901640167ec5b123ff8524b01518c9a370a0d31" }, + "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, - "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "catppuccin": { "branch": "main", "commit": "f66654d5d5190865333e8e46474c1593302c558e" }, + "catppuccin": { "branch": "main", "commit": "c3572a968a79b64bd0ef16f2c3e93014f112e66d" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "colorbuddy.nvim": { "branch": "master", "commit": "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e" }, - "conform.nvim": { "branch": "master", "commit": "f9523f75134614fc0eff29c2377ed36603a1b0aa" }, + "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "078041e9d060a386b0c9d3a8c7a7b019a35d3fb0" }, + "gitsigns.nvim": { "branch": "main", "commit": "70584ff9aae8078b64430c574079d79620b8f06d" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "65887ea871d44822bff47504202b3643f29d614e" }, - "lualine.nvim": { "branch": "master", "commit": "b5e8bb642138f787a2c1c5aedc2a78cb2cebbd67" }, + "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, + "mini.colors": { "branch": "main", "commit": "f64963332f7fcb45c8dfcc243f682a9a0fb9935d" }, "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, - "mini.surround": { "branch": "main", "commit": "a1b590cc3b676512de507328d6bbab5e43794720" }, + "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, @@ -47,24 +46,23 @@ "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" }, - "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, - "nvim-treesitter": { "branch": "master", "commit": "07a404570f3d912afdfe92bbf74ff55886293369" }, + "nvim-treesitter": { "branch": "master", "commit": "f84887230af1f7581e29ccd5d93f59d98058d565" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "7ab799a9792f7cf3883cf28c6a00ad431f3d382a" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, - "rustaceanvim": { "branch": "master", "commit": "c2cdbeca8674e1b1b66ba870ff502bdad55a6d8a" }, + "rustaceanvim": { "branch": "master", "commit": "b1433cb70569b888d26a26232da93fdbc76cb4a8" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "c2b8311dfacd08b3056b8f0249025d633a4e71a8" }, + "telescope.nvim": { "branch": "master", "commit": "b22e6f6896cd64b109bd0807a24098d225d5fb49" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "f4b415bfbce390866a83277db42cf6aa94230728" }, - "trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" }, + "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, + "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 985f4bc..ca57020 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -35,5 +35,5 @@ vim.api.nvim_create_autocmd("dirchanged", { vim.opt.laststatus = 0 vim.api.nvim_set_hl(0, "Statusline", { link = "Normal" }) vim.api.nvim_set_hl(0, "StatuslineNC", { link = "Normal" }) -local line = string.rep("┅", vim.api.nvim_win_get_width(0)) +local line = string.rep("▁", vim.api.nvim_win_get_width(0)) vim.opt.statusline = "%#WinSeparator#" .. line .. "%*" diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 694bbb4..69ab246 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,9 +1,25 @@ return { + --[=====[ + { "echasnovski/mini.colors", version = false }, + { - "p00f/alabaster.nvim", + "shelmangroup/sumi-e", + dir = "/home/dln/src/git.shelman.io/shelmangroup/sumi-e.nvim", lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = "sumi-e", + }, + }, + + --]=====] + { "jesseleite/nvim-noirbuddy", as = "noirbuddy", @@ -48,7 +64,7 @@ return { Color.new("normal", "#e3e0cd") Group.new("Normal", colors.normal, nil) - Color.new("WinSeparator", "#446688") + Color.new("WinSeparator", "#223344") Group.new("WinSeparator", colors.WinSeparator, nil) Color.new("string", "#D7CCC8") @@ -72,6 +88,12 @@ return { Color.new("CursorLine", "#141b23") Group.new("CursorLine", nil, colors.CursorLine) + -- Color.new("TroubleBg", "#171e26") + Color.new("TroubleFg", "#e1d4c1") + Color.new("TroubleBg", "#10161d") + -- Color.new("TroubleBg", "#1d140f") + Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) + Color.new("NavicTextFg", "#5fbf9f") Color.new("NavicTextBg", "#333333") Color.new("NavicIcon", "#5fbf9f") From ee598e5fe81aef9bb5e4afb388e5dfcd407bb9d2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 30 Mar 2024 13:55:08 +0100 Subject: [PATCH 219/656] git: add copr (check out PR) alias --- .gitconfig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.gitconfig b/.gitconfig index be56a50..7c99bef 100644 --- a/.gitconfig +++ b/.gitconfig @@ -42,6 +42,12 @@ sync = branchless sync sw = branchless switch s = branchless switch -i new = !git fetch -u origin main:main && git branchless switch -d origin/main +copr = "!f() { \ + pr=$1 \ + && test -n \"$pr\" || pr=`tea pr list -o simple | fzf --bind 'enter:become(echo {+1})'` \ + && git fetch origin refs/pull/$pr/head \ + && git checkout --detach FETCH_HEAD \ + ;};f" gerrit-clone = "!f() { \ git clone ssh://gerrit-ssh.shelman.io:2222/$1 \ From fba5c2942d1cefdbcdaaf976a887feea84c98b65 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 31 Mar 2024 20:11:06 +0200 Subject: [PATCH 220/656] fish: use history prefix search --- .config/fish/config.fish | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 75d81b6..0ef3b13 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -54,6 +54,10 @@ if status is-interactive ## History + # FIXME: how to use autin history for these? + bind \cn history-prefix-search-forward + bind \cp history-prefix-search-backward + atuin init fish | source end From 2682af3b05fe67fb31a711fd62cf1ae6ef42054b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 31 Mar 2024 20:12:05 +0200 Subject: [PATCH 221/656] give helix a proper whirl as a daily driver --- .config/helix/config.toml | 25 ++++ .config/helix/languages.toml | 30 +++++ .config/helix/themes/sumi-e.toml | 194 +++++++++++++++++++++++++++++++ .tmux.conf | 2 +- bin/tmux-edit-helper | 45 +------ bin/tmux-hx-helper | 21 ++++ bin/tmux-nvim-helper | 44 +++++++ 7 files changed, 316 insertions(+), 45 deletions(-) create mode 100644 .config/helix/config.toml create mode 100644 .config/helix/languages.toml create mode 100644 .config/helix/themes/sumi-e.toml mode change 100755 => 120000 bin/tmux-edit-helper create mode 100755 bin/tmux-hx-helper create mode 100755 bin/tmux-nvim-helper diff --git a/.config/helix/config.toml b/.config/helix/config.toml new file mode 100644 index 0000000..8af7ba4 --- /dev/null +++ b/.config/helix/config.toml @@ -0,0 +1,25 @@ +theme = "sumi-e" + +[editor] +true-color = true +undercurl = true +cursorline = true +color-modes = true +auto-pairs = false + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[editor.indent-guides] +character = "│" # "╎" +render = true + +[editor.lsp] +display-inlay-hints = true + +[keys.normal] +H = ":toggle lsp.display-inlay-hints" +Z = { Z = ":write-quit-all" } +"esc" = ["keep_primary_selection", "collapse_selection"] diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml new file mode 100644 index 0000000..bcbd0e7 --- /dev/null +++ b/.config/helix/languages.toml @@ -0,0 +1,30 @@ +[[language]] +name = "rust" +auto-format = true +roots = [ + "Cargo.toml", + "Cargo.lock" +] + +[language.auto-pairs] +'(' = ')' +'{' = '}' +'[' = ']' +'"' = '"' +'`' = '`' + +[language-server.rust-analyzer] +command = "rust-analyzer" + +[language-server.rust-analyzer.config.inlayHints] +bindingModeHints.enable = false +chainingHints.enable = false +# closingBraceHints.enable = false +closingBraceHints.minLines = 10 +closureReturnTypeHints.enable = "with_block" +# discriminantHints.enable = "fieldless" +discriminantHints.enable = "always" +lifetimeElisionHints.enable = "skip_trivial" +parameterHints.enable = true +typeHints.enable = true +typeHints.hideClosureInitialization = false diff --git a/.config/helix/themes/sumi-e.toml b/.config/helix/themes/sumi-e.toml new file mode 100644 index 0000000..b643f8b --- /dev/null +++ b/.config/helix/themes/sumi-e.toml @@ -0,0 +1,194 @@ +# Template document for helix color schemes +# See also: https://docs.helix-editor.com/themes.html +# +# NOTE: Keys default to the most specific parent value. +# e.g ui.cursor.primary > ui.cursor > ui + +# GENERAL ============================== + +warning = { fg = "#ff7700" } # Editor warnings. +error = { fg = "#ff0038" } # Editor errors, like mis-typing a command. +info = { fg = "#00d992" } # Contextual info in diagnostic messages (LSP). +hint = { } # Code diagnostics hints (LSP). +diagnostic = { fg = "#c49848"} # Code diagnostics in editing area (LSP). +"diagnostic.hint" = { underline = { color = "silver", style = "curl" } } +"diagnostic.info" = { underline = { color = "delta", style = "curl" } } +"diagnostic.warning" = { underline = { color = "lightning", style = "curl" } } +"diagnostic.error" = { underline = { color = "apricot", style = "curl" } } +"diagnostic.unnecessary" = { modifiers = ["dim"] } +"diagnostic.deprecated" = { modifiers = ["crossed_out"] } + + +# UI ============================== +# For styling helix itself. + +'ui.background' = { bg="background" } # Default background color. +'ui.background.separator' = { fg="#00a171" } +'ui.window' = { bg="#224466" } # Window border between splits. +'ui.gutter' = { } # Left gutter for diagnostics and breakpoints. + +'ui.text' = { fg = "#e3e0cd" } # Default text color. +'ui.text.focus' = { bg = "#294467" } # Selection highlight in buffer-picker or file-picker. +'ui.text.info' = { } # Info popup contents (space mode menu). + +'ui.cursor' = { bg = "#00a171", fg = "#000000" } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c). +'ui.cursor.primary' = { bg ="#23fdb6", fg = "#000000" } # The primary cursor when there are multiple (shift-c). +'ui.cursor.insert' = { fg = "#ff0000" } # The cursor in insert mode (i). +'ui.cursor.select' = { } # The cursor in select mode (v). +'ui.cursor.match' = { } # The matching parentheses of that under the cursor. +'ui.cursorline.primary' = { bg = "#141b23" } + +'ui.selection' = { bg = "#294467" } # All currently selected text. +'ui.selection.primary' = { bg = "#294467" } # The primary selection when there are multiple. + +'ui.linenr' = { fg = "#374351" } # Line numbers. +'ui.linenr.selected' = { fg = "#617d9d", bg = "#14202e" } # Current line number. + +'ui.virtual' = { } # Namespace for additions to the editing area. +"ui.virtual.indent-guide" = { fg = "#273341" } +"ui.virtual.inlay-hint" = { fg = "#51a0cf", modifiers = ["italic"] } +'ui.virtual.ruler' = { } # Vertical rulers (colored columns in editing area). +'ui.virtual.whitespace' = { } # Whitespace markers in editing area. + +'ui.statusline' = { bg = "#151920", fg = "#4d5a6c" } # Status line. +'ui.statusline.inactive' = { } # Status line in unfocused windows. +"ui.statusline.normal" = { } # Statusline mode during normal mode (only if editor.color-modes is enabled) +"ui.statusline.insert" = { fg = "#b99912" } # Statusline mode during insert mode (only if editor.color-modes is enabled) +"ui.statusline.select" = { } # Statusline mode during select mode (only if editor.color-modes is enabled) + +'ui.help' = { } # `:command` descriptions above the command line. + +'ui.highlight' = { } # selected contents of symbol pickers (spc-s, spc-S) and current line in buffer picker (spc-b). +"ui.highlight.frameline" = { } + +'ui.menu' = { bg = "#242d38", fg="#bfd5e2" } # Autocomplete menu. +'ui.menu.selected' = { bg = "#135d7e" } # Selected autocomplete item. + +'ui.popup' = { bg = "#253d6b", fg="#b2c6e9" } # Documentation popups (space-k). +'ui.popup.info' = { } # Info popups box (space mode menu). + + +# SYNTAX HIGHLIGHTING ============================== +# All the keys here are Treesitter scopes. + +'property' = { } # Regex group names. +'special' = { fg="#ffecd3" } # Special symbols e.g `?` in Rust, `...` in Hare. +'attribute' = { } # Class attributes, html tag attributes. + +'type' = { } # Variable type, like integer or string, including program defined classes, structs etc.. +'type.builtin' = { } # Primitive types of the language (string, int, float). +'type.enum.variant' = { } # A variant of an enum. + +'constructor' = { } # Constructor method for a class or struct. + +'constant' = { } # Constant value +'constant.builtin' = { } # Special constants like `true`, `false`, `none`, etc. +'constant.builtin.boolean' = { } # True or False. +'constant.character' = { } # Constant of character type. +'constant.character.escape' = { } # escape codes like \n. +'constant.numeric' = { } # constant integer or float value. +'constant.numeric.integer' = { } # constant integer value. +'constant.numeric.float' = { } # constant float value. + +'string' = { fg="#88ab8a", modifiers=["italic"] } # String literal. +'string.regexp' = { } # Regular expression literal. +'string.special' = { } # Strings containing a path, URL, etc. +'string.special.path' = { } # String containing a file path. +'string.special.url' = { } # String containing a web URL. +'string.special.symbol' = { } # Erlang/Elixir atoms, Ruby symbols, Clojure keywords. + +'comment' = { fg = "#e57373", modifiers = ["bold", "italic"] } # This is a comment. +'comment.line' = { } # Line comments, like this. +'comment.block' = { } # Block comments, like /* this */ in some languages. +'comment.block.documentation' = { } # Doc comments, e.g '///' in rust. + +'variable' = { fg="#eceff1" } # Variable names. +'variable.builtin' = { } # Language reserved variables: `this`, `self`, `super`, etc. +'variable.parameter' = { } # Function parameters. +'variable.other.member' = { } # Fields of composite data types (e.g. structs, unions). + +'label' = { } # Loop labels, among other things. + +'punctuation' = { } # Any punctuation symbol. +'punctuation.delimiter' = { fg = "#999999" } # Commas, colons or other delimiter depending on the language. +'punctuation.bracket' = { } # Parentheses, angle brackets, etc. + +'keyword' = { } # Language reserved keywords. +'keyword.control' = { } # Control keywords. +'keyword.control.conditional' = { } # `if`, `else`, `elif`. +'keyword.control.repeat' = { } # `for`, `while`, `loop`. +'keyword.control.import' = { } # `import`, `export` `use`. +'keyword.control.return' = { } # `return` in most languages. +'keyword.control.exception' = { } # `try`, `catch`, `raise`/`throw` and related. +'keyword.operator' = { } # `or`, `and`, `in`. +'keyword.directive' = { } # Preprocessor directives (#if in C...). +'keyword.function' = { } # The keyword to define a function: 'def', 'fun', 'fn'. + +'operator' = { } # Logical, mathematical, and other operators. + +'function' = { fg = "#f7f7f7" } #, modifiers = [ "bold" ] } +'function.builtin' = { } +'function.method' = { } # Cla"ss / Struct methods. +'function.macro' = { } +'function.special' = { } # Preprocessor function in C. + +'tag' = { } # As in <body> for html, css tags. +'tag.error' = { } # Erroneous closing html tags. + +'namespace' = { } # Namespace or module identifier. + + +# Markup ============================== +# Colors for markup languages, like Markdown or XML. + +'markup.heading.1' = { } # Markdown heading 1 color. +'markup.heading.2' = { } # Markdown heading 2 color. +'markup.heading.3' = { } # Markdown heading 3 color. +'markup.heading.4' = { } # Markdown heading 4 color. +'markup.heading.5' = { } # Markdown heading 5 color. +'markup.heading.6' = { } # Markdown heading 6 color. +'markup.heading.marker' = { } # Hashtag color on Markdown headings. + +'markup.list' = { } +'markup.list.numbered' = { } # Numbered list. +'markup.list.unnumbered' = { } # Bullet point list. + +'markup.bold' = { } # Bold text. +'markup.italic' = { } # Italicised text. + +'markup.link' = { } +'markup.link.url' = { } # Urls pointed to by links. +'markup.link.label' = { } # Non-URL link references. +'markup.link.text' = { } # URL and image descriptions in links. + +'markup.quote' = { } # `> Quotes` in Markdown. + + +# Markup - Interface ============================== +# "These scopes are used for theming the editor interface." + +'markup.normal' = { } +'markup.normal.completion' = { } # For completion doc popup ui. +'markup.normal.raw' = { } # For hover popup ui. + +'markup.heading.completion' = { } # Headings for completion doc popup ui. +'markup.heading.raw' = { } # Headings for hover popup ui. + +'markup.raw' = { } # Code block in Markdown. +'markup.raw.block' = { } # Multiline (```) codeblock in Markdown. +'markup.raw.inline' = { } # `Inline code block` in Markdown. +'markup.raw.inline.completion' = { } # ? +'markup.raw.inline.hover' = { } # ? + +# Diff ============================== +# Version control changes. + +'diff.plus' = { fg = "#469e58" } # Additions. +'diff.minus' = { fg = "#ff0038" } # Deletions. +'diff.delta' = { fg = "#3caba4" } # Modifications. +'diff.delta.moved' = { } # Renamed or moved files. + + +[palette] # Define your custom colors here. +white = '#ffffff' + diff --git a/.tmux.conf b/.tmux.conf index d2d0757..61cb9e5 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -39,7 +39,7 @@ bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor- bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up bind -n M-Up select-pane -U bind -n M-Down select-pane -D -bind -n M-1 select-window -t nvim +bind -n M-1 select-window -t 42 bind -n M-2 select-window -t 2 bind -n M-3 select-window -t 3 bind -n M-4 select-window -t 4 diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper deleted file mode 100755 index c912ee7..0000000 --- a/bin/tmux-edit-helper +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -set -fe -o pipefail - -eval "$(direnv export bash 2>/dev/null)" - -PATH="$HOME/bin:$PATH" - -if [ -n "$1" ]; then - _file=$(readlink -f "$@") -else - FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} - _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) - _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) - _file="${_root}/${_file}" - fre --store_name "$_store" --add "$_file" -fi - -_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" - -(tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" - -# nvim is not running/listening on remote socket, so start it. -tmux new-window -S -n nvim \ - -e "AR=$AR" \ - -e "AS=$AS" \ - -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "CC=$CC" \ - -e "CXX=$CXX" \ - -e "GOFLAGS=$GOFLAGS" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - -e "LC_ALL=$LC_ALL" \ - -e "LD=$LD" \ - -e "NM=$NM" \ - -e "NM=$NM" \ - -e "OBJCOPY=$OBJCOPY" \ - -e "OBJDUMP=$OBJDUMP" \ - -e "PATH=$PATH" \ - -e "RANLIB=$RANLIB" \ - -e "READELF=$READELF" \ - -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ - -e "SIZE=$SIZE" \ - -e "STRIP=$STRIP" \ - nvim --listen "$_nvim_socket" "$_file" diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper new file mode 120000 index 0000000..90b21a9 --- /dev/null +++ b/bin/tmux-edit-helper @@ -0,0 +1 @@ +tmux-hx-helper \ No newline at end of file diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper new file mode 100755 index 0000000..a292eb3 --- /dev/null +++ b/bin/tmux-hx-helper @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +set -exo pipefail + +eval "$(direnv export bash 2>/dev/null)" + +PATH="$HOME/bin:$PATH" + +if [ -n "$1" ]; then + _file=$(readlink -f "$@") +else + FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} + _root=$(git rev-parse --show-toplevel 2>/dev/null || pwd) + _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) + _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) + _file="${_root}/${_file}" + fre --store_name "$_store" --add "$_file" +fi + +(tmux select-window -t helix && +tmux send-keys -t helix Escape && +tmux send-keys -t helix ":open ${_file}" Enter) || tmux new-window -t 42 -n helix helix "${_file}" diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper new file mode 100755 index 0000000..3c89522 --- /dev/null +++ b/bin/tmux-nvim-helper @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +set -fe -o pipefail + +eval "$(direnv export bash 2>/dev/null)" + +PATH="$HOME/bin:$PATH" + +if [ -n "$1" ]; then + _file=$(readlink -f "$@") +else + FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} + _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) + _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) + _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) + _file="${_root}/${_file}" + fre --store_name "$_store" --add "$_file" +fi + +_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" + +(tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" + +# nvim is not running/listening on remote socket, so start it. +tmux new-window -S -t 1001-n nvim \ + -e "AR=$AR" \ + -e "AS=$AS" \ + -e "BUILD_COMMAND=$BUILD_COMMAND" \ + -e "CC=$CC" \ + -e "CXX=$CXX" \ + -e "GOFLAGS=$GOFLAGS" \ + -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "LC_ALL=$LC_ALL" \ + -e "LD=$LD" \ + -e "NM=$NM" \ + -e "NM=$NM" \ + -e "OBJCOPY=$OBJCOPY" \ + -e "OBJDUMP=$OBJDUMP" \ + -e "PATH=$PATH" \ + -e "RANLIB=$RANLIB" \ + -e "READELF=$READELF" \ + -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ + -e "SIZE=$SIZE" \ + -e "STRIP=$STRIP" \ + nvim --listen "$_nvim_socket" "$_file" From 9ff59044ef0158974334fd2e4e89976d04fb3f85 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 31 Mar 2024 21:21:40 +0200 Subject: [PATCH 222/656] helix: enable copilot w/helix-gpt --- .config/helix/languages.toml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml index bcbd0e7..1193075 100644 --- a/.config/helix/languages.toml +++ b/.config/helix/languages.toml @@ -5,6 +5,17 @@ roots = [ "Cargo.toml", "Cargo.lock" ] +language-servers = [ + "rust-analyzer", + "gpt", +] + +[[language]] +name = "go" +language-servers = [ + "gopls", + "gpt", +] [language.auto-pairs] '(' = ')' @@ -28,3 +39,8 @@ lifetimeElisionHints.enable = "skip_trivial" parameterHints.enable = true typeHints.enable = true typeHints.hideClosureInitialization = false + +[language-server.gpt] +command = "helix-gpt" +args = ["--handler", "copilot", "--logFile", "/home/dln/.cache/helix/helix-gpt.log"] + From 6bc5bcee50ee20bfeda2d17473dc310778bac27f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 31 Mar 2024 21:22:01 +0200 Subject: [PATCH 223/656] helix: border around popus --- .config/helix/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index 8af7ba4..a239198 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -6,6 +6,7 @@ undercurl = true cursorline = true color-modes = true auto-pairs = false +popup-border = "all" [editor.cursor-shape] insert = "bar" From 182abc1ad0be8125c1c827f07af5f65f08744c4b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 11:04:47 +0200 Subject: [PATCH 224/656] Add complete edit history using fre --- .config/fish/conf.d/aliases.fish | 1 + .tmux.conf | 3 ++- bin/tmux-edit-history | 4 ++++ bin/tmux-hx-helper | 4 +++- bin/tmux-nvim-helper | 2 ++ 5 files changed, 12 insertions(+), 2 deletions(-) create mode 100755 bin/tmux-edit-history diff --git a/.config/fish/conf.d/aliases.fish b/.config/fish/conf.d/aliases.fish index 275eb25..3349f69 100644 --- a/.config/fish/conf.d/aliases.fish +++ b/.config/fish/conf.d/aliases.fish @@ -1,4 +1,5 @@ alias e='tmux-edit-helper' +alias eh='tmux-edit-history' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' alias git='git-branchless wrap --' alias l='bat --wrap=never --pager="less -S"' diff --git a/.tmux.conf b/.tmux.conf index 61cb9e5..606cf3d 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -64,7 +64,8 @@ bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again bind -n M-g display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "gitui" -bind -n M-e display-popup -h '40%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-e display-popup -h '50%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-h display-popup -h '50%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-history" bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "~/bin/tmux-build-helper" diff --git a/bin/tmux-edit-history b/bin/tmux-edit-history new file mode 100755 index 0000000..0cd4532 --- /dev/null +++ b/bin/tmux-edit-history @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -eo pipefail +_file=$(fre --store_name edit-history --sorted | exec fzf --no-sort) +[ -n "$_file" ] && exec tmux-edit-helper "$_file" diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper index a292eb3..393deeb 100755 --- a/bin/tmux-hx-helper +++ b/bin/tmux-hx-helper @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -exo pipefail +set -eo pipefail eval "$(direnv export bash 2>/dev/null)" @@ -16,6 +16,8 @@ else fre --store_name "$_store" --add "$_file" fi +fre --store_name "edit-history" --add "$_file" + (tmux select-window -t helix && tmux send-keys -t helix Escape && tmux send-keys -t helix ":open ${_file}" Enter) || tmux new-window -t 42 -n helix helix "${_file}" diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper index 3c89522..033e05b 100755 --- a/bin/tmux-nvim-helper +++ b/bin/tmux-nvim-helper @@ -16,6 +16,8 @@ else fre --store_name "$_store" --add "$_file" fi +fre --store_name "edit-history" --add "$_file" + _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" (tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" From 6e27ee2b5fb3085757fa43105b72abcbb32ad571 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 13:07:30 +0200 Subject: [PATCH 225/656] tmux: M-e invokes edit-helper, repeat to replace with edit-history --- .tmux.conf | 8 ++++---- bin/tmux-edit-history | 2 +- bin/tmux-hx-helper | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 606cf3d..9432e59 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -63,10 +63,10 @@ bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-d bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again -bind -n M-g display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "gitui" -bind -n M-e display-popup -h '50%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" -bind -n M-h display-popup -h '50%' -w '90%' -y 0 -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-history" -bind -n M-m display-popup -h '90%' -w '90%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "~/bin/tmux-build-helper" +bind -n M-g display-popup -h '95%' -w '95%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "gitui" +bind -n M-e display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-h display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-history" +bind -n M-m display-popup -h '95%' -w '95%' -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "~/bin/tmux-build-helper" setw -g window-status-format "" diff --git a/bin/tmux-edit-history b/bin/tmux-edit-history index 0cd4532..6631110 100755 --- a/bin/tmux-edit-history +++ b/bin/tmux-edit-history @@ -1,4 +1,4 @@ #!/usr/bin/env bash set -eo pipefail -_file=$(fre --store_name edit-history --sorted | exec fzf --no-sort) +_file=$(fre --store_name edit-history --sorted | exec fzf --no-sort --preview "bat {}" --preview-window=down,70%,wrap,border-top --color=bg+:16,fg+:49,pointer:49 --layout=reverse "--bind=alt-e:become(tmux-edit-helper)") [ -n "$_file" ] && exec tmux-edit-helper "$_file" diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper index 393deeb..9370832 100755 --- a/bin/tmux-hx-helper +++ b/bin/tmux-hx-helper @@ -8,10 +8,10 @@ PATH="$HOME/bin:$PATH" if [ -n "$1" ]; then _file=$(readlink -f "$@") else - FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} + FZF=${FZF:-"fzf-tmux -p 90%,90% -y 0"} _root=$(git rev-parse --show-toplevel 2>/dev/null || pwd) _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) + _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort --preview "bat {}" --preview-window=bottom,70%,border-top --color=bg+:16,fg+:49,pointer:49 --layout=reverse "--bind=alt-e:become(tmux-edit-history)") _file="${_root}/${_file}" fre --store_name "$_store" --add "$_file" fi From 9c7fa60c20790f5ef2d452aae0cd585eb6e3026d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 13:08:03 +0200 Subject: [PATCH 226/656] bat: add catpuccin color theme --- .config/bat/config | 2 +- .config/bat/themes/Catppuccin Mocha.tmTheme | 2021 +++++++++++++++++++ 2 files changed, 2022 insertions(+), 1 deletion(-) create mode 100644 .config/bat/themes/Catppuccin Mocha.tmTheme diff --git a/.config/bat/config b/.config/bat/config index 609fc6e..d5f2441 100644 --- a/.config/bat/config +++ b/.config/bat/config @@ -1,3 +1,3 @@ --italic-text=always --plain ---theme=ansi +--theme="Catppuccin Mocha" diff --git a/.config/bat/themes/Catppuccin Mocha.tmTheme b/.config/bat/themes/Catppuccin Mocha.tmTheme new file mode 100644 index 0000000..364617b --- /dev/null +++ b/.config/bat/themes/Catppuccin Mocha.tmTheme @@ -0,0 +1,2021 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>name</key> + <string>Catppuccin Mocha</string> + <key>semanticClass</key> + <string>theme.dark.catppuccin-mocha</string> + <key>uuid</key> + <string>627ce890-fabb-4d39-9819-7be71f4bdca7</string> + <key>author</key> + <string>Catppuccin Org</string> + <key>colorSpaceName</key> + <string>sRGB</string> + <key>settings</key> + <array> + <dict> + <key>settings</key> + <dict> + <key>background</key> + <string>#1e1e2e</string> + <key>foreground</key> + <string>#cdd6f4</string> + <key>caret</key> + <string>#f5e0dc</string> + <key>lineHighlight</key> + <string>#cdd6f412</string> + <key>misspelling</key> + <string>#f38ba8</string> + <key>accent</key> + <string>#cba6f7</string> + <key>selection</key> + <string>#9399b240</string> + <key>activeGuide</key> + <string>#45475a</string> + <key>findHighlight</key> + <string>#3e5767</string> + <key>gutterForeground</key> + <string>#7f849c</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Basic text & variable names (incl. leading punctuation)</string> + <key>scope</key> + <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Parentheses, Brackets, Braces</string> + <key>scope</key> + <string>punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comments</string> + <key>scope</key> + <string>comment, punctuation.definition.comment</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#6c7086</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>string, punctuation.definition.string</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>constant.character.escape</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Booleans, constants, numbers</string> + <key>scope</key> + <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.tag.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Punctuation</string> + <key>scope</key> + <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes</string> + <key>scope</key> + <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum</string> + <key>scope</key> + <string>entity.name.enum</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Enum member</string> + <key>scope</key> + <string>meta.enum variable.other.readwrite, variable.other.enummember</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>meta.property.object</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Types</string> + <key>scope</key> + <string>meta.type, meta.type-alias, support.type, entity.name.type</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorators</string> + <key>scope</key> + <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter, meta.function.parameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Built-ins</string> + <key>scope</key> + <string>constant.language, support.function.builtin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>entity.other.attribute-name.documentation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Preprocessor directives</string> + <key>scope</key> + <string>keyword.control.directive, punctuation.definition.directive</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Type parameters</string> + <key>scope</key> + <string>punctuation.definition.typeparameters</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Namespaces</string> + <key>scope</key> + <string>entity.name.namespace</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Property names (left hand assignments in json/yaml/css)</string> + <key>scope</key> + <string>support.type.property-name.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>This/Self keyword</string> + <key>scope</key> + <string>variable.language.this, variable.language.this punctuation.definition.variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Object properties</string> + <key>scope</key> + <string>variable.object.property</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>String template interpolation</string> + <key>scope</key> + <string>string.template variable, string variable</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>`new` as bold</string> + <key>scope</key> + <string>keyword.operator.new</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ extern keyword</string> + <key>scope</key> + <string>storage.modifier.specifier.extern.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ scope resolution</string> + <key>scope</key> + <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ doc keywords</string> + <key>scope</key> + <string>storage.type.class.doxygen</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>C++ operators</string> + <key>scope</key> + <string>storage.modifier.reference.cpp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# Interpolated Strings</string> + <key>scope</key> + <string>meta.interpolation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>C# xml-style docs</string> + <key>scope</key> + <string>comment.block.documentation.cs</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Classes, reflecting the className color in JSX</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Operators</string> + <key>scope</key> + <string>punctuation.separator.operator.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Pseudo classes</string> + <key>scope</key> + <string>source.css entity.other.attribute-name.pseudo-class</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css constant.other.unicode-range</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.css variable.parameter.url</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS vendored property names</string> + <key>scope</key> + <string>support.type.vendored.property-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Less/SCSS right-hand variables (@/$-prefixed)</string> + <key>scope</key> + <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS variables (--prefixed)</string> + <key>scope</key> + <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Percentage values, styled the same as numbers</string> + <key>scope</key> + <string>keyword.other.unit.percentage.css</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>CSS Attribute selectors, styled the same as strings</string> + <key>scope</key> + <string>source.css meta.attribute-selector</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML keys, other left-hand assignments</string> + <key>scope</key> + <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSON/YAML constants</string> + <key>scope</key> + <string>constant.language.json, constant.language.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchors</string> + <key>scope</key> + <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML tables / ini groups</string> + <key>scope</key> + <string>support.type.property-name.table, entity.name.section.group-title.ini</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>TOML dates</string> + <key>scope</key> + <string>constant.other.time.datetime.offset.toml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML anchor puctuation</string> + <key>scope</key> + <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>YAML triple dashes</string> + <key>scope</key> + <string>entity.other.document.begin.yaml</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markup Diff</string> + <key>scope</key> + <string>markup.changed.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff</string> + <key>scope</key> + <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Inserted</string> + <key>scope</key> + <string>markup.inserted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Diff Deleted</string> + <key>scope</key> + <string>markup.deleted.diff</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv left-hand side assignments</string> + <key>scope</key> + <string>variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>dotenv reference to existing env variable</string> + <key>scope</key> + <string>string.quoted variable.other.env</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript functions</string> + <key>scope</key> + <string>support.function.builtin.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GDScript constants</string> + <key>scope</key> + <string>constant.language.gdscript</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Comment keywords</string> + <key>scope</key> + <string>comment meta.annotation.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>go:embed, go:build, etc.</string> + <key>scope</key> + <string>comment meta.annotation.parameters.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Go constants (nil, true, false)</string> + <key>scope</key> + <string>constant.language.go</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL variables</string> + <key>scope</key> + <string>variable.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL aliases</string> + <key>scope</key> + <string>string.unquoted.alias.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL enum members</string> + <key>scope</key> + <string>constant.character.enum.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>GraphQL field in types</string> + <key>scope</key> + <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML DOCTYPE as keyword</string> + <key>scope</key> + <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML-like <tags/></string> + <key>scope</key> + <string>entity.name.tag</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Special characters like &amp;</string> + <key>scope</key> + <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>HTML/XML tag attribute values</string> + <key>scope</key> + <string>entity.other.attribute-name</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Components</string> + <key>scope</key> + <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Annotations</string> + <key>scope</key> + <string>punctuation.definition.annotation, storage.type.annotation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java enums</string> + <key>scope</key> + <string>constant.other.enum.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Java imports</string> + <key>scope</key> + <string>storage.modifier.import.java</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Javadoc</string> + <key>scope</key> + <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Exported Variable</string> + <key>scope</key> + <string>meta.export variable.other.readwrite.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JS/TS constants & properties</string> + <key>scope</key> + <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc; these are mainly params, so styled as such</string> + <key>scope</key> + <string>variable.other.jsdoc, comment.block.documentation variable.other</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>JSDoc keywords</string> + <key>scope</key> + <string>storage.type.class.jsdoc</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>scope</key> + <string>support.type.object.console.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Node constants as keywords (module, etc.)</string> + <key>scope</key> + <string>support.constant.node, support.type.object.module.js</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>implements as keyword</string> + <key>scope</key> + <string>storage.modifier.implements</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Builtin types</string> + <key>scope</key> + <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>variable.parameter.generic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arrow functions</string> + <key>scope</key> + <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> + <key>scope</key> + <string>punctuation.decorator.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Extra JS/TS keywords</string> + <key>scope</key> + <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia macros</string> + <key>scope</key> + <string>support.function.macro.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia language constants (true, false)</string> + <key>scope</key> + <string>constant.language.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Julia other constants (these seem to be arguments inside arrays)</string> + <key>scope</key> + <string>constant.other.symbol.julia</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX preamble</string> + <key>scope</key> + <string>text.tex keyword.control.preamble</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX be functions</string> + <key>scope</key> + <string>text.tex support.function.be</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>LaTeX math</string> + <key>scope</key> + <string>constant.other.general.math.tex</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f2cdcd</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring keywords</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Lua docstring variables</string> + <key>scope</key> + <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.bold</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>bold</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.italic</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.strikethrough</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6adc8</string> + <key>fontStyle</key> + <string>strikethrough</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown auto links</string> + <key>scope</key> + <string>punctuation.definition.link, markup.underline.link</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown links</string> + <key>scope</key> + <string>text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b4befe</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown code spans</string> + <key>scope</key> + <string>punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backtick language identifier</string> + <key>scope</key> + <string>fenced_code.block.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown triple backticks</string> + <key>scope</key> + <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#9399b2</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown quotes</string> + <key>scope</key> + <string>markup.quote, punctuation.definition.quote.begin</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown separators</string> + <key>scope</key> + <string>meta.separator.markdown</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Markdown list bullets</string> + <key>scope</key> + <string>punctuation.definition.list.begin.markdown, markup.list.bullet</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix attribute names</string> + <key>scope</key> + <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix parameter names</string> + <key>scope</key> + <string>variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix interpolated parameter names</string> + <key>scope</key> + <string>meta.embedded variable.parameter.name.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#b4befe</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Nix paths</string> + <key>scope</key> + <string>string.unquoted.path.nix</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Attributes</string> + <key>scope</key> + <string>support.attribute.builtin, meta.attribute.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Parameters (needed for the leading dollar sign)</string> + <key>scope</key> + <string>meta.function.parameters.php punctuation.definition.variable.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP Constants (null, __FILE__, etc.)</string> + <key>scope</key> + <string>constant.language.php</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHP functions</string> + <key>scope</key> + <string>text.html.php support.function</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>PHPdoc keywords</string> + <key>scope</key> + <string>keyword.other.phpdoc.php</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> + <key>scope</key> + <string>support.variable.magic.python, meta.function-call.arguments.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python double underscore functions</string> + <key>scope</key> + <string>support.function.magic.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python `self` keyword</string> + <key>scope</key> + <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python keyword flow/logical (for ... in)</string> + <key>scope</key> + <string>keyword.control.flow.python, keyword.operator.logical.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python storage type</string> + <key>scope</key> + <string>storage.type.function.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function support</string> + <key>scope</key> + <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function calls</string> + <key>scope</key> + <string>meta.function-call.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python function decorators</string> + <key>scope</key> + <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python placeholder reset to normal string</string> + <key>scope</key> + <string>constant.character.format.placeholder.other.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python exception & builtins such as exit()</string> + <key>scope</key> + <string>support.type.exception.python, support.function.builtin.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>entity.name.type</string> + <key>scope</key> + <string>support.type.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>python constants (True/False)</string> + <key>scope</key> + <string>constant.language.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Arguments accessed later in the function body</string> + <key>scope</key> + <string>meta.indexed-name.python, meta.item-access.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python f-strings/binary/unicode storage types</string> + <key>scope</key> + <string>storage.type.string.python</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Python type hints</string> + <key>scope</key> + <string>meta.function.parameters.python</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex string begin/end in JS/TS</string> + <key>scope</key> + <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex anchors (^, $)</string> + <key>scope</key> + <string>keyword.control.anchor.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex regular string match</string> + <key>scope</key> + <string>string.regexp.ts</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> + <key>scope</key> + <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#a6e3a1</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character class []</string> + <key>scope</key> + <string>punctuation.definition.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex character classes (\d, \w, \s)</string> + <key>scope</key> + <string>constant.other.character-class.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex range</string> + <key>scope</key> + <string>constant.other.character-class.range.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5e0dc</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex quantifier</string> + <key>scope</key> + <string>keyword.operator.quantifier.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex constant/numeric</string> + <key>scope</key> + <string>constant.character.numeric.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> + <key>scope</key> + <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute</string> + <key>scope</key> + <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust attribute strings</string> + <key>scope</key> + <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> + <key>settings</key> + <dict> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust keyword</string> + <key>scope</key> + <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust u/i32, u/i64, etc.</string> + <key>scope</key> + <string>entity.name.type.numeric.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + <key>fontStyle</key> + <string/> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust generic</string> + <key>scope</key> + <string>meta.generic.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust impl</string> + <key>scope</key> + <string>entity.name.impl.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust module</string> + <key>scope</key> + <string>entity.name.module.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust trait</string> + <key>scope</key> + <string>entity.name.trait.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust struct</string> + <key>scope</key> + <string>storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust union</string> + <key>scope</key> + <string>entity.name.union.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f9e2af</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust enum member</string> + <key>scope</key> + <string>meta.enum.rust storage.type.source.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust macro</string> + <key>scope</key> + <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust lifetime</string> + <key>scope</key> + <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust string formatting</string> + <key>scope</key> + <string>string.quoted.double.rust constant.other.placeholder.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust return type generic</string> + <key>scope</key> + <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust functions</string> + <key>scope</key> + <string>meta.function.call.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust angle brackets</string> + <key>scope</key> + <string>punctuation.brackets.angle.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89dceb</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust constants</string> + <key>scope</key> + <string>constant.other.caps.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust function parameters</string> + <key>scope</key> + <string>meta.function.definition.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#eba0ac</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust closure variables</string> + <key>scope</key> + <string>meta.function.call.rust variable.other.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust self</string> + <key>scope</key> + <string>variable.language.self.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Rust metavariable names</string> + <key>scope</key> + <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang</string> + <key>scope</key> + <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell shebang command</string> + <key>scope</key> + <string>comment.line.shebang constant.language</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command</string> + <key>scope</key> + <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f38ba8</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell interpolated command variable</string> + <key>scope</key> + <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#fab387</string> + <key>fontStyle</key> + <string>italic</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#94e2d5</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell EOF</string> + <key>scope</key> + <string>entity.name.tag.heredoc.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>name</key> + <string>Shell quoted variable</string> + <key>scope</key> + <string>string.quoted.double.shell variable.other.normal.shell</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cdd6f4</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#cba6f7</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.commands.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#89b4fa</string> + </dict> + </dict> + <dict> + <key>scope</key> + <string>markup.heading.env.man</string> + <key>settings</key> + <dict> + <key>foreground</key> + <string>#f5c2e7</string> + </dict> + </dict> + </array> + </dict> +</plist> \ No newline at end of file From 870ff77a1e71e43d60096171e34bee74e638e385 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 15:41:02 +0200 Subject: [PATCH 227/656] fish: fancy colors for C-g --- .config/fish/config.fish | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 0ef3b13..a915c48 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -25,6 +25,8 @@ if status is-interactive ## Utilities + export EDITOR=helix + function tree eza --tree --color=always $argv | bat --wrap=never end @@ -40,7 +42,7 @@ if status is-interactive end function jump - set _dir $(fre --sorted | fzf-tmux --no-sort -p 90%,40% -y 0) + set _dir $(fre --sorted | fzf-tmux --no-sort -p 90%,40% -y 0 -- --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --layout=reverse) [ -n "$_dir" ] && pushd $_dir >>/dev/null commandline -f repaint end From 558c7936b1d556e876e8e96f0bcbf37674d9c035 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 23:36:31 +0200 Subject: [PATCH 228/656] tmux: ensure env vars are set in helpers --- bin/tmux-hx-helper | 22 +++++++++++++++++++++- bin/tmux-nvim-helper | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper index 9370832..56bdb95 100755 --- a/bin/tmux-hx-helper +++ b/bin/tmux-hx-helper @@ -20,4 +20,24 @@ fre --store_name "edit-history" --add "$_file" (tmux select-window -t helix && tmux send-keys -t helix Escape && -tmux send-keys -t helix ":open ${_file}" Enter) || tmux new-window -t 42 -n helix helix "${_file}" +tmux send-keys -t helix ":open ${_file}" Enter) || tmux new-window -t 42 -n helix \ + -e "AR=$AR" \ + -e "AS=$AS" \ + -e "BUILD_COMMAND=$BUILD_COMMAND" \ + -e "CC=$CC" \ + -e "CXX=$CXX" \ + -e "GOFLAGS=$GOFLAGS" \ + -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + -e "LC_ALL=$LC_ALL" \ + -e "LD=$LD" \ + -e "NM=$NM" \ + -e "NM=$NM" \ + -e "OBJCOPY=$OBJCOPY" \ + -e "OBJDUMP=$OBJDUMP" \ + -e "PATH=$PATH" \ + -e "RANLIB=$RANLIB" \ + -e "READELF=$READELF" \ + -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ + -e "SIZE=$SIZE" \ + -e "STRIP=$STRIP" \ + helix "${_file}" diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper index 033e05b..4b35744 100755 --- a/bin/tmux-nvim-helper +++ b/bin/tmux-nvim-helper @@ -23,7 +23,7 @@ _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" (tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" # nvim is not running/listening on remote socket, so start it. -tmux new-window -S -t 1001-n nvim \ +tmux new-window -S -t 43 -n nvim \ -e "AR=$AR" \ -e "AS=$AS" \ -e "BUILD_COMMAND=$BUILD_COMMAND" \ From c522ff99b21cfe748a350da57ff023318c10b75a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 23:36:59 +0200 Subject: [PATCH 229/656] nvim: colors --- .config/nvim/lazy-lock.json | 15 ++++++++------- .config/nvim/lua/plugins/colorscheme.lua | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 609dc42..783ae74 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -2,7 +2,8 @@ "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, - "catppuccin": { "branch": "main", "commit": "c3572a968a79b64bd0ef16f2c3e93014f112e66d" }, + "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, + "catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, @@ -27,28 +28,28 @@ "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.colors": { "branch": "main", "commit": "f64963332f7fcb45c8dfcc243f682a9a0fb9935d" }, "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, - "neodev.nvim": { "branch": "main", "commit": "6a533ed9d3435dcaa456380d833ea04da37ea2ed" }, + "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "none-ls.nvim": { "branch": "main", "commit": "18910d09d21d7df339805343bfe4a2b2e41c057b" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "97dc716fc914c46577a4f254035ebef1aa72558a" }, + "nvim-cmp": { "branch": "main", "commit": "7aa3f71932c419d716290e132cacbafbaf5bea1c" }, "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, "nvim-dap-go": { "branch": "main", "commit": "36abe1d320cb61bfdf094d4e0fe815ef58f2302a" }, "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, - "nvim-lspconfig": { "branch": "master", "commit": "6e5c78ebc9936ca74add66bda22c566f951b6ee5" }, + "nvim-lspconfig": { "branch": "master", "commit": "f4619ab31fc4676001ea05ae8200846e6e7700c7" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" }, + "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, - "nvim-treesitter": { "branch": "master", "commit": "f84887230af1f7581e29ccd5d93f59d98058d565" }, + "nvim-treesitter": { "branch": "master", "commit": "6e0b031ebb212e7082bc3007f8b9614cb393465c" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, @@ -59,7 +60,7 @@ "rustaceanvim": { "branch": "master", "commit": "b1433cb70569b888d26a26232da93fdbc76cb4a8" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "b22e6f6896cd64b109bd0807a24098d225d5fb49" }, + "telescope.nvim": { "branch": "master", "commit": "1bb28df3cfc241b961331f00dcb8d5b45fe3e4f0" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 69ab246..b202a60 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,5 +1,18 @@ return { + { + "p00f/alabaster.nvim", + url = "https://git.sr.ht/~p00f/alabaster.nvim", + lazy = false, + }, + --[=====[ + { + "LazyVim/LazyVim", + opts = { + colorscheme = "alabaster", + }, + }, + { "echasnovski/mini.colors", version = false }, { @@ -128,8 +141,11 @@ return { Group.link("NavicIconsTypeParameter", groups.NavicIcon) Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) - Color.new("NormalFloatBg", "#335a88", styles.nocombine) + -- Color.new("NormalFloatBg", "#335a88", styles.nocombine) + Color.new("NormalFloatBg", "#242d38", styles.nocombine) + Color.new("NormalFloatBorder", "#00d992", styles.nocombine) Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) + Group.new("FloatBorder", colors.NormalFloatBorder, colors.NormalFloatBg) Color.new("PmenuSelFg", "#f3d390", styles.nocombine) Color.new("PmenuSelBg", "#335a88", styles.nocombine) From 348a87f0492ee80df8b27b64d95772c7ead40a32 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 1 Apr 2024 23:37:35 +0200 Subject: [PATCH 230/656] bat: linux-grey default text --- .config/bat/themes/Catppuccin Mocha.tmTheme | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/bat/themes/Catppuccin Mocha.tmTheme b/.config/bat/themes/Catppuccin Mocha.tmTheme index 364617b..332cc98 100644 --- a/.config/bat/themes/Catppuccin Mocha.tmTheme +++ b/.config/bat/themes/Catppuccin Mocha.tmTheme @@ -47,7 +47,7 @@ <key>settings</key> <dict> <key>foreground</key> - <string>#cdd6f4</string> + <string>#cccccc</string> </dict> </dict> <dict> @@ -2018,4 +2018,4 @@ </dict> </array> </dict> -</plist> \ No newline at end of file +</plist> From 6bc7f9e74286f0c98783fb2d12fa7284820b6cd1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 4 Apr 2024 21:48:45 +0200 Subject: [PATCH 231/656] git: use ssh commit signing --- .config/git/allowed_signers | 3 +++ .gitconfig | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 .config/git/allowed_signers diff --git a/.config/git/allowed_signers b/.config/git/allowed_signers new file mode 100644 index 0000000..42c52d6 --- /dev/null +++ b/.config/git/allowed_signers @@ -0,0 +1,3 @@ +dln@arity.se sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= +daniel@arity.se sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= +dln@shelman.io sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= diff --git a/.gitconfig b/.gitconfig index 7c99bef..f6ad666 100644 --- a/.gitconfig +++ b/.gitconfig @@ -10,6 +10,7 @@ compression = 3 [user] useConfigOnly = true +signingKey = key::sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= [column] ui = auto @@ -126,7 +127,13 @@ diffFilter = delta --color-only --features=interactive helper = store [commit] -gpgsign = false +gpgsign = true + +[gpg] +format = ssh + +[gpg "ssh"] +allowedSignersFile = ~/.config/git/allowed_signers [user] name = Daniel Lundin From eefe6eb9a1794fca66c02ec904ca73d816477e2f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 4 Apr 2024 22:55:35 +0200 Subject: [PATCH 232/656] git: autoselect first -sk ssh key from agent for signing --- .config/git/signing-key.sh | 3 +++ .gitconfig | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100755 .config/git/signing-key.sh diff --git a/.config/git/signing-key.sh b/.config/git/signing-key.sh new file mode 100755 index 0000000..aed9246 --- /dev/null +++ b/.config/git/signing-key.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +set -euo pipefail +ssh-add -L | awk '/^sk-ssh/ { print "key::" $1 " " $2 }' diff --git a/.gitconfig b/.gitconfig index f6ad666..5bf2e93 100644 --- a/.gitconfig +++ b/.gitconfig @@ -10,7 +10,7 @@ compression = 3 [user] useConfigOnly = true -signingKey = key::sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= +# signingKey = key::sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= [column] ui = auto @@ -134,6 +134,7 @@ format = ssh [gpg "ssh"] allowedSignersFile = ~/.config/git/allowed_signers +defaultKeyCommand = /home/dln/.config/git/signing-key.sh [user] name = Daniel Lundin From 0afb5698dd9938ba6fbfde41e18a9e7f50ad5cb3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 4 Apr 2024 23:10:46 +0200 Subject: [PATCH 233/656] git: clean up .gitconfig --- .gitconfig | 32 +------------------------------- 1 file changed, 1 insertion(+), 31 deletions(-) diff --git a/.gitconfig b/.gitconfig index 5bf2e93..3a1dea7 100644 --- a/.gitconfig +++ b/.gitconfig @@ -10,7 +10,6 @@ compression = 3 [user] useConfigOnly = true -# signingKey = key::sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= [column] ui = auto @@ -50,36 +49,12 @@ copr = "!f() { \ && git checkout --detach FETCH_HEAD \ ;};f" -gerrit-clone = "!f() { \ - git clone ssh://gerrit-ssh.shelman.io:2222/$1 \ - && (cd $1 && mkdir -p `git rev-parse --git-dir`/hooks/ \ - && scp -O -P 2222 gerrit-ssh.shelman.io:hooks/commit-msg `git rev-parse --git-dir`/hooks/commit-msg \ - && chmod +x `git rev-parse --git-dir`/hooks/commit-msg \ - && git branchless init); }; f" - -gerrit-switch = !(ssh `git remote get-url origin | cut -d / -f -3` gerrit query --format=JSON --current-patch-set status:open project:`git remote get-url origin | cut -d / -f 4-` \ - | jq -sr 'map(select(.number) | \"\\(.number) @ \\(.currentPatchSet.ref) - \\(.subject)\")|join(\"\\n\")' \ - | fzf +s -d ' ' \ - | cut -d ' ' -f3 \ - | xargs -n1 git fetch origin) && git checkout FETCH_HEAD - -gerrit-push = !git push origin HEAD:refs/for/main -gerrit-push-wip = !git push origin HEAD:refs/for/main%wip -gerrit-push-ready = !git push origin HEAD:refs/for/main%ready -gerrit-replace = !git branchless amend && git push origin HEAD:refs/for/main -gerrit-config = !git fetch origin refs/meta/config:refs/remotes/origin/meta/config && git checkout FETCH_HEAD -gerrit-config-push = !git push origin HEAD:refs/meta/config -gp = gerrit-push -gpw = gerrit-push-wip -gpr = gerrit-push-ready - ll = log --graph --date=relative --topo-order --pretty='format:%C(yellow)%h%C(yellow)%d %Cblue%ar %Cgreenby %an%Creset -- %s' lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' --all guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/ -identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config user.signingkey \"$(git config user.$1.signingkey)\"; :" [color] ui = auto @@ -157,17 +132,12 @@ concurrenttransfers = 32 [diff] tool = difft - # external = difft [difftool] prompt = false [difftool "difft"] - cmd = difft --display inline "$LOCAL" "$REMOTE" -[scalar] - repo = /tmp/k2/src -[maintenance] - repo = /tmp/k2/src + cmd = difft --color=always --display inline "$LOCAL" "$REMOTE" | bat [fetch] showForcedUpdates = true [tag] From 7ad9868c208a8aafd6564dc12182de1c091c8ffc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 5 Apr 2024 20:30:39 +0200 Subject: [PATCH 234/656] tmux: gnome-style app-shortcuts for switching panes --- .tmux.conf | 30 +++++++++++------------------- bin/tmux-hx-helper | 45 +++++++++++++++++++++++---------------------- bin/tmux-shortcut | 20 ++++++++++++++++++++ 3 files changed, 54 insertions(+), 41 deletions(-) create mode 100755 bin/tmux-shortcut diff --git a/.tmux.conf b/.tmux.conf index 9432e59..7f504be 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -39,16 +39,17 @@ bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor- bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up bind -n M-Up select-pane -U bind -n M-Down select-pane -D -bind -n M-1 select-window -t 42 -bind -n M-2 select-window -t 2 -bind -n M-3 select-window -t 3 -bind -n M-4 select-window -t 4 -bind -n M-5 select-window -t 5 -bind -n M-6 select-window -t 6 -bind -n M-7 select-window -t 7 -bind -n M-8 select-window -t 8 -bind -n M-9 select-window -t 9 -bind -n M-0 select-window -t 10 +bind -n M-1 run-shell -b "tmux-shortcut 1 helix" +bind -n M-2 run-shell -b "tmux-shortcut 2" +bind -n M-3 run-shell -b "tmux-shortcut 3" +bind -n M-4 run-shell -b "tmux-shortcut 4" +bind -n M-5 run-shell -b "tmux-shortcut 5" +bind -n M-6 run-shell -b "tmux-shortcut 6" +bind -n M-7 run-shell -b "tmux-shortcut 7" +bind -n M-8 run-shell -b "tmux-shortcut 8" +bind -n M-9 run-shell -b "tmux-shortcut 9" +bind -n M-0 run-shell -b "tmux-shortcut 10" + bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m bind C-o send-keys C-o bind r source-file ~/.tmux.conf @@ -85,14 +86,5 @@ set -g set-titles on set -g set-titles-string "#H - #T" new -s0 -n 1 -new-window -n 2 -new-window -n 3 -new-window -n 4 -new-window -n 5 -new-window -n 6 -new-window -n 7 -new-window -n 8 -new-window -n 9 -new-window -n 0 # vim:set ft=tmux: diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper index 56bdb95..de73970 100755 --- a/bin/tmux-hx-helper +++ b/bin/tmux-hx-helper @@ -18,26 +18,27 @@ fi fre --store_name "edit-history" --add "$_file" -(tmux select-window -t helix && -tmux send-keys -t helix Escape && -tmux send-keys -t helix ":open ${_file}" Enter) || tmux new-window -t 42 -n helix \ - -e "AR=$AR" \ - -e "AS=$AS" \ - -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "CC=$CC" \ - -e "CXX=$CXX" \ - -e "GOFLAGS=$GOFLAGS" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - -e "LC_ALL=$LC_ALL" \ - -e "LD=$LD" \ - -e "NM=$NM" \ - -e "NM=$NM" \ - -e "OBJCOPY=$OBJCOPY" \ - -e "OBJDUMP=$OBJDUMP" \ - -e "PATH=$PATH" \ - -e "RANLIB=$RANLIB" \ - -e "READELF=$READELF" \ - -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ - -e "SIZE=$SIZE" \ - -e "STRIP=$STRIP" \ +tmux-shortcut 1 env \ + "AR=$AR" \ + "AS=$AS" \ + "BUILD_COMMAND=$BUILD_COMMAND" \ + "CC=$CC" \ + "CXX=$CXX" \ + "GOFLAGS=$GOFLAGS" \ + "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ + "LC_ALL=$LC_ALL" \ + "LD=$LD" \ + "NM=$NM" \ + "NM=$NM" \ + "OBJCOPY=$OBJCOPY" \ + "OBJDUMP=$OBJDUMP" \ + "PATH=$PATH" \ + "RANLIB=$RANLIB" \ + "READELF=$READELF" \ + "RUST_SRC_PATH=$RUST_SRC_PATH" \ + "SIZE=$SIZE" \ + "STRIP=$STRIP" \ helix "${_file}" +sleep 0.1 +tmux send-keys Escape && + tmux send-keys ":open ${_file}" Enter diff --git a/bin/tmux-shortcut b/bin/tmux-shortcut new file mode 100755 index 0000000..536ab54 --- /dev/null +++ b/bin/tmux-shortcut @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -eo pipefail + +nr="@app-${1}" +shift + +pane="$(tmux show -vg ${nr} || true)" +if [[ -n "${pane}" ]] && tmux has-session -t "${pane}" ; then + if tmux list-panes -F "#{pane_id}" | grep "^${pane}\$" >>/dev/null ; then + # Pane is on this window. Focus it and exit. + exec tmux select-pane -t "${pane}" + fi +else + # App pane does not exist, so create a new window. + pane=$(tmux new-window -d -P -F '#{pane_id}' "$@") + tmux set -g "${nr}" "${pane}" +fi + +# Swap active pane for app +tmux swap-pane -s "${pane}" From 478d0e33d05348a7e07cb25c991a00552dfba5ea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 6 Apr 2024 12:03:43 +0200 Subject: [PATCH 235/656] git: clean up config --- .gitconfig | 168 +++++++++++++++++++++++++++-------------------------- 1 file changed, 87 insertions(+), 81 deletions(-) diff --git a/.gitconfig b/.gitconfig index 3a1dea7..aed0491 100644 --- a/.gitconfig +++ b/.gitconfig @@ -1,47 +1,22 @@ -[core] -excludesfile = "~/.gitignore" -pager = delta -compression = 3 -looseCompression = 3 - -[pack] -threads = 0 -compression = 3 - -[user] -useConfigOnly = true - -[column] -ui = auto - -[push] -default = tracking - -[branch "main"] -rebase = true - -[branch "master"] -rebase = true - [alias] b = branch -va cl = clone --filter=blob:none +co = checkout d = diff --stat -p -C --color-words -dg = diff --stat -p -C ds = diff --staged --stat -p -C --color-words -sh = show --stat -p -C --color-words dt = difftool patch = !git --no-pager diff --no-color -co = checkout +pullr = pull --rebase --autostash +sh = show --stat -p -C --color-words st = status -sb -pullr = pull --rebase t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(color:noitalic) %(refname:short)' +new = !git fetch -u origin main:main && git branchless switch -d origin/main sl = branchless smartlog sync = branchless sync sw = branchless switch s = branchless switch -i -new = !git fetch -u origin main:main && git branchless switch -d origin/main + copr = "!f() { \ pr=$1 \ && test -n \"$pr\" || pr=`tea pr list -o simple | fzf --bind 'enter:become(echo {+1})'` \ @@ -55,54 +30,87 @@ lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/ - -[color] -ui = auto -branch = auto -diff = auto -status = auto - [apply] whitespace = nowarn [blame] date = relative +[branch "main"] +rebase = true + +[branch "master"] +rebase = true + +[color] +branch = auto +diff = auto +status = auto +ui = auto + +[column] +ui = auto + +[core] +compression = 3 +excludesfile = "~/.gitignore" +looseCompression = 3 +pager = delta + [delta] ; # syntax-theme = GitHub - file-style = bold "#ffff66" "#333300" - file-transformation = "s/$/ ══ /" - file-decoration-style=none - file-added-label = " ══" - file-modified-label = " ══" - file-removed-label = " ══" - file-renamed-label = " ══" - hunk-header-decoration-style=none - ; hunk-header-decoration-style='#99eeff' - hunk-header-file-style = bold "#66ddff" - hunk-header-style = line-number bold "#99eeff" "#001133" - hunk-header-line-number-style = bold "#66ccff" - hunk-label-style = bold "#66ccff" - hunk-label = " " - line-numbers = true - max-line-distance = 0.9 - - - -[hub] -protocol = git +file-added-label = " ══" +file-decoration-style=none +file-modified-label = " ══" +file-removed-label = " ══" +file-renamed-label = " ══" +file-style = bold "#ffff66" "#333300" +file-transformation = "s/$/ ══ /" +hunk-header-decoration-style=none +hunk-header-file-style = bold "#66ddff" +hunk-header-line-number-style = bold "#66ccff" +hunk-header-style = line-number bold "#99eeff" "#001133" +hunk-label = " " +hunk-label-style = bold "#66ccff" +line-numbers = true +max-line-distance = 0.9 [http] cookiefile = /home/dln/.gitcookies +[hub] +protocol = git + [interactive] diffFilter = delta --color-only --features=interactive +[commit] +gpgsign = true +verbose = true + [credential] helper = store -[commit] -gpgsign = true +[diff] +algorithm = histogram +tool = difft + +[difftool] +prompt = false + +[difftool "difft"] +cmd = difft --color=always --display inline "$LOCAL" "$REMOTE" | bat + +[fetch] +prune = true +prunetags = true +showForcedUpdates = true + +[filter "lfs"] +clean = git-lfs clean -- %f +process = git-lfs filter-process +required = true +smudge = git-lfs smudge -- %f [gpg] format = ssh @@ -111,34 +119,32 @@ format = ssh allowedSignersFile = ~/.config/git/allowed_signers defaultKeyCommand = /home/dln/.config/git/signing-key.sh -[user] -name = Daniel Lundin -email = dln@arity.se - [init] defaultBranch = main -; [url "git@github.com:"] -; insteadOf = https://github.com/ - [lfs] concurrenttransfers = 32 -[filter "lfs"] - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true +[merge] +conflictstyle = zdiff3 -[diff] - tool = difft +[pack] +compression = 3 +threads = 0 -[difftool] - prompt = false +[push] +default = tracking + +[rebase] +autosquash = true + +[rerere] +enabled = true -[difftool "difft"] - cmd = difft --color=always --display inline "$LOCAL" "$REMOTE" | bat -[fetch] - showForcedUpdates = true [tag] - sort = -v:refname +sort = -v:refname + +[user] +email = dln@arity.se +name = Daniel Lundin +useConfigOnly = true From bce5c26f58ff5ec855955b49e4e94d6e81dfd837 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 6 Apr 2024 23:43:14 +0200 Subject: [PATCH 236/656] git: fancy log --- .gitconfig | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitconfig b/.gitconfig index aed0491..12b3341 100644 --- a/.gitconfig +++ b/.gitconfig @@ -7,7 +7,7 @@ ds = diff --staged --stat -p -C --color-words dt = difftool patch = !git --no-pager diff --no-color pullr = pull --rebase --autostash -sh = show --stat -p -C --color-words +sh = show --stat -p -C --color-words --show-signature st = status -sb t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(color:noitalic) %(refname:short)' @@ -24,8 +24,9 @@ copr = "!f() { \ && git checkout --detach FETCH_HEAD \ ;};f" -ll = log --graph --date=relative --topo-order --pretty='format:%C(yellow)%h%C(yellow)%d %Cblue%ar %Cgreenby %an%Creset -- %s' -lla = log --graph --date=relative --topo-order --pretty='format:%Cgreen%h %Cblue%ar %Credby %an%Creset -- %s' --all +g = graph -S -m simple -s round +ll = "log --first-parent --topo-order --pretty='format:%x1B[1;2;3;38:2:127:114:88m%h%x1B[38:2:154:234:255m%d%Creset %x1B[3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" +lla = "log --graph --all --topo-order --pretty='format:%x1B[38:2:233:218:190m%h%x1B[38:2:154:234:255m%d%Creset %x1B[1;3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/ From 36a8248ef3bd82d24e86e3aa8e48be8dfffa4f12 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:35:03 +0200 Subject: [PATCH 237/656] tmux: revert back to window-switching for simplicity and speed --- .tmux.conf | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index 7f504be..289499c 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -39,16 +39,16 @@ bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor- bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up bind -n M-Up select-pane -U bind -n M-Down select-pane -D -bind -n M-1 run-shell -b "tmux-shortcut 1 helix" -bind -n M-2 run-shell -b "tmux-shortcut 2" -bind -n M-3 run-shell -b "tmux-shortcut 3" -bind -n M-4 run-shell -b "tmux-shortcut 4" -bind -n M-5 run-shell -b "tmux-shortcut 5" -bind -n M-6 run-shell -b "tmux-shortcut 6" -bind -n M-7 run-shell -b "tmux-shortcut 7" -bind -n M-8 run-shell -b "tmux-shortcut 8" -bind -n M-9 run-shell -b "tmux-shortcut 9" -bind -n M-0 run-shell -b "tmux-shortcut 10" +bind -n M-1 select-window -t 42 +bind -n M-2 select-window -t 2 +bind -n M-3 select-window -t 3 +bind -n M-4 select-window -t 4 +bind -n M-5 select-window -t 5 +bind -n M-6 select-window -t 6 +bind -n M-7 select-window -t 7 +bind -n M-8 select-window -t 8 +bind -n M-9 select-window -t 9 +bind -n M-0 select-window -t 10 bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m bind C-o send-keys C-o @@ -64,10 +64,10 @@ bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-d bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again -bind -n M-g display-popup -h '95%' -w '95%' -b rounded -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "gitui" -bind -n M-e display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-helper" -bind -n M-h display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -e FZF=fzf -E "~/bin/tmux-edit-history" -bind -n M-m display-popup -h '95%' -w '95%' -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{?pane_path,#{pane_path},#{pane_current_path}}' -E "~/bin/tmux-build-helper" +bind -n M-g display-popup -h '95%' -w '95%' -b rounded -d '#{pane_current_path}' -E "gitui" +bind -n M-e display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-helper" +bind -n M-h display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-history" +bind -n M-m display-popup -h '95%' -w '95%' -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -E "~/bin/tmux-build-helper" setw -g window-status-format "" @@ -86,5 +86,14 @@ set -g set-titles on set -g set-titles-string "#H - #T" new -s0 -n 1 +new-window -n 2 +new-window -n 3 +new-window -n 4 +new-window -n 5 +new-window -n 6 +new-window -n 7 +new-window -n 8 +new-window -n 9 +new-window -n 0 # vim:set ft=tmux: From 1b9788a00073b0ab60f3b3f264d5ece4e7f1693a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:35:43 +0200 Subject: [PATCH 238/656] switch back to nvim for now --- .config/fish/config.fish | 2 +- bin/tmux-edit-helper | 2 +- bin/tmux-hx-helper | 2 +- bin/tmux-nvim-helper | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index a915c48..1a8d08d 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -25,7 +25,7 @@ if status is-interactive ## Utilities - export EDITOR=helix + export EDITOR=nvim function tree eza --tree --color=always $argv | bat --wrap=never diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper index 90b21a9..cdf7994 120000 --- a/bin/tmux-edit-helper +++ b/bin/tmux-edit-helper @@ -1 +1 @@ -tmux-hx-helper \ No newline at end of file +tmux-nvim-helper \ No newline at end of file diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper index de73970..633150e 100755 --- a/bin/tmux-hx-helper +++ b/bin/tmux-hx-helper @@ -41,4 +41,4 @@ tmux-shortcut 1 env \ helix "${_file}" sleep 0.1 tmux send-keys Escape && - tmux send-keys ":open ${_file}" Enter + tmux send-keys ":open ${_file}" Enter ":reload" Enter diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper index 4b35744..9115fad 100755 --- a/bin/tmux-nvim-helper +++ b/bin/tmux-nvim-helper @@ -23,7 +23,7 @@ _nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" (tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" # nvim is not running/listening on remote socket, so start it. -tmux new-window -S -t 43 -n nvim \ +tmux new-window -S -t 42 -n nvim \ -e "AR=$AR" \ -e "AS=$AS" \ -e "BUILD_COMMAND=$BUILD_COMMAND" \ From f3aa4836284eb00c1a683c1f55260a617b263a88 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:36:06 +0200 Subject: [PATCH 239/656] git: fancy log alias ll formatting --- .gitconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitconfig b/.gitconfig index 12b3341..ac6ab3d 100644 --- a/.gitconfig +++ b/.gitconfig @@ -25,7 +25,7 @@ copr = "!f() { \ ;};f" g = graph -S -m simple -s round -ll = "log --first-parent --topo-order --pretty='format:%x1B[1;2;3;38:2:127:114:88m%h%x1B[38:2:154:234:255m%d%Creset %x1B[3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" +ll = "log --first-parent --topo-order --pretty='format:%Creset%x1B[1;3;38:2:127:114:88m%h %G? ┼%x1B[0;38:2:154:234:255m%d%Creset %x1B[3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁᠁᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" lla = "log --graph --all --topo-order --pretty='format:%x1B[38:2:233:218:190m%h%x1B[38:2:154:234:255m%d%Creset %x1B[1;3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" From 1fd76dd0f3dfb6b2b422f09ee9f4f1174ef8d9e4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:36:44 +0200 Subject: [PATCH 240/656] helix: styling --- .config/helix/config.toml | 27 +++- .config/helix/themes/sumi-e.toml | 245 +++++++++++++++---------------- 2 files changed, 148 insertions(+), 124 deletions(-) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index a239198..99d8310 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -7,6 +7,8 @@ cursorline = true color-modes = true auto-pairs = false popup-border = "all" +rulers = [80] +gutters = ["diagnostics", "line-numbers", "spacer", "diff", "spacer"] [editor.cursor-shape] insert = "bar" @@ -16,11 +18,34 @@ select = "underline" [editor.indent-guides] character = "│" # "╎" render = true +skip-levels = 1 + +[editor.statusline] +separator = "│" +mode.normal = " " +mode.insert = " " +mode.select = " " +left = ["spinner", "mode", "diagnostics"] +center = ["file-name", "file-encoding"] +right = ["version-control", "separator", "selections", "register", "separator", "position"] [editor.lsp] display-inlay-hints = true +display-messages = true [keys.normal] +backspace = "delete_char_backward" +C-h = "delete_char_backward" +C = ["select_mode", "goto_line_end", "normal_mode", "change_selection_noyank"] H = ":toggle lsp.display-inlay-hints" Z = { Z = ":write-quit-all" } -"esc" = ["keep_primary_selection", "collapse_selection"] +esc = ["keep_primary_selection", "collapse_selection"] +"`" = ["goto_last_accessed_file"] +tab = ["buffer_picker"] +C-r = ":config-reload" +C-f = [":new", ":insert-output lf -selection-path=/dev/stdout", "split_selection_on_newline", "goto_file", "goto_last_modification", "goto_last_modified_file", ":buffer-close!", ":redraw"] +V = ["goto_first_nonwhitespace", "extend_to_line_end"] +x = "extend_line" + +[keys.select] +x = "extend_line" diff --git a/.config/helix/themes/sumi-e.toml b/.config/helix/themes/sumi-e.toml index b643f8b..d7a73c7 100644 --- a/.config/helix/themes/sumi-e.toml +++ b/.config/helix/themes/sumi-e.toml @@ -1,192 +1,191 @@ -# Template document for helix color schemes -# See also: https://docs.helix-editor.com/themes.html -# -# NOTE: Keys default to the most specific parent value. -# e.g ui.cursor.primary > ui.cursor > ui # GENERAL ============================== -warning = { fg = "#ff7700" } # Editor warnings. -error = { fg = "#ff0038" } # Editor errors, like mis-typing a command. -info = { fg = "#00d992" } # Contextual info in diagnostic messages (LSP). -hint = { } # Code diagnostics hints (LSP). -diagnostic = { fg = "#c49848"} # Code diagnostics in editing area (LSP). -"diagnostic.hint" = { underline = { color = "silver", style = "curl" } } -"diagnostic.info" = { underline = { color = "delta", style = "curl" } } -"diagnostic.warning" = { underline = { color = "lightning", style = "curl" } } -"diagnostic.error" = { underline = { color = "apricot", style = "curl" } } -"diagnostic.unnecessary" = { modifiers = ["dim"] } +warning = { fg = "#ff7700", bg = "#221100", modifierd = [ "italic" ] } +error = { fg = "#ff0038", bg = "#220000", modifiers = [ "italic" ] } +hint = { fg = "#00d992", bg = "#002211", modifierd = [ "italic" ] } +info = { fg = "#ffcc00", bg = "#222200", modifiers = ["italic"] } +diagnostic = { fg = "#c49848"} +"diagnostic.info" = { underline = { color = "#ffcc00", style = "curl" } } +"diagnostic.hint" = { fg = "#00d992", underline = { color = "#00d992", style = "curl" } } +"diagnostic.warning" = { fg = "#ff7700", underline = { color = "#ff7700", style = "curl" } } +"diagnostic.error" = { fg = "#ff0038", underline = { color = "#ff0038", style = "curl" } } +"diagnostic.unnecessary" = { fg = "#ffcc00", modifiers = ["dim", "italic"], underline = { style = "curl" } } "diagnostic.deprecated" = { modifiers = ["crossed_out"] } # UI ============================== # For styling helix itself. -'ui.background' = { bg="background" } # Default background color. +'ui.background' = { bg="background" } 'ui.background.separator' = { fg="#00a171" } -'ui.window' = { bg="#224466" } # Window border between splits. -'ui.gutter' = { } # Left gutter for diagnostics and breakpoints. +'ui.window' = { bg="#224466" } +'ui.gutter' = { bg="#11171d" } -'ui.text' = { fg = "#e3e0cd" } # Default text color. -'ui.text.focus' = { bg = "#294467" } # Selection highlight in buffer-picker or file-picker. -'ui.text.info' = { } # Info popup contents (space mode menu). +'ui.text' = { fg = "#cccccc" } +'ui.text.focus' = { bg = "#294467" } +'ui.text.info' = { } -'ui.cursor' = { bg = "#00a171", fg = "#000000" } # Fallback cursor colour, non-primary cursors when there are multiple (shift-c). -'ui.cursor.primary' = { bg ="#23fdb6", fg = "#000000" } # The primary cursor when there are multiple (shift-c). -'ui.cursor.insert' = { fg = "#ff0000" } # The cursor in insert mode (i). -'ui.cursor.select' = { } # The cursor in select mode (v). -'ui.cursor.match' = { } # The matching parentheses of that under the cursor. +'ui.cursor' = { bg = "#00a171", fg = "#000000" } +'ui.cursor.primary' = { bg ="#23fdb6", fg = "#000000" } +'ui.cursor.insert' = { fg = "#ff0000" } +'ui.cursor.select' = { fg = "#3399ff" } +'ui.cursor.match' = { fg = "#000000", bg = "#ffd54f" } 'ui.cursorline.primary' = { bg = "#141b23" } -'ui.selection' = { bg = "#294467" } # All currently selected text. -'ui.selection.primary' = { bg = "#294467" } # The primary selection when there are multiple. +'ui.selection' = { bg = "#294467" } +'ui.selection.primary' = { bg = "#294467" } -'ui.linenr' = { fg = "#374351" } # Line numbers. -'ui.linenr.selected' = { fg = "#617d9d", bg = "#14202e" } # Current line number. +'ui.linenr' = { fg = "#374351", modifiers = [ "bold", "italic" ] } +'ui.linenr.selected' = { fg = "#617d9d", bg = "#14202e" } -'ui.virtual' = { } # Namespace for additions to the editing area. +'ui.virtual' = { } "ui.virtual.indent-guide" = { fg = "#273341" } -"ui.virtual.inlay-hint" = { fg = "#51a0cf", modifiers = ["italic"] } -'ui.virtual.ruler' = { } # Vertical rulers (colored columns in editing area). -'ui.virtual.whitespace' = { } # Whitespace markers in editing area. +"ui.virtual.inlay-hint" = { fg = "#51a0cf", modifiers = ["italic", "bold"] } +'ui.virtual.ruler' = { bg = "#11171d" } +'ui.virtual.whitespace' = { } +'ui.virtual.wrap' = { fg = "#ffd54f" } +"ui.virtual.jump-label" = { fg = "#96ffe6", bg = "#051e33", modifiers = ["bold", "italic"] } -'ui.statusline' = { bg = "#151920", fg = "#4d5a6c" } # Status line. -'ui.statusline.inactive' = { } # Status line in unfocused windows. -"ui.statusline.normal" = { } # Statusline mode during normal mode (only if editor.color-modes is enabled) -"ui.statusline.insert" = { fg = "#b99912" } # Statusline mode during insert mode (only if editor.color-modes is enabled) -"ui.statusline.select" = { } # Statusline mode during select mode (only if editor.color-modes is enabled) +# 'ui.statusline' = { bg = "#151920", fg = "#4d5a6c" } +'ui.statusline' = { bg = "#11171d", fg = "#637184", modifiers = ["italic", "bold"] } +'ui.statusline.inactive' = { } +"ui.statusline.normal" = { } +"ui.statusline.insert" = { fg = "#d7b640" } +"ui.statusline.select" = { fg = "#3dc9ff" } -'ui.help' = { } # `:command` descriptions above the command line. +'ui.help' = { } -'ui.highlight' = { } # selected contents of symbol pickers (spc-s, spc-S) and current line in buffer picker (spc-b). +'ui.highlight' = { bg="#224466" } "ui.highlight.frameline" = { } -'ui.menu' = { bg = "#242d38", fg="#bfd5e2" } # Autocomplete menu. -'ui.menu.selected' = { bg = "#135d7e" } # Selected autocomplete item. +'ui.menu' = { bg = "#242d38", fg="#bfd5e2" } +'ui.menu.selected' = { bg = "#135d7e" } -'ui.popup' = { bg = "#253d6b", fg="#b2c6e9" } # Documentation popups (space-k). -'ui.popup.info' = { } # Info popups box (space mode menu). +'ui.popup' = { bg = "#253d6b", fg="#b2c6e9" } +'ui.popup.info' = { } # SYNTAX HIGHLIGHTING ============================== # All the keys here are Treesitter scopes. -'property' = { } # Regex group names. -'special' = { fg="#ffecd3" } # Special symbols e.g `?` in Rust, `...` in Hare. -'attribute' = { } # Class attributes, html tag attributes. +'property' = { } +'special' = { fg="#ffecd3" } +'attribute' = { } -'type' = { } # Variable type, like integer or string, including program defined classes, structs etc.. -'type.builtin' = { } # Primitive types of the language (string, int, float). -'type.enum.variant' = { } # A variant of an enum. +'type' = { } +'type.builtin' = { } +'type.enum.variant' = { } -'constructor' = { } # Constructor method for a class or struct. +'constructor' = { } -'constant' = { } # Constant value -'constant.builtin' = { } # Special constants like `true`, `false`, `none`, etc. -'constant.builtin.boolean' = { } # True or False. -'constant.character' = { } # Constant of character type. -'constant.character.escape' = { } # escape codes like \n. -'constant.numeric' = { } # constant integer or float value. -'constant.numeric.integer' = { } # constant integer value. -'constant.numeric.float' = { } # constant float value. +'constant' = { } +'constant.builtin' = { } +'constant.builtin.boolean' = { } +'constant.character' = { } +'constant.character.escape' = { } +'constant.numeric' = { } +'constant.numeric.integer' = { } +'constant.numeric.float' = { } -'string' = { fg="#88ab8a", modifiers=["italic"] } # String literal. -'string.regexp' = { } # Regular expression literal. -'string.special' = { } # Strings containing a path, URL, etc. -'string.special.path' = { } # String containing a file path. -'string.special.url' = { } # String containing a web URL. -'string.special.symbol' = { } # Erlang/Elixir atoms, Ruby symbols, Clojure keywords. +'string' = { fg="#88ab8a", modifiers=["italic"] } +'string.regexp' = { } +'string.special' = { } +'string.special.path' = { } +'string.special.url' = { } +'string.special.symbol' = { } -'comment' = { fg = "#e57373", modifiers = ["bold", "italic"] } # This is a comment. -'comment.line' = { } # Line comments, like this. -'comment.block' = { } # Block comments, like /* this */ in some languages. -'comment.block.documentation' = { } # Doc comments, e.g '///' in rust. +'comment' = { fg = "#e57373", modifiers = ["bold", "italic"] } +'comment.line' = { } +'comment.block' = { } +'comment.block.documentation' = { } -'variable' = { fg="#eceff1" } # Variable names. -'variable.builtin' = { } # Language reserved variables: `this`, `self`, `super`, etc. -'variable.parameter' = { } # Function parameters. -'variable.other.member' = { } # Fields of composite data types (e.g. structs, unions). +'variable' = { fg="#999999", modifiers = [ "italic" ] } +# 'variable.builtin' = { } +'variable.parameter' = { fg = "#eeccaa", modifiers = [ "italic" ] } +# 'variable.other.member' = { } -'label' = { } # Loop labels, among other things. +'label' = { } -'punctuation' = { } # Any punctuation symbol. -'punctuation.delimiter' = { fg = "#999999" } # Commas, colons or other delimiter depending on the language. -'punctuation.bracket' = { } # Parentheses, angle brackets, etc. +'punctuation' = { fg = "#b0bec5" } +'punctuation.delimiter' = { fg = "#b0bec5" } +'punctuation.bracket' = { fg = "#b0bec5" } -'keyword' = { } # Language reserved keywords. -'keyword.control' = { } # Control keywords. -'keyword.control.conditional' = { } # `if`, `else`, `elif`. -'keyword.control.repeat' = { } # `for`, `while`, `loop`. -'keyword.control.import' = { } # `import`, `export` `use`. -'keyword.control.return' = { } # `return` in most languages. -'keyword.control.exception' = { } # `try`, `catch`, `raise`/`throw` and related. -'keyword.operator' = { } # `or`, `and`, `in`. -'keyword.directive' = { } # Preprocessor directives (#if in C...). -'keyword.function' = { } # The keyword to define a function: 'def', 'fun', 'fn'. +'keyword' = { fg = "#d5d5d5" } +# 'keyword.control' = { } +# 'keyword.control.conditional' = { } +# 'keyword.control.repeat' = { } +# 'keyword.control.import' = { } +# 'keyword.control.return' = { } +# 'keyword.control.exception' = { } +# 'keyword.operator' = { } +# 'keyword.directive' = { } +# 'keyword.function' = { } -'operator' = { } # Logical, mathematical, and other operators. +'operator' = { } -'function' = { fg = "#f7f7f7" } #, modifiers = [ "bold" ] } +'function' = { fg = "#f7f7f7" } 'function.builtin' = { } -'function.method' = { } # Cla"ss / Struct methods. +'function.method' = { } 'function.macro' = { } -'function.special' = { } # Preprocessor function in C. +'function.special' = { } -'tag' = { } # As in <body> for html, css tags. -'tag.error' = { } # Erroneous closing html tags. +'tag' = { } +'tag.error' = { } -'namespace' = { } # Namespace or module identifier. +'namespace' = { fg = "#b0bec5" } # Markup ============================== # Colors for markup languages, like Markdown or XML. -'markup.heading.1' = { } # Markdown heading 1 color. -'markup.heading.2' = { } # Markdown heading 2 color. -'markup.heading.3' = { } # Markdown heading 3 color. -'markup.heading.4' = { } # Markdown heading 4 color. -'markup.heading.5' = { } # Markdown heading 5 color. -'markup.heading.6' = { } # Markdown heading 6 color. -'markup.heading.marker' = { } # Hashtag color on Markdown headings. +'markup.heading.1' = { } +'markup.heading.2' = { } +'markup.heading.3' = { } +'markup.heading.4' = { } +'markup.heading.5' = { } +'markup.heading.6' = { } +'markup.heading.marker' = { } 'markup.list' = { } -'markup.list.numbered' = { } # Numbered list. -'markup.list.unnumbered' = { } # Bullet point list. +'markup.list.numbered' = { } +'markup.list.unnumbered' = { } -'markup.bold' = { } # Bold text. -'markup.italic' = { } # Italicised text. +'markup.bold' = { } +'markup.italic' = { } 'markup.link' = { } -'markup.link.url' = { } # Urls pointed to by links. -'markup.link.label' = { } # Non-URL link references. -'markup.link.text' = { } # URL and image descriptions in links. +'markup.link.url' = { } +'markup.link.label' = { } +'markup.link.text' = { } -'markup.quote' = { } # `> Quotes` in Markdown. +'markup.quote' = { } # Markup - Interface ============================== # "These scopes are used for theming the editor interface." 'markup.normal' = { } -'markup.normal.completion' = { } # For completion doc popup ui. -'markup.normal.raw' = { } # For hover popup ui. +'markup.normal.completion' = { } +'markup.normal.raw' = { } -'markup.heading.completion' = { } # Headings for completion doc popup ui. -'markup.heading.raw' = { } # Headings for hover popup ui. +'markup.heading.completion' = { } +'markup.heading.raw' = { } -'markup.raw' = { } # Code block in Markdown. -'markup.raw.block' = { } # Multiline (```) codeblock in Markdown. -'markup.raw.inline' = { } # `Inline code block` in Markdown. -'markup.raw.inline.completion' = { } # ? -'markup.raw.inline.hover' = { } # ? +'markup.raw' = { } +'markup.raw.block' = { } +'markup.raw.inline' = { } +'markup.raw.inline.completion' = { } +'markup.raw.inline.hover' = { } # Diff ============================== # Version control changes. -'diff.plus' = { fg = "#469e58" } # Additions. -'diff.minus' = { fg = "#ff0038" } # Deletions. -'diff.delta' = { fg = "#3caba4" } # Modifications. -'diff.delta.moved' = { } # Renamed or moved files. +'diff.plus' = { fg = "#678350" } +'diff.minus' = { fg = "#ff0038" } +'diff.delta' = { fg = "#897a21" } +'diff.delta.gutter' = { fg = "#ffff00" } +# 'diff.delta.moved' = { } [palette] # Define your custom colors here. From 291ea5c46af6e67b5104d0a435863a5f680ea26f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:43:53 +0200 Subject: [PATCH 241/656] atuin: session filter for up key --- .config/atuin/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml index ecfbfb3..0768eb6 100644 --- a/.config/atuin/config.toml +++ b/.config/atuin/config.toml @@ -54,6 +54,7 @@ ## the accepted values are identical to those of "filter_mode" ## leave unspecified to use same mode set in "filter_mode" # filter_mode_shell_up_key_binding = "global" +filter_mode_shell_up_key_binding = "session" ## which search mode to use when atuin is invoked from a shell up-key binding ## the accepted values are identical to those of "search_mode" From c2d0cbe641ee17fdb721cc351ad4365bfe7a44c7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:44:41 +0200 Subject: [PATCH 242/656] nvim: bring over key bind from helix --- .config/nvim/lua/config/keymaps.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index f99684e..944e633 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -7,3 +7,5 @@ vim.api.nvim_del_keymap("n", "<c-_>") vim.api.nvim_set_keymap("n", "<c-_>", "gcc", {}) vim.api.nvim_set_keymap("v", "<c-_>", "gc", {}) vim.api.nvim_set_keymap("n", "<Leader><c-_>", "gcgc", {}) + +vim.api.nvim_set_keymap("n", "<Tab>", "<Space>,", {}) From 94791633d6acc479c2d125fd7bd7080a824c8e0d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 10 Apr 2024 17:50:33 +0200 Subject: [PATCH 243/656] nvim: give codeium a whirl --- .config/nvim/lazy-lock.json | 50 ++++++++++++++-------------- .config/nvim/lua/config/lazy.lua | 3 +- .config/nvim/lua/plugins/copilot.lua | 40 ---------------------- .config/nvim/lua/plugins/extras.lua | 10 ++++++ 4 files changed, 37 insertions(+), 66 deletions(-) delete mode 100644 .config/nvim/lua/plugins/copilot.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 783ae74..0409583 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,66 +1,66 @@ { "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "a7a4b4682c4b3e2ba82b82a4e6e5f5a0e79dec32" }, - "SchemaStore.nvim": { "branch": "main", "commit": "4ce271f0db8b5224b4d69a43a75c13f5b4dcba43" }, - "alabaster.nvim": { "branch": "main", "commit": "ab61b9d3b7398e6c8ebd5207f609c24ebb37ebeb" }, - "catppuccin": { "branch": "main", "commit": "aebe43db9cb26e1c70fc5b2fd4158169c405e720" }, + "LuaSnip": { "branch": "master", "commit": "be7be2ca7f55bb881a7ffc16b2efa5af034ab06b" }, + "SchemaStore.nvim": { "branch": "main", "commit": "c5d5abc86910fb31b9f734cae2547322e81d3a26" }, + "alabaster.nvim": { "branch": "main", "commit": "ff1a9e07718506e45b94b2088366c5a8ab1ee1ea" }, + "catppuccin": { "branch": "main", "commit": "02bdd749931a5d739063562e57531c118e081882" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "codeium.nvim": { "branch": "main", "commit": "a070f57c0f54bd940436b94c8b679bcad5a48811" }, "colorbuddy.nvim": { "branch": "master", "commit": "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e" }, "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, - "copilot-cmp": { "branch": "master", "commit": "72fbaa03695779f8349be3ac54fa8bd77eed3ee3" }, - "copilot.lua": { "branch": "master", "commit": "f7612f5af4a7d7615babf43ab1e67a2d790c13a6" }, - "crates.nvim": { "branch": "main", "commit": "b4f4987ccdb1cc3899ee541ef4375c73c48c4570" }, - "dashboard-nvim": { "branch": "master", "commit": "39f308a0b845b8da46f83c8a2d69f0191d4b7a8f" }, + "crates.nvim": { "branch": "main", "commit": "e8fa8ec62ded43c3b06bca7ef36be26b924681bb" }, + "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, - "friendly-snippets": { "branch": "main", "commit": "dcd4a586439a1c81357d5b9d26319ae218cc9479" }, - "gitsigns.nvim": { "branch": "main", "commit": "70584ff9aae8078b64430c574079d79620b8f06d" }, + "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, + "gitsigns.nvim": { "branch": "main", "commit": "1a50b94066def8591d5f65bd60a4233902e9def4" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "incline.nvim": { "branch": "main", "commit": "a03020c920a55b75d82ac54c9da18cbf52e8c4d8" }, + "incline.nvim": { "branch": "main", "commit": "385e541b9a13bcc6cd387501fb9d9af86fb3173e" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "9dfcf2036c223920826140f0151d929a43f9eceb" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "a4b7e46deb9ad2feb8902cc5dbf087eced112ee5" }, + "mini.comment": { "branch": "main", "commit": "5707e22dd38f7b0d0ea7b273a43948fe203ff3a4" }, "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, - "neoconf.nvim": { "branch": "main", "commit": "ef304c29977b85c99382fcba821b3f710e144a74" }, + "neocodeium": { "branch": "main", "commit": "4395b6f01e565bd332433a5867882fb6ec725c24" }, + "neoconf.nvim": { "branch": "main", "commit": "9d61ff423ae5f179ace1823300c4873f38a7c418" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, - "none-ls.nvim": { "branch": "main", "commit": "18910d09d21d7df339805343bfe4a2b2e41c057b" }, + "none-ls.nvim": { "branch": "main", "commit": "dca7ddec321a102ec9e792b1b29193702aff5fbb" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "7aa3f71932c419d716290e132cacbafbaf5bea1c" }, + "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, "nvim-dap-go": { "branch": "main", "commit": "36abe1d320cb61bfdf094d4e0fe815ef58f2302a" }, "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "baa5b0dc6663284cce32e0d00ac1f2511b13496f" }, - "nvim-lint": { "branch": "master", "commit": "2669aabb8362fdc36aced5ba864b7135636ea863" }, - "nvim-lspconfig": { "branch": "master", "commit": "f4619ab31fc4676001ea05ae8200846e6e7700c7" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, + "nvim-lint": { "branch": "master", "commit": "4055dc856d5ac8f6b85748006fd8fa6457e086e8" }, + "nvim-lspconfig": { "branch": "master", "commit": "e25c4cdecd3d58c0deccce0f372426c8c480bcce" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, - "nvim-nio": { "branch": "master", "commit": "33c62b3eadd8154169e42144de16ba4db6784bec" }, + "nvim-nio": { "branch": "master", "commit": "5800f585def265d52f1d8848133217c800bcb25d" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, - "nvim-treesitter": { "branch": "master", "commit": "6e0b031ebb212e7082bc3007f8b9614cb393465c" }, + "nvim-treesitter": { "branch": "master", "commit": "2bad828b48aed74efe8f7e4ea15550e18c7b482d" }, "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "d2a4ffc22d9d38d44edb73da007b3cf43451e9b4" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "2aa454e4037424c678a8ff033951a5be39e54b9c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, - "nvim-web-devicons": { "branch": "master", "commit": "3ee60deaa539360518eaab93a6c701fe9f4d82ef" }, + "nvim-web-devicons": { "branch": "master", "commit": "6e355632387a085f15a66ad68cf681c1d7374a04" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, - "rustaceanvim": { "branch": "master", "commit": "b1433cb70569b888d26a26232da93fdbc76cb4a8" }, + "rustaceanvim": { "branch": "master", "commit": "e2dbf91daed26d4dd7263affbecbf9a36e0096e5" }, "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "1bb28df3cfc241b961331f00dcb8d5b45fe3e4f0" }, + "telescope.nvim": { "branch": "master", "commit": "5a701e99906961218b55d7ad6c2a998f066c6fe0" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index ff1e9c0..283aeab 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -12,7 +12,8 @@ require("lazy").setup({ { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - { import = "lazyvim.plugins.extras.coding.copilot" }, + -- { import = "lazyvim.plugins.extras.coding.copilot" }, + { import = "lazyvim.plugins.extras.coding.codeium" }, { import = "lazyvim.plugins.extras.coding.yanky" }, { import = "lazyvim.plugins.extras.formatting.prettier" }, { import = "lazyvim.plugins.extras.lang.go" }, diff --git a/.config/nvim/lua/plugins/copilot.lua b/.config/nvim/lua/plugins/copilot.lua deleted file mode 100644 index 2e8f8aa..0000000 --- a/.config/nvim/lua/plugins/copilot.lua +++ /dev/null @@ -1,40 +0,0 @@ -return { - "zbirenbaum/copilot.lua", - opts = { - panel = { - enabled = true, - auto_refresh = false, - keymap = { - jump_prev = "[[", - jump_next = "]]", - accept = "<CR>", - refresh = "gr", - open = "<M-CR>", - }, - }, - suggestion = { - enabled = true, - auto_trigger = true, - debounce = 75, - keymap = { - accept = "<C-j>", - next = "<M-]>", - prev = "<M-[>", - dismiss = "<C-]>", - }, - }, - filetypes = { - yaml = false, - markdown = false, - help = false, - gitcommit = false, - gitrebase = false, - hgcommit = false, - svn = false, - cvs = false, - ["."] = false, - }, - copilot_node_command = "node", -- Node version must be < 18 - server_opts_overrides = {}, - }, -} diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 50f0128..e1e530c 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -58,4 +58,14 @@ return { }, }, }, + + { + "monkoose/neocodeium", + event = "VeryLazy", + config = function() + local neocodeium = require("neocodeium") + neocodeium.setup() + vim.keymap.set("i", "<C-j>", neocodeium.accept) + end, + }, } From e10e8993eacc8a63bad1d895fa03cbbeee4f3491 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 May 2024 11:16:28 +0200 Subject: [PATCH 244/656] git: unicode fixings --- .gitconfig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitconfig b/.gitconfig index ac6ab3d..31e32f6 100644 --- a/.gitconfig +++ b/.gitconfig @@ -60,18 +60,18 @@ pager = delta [delta] ; # syntax-theme = GitHub -file-added-label = " ══" +file-added-label = " ➕ ══" file-decoration-style=none -file-modified-label = " ══" -file-removed-label = " ══" -file-renamed-label = " ══" +file-modified-label = " ▲ ══" +file-removed-label = " ➖══" +file-renamed-label = " ➞ ══" file-style = bold "#ffff66" "#333300" file-transformation = "s/$/ ══ /" hunk-header-decoration-style=none hunk-header-file-style = bold "#66ddff" hunk-header-line-number-style = bold "#66ccff" hunk-header-style = line-number bold "#99eeff" "#001133" -hunk-label = " " +hunk-label = "⯁" hunk-label-style = bold "#66ccff" line-numbers = true max-line-distance = 0.9 From 1b3d0013856bb7a453f91cc0d4f8a048b457964a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 May 2024 11:16:52 +0200 Subject: [PATCH 245/656] nvim: cleanup and adjust --- .config/nvim/lazy-lock.json | 89 ++++++++++++------------ .config/nvim/lua/config/lazy.lua | 6 +- .config/nvim/lua/config/options.lua | 15 ++-- .config/nvim/lua/plugins/coding.lua | 42 +++++++++++ .config/nvim/lua/plugins/colorscheme.lua | 13 ++-- .config/nvim/lua/plugins/extras.lua | 31 +++++++++ .config/nvim/lua/plugins/lsp.lua | 30 ++------ .config/nvim/lua/plugins/ui.lua | 3 +- 8 files changed, 144 insertions(+), 85 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 0409583..a68b787 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,70 +1,71 @@ { - "LazyVim": { "branch": "main", "commit": "5646ee5191da244ff8ea57b9dba8a7e0d1dbdd42" }, - "LuaSnip": { "branch": "master", "commit": "be7be2ca7f55bb881a7ffc16b2efa5af034ab06b" }, - "SchemaStore.nvim": { "branch": "main", "commit": "c5d5abc86910fb31b9f734cae2547322e81d3a26" }, + "LazyVim": { "branch": "main", "commit": "530e94a9fa19577401e968a9673282c3d79f01e3" }, + "LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" }, + "SchemaStore.nvim": { "branch": "main", "commit": "35a0998728380a17b8590447e8207391411c667a" }, "alabaster.nvim": { "branch": "main", "commit": "ff1a9e07718506e45b94b2088366c5a8ab1ee1ea" }, - "catppuccin": { "branch": "main", "commit": "02bdd749931a5d739063562e57531c118e081882" }, + "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "codeium.nvim": { "branch": "main", "commit": "a070f57c0f54bd940436b94c8b679bcad5a48811" }, - "colorbuddy.nvim": { "branch": "master", "commit": "9e96ccd88f4510d0a54ce1d5c11119eac9fb217e" }, - "conform.nvim": { "branch": "master", "commit": "9d5ba06d6ee7418c674f498634617416d15b6239" }, - "crates.nvim": { "branch": "main", "commit": "e8fa8ec62ded43c3b06bca7ef36be26b924681bb" }, - "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, - "dressing.nvim": { "branch": "master", "commit": "18e5beb3845f085b6a33c24112b37988f3f93c06" }, - "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, - "gitsigns.nvim": { "branch": "main", "commit": "1a50b94066def8591d5f65bd60a4233902e9def4" }, + "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, + "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, + "conform.nvim": { "branch": "master", "commit": "6dc1603ea408f476a57937bbeaf7f86520a21a98" }, + "crates.nvim": { "branch": "main", "commit": "7d8541ec0e3b30ac2c43864d3ee13a632e1231ed" }, + "dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" }, + "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, + "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, + "friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" }, + "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "incline.nvim": { "branch": "main", "commit": "385e541b9a13bcc6cd387501fb9d9af86fb3173e" }, + "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "44509689b9bf3984d729cc264aacb31cb7f41668" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "05744f0f1967b5757bd05c08df4271ab8ec990aa" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, - "mini.ai": { "branch": "main", "commit": "ee9446a17c160aba6a04ff22097389c41872c878" }, + "mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "5707e22dd38f7b0d0ea7b273a43948fe203ff3a4" }, - "mini.indentscope": { "branch": "main", "commit": "cf07f19e718ebb0bcc5b00999083ce11c37b8d40" }, - "mini.surround": { "branch": "main", "commit": "49e0364b8c9a3258b485c5ece40bb0f3a5e94b1c" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "16d1b194376bf1fc2acd89ccb3c29ba8315bfcea" }, - "neocodeium": { "branch": "main", "commit": "4395b6f01e565bd332433a5867882fb6ec725c24" }, - "neoconf.nvim": { "branch": "main", "commit": "9d61ff423ae5f179ace1823300c4873f38a7c418" }, + "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, + "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, + "mini.surround": { "branch": "main", "commit": "0f528eb2e1bab420c0569d9e52615144c51db920" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, + "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, + "neoconf.nvim": { "branch": "main", "commit": "d4a48c2a6fdeec138605cee4eb6f8c6fafd0b3ed" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, - "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, - "none-ls.nvim": { "branch": "main", "commit": "dca7ddec321a102ec9e792b1b29193702aff5fbb" }, - "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, - "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, - "nvim-dap": { "branch": "master", "commit": "405df1dcc2e395ab5173a9c3d00e03942c023074" }, - "nvim-dap-go": { "branch": "main", "commit": "36abe1d320cb61bfdf094d4e0fe815ef58f2302a" }, - "nvim-dap-ui": { "branch": "master", "commit": "edfa93f60b189e5952c016eee262d0685d838450" }, + "noice.nvim": { "branch": "main", "commit": "09102ca2e9a3e9302119fdaf7a059a034e4a626d" }, + "none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" }, + "nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" }, + "nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" }, + "nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" }, + "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, + "nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, - "nvim-lint": { "branch": "master", "commit": "4055dc856d5ac8f6b85748006fd8fa6457e086e8" }, - "nvim-lspconfig": { "branch": "master", "commit": "e25c4cdecd3d58c0deccce0f372426c8c480bcce" }, + "nvim-lint": { "branch": "master", "commit": "83ee4952a968d89329e5a49b4648831d98124783" }, + "nvim-lspconfig": { "branch": "master", "commit": "a3d9395455f2b2e3b50a0b0f37b8b4c23683f44a" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, - "nvim-nio": { "branch": "master", "commit": "5800f585def265d52f1d8848133217c800bcb25d" }, + "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-spectre": { "branch": "master", "commit": "2b012554a2536465243c0dff3605b5927c49ed23" }, - "nvim-treesitter": { "branch": "master", "commit": "2bad828b48aed74efe8f7e4ea15550e18c7b482d" }, - "nvim-treesitter-context": { "branch": "master", "commit": "f19766163c18515fb4d3c12d572bf9cba6cdb990" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "2aa454e4037424c678a8ff033951a5be39e54b9c" }, + "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, + "nvim-treesitter": { "branch": "master", "commit": "1b2f0067035c3d3ae7e0642614b8b03a2f19f49d" }, + "nvim-treesitter-context": { "branch": "master", "commit": "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "734ebad31c81c6198dfe102aa23280937c937c42" }, - "nvim-web-devicons": { "branch": "master", "commit": "6e355632387a085f15a66ad68cf681c1d7374a04" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" }, + "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "8aad4396840be7fc42896e3011751b7609ca4119" }, - "rustaceanvim": { "branch": "master", "commit": "e2dbf91daed26d4dd7263affbecbf9a36e0096e5" }, - "sqlite.lua": { "branch": "master", "commit": "40701b6151f8883980c1548647116de39b763540" }, + "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, + "rustaceanvim": { "branch": "master", "commit": "2eb8776df1aab03f514b38ddc39af57efbd8970b" }, + "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "5a701e99906961218b55d7ad6c2a998f066c6fe0" }, + "telescope.nvim": { "branch": "master", "commit": "fac83a556e7b710dc31433dec727361ca062dbe9" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "9bf9ec53d5e87b025e2404069b71e7ebdc3a13e5" }, - "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, - "vim-illuminate": { "branch": "master", "commit": "305bf07b919ac526deb5193280379e2f8b599926" }, + "tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" }, + "trouble.nvim": { "branch": "dev", "commit": "b4b9a11b3578d510963f6f681fecb4631ae992c3" }, + "vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 283aeab..6fe0e9e 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -42,9 +42,9 @@ require("lazy").setup({ -- disable some rtp plugins disabled_plugins = { "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", + "matchit", + "matchparen", + "netrwPlugin", "tarPlugin", "tohtml", "tutor", diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index ca57020..4178853 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -2,19 +2,20 @@ -- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua -- Add any additional options here -local opt = vim.opt - -opt.number = true -opt.relativenumber = false -opt.clipboard = "unnamedplus" +vim.opt.number = true +vim.opt.relativenumber = false +vim.opt.clipboard = "unnamed" --"unnamedplus" vim.g.do_filetype_lua = 1 - vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } + vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.scrolloff = 7 -vim.o.updatetime = 100 +vim.o.splitkeep = "screen" +vim.o.updatetime = 250 +vim.o.timeout = true +vim.o.timeoutlen = 300 -- additional filetypes vim.filetype.add({ diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index f5b7e2e..bbabbc5 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -8,7 +8,49 @@ return { "nvim-cmp", dependencies = { "hrsh7th/cmp-emoji" }, opts = function(_, opts) + local cmp = require("cmp") table.insert(opts.sources, { name = "emoji" }) + + opts.view = { docs = { auto_open = false }, entries = { follow_cursor = true } } + opts.completion = { + autocomplete = false, + } + + local winhighlight = + "Normal:NoiceCmdlinePopupTitle,FloatBorder:NoiceCmdlinePopupBorder,CursorLine:PMenuSel,Search:Search" + + opts.window = { + completion = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), + documentation = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), + preview = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), + } + + -- lua sorting = { comparators = { cmp.config.compare.sort_text, -- this needs to be 1st cmp.config.compare.offset, cmp.config.compare.exact, cmp.config.compare.score, cmp.config.compare.kind, cmp.config.compare.length, cmp.config.compare.order, } } + + opts.sorting = { + priority_weight = 2, + comparators = { + cmp.config.compare.exact, + cmp.config.compare.recently_used, + cmp.config.compare.locality, + cmp.config.compare.offset, + -- cmp.config.compare.scopes, + cmp.config.compare.score, + cmp.config.compare.kind, + -- cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + } + + return opts end, }, + + { + "Exafunction/codeium.nvim", + opts = { + enable_chat = false, + }, + }, } diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index b202a60..ecaa748 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -35,7 +35,6 @@ return { { "jesseleite/nvim-noirbuddy", - as = "noirbuddy", lazy = false, dependencies = { { "tjdevries/colorbuddy.nvim" }, @@ -147,12 +146,14 @@ return { Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) Group.new("FloatBorder", colors.NormalFloatBorder, colors.NormalFloatBg) - Color.new("PmenuSelFg", "#f3d390", styles.nocombine) - Color.new("PmenuSelBg", "#335a88", styles.nocombine) - Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + -- Color.new("PmenuSelFg", "#f3d390", styles.nocombine) + -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) + Color.new("PmenuSelFg", "#52ffb5", styles.nocombine) + Color.new("PmenuSelBg", "#003322", styles.nocombine) + Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg, styles.bold) - Color.new("PmenuSelBg", "#335a88", styles.nocombine) - Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) + -- Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) Color.new("TreesitterContext", "#242e38", styles.nocombine) Group.new("TreesitterContext", nil, colors.TreesitterContext) diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index e1e530c..bfc6f4a 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -56,6 +56,36 @@ return { end, { desc = "Rust external documentation", buffer = bufnr }) end, }, + + settings = { + -- rust-analyzer language server configuration + ["rust-analyzer"] = { + cargo = { + allFeatures = true, + loadOutDirsFromCheck = true, + runBuildScripts = true, + targetDir = true, + -- extraEnv = { + -- RUSTC_LINKER = "clang", + -- RUSTFLAGS = "-Clink-arg=-fuse-ld=mold", + -- }, + }, + -- Add clippy lints for Rust. + checkOnSave = { + allFeatures = true, + command = "clippy", + extraArgs = { "--no-deps" }, + }, + procMacro = { + enable = true, + ignored = { + ["async-trait"] = { "async_trait" }, + ["napi-derive"] = { "napi" }, + ["async-recursion"] = { "async_recursion" }, + }, + }, + }, + }, }, }, @@ -66,6 +96,7 @@ return { local neocodeium = require("neocodeium") neocodeium.setup() vim.keymap.set("i", "<C-j>", neocodeium.accept) + vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete) end, }, } diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index c1cfe44..82dac87 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -6,30 +6,12 @@ return { servers = { rust_analyzer = { mason = false, - targetDir = true, - keys = { - { "K", "<cmd>RustHoverActions<cr>", desc = "Hover Actions (Rust)" }, - { "<leader>cR", "<cmd>RustCodeAction<cr>", desc = "Code Action (Rust)" }, - { "<leader>dr", "<cmd>RustDebuggables<cr>", desc = "Run Debuggables (Rust)" }, - }, - settings = { - ["rust-analyzer"] = { - cargo = { - allFeatures = true, - loadOutDirsFromCheck = true, - runBuildScripts = true, - targetDir = true, - }, - procMacro = { - enable = true, - ignored = { - ["async-trait"] = { "async_trait" }, - ["napi-derive"] = { "napi" }, - ["async-recursion"] = { "async_recursion" }, - }, - }, - }, - }, + -- targetDir = true, + -- keys = { + -- { "K", "<cmd>RustHoverActions<cr>", desc = "Hover Actions (Rust)" }, + -- { "<leader>cR", "<cmd>RustCodeAction<cr>", desc = "Code Action (Rust)" }, + -- { "<leader>dr", "<cmd>RustDebuggables<cr>", desc = "Run Debuggables (Rust)" }, + -- }, }, yamlls = { settings = { diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 4afcfba..935a8f8 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -72,8 +72,9 @@ return { { "rcarriga/nvim-notify", opts = { - timeout = 1500, + timeout = 2000, background_colour = "#1e2835", + render = "wrapped-compact", }, }, From 1a7711e2a8e3e8a74071c2a499f16d14e59b623c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 May 2024 11:47:16 +0200 Subject: [PATCH 246/656] nvim: instant timeoutlen for general snappiness --- .config/nvim/lua/config/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 4178853..3690f7d 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -15,7 +15,7 @@ vim.o.scrolloff = 7 vim.o.splitkeep = "screen" vim.o.updatetime = 250 vim.o.timeout = true -vim.o.timeoutlen = 300 +vim.o.timeoutlen = 0 -- additional filetypes vim.filetype.add({ From fff2203e4bd901c882f26137f7b8b009fb4fbc34 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 May 2024 13:13:52 +0200 Subject: [PATCH 247/656] nvim: use modes.nvim for mode-specific cursor colors. fancier codeium highlights --- .config/nvim/lazy-lock.json | 1 + .config/nvim/lua/config/options.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 12 ++++++++++++ .config/nvim/lua/plugins/ui.lua | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index a68b787..381c925 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -31,6 +31,7 @@ "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, "mini.surround": { "branch": "main", "commit": "0f528eb2e1bab420c0569d9e52615144c51db920" }, + "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, "neoconf.nvim": { "branch": "main", "commit": "d4a48c2a6fdeec138605cee4eb6f8c6fafd0b3ed" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 3690f7d..cb6f5b5 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -4,7 +4,7 @@ vim.opt.number = true vim.opt.relativenumber = false -vim.opt.clipboard = "unnamed" --"unnamedplus" +-- vim.opt.clipboard = "unnamed" --"unnamedplus" vim.g.do_filetype_lua = 1 vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index ecaa748..0a81937 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -76,6 +76,18 @@ return { Color.new("normal", "#e3e0cd") Group.new("Normal", colors.normal, nil) + Color.new("Visual", "#440066") + Group.new("ModesVisualVisual", nil, colors.Visual) + Group.new("Visual", nil, colors.Visual) + Group.new("VisualNOS", nil, colors.Visual) + + Color.new("NeoCodeiumLabelBg", "#eda92d") + Color.new("NeoCodeiumLabelFg", "#000000") + Group.new("NeoCodeiumLabel", colors.NeoCodeiumLabelFg, colors.NeoCodeiumLabelBg) + + Color.new("NeoCodeiumSuggestion", "#996611") + Group.new("NeoCodeiumSuggestion", colors.NeoCodeiumSuggestion, nil, styles.italic) + Color.new("WinSeparator", "#223344") Group.new("WinSeparator", colors.WinSeparator, nil) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 935a8f8..d554be2 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -69,6 +69,21 @@ return { }, }, + { + "mvllow/modes.nvim", + opts = { + colors = { + copy = "#f5c359", + delete = "#c75c6a", + insert = "#ffcc00", + visual = "#c343fc", + }, + set_cursor = true, + set_cursorline = true, + set_number = true, + }, + }, + { "rcarriga/nvim-notify", opts = { From 67c72e3dd75916d26b1a0007c7597f43744e8c68 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 9 May 2024 17:18:20 +0200 Subject: [PATCH 248/656] =?UTF-8?q?nvim:=20noice=20tweaks=20for=20increase?= =?UTF-8?q?d=20Calm=E2=84=A2=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/nvim/lazy-lock.json | 5 +-- .config/nvim/lua/config/lazy.lua | 4 +-- .config/nvim/lua/config/options.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 10 ++++++ .config/nvim/lua/plugins/ui.lua | 39 +++++++++++++++++++++++- 5 files changed, 54 insertions(+), 6 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 381c925..c4f9836 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -3,6 +3,7 @@ "LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" }, "SchemaStore.nvim": { "branch": "main", "commit": "35a0998728380a17b8590447e8207391411c667a" }, "alabaster.nvim": { "branch": "main", "commit": "ff1a9e07718506e45b94b2088366c5a8ab1ee1ea" }, + "bufferline.nvim": { "branch": "main", "commit": "73540cb95f8d95aa1af3ed57713c6720c78af915" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -22,6 +23,7 @@ "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, + "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "05744f0f1967b5757bd05c08df4271ab8ec990aa" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, @@ -31,7 +33,6 @@ "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, "mini.surround": { "branch": "main", "commit": "0f528eb2e1bab420c0569d9e52615144c51db920" }, - "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, "neoconf.nvim": { "branch": "main", "commit": "d4a48c2a6fdeec138605cee4eb6f8c6fafd0b3ed" }, @@ -51,7 +52,7 @@ "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, - "nvim-treesitter": { "branch": "master", "commit": "1b2f0067035c3d3ae7e0642614b8b03a2f19f49d" }, + "nvim-treesitter": { "branch": "master", "commit": "707b0dcf7641fa3a2aaad5053b215503f54f89aa" }, "nvim-treesitter-context": { "branch": "master", "commit": "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 6fe0e9e..1fc7c73 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -42,8 +42,8 @@ require("lazy").setup({ -- disable some rtp plugins disabled_plugins = { "gzip", - "matchit", - "matchparen", + -- "matchit", + -- "matchparen", "netrwPlugin", "tarPlugin", "tohtml", diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index cb6f5b5..3690f7d 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -4,7 +4,7 @@ vim.opt.number = true vim.opt.relativenumber = false --- vim.opt.clipboard = "unnamed" --"unnamedplus" +vim.opt.clipboard = "unnamed" --"unnamedplus" vim.g.do_filetype_lua = 1 vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 0a81937..1047171 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -80,6 +80,7 @@ return { Group.new("ModesVisualVisual", nil, colors.Visual) Group.new("Visual", nil, colors.Visual) Group.new("VisualNOS", nil, colors.Visual) + Group.new("MatchParen", nil, colors.Visual) Color.new("NeoCodeiumLabelBg", "#eda92d") Color.new("NeoCodeiumLabelFg", "#000000") @@ -88,6 +89,15 @@ return { Color.new("NeoCodeiumSuggestion", "#996611") Group.new("NeoCodeiumSuggestion", colors.NeoCodeiumSuggestion, nil, styles.italic) + Color.new("NoiceCmdLineBg", "#112233") + Color.new("NoiceCmdLineFg", "#99ccff") + Group.new("NoiceCmdLine", colors.NoiceCmdLineFg, colors.NoiceCmdLineBg) + + Color.new("NoiceFormatProgressTodo", "#223344") + Group.new("NoiceFormatProgressTodo", nil, colors.NoiceFormatProgressTodo) + Color.new("NoiceFormatProgressDone", "#446699") + Group.new("NoiceFormatProgressDone", nil, colors.NoiceFormatProgressDone) + Color.new("WinSeparator", "#223344") Group.new("WinSeparator", colors.WinSeparator, nil) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index d554be2..390de3b 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -84,12 +84,49 @@ return { }, }, + { + "folke/noice.nvim", + event = "VeryLazy", + keys = { + { "<leader>sna", "<cmd>NoiceTelescope<cr>", desc = "Show all messages in Telescope" }, + }, + opts = function() + local enable_conceal = true -- Hide command text if true + return { + presets = { bottom_search = true }, -- The kind of popup used for / + cmdline = { + view = "cmdline", -- The kind of popup used for : + format = { + cmdline = { conceal = enable_conceal }, + search_down = { conceal = enable_conceal }, + search_up = { conceal = enable_conceal }, + filter = { conceal = enable_conceal }, + lua = { conceal = enable_conceal }, + help = { conceal = enable_conceal }, + input = { conceal = enable_conceal }, + }, + }, + + messages = { enabled = true }, + lsp = { + hover = { enabled = false }, + signature = { enabled = false }, + progress = { enabled = true, view = "cmdline" }, + message = { enabled = false }, + smart_move = { enabled = false }, + }, + } + end, + }, + { "rcarriga/nvim-notify", opts = { - timeout = 2000, + stages = "fade_in_slide_out", + timeout = 1000, background_colour = "#1e2835", render = "wrapped-compact", + top_down = false, }, }, From 20846ca2ac60e889b13ccab210892ee333137a5e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 10 May 2024 22:33:44 +0200 Subject: [PATCH 249/656] nvim: use buildifier and starpls for bazel files --- .config/nvim/lua/plugins/extras.lua | 1 + .config/nvim/lua/plugins/lsp.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index bfc6f4a..61f7c27 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -10,6 +10,7 @@ return { nls.builtins.formatting.stylua, nls.builtins.formatting.shfmt, nls.builtins.formatting.buf, + nls.builtins.formatting.buildifier, nls.builtins.diagnostics.buf.with({ args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, cwd = function() diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 82dac87..cc5441a 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -13,6 +13,7 @@ return { -- { "<leader>dr", "<cmd>RustDebuggables<cr>", desc = "Run Debuggables (Rust)" }, -- }, }, + starpls = {}, yamlls = { settings = { yaml = { From 58837c4f509aa68866aa82c46674c374a76a2408 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 May 2024 11:24:22 +0200 Subject: [PATCH 250/656] jj: set immutable heads --- .jjconfig.toml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.jjconfig.toml b/.jjconfig.toml index a7f9752..befcefa 100644 --- a/.jjconfig.toml +++ b/.jjconfig.toml @@ -13,3 +13,9 @@ la = ["log", "--ignore-working-copy", "-r", "all()"] b = ["branch", "list"] n = ["new", "main"] d = ["diff"] + +[revset-aliases] +# The `main.. &` bit is an optimization to scan for non-`mine()` commits only +# among commits that are not in `main`. +"immutable_heads()" = "main@origin | (main@origin.. & ~mine())" + From 67e454b615546fb58ec118ea7aa1859947fe3a28 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 May 2024 11:25:11 +0200 Subject: [PATCH 251/656] fish: fixup --- .config/fish/conf.d/abbr.fish | 2 +- .config/fish/config.fish | 30 ++++++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/.config/fish/conf.d/abbr.fish b/.config/fish/conf.d/abbr.fish index 9e5859a..0eaf442 100644 --- a/.config/fish/conf.d/abbr.fish +++ b/.config/fish/conf.d/abbr.fish @@ -1,6 +1,6 @@ abbr --add b git branch -va abbr --add d git diff --stat -p -C --color-words abbr --add new git checkout --detach main -abbr --add s git st +abbr --add s git status -sb abbr --add sl git branchless smartlog abbr --add sw git branchless switch --interactive diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 1a8d08d..1f21ad2 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -1,31 +1,35 @@ - set fish_greeting +set fish_emoji_width 2 fish_add_path $HOME/.cargo/bin fish_add_path $HOME/bin ## Nix -export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive -export NIX_REMOTE=daemon +set -gx LOCALE_ARCHIVE /usr/lib/locale/locale-archive +set -gx NIX_REMOTE daemon fish_add_path $HOME/.nix-profile/bin if status is-interactive ## Pager - export LESS="--mouse --wheel-lines=1 -nRXF" - export LESSCOLORIZER="bat" - export LESSOPEN="|lesspipe.sh %s" - export PAGER="bat" - export BAT_PAGER="less -r" + set -gx LESS "--mouse --wheel-lines=1 -nRXF" + set -gx LESSCOLORIZER bat + set -gx LESSOPEN "|lesspipe.sh %s" + set -gx PAGER bat + set -gx BAT_PAGER "less -r" ## OpenTelemetry - export OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.aarn.shelman.io - export OTEL_RESOURCE_ATTRIBUTES=instance=dln-dev - export OTEL_LOG_LEVEL=debug + set -gx OTEL_EXPORTER_OTLP_ENDPOINT https://otel.aarn.shelman.io + set -gx OTEL_RESOURCE_ATTRIBUTES instance=dln-dev + set -gx OTEL_LOG_LEVEL debug ## Utilities - export EDITOR=nvim + set -gx EDITOR (which nvim) + set -gx VISUAL $EDITOR + set -gx SUDO_EDITOR $EDITOR + + function tree eza --tree --color=always $argv | bat --wrap=never @@ -59,6 +63,8 @@ if status is-interactive # FIXME: how to use autin history for these? bind \cn history-prefix-search-forward bind \cp history-prefix-search-backward + # bind \cP _atuin_bind_up + bind \cJ forward-char atuin init fish | source end From 8f4d7bb9a702a8a067b0cebe9c172be9b3d8c133 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 12 May 2024 11:25:35 +0200 Subject: [PATCH 252/656] nvim: telescope fancification --- .config/nvim/lazy-lock.json | 25 ++++++++++++------------ .config/nvim/lua/config/options.lua | 2 +- .config/nvim/lua/plugins/colorscheme.lua | 16 +++++++++++++-- .config/nvim/lua/plugins/editor.lua | 13 ++++++------ .config/nvim/lua/plugins/extras.lua | 8 ++++++++ .tmux.conf | 1 + bin/tmux-nvim-helper | 2 +- 7 files changed, 45 insertions(+), 22 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index c4f9836..1d5c099 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -3,7 +3,6 @@ "LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" }, "SchemaStore.nvim": { "branch": "main", "commit": "35a0998728380a17b8590447e8207391411c667a" }, "alabaster.nvim": { "branch": "main", "commit": "ff1a9e07718506e45b94b2088366c5a8ab1ee1ea" }, - "bufferline.nvim": { "branch": "main", "commit": "73540cb95f8d95aa1af3ed57713c6720c78af915" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -12,36 +11,37 @@ "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, - "conform.nvim": { "branch": "master", "commit": "6dc1603ea408f476a57937bbeaf7f86520a21a98" }, + "conform.nvim": { "branch": "master", "commit": "dc950e5717f1da65b1fcd986b1bbff0d6bd0e2ee" }, "crates.nvim": { "branch": "main", "commit": "7d8541ec0e3b30ac2c43864d3ee13a632e1231ed" }, "dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" }, "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, + "flash.nvim": { "branch": "main", "commit": "7bb4a9c75d1e20cd24185afedeaa11681829ba23" }, "friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" }, "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, - "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "05744f0f1967b5757bd05c08df4271ab8ec990aa" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "751b1fcbf3d3b783fcf8d48865264a9bcd8f9b10" }, + "mason.nvim": { "branch": "main", "commit": "0f1cb65f436b769733d18b41572f617a1fb41f62" }, "mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, - "mini.surround": { "branch": "main", "commit": "0f528eb2e1bab420c0569d9e52615144c51db920" }, + "mini.surround": { "branch": "main", "commit": "eb89a88a51655e46a93595204a9251a012918883" }, + "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, - "neoconf.nvim": { "branch": "main", "commit": "d4a48c2a6fdeec138605cee4eb6f8c6fafd0b3ed" }, + "neoconf.nvim": { "branch": "main", "commit": "085ab9ea610fb651a5d0ff2b4de04e9457162178" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "noice.nvim": { "branch": "main", "commit": "09102ca2e9a3e9302119fdaf7a059a034e4a626d" }, "none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" }, "nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" }, "nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" }, - "nvim-dap": { "branch": "master", "commit": "6ae8a14828b0f3bff1721a35a1dfd604b6a933bb" }, + "nvim-dap": { "branch": "master", "commit": "615a1b2046e1eaf7995e0ba8e8a65f344201349d" }, "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, "nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, @@ -52,16 +52,17 @@ "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, - "nvim-treesitter": { "branch": "master", "commit": "707b0dcf7641fa3a2aaad5053b215503f54f89aa" }, - "nvim-treesitter-context": { "branch": "master", "commit": "2650e6431f7daba5d9c2c64134fa5eb2312eb3d7" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "23b820146956b3b681c19e10d3a8bc0cbd9a1d4c" }, + "nvim-treesitter": { "branch": "master", "commit": "6587d8e6942b8d2146d61bab4c4acff9dec5ae59" }, + "nvim-treesitter-context": { "branch": "master", "commit": "1e52a2c4223c1e7b0def9c76a1f3757d372196c3" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "dfa4178c0cadb44f687603d72ad0908474c28dd9" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" }, "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, - "rustaceanvim": { "branch": "master", "commit": "2eb8776df1aab03f514b38ddc39af57efbd8970b" }, + "rustaceanvim": { "branch": "master", "commit": "187ba89020a6cb9c9bfe39818ef05964473baefc" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, + "telescope-frecency.nvim": { "branch": "master", "commit": "6b6565e6584c86ca501bdac485cbdc2ca64556e4" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "fac83a556e7b710dc31433dec727361ca062dbe9" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 3690f7d..5545fc7 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -15,7 +15,7 @@ vim.o.scrolloff = 7 vim.o.splitkeep = "screen" vim.o.updatetime = 250 vim.o.timeout = true -vim.o.timeoutlen = 0 +vim.o.timeoutlen = 150 -- additional filetypes vim.filetype.add({ diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 1047171..dae653e 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -217,8 +217,20 @@ return { Color.new("FlashLabelBg", "#EA1199") Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) - Group.new("TelescopeTitle", colors.primary) - Group.new("TelescopeBorder", colors.secondary) + Color.new("TelescopeBorder", "#23fdb6") + Group.new("TelescopeTitle", colors.TelescopeBorder) + Group.new("telescopeborder", colors.TelescopeBorder) + Group.new("telescoperesultsnormal", colors.TelescopeBorder) + + Color.new("TelescopeSelectionBg", "#00401d") + Color.new("TelescopeSelectionFg", "#f6fb2d") + Group.new( + "TelescopeSelection", + colors.TelescopeSelectionFg, + colors.TelescopeSelectionBg, + styles.nocombine + styles.bold + ) + Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) Group.new("@string", colors.string, nil, styles.italic) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index 0ce8233..687f174 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -7,22 +7,23 @@ return { "telescope.nvim", opts = { defaults = { - layout_strategy = "vertical", + layout_strategy = "horizontal", layout_config = { anchor = "top", - vertical = { + horizontal = { prompt_position = "top", - mirror = true, - -- preview_width = 0.5, - preview_height = 0.5, + mirror = false, + preview_width = 0.4, + -- preview_height = 0.5, }, width = 0.9, height = 0.9, preview_cutoff = 10, }, - -- sorting_strategy = "ascending", + sorting_strategy = "ascending", winblend = 0, wrap_results = true, + previewer = false, }, }, }, diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 61f7c27..6c54725 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -1,4 +1,11 @@ return { + { + "nvim-telescope/telescope-frecency.nvim", + config = function() + require("telescope").load_extension("frecency") + end, + }, + { "nvimtools/none-ls.nvim", opts = function(_, opts) @@ -11,6 +18,7 @@ return { nls.builtins.formatting.shfmt, nls.builtins.formatting.buf, nls.builtins.formatting.buildifier, + nls.builtins.diagnostics.buildifier, nls.builtins.diagnostics.buf.with({ args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, cwd = function() diff --git a/.tmux.conf b/.tmux.conf index 289499c..6ae19c6 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -74,6 +74,7 @@ setw -g window-status-format "" setw -g window-status-current-format "" setw -g window-status-separator "" set -g status-style "bg=#444444,fg=#dddddd,italics" +set -g popup-border-style "fg=#77fecc" set -g pane-border-style "fg=#334455" set -g pane-active-border-style "fg=#334455" set -g status-position bottom diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper index 9115fad..68f1e9e 100755 --- a/bin/tmux-nvim-helper +++ b/bin/tmux-nvim-helper @@ -8,7 +8,7 @@ PATH="$HOME/bin:$PATH" if [ -n "$1" ]; then _file=$(readlink -f "$@") else - FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0"} + FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0 --layout=reverse"} _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) From cd62574246aa71bd35370185db1380a4126c9e1f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 13 May 2024 09:31:12 +0200 Subject: [PATCH 253/656] bat: use ansi mode while waiting for next release w/auto light/dark theme --- .config/bat/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/bat/config b/.config/bat/config index d5f2441..609fc6e 100644 --- a/.config/bat/config +++ b/.config/bat/config @@ -1,3 +1,3 @@ --italic-text=always --plain ---theme="Catppuccin Mocha" +--theme=ansi From 0066554957fa4af2d10738eb83207a41c1bee500 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 13 May 2024 09:31:43 +0200 Subject: [PATCH 254/656] nvim: colors --- .config/nvim/lazy-lock.json | 20 +++++++++----------- .config/nvim/lua/plugins/colorscheme.lua | 20 +++++++++++++++----- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 1d5c099..83d5624 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,8 +1,7 @@ { - "LazyVim": { "branch": "main", "commit": "530e94a9fa19577401e968a9673282c3d79f01e3" }, + "LazyVim": { "branch": "main", "commit": "cfe87ba894b6c2c961827de45c55b57b1183865c" }, "LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" }, "SchemaStore.nvim": { "branch": "main", "commit": "35a0998728380a17b8590447e8207391411c667a" }, - "alabaster.nvim": { "branch": "main", "commit": "ff1a9e07718506e45b94b2088366c5a8ab1ee1ea" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -16,17 +15,16 @@ "dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" }, "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "flash.nvim": { "branch": "main", "commit": "7bb4a9c75d1e20cd24185afedeaa11681829ba23" }, "friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" }, "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "bef521ac89c8d423f9d092e37b58e8af0c099309" }, + "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "0f1cb65f436b769733d18b41572f617a1fb41f62" }, + "mason.nvim": { "branch": "main", "commit": "1b3d60405d1d720b2c4927f19672e9479703b00f" }, "mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, @@ -35,24 +33,24 @@ "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, - "neoconf.nvim": { "branch": "main", "commit": "085ab9ea610fb651a5d0ff2b4de04e9457162178" }, + "neoconf.nvim": { "branch": "main", "commit": "bdd6c7dac2038d6495890dd84f451cf9f7425c50" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "noice.nvim": { "branch": "main", "commit": "09102ca2e9a3e9302119fdaf7a059a034e4a626d" }, "none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" }, "nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" }, - "nvim-cmp": { "branch": "main", "commit": "cd2cf0c124d3de577fb5449746568ee8e601afc8" }, + "nvim-cmp": { "branch": "main", "commit": "24122371810089d390847d8ba66325c1f1aa64c0" }, "nvim-dap": { "branch": "master", "commit": "615a1b2046e1eaf7995e0ba8e8a65f344201349d" }, "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, "nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, "nvim-lint": { "branch": "master", "commit": "83ee4952a968d89329e5a49b4648831d98124783" }, - "nvim-lspconfig": { "branch": "master", "commit": "a3d9395455f2b2e3b50a0b0f37b8b4c23683f44a" }, + "nvim-lspconfig": { "branch": "master", "commit": "94513a5b246cf32a8f87ca714af50911df63351c" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, - "nvim-treesitter": { "branch": "master", "commit": "6587d8e6942b8d2146d61bab4c4acff9dec5ae59" }, + "nvim-treesitter": { "branch": "master", "commit": "0d2c80b4d00c8f793e17d2d1d24d4aa5aaa88bc2" }, "nvim-treesitter-context": { "branch": "master", "commit": "1e52a2c4223c1e7b0def9c76a1f3757d372196c3" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dfa4178c0cadb44f687603d72ad0908474c28dd9" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, @@ -60,14 +58,14 @@ "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, - "rustaceanvim": { "branch": "master", "commit": "187ba89020a6cb9c9bfe39818ef05964473baefc" }, + "rustaceanvim": { "branch": "master", "commit": "1c3d3a75bebcb16df2a093b147ba498185e4ab17" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-frecency.nvim": { "branch": "master", "commit": "6b6565e6584c86ca501bdac485cbdc2ca64556e4" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "fac83a556e7b710dc31433dec727361ca062dbe9" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" }, - "trouble.nvim": { "branch": "dev", "commit": "b4b9a11b3578d510963f6f681fecb4631ae992c3" }, + "trouble.nvim": { "branch": "dev", "commit": "f6a3fbfb667c3cccea8df9b7471fb9b31b1235fc" }, "vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index dae653e..1b86901 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,11 +1,13 @@ return { + --[=====[ { - "p00f/alabaster.nvim", - url = "https://git.sr.ht/~p00f/alabaster.nvim", + -- "p00f/alabaster.nvim", + -- url = "https://git.sr.ht/~p00f/alabaster.nvim", + "lsjostro/alabaster.nvim", lazy = false, + priority = 1000, }, - --[=====[ { "LazyVim/LazyVim", opts = { @@ -13,6 +15,7 @@ return { }, }, + { "echasnovski/mini.colors", version = false }, { @@ -32,6 +35,9 @@ return { }, --]=====] + -- + -- + -- { "jesseleite/nvim-noirbuddy", @@ -220,9 +226,13 @@ return { Color.new("TelescopeBorder", "#23fdb6") Group.new("TelescopeTitle", colors.TelescopeBorder) Group.new("telescopeborder", colors.TelescopeBorder) - Group.new("telescoperesultsnormal", colors.TelescopeBorder) - Color.new("TelescopeSelectionBg", "#00401d") + Color.new("TelescopeBorder", "#23fdb6") + + Color.new("TelescopeNormal", "#b6c5bd") + Group.new("telescoperesultsnormal", colors.TelescopeNormal) + + Color.new("TelescopeSelectionBg", "#003f29") Color.new("TelescopeSelectionFg", "#f6fb2d") Group.new( "TelescopeSelection", From 84c03de0d479f4678f9832150db4c1a988d5a973 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 May 2024 09:30:04 +0200 Subject: [PATCH 255/656] Initial work on light/dark auto modes --- .config/nvim/lazy-lock.json | 16 ++------ .config/wezterm/colors/shelman-dark.toml | 40 +++++++++++++++++++ .config/wezterm/colors/shelman-light.toml | 34 ++++++++++++++++ .config/wezterm/shelman-dark.toml | 14 ------- .config/wezterm/shelman-light.toml | 14 ------- .config/wezterm/wezterm.lua | 33 +++++++++++---- .../wezterm-dln-dev-secondary.desktop | 2 +- .ssh/config | 3 ++ .tmux.conf | 1 + 9 files changed, 108 insertions(+), 49 deletions(-) create mode 100644 .config/wezterm/colors/shelman-dark.toml create mode 100644 .config/wezterm/colors/shelman-light.toml delete mode 100644 .config/wezterm/shelman-dark.toml delete mode 100644 .config/wezterm/shelman-light.toml diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 83d5624..5f1a163 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -11,10 +11,9 @@ "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, "conform.nvim": { "branch": "master", "commit": "dc950e5717f1da65b1fcd986b1bbff0d6bd0e2ee" }, - "crates.nvim": { "branch": "main", "commit": "7d8541ec0e3b30ac2c43864d3ee13a632e1231ed" }, + "crates.nvim": { "branch": "main", "commit": "cfd14e75867e77fe2f38fae09dcb1a36bc6aa95b" }, "dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" }, "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, - "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" }, "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, @@ -23,7 +22,6 @@ "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "1b3d60405d1d720b2c4927f19672e9479703b00f" }, "mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" }, "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, @@ -39,18 +37,12 @@ "none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" }, "nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" }, "nvim-cmp": { "branch": "main", "commit": "24122371810089d390847d8ba66325c1f1aa64c0" }, - "nvim-dap": { "branch": "master", "commit": "615a1b2046e1eaf7995e0ba8e8a65f344201349d" }, - "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, - "nvim-dap-ui": { "branch": "master", "commit": "5934302d63d1ede12c0b22b6f23518bb183fc972" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "3e8e207513e6ef520894950acd76b79902714103" }, "nvim-lint": { "branch": "master", "commit": "83ee4952a968d89329e5a49b4648831d98124783" }, "nvim-lspconfig": { "branch": "master", "commit": "94513a5b246cf32a8f87ca714af50911df63351c" }, - "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, - "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, - "nvim-treesitter": { "branch": "master", "commit": "0d2c80b4d00c8f793e17d2d1d24d4aa5aaa88bc2" }, + "nvim-treesitter": { "branch": "master", "commit": "d5a1c2b0c8ec5bb377a41c1c414b315d6b3e9432" }, "nvim-treesitter-context": { "branch": "master", "commit": "1e52a2c4223c1e7b0def9c76a1f3757d372196c3" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "dfa4178c0cadb44f687603d72ad0908474c28dd9" }, "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, @@ -62,10 +54,10 @@ "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-frecency.nvim": { "branch": "master", "commit": "6b6565e6584c86ca501bdac485cbdc2ca64556e4" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "fac83a556e7b710dc31433dec727361ca062dbe9" }, + "telescope.nvim": { "branch": "master", "commit": "02a60a83961cf9c80e471599171982a31d1cc853" }, "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, "tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" }, - "trouble.nvim": { "branch": "dev", "commit": "f6a3fbfb667c3cccea8df9b7471fb9b31b1235fc" }, + "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, "vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" }, "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, diff --git a/.config/wezterm/colors/shelman-dark.toml b/.config/wezterm/colors/shelman-dark.toml new file mode 100644 index 0000000..5679fbb --- /dev/null +++ b/.config/wezterm/colors/shelman-dark.toml @@ -0,0 +1,40 @@ +[metadata] +name = "Shelman Dark" +origin_url = "" + +[colors] +ansi = [ + "#000000", + "#ff0035", + "#85ff00", + "#ffc900", + "#00a7ff", + "#cb01ff", + "#00e0ff", + "#f0f0f0", +] + +brights = [ + "#000000", + "#ff8c88", + "#baff94", + "#ffe090", + "#88ccff", + "#e38dff", + "#97eeff", + "#ffffff", +] + +# background = "#000000" +background = "#0d1117" +# background = "#11171d" +#background = "#171e26" +# background = "#161923" +# foreground = "#e3e0cd" +# foreground = "#d3d0bd" +foreground = "#cccccc" +cursor_bg = "#00d992" +cursor_fg = "#000000" +cursor_border = "#000000" +selection_bg = "#d7d7d7" +selection_fg = "#000000" diff --git a/.config/wezterm/colors/shelman-light.toml b/.config/wezterm/colors/shelman-light.toml new file mode 100644 index 0000000..04b0e87 --- /dev/null +++ b/.config/wezterm/colors/shelman-light.toml @@ -0,0 +1,34 @@ +[metadata] +name = "Shelman Light" +origin_url = "" + +[colors] +ansi = [ + "#000000", + "#9e001d", + "#306300", + "#deae00", + "#00669e", + "#7d009e", + "#008a9e", + "#f0f0f0", +] + +brights = [ + "#000000", + "#ff0035", + "#509e00", + "#ffc900", + "#00a7ff", + "#cb01ff", + "#00e0ff", + "#ffffff", +] + +background = "#fefeff" +foreground = "#2c363c" +cursor_bg = "#aa0000" +cursor_fg = "#ffffff" +cursor_border = "#ffffff" +selection_bg = "#ffe6a4" +selection_fg = "#483600" diff --git a/.config/wezterm/shelman-dark.toml b/.config/wezterm/shelman-dark.toml deleted file mode 100644 index 24f0f06..0000000 --- a/.config/wezterm/shelman-dark.toml +++ /dev/null @@ -1,14 +0,0 @@ -[metadata] - name = "Shelman Dark" - origin_url = "" - -[colors] - ansi = ["#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0"] - brights = ["#000000", "#ffb4af", "#d2ffba", "#ffebb7", "#b1deff", "#edb5ff", "#bdf4ff", "#ffffff"] - background = "#1e2835" - foreground = "#e0e0e0" - cursor_bg = "#ffcc00" - cursor_fg = "#000000" - cursor_border = "#ffcc00" - selection_bg = "#d7d7d7" - selection_fg = "#000000" diff --git a/.config/wezterm/shelman-light.toml b/.config/wezterm/shelman-light.toml deleted file mode 100644 index 6b730cb..0000000 --- a/.config/wezterm/shelman-light.toml +++ /dev/null @@ -1,14 +0,0 @@ -[metadata] - name = "Shelman Light" - origin_url = "" - -[colors] - ansi = ["#000000", "#9e001d", "#509e00", "#ffc900", "#00669e", "#7d009e", "#008a9e", "#f0f0f0"] - brights = ["#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff"] - background = "#fefeff" - foreground = "#000000" - cursor_bg = "#aa0000" - cursor_fg = "#ffffff" - cursor_border = "#aa0000" - selection_bg = "#d7d7d7" - selection_fg = "#000000" diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index b967d2b..d6565b0 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -7,15 +7,32 @@ local spawn_dev_nvim = { "ssh", dev_host, "nvim", "--listen", os.getenv("XDG_RUN wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") +local function scheme_for_appearance(appearance) + if appearance:find("Dark") then + return "Shelman Dark" + else + return "Shelman Light" + end +end + +local function font_for_appearance(appearance) + if appearance:find("Dark") then + return wezterm.font({ + family = "IosevkaShelman Nerd Font", + weight = "Light", + }) + else + return wezterm.font({ + family = "IosevkaShelman Nerd Font", + -- weight = "Regular", + --weight = "Regular", + }) + end +end + return { - color_scheme = "Shelman Theme", - color_scheme_dirs = { - os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm", - }, - font = wezterm.font({ - family = "IosevkaShelman Nerd Font", - weight = "Light", - }), + color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()), + font = font_for_appearance(wezterm.gui.get_appearance()), font_rules = { { italic = true, diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop index 39b281b..862fa5a 100644 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ b/.local/share/applications/wezterm-dln-dev-secondary.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config window_background_opacity=0.8 --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary +Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary diff --git a/.ssh/config b/.ssh/config index 7596805..be346ee 100644 --- a/.ssh/config +++ b/.ssh/config @@ -4,6 +4,7 @@ ControlMaster auto ControlPath ${XDG_RUNTIME_DIR}/ssh_control:%h:%p:%r ControlPersist 1200 Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr + AddressFamily inet PreferredAuthentications=publickey @@ -21,7 +22,9 @@ LocalForward localhost:3000 localhost:3000 LocalForward localhost:8000 localhost:8000 LocalForward localhost:8080 localhost:8080 LocalForward localhost:9090 localhost:9090 +LocalForward localhost:10000 localhost:10000 RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock +RemoteForward localhost:9022 localhost:9022 Host * ForwardAgent no diff --git a/.tmux.conf b/.tmux.conf index 6ae19c6..6779453 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -24,6 +24,7 @@ set -g history-limit 10000 # set -g default-terminal "wezterm" set -ga terminal-features '*:clipboard:ccolor:hyperlinks:osc7:overline:sixel:strikethrough:title:usstyle:RGB' +set -ga terminal-overrides ',wezterm:cnorm=\E[?12h\E[?25h' # Key bindings bind -n M-Tab if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window' From 19f00ce5525df0176bf58d34f8f90a8ec55eb438 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 14 May 2024 15:48:18 +0200 Subject: [PATCH 256/656] nvim: hide telescope previews by default --- .config/nvim/lua/plugins/editor.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index 687f174..f217eb6 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -24,6 +24,9 @@ return { winblend = 0, wrap_results = true, previewer = false, + preview = { + hide_on_startup = true, + }, }, }, }, From a143f808c7493e7a028ae6f97793f08d13ad1b85 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 14 May 2024 19:57:55 +0200 Subject: [PATCH 257/656] nvim: dashboard prettification --- .config/nvim/lua/plugins/ui.lua | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 390de3b..a52669a 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -20,15 +20,39 @@ hooks.register(hooks.type.HIGHLIGHT_SETUP, function() Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) end) +local logo = [[ +███████ ██ ██ ███████ ██ ███ ███ █████ ███ ██ ██████ ██████ ██████ ██ ██ ██████ +██ ██ ██ ██ ██ ████ ████ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +███████ ███████ █████ ██ ██ ████ ██ ███████ ██ ██ ██ ██ ███ ██████ ██ ██ ██ ██ ██████ + ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +███████ ██ ██ ███████ ███████ ██ ██ ██ ██ ██ ████ ██████ ██ ██ ██████ ██████ ██ +]] + return { + { + "nvimdev/dashboard-nvim", + opts = { + theme = "hyper", + config = { + header = vim.split(string.rep("\n", 8) .. logo, "\n"), + week_header = { enable = false }, + packages = { enable = false }, + project = { enable = false }, + footer = {}, + shortcut = {}, + }, + }, + }, + { "echasnovski/mini.indentscope", opts = { draw = { - delay = 25, -- ms + delay = 50, -- ms }, }, }, + { "akinsho/bufferline.nvim", enabled = false, @@ -54,7 +78,7 @@ return { }, }, scope = { - enabled = true, + enabled = false, show_start = false, char = "│", highlight = { From 12680213900d341569da97136d4989c7ef879e37 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 23 May 2024 22:09:31 +0200 Subject: [PATCH 258/656] fish: colors --- .config/fish/fish_variables | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index ac55d57..68e6461 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -15,6 +15,7 @@ SETUVAR fish_color_history_current:\x2d\x2dbold SETUVAR fish_color_host:89b4fa SETUVAR fish_color_host_remote:a6e3a1 SETUVAR fish_color_keyword:f38ba8 +SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue SETUVAR fish_color_normal:cdd6f4 SETUVAR fish_color_operator:f5c2e7 SETUVAR fish_color_option:a6e3a1 @@ -43,3 +44,4 @@ SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d SETUVAR fish_user_paths:/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin +SETUVAR --export theme:Catppuccin\x20Latte From 3ab98646c7ecca5c4c13e972337cca6ba863a2ae Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 23 May 2024 22:09:52 +0200 Subject: [PATCH 259/656] helix: dark mode --- .config/helix/config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/helix/config.toml b/.config/helix/config.toml index 99d8310..c789a38 100644 --- a/.config/helix/config.toml +++ b/.config/helix/config.toml @@ -1,4 +1,5 @@ theme = "sumi-e" +# theme = "github_light" [editor] true-color = true From b520597a527f91006560f074fef5d260abc72e1f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 23 May 2024 22:10:11 +0200 Subject: [PATCH 260/656] neovim: onward --- .config/nvim/lazy-lock.json | 102 ++++++++++++----------- .config/nvim/lua/config/lazy.lua | 2 +- .config/nvim/lua/config/options.lua | 4 +- .config/nvim/lua/plugins/coding.lua | 6 +- .config/nvim/lua/plugins/colorscheme.lua | 28 +------ .config/nvim/lua/plugins/lsp.lua | 5 +- .config/nvim/lua/plugins/ui.lua | 12 +++ 7 files changed, 79 insertions(+), 80 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 5f1a163..913a3bc 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,65 +1,69 @@ { - "LazyVim": { "branch": "main", "commit": "cfe87ba894b6c2c961827de45c55b57b1183865c" }, - "LuaSnip": { "branch": "master", "commit": "b152822e1a4bafb6bdf11a16cc26525cbd95ee00" }, - "SchemaStore.nvim": { "branch": "main", "commit": "35a0998728380a17b8590447e8207391411c667a" }, + "LazyVim": { "branch": "main", "commit": "0f6ff53ce336082869314db11e9dfa487cf83292" }, + "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, + "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, - "conform.nvim": { "branch": "master", "commit": "dc950e5717f1da65b1fcd986b1bbff0d6bd0e2ee" }, - "crates.nvim": { "branch": "main", "commit": "cfd14e75867e77fe2f38fae09dcb1a36bc6aa95b" }, - "dashboard-nvim": { "branch": "master", "commit": "a0a78099658c7d4be3714f657b18ca8285d5d106" }, - "dressing.nvim": { "branch": "master", "commit": "5162edb1442a729a885c45455a07e9a89058be2f" }, - "friendly-snippets": { "branch": "main", "commit": "3e9a3f5a0cfcef1741e352c37bda4e82e5eb846a" }, - "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, + "conform.nvim": { "branch": "master", "commit": "f3b930db4964d60e255c8f9e37b7f2218dfc08cb" }, + "crates.nvim": { "branch": "main", "commit": "d556c00d60c9421c913ee54ff690df2a34f6264e" }, + "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, + "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, + "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, + "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, + "fzf": { "branch": "master", "commit": "daa602422dc272cbec6b99bc7520262672ad7230" }, + "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, + "gitsigns.nvim": { "branch": "main", "commit": "cdfcd9d39d23c46ae9a040de2c6a8b8bf868746e" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "incline.nvim": { "branch": "main", "commit": "3e8edbc457daab8dba087dbba319865a912be7f9" }, - "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, - "lazy.nvim": { "branch": "main", "commit": "758bb5de98b805acc5eeed8cdc8ac7f0bc4b0b86" }, + "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, + "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, - "mason.nvim": { "branch": "main", "commit": "1b3d60405d1d720b2c4927f19672e9479703b00f" }, - "mini.ai": { "branch": "main", "commit": "55e9b7217f29e62f734e239bfeed5731a065d801" }, - "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, - "mini.comment": { "branch": "main", "commit": "f9f1a646fd3d9df7397aa1b9550a875fe8189eb0" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, + "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, + "mini.ai": { "branch": "main", "commit": "a0262e61f79dfc7bb940d1719c00b0ede042ddd7" }, + "mini.colors": { "branch": "main", "commit": "be18d56eeaae810e34334c0e9230608f59f71c28" }, "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, - "mini.surround": { "branch": "main", "commit": "eb89a88a51655e46a93595204a9251a012918883" }, "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "7aad1bf3f6b849cbf108e02c55ad4d701cb4d33a" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, - "neoconf.nvim": { "branch": "main", "commit": "bdd6c7dac2038d6495890dd84f451cf9f7425c50" }, + "neoconf.nvim": { "branch": "main", "commit": "9092129e9a42ae26375001bd2e6118f8d57c7f2a" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, - "noice.nvim": { "branch": "main", "commit": "09102ca2e9a3e9302119fdaf7a059a034e4a626d" }, - "none-ls.nvim": { "branch": "main", "commit": "f5632db2491fbe02b54f1a321a98548a8ba2bd15" }, - "nui.nvim": { "branch": "main", "commit": "a3597dc88b53489d3fddbddbbd13787355253bb0" }, - "nvim-cmp": { "branch": "main", "commit": "24122371810089d390847d8ba66325c1f1aa64c0" }, - "nvim-lint": { "branch": "master", "commit": "83ee4952a968d89329e5a49b4648831d98124783" }, - "nvim-lspconfig": { "branch": "master", "commit": "94513a5b246cf32a8f87ca714af50911df63351c" }, - "nvim-noirbuddy": { "branch": "master", "commit": "9cb20d2a649153d07649c9c85c092c0533d4883d" }, - "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, - "nvim-spectre": { "branch": "master", "commit": "4651801ba37a9407b7257287aec45b6653ffc5e9" }, - "nvim-treesitter": { "branch": "master", "commit": "d5a1c2b0c8ec5bb377a41c1c414b315d6b3e9432" }, - "nvim-treesitter-context": { "branch": "master", "commit": "1e52a2c4223c1e7b0def9c76a1f3757d372196c3" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "dfa4178c0cadb44f687603d72ad0908474c28dd9" }, - "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "0bdccb9c67a42a5e2d99384dc9bfa29b1451528f" }, - "nvim-web-devicons": { "branch": "master", "commit": "5b9067899ee6a2538891573500e8fd6ff008440f" }, - "persistence.nvim": { "branch": "main", "commit": "4982499c1636eac254b72923ab826ee7827b3084" }, - "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, - "rustaceanvim": { "branch": "master", "commit": "1c3d3a75bebcb16df2a093b147ba498185e4ab17" }, - "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, - "telescope-frecency.nvim": { "branch": "master", "commit": "6b6565e6584c86ca501bdac485cbdc2ca64556e4" }, + "noice.nvim": { "branch": "main", "commit": "883cd5b638aef23d087c334940112d39ebff0aaa" }, + "none-ls.nvim": { "branch": "main", "commit": "aa4442a8493934e3354e507a556ea5f670f68491" }, + "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, + "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nvim-dap": { "branch": "master", "commit": "c65c163daa47e0623dd85d2303fce0c22e52ad01" }, + "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, + "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, + "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, + "nvim-lspconfig": { "branch": "master", "commit": "2c1877081b237a643e52ebdebaf36c84a2695639" }, + "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, + "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, + "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, + "nvim-snippets": { "branch": "main", "commit": "b3fe9af9fe2bf735f7d3988ad87f4c2fceadcc2b" }, + "nvim-spectre": { "branch": "master", "commit": "5690ea46baf08bbc1623980012e14b6239ce582e" }, + "nvim-treesitter": { "branch": "master", "commit": "298a9dd4f8a0d95b347a7ebd301849d8b0e3917e" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, + "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, + "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, + "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "rustaceanvim": { "branch": "master", "commit": "45075f8a47406021870eeab3c953aee7438cb898" }, + "telescope-frecency.nvim": { "branch": "master", "commit": "328452afcc29187732575842c19172f4d4ed749d" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "02a60a83961cf9c80e471599171982a31d1cc853" }, - "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, - "tokyonight.nvim": { "branch": "main", "commit": "67afeaf7fd6ebba000633e89f63c31694057edde" }, - "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, - "vim-illuminate": { "branch": "master", "commit": "e522e0dd742a83506db0a72e1ced68c9c130f185" }, - "vim-startuptime": { "branch": "master", "commit": "ac2cccb5be617672add1f4f3c0a55ce99ba34e01" }, + "telescope.nvim": { "branch": "master", "commit": "5665d93988acfbb0747bdbf4f4cb583bcebc8930" }, + "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, + "tokyonight.nvim": { "branch": "main", "commit": "b9b494fa7f7bbf2fe0747b47fa290fb7a4eddcc7" }, + "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, + "ts-comments.nvim": { "branch": "main", "commit": "8ea22850c40b4aef481a6ebdd74c928ed2b20427" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "yanky.nvim": { "branch": "main", "commit": "7c5cbf0122ff2dfbb6a92f14885894f65949cc8b" } + "yanky.nvim": { "branch": "main", "commit": "8756d19923ad871eb95f543a8a98c026b4a8494f" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 1fc7c73..72fd4cb 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -35,7 +35,7 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - -- install = { colorscheme = { "eyes" } }, + install = { colorscheme = { "default" } }, checker = { enabled = false }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 5545fc7..5a4776b 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -13,9 +13,9 @@ vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.scrolloff = 7 vim.o.splitkeep = "screen" -vim.o.updatetime = 250 +vim.o.updatetime = 1500 vim.o.timeout = true -vim.o.timeoutlen = 150 +vim.o.timeoutlen = 15 -- additional filetypes vim.filetype.add({ diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index bbabbc5..46b8f6b 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -12,9 +12,9 @@ return { table.insert(opts.sources, { name = "emoji" }) opts.view = { docs = { auto_open = false }, entries = { follow_cursor = true } } - opts.completion = { - autocomplete = false, - } + -- opts.completion = { + -- autocomplete = false, + -- } local winhighlight = "Normal:NoiceCmdlinePopupTitle,FloatBorder:NoiceCmdlinePopupBorder,CursorLine:PMenuSel,Search:Search" diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 1b86901..85158a9 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,5 +1,6 @@ return { - --[=====[ + { "echasnovski/mini.colors", version = false }, + { -- "p00f/alabaster.nvim", -- url = "https://git.sr.ht/~p00f/alabaster.nvim", @@ -8,6 +9,7 @@ return { priority = 1000, }, + --[=====[ { "LazyVim/LazyVim", opts = { @@ -15,29 +17,7 @@ return { }, }, - - { "echasnovski/mini.colors", version = false }, - - { - "shelmangroup/sumi-e", - dir = "/home/dln/src/git.shelman.io/shelmangroup/sumi-e.nvim", - lazy = false, - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - }, - - { - "LazyVim/LazyVim", - opts = { - colorscheme = "sumi-e", - }, - }, - - --]=====] - -- - -- - -- + --]=====] { "jesseleite/nvim-noirbuddy", diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index cc5441a..93920d8 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -2,7 +2,10 @@ return { { "neovim/nvim-lspconfig", opts = { - inlay_hints = { enabled = true }, + inlay_hints = { enabled = false }, + -- codelens = { + -- enabled = true, + -- }, servers = { rust_analyzer = { mason = false, diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index a52669a..3105269 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -158,4 +158,16 @@ return { "nvim-lualine/lualine.nvim", enabled = false, }, + + { + "linrongbin16/fzfx.nvim", + dependencies = { "nvim-tree/nvim-web-devicons", "junegunn/fzf" }, + + -- specify version to avoid break changes + version = "v5.*", + + config = function() + require("fzfx").setup() + end, + }, } From af200b99edf12894994690aaaf734c46cf4f5c40 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 23 May 2024 22:53:22 +0200 Subject: [PATCH 261/656] neovim: <esc> should exit telescope immediately --- .config/nvim/lua/plugins/editor.lua | 55 +++++++++++++++++------------ 1 file changed, 33 insertions(+), 22 deletions(-) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index f217eb6..c497c0c 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -5,29 +5,40 @@ return { }, { "telescope.nvim", - opts = { - defaults = { - layout_strategy = "horizontal", - layout_config = { - anchor = "top", - horizontal = { - prompt_position = "top", - mirror = false, - preview_width = 0.4, - -- preview_height = 0.5, + config = function() + local telescope = require("telescope") + local actions = require("telescope.actions") + + telescope.setup({ + defaults = { + layout_strategy = "horizontal", + layout_config = { + anchor = "top", + horizontal = { + prompt_position = "top", + mirror = false, + preview_width = 0.4, + -- preview_height = 0.5, + }, + width = 0.9, + height = 0.9, + preview_cutoff = 10, + }, + mappings = { + i = { + ["<esc>"] = actions.close, -- <Esc> close popup + ["<C-u>"] = false, -- <C-u> clear prompt + }, + }, + sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, + previewer = false, + preview = { + hide_on_startup = true, }, - width = 0.9, - height = 0.9, - preview_cutoff = 10, }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, - previewer = false, - preview = { - hide_on_startup = true, - }, - }, - }, + }) + end, }, } From 6b83e85aa2d92be73711fae30f92ed36f8508189 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 24 May 2024 16:15:55 +0200 Subject: [PATCH 262/656] fish: add broot for jumping directory --- .config/broot/conf.hjson | 260 ++++++++++++++++++ .config/broot/launcher/bash/br | 1 + .config/broot/launcher/installed-v4 | 4 + .config/broot/select.toml | 6 + .../broot/skins/catppuccin-macchiato.hjson | 171 ++++++++++++ .config/broot/skins/catppuccin-mocha.hjson | 171 ++++++++++++ .config/broot/skins/dark-blue.hjson | 116 ++++++++ .config/broot/skins/dark-gruvbox.hjson | 88 ++++++ .config/broot/skins/dark-orange.hjson | 111 ++++++++ .config/broot/skins/native-16.hjson | 132 +++++++++ .config/broot/skins/solarized-dark.hjson | 66 +++++ .config/broot/skins/solarized-light.hjson | 118 ++++++++ .config/broot/skins/white.hjson | 84 ++++++ .config/broot/verbs.hjson | 168 +++++++++++ .config/fish/config.fish | 7 +- .config/nvim/lazy-lock.json | 15 +- .config/nvim/lua/plugins/editor.lua | 1 + .tmux.conf | 5 - 18 files changed, 1511 insertions(+), 13 deletions(-) create mode 100644 .config/broot/conf.hjson create mode 120000 .config/broot/launcher/bash/br create mode 100644 .config/broot/launcher/installed-v4 create mode 100644 .config/broot/select.toml create mode 100644 .config/broot/skins/catppuccin-macchiato.hjson create mode 100644 .config/broot/skins/catppuccin-mocha.hjson create mode 100644 .config/broot/skins/dark-blue.hjson create mode 100644 .config/broot/skins/dark-gruvbox.hjson create mode 100644 .config/broot/skins/dark-orange.hjson create mode 100644 .config/broot/skins/native-16.hjson create mode 100644 .config/broot/skins/solarized-dark.hjson create mode 100644 .config/broot/skins/solarized-light.hjson create mode 100644 .config/broot/skins/white.hjson create mode 100644 .config/broot/verbs.hjson diff --git a/.config/broot/conf.hjson b/.config/broot/conf.hjson new file mode 100644 index 0000000..9e91548 --- /dev/null +++ b/.config/broot/conf.hjson @@ -0,0 +1,260 @@ +############################################################### +# This configuration file lets you +# - define new commands +# - change the shortcut or triggering keys of built-in verbs +# - change the colors +# - set default values for flags +# - set special behaviors on specific paths +# - and more... +# +# Configuration documentation is available at +# https://dystroy.org/broot +# +# This file's format is Hjson ( https://hjson.github.io/ ). Some +# properties are commented out. To enable them, remove the `#`. +# +############################################################### + +############################################################### +# Default flags +# You can set up flags you want broot to start with by +# default, for example `default_flags="-ihp"` if you usually want +# to see hidden and gitignored files and the permissions (then +# if you don't want the hidden files at a specific launch, +# you can launch broot with `br -H`). +# A popular flag is the `g` one which displays git related info. +# +# default_flags: + +############################################################### +# Terminal's title +# If you want the terminal's title to be updated when you change +# directory, set a terminal_title pattern by uncommenting one of +# the examples below and tuning it to your taste. +# +# terminal_title: "[broot] {git-name}" +# terminal_title: "{file} 🐄" +# terminal_title: "-= {file-name} =-" + +############################################################### +# Date/Time format +# If you want to change the format for date/time, uncomment the +# following line and change it according to +# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html +# +# date_time_format: %Y/%m/%d %R + +############################################################### +# uncomment to activate modal mode +# +# (you really should read https://dystroy.org/broot/modal/ +# before as it may not suit everybody even among vim users) +# +# You may start either in 'command' mode, or in 'input' mode +# +# modal: true +# initial_mode: command + +############################################################### +# Whether to mark the selected line with a triangle +# +show_selection_mark: true + +############################################################### +# Column order +# cols_order, if specified, must be a permutation of the following +# array. You should keep the name column at the end as it has a +# variable length. +# +# cols_order: [ +# mark +# git +# size +# permission +# date +# count +# branch +# name +# ] + +############################################################### +# True Colors +# If this parameter isn't set, broot tries to automatically +# determine whether true colors (24 bits) are available. +# As this process is unreliable, you may uncomment this setting +# and set it to false or true if you notice the colors in +# previewed images are too off. +# +# true_colors: false + +############################################################### +# Icons +# If you want to display icons in broot, uncomment this line +# (see https://dystroy.org/broot/icons for installation and +# troubleshooting) +# +# icon_theme: vscode +icon_theme: nerdfont + +############################################################### +# Special paths +# If some paths must be handled specially, uncomment (and change +# this section as per the examples) +# Setting "list":"never" on a dir prevents broot from looking at its +# children when searching, unless the dir is the selected root. +# Setting "sum":"never" on a dir prevents broot from looking at its +# children when computing the total size and count of files. +# Setting "show":"always" makes a file visible even if its name +# starts with a dot. +# Setting "list":"always" may be useful on a link to a directory +# (they're otherwise not entered by broot unless selected) +# +special_paths: { + "/media" : { + list: "never" + sum: "never" + } + "~/.config": { "show": "always" } + "trav": { + show: always + list: "always", + sum: "never" + } + # "~/useless": { "show": "never" } + # "~/my-link-I-want-to-explore": { "list": "always" } +} + +############################################################### +# Quit on last cancel +# You can usually cancel the last state change on escape. +# If you want the escape key to quit broot when there's nothing +# to cancel (for example when you just opened broot), uncomment +# this parameter +# +# quit_on_last_cancel: true + +quit_on_last_cancel: true + +############################################################### +# Search modes +# +# broot allows many search modes. +# A search mode is defined by +# - the way to search: 'fuzzy', 'exact', 'regex', or 'tokens'. +# - where to search: file 'name', 'path', or file 'content' +# A search pattern may for example be "fuzzy path" (default), +# "regex content" or "exact path". +# +# The search mode is selected from its prefix. For example, if +# you type "abc", the default mode is "fuzzy path". If you type +# "/abc", the mode is "regex path". If you type "rn/abc", the mode +# is "regex name". +# +# This mapping may be modified. You may want to dedicate the +# empty prefix (the one which doesn't need a '/') to the +# search mode you use most often. The example below makes it +# easy to search on name rather than on the subpath. +# +# More information on +# https://dystroy.org/broot/input/#the-filtering-pattern +# +# search_modes: { +# <empty>: fuzzy name +# /: regex name +# } + +############################################################### +# File Extension Colors +# +# uncomment and modify the next section if you want to color +# file name depending on their extension +# +# ext_colors: { +# png: rgb(255, 128, 75) +# rs: yellow +# } + +############################################################### +# Max file size for content search +# +# Bigger files are ignored when searching their content. You +# can specify this size either in ISO units (eg 5GB) or in +# the old binary units (eg 44Kib) +content_search_max_file_size: 10MB + +############################################################### +# Max Panels Count +# +# Change this if you sometimes want to have more than 2 panels +# open +# max_panels_count: 2 + +############################################################### +# Update work dir +# +# By default, broot process' work dir is kept in sync with the +# current's panel root. If you want to keep it unchanged, +# uncomment this setting +# +# update_work_dir: false + +############################################################### +# Kitty Keyboard extension +# +# If you want to use advanced keyboard shortcuts in Kitty +# compatible terminals (Kitty, Wezterm), set this to true. +# +# This makes it possible to use shortcuts like 'space-n', +# 'ctrl-alt-a-b', 'shift-space', etc. +# +enable_kitty_keyboard: true + +############################################################### +# lines around matching line in filtered preview +# +# When searching the content of a file, you can have either +# only the matching lines displayed, or some of the surrounding +# ones too. +# +lines_before_match_in_preview: 1 +lines_after_match_in_preview: 1 + +############################################################### +# Imports +# +# While it's possible to have all configuration in one file, +# it's more convenient to split it in several ones. +# Importing also allows to set a condition on the terminal's +# color, which makes it possible to have a different skin +# chosen when your terminal has a light background and when +# it has a light one. +imports: [ + + # Verbs are better configured in verbs.hjson. But you + # can also add another files for your personal verbs + verbs.hjson + + # This file contains the skin to use when the terminal + # is dark (or when this couldn't be determined) + { + luma: [ + dark + unknown + ] + # (un)comment to choose your preferred skin + file: skins/dark-blue.hjson + //file: skins/catppuccin-macchiato.hjson + //file: skins/catppuccin-mocha.hjson + //file: skins/dark-gruvbox.hjson + //file: skins/dark-orange.hjson + //file: skins/solarized-dark.hjson + } + + # This skin is imported when your terminal is light + { + luma: light + # (un)comment to choose your preferred skin + //file: skins/solarized-light.hjson + file: skins/white.hjson + } +] diff --git a/.config/broot/launcher/bash/br b/.config/broot/launcher/bash/br new file mode 120000 index 0000000..c577ca3 --- /dev/null +++ b/.config/broot/launcher/bash/br @@ -0,0 +1 @@ +/home/dln/.local/share/broot/launcher/bash/1 \ No newline at end of file diff --git a/.config/broot/launcher/installed-v4 b/.config/broot/launcher/installed-v4 new file mode 100644 index 0000000..3f026af --- /dev/null +++ b/.config/broot/launcher/installed-v4 @@ -0,0 +1,4 @@ + +This file tells broot the installation of the br function was done. +If there's a problem and you want to install it again run + broot -- install diff --git a/.config/broot/select.toml b/.config/broot/select.toml new file mode 100644 index 0000000..2b2a477 --- /dev/null +++ b/.config/broot/select.toml @@ -0,0 +1,6 @@ +[[verbs]] +invocation = "ok" +key = "enter" +leave_broot = true +execution = ":print_path" +apply_to = "directory" diff --git a/.config/broot/skins/catppuccin-macchiato.hjson b/.config/broot/skins/catppuccin-macchiato.hjson new file mode 100644 index 0000000..21a3bf1 --- /dev/null +++ b/.config/broot/skins/catppuccin-macchiato.hjson @@ -0,0 +1,171 @@ +############################################################### +# A skin for a terminal with a dark background +# This skin uses RGB values so won't work for some +# terminals. +# +# Created by Majixed +# Based on the catppuccin-mocha theme by A. Taha Baki <atahabaki@pm.me> +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +skin: { + input: rgb(202, 211, 245) none + # fg:none bg:$surface2 + selected_line: none rgb(91, 96, 120) + # fg:$text bg:none + default: rgb(202, 211, 245) none + # fg:$overlay0 bg:none + tree: rgb(110, 115, 141) none + # fg:$sapphire bg:none + parent: rgb(125, 196, 228) none + file: none none +# +### PERMISSIONS +# + perm__: rgb(184, 192, 224) none + # $peach + perm_r: rgb(245, 169, 127) none + # $maroon + perm_w: rgb(238, 153, 160) none + # $green + perm_x: rgb(166, 218, 149) none + # $teal + owner: rgb(139, 213, 202) none + # $sky + group: rgb(145, 215, 227) none +# +### DATE +# + # $subtext1 + dates: rgb(184, 192, 224) none +# +### DIRECTORY +# + # $lavender + directory: rgb(183, 189, 248) none Bold + # $green + exe: rgb(166, 218, 149) none + # $yellow + link: rgb(238, 212, 159) none + # $subtext0 + pruning: rgb(165, 173, 203) none Italic +# +### PREVIEW +# + # fg:$text bg:$mantle + preview_title: rgb(202, 211, 245) rgb(30, 32, 48) + # fg:$text bg:$mantle + preview: rgb(202, 211, 245) rgb(30, 32, 48) + # fg:$overlay0 + preview_line_number: rgb(110, 115, 141) none + # fg:$overlay0 + preview_separator: rgb(110, 115, 141) none +# +### MATCH +# + char_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic + content_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic + preview_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic + + # children count + # fg:$yellow bg:none + count: rgb(238, 212, 159) none + sparse: rgb(237, 135, 150) none + content_extract: rgb(237, 135, 150) none Italic +# +### GIT +# + git_branch: rgb(245, 169, 127) none + git_insertions: rgb(245, 169, 127) none + git_deletions: rgb(245, 169, 127) none + git_status_current: rgb(245, 169, 127) none + git_status_modified: rgb(245, 169, 127) none + git_status_new: rgb(245, 169, 127) none Bold + git_status_ignored: rgb(245, 169, 127) none + git_status_conflicted: rgb(245, 169, 127) none + git_status_other: rgb(245, 169, 127) none + staging_area_title: rgb(245, 169, 127) none +# +### FLAG +# + flag_label: rgb(237, 135, 150) none + flag_value: rgb(237, 135, 150) none Bold +# +### STATUS +# + # fg:none #bg:$mantle + status_normal: none rgb(30, 32, 48) + # fg:$red bg:$mantle + status_italic: rgb(237, 135, 150) rgb(30, 32, 48) Italic + # fg:$maroon bg:$mantle + status_bold: rgb(238, 153, 160) rgb(30, 32, 48) Bold + # fg:$maroon bg:$mantle + status_ellipsis: rgb(238, 153, 160) rgb(30, 32, 48) Bold + # fg:$text bg:$red + status_error: rgb(202, 211, 245) rgb(237, 135, 150) + # fg:$maroon bg:$mantle + status_job: rgb(238, 153, 160) rgb(40, 38, 37) + # fg:$maroon bg:$mantle + status_code: rgb(238, 153, 160) rgb(30, 32, 48) Italic + # fg:$maroon bg:$mantle + mode_command_mark: rgb(238, 153, 160) rgb(30, 32, 48) Bold +# +### HELP +# + # fg:$text + help_paragraph: rgb(202, 211, 245) none + # fg:$red + help_headers: rgb(237, 135, 150) none Bold + # fg:$peach + help_bold: rgb(245, 169, 127) none Bold + # fg:$yellow + help_italic: rgb(238, 212, 159) none Italic + # fg:green bg:$surface0 + help_code: rgb(166, 218, 149) rgb(54, 58, 79) + # fg:$overlay0 + help_table_border: rgb(110, 115, 141) none +# +### HEX +# + # fg:$text + hex_null: rgb(202, 211, 245) none + # fg:$peach + hex_ascii_graphic: rgb(245, 169, 127) none + # fg:$green + hex_ascii_whitespace: rgb(166, 218, 149) none + # fg: teal + hex_ascii_other: rgb(139, 213, 202) none + # fg: red + hex_non_ascii: rgb(237, 135, 150) none + + # fg:$text bg:$red + file_error: rgb(243, 60, 44) none +# +### PURPOSE +# + purpose_normal: none none + purpose_italic: rgb(169, 90, 127) none Italic + purpose_bold: rgb(169, 90, 127) none Bold + purpose_ellipsis: none none +# +### SCROLLBAR +# + # fg:$surface0 + scrollbar_track: rgb(54, 58, 79) none + # fg:$surface1 + scrollbar_thumb: rgb(91, 96, 120) none +# +### GOODTOBAD +# + good_to_bad_0: rgb(166, 218, 149) none + good_to_bad_1: rgb(139, 213, 202) none + good_to_bad_2: rgb(145, 215, 227) none + good_to_bad_3: rgb(125, 196, 228) none + good_to_bad_4: rgb(138, 173, 244) none + good_to_bad_5: rgb(183, 189, 248) none + good_to_bad_6: rgb(198, 160, 246) none + good_to_bad_7: rgb(245, 169, 127) none + good_to_bad_8: rgb(238, 153, 160) none + good_to_bad_9: rgb(237, 135, 150) none +} diff --git a/.config/broot/skins/catppuccin-mocha.hjson b/.config/broot/skins/catppuccin-mocha.hjson new file mode 100644 index 0000000..6ac1b92 --- /dev/null +++ b/.config/broot/skins/catppuccin-mocha.hjson @@ -0,0 +1,171 @@ +############################################################### +# A skin for a terminal with a dark background +# This skin uses RGB values so won't work for some +# terminals. +# +# Created by A. Taha Baki <atahabaki@pm.me> +# Based on the built-in gruvbox theme. +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +skin: { + input: rgb(205, 214, 244) none + # fg:none bg:$surface2 + selected_line: none rgb(88, 91, 112) + # fg:$text bg:none + default: rgb(205, 214, 244) none + # fg:$overlay0 bg:none + tree: rgb(108, 112, 134) none + # fg:$sapphire bg:none + parent: rgb(116, 199, 236) none + file: none none +# +### PERMISSIONS +# + perm__: rgb(186, 194, 222) none + # $peach + perm_r: rgb(250, 179, 135) none + # $maroon + perm_w: rgb(235, 160, 172) none + # $green + perm_x: rgb(166, 227, 161) none + # $teal + owner: rgb(148, 226, 213) none + # $sky + group: rgb(137, 220, 235) none +# +### DATE +# + # $subtext1 + dates: rgb(186, 194, 222) none +# +### DIRECTORY +# + # $lavender + directory: rgb(180, 190, 254) none Bold + # $green + exe: rgb(166, 227, 161) none + # $yellow + link: rgb(249, 226, 175) none + # $subtext0 + pruning: rgb(166, 173, 200) none Italic +# +### PREVIEW +# + # fg:$text bg:$mantle + preview_title: rgb(205, 214, 244) rgb(24, 24, 37) + # fg:$text bg:$mantle + preview: rgb(205, 214, 244) rgb(24, 24, 37) + # fg:$overlay0 + preview_line_number: rgb(108, 112, 134) none + # fg:$overlay0 + preview_separator: rgb(108, 112, 134) none +# +### MATCH +# + char_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic + content_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic + preview_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic + + # children count + # fg:$yellow bg:none + count: rgb(249, 226, 175) none + sparse: rgb(243, 139, 168) none + content_extract: rgb(243, 139, 168) none Italic +# +### GIT +# + git_branch: rgb(250, 179, 135) none + git_insertions: rgb(250, 179, 135) none + git_deletions: rgb(250, 179, 135) none + git_status_current: rgb(250, 179, 135) none + git_status_modified: rgb(250, 179, 135) none + git_status_new: rgb(250, 179, 135) none Bold + git_status_ignored: rgb(250, 179, 135) none + git_status_conflicted: rgb(250, 179, 135) none + git_status_other: rgb(250, 179, 135) none + staging_area_title: rgb(250, 179, 135) none +# +### FLAG +# + flag_label: rgb(243, 139, 168) none + flag_value: rgb(243, 139, 168) none Bold +# +### STATUS +# + # fg:none #bg:$mantle + status_normal: none rgb(24, 24, 37) + # fg:$red bg:$mantle + status_italic: rgb(243, 139, 168) rgb(24, 24, 37) Italic + # fg:$maroon bg:$mantle + status_bold: rgb(235, 160, 172) rgb(24, 24, 37) Bold + # fg:$maroon bg:$mantle + status_ellipsis: rgb(235, 160, 172) rgb(24, 24, 37) Bold + # fg:$text bg:$red + status_error: rgb(205, 214, 244) rgb(243, 139, 168) + # fg:$maroon bg:$mantle + status_job: rgb(235, 160, 172) rgb(40, 38, 37) + # fg:$maroon bg:$mantle + status_code: rgb(235, 160, 172) rgb(24, 24, 37) Italic + # fg:$maroon bg:$mantle + mode_command_mark: rgb(235, 160, 172) rgb(24, 24, 37) Bold +# +### HELP +# + # fg:$text + help_paragraph: rgb(205, 214, 244) none + # fg:$red + help_headers: rgb(243, 139, 168) none Bold + # fg:$peach + help_bold: rgb(250, 179, 135) none Bold + # fg:$yellow + help_italic: rgb(249, 226, 175) none Italic + # fg:green bg:$surface0 + help_code: rgb(166, 227, 161) rgb(49, 50, 68) + # fg:$overlay0 + help_table_border: rgb(108, 112, 134) none +# +### HEX +# + # fg:$text + hex_null: rgb(205, 214, 244) none + # fg:$peach + hex_ascii_graphic: rgb(250, 179, 135) none + # fg:$green + hex_ascii_whitespace: rgb(166, 227, 161) none + # fg: teal + hex_ascii_other: rgb(148, 226, 213) none + # fg: red + hex_non_ascii: rgb(243, 139, 168) none + + # fg:$text bg:$red + file_error: rgb(251, 73, 52) none +# +### PURPOSE +# + purpose_normal: none none + purpose_italic: rgb(177, 98, 134) none Italic + purpose_bold: rgb(177, 98, 134) none Bold + purpose_ellipsis: none none +# +### SCROLLBAR +# + # fg:$surface0 + scrollbar_track: rgb(49, 50, 68) none + # fg:$surface1 + scrollbar_thumb: rgb(88, 91, 112) none +# +### GOODTOBAD +# + good_to_bad_0: rgb(166, 227, 161) none + good_to_bad_1: rgb(148, 226, 213) none + good_to_bad_2: rgb(137, 220, 235) none + good_to_bad_3: rgb(116, 199, 236) none + good_to_bad_4: rgb(137, 180, 250) none + good_to_bad_5: rgb(180, 190, 254) none + good_to_bad_6: rgb(203, 166, 247) none + good_to_bad_7: rgb(250, 179, 135) none + good_to_bad_8: rgb(235, 160, 172) none + good_to_bad_9: rgb(243, 139, 168) none +} diff --git a/.config/broot/skins/dark-blue.hjson b/.config/broot/skins/dark-blue.hjson new file mode 100644 index 0000000..7dbc7f4 --- /dev/null +++ b/.config/broot/skins/dark-blue.hjson @@ -0,0 +1,116 @@ +############################################################### +# A skin for a terminal with a dark background +# +# To create your own skin, copy this file, change the entries +# and import your skin file from the main conf file (look +# for "imports") +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +############################################################### +# Skin +# If you want to change the colors of broot, +# uncomment the following block and start messing +# with the various values. +# A skin entry value is made of two parts separated with a '/': +# The first one is the skin for the active panel. +# The second one, optional, is the skin for non active panels. +# You may find explanations and other skins on +# https://dystroy.org/broot/skins +############################################################### +skin: { + default: gray(22) none / gray(20) none + tree: gray(8) None / gray(4) None + parent: gray(18) None / gray(13) None + file: gray(22) None / gray(15) None + directory: ansi(110) None bold / ansi(110) None + exe: Cyan None + link: Magenta None + pruning: gray(12) None Italic + perm__: gray(5) None + perm_r: ansi(94) None + perm_w: ansi(132) None + perm_x: ansi(65) None + owner: ansi(138) None + group: ansi(131) None + count: ansi(138) gray(4) + dates: ansi(66) None + sparse: ansi(214) None + content_extract: ansi(29) None + content_match: ansi(34) None + device_id_major: ansi(138) None + device_id_sep: ansi(102) None + device_id_minor: ansi(138) None + git_branch: ansi(178) None + git_insertions: ansi(28) None + git_deletions: ansi(160) None + git_status_current: gray(5) None + git_status_modified: ansi(28) None + git_status_new: ansi(94) None bold + git_status_ignored: gray(17) None + git_status_conflicted: ansi(88) None + git_status_other: ansi(88) None + selected_line: None gray(6) / None gray(4) + char_match: Green None + file_error: Red None + flag_label: gray(15) gray(2) + flag_value: ansi(178) gray(2) bold + input: White gray(2) / gray(15) None + status_error: gray(22) ansi(124) + status_job: ansi(220) gray(5) + status_normal: gray(20) gray(4) / gray(2) gray(2) + status_italic: ansi(178) gray(4) / gray(2) gray(2) + status_bold: ansi(178) gray(4) bold / gray(2) gray(2) + status_code: ansi(229) gray(4) / gray(2) gray(2) + status_ellipsis: gray(19) gray(1) / gray(2) gray(2) + purpose_normal: gray(20) gray(2) + purpose_italic: ansi(178) gray(2) + purpose_bold: ansi(178) gray(2) bold + purpose_ellipsis: gray(20) gray(2) + scrollbar_track: gray(7) None / gray(4) None + scrollbar_thumb: gray(22) None / gray(14) None + help_paragraph: gray(20) None + help_bold: ansi(178) None bold + help_italic: ansi(229) None + help_code: gray(21) gray(3) + help_headers: ansi(178) None + help_table_border: ansi(239) None + preview: gray(20) gray(1) / gray(18) gray(2) + preview_title: gray(23) gray(2) / gray(21) gray(2) + preview_line_number: gray(12) gray(3) + preview_separator: gray(5) None + preview_match: None ansi(29) + hex_null: gray(8) None + hex_ascii_graphic: gray(18) None + hex_ascii_whitespace: ansi(143) None + hex_ascii_other: ansi(215) None + hex_non_ascii: ansi(167) None + staging_area_title: gray(22) gray(2) / gray(20) gray(3) + mode_command_mark: gray(5) ansi(204) bold + good_to_bad_0: ansi(28) + good_to_bad_1: ansi(29) + good_to_bad_2: ansi(29) + good_to_bad_3: ansi(29) + good_to_bad_4: ansi(29) + good_to_bad_5: ansi(100) + good_to_bad_6: ansi(136) + good_to_bad_7: ansi(172) + good_to_bad_8: ansi(166) + good_to_bad_9: ansi(196) +} + +############################################################### +# Syntax Theme +# +# If you want to choose the theme used for preview, uncomment +# one of the following lines: +# +# syntax_theme: GitHub +# syntax_theme: SolarizedDark +# syntax_theme: SolarizedLight +syntax_theme: MochaDark +# syntax_theme: MochaDark +# syntax_theme: OceanDark +# syntax_theme: OceanLight + diff --git a/.config/broot/skins/dark-gruvbox.hjson b/.config/broot/skins/dark-gruvbox.hjson new file mode 100644 index 0000000..e62d583 --- /dev/null +++ b/.config/broot/skins/dark-gruvbox.hjson @@ -0,0 +1,88 @@ +############################################################### +# A skin for a terminal with a dark background +# This skin uses RGB values so won't work for some +# terminals. +# +# +# (initially contributed by @basbebe) +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +skin: { + default: rgb(235, 219, 178) none / rgb(189, 174, 147) none + tree: rgb(70, 70, 80) None / rgb(60, 60, 60) None + parent: rgb(235, 219, 178) none / rgb(189, 174, 147) none Italic + file: None None / None None Italic + directory: rgb(131, 165, 152) None Bold / rgb(131, 165, 152) None + exe: rgb(184, 187, 38) None + link: rgb(104, 157, 106) None + pruning: rgb(124, 111, 100) None Italic + perm__: None None + perm_r: rgb(215, 153, 33) None + perm_w: rgb(204, 36, 29) None + perm_x: rgb(152, 151, 26) None + owner: rgb(215, 153, 33) None Bold + group: rgb(215, 153, 33) None + count: rgb(69, 133, 136) rgb(50, 48, 47) + dates: rgb(168, 153, 132) None + sparse: rgb(250, 189,47) None + content_extract: ansi(29) None Italic + content_match: ansi(34) None Bold + git_branch: rgb(251, 241, 199) None + git_insertions: rgb(152, 151, 26) None + git_deletions: rgb(190, 15, 23) None + git_status_current: rgb(60, 56, 54) None + git_status_modified: rgb(152, 151, 26) None + git_status_new: rgb(104, 187, 38) None Bold + git_status_ignored: rgb(213, 196, 161) None + git_status_conflicted: rgb(204, 36, 29) None + git_status_other: rgb(204, 36, 29) None + selected_line: None rgb(60, 56, 54) / None rgb(50, 48, 47) + char_match: rgb(250, 189, 47) None + file_error: rgb(251, 73, 52) None + flag_label: rgb(189, 174, 147) None + flag_value: rgb(211, 134, 155) None Bold + input: rgb(251, 241, 199) None / rgb(189, 174, 147) None Italic + status_error: rgb(213, 196, 161) rgb(204, 36, 29) + status_job: rgb(250, 189, 47) rgb(60, 56, 54) + status_normal: None rgb(40, 38, 37) / None None + status_italic: rgb(211, 134, 155) rgb(40, 38, 37) Italic / None None + status_bold: rgb(211, 134, 155) rgb(40, 38, 37) Bold / None None + status_code: rgb(251, 241, 199) rgb(40, 38, 37) / None None + status_ellipsis: rgb(251, 241, 199) rgb(40, 38, 37) Bold / None None + purpose_normal: None None + purpose_italic: rgb(177, 98, 134) None Italic + purpose_bold: rgb(177, 98, 134) None Bold + purpose_ellipsis: None None + scrollbar_track: rgb(80, 73, 69) None / rgb(50, 48, 47) None + scrollbar_thumb: rgb(213, 196, 161) None / rgb(102, 92, 84) None + help_paragraph: None None + help_bold: rgb(214, 93, 14) None Bold + help_italic: rgb(211, 134, 155) None Italic + help_code: rgb(142, 192, 124) rgb(50, 48, 47) + help_headers: rgb(254, 128, 25) None Bold + help_table_border: rgb(80, 73, 69) None + preview_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40) + preview: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(235, 219, 178) rgb(40, 40, 40) + preview_line_number: rgb(124, 111, 100) None / rgb(124, 111, 100) rgb(40, 40, 40) + preview_separator: rgb(70, 70, 80) None / rgb(60, 60, 60) None + preview_match: None ansi(29) Bold + hex_null: rgb(189, 174, 147) None + hex_ascii_graphic: rgb(213, 196, 161) None + hex_ascii_whitespace: rgb(152, 151, 26) None + hex_ascii_other: rgb(254, 128, 25) None + hex_non_ascii: rgb(214, 93, 14) None + staging_area_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40) + mode_command_mark: gray(5) ansi(204) Bold + good_to_bad_0: ansi(28) + good_to_bad_1: ansi(29) + good_to_bad_2: ansi(29) + good_to_bad_3: ansi(29) + good_to_bad_4: ansi(29) + good_to_bad_5: ansi(100) + good_to_bad_6: ansi(136) + good_to_bad_7: ansi(172) + good_to_bad_8: ansi(166) + good_to_bad_9: ansi(196) +} diff --git a/.config/broot/skins/dark-orange.hjson b/.config/broot/skins/dark-orange.hjson new file mode 100644 index 0000000..8e2f845 --- /dev/null +++ b/.config/broot/skins/dark-orange.hjson @@ -0,0 +1,111 @@ +############################################################### +# A skin for a terminal with a dark background +# +# To create your own skin, copy this file, change the entries +# and import your skin file from the main conf file (look +# for "imports") +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +############################################################### +# Skin +# If you want to change the colors of broot, +# uncomment the following bloc and start messing +# with the various values. +# A skin entry value is made of two parts separated with a '/': +# The first one is the skin for the active panel. +# The second one, optional, is the skin for non active panels. +# You may find explanations and other skins on +# https://dystroy.org/broot/skins +############################################################### +skin: { + default: none none / gray(20) none + tree: ansi(94) None / gray(3) None + parent: gray(18) None / gray(13) None + file: gray(20) None / gray(15) None + directory: ansi(208) None Bold / ansi(172) None bold + exe: Cyan None + link: Magenta None + pruning: gray(12) None Italic + perm__: gray(5) None + perm_r: ansi(94) None + perm_w: ansi(132) None + perm_x: ansi(65) None + owner: ansi(138) None + group: ansi(131) None + count: ansi(136) gray(3) + dates: ansi(66) None + sparse: ansi(214) None + content_extract: ansi(29) None + content_match: ansi(34) None + git_branch: ansi(229) None + git_insertions: ansi(28) None + git_deletions: ansi(160) None + git_status_current: gray(5) None + git_status_modified: ansi(28) None + git_status_new: ansi(94) None Bold + git_status_ignored: gray(17) None + git_status_conflicted: ansi(88) None + git_status_other: ansi(88) None + selected_line: None gray(5) / None gray(4) + char_match: Yellow None + file_error: Red None + flag_label: gray(15) None + flag_value: ansi(208) None Bold + input: White None / gray(15) gray(2) + status_error: gray(22) ansi(124) + status_job: ansi(220) gray(5) + status_normal: gray(20) gray(3) / gray(2) gray(2) + status_italic: ansi(208) gray(3) / gray(2) gray(2) + status_bold: ansi(208) gray(3) Bold / gray(2) gray(2) + status_code: ansi(229) gray(3) / gray(2) gray(2) + status_ellipsis: gray(19) gray(1) / gray(2) gray(2) + purpose_normal: gray(20) gray(2) + purpose_italic: ansi(178) gray(2) + purpose_bold: ansi(178) gray(2) Bold + purpose_ellipsis: gray(20) gray(2) + scrollbar_track: gray(7) None / gray(4) None + scrollbar_thumb: gray(22) None / gray(14) None + help_paragraph: gray(20) None + help_bold: ansi(208) None Bold + help_italic: ansi(166) None + help_code: gray(21) gray(3) + help_headers: ansi(208) None + help_table_border: ansi(239) None + preview: gray(20) gray(1) / gray(18) gray(2) + preview_line_number: gray(12) gray(3) + preview_separator: ansi(94) None / gray(3) None + preview_match: None ansi(29) + hex_null: gray(11) None + hex_ascii_graphic: gray(18) None + hex_ascii_whitespace: ansi(143) None + hex_ascii_other: ansi(215) None + hex_non_ascii: ansi(167) None + good_to_bad_0: ansi(28) + good_to_bad_1: ansi(29) + good_to_bad_2: ansi(29) + good_to_bad_3: ansi(29) + good_to_bad_4: ansi(29) + good_to_bad_5: ansi(100) + good_to_bad_6: ansi(136) + good_to_bad_7: ansi(172) + good_to_bad_8: ansi(166) + good_to_bad_9: ansi(196) +} + + +############################################################### +# Syntax Theme +# +# If you want to choose the theme used for preview, uncomment +# one of the following lines: +# +# syntax_theme: GitHub +# syntax_theme: SolarizedDark +# syntax_theme: SolarizedLight +syntax_theme: SolarizedDark +# syntax_theme: MochaDark +# syntax_theme: OceanDark +# syntax_theme: OceanLight + diff --git a/.config/broot/skins/native-16.hjson b/.config/broot/skins/native-16.hjson new file mode 100644 index 0000000..a220c10 --- /dev/null +++ b/.config/broot/skins/native-16.hjson @@ -0,0 +1,132 @@ +############################################################### +# 16 ANSI color theme. Colors in this theme are restricted from +# ANSI color 0 - 15. This will allow the theme to adapt to your +# terminal emulator's theme. Note that, for now, the preview +# mode does not yet support this theme because of syntect not +# having a 16 ansi color theme. +# +# More info at https://jeffkreeftmeijer.com/vim-16-color/ +# Doc at https://dystroy.org/broot/skins/ +############################################################### + +skin: { + directory: ansi(12) + file: ansi(7) + pruning: ansi(8) none italic + selected_line: none ansi(0) + tree: ansi(8) + + # Search + char_match: ansi(3) none underlined + parent: ansi(4) none bold + + # File properties + exe: ansi(2) + link: ansi(13) + sparse: ansi(12) + + # Prompt + input: ansi(6) + + # Status bar + status_bold: ansi(7) ansi(8) bold + status_code: ansi(10) ansi(8) + status_ellipsis: ansi(7) ansi(8) + status_error: ansi(7) ansi(8) + status_italic: ansi(7) ansi(8) italic + status_job: ansi(7) ansi(8) + status_normal: ansi(7) ansi(8) + + # Flag status + flag_label: ansi(6) + flag_value: ansi(14) none bold + + # Background + default: none none + + # Scrollbar + scrollbar_track: ansi(0) + scrollbar_thumb: ansi(3) + + # Git + git_branch: ansi(13) + git_deletions: ansi(1) + git_insertions: ansi(2) + git_status_conflicted: ansi(1) + git_status_current: ansi(6) + git_status_ignored: ansi(8) + git_status_modified: ansi(3) + git_status_new: ansi(2) none bold + git_status_other: ansi(5) + + # Staging area + staging_area_title: ansi(3) + + # Documentation + help_bold: ansi(7) none bold + help_code: ansi(4) + help_headers: ansi(3) + help_italic: ansi(7) none italic + help_paragraph: ansi(7) + help_table_border: ansi(8) + + # Device column + device_id_major: ansi(5) + device_id_minor: ansi(5) + device_id_sep: ansi(5) + + # Counts column + count: ansi(13) + + # Dates column + dates: ansi(6) + + # Permissions column + group: ansi(3) + owner: ansi(3) + perm__: ansi(8) + perm_r: ansi(3) + perm_w: ansi(1) + perm_x: ansi(2) + + # Hex preview + hex_null: ansi(8) + hex_ascii_graphic: ansi(2) + hex_ascii_whitespace: ansi(3) + hex_ascii_other: ansi(4) + hex_non_ascii: ansi(5) + + # Preview + # preview: none + # preview_line_number: none + # preview_match: none + # preview_title: none + + # Used for displaying errors + file_error: ansi(1) + + # Content searches + content_extract: ansi(7) + content_match: ansi(3) none underlined + + # Used in status line + purpose_bold: ansi(0) ansi(7) bold + purpose_ellipsis: ansi(0) + purpose_italic: ansi(0) ansi(7) italic + purpose_normal: ansi(0) + + # Modal indicator + mode_command_mark: ansi(7) ansi(4) + + # File system occupation + good_to_bad_0: ansi(2) + good_to_bad_1: ansi(2) + good_to_bad_2: ansi(2) + good_to_bad_3: ansi(2) + good_to_bad_4: ansi(2) + good_to_bad_5: ansi(1) + good_to_bad_6: ansi(1) + good_to_bad_7: ansi(1) + good_to_bad_8: ansi(1) + good_to_bad_9: ansi(1) +} diff --git a/.config/broot/skins/solarized-dark.hjson b/.config/broot/skins/solarized-dark.hjson new file mode 100644 index 0000000..fdea579 --- /dev/null +++ b/.config/broot/skins/solarized-dark.hjson @@ -0,0 +1,66 @@ +// contributed by [@danieltrautmann](https://github.com/danieltrautmann) +// +// +// The Solarized Dark skin uses RGB values, so it might not work well with some +// terminals +// +// Doc at https://dystroy.org/broot/skins/ + +skin: { + default: "rgb(131, 148, 150) rgb(0, 43, 54) / rgb(131, 148, 150) rgb(7, 54, 66)" // base0 base03 / base01 base02 + tree: "rgb(88, 110, 117) none" // base01 default + file: "none none" // default default + directory: "rgb(38, 139, 210) none bold" // blue default bold + exe: "rgb(211, 1, 2) none" // red default + link: "rgb(211, 54, 130) none" // magenta default + pruning: "rgb(88, 110, 117) none italic" // base01 default italic + perm__: "rgb(88, 110, 117) none" // base01 default + perm_r: "none none" // default default + perm_w: "none none" // default default + perm_x: "none none" // default default + owner: "rgb(88, 110, 117) none" // base01 default + group: "rgb(88, 110, 117) none" // base01 default + sparse: "none none" // default default + git_branch: "rgb(147, 161, 161) none" // base1 default + git_insertions: "rgb(133, 153, 0) none" // green default + git_deletions: "rgb(211, 1, 2) none" // red default + git_status_current: "none none" // default default + git_status_modified: "rgb(181, 137, 0) none" // yellow default + git_status_new: "rgb(133, 153, 0) none" // green default + git_status_ignored: "rgb(88, 110, 117) none" // base01 default + git_status_conflicted: "rgb(211, 1, 2) none" // red default + git_status_other: "rgb(211, 1, 2) none" // red default + selected_line: "none rgb(7, 54, 66)" // default base02 + char_match: "rgb(133, 153, 0) none underlined" // green default underlined + file_error: "rgb(203, 75, 22) none italic" // orange default italic + flag_label: "none none" // default default + flag_value: "rgb(181, 137, 0) none bold" // yellow default bold + input: "none none" // default default + status_error: "rgb(203, 75, 22) rgb(7, 54, 66)" // orange base02 + status_job: "rgb(108, 113, 196) rgb(7, 54, 66) bold" // violet base02 bold + status_normal: "none rgb(7, 54, 66)" // default base02 + status_italic: "rgb(181, 137, 0) rgb(7, 54, 66)" // yellow base02 + status_bold: "rgb(147, 161, 161) rgb(7, 54, 66) bold" // base1 base02 bold + status_code: "rgb(108, 113, 196) rgb(7, 54, 66)" // violet base02 + status_ellipsis: "none rgb(7, 54, 66)" // default base02 + scrollbar_track: "rgb(7, 54, 66) none" // base02 default + scrollbar_thumb: "none none" // default default + help_paragraph: "none none" // default default + help_bold: "rgb(147, 161, 161) none bold" // base1 default bold + help_italic: "rgb(147, 161, 161) none italic" // base1 default italic + help_code: "rgb(147, 161, 161) rgb(7, 54, 66)" // base1 base02 + help_headers: "rgb(181, 137, 0) none" // yellow default + help_table_border: "none none" // default default + preview_title: "gray(20) rgb(0, 43, 54)" + staging_area_title: "gray(22) rgb(0, 43, 54)" + good_to_bad_0: "ansi(28)" // green + good_to_bad_1: "ansi(29)" + good_to_bad_2: "ansi(29)" + good_to_bad_3: "ansi(29)" + good_to_bad_4: "ansi(29)" + good_to_bad_5: "ansi(100)" + good_to_bad_6: "ansi(136)" + good_to_bad_7: "ansi(172)" + good_to_bad_8: "ansi(166)" + good_to_bad_9: "ansi(196)" // red +} diff --git a/.config/broot/skins/solarized-light.hjson b/.config/broot/skins/solarized-light.hjson new file mode 100644 index 0000000..6e19275 --- /dev/null +++ b/.config/broot/skins/solarized-light.hjson @@ -0,0 +1,118 @@ +// contributed by [@danieltrautmann](https://github.com/danieltrautmann) +// +// +// The Solarized Light skin uses RGB values, so it might not work well with some +// terminals +// +// If you prefer to keep the background the same as your terminal background, change +// the "default" entry to +// default: "none none / rgb(147, 161, 161) none" +// +// Doc at https://dystroy.org/broot/skins/ + +skin: { + // base00 default / base1 base2 + default: "rgb(101, 123, 131) none / rgb(147, 161, 161) none" + // base1 default + tree: "rgb(147, 161, 161) none" + // default default + file: "none none" + // blue default bold + directory: "rgb(38, 139, 210) none bold" + // red default + exe: "rgb(211, 1, 2) none" + // magenta default + link: "rgb(211, 54, 130) none" + // base1 default italic + pruning: "rgb(147, 161, 161) none italic" + // base1 default + perm__: "rgb(147, 161, 161) none" + // default default + perm_r: "none none" + // default default + perm_w: "none none" + // default default + perm_x: "none none" + // base1 default + owner: "rgb(147, 161, 161) none" + // base1 default + group: "rgb(147, 161, 161) none" + // default default + sparse: "none none" + // base01 default + git_branch: "rgb(88, 110, 117) none" + // green default + git_insertions: "rgb(133, 153, 0) none" + // red default + git_deletions: "rgb(211, 1, 2) none" + // default default + git_status_current: "none none" + // yellow default + git_status_modified: "rgb(181, 137, 0) none" + // green default + git_status_new: "rgb(133, 153, 0) none" + // base1 default + git_status_ignored: "rgb(147, 161, 161) none" + // red default + git_status_conflicted: "rgb(211, 1, 2) none" + // red default + git_status_other: "rgb(211, 1, 2) none" + // default base2 + selected_line: "none rgb(238, 232, 213)" + // green default underlined + char_match: "rgb(133, 153, 0) none underlined" + // orange default italic + file_error: "rgb(203, 75, 22) none italic" + // default default + flag_label: "none none" + // yellow default bold + flag_value: "rgb(181, 137, 0) none bold" + // default default + input: "none none" + // orange base2 + status_error: "rgb(203, 75, 22) rgb(238, 232, 213)" + // violet base2 bold + status_job: "rgb(108, 113, 196) rgb(238, 232, 213) bold" + // default base2 + status_normal: "none rgb(238, 232, 213)" + // yellow base2 + status_italic: "rgb(181, 137, 0) rgb(238, 232, 213)" + // base01 base2 bold + status_bold: "rgb(88, 110, 117) rgb(238, 232, 213) bold" + // violet base2 + status_code: "rgb(108, 113, 196) rgb(238, 232, 213)" + // default base2 + status_ellipsis: "none rgb(238, 232, 213)" + // base2 default + scrollbar_track: "rgb(238, 232, 213) none" + // default default + scrollbar_thumb: "none none" + // default default + help_paragraph: "none none" + // base01 default bold + help_bold: "rgb(88, 110, 117) none bold" + // base01 default italic + help_italic: "rgb(88, 110, 117) none italic" + // base01 base2 + help_code: "rgb(88, 110, 117) rgb(238, 232, 213)" + // yellow default + help_headers: "rgb(181, 137, 0) none" + // default default + help_table_border: "none none" + preview_title: "rgb(147, 161, 161) rgb(238, 232, 213)" + preview: "rgb(101, 123, 131) rgb(253, 246, 227) / rgb(147, 161, 161) rgb(238, 232, 213)" + preview_line_number: "rgb(147, 161, 161) rgb(238, 232, 213)" + preview_separator: "rgb(147, 161, 161) rgb(238, 232, 213)" + preview_match: "None ansi(29)" + staging_area_title: "gray(22) rgb(253, 246, 227)" + good_to_bad_0: ansi(28) + good_to_bad_1: ansi(29) + good_to_bad_2: ansi(29) + good_to_bad_3: ansi(29) + good_to_bad_4: ansi(29) + good_to_bad_5: ansi(100) + good_to_bad_6: ansi(136) + good_to_bad_7: ansi(172) + good_to_bad_8: ansi(166) + good_to_bad_9: ansi(196) +} diff --git a/.config/broot/skins/white.hjson b/.config/broot/skins/white.hjson new file mode 100644 index 0000000..908e648 --- /dev/null +++ b/.config/broot/skins/white.hjson @@ -0,0 +1,84 @@ +############################################################### +# A skin for a terminal with a white background +# +# To create your own skin, copy this file, change the entries +# and import your skin file from the main conf file (look +# for "imports") +# +# Doc at https://dystroy.org/broot/skins/ +############################################################### +syntax_theme: base16-ocean.light + +skin: { + default: gray(1) None + tree: gray(7) None / gray(18) None + file: gray(3) None / gray(8) None + directory: ansi(25) None Bold / ansi(25) None + exe: ansi(130) None + link: Magenta None + pruning: gray(12) None Italic + perm__: gray(5) None + perm_r: ansi(94) None + perm_w: ansi(132) None + perm_x: ansi(65) None + owner: ansi(138) None + group: ansi(131) None + dates: ansi(66) None + sparse: ansi(214) None + git_branch: ansi(229) None + git_insertions: ansi(28) None + git_deletions: ansi(160) None + git_status_current: gray(5) None + git_status_modified: ansi(28) None + git_status_new: ansi(94) None Bold + git_status_ignored: gray(17) None + git_status_conflicted: ansi(88) None + git_status_other: ansi(88) None + selected_line: None gray(19) / None gray(21) + char_match: ansi(22) None + file_error: Red None + flag_label: gray(9) None + flag_value: ansi(166) None Bold + input: gray(1) None / gray(4) gray(20) + status_error: gray(22) ansi(124) + status_normal: gray(2) gray(20) + status_job: ansi(220) gray(5) + status_italic: ansi(166) gray(20) + status_bold: ansi(166) gray(20) + status_code: ansi(17) gray(20) + status_ellipsis: gray(19) gray(15) + purpose_normal: gray(20) gray(2) + purpose_italic: ansi(178) gray(2) + purpose_bold: ansi(178) gray(2) Bold + purpose_ellipsis: gray(20) gray(2) + scrollbar_track: gray(20) none + scrollbar_thumb: ansi(238) none + help_paragraph: gray(2) none + help_bold: ansi(202) none bold + help_italic: ansi(202) none italic + help_code: gray(5) gray(22) + help_headers: ansi(202) none + help_table_border: ansi(239) None + preview_title: gray(3) None / gray(5) None + preview: gray(5) gray(23) / gray(7) gray(23) + preview_line_number: gray(6) gray(20) + preview_separator: gray(7) None / gray(18) None + preview_match: None ansi(29) Underlined + hex_null: gray(15) None + hex_ascii_graphic: gray(2) None + hex_ascii_whitespace: ansi(143) None + hex_ascii_other: ansi(215) None + hex_non_ascii: ansi(167) None + staging_area_title: gray(8) None / gray(13) None + mode_command_mark: gray(15) ansi(204) Bold + good_to_bad_0: ansi(28) + good_to_bad_1: ansi(29) + good_to_bad_2: ansi(29) + good_to_bad_3: ansi(29) + good_to_bad_4: ansi(29) + good_to_bad_5: ansi(100) + good_to_bad_6: ansi(136) + good_to_bad_7: ansi(172) + good_to_bad_8: ansi(166) + good_to_bad_9: ansi(196) +} diff --git a/.config/broot/verbs.hjson b/.config/broot/verbs.hjson new file mode 100644 index 0000000..2dc8097 --- /dev/null +++ b/.config/broot/verbs.hjson @@ -0,0 +1,168 @@ +############################################################### +# This file contains the verb definitions for broot +# +# Some verbs here are examples and not enabled by default: you +# need to uncomment them if you want to use them. +# +# Documentation at https://dystroy.org/broot/verbs/ +############################################################### + +verbs: [ + { + invocation: nvim + key: enter + apply_to: text_file + execution: "tmux-edit-helper {file}" + leave_broot: true + } + + # You should customize this standard opening of text files. + # If you edit text files in your terminal (vi, emacs, helix, eg.), then + # you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'. + # + # If $EDITOR isn't set on your computer, you should either set it using + # something similar to + # export EDITOR=/usr/local/bin/nvim + # or just replace it with your editor of choice in the 'execution' + # pattern. + # If your editor is able to open a file on a specific line, use {line} + # so that you may jump directly at the right line from a preview or + # a content search. + # Examples depending on your favourite editor: + # execution: "nvim +{line} {file}" + # execution: "helix {file}:{line}" + { + invocation: edit + shortcut: e + key: ctrl-e + apply_to: text_file + execution: "$EDITOR {file}" + leave_broot: false + } + + # Example 1: launching `tail -n` on the selected file (leaving broot) + # { + # name: tail_lines + # invocation: tl {lines_count} + # execution: "tail -f -n {lines_count} {file}" + # } + + # Example 2: creating a new file without leaving broot + # { + # name: touch + # invocation: touch {new_file} + # execution: "touch {directory}/{new_file}" + # leave_broot: false + # } + + # A convenient shortcut to create new text files in + # the current directory or below + { + invocation: create {subpath} + execution: "$EDITOR {directory}/{subpath}" + leave_broot: false + } + + { + invocation: git_diff + shortcut: gd + leave_broot: false + execution: "git difftool -y {file}" + } + + # On ctrl-b, propose the creation of a copy of the selection. + # While this might occasionally be useful, this verb is mostly here + # as an example to demonstrate rare standard groups like {file-stem} + # and {file-dot-extension} and the auto_exec verb property which + # allows verbs to stay unexecuted until you hit enter + { + invocation: "backup {version}" + key: ctrl-b + leave_broot: false + auto_exec: false + execution: "cp -r {file} {parent}/{file-stem}-{version}{file-dot-extension}" + } + + # By default, `rm` does the system rm, and completely removes + # the file. If you prefer to have the file moved to the system + # trash, you may use the ':trash' internal with the verb below: + # { + # invocation: "rm" + # internal: "trash" + # leave_broot: false + # } + + # This verb lets you launch a terminal on ctrl-T + # (on exit you'll be back in broot) + { + invocation: terminal + key: ctrl-t + execution: "$SHELL" + set_working_dir: true + leave_broot: false + } + + # Here's an example of a verb needing the shell capabilities. + # It copies all children of the currently selected directory + # to a destination you type. + # It uses a star, which needs the shell for expansion. That's + # why such verb must have the `from_shell: true` parameter. + # { + # invocation: "cpa {dest}" + # external: "cp -r {directory}/* {dest}" + # from_shell: true + # } + + # Here's an example of a shortcut bringing you to your home directory + # { + # invocation: home + # key: ctrl-home + # execution: ":focus ~" + # } + + # Here's going to the work-dir root of the current git repository + # { + # invocation: gtr + # execution: ":focus {git-root}" + # } + + # A popular set of shortcuts for going up and down: + # + # { + # key: ctrl-k + # execution: ":line_up" + # } + # { + # key: ctrl-j + # execution: ":line_down" + # } + # { + # key: ctrl-u + # execution: ":page_up" + # } + # { + # key: ctrl-d + # execution: ":page_down" + # } + + # If you develop using git, you might like to often switch + # to the git status filter: + # { + # key: alt-g + # execution: ":toggle_git_status" + # } + + # You can reproduce the bindings of Norton Commander + # on copying or moving to the other panel: + # { + # key: F5 + # external: "cp -r {file} {other-panel-directory}" + # leave_broot: false + # } + # { + # key: F6 + # external: "mv {file} {other-panel-directory}" + # leave_broot: false + # } +] + diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 1f21ad2..e42a7b0 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -46,12 +46,17 @@ if status is-interactive end function jump - set _dir $(fre --sorted | fzf-tmux --no-sort -p 90%,40% -y 0 -- --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --layout=reverse) + set _dir $(fre --sorted | fzf --no-sort --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.toml $(git rev-parse --show-toplevel 2>/dev/null || pwd))') [ -n "$_dir" ] && pushd $_dir >>/dev/null commandline -f repaint end bind \cg jump + bind \c_ 'do something' + bind \ee 'br $(git rev-parse --show-toplevel 2>/dev/null || pwd)' + bind \eg gitui + + ## Kubernetes fish_add_path $HOME/.krew/bin # function kubectl --wraps kubectl diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 913a3bc..91beb33 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -2,6 +2,7 @@ "LazyVim": { "branch": "main", "commit": "0f6ff53ce336082869314db11e9dfa487cf83292" }, "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, + "broot.nvim": { "branch": "main", "commit": "c4365d34e5751832206fd6fd0a4f325b742dea0a" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, @@ -34,8 +35,8 @@ "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, "neoconf.nvim": { "branch": "main", "commit": "9092129e9a42ae26375001bd2e6118f8d57c7f2a" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, - "noice.nvim": { "branch": "main", "commit": "883cd5b638aef23d087c334940112d39ebff0aaa" }, - "none-ls.nvim": { "branch": "main", "commit": "aa4442a8493934e3354e507a556ea5f670f68491" }, + "noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" }, + "none-ls.nvim": { "branch": "main", "commit": "60f5f80686f5a272ed3281a7d4962cb54dc5348e" }, "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, "nvim-dap": { "branch": "master", "commit": "c65c163daa47e0623dd85d2303fce0c22e52ad01" }, @@ -43,21 +44,21 @@ "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, - "nvim-lspconfig": { "branch": "master", "commit": "2c1877081b237a643e52ebdebaf36c84a2695639" }, + "nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "b3fe9af9fe2bf735f7d3988ad87f4c2fceadcc2b" }, + "nvim-snippets": { "branch": "main", "commit": "5669b8d4eb6bbc5ebadf522f0e30a4cfb5a308f6" }, "nvim-spectre": { "branch": "master", "commit": "5690ea46baf08bbc1623980012e14b6239ce582e" }, - "nvim-treesitter": { "branch": "master", "commit": "298a9dd4f8a0d95b347a7ebd301849d8b0e3917e" }, + "nvim-treesitter": { "branch": "master", "commit": "6d56c5f404d3b116bab167bc03993cfb0a83f8aa" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "rustaceanvim": { "branch": "master", "commit": "45075f8a47406021870eeab3c953aee7438cb898" }, - "telescope-frecency.nvim": { "branch": "master", "commit": "328452afcc29187732575842c19172f4d4ed749d" }, + "rustaceanvim": { "branch": "master", "commit": "e306c742bd7f7183e371cd91268b72d9db1bbae0" }, + "telescope-frecency.nvim": { "branch": "master", "commit": "1a05e580147f7a06d24ae88ee3787b3fc0676fbe" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope.nvim": { "branch": "master", "commit": "5665d93988acfbb0747bdbf4f4cb583bcebc8930" }, "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index c497c0c..330deec 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -3,6 +3,7 @@ return { "folke/flash.nvim", enabled = false, }, + { "aohoyd/broot.nvim", opts = {} }, { "telescope.nvim", config = function() diff --git a/.tmux.conf b/.tmux.conf index 6779453..3ef1c7d 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -65,11 +65,6 @@ bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-d bind-key / copy-mode \; send-key ? bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again -bind -n M-g display-popup -h '95%' -w '95%' -b rounded -d '#{pane_current_path}' -E "gitui" -bind -n M-e display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-helper" -bind -n M-h display-popup -h '95%' -w '95%' -y 0 -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -e FZF=fzf -E "~/bin/tmux-edit-history" -bind -n M-m display-popup -h '95%' -w '95%' -b rounded -S "fg=#77fecc" -s "fg=#99ccbb" -d '#{pane_current_path}' -E "~/bin/tmux-build-helper" - setw -g window-status-format "" setw -g window-status-current-format "" From 64cb98db3c012a2a75b8d7b15a0355d52055b666 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 16 May 2024 13:08:27 +0200 Subject: [PATCH 263/656] wezterm: colors --- .config/wezterm/colors/shelman-light.toml | 5 ++-- .config/wezterm/wezterm.lua | 29 +++++++++++++++++++++-- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/.config/wezterm/colors/shelman-light.toml b/.config/wezterm/colors/shelman-light.toml index 04b0e87..744360f 100644 --- a/.config/wezterm/colors/shelman-light.toml +++ b/.config/wezterm/colors/shelman-light.toml @@ -11,7 +11,7 @@ ansi = [ "#00669e", "#7d009e", "#008a9e", - "#f0f0f0", + "#f7f7f7", ] brights = [ @@ -26,7 +26,8 @@ brights = [ ] background = "#fefeff" -foreground = "#2c363c" +# foreground = "#2c363c" +foreground = "#000000" cursor_bg = "#aa0000" cursor_fg = "#ffffff" cursor_border = "#ffffff" diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index d6565b0..3a53a9d 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -33,6 +33,7 @@ end return { color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()), font = font_for_appearance(wezterm.gui.get_appearance()), + font_rules = { { italic = true, @@ -40,7 +41,30 @@ return { reverse = false, font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Thin", italic = true }), + + -- font = wezterm.font({ -- Normal text + -- -- family = "Monaspace Radon", + -- family = "Monaspace Argon", + -- harfbuzz_features = { + -- "calt", + -- "liga", + -- "dlig", + -- "ss01", + -- "ss02", + -- "ss03", + -- "ss04", + -- "ss05", + -- "ss06", + -- "ss07", + -- "ss08", + -- }, + -- weight = "Regular", + -- -- weight = "ExtraLight", + -- stretch = "Normal", + -- style = "Normal", + -- }), }, + { italic = true, intensity = "Normal", @@ -48,8 +72,9 @@ return { font = wezterm.font("IosevkaShelman Nerd Font", { weight = "Light", italic = true }), }, }, - front_end = "WebGpu", - webgpu_power_preference = "HighPerformance", + -- front_end = "WebGpu", + -- webgpu_power_preference = "HighPerformance", + front_end = "OpenGL", warn_about_missing_glyphs = false, bold_brightens_ansi_colors = false, -- allow_square_glyphs_to_overflow_width = "Never", From b9779d4df45ec7a9a9e37cb5c61b9766473f511b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 26 May 2024 22:24:57 +0200 Subject: [PATCH 264/656] Fresh take on using wezterm without tmux for remote dev --- .config/fish/conf.d/aliases.fish | 3 +- .config/wezterm/wezterm.lua | 324 +++++++++++------- .../wezterm-dev-secondary.desktop | 10 + .local/share/applications/wezterm-dev.desktop | 10 + .../wezterm-dln-dev-secondary.desktop | 10 - .../applications/wezterm-dln-dev.desktop | 10 - .ssh/config | 1 + bin/wezterm-edit-helper | 50 +++ 8 files changed, 280 insertions(+), 138 deletions(-) create mode 100644 .local/share/applications/wezterm-dev-secondary.desktop create mode 100644 .local/share/applications/wezterm-dev.desktop delete mode 100644 .local/share/applications/wezterm-dln-dev-secondary.desktop delete mode 100644 .local/share/applications/wezterm-dln-dev.desktop create mode 100755 bin/wezterm-edit-helper diff --git a/.config/fish/conf.d/aliases.fish b/.config/fish/conf.d/aliases.fish index 3349f69..d2d3ddb 100644 --- a/.config/fish/conf.d/aliases.fish +++ b/.config/fish/conf.d/aliases.fish @@ -1,5 +1,4 @@ -alias e='tmux-edit-helper' -alias eh='tmux-edit-history' +alias e='wezterm-edit-helper' alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' alias git='git-branchless wrap --' alias l='bat --wrap=never --pager="less -S"' diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 3a53a9d..1c76512 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -2,10 +2,89 @@ local wezterm = require("wezterm") local mux = wezterm.mux local act = wezterm.action -local dev_host = "dln-dev" -local spawn_dev_nvim = { "ssh", dev_host, "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } +local config = {} -wezterm.add_to_config_reload_watch_list(os.getenv("HOME") .. "/.config/shelman-theme/current/wezterm") +-- ------------------------------------------------------------------------------------ +-- Workspace behavior + +-- local nvim_args = { "nvim", "--listen", "$XDG_RUNTIME_DIR" .. "/nvim-persistent.sock" } +local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } + +config.exec_domains = { + wezterm.exec_domain("dev", function(cmd) + local wrapped = { "/usr/bin/ssh", "-t", "dev" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), +} + +local function activate_nvim(window, pane) + wezterm.log_info("nvim") + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(0), + }), + pane + ) + return + end + end + end + + local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) + window:perform_action(act.MoveTab(0), nvim_pane) + nvim_tab:set_title("nvim") +end + +local function activate_tab(title, index) + return function(window, pane) + wezterm.log_info(title) + for _, t in ipairs(window:mux_window():tabs_with_info()) do + if t.tab:get_title() == title then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(index), + }), + pane + ) + return + end + end + local tab, _, _ = window:mux_window():spawn_tab({ + cwd = "~", + }) + tab:set_title(title) + window:perform_action(act.MoveTab(index), pane) + end +end + +wezterm.on("activate-nvim", activate_nvim) +wezterm.on("tab-2", activate_tab("t2", 1)) +wezterm.on("tab-3", activate_tab("t3", 2)) +wezterm.on("tab-4", activate_tab("t4", 3)) +wezterm.on("tab-5", activate_tab("t5", 4)) +wezterm.on("tab-6", activate_tab("t6", 5)) +wezterm.on("tab-7", activate_tab("t7", 6)) +wezterm.on("tab-8", activate_tab("t8", 7)) +wezterm.on("tab-9", activate_tab("t9", 8)) +wezterm.on("tab-10", activate_tab("t10", 9)) + +wezterm.on("user-var-changed", function(window, pane, name, _) + if name == "nvim_activate" then + activate_nvim(window, pane) + end +end) + +-- ------------------------------------------------------------------------------------ +-- Appearance local function scheme_for_appearance(appearance) if appearance:find("Dark") then @@ -24,124 +103,137 @@ local function font_for_appearance(appearance) else return wezterm.font({ family = "IosevkaShelman Nerd Font", - -- weight = "Regular", --weight = "Regular", }) end end +config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()) -return { - color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()), - font = font_for_appearance(wezterm.gui.get_appearance()), - - font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Thin", italic = true }), - - -- font = wezterm.font({ -- Normal text - -- -- family = "Monaspace Radon", - -- family = "Monaspace Argon", - -- harfbuzz_features = { - -- "calt", - -- "liga", - -- "dlig", - -- "ss01", - -- "ss02", - -- "ss03", - -- "ss04", - -- "ss05", - -- "ss06", - -- "ss07", - -- "ss08", - -- }, - -- weight = "Regular", - -- -- weight = "ExtraLight", - -- stretch = "Normal", - -- style = "Normal", - -- }), - }, - - { - italic = true, - intensity = "Normal", - reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "Light", italic = true }), - }, +-- ------------------------------------------------------------------------------------ +-- Fonts +config.font = font_for_appearance(wezterm.gui.get_appearance()) +config.font_rules = { + { + italic = true, + intensity = "Bold", + reverse = false, + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Thin", italic = true }), }, - -- front_end = "WebGpu", - -- webgpu_power_preference = "HighPerformance", - front_end = "OpenGL", - warn_about_missing_glyphs = false, - bold_brightens_ansi_colors = false, - -- allow_square_glyphs_to_overflow_width = "Never", - font_size = 16, - command_palette_font_size = 13.5, - line_height = 1.0, - initial_cols = 132, - initial_rows = 45, - use_resize_increments = true, - adjust_window_size_when_changing_font_size = false, - window_decorations = "RESIZE", - window_padding = { - left = 6, - right = 6, - top = 0, - bottom = 0, - }, - unicode_version = 14, - default_cursor_style = "SteadyBlock", - cursor_thickness = "6px", - cursor_blink_rate = 700, - hide_mouse_cursor_when_typing = false, - underline_position = -9, - underline_thickness = 1, - enable_wayland = true, - enable_tab_bar = false, - tab_bar_at_bottom = true, - use_fancy_tab_bar = false, - show_tab_index_in_tab_bar = true, - enable_scroll_bar = false, - scrollback_lines = 5000, - alternate_buffer_wheel_scroll_speed = 1, - check_for_updates = false, - status_update_interval = 100, - audible_bell = "Disabled", - term = "wezterm", - disable_default_key_bindings = true, - keys = { - { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "0", mods = "CTRL", action = "ResetFontSize" }, - { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, - { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, - { key = "Enter", mods = "ALT", action = "ToggleFullScreen" }, - { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, - { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, - { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, - { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, - }, - mouse_bindings = { - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(-1), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(1), - }, - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByPage(-0.25), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByPage(0.25), - }, + + { + italic = true, + intensity = "Normal", + reverse = false, + font = wezterm.font("IosevkaShelman Nerd Font", { weight = "Light", italic = true }), }, } +-- config.dpi = 192 +config.font_size = 15 +config.line_height = 1.0 +config.warn_about_missing_glyphs = false +config.bold_brightens_ansi_colors = false +config.unicode_version = 14 + +-- Config +config.enable_wayland = true +config.front_end = "WebGpu" +config.webgpu_power_preference = "HighPerformance" +config.term = "wezterm" +config.check_for_updates = false + +-- UI +config.command_palette_font_size = 13.5 +config.initial_cols = 132 +config.initial_rows = 45 +config.status_update_interval = 100 +config.audible_bell = "Disabled" +config.use_resize_increments = true +config.adjust_window_size_when_changing_font_size = false +config.window_decorations = "RESIZE" +config.window_frame = { + border_left_width = "4px", + border_right_width = "4px", + border_bottom_height = "4px", + border_top_height = "4px", + border_left_color = "#000000", + border_right_color = "#000000", + border_bottom_color = "#000000", + border_top_color = "#000000", +} +config.window_padding = { + left = 0, + right = 0, + top = 0, + bottom = 0, +} + +-- Tabs +config.enable_tab_bar = false +config.tab_bar_at_bottom = true +config.use_fancy_tab_bar = false +config.show_tab_index_in_tab_bar = true + +-- Cursor +config.default_cursor_style = "SteadyBlock" +config.cursor_thickness = "6px" +config.cursor_blink_rate = 700 +config.hide_mouse_cursor_when_typing = false +config.underline_position = -9 +config.underline_thickness = 1 + +-- Scrolling +config.enable_scroll_bar = false +config.scrollback_lines = 5000 +config.alternate_buffer_wheel_scroll_speed = 1 + +-- Keys +config.disable_default_key_bindings = true +config.keys = { + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + { key = "0", mods = "CTRL", action = "ResetFontSize" }, + { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, + { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, + { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, + { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, + { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, + { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, + { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, + { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, + { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, + { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, + { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, + { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, + { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, + { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, + { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, + { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, + { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, + { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, +} + +-- Mouse +config.mouse_bindings = { + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(-1), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(1), + }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + action = act.ScrollByPage(-0.25), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + action = act.ScrollByPage(0.25), + }, +} + +return config diff --git a/.local/share/applications/wezterm-dev-secondary.desktop b/.local/share/applications/wezterm-dev-secondary.desktop new file mode 100644 index 0000000..9c1905b --- /dev/null +++ b/.local/share/applications/wezterm-dev-secondary.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=wezterm-dev-secondary +GenericName=wezterm-dev-secondary +StartupWMClass=org.wezfurlong.wezterm-dev-secondary +Type=Application +TryExec=/usr/bin/wezterm +Icon=org.wezfurlong.wezterm +Terminal=false +Categories=System;TerminalEmulator; +Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-dev-secondary --domain=dev diff --git a/.local/share/applications/wezterm-dev.desktop b/.local/share/applications/wezterm-dev.desktop new file mode 100644 index 0000000..9cff6ce --- /dev/null +++ b/.local/share/applications/wezterm-dev.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=wezterm-dev +GenericName=wezterm-dev +StartupWMClass=org.wezfurlong.wezterm-dev +Type=Application +TryExec=/usr/bin/wezterm +Icon=org.wezfurlong.wezterm +Terminal=false +Categories=System;TerminalEmulator; +Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-dev --domain=dev diff --git a/.local/share/applications/wezterm-dln-dev-secondary.desktop b/.local/share/applications/wezterm-dln-dev-secondary.desktop deleted file mode 100644 index 862fa5a..0000000 --- a/.local/share/applications/wezterm-dln-dev-secondary.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-dln-dev-secondary -GenericName=wezterm-dln-dev-secondary -StartupWMClass=org.wezfurlong.wezterm-secondary -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As1", "-t0"}' start --class=org.wezfurlong.wezterm-secondary diff --git a/.local/share/applications/wezterm-dln-dev.desktop b/.local/share/applications/wezterm-dln-dev.desktop deleted file mode 100644 index 277cb3a..0000000 --- a/.local/share/applications/wezterm-dln-dev.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-dln-dev -GenericName=wezterm-dln-dev -StartupWMClass=org.wezfurlong.wezterm -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"ssh", "-tq", "dln-dev", "--", "tmux", "-u", "new", "-As0", "-t0"}' start --class=wezterm-dln-dev diff --git a/.ssh/config b/.ssh/config index be346ee..8914ace 100644 --- a/.ssh/config +++ b/.ssh/config @@ -12,6 +12,7 @@ Include ~/.ssh/private_config Host 10.1.100.16 Host dln-dev +Host dev Hostname 10.1.100.16 #Hostname aarn.shelman.io #Port 2022 diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper new file mode 100755 index 0000000..c0a9421 --- /dev/null +++ b/bin/wezterm-edit-helper @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +set -fe -o pipefail + +eval "$(direnv export bash 2>/dev/null)" + +PATH="$HOME/bin:$PATH" + +if [ -n "$1" ]; then + _file=$(readlink -f "$@") +else + FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0 --layout=reverse"} + _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) + _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) + _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) + _file="${_root}/${_file}" + fre --store_name "$_store" --add "$_file" +fi + +fre --store_name "edit-history" --add "$_file" + +_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" + +nvim --server "$_nvim_socket" --remote "$_file" + +function _nvim_setenv() { + nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" 2>&1 >/dev/null +} + +_nvim_setenv AR "$AR" +_nvim_setenv AS "$AS" +_nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" +_nvim_setenv CC "$CC" +_nvim_setenv CXX "$CXX" +_nvim_setenv GOFLAGS "$GOFLAGS" +_nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" +_nvim_setenv LC_ALL "$LC_ALL" +_nvim_setenv LD "$LD" +_nvim_setenv NM "$NM" +_nvim_setenv NM "$NM" +_nvim_setenv OBJCOPY "$OBJCOPY" +_nvim_setenv OBJDUMP "$OBJDUMP" +_nvim_setenv PATH "$PATH" +_nvim_setenv RANLIB "$RANLIB" +_nvim_setenv READELF "$READELF" +_nvim_setenv RUST_SRC_PATH "$RUST_SRC_PATH" +_nvim_setenv SIZE "$SIZE" +_nvim_setenv STRIP "$STRIP" + +# Wezterm: switch tab to nvim +printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From 57a007be9d006c7be468839addd2a0ffcff8d96b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 27 May 2024 19:31:41 +0200 Subject: [PATCH 265/656] wezterm: hyperlink rust error codes --- .config/wezterm/wezterm.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 1c76512..4f8d0e8 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -168,6 +168,14 @@ config.window_padding = { bottom = 0, } +-- Hyperlinks +config.hyperlink_rules = wezterm.default_hyperlink_rules() + +table.insert(config.hyperlink_rules, { + regex = [[`rustc --explain E(\d+)`]], + format = "https://doc.rust-lang.org/error_codes/E$1.html", +}) + -- Tabs config.enable_tab_bar = false config.tab_bar_at_bottom = true From f1e44b26eee19a55e9c9d91d02f57dce0199fcd6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 25 May 2024 11:27:18 +0200 Subject: [PATCH 266/656] nvim: use smart-open as file finder --- .config/nvim/lua/plugins/editor.lua | 82 ++++++++++++++++++----------- 1 file changed, 51 insertions(+), 31 deletions(-) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index 330deec..a2e2368 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -3,43 +3,63 @@ return { "folke/flash.nvim", enabled = false, }, - { "aohoyd/broot.nvim", opts = {} }, + + { + "danielfalk/smart-open.nvim", + branch = "0.2.x", + dependencies = { + "kkharji/sqlite.lua", + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + { "nvim-telescope/telescope-fzy-native.nvim" }, + }, + keys = { + { + "<leader><leader>", + ":lua require('telescope').extensions.smart_open.smart_open {filename_first = false }<cr>", + desc = "Telescope smart open", + }, + }, + config = function() + local util = require("lazyvim.util") + util.on_load("telescope.nvim", function() + local telescope = require("telescope") + telescope.load_extension("smart_open") + end) + end, + }, + { "telescope.nvim", - config = function() - local telescope = require("telescope") + opts = function(_, opts) local actions = require("telescope.actions") - - telescope.setup({ - defaults = { - layout_strategy = "horizontal", - layout_config = { - anchor = "top", - horizontal = { - prompt_position = "top", - mirror = false, - preview_width = 0.4, - -- preview_height = 0.5, - }, - width = 0.9, - height = 0.9, - preview_cutoff = 10, + opts.defaults = { + layout_strategy = "horizontal", + layout_config = { + anchor = "top", + horizontal = { + prompt_position = "top", + mirror = false, + preview_width = 0.4, + -- preview_height = 0.5, }, - mappings = { - i = { - ["<esc>"] = actions.close, -- <Esc> close popup - ["<C-u>"] = false, -- <C-u> clear prompt - }, - }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, - previewer = false, - preview = { - hide_on_startup = true, + width = 0.9, + height = 0.9, + preview_cutoff = 10, + }, + mappings = { + i = { + ["<esc>"] = actions.close, -- <Esc> close popup + ["<C-u>"] = false, -- <C-u> clear prompt }, }, - }) + sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, + previewer = false, + preview = { + hide_on_startup = true, + }, + } end, }, } From 92cf0fe62a41b20447d85edf11c08154992cad9d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 25 May 2024 19:08:46 +0200 Subject: [PATCH 267/656] nvim: remap zz to top instead of center --- .config/nvim/lua/config/keymaps.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 944e633..3a627cb 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -7,5 +7,5 @@ vim.api.nvim_del_keymap("n", "<c-_>") vim.api.nvim_set_keymap("n", "<c-_>", "gcc", {}) vim.api.nvim_set_keymap("v", "<c-_>", "gc", {}) vim.api.nvim_set_keymap("n", "<Leader><c-_>", "gcgc", {}) - vim.api.nvim_set_keymap("n", "<Tab>", "<Space>,", {}) +vim.api.nvim_set_keymap("n", "zz", "zt", {}) From d70cf31829407f06f38fba15132621db9d567be3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 25 May 2024 20:08:07 +0200 Subject: [PATCH 268/656] broot goodness --- .config/broot/select.hjson | 17 +++++++++++++++++ .config/broot/select.toml | 6 ------ .config/broot/verbs.hjson | 7 +++++++ .config/fish/config.fish | 20 +++++++++++++++++--- 4 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 .config/broot/select.hjson delete mode 100644 .config/broot/select.toml diff --git a/.config/broot/select.hjson b/.config/broot/select.hjson new file mode 100644 index 0000000..20ec81d --- /dev/null +++ b/.config/broot/select.hjson @@ -0,0 +1,17 @@ +verbs: [ + { + invocation: "ok" + key: "enter" + leave_broot: true + execution: ":print_path" + apply_to: "directory" + } + + { + invocation: "broot_home" + keys: ["ctrl-7", "ctrl-g"] + execution: "broot -f --conf ~/.config/broot/select.hjson $HOME" + leave_broot: true + } +] + diff --git a/.config/broot/select.toml b/.config/broot/select.toml deleted file mode 100644 index 2b2a477..0000000 --- a/.config/broot/select.toml +++ /dev/null @@ -1,6 +0,0 @@ -[[verbs]] -invocation = "ok" -key = "enter" -leave_broot = true -execution = ":print_path" -apply_to = "directory" diff --git a/.config/broot/verbs.hjson b/.config/broot/verbs.hjson index 2dc8097..6279ee5 100644 --- a/.config/broot/verbs.hjson +++ b/.config/broot/verbs.hjson @@ -16,6 +16,13 @@ verbs: [ leave_broot: true } + { + invocation: broot_home + key: ctrl-7 + execution: broot $HOME + leave_broot: true + } + # You should customize this standard opening of text files. # If you edit text files in your terminal (vi, emacs, helix, eg.), then # you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'. diff --git a/.config/fish/config.fish b/.config/fish/config.fish index e42a7b0..856ce9f 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -46,14 +46,28 @@ if status is-interactive end function jump - set _dir $(fre --sorted | fzf --no-sort --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.toml $(git rev-parse --show-toplevel 2>/dev/null || pwd))') + set _dir $(fre --sorted | fzf --no-sort --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') [ -n "$_dir" ] && pushd $_dir >>/dev/null commandline -f repaint end bind \cg jump - bind \c_ 'do something' - bind \ee 'br $(git rev-parse --show-toplevel 2>/dev/null || pwd)' + function git_jump + set _dir $(git rev-parse --show-toplevel 2>/dev/null || pwd) + if [ "$_dir" = "$PWD" ] + set _dir $(br -f --conf ~/.config/broot/select.hjson) + end + [ -n "$_dir" ] && pushd $_dir >>/dev/null + commandline -f repaint + end + bind \c_ git_jump + + function git_broot + br $(git rev-parse --show-toplevel 2>/dev/null || pwd) + commandline -f repaint + end + + bind \ee git_broot bind \eg gitui From 8a8176ba2c05a09cb1fbc869a6b9679eb44efc3a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 27 May 2024 19:42:59 +0200 Subject: [PATCH 269/656] onward --- .config/broot/verbs.hjson | 2 +- .config/nvim/lazy-lock.json | 37 +++++++++++++++-------------- .config/nvim/lua/config/keymaps.lua | 8 +++---- .config/nvim/lua/config/options.lua | 4 ++-- .config/nvim/lua/plugins/editor.lua | 26 ++++++++++++-------- .config/nvim/lua/plugins/extras.lua | 7 ------ 6 files changed, 42 insertions(+), 42 deletions(-) diff --git a/.config/broot/verbs.hjson b/.config/broot/verbs.hjson index 6279ee5..abf186a 100644 --- a/.config/broot/verbs.hjson +++ b/.config/broot/verbs.hjson @@ -12,7 +12,7 @@ verbs: [ invocation: nvim key: enter apply_to: text_file - execution: "tmux-edit-helper {file}" + execution: "wezterm-edit-helper {file}" leave_broot: true } diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 91beb33..dbdecf7 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,9 +1,8 @@ { - "LazyVim": { "branch": "main", "commit": "0f6ff53ce336082869314db11e9dfa487cf83292" }, + "LazyVim": { "branch": "main", "commit": "59204df1cb4a1d0176005dd7dc901ddbae9d23bd" }, "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, - "broot.nvim": { "branch": "main", "commit": "c4365d34e5751832206fd6fd0a4f325b742dea0a" }, - "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, + "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, @@ -16,30 +15,30 @@ "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, - "fzf": { "branch": "master", "commit": "daa602422dc272cbec6b99bc7520262672ad7230" }, + "fzf": { "branch": "master", "commit": "99bd6de5415dccec4b1b21121224116bbfbc462f" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, "gitsigns.nvim": { "branch": "main", "commit": "cdfcd9d39d23c46ae9a040de2c6a8b8bf868746e" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, + "lazy.nvim": { "branch": "main", "commit": "24fa2a97085ca8a7220b5b078916f81e316036fd" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, - "mini.ai": { "branch": "main", "commit": "a0262e61f79dfc7bb940d1719c00b0ede042ddd7" }, - "mini.colors": { "branch": "main", "commit": "be18d56eeaae810e34334c0e9230608f59f71c28" }, - "mini.indentscope": { "branch": "main", "commit": "a8274b6ea2d868198d27bd91a31ed5ea3a6a5744" }, + "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, + "mini.colors": { "branch": "main", "commit": "11b3b7056343d324abb69910e3cdec53bbf2a7c9" }, + "mini.indentscope": { "branch": "main", "commit": "f0d7faa064c892b96997810afcddfadc3f2a15b3" }, "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neocodeium": { "branch": "main", "commit": "666d4f57e8bf0789c58957a9483dd671bc038123" }, - "neoconf.nvim": { "branch": "main", "commit": "9092129e9a42ae26375001bd2e6118f8d57c7f2a" }, + "neocodeium": { "branch": "main", "commit": "4a46f6438bcdb21c562f83036bce75c719834072" }, + "neoconf.nvim": { "branch": "main", "commit": "4e204e0d423e70293b81ba1655ed17e1f3c97986" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" }, "none-ls.nvim": { "branch": "main", "commit": "60f5f80686f5a272ed3281a7d4962cb54dc5348e" }, "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-dap": { "branch": "master", "commit": "c65c163daa47e0623dd85d2303fce0c22e52ad01" }, + "nvim-dap": { "branch": "master", "commit": "922ebc75c2fa9305e36402fbd8c984c8638770a0" }, "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, @@ -49,22 +48,24 @@ "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "5669b8d4eb6bbc5ebadf522f0e30a4cfb5a308f6" }, + "nvim-snippets": { "branch": "main", "commit": "67f44a552f03b5de23af1900d01af3256a3da2bc" }, "nvim-spectre": { "branch": "master", "commit": "5690ea46baf08bbc1623980012e14b6239ce582e" }, - "nvim-treesitter": { "branch": "master", "commit": "6d56c5f404d3b116bab167bc03993cfb0a83f8aa" }, + "nvim-treesitter": { "branch": "master", "commit": "245da4eb2e52d14b034bbbedec9671e997ede764" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, - "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, + "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "rustaceanvim": { "branch": "master", "commit": "e306c742bd7f7183e371cd91268b72d9db1bbae0" }, - "telescope-frecency.nvim": { "branch": "master", "commit": "1a05e580147f7a06d24ae88ee3787b3fc0676fbe" }, + "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, + "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope.nvim": { "branch": "master", "commit": "5665d93988acfbb0747bdbf4f4cb583bcebc8930" }, + "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, + "telescope.nvim": { "branch": "master", "commit": "349660c0d35da06459ee8589af77de2086b652ce" }, "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, - "tokyonight.nvim": { "branch": "main", "commit": "b9b494fa7f7bbf2fe0747b47fa290fb7a4eddcc7" }, + "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, - "ts-comments.nvim": { "branch": "main", "commit": "8ea22850c40b4aef481a6ebdd74c928ed2b20427" }, + "ts-comments.nvim": { "branch": "main", "commit": "f7ded340b4c6b317593b867838bf7ace354a67d4" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, "yanky.nvim": { "branch": "main", "commit": "8756d19923ad871eb95f543a8a98c026b4a8494f" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index 3a627cb..cc87217 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -3,9 +3,9 @@ -- Add any additional keymaps here -- C-/ should be comment instead of lazyterm -vim.api.nvim_del_keymap("n", "<c-_>") -vim.api.nvim_set_keymap("n", "<c-_>", "gcc", {}) -vim.api.nvim_set_keymap("v", "<c-_>", "gc", {}) -vim.api.nvim_set_keymap("n", "<Leader><c-_>", "gcgc", {}) +vim.api.nvim_del_keymap("n", "<c-/>") +vim.api.nvim_set_keymap("n", "<c-/>", "gcc", {}) +vim.api.nvim_set_keymap("v", "<c-/>", "gc", {}) +vim.api.nvim_set_keymap("n", "<Leader><c-/>", "gcgc", {}) vim.api.nvim_set_keymap("n", "<Tab>", "<Space>,", {}) vim.api.nvim_set_keymap("n", "zz", "zt", {}) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 5a4776b..6914364 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -13,9 +13,9 @@ vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.scrolloff = 7 vim.o.splitkeep = "screen" -vim.o.updatetime = 1500 +vim.o.updatetime = 2500 vim.o.timeout = true -vim.o.timeoutlen = 15 +vim.o.timeoutlen = 0 -- additional filetypes vim.filetype.add({ diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index a2e2368..691d9a1 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -12,13 +12,6 @@ return { { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, { "nvim-telescope/telescope-fzy-native.nvim" }, }, - keys = { - { - "<leader><leader>", - ":lua require('telescope').extensions.smart_open.smart_open {filename_first = false }<cr>", - desc = "Telescope smart open", - }, - }, config = function() local util = require("lazyvim.util") util.on_load("telescope.nvim", function() @@ -30,6 +23,17 @@ return { { "telescope.nvim", + keys = { + { + "<leader><leader>", + function() + require("telescope").extensions.smart_open.smart_open({ + filename_first = false, + }) + end, + desc = "Telescope smart open", + }, + }, opts = function(_, opts) local actions = require("telescope.actions") opts.defaults = { @@ -50,15 +54,17 @@ return { i = { ["<esc>"] = actions.close, -- <Esc> close popup ["<C-u>"] = false, -- <C-u> clear prompt + ["<C-w>"] = false, -- <C-u> clear prompt }, }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, + path_display = { "filename_first" }, previewer = false, preview = { hide_on_startup = true, }, + sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, } end, }, diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 6c54725..89fc6aa 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -1,11 +1,4 @@ return { - { - "nvim-telescope/telescope-frecency.nvim", - config = function() - require("telescope").load_extension("frecency") - end, - }, - { "nvimtools/none-ls.nvim", opts = function(_, opts) From 4607390b2df694d827753cd3c6436352399e842e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 29 May 2024 19:46:03 +0200 Subject: [PATCH 270/656] nvim: add direnv.vim --- .config/nvim/lazy-lock.json | 17 +++++++++-------- .config/nvim/lua/plugins/extras.lua | 6 ++++++ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index dbdecf7..46648ce 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { - "LazyVim": { "branch": "main", "commit": "59204df1cb4a1d0176005dd7dc901ddbae9d23bd" }, - "SchemaStore.nvim": { "branch": "main", "commit": "9a5992a881583d886bfbb46631a09f736f0fae50" }, + "LazyVim": { "branch": "main", "commit": "505ce3851c600a8c1fc0c57f1c4ea790891c6023" }, + "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -12,6 +12,7 @@ "conform.nvim": { "branch": "master", "commit": "f3b930db4964d60e255c8f9e37b7f2218dfc08cb" }, "crates.nvim": { "branch": "main", "commit": "d556c00d60c9421c913ee54ff690df2a34f6264e" }, "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, + "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, @@ -39,18 +40,18 @@ "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, "nvim-dap": { "branch": "master", "commit": "922ebc75c2fa9305e36402fbd8c984c8638770a0" }, - "nvim-dap-go": { "branch": "main", "commit": "5faf165f5062187320eaf9d177c3c1f647adc22e" }, + "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, - "nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" }, + "nvim-lspconfig": { "branch": "master", "commit": "d70633830acf605ec03d9728698d9e7232442eb4" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-snippets": { "branch": "main", "commit": "67f44a552f03b5de23af1900d01af3256a3da2bc" }, - "nvim-spectre": { "branch": "master", "commit": "5690ea46baf08bbc1623980012e14b6239ce582e" }, - "nvim-treesitter": { "branch": "master", "commit": "245da4eb2e52d14b034bbbedec9671e997ede764" }, + "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, + "nvim-treesitter": { "branch": "master", "commit": "aa02427dfeaead86fae038024ae7b29299f08b8c" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, @@ -61,11 +62,11 @@ "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, - "telescope.nvim": { "branch": "master", "commit": "349660c0d35da06459ee8589af77de2086b652ce" }, + "telescope.nvim": { "branch": "master", "commit": "4c96370cf93e2ba287548da12d673442d0ffecc3" }, "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, "ts-comments.nvim": { "branch": "main", "commit": "f7ded340b4c6b317593b867838bf7ace354a67d4" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "yanky.nvim": { "branch": "main", "commit": "8756d19923ad871eb95f543a8a98c026b4a8494f" } + "yanky.nvim": { "branch": "main", "commit": "32882f6d3e7bbc8687a71540a695853036511b2c" } } \ No newline at end of file diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 89fc6aa..8fb417d 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -1,4 +1,10 @@ return { + { + "direnv/direnv.vim", + lazy = false, + priority = 900, + }, + { "nvimtools/none-ls.nvim", opts = function(_, opts) From 22880f43ab0d0c0e3ed4c92748f82ed0ac80c3a6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 29 May 2024 20:51:30 +0200 Subject: [PATCH 271/656] wezterm-edit-helper: no more need to hack the env vars, thanks to direnv.vim --- bin/wezterm-edit-helper | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index c0a9421..ecd968d 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -18,33 +18,7 @@ fi fre --store_name "edit-history" --add "$_file" -_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" - -nvim --server "$_nvim_socket" --remote "$_file" - -function _nvim_setenv() { - nvim --server "$_nvim_socket" --remote-expr "execute(\"let \$${1} = \\\"${2}\\\"\")" 2>&1 >/dev/null -} - -_nvim_setenv AR "$AR" -_nvim_setenv AS "$AS" -_nvim_setenv BUILD_COMMAND "$BUILD_COMMAND" -_nvim_setenv CC "$CC" -_nvim_setenv CXX "$CXX" -_nvim_setenv GOFLAGS "$GOFLAGS" -_nvim_setenv GOPACKAGESDRIVER "$GOPACKAGESDRIVER" -_nvim_setenv LC_ALL "$LC_ALL" -_nvim_setenv LD "$LD" -_nvim_setenv NM "$NM" -_nvim_setenv NM "$NM" -_nvim_setenv OBJCOPY "$OBJCOPY" -_nvim_setenv OBJDUMP "$OBJDUMP" -_nvim_setenv PATH "$PATH" -_nvim_setenv RANLIB "$RANLIB" -_nvim_setenv READELF "$READELF" -_nvim_setenv RUST_SRC_PATH "$RUST_SRC_PATH" -_nvim_setenv SIZE "$SIZE" -_nvim_setenv STRIP "$STRIP" +nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" # Wezterm: switch tab to nvim printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From b18bec4cb4a2113ccc8482dc7f5458d7b291727c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 30 May 2024 19:06:20 +0200 Subject: [PATCH 272/656] wezterm: use default gpu settings --- .config/wezterm/wezterm.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 4f8d0e8..fd558d7 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -137,8 +137,6 @@ config.unicode_version = 14 -- Config config.enable_wayland = true -config.front_end = "WebGpu" -config.webgpu_power_preference = "HighPerformance" config.term = "wezterm" config.check_for_updates = false From 8f7e8cc83c979126ebc39882c77fb44c6de795dc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Thu, 30 May 2024 19:54:42 +0200 Subject: [PATCH 273/656] nvim: add overseer --- .config/nvim/lazy-lock.json | 41 ++++++------ .config/nvim/lua/config/lazy.lua | 8 +++ .config/nvim/lua/plugins/coding.lua | 1 + .config/nvim/lua/plugins/extras.lua | 1 + .config/nvim/lua/plugins/overseer.lua | 90 +++++++++++++++++++++++++++ 5 files changed, 123 insertions(+), 18 deletions(-) create mode 100644 .config/nvim/lua/plugins/overseer.lua diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 46648ce..8367fe2 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "505ce3851c600a8c1fc0c57f1c4ea790891c6023" }, + "LazyVim": { "branch": "main", "commit": "80143069ff192beaed893ebc4e252adf33936e72" }, "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, @@ -15,10 +15,10 @@ "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "friendly-snippets": { "branch": "main", "commit": "dd2fd1281d4b22e7b4a5bfafa3e142d958e251f2" }, - "fzf": { "branch": "master", "commit": "99bd6de5415dccec4b1b21121224116bbfbc462f" }, + "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, + "fzf": { "branch": "master", "commit": "124cd70710cb7c94ef2282773494bb0d727598d8" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, - "gitsigns.nvim": { "branch": "main", "commit": "cdfcd9d39d23c46ae9a040de2c6a8b8bf868746e" }, + "gitsigns.nvim": { "branch": "main", "commit": "75dc649106827183547d3bedd4602442340d2f7f" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, @@ -30,31 +30,36 @@ "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, "mini.colors": { "branch": "main", "commit": "11b3b7056343d324abb69910e3cdec53bbf2a7c9" }, "mini.indentscope": { "branch": "main", "commit": "f0d7faa064c892b96997810afcddfadc3f2a15b3" }, - "modes.nvim": { "branch": "main", "commit": "4035a46aaabe43faf1b54740575af9dd5bb03809" }, + "modes.nvim": { "branch": "main", "commit": "0a279a526859c750d8f494da3ea0322776cd94f4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neocodeium": { "branch": "main", "commit": "4a46f6438bcdb21c562f83036bce75c719834072" }, - "neoconf.nvim": { "branch": "main", "commit": "4e204e0d423e70293b81ba1655ed17e1f3c97986" }, + "neoconf.nvim": { "branch": "main", "commit": "f1fd38d61d11f3b1b3e7dc75dc667f79cf2fa58b" }, "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, - "noice.nvim": { "branch": "main", "commit": "f119045f38792ad5311e5f9be7a879e4c1a95fe0" }, - "none-ls.nvim": { "branch": "main", "commit": "60f5f80686f5a272ed3281a7d4962cb54dc5348e" }, + "neotest": { "branch": "master", "commit": "6f35d797882c6ce0ab7c87dc86561512dc3d7aba" }, + "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, + "neotest-rust": { "branch": "main", "commit": "0418811e1e3499b2501593f2e131d02f5e6823d4" }, + "noice.nvim": { "branch": "main", "commit": "69c6ad5c1f1c0777125d0275f9871d8609cb0521" }, + "none-ls.nvim": { "branch": "main", "commit": "f5b960a73418249aebcdae3455de320360509253" }, "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-dap": { "branch": "master", "commit": "922ebc75c2fa9305e36402fbd8c984c8638770a0" }, + "nvim-dap": { "branch": "master", "commit": "abb238f631609ea4be496ba7946f4f3aaec86c6a" }, "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, - "nvim-dap-ui": { "branch": "master", "commit": "334cf3038c4756e6ab999cbac67c847fb654c190" }, + "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, - "nvim-lspconfig": { "branch": "master", "commit": "d70633830acf605ec03d9728698d9e7232442eb4" }, + "nvim-lspconfig": { "branch": "master", "commit": "38de86f82efd9ba0881203767d6a8e1815abca28" }, "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "67f44a552f03b5de23af1900d01af3256a3da2bc" }, + "nvim-snippets": { "branch": "main", "commit": "0b86938397512dad4c0790b4ea4a835ad65dc0f6" }, "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, - "nvim-treesitter": { "branch": "master", "commit": "aa02427dfeaead86fae038024ae7b29299f08b8c" }, + "nvim-treesitter": { "branch": "master", "commit": "5c924407cf110e9da4f3ba02ffed127b4198ad89" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, - "nvim-ts-autotag": { "branch": "main", "commit": "8ae54b90e36ef1fc5267214b30c2cbff71525fe4" }, + "nvim-ts-autotag": { "branch": "main", "commit": "bcf3146864262ef2d3c877beba3e222b5c73780d" }, + "nvim-vtsls": { "branch": "main", "commit": "719fabc328c48fa03b1f3373205fcd1f60d21dc2" }, "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, + "overseer.nvim": { "branch": "master", "commit": "31f309692c9dd9162d3f63b5456a7932799c347c" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "rustaceanvim": { "branch": "master", "commit": "e306c742bd7f7183e371cd91268b72d9db1bbae0" }, @@ -62,11 +67,11 @@ "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, - "telescope.nvim": { "branch": "master", "commit": "4c96370cf93e2ba287548da12d673442d0ffecc3" }, + "telescope.nvim": { "branch": "master", "commit": "dfa230be84a044e7f546a6c2b0a403c739732b86" }, "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, - "trouble.nvim": { "branch": "dev", "commit": "e2185bf6e63ef9bd75f1819f43846e2b0f10953b" }, - "ts-comments.nvim": { "branch": "main", "commit": "f7ded340b4c6b317593b867838bf7ace354a67d4" }, + "trouble.nvim": { "branch": "dev", "commit": "3d95dbdae6e633d153e5c2fd4ae77cdf9294c0e8" }, + "ts-comments.nvim": { "branch": "main", "commit": "503864726e7d83034969e6d2c78aa6f1158fd03e" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, - "yanky.nvim": { "branch": "main", "commit": "32882f6d3e7bbc8687a71540a695853036511b2c" } + "yanky.nvim": { "branch": "main", "commit": "79338563e85a868e59cda02c51b54d90a5514a12" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 72fd4cb..007ffff 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -35,6 +35,14 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, + icons = { + overseer = { + Canceled = " ", + Failure = " ", + Success = " ", + Running = " ", + }, + }, install = { colorscheme = { "default" } }, checker = { enabled = false }, -- automatically check for plugin updates performance = { diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index 46b8f6b..aee499e 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -1,4 +1,5 @@ return { + { "echasnovski/mini.pairs", enabled = false, diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 8fb417d..2999a10 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -46,6 +46,7 @@ return { "simrat39/rust-tools.nvim", enabled = false, }, + { "mrcjkb/rustaceanvim", version = "^4", -- Recommended diff --git a/.config/nvim/lua/plugins/overseer.lua b/.config/nvim/lua/plugins/overseer.lua new file mode 100644 index 0000000..fb545a8 --- /dev/null +++ b/.config/nvim/lua/plugins/overseer.lua @@ -0,0 +1,90 @@ +return { + { + "folke/which-key.nvim", + opts = function(_, opts) + if LazyVim.has("noice.nvim") then + opts.defaults["<leader>o"] = { name = "+overseer" } + end + end, + }, + + { + "folke/edgy.nvim", + optional = true, + opts = function(_, opts) + opts.right = opts.right or {} + table.insert(opts.right, { + title = "Overseer", + ft = "OverseerList", + open = function() + require("overseer").open() + end, + }) + end, + }, + + { + "nvim-neotest/neotest", + dependencies = "stevearc/overseer.nvim", + opts = function(_, opts) + local consumers = opts.consumers or {} + consumers.overseer = require("neotest.consumers.overseer") + end, + }, + + { + "stevearc/overseer.nvim", + cmd = { + "OverseerOpen", + "OverseerClose", + "OverseerToggle", + "OverseerSaveBundle", + "OverseerLoadBundle", + "OverseerDeleteBundle", + "OverseerRunCmd", + "OverseerRun", + "OverseerInfo", + "OverseerBuild", + "OverseerQuickAction", + "OverseerTaskAction", + "OverseerClearCache", + }, + dependencies = "nvim-telescope/telescope.nvim", + opts = { + dap = false, + task_list = { + bindings = { + ["<C-h>"] = false, + ["<C-j>"] = false, + ["<C-k>"] = false, + ["<C-l>"] = false, + }, + }, + form = { + win_opts = { + winblend = 0, + }, + }, + confirm = { + win_opts = { + winblend = 0, + }, + }, + task_win = { + win_opts = { + winblend = 0, + }, + }, + }, + -- stylua: ignore + keys = { + { "<leader>ow", "<cmd>OverseerToggle<cr>", desc = "Task list" }, + { "<leader>oo", "<cmd>OverseerRun<cr>", desc = "Run task" }, + { "<leader>oq", "<cmd>OverseerQuickAction<cr>", desc = "Action recent task" }, + { "<leader>oi", "<cmd>OverseerInfo<cr>", desc = "Overseer Info" }, + { "<leader>ob", "<cmd>OverseerBuild<cr>", desc = "Task builder" }, + { "<leader>ot", "<cmd>OverseerTaskAction<cr>", desc = "Task action" }, + { "<leader>oc", "<cmd>OverseerClearCache<cr>", desc = "Clear cache" }, + }, + }, +} From c23152556a177f75a6ffb5865ea6301bdafffcc3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jun 2024 11:19:07 +0200 Subject: [PATCH 274/656] fish: use typography instead of colors in theme --- .config/fish/fish_variables | 61 +++++++++++++++++++------------------ 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index 68e6461..df4d543 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -1,45 +1,46 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 SETUVAR __fish_initialized:3400 -SETUVAR fish_color_autosuggestion:6c7086 -SETUVAR fish_color_cancel:f38ba8 -SETUVAR fish_color_command:89b4fa -SETUVAR fish_color_comment:7f849c\x1e\x2d\x2ditalics\x1e\x2d\x2ddim -SETUVAR fish_color_cwd:f9e2af -SETUVAR fish_color_cwd_root:red -SETUVAR fish_color_end:fab387 -SETUVAR fish_color_error:f38ba8 -SETUVAR fish_color_escape:eba0ac +SETUVAR fish_color_autosuggestion:\x2d\x2ditalics\x1e\x2d\x2dbold\x1e\x2d\x2ddim +SETUVAR fish_color_cancel:\x1d +SETUVAR fish_color_command:\x2d\x2dbold +SETUVAR fish_color_comment:\x2d\x2ditalic\x1e\x2d\x2ddim +SETUVAR fish_color_cwd:normal +SETUVAR fish_color_cwd_root:normal +SETUVAR fish_color_end:\x1d +SETUVAR fish_color_error:\x1d +SETUVAR fish_color_escape:\x1d SETUVAR fish_color_gray:6c7086 -SETUVAR fish_color_history_current:\x2d\x2dbold -SETUVAR fish_color_host:89b4fa -SETUVAR fish_color_host_remote:a6e3a1 -SETUVAR fish_color_keyword:f38ba8 -SETUVAR fish_color_match:\x2d\x2dbackground\x3dbrblue -SETUVAR fish_color_normal:cdd6f4 -SETUVAR fish_color_operator:f5c2e7 -SETUVAR fish_color_option:a6e3a1 -SETUVAR fish_color_param:f2cdcd -SETUVAR fish_color_quote:a6e3a1 -SETUVAR fish_color_redirection:f5c2e7 -SETUVAR fish_color_search_match:\x2d\x2dbackground\x3d313244 -SETUVAR fish_color_selection:\x2d\x2dbackground\x3d313244 -SETUVAR fish_color_status:f38ba8 -SETUVAR fish_color_user:94e2d5 -SETUVAR fish_color_valid_path:\x2d\x2dunderline +SETUVAR fish_color_history_current:\x1d +SETUVAR fish_color_host:normal +SETUVAR fish_color_host_remote:yellow +SETUVAR fish_color_keyword:\x1d +SETUVAR fish_color_match:\x1d +SETUVAR fish_color_normal:normal +SETUVAR fish_color_operator:\x1d +SETUVAR fish_color_option:\x1d +SETUVAR fish_color_param:normal +SETUVAR fish_color_quote:\x2d\x2ditalics +SETUVAR fish_color_redirection:\x1d +SETUVAR fish_color_search_match:\x2dr +SETUVAR fish_color_selection:\x2dr +SETUVAR fish_color_status:normal +SETUVAR fish_color_string:\x2d\x2ditalics +SETUVAR fish_color_user:normal +SETUVAR fish_color_valid_path:\x1d SETUVAR fish_cursor_default:line SETUVAR fish_cursor_normal:line SETUVAR fish_key_bindings:fish_default_key_bindings SETUVAR fish_pager_color_background:\x1d -SETUVAR fish_pager_color_completion:cdd6f4 -SETUVAR fish_pager_color_description:6c7086 -SETUVAR fish_pager_color_prefix:f5c2e7 -SETUVAR fish_pager_color_progress:6c7086 +SETUVAR fish_pager_color_completion:normal +SETUVAR fish_pager_color_description:brblack +SETUVAR fish_pager_color_prefix:\x2d\x2dunderline +SETUVAR fish_pager_color_progress:brblack SETUVAR fish_pager_color_secondary_background:\x1d SETUVAR fish_pager_color_secondary_completion:\x1d SETUVAR fish_pager_color_secondary_description:\x1d SETUVAR fish_pager_color_secondary_prefix:\x1d -SETUVAR fish_pager_color_selected_background:\x1d +SETUVAR fish_pager_color_selected_background:\x2dr SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d From 4b9f5f3dc4ba707bb9cf141e8bd18419c08f3769 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jun 2024 12:50:32 +0200 Subject: [PATCH 275/656] starship: adjust to work nicely in both dark and light mode --- .config/fish/conf.d/semantic-prompt.fish | 57 ------------------------ .config/starship.toml | 39 ++++++++-------- 2 files changed, 19 insertions(+), 77 deletions(-) delete mode 100644 .config/fish/conf.d/semantic-prompt.fish diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish deleted file mode 100644 index 296a561..0000000 --- a/.config/fish/conf.d/semantic-prompt.fish +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/fish -# SPDX-License-Identifier: CC0-1.0 -if status --is-interactive - set _fishprompt_aid "fish"$fish_pid - set _fishprompt_started 0 - # empty if running; or a numeric exit code; or CANCEL - set _fishprompt_postexec "" - - functions -c fish_prompt _fishprompt_saved_prompt - set _fishprompt_prompt_count 0 - set _fishprompt_disp_count 0 - function _fishprompt_start --on-event fish_prompt - set _fishprompt_prompt_count (math $_fishprompt_prompt_count + 1) - # don't use post-exec, because it is called *before* omitted-newline output - if [ -n "$_fishprompt_postexec" ] - printf "\033]133;D;%s;aid=%s\007" "$_fishprompt_postexec" $_fishprompt_aid - end - printf "\033]133;A;aid=%s;cl=m\007" $_fishprompt_aid - end - - function fish_prompt - set _fishprompt_disp_count (math $_fishprompt_disp_count + 1) - printf "\033]133;P;k=i\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_prompt)) - set _fishprompt_started 1 - set _fishprompt_postexec "" - end - - function _fishprompt_preexec --on-event fish_preexec - if [ "$_fishprompt_started" = 1 ] - printf "\033]133;C;\007" - end - set _fishprompt_started 0 - end - - function _fishprompt_postexec --on-event fish_postexec - set _fishprompt_postexec $status - _fishprompt_start - end - - function __fishprompt_cancel --on-event fish_cancel - set _fishprompt_postexec CANCEL - _fishprompt_start - end - - function _fishprompt_exit --on-process %self - if [ "$_fishprompt_started" = 1 ] - printf "\033]133;Z;aid=%s\007" $_fishprompt_aid - end - end - - if functions -q fish_right_prompt - functions -c fish_right_prompt _fishprompt_saved_right_prompt - function fish_right_prompt - printf "\033]133;P;k=r\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_right_prompt)) - end - end -end diff --git a/.config/starship.toml b/.config/starship.toml index 03ad822..f983e5f 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -3,9 +3,10 @@ add_newline = true format = """\ -${custom.pwd}\ $fill\ +${custom.pwd}\ $line_break\ +$hostname\ $directory\ ($character)\ """ @@ -13,43 +14,41 @@ $directory\ right_format = """\ $cmd_duration\ $git_branch$git_commit$git_status$git_state\ -$hostname\ """ [hostname] ssh_only = false -format = " [](fg:#222222)[ $hostname ](italic dimmed bg:#222222 fg:#999999)" +format = "[$hostname](italic bold)" disabled = false [time] disabled = false -format = ' [$time]($style)' -style = "italic dimmed fg:#666666" +format = '[ $time](italic dimmed inverted)' time_format = '%R' [custom.pwd] -command = "pwd" +command = "prompt_pwd -D 100" when = true -format = "[($output)]($style) " -style = "italic dimmed fg:#777777" +format = "[ $output]($style)" +style = "italic dimmed" [directory] fish_style_pwd_dir_length = 1 truncation_length = 1 truncate_to_repo = false truncation_symbol = "…" -style = "italic fg:#88aabb" +style = "italic" [line_break] disabled = false [fill] -symbol = '⎯' -style = 'fg:#333333' +symbol = '┄' +style = 'dimmed fg:#888888' [character] -success_symbol = "[%](bold fg:#66cc99)" -error_symbol = "[%](bold red)" +success_symbol = "[%](bold)" +error_symbol = "[✖](bold red)" [cmd_duration] min_time = 500 @@ -57,22 +56,22 @@ format = '[ $duration ](yellow)' [git_branch] format = "[$symbol$branch]($style)" -style = "italic bold fg:#00ac73" +style = "italic bold green" symbol = " " truncation_length = 16 truncation_symbol = "" [git_commit] format = "[ $hash$tag]($style) " -style = "fg:#00d992" +style = "cyan" [git_state] style = "" [git_status] -format = '([$all_status$ahead_behind]($style)) ' +format = '([$all_status$ahead_behind]($style))' style = "fg:#00ac73" -modified = "[ ](fg:#d1c000)" -deleted = "[ ✘](fg:#b93400)" -untracked = "[ ?](fg:#9c49aa)" -staged = "[ ](fg:#71a4aa)" +modified = "[ ](yellow)" +deleted = "[ ✘](red)" +untracked = "[ ?](purple)" +staged = "[ ](cyan)" From b62392917086d54448e4f434a24ced91a84f7fe0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jun 2024 16:00:01 +0200 Subject: [PATCH 276/656] git: a more ergonomic log --- .gitconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitconfig b/.gitconfig index 31e32f6..fa0f689 100644 --- a/.gitconfig +++ b/.gitconfig @@ -25,8 +25,8 @@ copr = "!f() { \ ;};f" g = graph -S -m simple -s round -ll = "log --first-parent --topo-order --pretty='format:%Creset%x1B[1;3;38:2:127:114:88m%h %G? ┼%x1B[0;38:2:154:234:255m%d%Creset %x1B[3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁᠁᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" -lla = "log --graph --all --topo-order --pretty='format:%x1B[38:2:233:218:190m%h%x1B[38:2:154:234:255m%d%Creset %x1B[1;3;38:2:194:203:226m%s %x1B[38:2:93:112:164m᠁ %x1B[38:2:74:119:163m%al %x1B[2;38:2:93:112:164m%ah'" +ll = "log --pretty='format:%x1B[0;3;36m%as %G? %x1B[0;95;3m%<(12,trunc)%al %x1B[3;32m• %h%x1B[0;1;92m%(decorate:prefix= [,suffix=]%n)%>|(35)%Creset %s'" +lla = "log --graph --all --topo-order --pretty='format:\t%x1B[0;3;36m%as %x1B[0;95;3m%<(12)%al %x1B[3;32m• %h%x1B[0;1;92m%d%x1B[0m %s'" guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/ From 9f9262ccbedb002e6982e190199a461632ce5436 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 1 Jun 2024 17:32:28 +0200 Subject: [PATCH 277/656] wezterm: disable freetype hinting explicitly --- .config/wezterm/wezterm.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index fd558d7..07cde68 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -103,7 +103,7 @@ local function font_for_appearance(appearance) else return wezterm.font({ family = "IosevkaShelman Nerd Font", - --weight = "Regular", + -- weight = "Regular", }) end end @@ -129,11 +129,14 @@ config.font_rules = { }, } -- config.dpi = 192 -config.font_size = 15 +config.dpi = 144 +config.font_size = 14 config.line_height = 1.0 config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 +config.freetype_load_flags = "NO_HINTING" +config.freetype_load_target = "HorizontalLcd" -- Config config.enable_wayland = true From 3dd6fa855b91cf848db2ce8c433050b2b4ce6abe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 1 Jun 2024 23:58:47 +0200 Subject: [PATCH 278/656] nvim: silence direnv --- .config/nvim/lua/plugins/extras.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 2999a10..f894c32 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -3,6 +3,9 @@ return { "direnv/direnv.vim", lazy = false, priority = 900, + config = function() + vim.g.direnv_silent_load = 1 + end, }, { From ce87785b520ad7c52759c41fba722ce2fb7c5aee Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Jun 2024 11:34:21 +0200 Subject: [PATCH 279/656] wezterm: berkeley mono goodness --- .config/wezterm/colors/shelman-dark.toml | 6 ++- .config/wezterm/wezterm.lua | 58 +++++++++--------------- 2 files changed, 25 insertions(+), 39 deletions(-) diff --git a/.config/wezterm/colors/shelman-dark.toml b/.config/wezterm/colors/shelman-dark.toml index 5679fbb..430d587 100644 --- a/.config/wezterm/colors/shelman-dark.toml +++ b/.config/wezterm/colors/shelman-dark.toml @@ -25,14 +25,16 @@ brights = [ "#ffffff", ] -# background = "#000000" +#background = "#000000" background = "#0d1117" + # background = "#11171d" #background = "#171e26" # background = "#161923" # foreground = "#e3e0cd" # foreground = "#d3d0bd" -foreground = "#cccccc" +#foreground = "#cccccc" +foreground = "#b2b2b2" cursor_bg = "#00d992" cursor_fg = "#000000" cursor_border = "#000000" diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 07cde68..75e7a56 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -94,49 +94,31 @@ local function scheme_for_appearance(appearance) end end -local function font_for_appearance(appearance) - if appearance:find("Dark") then - return wezterm.font({ - family = "IosevkaShelman Nerd Font", - weight = "Light", - }) - else - return wezterm.font({ - family = "IosevkaShelman Nerd Font", - -- weight = "Regular", - }) - end -end config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts -config.font = font_for_appearance(wezterm.gui.get_appearance()) -config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Thin", italic = true }), - }, - - { - italic = true, - intensity = "Normal", - reverse = false, - font = wezterm.font("IosevkaShelman Nerd Font", { weight = "Light", italic = true }), - }, -} --- config.dpi = 192 -config.dpi = 144 +config.font = wezterm.font({ family = "Berkeley Mono Variable", weight = "Regular", stretch = "ExtraCondensed" }) +-- config.font = wezterm.font({ family = "Berkeley Mono" }) +-- config.font_rules = { +-- { +-- italic = true, +-- intensity = "Bold", +-- reverse = false, +-- -- font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), +-- -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Light", italic = true }), +-- font = wezterm.font("Monaspace Krypton", { weight = "ExtraLight", italic = true }), +-- }, +-- } config.font_size = 14 -config.line_height = 1.0 +config.font_size = 18 +-- config.line_height = 1.15 config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 config.freetype_load_flags = "NO_HINTING" config.freetype_load_target = "HorizontalLcd" +config.custom_block_glyphs = false -- Config config.enable_wayland = true @@ -153,10 +135,10 @@ config.use_resize_increments = true config.adjust_window_size_when_changing_font_size = false config.window_decorations = "RESIZE" config.window_frame = { - border_left_width = "4px", - border_right_width = "4px", - border_bottom_height = "4px", - border_top_height = "4px", + border_left_width = "3px", + border_right_width = "3px", + border_bottom_height = "3px", + border_top_height = "3px", border_left_color = "#000000", border_right_color = "#000000", border_bottom_color = "#000000", @@ -210,6 +192,8 @@ config.keys = { { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, { key = "r", mods = "ALT", action = act.ReloadConfiguration }, { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, + { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, From 0d9644beb6e173e6e6a03235402e2252befbb280 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 2 Jun 2024 15:02:18 +0200 Subject: [PATCH 280/656] wezterm-edit-helper: hide output from remote nvim call --- bin/wezterm-edit-helper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index ecd968d..ca4274a 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -18,7 +18,7 @@ fi fre --store_name "edit-history" --add "$_file" -nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" +nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null # Wezterm: switch tab to nvim printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) From 7d8ca69c710c4189cdf1b4856e72593bdce7fdf0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 3 Jun 2024 13:27:37 +0200 Subject: [PATCH 281/656] nvim: replace ibl, mini.indentscope with indentmini --- .config/nvim/lua/plugins/ui.lua | 72 +++++---------------------------- 1 file changed, 9 insertions(+), 63 deletions(-) diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 3105269..b6c08af 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -1,25 +1,3 @@ -local hooks = require("ibl.hooks") --- create the highlight groups in the highlight setup hook, so they are reset --- every time the colorscheme changes -hooks.register(hooks.type.HIGHLIGHT_SETUP, function() - local colorbuddy = require("colorbuddy") - local Color = colorbuddy.Color - local colors = colorbuddy.colors - local Group = colorbuddy.Group - local groups = colorbuddy.groups - local styles = colorbuddy.styles - Color.new("IndentBlanklineIndent", "#1e2835", styles.nocombine) - Group.new("IndentBlanklineIndent1", colors.IndentBlanklineIndent:light(0.1)) - Group.new("IndentBlanklineIndent2", colors.IndentBlanklineIndent:light(0.15)) - Group.new("IndentBlanklineIndent3", colors.IndentBlanklineIndent:light(0.2)) - Group.new("IndentBlanklineIndent4", colors.IndentBlanklineIndent:light(0.25)) - Group.new("IndentBlanklineIndent5", colors.IndentBlanklineIndent:light(0.3)) - Group.new("IndentBlanklineIndent6", colors.IndentBlanklineIndent:light(0.35)) - - Color.new("IndentBlanklineContextChar", "#f0a972", styles.nocombine) - Group.new("IndentBlanklineContextChar", colors.IndentBlanklineContextChar) -end) - local logo = [[ ███████ ██ ██ ███████ ██ ███ ███ █████ ███ ██ ██████ ██████ ██████ ██ ██ ██████ ██ ██ ██ ██ ██ ████ ████ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ @@ -44,55 +22,23 @@ return { }, }, - { - "echasnovski/mini.indentscope", - opts = { - draw = { - delay = 50, -- ms - }, - }, - }, - { "akinsho/bufferline.nvim", enabled = false, }, { - "lukas-reineke/indent-blankline.nvim", - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - main = "ibl", - opts = { - indent = { - char = "┊", - tab_char = "┊", - highlight = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - "IndentBlanklineIndent3", - "IndentBlanklineIndent4", - "IndentBlanklineIndent5", - "IndentBlanklineIndent6", - }, - }, - scope = { - enabled = false, - show_start = false, - char = "│", - highlight = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - "IndentBlanklineIndent3", - "IndentBlanklineIndent4", - "IndentBlanklineIndent5", - "IndentBlanklineIndent6", - }, - }, - }, + "echasnovski/mini.indentscope", + enabled = false, }, + { + "lukas-reineke/indent-blankline.nvim", + enabled = false, + }, + + { "nvimdev/indentmini.nvim", opts = { char = "⸽" } }, + { "mvllow/modes.nvim", opts = { From 2339c4d2b9e2c0ffbc31266481adbc0ac83e8c86 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 5 Jun 2024 08:11:17 +0200 Subject: [PATCH 282/656] wezterm: renderfight --- .config/nvim/lazy-lock.json | 56 +++++++++++------------- .config/nvim/lua/plugins/colorscheme.lua | 5 +-- .config/wezterm/wezterm.lua | 28 +++++++----- 3 files changed, 45 insertions(+), 44 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 8367fe2..e69fa0b 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,5 +1,5 @@ { - "LazyVim": { "branch": "main", "commit": "80143069ff192beaed893ebc4e252adf33936e72" }, + "LazyVim": { "branch": "main", "commit": "b289fea1636eda08d82344dc32a114bca550e375" }, "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, @@ -9,69 +9,63 @@ "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, - "conform.nvim": { "branch": "master", "commit": "f3b930db4964d60e255c8f9e37b7f2218dfc08cb" }, + "conform.nvim": { "branch": "master", "commit": "63e0a32c85a39484813957dc480f171907aa90b9" }, "crates.nvim": { "branch": "main", "commit": "d556c00d60c9421c913ee54ff690df2a34f6264e" }, - "dashboard-nvim": { "branch": "master", "commit": "5182c09ac8085dc73b78ad0ea9f5479c9a866fc4" }, + "dashboard-nvim": { "branch": "master", "commit": "7596101deb41192a4f7939d2c4f1a531a984b801" }, "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, - "dressing.nvim": { "branch": "master", "commit": "3c38ac861e1b8d4077ff46a779cde17330b29f3a" }, + "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, - "fzf": { "branch": "master", "commit": "124cd70710cb7c94ef2282773494bb0d727598d8" }, + "fzf": { "branch": "master", "commit": "3ee1fc203406debab432dbf3cb67f37ea7cb3d30" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, "gitsigns.nvim": { "branch": "main", "commit": "75dc649106827183547d3bedd4602442340d2f7f" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "24fa2a97085ca8a7220b5b078916f81e316036fd" }, + "lazy.nvim": { "branch": "main", "commit": "b0ba3f9399bf48c86abaa4db1a40bd0b681d5018" }, + "lazydev.nvim": { "branch": "main", "commit": "f3b3795c6daf11da989220d859c0468b82d766ae" }, + "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "49ff59aded1047a773670651cfa40e76e63c6377" }, + "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, - "mini.colors": { "branch": "main", "commit": "11b3b7056343d324abb69910e3cdec53bbf2a7c9" }, + "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, "mini.indentscope": { "branch": "main", "commit": "f0d7faa064c892b96997810afcddfadc3f2a15b3" }, "modes.nvim": { "branch": "main", "commit": "0a279a526859c750d8f494da3ea0322776cd94f4" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neocodeium": { "branch": "main", "commit": "4a46f6438bcdb21c562f83036bce75c719834072" }, - "neoconf.nvim": { "branch": "main", "commit": "f1fd38d61d11f3b1b3e7dc75dc667f79cf2fa58b" }, - "neodev.nvim": { "branch": "main", "commit": "ce9a2e8eaba5649b553529c5498acb43a6c317cd" }, "neotest": { "branch": "master", "commit": "6f35d797882c6ce0ab7c87dc86561512dc3d7aba" }, "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, - "neotest-rust": { "branch": "main", "commit": "0418811e1e3499b2501593f2e131d02f5e6823d4" }, "noice.nvim": { "branch": "main", "commit": "69c6ad5c1f1c0777125d0275f9871d8609cb0521" }, "none-ls.nvim": { "branch": "main", "commit": "f5b960a73418249aebcdae3455de320360509253" }, "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-dap": { "branch": "master", "commit": "abb238f631609ea4be496ba7946f4f3aaec86c6a" }, - "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, - "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, - "nvim-lint": { "branch": "master", "commit": "e19842a05aae484957ad20710444757bc0a61d63" }, - "nvim-lspconfig": { "branch": "master", "commit": "38de86f82efd9ba0881203767d6a8e1815abca28" }, - "nvim-navic": { "branch": "master", "commit": "8649f694d3e76ee10c19255dece6411c29206a54" }, + "nvim-lint": { "branch": "master", "commit": "1a3a8d047bc01f1760ae4a0f5e80f111ea222e67" }, + "nvim-lspconfig": { "branch": "master", "commit": "74e14808cdb15e625449027019406e1ff6dda020" }, "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, - "nvim-noirbuddy": { "branch": "master", "commit": "f3e35f42cf3f08b7351a69bf3a92b7e80a564f30" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "0b86938397512dad4c0790b4ea4a835ad65dc0f6" }, + "nvim-snippets": { "branch": "main", "commit": "3f711035277accc53966fe202104c2d7ca1c5717" }, "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, - "nvim-treesitter": { "branch": "master", "commit": "5c924407cf110e9da4f3ba02ffed127b4198ad89" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "3557e41418b4a6c5b85d5d64abe94c9c50fa9b14" }, - "nvim-ts-autotag": { "branch": "main", "commit": "bcf3146864262ef2d3c877beba3e222b5c73780d" }, + "nvim-treesitter": { "branch": "master", "commit": "a80fe081b4c5890980561e0de2458f64aaffbfc7" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "fd41b7ccc5490a3a99c734d1ee418b68d06c48a9" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, "nvim-vtsls": { "branch": "main", "commit": "719fabc328c48fa03b1f3373205fcd1f60d21dc2" }, "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, - "overseer.nvim": { "branch": "master", "commit": "31f309692c9dd9162d3f63b5456a7932799c347c" }, + "overseer.nvim": { "branch": "master", "commit": "9579e06f23e7d7777418939a4ffe8f3b2fffea7f" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "rustaceanvim": { "branch": "master", "commit": "e306c742bd7f7183e371cd91268b72d9db1bbae0" }, + "rasmus.nvim": { "branch": "main", "commit": "86d608bd1d12a53b39d9b4b2847cd7c3ea81d473" }, + "rustaceanvim": { "branch": "master", "commit": "2fa45427c01ded4d3ecca72e357f8a60fd8e46d4" }, "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope.nvim": { "branch": "master", "commit": "dfa230be84a044e7f546a6c2b0a403c739732b86" }, - "todo-comments.nvim": { "branch": "main", "commit": "e1549807066947818113a7d7ed48f637e49620d3" }, - "tokyonight.nvim": { "branch": "main", "commit": "0fae425aaab04a5f97666bd431b96f2f19c36935" }, - "trouble.nvim": { "branch": "dev", "commit": "3d95dbdae6e633d153e5c2fd4ae77cdf9294c0e8" }, - "ts-comments.nvim": { "branch": "main", "commit": "503864726e7d83034969e6d2c78aa6f1158fd03e" }, - "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" }, + "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, + "tokyonight.nvim": { "branch": "main", "commit": "7e5ef71a103e7de5fe6c05f5d6ab97d1640f08cf" }, + "trouble.nvim": { "branch": "main", "commit": "e2969409cf3f38f69913cc8fd9aa13137aabe760" }, + "ts-comments.nvim": { "branch": "main", "commit": "e339090c076871069c00e488b11def49aaf4e413" }, + "which-key.nvim": { "branch": "main", "commit": "4b7167f8fb2dba3d01980735e3509e172c024c29" }, "yanky.nvim": { "branch": "main", "commit": "79338563e85a868e59cda02c51b54d90a5514a12" } } \ No newline at end of file diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 85158a9..e161de8 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,9 +1,6 @@ return { - { "echasnovski/mini.colors", version = false }, { - -- "p00f/alabaster.nvim", - -- url = "https://git.sr.ht/~p00f/alabaster.nvim", "lsjostro/alabaster.nvim", lazy = false, priority = 1000, @@ -19,6 +16,7 @@ return { --]=====] + --[=====[ { "jesseleite/nvim-noirbuddy", lazy = false, @@ -250,4 +248,5 @@ return { end, }, }, + --]=====] } diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 75e7a56..ad75b0f 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -98,7 +98,7 @@ config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts -config.font = wezterm.font({ family = "Berkeley Mono Variable", weight = "Regular", stretch = "ExtraCondensed" }) +config.font = wezterm.font({ family = "Berkeley Mono", weight = "Regular" }) -- config.font = wezterm.font({ family = "Berkeley Mono" }) -- config.font_rules = { -- { @@ -111,14 +111,20 @@ config.font = wezterm.font({ family = "Berkeley Mono Variable", weight = "Regula -- }, -- } config.font_size = 14 -config.font_size = 18 --- config.line_height = 1.15 +-- config.font_size = 18 config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 +-- config.freetype_load_flags = "DEFAULT" +-- +config.front_end = "OpenGL" config.freetype_load_flags = "NO_HINTING" -config.freetype_load_target = "HorizontalLcd" +config.freetype_load_target = "Light" +config.freetype_render_target = "HorizontalLcd" + config.custom_block_glyphs = false +config.allow_square_glyphs_to_overflow_width = "Always" +-- config.use_cap_height_to_scale_fallback_fonts = true -- Config config.enable_wayland = true @@ -127,18 +133,20 @@ config.check_for_updates = false -- UI config.command_palette_font_size = 13.5 -config.initial_cols = 132 -config.initial_rows = 45 +config.initial_cols = 116 +config.initial_rows = 36 config.status_update_interval = 100 +config.max_fps = 90 config.audible_bell = "Disabled" config.use_resize_increments = true config.adjust_window_size_when_changing_font_size = false +config.use_resize_increments = true config.window_decorations = "RESIZE" config.window_frame = { - border_left_width = "3px", - border_right_width = "3px", - border_bottom_height = "3px", - border_top_height = "3px", + border_left_width = "4px", + border_right_width = "4px", + border_bottom_height = "4px", + border_top_height = "4px", border_left_color = "#000000", border_right_color = "#000000", border_bottom_color = "#000000", From f6c264a7d207b7d857449440ec9f6700cbe8a1b0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 3 Jun 2024 21:47:20 +0200 Subject: [PATCH 283/656] nvim: hide whitespaces --- .config/nvim/lua/config/options.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 6914364..eaa296d 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -11,6 +11,7 @@ vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } vim.o.autochdir = true vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" +vim.o.list = false vim.o.scrolloff = 7 vim.o.splitkeep = "screen" vim.o.updatetime = 2500 From 259e391d493a388c5f7baf200c029b5580467c0d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 3 Jun 2024 21:48:14 +0200 Subject: [PATCH 284/656] nvim: use sumi-e colorscheme --- .config/nvim/lazy-lock.json | 69 +++---- .config/nvim/lua/config/lazy.lua | 1 - .config/nvim/lua/plugins/colorscheme.lua | 249 ++++++++++++++++++++++- 3 files changed, 276 insertions(+), 43 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index e69fa0b..ffd0a14 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,71 +1,68 @@ { - "LazyVim": { "branch": "main", "commit": "b289fea1636eda08d82344dc32a114bca550e375" }, - "SchemaStore.nvim": { "branch": "main", "commit": "931f9f3b7b60ec976159cb01b4a40da3829ac2fd" }, - "alabaster.nvim": { "branch": "main", "commit": "5bb485d630d50796d4c8c7edc0f0fb9001fccde3" }, + "LazyVim": { "branch": "main", "commit": "ad092e96f9100f0471905316dc412620945cf1e5" }, + "SchemaStore.nvim": { "branch": "main", "commit": "d9fd6651b47b68bfc1b952f81a0fdded3cb205b2" }, "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, - "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, - "conform.nvim": { "branch": "master", "commit": "63e0a32c85a39484813957dc480f171907aa90b9" }, - "crates.nvim": { "branch": "main", "commit": "d556c00d60c9421c913ee54ff690df2a34f6264e" }, - "dashboard-nvim": { "branch": "master", "commit": "7596101deb41192a4f7939d2c4f1a531a984b801" }, + "conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" }, + "crates.nvim": { "branch": "main", "commit": "0c8436cb10e9ac62354baa5874a4a3413f2432c1" }, + "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "friendly-snippets": { "branch": "main", "commit": "d0610077b6129cf9f7f78afbe3a1425d60f6e2f1" }, - "fzf": { "branch": "master", "commit": "3ee1fc203406debab432dbf3cb67f37ea7cb3d30" }, + "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, + "fzf": { "branch": "master", "commit": "590060a16b85270c19c605e8758cda16c4517086" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, - "gitsigns.nvim": { "branch": "main", "commit": "75dc649106827183547d3bedd4602442340d2f7f" }, + "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "b0ba3f9399bf48c86abaa4db1a40bd0b681d5018" }, - "lazydev.nvim": { "branch": "main", "commit": "f3b3795c6daf11da989220d859c0468b82d766ae" }, + "indentmini.nvim": { "branch": "main", "commit": "916d0c5804e46314a966f73af5695de10d11c943" }, + "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, + "lazydev.nvim": { "branch": "main", "commit": "107231114623e2c4f90c626ec83b3120816b554e" }, "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, - "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, - "mini.indentscope": { "branch": "main", "commit": "f0d7faa064c892b96997810afcddfadc3f2a15b3" }, - "modes.nvim": { "branch": "main", "commit": "0a279a526859c750d8f494da3ea0322776cd94f4" }, + "modes.nvim": { "branch": "main", "commit": "326cff3282419b3bcc745061978c1e592cae055d" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, "neocodeium": { "branch": "main", "commit": "4a46f6438bcdb21c562f83036bce75c719834072" }, "neotest": { "branch": "master", "commit": "6f35d797882c6ce0ab7c87dc86561512dc3d7aba" }, "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, - "noice.nvim": { "branch": "main", "commit": "69c6ad5c1f1c0777125d0275f9871d8609cb0521" }, - "none-ls.nvim": { "branch": "main", "commit": "f5b960a73418249aebcdae3455de320360509253" }, - "nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" }, + "noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, + "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, + "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-lint": { "branch": "master", "commit": "1a3a8d047bc01f1760ae4a0f5e80f111ea222e67" }, - "nvim-lspconfig": { "branch": "master", "commit": "74e14808cdb15e625449027019406e1ff6dda020" }, + "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, + "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, + "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, + "nvim-lint": { "branch": "master", "commit": "cf6ffafe158441b8c5e2051ab0fe5b1983527ba7" }, + "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "3f711035277accc53966fe202104c2d7ca1c5717" }, - "nvim-spectre": { "branch": "master", "commit": "366f46fdd4a1593cc237aea13d5ef113739a472c" }, - "nvim-treesitter": { "branch": "master", "commit": "a80fe081b4c5890980561e0de2458f64aaffbfc7" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "fd41b7ccc5490a3a99c734d1ee418b68d06c48a9" }, + "nvim-snippets": { "branch": "main", "commit": "cff37a199a92f3c3cd52bb1593a7d01669b35d23" }, + "nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" }, + "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, + "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, - "nvim-vtsls": { "branch": "main", "commit": "719fabc328c48fa03b1f3373205fcd1f60d21dc2" }, - "nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" }, - "overseer.nvim": { "branch": "master", "commit": "9579e06f23e7d7777418939a4ffe8f3b2fffea7f" }, + "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, + "overseer.nvim": { "branch": "master", "commit": "bd9cc6d2cc2317b6b70b3bfb956c88d4e00c7837" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "rasmus.nvim": { "branch": "main", "commit": "86d608bd1d12a53b39d9b4b2847cd7c3ea81d473" }, - "rustaceanvim": { "branch": "master", "commit": "2fa45427c01ded4d3ecca72e357f8a60fd8e46d4" }, "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope.nvim": { "branch": "master", "commit": "dfa230be84a044e7f546a6c2b0a403c739732b86" }, "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, - "tokyonight.nvim": { "branch": "main", "commit": "7e5ef71a103e7de5fe6c05f5d6ab97d1640f08cf" }, - "trouble.nvim": { "branch": "main", "commit": "e2969409cf3f38f69913cc8fd9aa13137aabe760" }, + "tokyonight.nvim": { "branch": "main", "commit": "02e9028fe3560f38363c2d38f1c87e45eb04fdb3" }, + "trouble.nvim": { "branch": "main", "commit": "c11dc2777d52da2c8da25836817e43608ec951a5" }, "ts-comments.nvim": { "branch": "main", "commit": "e339090c076871069c00e488b11def49aaf4e413" }, - "which-key.nvim": { "branch": "main", "commit": "4b7167f8fb2dba3d01980735e3509e172c024c29" }, - "yanky.nvim": { "branch": "main", "commit": "79338563e85a868e59cda02c51b54d90a5514a12" } + "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } } \ No newline at end of file diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 007ffff..8fbe1ba 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -43,7 +43,6 @@ require("lazy").setup({ Running = " ", }, }, - install = { colorscheme = { "default" } }, checker = { enabled = false }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index e161de8..0ca5ff3 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,21 +1,19 @@ return { - { - "lsjostro/alabaster.nvim", + "shelmangroup/sumi-e.nvim", + dir = "/home/dln/src/git.shelman.io/shelmangroup/sumi-e.nvim", + version = false, lazy = false, priority = 1000, }, - --[=====[ { "LazyVim/LazyVim", opts = { - colorscheme = "alabaster", + colorscheme = "sumi-e", }, }, - --]=====] - --[=====[ { "jesseleite/nvim-noirbuddy", @@ -246,6 +244,245 @@ return { Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) Group.new("IncSearch", colors.search_fg, colors.search_bg) end, +||||||| parent of 1c239cb (nvim: use sumi-e colorscheme) + colorscheme = "alabaster", + }, + }, + + --]=====] + + { + "jesseleite/nvim-noirbuddy", + lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + }, + + { + "LazyVim/LazyVim", + opts = { + colorscheme = function() + require("noirbuddy").setup({ + preset = "slate", + styles = { + italic = true, + bold = true, + underline = true, + undercurl = true, + }, + colors = { + background = "#11171d", + primary = "#FFECD3", + secondary = "#B0BEC5", + -- + diagnostic_info = "#00d992", + diagnostic_hint = "#00d992", + }, + }) + -- + local colorbuddy = require("colorbuddy") + local Color = colorbuddy.Color + local colors = colorbuddy.colors + local Group = colorbuddy.Group + local groups = colorbuddy.groups + local styles = colorbuddy.styles + + Color.new("ColorColumn", "#171e26") + Group.new("ColorColumn", nil, colors.ColorColumn) + + Color.new("normal", "#e3e0cd") + Group.new("Normal", colors.normal, nil) + + Color.new("Visual", "#440066") + Group.new("ModesVisualVisual", nil, colors.Visual) + Group.new("Visual", nil, colors.Visual) + Group.new("VisualNOS", nil, colors.Visual) + Group.new("MatchParen", nil, colors.Visual) + + Color.new("NeoCodeiumLabelBg", "#eda92d") + Color.new("NeoCodeiumLabelFg", "#000000") + Group.new("NeoCodeiumLabel", colors.NeoCodeiumLabelFg, colors.NeoCodeiumLabelBg) + + Color.new("NeoCodeiumSuggestion", "#996611") + Group.new("NeoCodeiumSuggestion", colors.NeoCodeiumSuggestion, nil, styles.italic) + + Color.new("NoiceCmdLineBg", "#112233") + Color.new("NoiceCmdLineFg", "#99ccff") + Group.new("NoiceCmdLine", colors.NoiceCmdLineFg, colors.NoiceCmdLineBg) + + Color.new("NoiceFormatProgressTodo", "#223344") + Group.new("NoiceFormatProgressTodo", nil, colors.NoiceFormatProgressTodo) + Color.new("NoiceFormatProgressDone", "#446699") + Group.new("NoiceFormatProgressDone", nil, colors.NoiceFormatProgressDone) + + Color.new("WinSeparator", "#223344") + Group.new("WinSeparator", colors.WinSeparator, nil) + + Color.new("string", "#D7CCC8") + Color.new("symbol", "#ECEFF1") + + Color.new("comment", "#E57373", nil, styles.italic) + Color.new("hlargs", "#FFF8E1") + + Color.new("illuminate_bg", "#112210") + Color.new("illuminate_fg", "#00d992") + + Color.new("search_bg", "#223311") + Color.new("search_fg", "#CCFF33") + + Color.new("MiniIndentscopeSymbol", "#00d992") + Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) + + Color.new("CursorFg", "#000000", styles.nocombine) + Color.new("CursorBg", "#23fdb6", styles.nocombine) + Group.new("Cursor", colors.CursorFg, colors.CursorBg) + Color.new("CursorLine", "#141b23") + Group.new("CursorLine", nil, colors.CursorLine) + + -- Color.new("TroubleBg", "#171e26") + Color.new("TroubleFg", "#e1d4c1") + Color.new("TroubleBg", "#10161d") + -- Color.new("TroubleBg", "#1d140f") + Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) + + Color.new("NavicTextFg", "#5fbf9f") + Color.new("NavicTextBg", "#333333") + Color.new("NavicIcon", "#5fbf9f") + + Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) + Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) + Group.link("NavicIconsFile", groups.NavicIcon) + Group.link("NavicIconsModule", groups.NavicIcon) + Group.link("NavicIconsNamespace", groups.NavicIcon) + Group.link("NavicIconsPackage", groups.NavicIcon) + Group.link("NavicIconsClass", groups.NavicIcon) + Group.link("NavicIconsMethod", groups.NavicIcon) + Group.link("NavicIconsProperty", groups.NavicIcon) + Group.link("NavicIconsField", groups.NavicIcon) + Group.link("NavicIconsConstructor", groups.NavicIcon) + Group.link("NavicIconsEnum", groups.NavicIcon) + Group.link("NavicIconsInterface", groups.NavicIcon) + Group.link("NavicIconsFunction", groups.NavicIcon) + Group.link("NavicIconsVariable", groups.NavicIcon) + Group.link("NavicIconsConstant", groups.NavicIcon) + Group.link("NavicIconsString", groups.NavicIcon) + Group.link("NavicIconsNumber", groups.NavicIcon) + Group.link("NavicIconsBoolean", groups.NavicIcon) + Group.link("NavicIconsArray", groups.NavicIcon) + Group.link("NavicIconsObject", groups.NavicIcon) + Group.link("NavicIconsKey", groups.NavicIcon) + Group.link("NavicIconsNull", groups.NavicIcon) + Group.link("NavicIconsEnumMember", groups.NavicIcon) + Group.link("NavicIconsStruct", groups.NavicIcon) + Group.link("NavicIconsEvent", groups.NavicIcon) + Group.link("NavicIconsOperator", groups.NavicIcon) + Group.link("NavicIconsTypeParameter", groups.NavicIcon) + + Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) + -- Color.new("NormalFloatBg", "#335a88", styles.nocombine) + Color.new("NormalFloatBg", "#242d38", styles.nocombine) + Color.new("NormalFloatBorder", "#00d992", styles.nocombine) + Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) + Group.new("FloatBorder", colors.NormalFloatBorder, colors.NormalFloatBg) + + -- Color.new("PmenuSelFg", "#f3d390", styles.nocombine) + -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) + Color.new("PmenuSelFg", "#52ffb5", styles.nocombine) + Color.new("PmenuSelBg", "#003322", styles.nocombine) + Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg, styles.bold) + + -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) + -- Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) + + Color.new("TreesitterContext", "#242e38", styles.nocombine) + Group.new("TreesitterContext", nil, colors.TreesitterContext) + + -- Color.new("NonText", "#955252", styles.nocombine) + Color.new("NonText", "#955252", styles.nocombine) + + Color.new("comment2", "#51a0cf") + Group.new("Comment", colors.NonText, nil, styles.italic + styles.bold) + Group.new("LspInlayHint", colors.comment2, nil, styles.italic) + + Group.new("NonText", colors.NonText, nil, styles.italic) + Group.new("NonText", colors.NonText, nil, styles.italic) + + Color.new("spelling", "#ffce60") + Group.new("SpellBad", colors.spelling, nil, styles.undercurl) + + -- Color.new("LuaLineFg", "#aebed0") + Color.new("InclineFg", "#aebed0") + Color.new("InclineBg", "#242e38") + Group.new("InclineNormal", colors.InclineFg, colors.InclineBg) + Group.new("InclineNormalNC", colors.InclineFg, colors.InclineBg) + + Color.new("LspInfoTitle", "#955252") + Group.new("LspInfoTitle", colors.LspInfoTitle, nil, styles.italic) + -- Group.new("DiagnosticHint", colors.LspInfoTitle, nil, styles.italic) + -- + -- Color.new("TroubleFg", "#ffce60", styles.nocombine) + -- Color.new("TroubleFg", "#ffce60", styles.nocombine) + -- Color.new("TroubleBg", "#260200", styles.nocombine) + -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) + -- Group.link("TroubleText", groups.TroubleNormal) + -- Group.link("TroubleSource", groups.TroubleNormal) + -- + Color.new("Error", "#ffce60", styles.nocombine) + Group.new("ErrorMsg", colors.Error) + + Color.new("FlashLabelFg", "#220011") + Color.new("FlashLabelBg", "#EA1199") + Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) + + Color.new("TelescopeBorder", "#23fdb6") + Group.new("TelescopeTitle", colors.TelescopeBorder) + Group.new("telescopeborder", colors.TelescopeBorder) + + Color.new("TelescopeBorder", "#23fdb6") + + Color.new("TelescopeNormal", "#b6c5bd") + Group.new("telescoperesultsnormal", colors.TelescopeNormal) + + Color.new("TelescopeSelectionBg", "#003f29") + Color.new("TelescopeSelectionFg", "#f6fb2d") + Group.new( + "TelescopeSelection", + colors.TelescopeSelectionFg, + colors.TelescopeSelectionBg, + styles.nocombine + styles.bold + ) + + Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) + Group.new("@string", colors.string, nil, styles.italic) + + Group.new("@keyword", colors.noir_2) + Group.new("@keyword.function", colors.noir_2) + Group.new("@keyword.return", colors.noir_1) + + Group.new("@operator", colors.noir_1) + Group.new("@keyword.operator", colors.noir_1) + -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) + Group.new("@type.builtin", colors.noir_2) + + Group.new("@variable", colors.symbol, nil) + Group.new("Hlargs", colors.hlargs, nil) + + Group.new("@function", colors.noir_1, nil, styles.bold) + Group.new("@method", colors.noir_1, nil, styles.bold) + + Group.new("@punctuation", colors.noir_4) + Group.new("@punctuation.bracket", colors.noir_4) + Group.new("@punctuation.delimiter", colors.noir_4) + + Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) + + Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) + Group.new("IncSearch", colors.search_fg, colors.search_bg) + end, +======= + colorscheme = "sumi-e", +>>>>>>> 1c239cb (nvim: use sumi-e colorscheme) }, }, --]=====] From 4d49b7af90515852802a0f57254e4f87e6e86685 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 4 Jun 2024 01:11:02 +0200 Subject: [PATCH 285/656] nvim: include fix --- .config/nvim/lua/plugins/incline.lua | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.config/nvim/lua/plugins/incline.lua b/.config/nvim/lua/plugins/incline.lua index 24e8f90..dde16dd 100644 --- a/.config/nvim/lua/plugins/incline.lua +++ b/.config/nvim/lua/plugins/incline.lua @@ -34,13 +34,13 @@ return { end end if #labels > 0 then - table.insert(labels, { "╱ " }) + table.insert(labels, { "│ " }) end return labels end local function get_diagnostic_label() - local icons = { error = " ", warn = " ", info = " ", hint = " " } + local icons = { error = " ", warn = " ", info = " ", hint = " " } local label = {} for severity, icon in pairs(icons) do @@ -53,23 +53,22 @@ return { end end if #label > 0 then - table.insert(label, { "╱ " }) + table.insert(label, { "│ " }) end return label end - local bg_color = "#242e38" - return { - { "", guibg = "#0d1117", guifg = bg_color }, - { " ", guifg = "#0d1117", guibg = bg_color }, - { get_diagnostic_label(), guibg = bg_color }, - { get_git_diff() }, - { filename .. " ", gui = "italic" }, + -- { "" }, + { " ", gui = "reverse" }, + { get_diagnostic_label(), guibg = "fg", guifg = "bg" }, + { get_git_diff(), gui = "reverse" }, + { filename, gui = "reverse" }, + { " ", gui = "reverse" }, + -- { "" }, } end, }) end, - -- Optional: Lazy load Incline event = "VeryLazy", } From 64644ebc500d15915e31c84178fbde6c0ebea64d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 7 Jun 2024 16:59:10 +0200 Subject: [PATCH 286/656] meep --- .config/nvim/lazy-lock.json | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index ffd0a14..0bdb87e 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -12,7 +12,6 @@ "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, - "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, "fzf": { "branch": "master", "commit": "590060a16b85270c19c605e8758cda16c4517086" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, @@ -25,7 +24,6 @@ "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, "modes.nvim": { "branch": "main", "commit": "326cff3282419b3bcc745061978c1e592cae055d" }, @@ -37,24 +35,19 @@ "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, - "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "cf6ffafe158441b8c5e2051ab0fe5b1983527ba7" }, "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, - "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-snippets": { "branch": "main", "commit": "cff37a199a92f3c3cd52bb1593a7d01669b35d23" }, "nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" }, "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, - "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, "overseer.nvim": { "branch": "master", "commit": "bd9cc6d2cc2317b6b70b3bfb956c88d4e00c7837" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "rustaceanvim": { "branch": "master", "commit": "2fa45427c01ded4d3ecca72e357f8a60fd8e46d4" }, "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, @@ -64,5 +57,6 @@ "tokyonight.nvim": { "branch": "main", "commit": "02e9028fe3560f38363c2d38f1c87e45eb04fdb3" }, "trouble.nvim": { "branch": "main", "commit": "c11dc2777d52da2c8da25836817e43608ec951a5" }, "ts-comments.nvim": { "branch": "main", "commit": "e339090c076871069c00e488b11def49aaf4e413" }, - "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" } + "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }, + "yanky.nvim": { "branch": "main", "commit": "79338563e85a868e59cda02c51b54d90a5514a12" } } \ No newline at end of file From 76a93bf0b10c3f3148930ee36e003ce7299288d1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Fri, 7 Jun 2024 16:54:47 +0200 Subject: [PATCH 287/656] nvim: onward --- .config/fish/fish_variables | 2 +- .config/nvim/lazy-lock.json | 10 +- .config/nvim/lazyvim.json | 27 ++ .config/nvim/lua/config/keymaps.lua | 3 + .config/nvim/lua/config/lazy.lua | 20 +- .config/nvim/lua/config/options.lua | 21 +- .config/nvim/lua/plugins/colorscheme.lua | 479 +---------------------- .config/nvim/lua/plugins/extras.lua | 5 +- .config/nvim/lua/plugins/incline.lua | 14 +- .config/nvim/lua/plugins/lsp.lua | 3 + .config/nvim/lua/plugins/treesitter.lua | 41 ++ .config/nvim/lua/plugins/ui.lua | 13 +- .config/nvim/spell/en.utf-8.add | 10 + .config/nvim/spell/en.utf-8.add.spl | Bin 0 -> 144 bytes 14 files changed, 143 insertions(+), 505 deletions(-) create mode 100644 .config/nvim/lazyvim.json create mode 100644 .config/nvim/lua/plugins/treesitter.lua create mode 100644 .config/nvim/spell/en.utf-8.add create mode 100644 .config/nvim/spell/en.utf-8.add.spl diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index df4d543..e265762 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -1,7 +1,7 @@ # This file contains fish universal variable definitions. # VERSION: 3.0 SETUVAR __fish_initialized:3400 -SETUVAR fish_color_autosuggestion:\x2d\x2ditalics\x1e\x2d\x2dbold\x1e\x2d\x2ddim +SETUVAR fish_color_autosuggestion:\x2d\x2ditalics\x1e\x2d\x2dbold\x1ered SETUVAR fish_color_cancel:\x1d SETUVAR fish_color_command:\x2d\x2dbold SETUVAR fish_color_comment:\x2d\x2ditalic\x1e\x2d\x2ddim diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 0bdb87e..32b5f3e 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -10,8 +10,10 @@ "conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" }, "crates.nvim": { "branch": "main", "commit": "0c8436cb10e9ac62354baa5874a4a3413f2432c1" }, "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, + "diagflow.nvim": { "branch": "main", "commit": "4a03e94e1bf6d18feaac44476cfcb78b403bd609" }, "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, + "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, "fzf": { "branch": "master", "commit": "590060a16b85270c19c605e8758cda16c4517086" }, "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, @@ -24,6 +26,7 @@ "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, "modes.nvim": { "branch": "main", "commit": "326cff3282419b3bcc745061978c1e592cae055d" }, @@ -35,19 +38,24 @@ "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, + "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, + "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, + "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, "nvim-lint": { "branch": "master", "commit": "cf6ffafe158441b8c5e2051ab0fe5b1983527ba7" }, "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, + "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-snippets": { "branch": "main", "commit": "cff37a199a92f3c3cd52bb1593a7d01669b35d23" }, "nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" }, "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, + "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, "overseer.nvim": { "branch": "master", "commit": "bd9cc6d2cc2317b6b70b3bfb956c88d4e00c7837" }, "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "rustaceanvim": { "branch": "master", "commit": "2fa45427c01ded4d3ecca72e357f8a60fd8e46d4" }, "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json new file mode 100644 index 0000000..21757d1 --- /dev/null +++ b/.config/nvim/lazyvim.json @@ -0,0 +1,27 @@ +{ + "extras": [ + "lazyvim.plugins.extras.coding.codeium", + "lazyvim.plugins.extras.coding.yanky", + "lazyvim.plugins.extras.dap.core", + "lazyvim.plugins.extras.formatting.prettier", + "lazyvim.plugins.extras.lang.go", + "lazyvim.plugins.extras.lang.json", + "lazyvim.plugins.extras.lang.markdown", + "lazyvim.plugins.extras.lang.markdown", + "lazyvim.plugins.extras.lang.nix", + "lazyvim.plugins.extras.lang.rust", + "lazyvim.plugins.extras.lang.toml", + "lazyvim.plugins.extras.lang.typescript", + "lazyvim.plugins.extras.lang.yaml", + "lazyvim.plugins.extras.lsp.none-ls", + "lazyvim.plugins.extras.lsp.none-ls", + "lazyvim.plugins.extras.test.core", + "lazyvim.plugins.extras.ui.edgy", + "lazyvim.plugins.extras.ui.treesitter-context", + "lazyvim.plugins.extras.util.gitui" + ], + "news": { + "NEWS.md": "5204" + }, + "version": 6 +} \ No newline at end of file diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua index cc87217..84bc508 100644 --- a/.config/nvim/lua/config/keymaps.lua +++ b/.config/nvim/lua/config/keymaps.lua @@ -9,3 +9,6 @@ vim.api.nvim_set_keymap("v", "<c-/>", "gc", {}) vim.api.nvim_set_keymap("n", "<Leader><c-/>", "gcgc", {}) vim.api.nvim_set_keymap("n", "<Tab>", "<Space>,", {}) vim.api.nvim_set_keymap("n", "zz", "zt", {}) + +vim.api.nvim_set_keymap("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", {}) +vim.api.nvim_set_keymap("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", {}) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index 8fbe1ba..cb2fc79 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -11,18 +11,14 @@ require("lazy").setup({ -- add LazyVim and import its plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here - -- { import = "lazyvim.plugins.extras.ui.mini-animate" }, - -- { import = "lazyvim.plugins.extras.coding.copilot" }, - { import = "lazyvim.plugins.extras.coding.codeium" }, - { import = "lazyvim.plugins.extras.coding.yanky" }, - { import = "lazyvim.plugins.extras.formatting.prettier" }, - { import = "lazyvim.plugins.extras.lang.go" }, - { import = "lazyvim.plugins.extras.lang.json" }, - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "lazyvim.plugins.extras.lang.rust" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "lazyvim.plugins.extras.lang.yaml" }, - { import = "lazyvim.plugins.extras.lsp.none-ls" }, + -- { import = "lazyvim.plugins.extras.coding.codeium" }, + -- { import = "lazyvim.plugins.extras.formatting.prettier" }, + -- { import = "lazyvim.plugins.extras.lang.go" }, + -- { import = "lazyvim.plugins.extras.lang.json" }, + -- { import = "lazyvim.plugins.extras.lang.markdown" }, + -- { import = "lazyvim.plugins.extras.lang.rust" }, + -- { import = "lazyvim.plugins.extras.lang.typescript" }, + -- { import = "lazyvim.plugins.extras.lsp.none-ls" }, -- import/override with your plugins { import = "plugins" }, }, diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index eaa296d..1e2b623 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -4,7 +4,24 @@ vim.opt.number = true vim.opt.relativenumber = false -vim.opt.clipboard = "unnamed" --"unnamedplus" +-- vim.opt.clipboard = "" +function no_paste(reg) + return function(lines) + -- Do nothing! We can't paste with OSC52 + end +end + +vim.g.clipboard = { + name = "OSC 52", + copy = { + ["+"] = require("vim.ui.clipboard.osc52").copy("+"), + ["*"] = require("vim.ui.clipboard.osc52").copy("*"), + }, + paste = { + ["+"] = no_paste("+"), -- Pasting disabled + ["*"] = no_paste("*"), -- Pasting disabled + }, +} vim.g.do_filetype_lua = 1 vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } @@ -37,5 +54,5 @@ vim.api.nvim_create_autocmd("dirchanged", { vim.opt.laststatus = 0 vim.api.nvim_set_hl(0, "Statusline", { link = "Normal" }) vim.api.nvim_set_hl(0, "StatuslineNC", { link = "Normal" }) -local line = string.rep("▁", vim.api.nvim_win_get_width(0)) +local line = string.rep("▔", vim.api.nvim_win_get_width(0)) vim.opt.statusline = "%#WinSeparator#" .. line .. "%*" diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua index 0ca5ff3..59cf784 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -1,7 +1,7 @@ return { { - "shelmangroup/sumi-e.nvim", - dir = "/home/dln/src/git.shelman.io/shelmangroup/sumi-e.nvim", + "shelmangroup/dieter.nvim", + dir = "/home/dln/src/git.shelman.io/shelmangroup/dieter.nvim", version = false, lazy = false, priority = 1000, @@ -10,480 +10,7 @@ return { { "LazyVim/LazyVim", opts = { - colorscheme = "sumi-e", + colorscheme = "dieter", }, }, - - --[=====[ - { - "jesseleite/nvim-noirbuddy", - lazy = false, - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - }, - - { - "LazyVim/LazyVim", - opts = { - colorscheme = function() - require("noirbuddy").setup({ - preset = "slate", - styles = { - italic = true, - bold = true, - underline = true, - undercurl = true, - }, - colors = { - background = "#11171d", - primary = "#FFECD3", - secondary = "#B0BEC5", - -- - diagnostic_info = "#00d992", - diagnostic_hint = "#00d992", - }, - }) - -- - local colorbuddy = require("colorbuddy") - local Color = colorbuddy.Color - local colors = colorbuddy.colors - local Group = colorbuddy.Group - local groups = colorbuddy.groups - local styles = colorbuddy.styles - - Color.new("ColorColumn", "#171e26") - Group.new("ColorColumn", nil, colors.ColorColumn) - - Color.new("normal", "#e3e0cd") - Group.new("Normal", colors.normal, nil) - - Color.new("Visual", "#440066") - Group.new("ModesVisualVisual", nil, colors.Visual) - Group.new("Visual", nil, colors.Visual) - Group.new("VisualNOS", nil, colors.Visual) - Group.new("MatchParen", nil, colors.Visual) - - Color.new("NeoCodeiumLabelBg", "#eda92d") - Color.new("NeoCodeiumLabelFg", "#000000") - Group.new("NeoCodeiumLabel", colors.NeoCodeiumLabelFg, colors.NeoCodeiumLabelBg) - - Color.new("NeoCodeiumSuggestion", "#996611") - Group.new("NeoCodeiumSuggestion", colors.NeoCodeiumSuggestion, nil, styles.italic) - - Color.new("NoiceCmdLineBg", "#112233") - Color.new("NoiceCmdLineFg", "#99ccff") - Group.new("NoiceCmdLine", colors.NoiceCmdLineFg, colors.NoiceCmdLineBg) - - Color.new("NoiceFormatProgressTodo", "#223344") - Group.new("NoiceFormatProgressTodo", nil, colors.NoiceFormatProgressTodo) - Color.new("NoiceFormatProgressDone", "#446699") - Group.new("NoiceFormatProgressDone", nil, colors.NoiceFormatProgressDone) - - Color.new("WinSeparator", "#223344") - Group.new("WinSeparator", colors.WinSeparator, nil) - - Color.new("string", "#D7CCC8") - Color.new("symbol", "#ECEFF1") - - Color.new("comment", "#E57373", nil, styles.italic) - Color.new("hlargs", "#FFF8E1") - - Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#00d992") - - Color.new("search_bg", "#223311") - Color.new("search_fg", "#CCFF33") - - Color.new("MiniIndentscopeSymbol", "#00d992") - Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - - Color.new("CursorFg", "#000000", styles.nocombine) - Color.new("CursorBg", "#23fdb6", styles.nocombine) - Group.new("Cursor", colors.CursorFg, colors.CursorBg) - Color.new("CursorLine", "#141b23") - Group.new("CursorLine", nil, colors.CursorLine) - - -- Color.new("TroubleBg", "#171e26") - Color.new("TroubleFg", "#e1d4c1") - Color.new("TroubleBg", "#10161d") - -- Color.new("TroubleBg", "#1d140f") - Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) - - Color.new("NavicTextFg", "#5fbf9f") - Color.new("NavicTextBg", "#333333") - Color.new("NavicIcon", "#5fbf9f") - - Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) - Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) - Group.link("NavicIconsFile", groups.NavicIcon) - Group.link("NavicIconsModule", groups.NavicIcon) - Group.link("NavicIconsNamespace", groups.NavicIcon) - Group.link("NavicIconsPackage", groups.NavicIcon) - Group.link("NavicIconsClass", groups.NavicIcon) - Group.link("NavicIconsMethod", groups.NavicIcon) - Group.link("NavicIconsProperty", groups.NavicIcon) - Group.link("NavicIconsField", groups.NavicIcon) - Group.link("NavicIconsConstructor", groups.NavicIcon) - Group.link("NavicIconsEnum", groups.NavicIcon) - Group.link("NavicIconsInterface", groups.NavicIcon) - Group.link("NavicIconsFunction", groups.NavicIcon) - Group.link("NavicIconsVariable", groups.NavicIcon) - Group.link("NavicIconsConstant", groups.NavicIcon) - Group.link("NavicIconsString", groups.NavicIcon) - Group.link("NavicIconsNumber", groups.NavicIcon) - Group.link("NavicIconsBoolean", groups.NavicIcon) - Group.link("NavicIconsArray", groups.NavicIcon) - Group.link("NavicIconsObject", groups.NavicIcon) - Group.link("NavicIconsKey", groups.NavicIcon) - Group.link("NavicIconsNull", groups.NavicIcon) - Group.link("NavicIconsEnumMember", groups.NavicIcon) - Group.link("NavicIconsStruct", groups.NavicIcon) - Group.link("NavicIconsEvent", groups.NavicIcon) - Group.link("NavicIconsOperator", groups.NavicIcon) - Group.link("NavicIconsTypeParameter", groups.NavicIcon) - - Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) - -- Color.new("NormalFloatBg", "#335a88", styles.nocombine) - Color.new("NormalFloatBg", "#242d38", styles.nocombine) - Color.new("NormalFloatBorder", "#00d992", styles.nocombine) - Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) - Group.new("FloatBorder", colors.NormalFloatBorder, colors.NormalFloatBg) - - -- Color.new("PmenuSelFg", "#f3d390", styles.nocombine) - -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) - Color.new("PmenuSelFg", "#52ffb5", styles.nocombine) - Color.new("PmenuSelBg", "#003322", styles.nocombine) - Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg, styles.bold) - - -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) - -- Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) - - Color.new("TreesitterContext", "#242e38", styles.nocombine) - Group.new("TreesitterContext", nil, colors.TreesitterContext) - - -- Color.new("NonText", "#955252", styles.nocombine) - Color.new("NonText", "#955252", styles.nocombine) - - Color.new("comment2", "#51a0cf") - Group.new("Comment", colors.NonText, nil, styles.italic + styles.bold) - Group.new("LspInlayHint", colors.comment2, nil, styles.italic) - - Group.new("NonText", colors.NonText, nil, styles.italic) - Group.new("NonText", colors.NonText, nil, styles.italic) - - Color.new("spelling", "#ffce60") - Group.new("SpellBad", colors.spelling, nil, styles.undercurl) - - -- Color.new("LuaLineFg", "#aebed0") - Color.new("InclineFg", "#aebed0") - Color.new("InclineBg", "#242e38") - Group.new("InclineNormal", colors.InclineFg, colors.InclineBg) - Group.new("InclineNormalNC", colors.InclineFg, colors.InclineBg) - - Color.new("LspInfoTitle", "#955252") - Group.new("LspInfoTitle", colors.LspInfoTitle, nil, styles.italic) - -- Group.new("DiagnosticHint", colors.LspInfoTitle, nil, styles.italic) - -- - -- Color.new("TroubleFg", "#ffce60", styles.nocombine) - -- Color.new("TroubleFg", "#ffce60", styles.nocombine) - -- Color.new("TroubleBg", "#260200", styles.nocombine) - -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) - -- Group.link("TroubleText", groups.TroubleNormal) - -- Group.link("TroubleSource", groups.TroubleNormal) - -- - Color.new("Error", "#ffce60", styles.nocombine) - Group.new("ErrorMsg", colors.Error) - - Color.new("FlashLabelFg", "#220011") - Color.new("FlashLabelBg", "#EA1199") - Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) - - Color.new("TelescopeBorder", "#23fdb6") - Group.new("TelescopeTitle", colors.TelescopeBorder) - Group.new("telescopeborder", colors.TelescopeBorder) - - Color.new("TelescopeBorder", "#23fdb6") - - Color.new("TelescopeNormal", "#b6c5bd") - Group.new("telescoperesultsnormal", colors.TelescopeNormal) - - Color.new("TelescopeSelectionBg", "#003f29") - Color.new("TelescopeSelectionFg", "#f6fb2d") - Group.new( - "TelescopeSelection", - colors.TelescopeSelectionFg, - colors.TelescopeSelectionBg, - styles.nocombine + styles.bold - ) - - Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) - Group.new("@string", colors.string, nil, styles.italic) - - Group.new("@keyword", colors.noir_2) - Group.new("@keyword.function", colors.noir_2) - Group.new("@keyword.return", colors.noir_1) - - Group.new("@operator", colors.noir_1) - Group.new("@keyword.operator", colors.noir_1) - -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) - Group.new("@type.builtin", colors.noir_2) - - Group.new("@variable", colors.symbol, nil) - Group.new("Hlargs", colors.hlargs, nil) - - Group.new("@function", colors.noir_1, nil, styles.bold) - Group.new("@method", colors.noir_1, nil, styles.bold) - - Group.new("@punctuation", colors.noir_4) - Group.new("@punctuation.bracket", colors.noir_4) - Group.new("@punctuation.delimiter", colors.noir_4) - - Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) - - Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) - Group.new("IncSearch", colors.search_fg, colors.search_bg) - end, -||||||| parent of 1c239cb (nvim: use sumi-e colorscheme) - colorscheme = "alabaster", - }, - }, - - --]=====] - - { - "jesseleite/nvim-noirbuddy", - lazy = false, - dependencies = { - { "tjdevries/colorbuddy.nvim" }, - }, - }, - - { - "LazyVim/LazyVim", - opts = { - colorscheme = function() - require("noirbuddy").setup({ - preset = "slate", - styles = { - italic = true, - bold = true, - underline = true, - undercurl = true, - }, - colors = { - background = "#11171d", - primary = "#FFECD3", - secondary = "#B0BEC5", - -- - diagnostic_info = "#00d992", - diagnostic_hint = "#00d992", - }, - }) - -- - local colorbuddy = require("colorbuddy") - local Color = colorbuddy.Color - local colors = colorbuddy.colors - local Group = colorbuddy.Group - local groups = colorbuddy.groups - local styles = colorbuddy.styles - - Color.new("ColorColumn", "#171e26") - Group.new("ColorColumn", nil, colors.ColorColumn) - - Color.new("normal", "#e3e0cd") - Group.new("Normal", colors.normal, nil) - - Color.new("Visual", "#440066") - Group.new("ModesVisualVisual", nil, colors.Visual) - Group.new("Visual", nil, colors.Visual) - Group.new("VisualNOS", nil, colors.Visual) - Group.new("MatchParen", nil, colors.Visual) - - Color.new("NeoCodeiumLabelBg", "#eda92d") - Color.new("NeoCodeiumLabelFg", "#000000") - Group.new("NeoCodeiumLabel", colors.NeoCodeiumLabelFg, colors.NeoCodeiumLabelBg) - - Color.new("NeoCodeiumSuggestion", "#996611") - Group.new("NeoCodeiumSuggestion", colors.NeoCodeiumSuggestion, nil, styles.italic) - - Color.new("NoiceCmdLineBg", "#112233") - Color.new("NoiceCmdLineFg", "#99ccff") - Group.new("NoiceCmdLine", colors.NoiceCmdLineFg, colors.NoiceCmdLineBg) - - Color.new("NoiceFormatProgressTodo", "#223344") - Group.new("NoiceFormatProgressTodo", nil, colors.NoiceFormatProgressTodo) - Color.new("NoiceFormatProgressDone", "#446699") - Group.new("NoiceFormatProgressDone", nil, colors.NoiceFormatProgressDone) - - Color.new("WinSeparator", "#223344") - Group.new("WinSeparator", colors.WinSeparator, nil) - - Color.new("string", "#D7CCC8") - Color.new("symbol", "#ECEFF1") - - Color.new("comment", "#E57373", nil, styles.italic) - Color.new("hlargs", "#FFF8E1") - - Color.new("illuminate_bg", "#112210") - Color.new("illuminate_fg", "#00d992") - - Color.new("search_bg", "#223311") - Color.new("search_fg", "#CCFF33") - - Color.new("MiniIndentscopeSymbol", "#00d992") - Group.new("MiniIndentscopeSymbol", colors.MiniIndentscopeSymbol) - - Color.new("CursorFg", "#000000", styles.nocombine) - Color.new("CursorBg", "#23fdb6", styles.nocombine) - Group.new("Cursor", colors.CursorFg, colors.CursorBg) - Color.new("CursorLine", "#141b23") - Group.new("CursorLine", nil, colors.CursorLine) - - -- Color.new("TroubleBg", "#171e26") - Color.new("TroubleFg", "#e1d4c1") - Color.new("TroubleBg", "#10161d") - -- Color.new("TroubleBg", "#1d140f") - Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) - - Color.new("NavicTextFg", "#5fbf9f") - Color.new("NavicTextBg", "#333333") - Color.new("NavicIcon", "#5fbf9f") - - Group.new("NavicText", colors.NavicTextFg, colors.NavicTextBg) - Group.new("NavicIcon", colors.NavicIcon, colors.NavicTextBg) - Group.link("NavicIconsFile", groups.NavicIcon) - Group.link("NavicIconsModule", groups.NavicIcon) - Group.link("NavicIconsNamespace", groups.NavicIcon) - Group.link("NavicIconsPackage", groups.NavicIcon) - Group.link("NavicIconsClass", groups.NavicIcon) - Group.link("NavicIconsMethod", groups.NavicIcon) - Group.link("NavicIconsProperty", groups.NavicIcon) - Group.link("NavicIconsField", groups.NavicIcon) - Group.link("NavicIconsConstructor", groups.NavicIcon) - Group.link("NavicIconsEnum", groups.NavicIcon) - Group.link("NavicIconsInterface", groups.NavicIcon) - Group.link("NavicIconsFunction", groups.NavicIcon) - Group.link("NavicIconsVariable", groups.NavicIcon) - Group.link("NavicIconsConstant", groups.NavicIcon) - Group.link("NavicIconsString", groups.NavicIcon) - Group.link("NavicIconsNumber", groups.NavicIcon) - Group.link("NavicIconsBoolean", groups.NavicIcon) - Group.link("NavicIconsArray", groups.NavicIcon) - Group.link("NavicIconsObject", groups.NavicIcon) - Group.link("NavicIconsKey", groups.NavicIcon) - Group.link("NavicIconsNull", groups.NavicIcon) - Group.link("NavicIconsEnumMember", groups.NavicIcon) - Group.link("NavicIconsStruct", groups.NavicIcon) - Group.link("NavicIconsEvent", groups.NavicIcon) - Group.link("NavicIconsOperator", groups.NavicIcon) - Group.link("NavicIconsTypeParameter", groups.NavicIcon) - - Color.new("NormalFloatFg", "#b8d1ef", styles.nocombine) - -- Color.new("NormalFloatBg", "#335a88", styles.nocombine) - Color.new("NormalFloatBg", "#242d38", styles.nocombine) - Color.new("NormalFloatBorder", "#00d992", styles.nocombine) - Group.new("NormalFloat", colors.NormalFloatFg, colors.NormalFloatBg) - Group.new("FloatBorder", colors.NormalFloatBorder, colors.NormalFloatBg) - - -- Color.new("PmenuSelFg", "#f3d390", styles.nocombine) - -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) - Color.new("PmenuSelFg", "#52ffb5", styles.nocombine) - Color.new("PmenuSelBg", "#003322", styles.nocombine) - Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg, styles.bold) - - -- Color.new("PmenuSelBg", "#335a88", styles.nocombine) - -- Group.new("PmenuSel", colors.PmenuSelFg, colors.PmenuSelBg) - - Color.new("TreesitterContext", "#242e38", styles.nocombine) - Group.new("TreesitterContext", nil, colors.TreesitterContext) - - -- Color.new("NonText", "#955252", styles.nocombine) - Color.new("NonText", "#955252", styles.nocombine) - - Color.new("comment2", "#51a0cf") - Group.new("Comment", colors.NonText, nil, styles.italic + styles.bold) - Group.new("LspInlayHint", colors.comment2, nil, styles.italic) - - Group.new("NonText", colors.NonText, nil, styles.italic) - Group.new("NonText", colors.NonText, nil, styles.italic) - - Color.new("spelling", "#ffce60") - Group.new("SpellBad", colors.spelling, nil, styles.undercurl) - - -- Color.new("LuaLineFg", "#aebed0") - Color.new("InclineFg", "#aebed0") - Color.new("InclineBg", "#242e38") - Group.new("InclineNormal", colors.InclineFg, colors.InclineBg) - Group.new("InclineNormalNC", colors.InclineFg, colors.InclineBg) - - Color.new("LspInfoTitle", "#955252") - Group.new("LspInfoTitle", colors.LspInfoTitle, nil, styles.italic) - -- Group.new("DiagnosticHint", colors.LspInfoTitle, nil, styles.italic) - -- - -- Color.new("TroubleFg", "#ffce60", styles.nocombine) - -- Color.new("TroubleFg", "#ffce60", styles.nocombine) - -- Color.new("TroubleBg", "#260200", styles.nocombine) - -- Group.new("TroubleNormal", colors.TroubleFg, colors.TroubleBg) - -- Group.link("TroubleText", groups.TroubleNormal) - -- Group.link("TroubleSource", groups.TroubleNormal) - -- - Color.new("Error", "#ffce60", styles.nocombine) - Group.new("ErrorMsg", colors.Error) - - Color.new("FlashLabelFg", "#220011") - Color.new("FlashLabelBg", "#EA1199") - Group.new("FlashLabel", colors.FlashLabelFg, colors.FlashLabelBg) - - Color.new("TelescopeBorder", "#23fdb6") - Group.new("TelescopeTitle", colors.TelescopeBorder) - Group.new("telescopeborder", colors.TelescopeBorder) - - Color.new("TelescopeBorder", "#23fdb6") - - Color.new("TelescopeNormal", "#b6c5bd") - Group.new("telescoperesultsnormal", colors.TelescopeNormal) - - Color.new("TelescopeSelectionBg", "#003f29") - Color.new("TelescopeSelectionFg", "#f6fb2d") - Group.new( - "TelescopeSelection", - colors.TelescopeSelectionFg, - colors.TelescopeSelectionBg, - styles.nocombine + styles.bold - ) - - Group.new("@comment", colors.comment, nil, styles.italic + styles.bold) - Group.new("@string", colors.string, nil, styles.italic) - - Group.new("@keyword", colors.noir_2) - Group.new("@keyword.function", colors.noir_2) - Group.new("@keyword.return", colors.noir_1) - - Group.new("@operator", colors.noir_1) - Group.new("@keyword.operator", colors.noir_1) - -- Group.new("Hlargs", colors.noir_3, nil, styles.italic) - Group.new("@type.builtin", colors.noir_2) - - Group.new("@variable", colors.symbol, nil) - Group.new("Hlargs", colors.hlargs, nil) - - Group.new("@function", colors.noir_1, nil, styles.bold) - Group.new("@method", colors.noir_1, nil, styles.bold) - - Group.new("@punctuation", colors.noir_4) - Group.new("@punctuation.bracket", colors.noir_4) - Group.new("@punctuation.delimiter", colors.noir_4) - - Group.new("IlluminatedWordText", colors.illuminate_fg, colors.illuminate_bg) - - Group.new("Search", colors.search_fg, colors.search_bg, styles.italic + styles.undercurl) - Group.new("IncSearch", colors.search_fg, colors.search_bg) - end, -======= - colorscheme = "sumi-e", ->>>>>>> 1c239cb (nvim: use sumi-e colorscheme) - }, - }, - --]=====] } diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index f894c32..159bcec 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -52,6 +52,7 @@ return { { "mrcjkb/rustaceanvim", + enabled = false, version = "^4", -- Recommended ft = { "rust" }, opts = { @@ -77,10 +78,6 @@ return { loadOutDirsFromCheck = true, runBuildScripts = true, targetDir = true, - -- extraEnv = { - -- RUSTC_LINKER = "clang", - -- RUSTFLAGS = "-Clink-arg=-fuse-ld=mold", - -- }, }, -- Add clippy lints for Rust. checkOnSave = { diff --git a/.config/nvim/lua/plugins/incline.lua b/.config/nvim/lua/plugins/incline.lua index dde16dd..c594785 100644 --- a/.config/nvim/lua/plugins/incline.lua +++ b/.config/nvim/lua/plugins/incline.lua @@ -40,7 +40,7 @@ return { end local function get_diagnostic_label() - local icons = { error = " ", warn = " ", info = " ", hint = " " } + local icons = { error = " ", warn = " ", info = " ", hint = " " } local label = {} for severity, icon in pairs(icons) do @@ -59,13 +59,11 @@ return { end return { - -- { "" }, - { " ", gui = "reverse" }, - { get_diagnostic_label(), guibg = "fg", guifg = "bg" }, - { get_git_diff(), gui = "reverse" }, - { filename, gui = "reverse" }, - { " ", gui = "reverse" }, - -- { "" }, + { " " }, + { get_diagnostic_label() }, + { get_git_diff() }, + { filename, group = "Label" }, + { " " }, } end, }) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 93920d8..24a6969 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -2,6 +2,9 @@ return { { "neovim/nvim-lspconfig", opts = { + diagnostics = { + virtual_text = false, + }, inlay_hints = { enabled = false }, -- codelens = { -- enabled = true, diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..0aea1c4 --- /dev/null +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,41 @@ +return { + { + "nvim-treesitter/nvim-treesitter-context", + opts = { + enable = false, + }, + }, + + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + vim.list_extend(opts.ensure_installed, { + "bash", + "c", + "diff", + "go", + "html", + "javascript", + "jsdoc", + "json", + "jsonc", + "lua", + "luadoc", + "luap", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "rust", + "toml", + "tsx", + "typescript", + "vim", + "vimdoc", + "xml", + "yaml", + }) + end, + }, +} diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index b6c08af..b9eb9c2 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -22,6 +22,18 @@ return { }, }, + { + "dgagn/diagflow.nvim", + -- event = 'LspAttach', This is what I use personnally and it works great + opts = { + scope = "line", + gap_size = 0, + max_width = 50, + max_height = 20, + show_borders = true, + }, + }, + { "akinsho/bufferline.nvim", enabled = false, @@ -94,7 +106,6 @@ return { opts = { stages = "fade_in_slide_out", timeout = 1000, - background_colour = "#1e2835", render = "wrapped-compact", top_down = false, }, diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add new file mode 100644 index 0000000..ab924f2 --- /dev/null +++ b/.config/nvim/spell/en.utf-8.add @@ -0,0 +1,10 @@ +#rytographically +crytographically/! +OIDC +Kubernetes +auth +JWT +PKCE +OPA +#askfile +Taskfile/! diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl new file mode 100644 index 0000000000000000000000000000000000000000..b8cee884173101bb32cd424d8b1775876e9c6e10 GIT binary patch literal 144 zcmWIZ^erw(&B-zP&%nTt$)1>;m7QNu!dS{!!kEFxz*xjs$ymae&zR0w#F)rfz?i|9 z$(YQT$e6>J!&u44B*0kCSi;D}!dS|f#F)xh#F)pJ%2>jf%2>?E#Ke?Yz?j0w$iQHd h3?>s9vl$_*RK`TcV#aL7G{#KE9L7{eCLsnG001$*8x#Nl literal 0 HcmV?d00001 From f6113686641fa6eec19bfc1146b54ca78a3ba8b3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 7 Jun 2024 17:45:21 +0200 Subject: [PATCH 288/656] wezterm: use berkeley mono nerd font --- .config/wezterm/wezterm.lua | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index ad75b0f..fd0bf15 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -98,18 +98,21 @@ config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts -config.font = wezterm.font({ family = "Berkeley Mono", weight = "Regular" }) --- config.font = wezterm.font({ family = "Berkeley Mono" }) --- config.font_rules = { --- { --- italic = true, --- intensity = "Bold", --- reverse = false, --- -- font = wezterm.font("IosevkaShelman Nerd Font", { weight = "ExtraLight", italic = true }), --- -- font = wezterm.font("Iosevka Term Curly Slab", { weight = "Light", italic = true }), --- font = wezterm.font("Monaspace Krypton", { weight = "ExtraLight", italic = true }), --- }, --- } +config.font = wezterm.font({ family = "Berkeley Mono Nerd Font", weight = "Regular" }) +config.font_rules = { + { + italic = true, + intensity = "Bold", + reverse = false, + -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Monaspace Neon Var", { weight = "Regular", italic = false }), + -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), + font = wezterm.font({ family = "Berkeley Mono Nerd Font", italic = true }), + }, +} + config.font_size = 14 -- config.font_size = 18 config.warn_about_missing_glyphs = false @@ -153,8 +156,8 @@ config.window_frame = { border_top_color = "#000000", } config.window_padding = { - left = 0, - right = 0, + left = 10, + right = 10, top = 0, bottom = 0, } @@ -163,7 +166,7 @@ config.window_padding = { config.hyperlink_rules = wezterm.default_hyperlink_rules() table.insert(config.hyperlink_rules, { - regex = [[`rustc --explain E(\d+)`]], + regex = [[E(\d+)]], format = "https://doc.rust-lang.org/error_codes/E$1.html", }) From dca08c8a845b487d3fe2d4f7851810a3707dd5c5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 7 Jun 2024 17:59:56 +0200 Subject: [PATCH 289/656] wezterm: inline colors in lua config --- .config/wezterm/colors/shelman-dark.toml | 42 ----------------------- .config/wezterm/colors/shelman-light.toml | 35 ------------------- .config/wezterm/wezterm.lua | 32 +++++++++++++---- 3 files changed, 26 insertions(+), 83 deletions(-) delete mode 100644 .config/wezterm/colors/shelman-dark.toml delete mode 100644 .config/wezterm/colors/shelman-light.toml diff --git a/.config/wezterm/colors/shelman-dark.toml b/.config/wezterm/colors/shelman-dark.toml deleted file mode 100644 index 430d587..0000000 --- a/.config/wezterm/colors/shelman-dark.toml +++ /dev/null @@ -1,42 +0,0 @@ -[metadata] -name = "Shelman Dark" -origin_url = "" - -[colors] -ansi = [ - "#000000", - "#ff0035", - "#85ff00", - "#ffc900", - "#00a7ff", - "#cb01ff", - "#00e0ff", - "#f0f0f0", -] - -brights = [ - "#000000", - "#ff8c88", - "#baff94", - "#ffe090", - "#88ccff", - "#e38dff", - "#97eeff", - "#ffffff", -] - -#background = "#000000" -background = "#0d1117" - -# background = "#11171d" -#background = "#171e26" -# background = "#161923" -# foreground = "#e3e0cd" -# foreground = "#d3d0bd" -#foreground = "#cccccc" -foreground = "#b2b2b2" -cursor_bg = "#00d992" -cursor_fg = "#000000" -cursor_border = "#000000" -selection_bg = "#d7d7d7" -selection_fg = "#000000" diff --git a/.config/wezterm/colors/shelman-light.toml b/.config/wezterm/colors/shelman-light.toml deleted file mode 100644 index 744360f..0000000 --- a/.config/wezterm/colors/shelman-light.toml +++ /dev/null @@ -1,35 +0,0 @@ -[metadata] -name = "Shelman Light" -origin_url = "" - -[colors] -ansi = [ - "#000000", - "#9e001d", - "#306300", - "#deae00", - "#00669e", - "#7d009e", - "#008a9e", - "#f7f7f7", -] - -brights = [ - "#000000", - "#ff0035", - "#509e00", - "#ffc900", - "#00a7ff", - "#cb01ff", - "#00e0ff", - "#ffffff", -] - -background = "#fefeff" -# foreground = "#2c363c" -foreground = "#000000" -cursor_bg = "#aa0000" -cursor_fg = "#ffffff" -cursor_border = "#ffffff" -selection_bg = "#ffe6a4" -selection_fg = "#483600" diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index fd0bf15..4f81b7e 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -7,7 +7,7 @@ local config = {} -- ------------------------------------------------------------------------------------ -- Workspace behavior --- local nvim_args = { "nvim", "--listen", "$XDG_RUNTIME_DIR" .. "/nvim-persistent.sock" } +-- FIXME: use of the local env var here only works with the same UID on all machines local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } config.exec_domains = { @@ -86,15 +86,36 @@ end) -- ------------------------------------------------------------------------------------ -- Appearance -local function scheme_for_appearance(appearance) +local function colors_for_appearance(appearance) if appearance:find("Dark") then - return "Shelman Dark" + return { + background = "#0d1117", + -- background = "#000000", + foreground = "#b2b2b2", + cursor_bg = "#00d992", + cursor_fg = "#000000", + cursor_border = "#000000", + selection_bg = "#d7d7d7", + selection_fg = "#000000", + ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, + brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, + } else - return "Shelman Light" + return { + background = "#fefeff", + foreground = "#000000", + cursor_bg = "#aa0000", + cursor_fg = "#ffffff", + cursor_border = "#ffffff", + selection_bg = "#ffe6a4", + selection_fg = "#483600", + ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, + brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, + } end end -config.color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()) +config.colors = colors_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts @@ -107,7 +128,6 @@ config.font_rules = { -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Monaspace Neon Var", { weight = "Regular", italic = false }), -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), font = wezterm.font({ family = "Berkeley Mono Nerd Font", italic = true }), }, From 2f3376654c4b0bda12aabf91d001a83c5e31a877 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 8 Jun 2024 09:31:23 +0200 Subject: [PATCH 290/656] nvim: shorten updatetime for cursorhold events --- .config/nvim/lua/config/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 1e2b623..23dd35f 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -31,7 +31,7 @@ vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" vim.o.list = false vim.o.scrolloff = 7 vim.o.splitkeep = "screen" -vim.o.updatetime = 2500 +vim.o.updatetime = 500 vim.o.timeout = true vim.o.timeoutlen = 0 From 266ef70a8c972ea8041b892c3a057aaf5d63f377 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 8 Jun 2024 09:32:04 +0200 Subject: [PATCH 291/656] nvim: move all lazy extras to be managed by lazy --- .config/nvim/lazyvim.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index 21757d1..ee1c524 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -1,27 +1,24 @@ { "extras": [ "lazyvim.plugins.extras.coding.codeium", - "lazyvim.plugins.extras.coding.yanky", "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.go", "lazyvim.plugins.extras.lang.json", "lazyvim.plugins.extras.lang.markdown", - "lazyvim.plugins.extras.lang.markdown", "lazyvim.plugins.extras.lang.nix", "lazyvim.plugins.extras.lang.rust", "lazyvim.plugins.extras.lang.toml", "lazyvim.plugins.extras.lang.typescript", "lazyvim.plugins.extras.lang.yaml", "lazyvim.plugins.extras.lsp.none-ls", - "lazyvim.plugins.extras.lsp.none-ls", "lazyvim.plugins.extras.test.core", "lazyvim.plugins.extras.ui.edgy", "lazyvim.plugins.extras.ui.treesitter-context", "lazyvim.plugins.extras.util.gitui" ], "news": { - "NEWS.md": "5204" + "NEWS.md": "5950" }, "version": 6 } \ No newline at end of file From 23dcb3c9ddf2ec4521b5a6bb2f7ca56c75af273f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 8 Jun 2024 09:32:36 +0200 Subject: [PATCH 292/656] nvim: remove lazy-lock file from git --- .config/nvim/lazy-lock.json | 70 ------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 .config/nvim/lazy-lock.json diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json deleted file mode 100644 index 32b5f3e..0000000 --- a/.config/nvim/lazy-lock.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "LazyVim": { "branch": "main", "commit": "ad092e96f9100f0471905316dc412620945cf1e5" }, - "SchemaStore.nvim": { "branch": "main", "commit": "d9fd6651b47b68bfc1b952f81a0fdded3cb205b2" }, - "catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "codeium.nvim": { "branch": "main", "commit": "d3b88eb3aa1de6da33d325c196b8a41da2bcc825" }, - "conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" }, - "crates.nvim": { "branch": "main", "commit": "0c8436cb10e9ac62354baa5874a4a3413f2432c1" }, - "dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" }, - "diagflow.nvim": { "branch": "main", "commit": "4a03e94e1bf6d18feaac44476cfcb78b403bd609" }, - "direnv.vim": { "branch": "master", "commit": "ab2a7e08dd630060cd81d7946739ac7442a4f269" }, - "dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" }, - "edgy.nvim": { "branch": "main", "commit": "de79b7d92a5979cd71a9a1d8b6282515345e5055" }, - "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, - "fzf": { "branch": "master", "commit": "590060a16b85270c19c605e8758cda16c4517086" }, - "fzfx.nvim": { "branch": "main", "commit": "be147216edf164a1739430c7fda210f9876cc430" }, - "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" }, - "headlines.nvim": { "branch": "master", "commit": "618ef1b2502c565c82254ef7d5b04402194d9ce3" }, - "incline.nvim": { "branch": "main", "commit": "16fc9c073e3ea4175b66ad94375df6d73fc114c0" }, - "indentmini.nvim": { "branch": "main", "commit": "916d0c5804e46314a966f73af5695de10d11c943" }, - "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, - "lazydev.nvim": { "branch": "main", "commit": "107231114623e2c4f90c626ec83b3120816b554e" }, - "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, - "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, - "mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" }, - "modes.nvim": { "branch": "main", "commit": "326cff3282419b3bcc745061978c1e592cae055d" }, - "neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" }, - "neocodeium": { "branch": "main", "commit": "4a46f6438bcdb21c562f83036bce75c719834072" }, - "neotest": { "branch": "master", "commit": "6f35d797882c6ce0ab7c87dc86561512dc3d7aba" }, - "neotest-go": { "branch": "main", "commit": "92950ad7be2ca02a41abca5c6600ff6ffaf5b5d6" }, - "noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" }, - "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, - "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, - "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, - "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "d7c695ea39542f6da94ee4d66176f5d660ab0a77" }, - "nvim-lint": { "branch": "master", "commit": "cf6ffafe158441b8c5e2051ab0fe5b1983527ba7" }, - "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, - "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, - "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, - "nvim-snippets": { "branch": "main", "commit": "cff37a199a92f3c3cd52bb1593a7d01669b35d23" }, - "nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" }, - "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, - "nvim-treesitter-context": { "branch": "master", "commit": "5efba33af0f39942e426340da7bc15d7dec16474" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, - "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, - "overseer.nvim": { "branch": "master", "commit": "bd9cc6d2cc2317b6b70b3bfb956c88d4e00c7837" }, - "persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" }, - "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "smart-open.nvim": { "branch": "0.2.x", "commit": "87626ee8748b9bba22093adec7bb58c63e7214f0" }, - "sqlite.lua": { "branch": "master", "commit": "d0ffd703b56d090d213b497ed4eb840495f14a11" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, - "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, - "telescope.nvim": { "branch": "master", "commit": "dfa230be84a044e7f546a6c2b0a403c739732b86" }, - "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, - "tokyonight.nvim": { "branch": "main", "commit": "02e9028fe3560f38363c2d38f1c87e45eb04fdb3" }, - "trouble.nvim": { "branch": "main", "commit": "c11dc2777d52da2c8da25836817e43608ec951a5" }, - "ts-comments.nvim": { "branch": "main", "commit": "e339090c076871069c00e488b11def49aaf4e413" }, - "which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }, - "yanky.nvim": { "branch": "main", "commit": "79338563e85a868e59cda02c51b54d90a5514a12" } -} \ No newline at end of file From b64b083611bf1185981df2a9bad13dd4a8a207cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 8 Jun 2024 09:33:12 +0200 Subject: [PATCH 293/656] nvim: move all lazy extras to be managed by lazy --- .config/nvim/lua/config/lazy.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua index cb2fc79..d5db9cc 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/.config/nvim/lua/config/lazy.lua @@ -11,14 +11,6 @@ require("lazy").setup({ -- add LazyVim and import its plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, -- import any extras modules here - -- { import = "lazyvim.plugins.extras.coding.codeium" }, - -- { import = "lazyvim.plugins.extras.formatting.prettier" }, - -- { import = "lazyvim.plugins.extras.lang.go" }, - -- { import = "lazyvim.plugins.extras.lang.json" }, - -- { import = "lazyvim.plugins.extras.lang.markdown" }, - -- { import = "lazyvim.plugins.extras.lang.rust" }, - -- { import = "lazyvim.plugins.extras.lang.typescript" }, - -- { import = "lazyvim.plugins.extras.lsp.none-ls" }, -- import/override with your plugins { import = "plugins" }, }, From 77854d330c8e4a17cc690495e3432aad14a66776 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sat, 8 Jun 2024 21:39:25 +0200 Subject: [PATCH 294/656] nvim: let rustaceanvim manage rust-analyzer --- .config/nvim/lua/plugins/extras.lua | 1 - .config/nvim/lua/plugins/lsp.lua | 9 --------- 2 files changed, 10 deletions(-) diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 159bcec..8dd86c5 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -52,7 +52,6 @@ return { { "mrcjkb/rustaceanvim", - enabled = false, version = "^4", -- Recommended ft = { "rust" }, opts = { diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 24a6969..c7c4f6e 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -10,15 +10,6 @@ return { -- enabled = true, -- }, servers = { - rust_analyzer = { - mason = false, - -- targetDir = true, - -- keys = { - -- { "K", "<cmd>RustHoverActions<cr>", desc = "Hover Actions (Rust)" }, - -- { "<leader>cR", "<cmd>RustCodeAction<cr>", desc = "Code Action (Rust)" }, - -- { "<leader>dr", "<cmd>RustDebuggables<cr>", desc = "Run Debuggables (Rust)" }, - -- }, - }, starpls = {}, yamlls = { settings = { From db796e4fab78d9ad473821201874aecd52ce9698 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 9 Jun 2024 14:30:08 +0200 Subject: [PATCH 295/656] git: no colors in delta --- .gitconfig | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.gitconfig b/.gitconfig index fa0f689..e389b10 100644 --- a/.gitconfig +++ b/.gitconfig @@ -59,20 +59,19 @@ looseCompression = 3 pager = delta [delta] -; # syntax-theme = GitHub -file-added-label = " ➕ ══" +file-added-label = "[+]" file-decoration-style=none -file-modified-label = " ▲ ══" -file-removed-label = " ➖══" -file-renamed-label = " ➞ ══" -file-style = bold "#ffff66" "#333300" -file-transformation = "s/$/ ══ /" +file-modified-label = "[*]" +file-removed-label = "[-]" +file-renamed-label = "[>]" +file-style = bold reverse +file-transformation = "s/$/ ░▒▓/" hunk-header-decoration-style=none -hunk-header-file-style = bold "#66ddff" -hunk-header-line-number-style = bold "#66ccff" -hunk-header-style = line-number bold "#99eeff" "#001133" +hunk-header-file-style = bold +hunk-header-line-number-style = bold +hunk-header-style = line-number bold hunk-label = "⯁" -hunk-label-style = bold "#66ccff" +hunk-label-style = bold line-numbers = true max-line-distance = 0.9 From 08f365596cb5fc821ad506703d43c8408f32a386 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Sun, 9 Jun 2024 14:36:08 +0200 Subject: [PATCH 296/656] gitui: remove theme --- .config/gitui/theme.ron | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 .config/gitui/theme.ron diff --git a/.config/gitui/theme.ron b/.config/gitui/theme.ron deleted file mode 100644 index 9818424..0000000 --- a/.config/gitui/theme.ron +++ /dev/null @@ -1,23 +0,0 @@ -( - selected_tab: Some(Reset), - command_fg: Some(Rgb(205, 214, 244)), - selection_bg: Some(Rgb(88, 91, 112)), - selection_fg: Some(Rgb(205, 214, 244)), - cmdbar_bg: Some(Rgb(24, 24, 37)), - cmdbar_extra_lines_bg: Some(Rgb(24, 24, 37)), - disabled_fg: Some(Rgb(127, 132, 156)), - diff_line_add: Some(Rgb(166, 227, 161)), - diff_line_delete: Some(Rgb(243, 139, 168)), - diff_file_added: Some(Rgb(249, 226, 175)), - diff_file_removed: Some(Rgb(235, 160, 172)), - diff_file_moved: Some(Rgb(203, 166, 247)), - diff_file_modified: Some(Rgb(250, 179, 135)), - commit_hash: Some(Rgb(180, 190, 254)), - commit_time: Some(Rgb(186, 194, 222)), - commit_author: Some(Rgb(116, 199, 236)), - danger_fg: Some(Rgb(243, 139, 168)), - push_gauge_bg: Some(Rgb(137, 180, 250)), - push_gauge_fg: Some(Rgb(30, 30, 46)), - tag_fg: Some(Rgb(245, 224, 220)), - branch_fg: Some(Rgb(148, 226, 213)) -) From 116d3f9e0cbb365c7ce71ab031c474c321a1d08e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 11 Jun 2024 12:22:01 +0200 Subject: [PATCH 297/656] wezterm: tinker with stylistic features --- .config/wezterm/wezterm.lua | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 4f81b7e..0648653 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -119,7 +119,24 @@ config.colors = colors_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts -config.font = wezterm.font({ family = "Berkeley Mono Nerd Font", weight = "Regular" }) +local berkeley_mono_features = { + -- "calt=1", + -- "dlig=0", + -- "liga", + -- "calt=1", + -- "clig=1", + -- "ss02", -- Clean Zero + "ss03", -- Slashed Zero + -- "ss04", -- Cut Zero +} + +-- #[ ## ### #### ################ + +config.font = wezterm.font({ + family = "Berkeley Mono Nerd Font", + weight = "Regular", + harfbuzz_features = berkeley_mono_features, +}) config.font_rules = { { italic = true, @@ -129,7 +146,11 @@ config.font_rules = { -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), - font = wezterm.font({ family = "Berkeley Mono Nerd Font", italic = true }), + font = wezterm.font({ + family = "Berkeley Mono Nerd Font", + italic = true, + harfbuzz_features = berkeley_mono_features, + }), }, } @@ -140,7 +161,7 @@ config.bold_brightens_ansi_colors = false config.unicode_version = 14 -- config.freetype_load_flags = "DEFAULT" -- -config.front_end = "OpenGL" +-- config.front_end = "OpenGL" config.freetype_load_flags = "NO_HINTING" config.freetype_load_target = "Light" config.freetype_render_target = "HorizontalLcd" @@ -201,8 +222,8 @@ config.default_cursor_style = "SteadyBlock" config.cursor_thickness = "6px" config.cursor_blink_rate = 700 config.hide_mouse_cursor_when_typing = false -config.underline_position = -9 -config.underline_thickness = 1 +config.underline_position = -7 +config.underline_thickness = 2 -- Scrolling config.enable_scroll_bar = false From f7220ddf08827ac0c2b46c3d9f083942ea489515 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 11 Jun 2024 12:35:02 +0200 Subject: [PATCH 298/656] wezterm: fix underline position --- .config/wezterm/wezterm.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 0648653..eee7cfc 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -222,7 +222,7 @@ config.default_cursor_style = "SteadyBlock" config.cursor_thickness = "6px" config.cursor_blink_rate = 700 config.hide_mouse_cursor_when_typing = false -config.underline_position = -7 +config.underline_position = -3 config.underline_thickness = 2 -- Scrolling From 1cb5298e94b9d08a2c9fba36af6f5fab9e44ec7d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 11 Jun 2024 12:38:37 +0200 Subject: [PATCH 299/656] test-term: add blocks and border chars test --- bin/test-term.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/bin/test-term.sh b/bin/test-term.sh index 2942743..47f9a0f 100755 --- a/bin/test-term.sh +++ b/bin/test-term.sh @@ -57,6 +57,14 @@ echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly u echo echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷 ❤️ " +echo +echo "Blocks:" +echo -e '🮙\n🮙\n🮙' +echo +echo -e '╭──────────────╮' +echo -e '│ border chars │' +echo -e '╰──────────────╯' + echo echo "Ligatures:" echo "-<< -< -<- <-- <--- <<- <- -> ->> --> ---> ->- >- >>- <-> <--> <---> <----> <!--" From 0d2461710bd8980f618cd8b5bf193bbb509df50c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 11 Jun 2024 13:02:23 +0200 Subject: [PATCH 300/656] test-term: add geometrical and arrow chars test --- bin/test-term.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/bin/test-term.sh b/bin/test-term.sh index 47f9a0f..91ae7e2 100755 --- a/bin/test-term.sh +++ b/bin/test-term.sh @@ -57,9 +57,23 @@ echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly u echo echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷 ❤️ " +echo +echo "Geometrical:" +echo -e '◆ ◇ ◈ ● ○ ◉ ◎ ◍ ◌' +echo -e '■ □ ▢ ▣ ▤ ▥ ▦ ▧ ▨ ▩' +echo -e '◧ ◨ ◩ ◪ ◫ ◬ ◭ ◮ △ ▲ ▱ ▰ ▽ ▼ ▾ ▿' +echo -e '◠ ◡ ◢ ◣ ◤ ◥ ◦ ◧ ◨ ◩ ◪ ◫ ◬ ◭ ◮ ◯ ◰ ◱ ◲ ◳ ◴ ◵ ◶ ◷ ◸ ◹ ◺ ◻ ◼ ◽ ◾ ◿' + +echo "Arrows:" +echo -e '← → ↑ ↓ ↔ ↔ ↕ ↖ ↗ ↙ ↘ ↠ ↣ ↦ ↧ ↨ ↩ ↪ ↫ ↬ ↭ ↮ ↯ ↰ ↱ ↲ ↳ ↴ ↵ ↶ ↷ ↸ ↹ ↺ ↻ ↼ ↽ ↾ ↿ ↼ ↽ ↾ ↿' +echo -e '⇄ ↔ ⇀ ⇂ ⇄ ⇆ ⇌ ⇎ ⇐ ⇑ ⇓ ⇕ ⇖ ⇗ ⇘ ⇙ ⇚ ⇛ ⇜ ⇝ ⇞ ⇟' + echo echo "Blocks:" -echo -e '🮙\n🮙\n🮙' +echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' +echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' +echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' +echo -e '▄ ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █' echo echo -e '╭──────────────╮' echo -e '│ border chars │' From d666c403dc1f11438010f79d762f891f66f93d40 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Mon, 10 Jun 2024 21:08:27 +0200 Subject: [PATCH 301/656] fish: remove color from c-/ jump fzf --- .config/fish/config.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 856ce9f..cdfdf49 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -46,7 +46,7 @@ if status is-interactive end function jump - set _dir $(fre --sorted | fzf --no-sort --color=fg:248,bg+:16,fg+:49,pointer:49,border:49 --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') + set _dir $(fre --sorted | fzf --no-sort --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') [ -n "$_dir" ] && pushd $_dir >>/dev/null commandline -f repaint end From f0e98b6b46e3d9adcb3291ac4c40f0b035e3cc53 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Tue, 11 Jun 2024 22:48:15 +0200 Subject: [PATCH 302/656] nvim: telescope tuning --- .config/nvim/lazyvim.json | 6 +++--- .config/nvim/lua/plugins/coding.lua | 18 +++++++++++++++--- .config/nvim/lua/plugins/editor.lua | 12 ++++++++---- .config/nvim/lua/plugins/extras.lua | 11 ----------- .config/nvim/lua/plugins/ui.lua | 14 +++++--------- 5 files changed, 31 insertions(+), 30 deletions(-) diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json index ee1c524..05f524f 100644 --- a/.config/nvim/lazyvim.json +++ b/.config/nvim/lazyvim.json @@ -1,6 +1,5 @@ { "extras": [ - "lazyvim.plugins.extras.coding.codeium", "lazyvim.plugins.extras.dap.core", "lazyvim.plugins.extras.formatting.prettier", "lazyvim.plugins.extras.lang.go", @@ -15,10 +14,11 @@ "lazyvim.plugins.extras.test.core", "lazyvim.plugins.extras.ui.edgy", "lazyvim.plugins.extras.ui.treesitter-context", - "lazyvim.plugins.extras.util.gitui" + "lazyvim.plugins.extras.util.gitui", + "lazyvim.plugins.extras.util.project" ], "news": { - "NEWS.md": "5950" + "NEWS.md": "6077" }, "version": 6 } \ No newline at end of file diff --git a/.config/nvim/lua/plugins/coding.lua b/.config/nvim/lua/plugins/coding.lua index aee499e..b2af23a 100644 --- a/.config/nvim/lua/plugins/coding.lua +++ b/.config/nvim/lua/plugins/coding.lua @@ -13,9 +13,9 @@ return { table.insert(opts.sources, { name = "emoji" }) opts.view = { docs = { auto_open = false }, entries = { follow_cursor = true } } - -- opts.completion = { - -- autocomplete = false, - -- } + opts.completion = { + autocomplete = false, + } local winhighlight = "Normal:NoiceCmdlinePopupTitle,FloatBorder:NoiceCmdlinePopupBorder,CursorLine:PMenuSel,Search:Search" @@ -54,4 +54,16 @@ return { enable_chat = false, }, }, + + { + "monkoose/neocodeium", + event = "VeryLazy", + config = function() + local neocodeium = require("neocodeium") + neocodeium.setup() + vim.keymap.set("i", "<C-j>", neocodeium.accept) + vim.keymap.set("i", "<A-f>", neocodeium.accept) + vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete) + end, + }, } diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index 691d9a1..3516f5a 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -43,7 +43,7 @@ return { horizontal = { prompt_position = "top", mirror = false, - preview_width = 0.4, + preview_width = 0.49, -- preview_height = 0.5, }, width = 0.9, @@ -57,10 +57,10 @@ return { ["<C-w>"] = false, -- <C-u> clear prompt }, }, - path_display = { "filename_first" }, - previewer = false, + -- path_display = { "filename_first" }, + -- previewer = false, preview = { - hide_on_startup = true, + -- hide_on_startup = true, }, sorting_strategy = "ascending", winblend = 0, @@ -68,4 +68,8 @@ return { } end, }, + + { + "natecraddock/telescope-zf-native.nvim", + }, } diff --git a/.config/nvim/lua/plugins/extras.lua b/.config/nvim/lua/plugins/extras.lua index 8dd86c5..79d1a52 100644 --- a/.config/nvim/lua/plugins/extras.lua +++ b/.config/nvim/lua/plugins/extras.lua @@ -96,15 +96,4 @@ return { }, }, }, - - { - "monkoose/neocodeium", - event = "VeryLazy", - config = function() - local neocodeium = require("neocodeium") - neocodeium.setup() - vim.keymap.set("i", "<C-j>", neocodeium.accept) - vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete) - end, - }, } diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index b9eb9c2..fd5b977 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -31,6 +31,7 @@ return { max_width = 50, max_height = 20, show_borders = true, + toggle_event = { "InsertEnter", "InsertLeave" }, }, }, @@ -117,14 +118,9 @@ return { }, { - "linrongbin16/fzfx.nvim", - dependencies = { "nvim-tree/nvim-web-devicons", "junegunn/fzf" }, - - -- specify version to avoid break changes - version = "v5.*", - - config = function() - require("fzfx").setup() - end, + "ahmedkhalf/project.nvim", + opts = { + manual_mode = false, + }, }, } From b28004c1684e9a2a57079fe0853acd484e55fceb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <daniel@arity.se> Date: Wed, 12 Jun 2024 19:23:48 +0200 Subject: [PATCH 303/656] nvim: disable telescope-zf-native for now --- .config/nvim/lua/plugins/editor.lua | 138 ++++++++++++++-------------- 1 file changed, 67 insertions(+), 71 deletions(-) diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua index 3516f5a..1185b23 100644 --- a/.config/nvim/lua/plugins/editor.lua +++ b/.config/nvim/lua/plugins/editor.lua @@ -1,75 +1,71 @@ return { - { - "folke/flash.nvim", - enabled = false, - }, + { + "folke/flash.nvim", + enabled = false, + }, - { - "danielfalk/smart-open.nvim", - branch = "0.2.x", - dependencies = { - "kkharji/sqlite.lua", - { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, - { "nvim-telescope/telescope-fzy-native.nvim" }, - }, - config = function() - local util = require("lazyvim.util") - util.on_load("telescope.nvim", function() - local telescope = require("telescope") - telescope.load_extension("smart_open") - end) - end, - }, + { + "danielfalk/smart-open.nvim", + branch = "0.2.x", + dependencies = { + "kkharji/sqlite.lua", + { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, + { "nvim-telescope/telescope-fzy-native.nvim" }, + }, + config = function() + local util = require("lazyvim.util") + util.on_load("telescope.nvim", function() + local telescope = require("telescope") + telescope.load_extension("smart_open") + end) + end, + }, - { - "telescope.nvim", - keys = { - { - "<leader><leader>", - function() - require("telescope").extensions.smart_open.smart_open({ - filename_first = false, - }) - end, - desc = "Telescope smart open", - }, - }, - opts = function(_, opts) - local actions = require("telescope.actions") - opts.defaults = { - layout_strategy = "horizontal", - layout_config = { - anchor = "top", - horizontal = { - prompt_position = "top", - mirror = false, - preview_width = 0.49, - -- preview_height = 0.5, - }, - width = 0.9, - height = 0.9, - preview_cutoff = 10, - }, - mappings = { - i = { - ["<esc>"] = actions.close, -- <Esc> close popup - ["<C-u>"] = false, -- <C-u> clear prompt - ["<C-w>"] = false, -- <C-u> clear prompt - }, - }, - -- path_display = { "filename_first" }, - -- previewer = false, - preview = { - -- hide_on_startup = true, - }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, - } - end, - }, - - { - "natecraddock/telescope-zf-native.nvim", - }, + { + "telescope.nvim", + keys = { + { + "<leader><leader>", + function() + require("telescope").extensions.smart_open.smart_open({ + filename_first = false, + }) + end, + desc = "Telescope smart open", + }, + }, + opts = function(_, opts) + local actions = require("telescope.actions") + opts.defaults = { + layout_strategy = "horizontal", + layout_config = { + anchor = "top", + horizontal = { + prompt_position = "top", + mirror = false, + preview_width = 0.49, + -- preview_height = 0.5, + }, + width = 0.9, + height = 0.9, + preview_cutoff = 10, + }, + mappings = { + i = { + ["<esc>"] = actions.close, -- <Esc> close popup + ["<C-u>"] = false, -- <C-u> clear prompt + ["<C-w>"] = false, -- <C-u> clear prompt + }, + }, + -- path_display = { "filename_first" }, + -- previewer = false, + preview = { + -- hide_on_startup = true, + }, + sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, + } + end, + }, } From 0b14d0b9b02c6a1553be7ebdc73b072792351bcc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 15 Jun 2024 18:14:39 +0200 Subject: [PATCH 304/656] wezterm: more accurate font hinting+rendering --- .config/wezterm/wezterm.lua | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index eee7cfc..8be9660 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -103,7 +103,7 @@ local function colors_for_appearance(appearance) else return { background = "#fefeff", - foreground = "#000000", + foreground = "#333333", cursor_bg = "#aa0000", cursor_fg = "#ffffff", cursor_border = "#ffffff", @@ -154,17 +154,12 @@ config.font_rules = { }, } -config.font_size = 14 +config.font_size = 15 -- config.font_size = 18 config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 --- config.freetype_load_flags = "DEFAULT" --- --- config.front_end = "OpenGL" -config.freetype_load_flags = "NO_HINTING" -config.freetype_load_target = "Light" -config.freetype_render_target = "HorizontalLcd" +config.freetype_load_target = "HorizontalLcd" config.custom_block_glyphs = false config.allow_square_glyphs_to_overflow_width = "Always" From df96ee6bc57ee6cb955a31607c108c43a8adb930 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 17 Jun 2024 20:15:26 +0200 Subject: [PATCH 305/656] wezterm: set exact font size based on dpi --- .config/wezterm/wezterm.lua | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 8be9660..582baf4 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -154,8 +154,18 @@ config.font_rules = { }, } -config.font_size = 15 --- config.font_size = 18 +wezterm.on('window-config-reloaded', function(window, pane) + local overrides = window:get_config_overrides() or {} + local dpi = wezterm.gui.screens().active.effective_dpi + + if dpi > 96 then + overrides.font_size = 15 + else + overrides.font_size = 18 + end + window:set_config_overrides(overrides) +end) + config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 From 82ed7f551efd9f096d32aae1656c63b1ea8d0d6a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 18 Jun 2024 13:47:23 +0200 Subject: [PATCH 306/656] k9s: use colorless skin --- .config/k9s/config.yaml | 42 +++++++++++++++ .config/k9s/skin.yml | 100 ------------------------------------ .config/k9s/skins/kiss.yaml | 75 +++++++++++++++++++++++++++ 3 files changed, 117 insertions(+), 100 deletions(-) create mode 100644 .config/k9s/config.yaml delete mode 100644 .config/k9s/skin.yml create mode 100644 .config/k9s/skins/kiss.yaml diff --git a/.config/k9s/config.yaml b/.config/k9s/config.yaml new file mode 100644 index 0000000..c7e9d37 --- /dev/null +++ b/.config/k9s/config.yaml @@ -0,0 +1,42 @@ +k9s: + liveViewAutoRefresh: false + screenDumpDir: /home/dln/.local/state/k9s/screen-dumps + refreshRate: 2 + maxConnRetry: 5 + readOnly: false + noExitOnCtrlC: false + ui: + enableMouse: false + headless: false + logoless: false + crumbsless: false + reactive: false + noIcons: false + defaultsToFullScreen: false + skin: kiss + skipLatestRevCheck: false + disablePodCounting: false + shellPod: + image: busybox:1.35.0 + namespace: default + limits: + cpu: 100m + memory: 100Mi + imageScans: + enable: false + exclusions: + namespaces: [] + labels: {} + logger: + tail: 100 + buffer: 5000 + sinceSeconds: -1 + textWrap: false + showTime: false + thresholds: + cpu: + critical: 90 + warn: 70 + memory: + critical: 90 + warn: 70 diff --git a/.config/k9s/skin.yml b/.config/k9s/skin.yml deleted file mode 100644 index 81ecb20..0000000 --- a/.config/k9s/skin.yml +++ /dev/null @@ -1,100 +0,0 @@ -# K9s Gruvbox Light Skin Contributed by [@indiebrain](https://github.com/indiebrain) -foreground: &foreground default -background: &background default -current_line: ¤t_line "#ebdbb2" -selection: &selection "#3c3735" -comment: &comment "#bdad93" -cyan: &cyan "#78ad79" -green: &green "#989719" -orange: &orange "#d79920" -magenta: &magenta "#b16185" -blue: &blue "#448488" -red: &red "#cc231c" - -k9s: - body: - fgColor: *foreground - bgColor: *background - logoColor: *blue - prompt: - fgColor: *foreground - bgColor: *background - suggestColor: *orange - info: - fgColor: *magenta - sectionColor: *foreground - help: - fgColor: *foreground - bgColor: *background - keyColor: *magenta - numKeyColor: *blue - sectionColor: *green - dialog: - fgColor: *foreground - bgColor: *background - buttonFgColor: *foreground - buttonBgColor: *magenta - buttonFocusFgColor: white - buttonFocusBgColor: *cyan - labelFgColor: *orange - fieldFgColor: *foreground - frame: - border: - fgColor: *selection - focusColor: *current_line - menu: - fgColor: *foreground - keyColor: *magenta - numKeyColor: *magenta - crumbs: - fgColor: *foreground - bgColor: *comment - activeColor: *blue - status: - newColor: *cyan - modifyColor: *blue - addColor: *green - errorColor: *red - highlightColor: *orange - killColor: *comment - completedColor: *comment - title: - fgColor: *foreground - bgColor: *background - highlightColor: *orange - counterColor: *blue - filterColor: *magenta - views: - charts: - bgColor: background - defaultDialColors: - - *blue - - *red - defaultChartColors: - - *blue - - *red - table: - fgColor: *foreground - bgColor: *background - cursorFgColor: *foreground - cursorBgColor: *current_line - header: - fgColor: *foreground - bgColor: *background - sorterColor: *selection - xray: - fgColor: *foreground - bgColor: *background - cursorColor: *current_line - graphicColor: *blue - showIcons: false - yaml: - keyColor: *magenta - colonColor: *blue - valueColor: *foreground - logs: - fgColor: *foreground - bgColor: *background - indicator: - fgColor: *foreground - bgColor: *background diff --git a/.config/k9s/skins/kiss.yaml b/.config/k9s/skins/kiss.yaml new file mode 100644 index 0000000..f8ba7a7 --- /dev/null +++ b/.config/k9s/skins/kiss.yaml @@ -0,0 +1,75 @@ +# ----------------------------------------------------------------------------- +# K9s Kiss Skin +# Author: [@beejeebus](justin.p.randell@gmail.com) +# ----------------------------------------------------------------------------- + +# Skin... +k9s: + body: + fgColor: default + bgColor: default + logoColor: default + prompt: + fgColor: default + bgColor: default + suggestColor: default + info: + fgColor: default + sectionColor: default + dialog: + fgColor: default + bgColor: default + buttonFgColor: default + buttonBgColor: default + buttonFocusFgColor: default + buttonFocusBgColor: default + labelFgColor: default + fieldFgColor: default + frame: + border: + fgColor: default + focusColor: default + menu: + fgColor: default + keyColor: default + numKeyColor: default + crumbs: + fgColor: default + bgColor: default + activeColor: default + status: + newColor: default + modifyColor: default + addColor: default + errorColor: default + highlightColor: default + killColor: default + completedColor: default + title: + fgColor: default + bgColor: default + highlightColor: default + counterColor: default + filterColor: default + views: + table: + fgColor: default + bgColor: default + cursorFgColor: default + cursorBfColor: default + header: + fgColor: default + bgColor: default + sorterColor: default + yaml: + keyColor: default + colonColor: default + valueColor: default + logs: + fgColor: default + bgColor: default + indicator: + fgColor: default + bgColor: default + toggleOnColor: default + toggleOffColor: default From ff0ac00c6f75602febfdc02dcec1b2be151b96f9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 18 Jun 2024 22:49:55 +0200 Subject: [PATCH 307/656] k9s: color tweaks --- .config/k9s/config.yaml | 10 ++++----- .config/k9s/skins/{kiss.yaml => dieter.yaml} | 23 ++++++++++---------- 2 files changed, 17 insertions(+), 16 deletions(-) rename .config/k9s/skins/{kiss.yaml => dieter.yaml} (76%) diff --git a/.config/k9s/config.yaml b/.config/k9s/config.yaml index c7e9d37..f80e58d 100644 --- a/.config/k9s/config.yaml +++ b/.config/k9s/config.yaml @@ -7,13 +7,13 @@ k9s: noExitOnCtrlC: false ui: enableMouse: false - headless: false - logoless: false - crumbsless: false + headless: true + logoless: true + crumbsless: true reactive: false noIcons: false - defaultsToFullScreen: false - skin: kiss + defaultsToFullScreen: true + skin: dieter skipLatestRevCheck: false disablePodCounting: false shellPod: diff --git a/.config/k9s/skins/kiss.yaml b/.config/k9s/skins/dieter.yaml similarity index 76% rename from .config/k9s/skins/kiss.yaml rename to .config/k9s/skins/dieter.yaml index f8ba7a7..46c9a99 100644 --- a/.config/k9s/skins/kiss.yaml +++ b/.config/k9s/skins/dieter.yaml @@ -1,9 +1,5 @@ -# ----------------------------------------------------------------------------- -# K9s Kiss Skin -# Author: [@beejeebus](justin.p.randell@gmail.com) -# ----------------------------------------------------------------------------- +# Dieter -# Skin... k9s: body: fgColor: default @@ -21,8 +17,8 @@ k9s: bgColor: default buttonFgColor: default buttonBgColor: default - buttonFocusFgColor: default - buttonFocusBgColor: default + buttonFocusFgColor: white + buttonFocusBgColor: darkblue labelFgColor: default fieldFgColor: default frame: @@ -41,7 +37,7 @@ k9s: newColor: default modifyColor: default addColor: default - errorColor: default + errorColor: red highlightColor: default killColor: default completedColor: default @@ -55,12 +51,17 @@ k9s: table: fgColor: default bgColor: default - cursorFgColor: default - cursorBfColor: default + cursorFgColor: teal + cursorBgColor: darkblue header: fgColor: default bgColor: default - sorterColor: default + sorterColor: blue + xray: + fgColor: default + bgColor: default + cursorColor: blue + graphicColor: blue yaml: keyColor: default colonColor: default From 172034e7af012d6cf8e3735f791ff77792782c0e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 20 Jun 2024 12:31:02 +0200 Subject: [PATCH 308/656] ssh: add nemo config --- .ssh/config | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/.ssh/config b/.ssh/config index 8914ace..50a9bcc 100644 --- a/.ssh/config +++ b/.ssh/config @@ -19,13 +19,17 @@ Hostname 10.1.100.16 ForwardAgent yes ExitOnForwardFailure yes Compression no -LocalForward localhost:3000 localhost:3000 +#RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock + +Host nemo +Hostname 10.1.100.20 +ForwardAgent yes +ExitOnForwardFailure yes +Compression no +RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.nemo.sock +#LocalForward localhost:3000 localhost:3000 LocalForward localhost:8000 localhost:8000 LocalForward localhost:8080 localhost:8080 -LocalForward localhost:9090 localhost:9090 -LocalForward localhost:10000 localhost:10000 -RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock -RemoteForward localhost:9022 localhost:9022 Host * ForwardAgent no From 69d897e7c309f11c0f07f7b5a686846b4c042214 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 20 Jun 2024 12:31:26 +0200 Subject: [PATCH 309/656] wezterm: add nemo exec domain --- .config/wezterm/wezterm.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 582baf4..5ccaa47 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -19,6 +19,14 @@ config.exec_domains = { cmd.args = wrapped return cmd end), + wezterm.exec_domain("nemo", function(cmd) + local wrapped = { "/usr/bin/ssh", "-t", "nemo" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), } local function activate_nvim(window, pane) @@ -177,7 +185,6 @@ config.allow_square_glyphs_to_overflow_width = "Always" -- Config config.enable_wayland = true -config.term = "wezterm" config.check_for_updates = false -- UI From 0e08bdacef8d0b2b3ffbe16b7c945f9154fc737b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 20 Jun 2024 12:31:55 +0200 Subject: [PATCH 310/656] wezterm: add nemo desktop shortcut --- .local/share/applications/wezterm-nemo.desktop | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .local/share/applications/wezterm-nemo.desktop diff --git a/.local/share/applications/wezterm-nemo.desktop b/.local/share/applications/wezterm-nemo.desktop new file mode 100644 index 0000000..cc0a1d3 --- /dev/null +++ b/.local/share/applications/wezterm-nemo.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=wezterm-nemo +GenericName=wezterm-nemo +StartupWMClass=org.wezfurlong.wezterm-nemo +Type=Application +TryExec=/usr/bin/wezterm +Icon=org.wezfurlong.wezterm +Terminal=false +Categories=System;TerminalEmulator; +Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-nemo --domain=nemo From 6bf9bf1f4777a85d403437e16d485cc8fc4227b9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 21 Jun 2024 10:52:48 +0200 Subject: [PATCH 311/656] wezterm: fix scrolling and re-enable semantic prompt --- .config/fish/conf.d/semantic-prompt.fish | 57 ++++++++++++++++++++++++ .config/wezterm/wezterm.lua | 28 ++++++------ 2 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 .config/fish/conf.d/semantic-prompt.fish diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish new file mode 100644 index 0000000..296a561 --- /dev/null +++ b/.config/fish/conf.d/semantic-prompt.fish @@ -0,0 +1,57 @@ +#!/usr/bin/fish +# SPDX-License-Identifier: CC0-1.0 +if status --is-interactive + set _fishprompt_aid "fish"$fish_pid + set _fishprompt_started 0 + # empty if running; or a numeric exit code; or CANCEL + set _fishprompt_postexec "" + + functions -c fish_prompt _fishprompt_saved_prompt + set _fishprompt_prompt_count 0 + set _fishprompt_disp_count 0 + function _fishprompt_start --on-event fish_prompt + set _fishprompt_prompt_count (math $_fishprompt_prompt_count + 1) + # don't use post-exec, because it is called *before* omitted-newline output + if [ -n "$_fishprompt_postexec" ] + printf "\033]133;D;%s;aid=%s\007" "$_fishprompt_postexec" $_fishprompt_aid + end + printf "\033]133;A;aid=%s;cl=m\007" $_fishprompt_aid + end + + function fish_prompt + set _fishprompt_disp_count (math $_fishprompt_disp_count + 1) + printf "\033]133;P;k=i\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_prompt)) + set _fishprompt_started 1 + set _fishprompt_postexec "" + end + + function _fishprompt_preexec --on-event fish_preexec + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;C;\007" + end + set _fishprompt_started 0 + end + + function _fishprompt_postexec --on-event fish_postexec + set _fishprompt_postexec $status + _fishprompt_start + end + + function __fishprompt_cancel --on-event fish_cancel + set _fishprompt_postexec CANCEL + _fishprompt_start + end + + function _fishprompt_exit --on-process %self + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;Z;aid=%s\007" $_fishprompt_aid + end + end + + if functions -q fish_right_prompt + functions -c fish_right_prompt _fishprompt_saved_right_prompt + function fish_right_prompt + printf "\033]133;P;k=r\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_right_prompt)) + end + end +end diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 5ccaa47..59a8129 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -162,16 +162,16 @@ config.font_rules = { }, } -wezterm.on('window-config-reloaded', function(window, pane) - local overrides = window:get_config_overrides() or {} - local dpi = wezterm.gui.screens().active.effective_dpi +wezterm.on("window-config-reloaded", function(window, pane) + local overrides = window:get_config_overrides() or {} + local dpi = wezterm.gui.screens().active.effective_dpi - if dpi > 96 then - overrides.font_size = 15 - else - overrides.font_size = 18 - end - window:set_config_overrides(overrides) + if dpi > 96 then + overrides.font_size = 14 + else + overrides.font_size = 18 + end + window:set_config_overrides(overrides) end) config.warn_about_missing_glyphs = false @@ -250,6 +250,8 @@ config.keys = { { key = "0", mods = "CTRL", action = "ResetFontSize" }, { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, + { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, + { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, @@ -276,20 +278,20 @@ config.mouse_bindings = { { event = { Down = { streak = 1, button = { WheelUp = 1 } } }, mods = "SHIFT", - action = act.ScrollByLine(-1), + action = act.ScrollByLine(-5), }, { event = { Down = { streak = 1, button = { WheelDown = 1 } } }, mods = "SHIFT", - action = act.ScrollByLine(1), + action = act.ScrollByLine(5), }, { event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByPage(-0.25), + action = act.ScrollByLine(-1), }, { event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByPage(0.25), + action = act.ScrollByLine(1), }, } From c46e0931c9a3c407664ae7d1d34bb8b401ba16e7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 21 Jun 2024 10:55:20 +0200 Subject: [PATCH 312/656] nvim: change eob character for berkeley mono --- .config/nvim/lua/config/options.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua index 23dd35f..7b694a6 100644 --- a/.config/nvim/lua/config/options.lua +++ b/.config/nvim/lua/config/options.lua @@ -27,7 +27,7 @@ vim.g.do_filetype_lua = 1 vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } vim.o.autochdir = true -vim.o.fillchars = "stl: ,stlnc: ,eob:🮙" +vim.o.fillchars = "stl: ,stlnc: ,eob:░" vim.o.list = false vim.o.scrolloff = 7 vim.o.splitkeep = "screen" From d22ce20dcfaefda1835a2d5be731bce76c78610b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 25 Jun 2024 19:47:40 +0200 Subject: [PATCH 313/656] broot: fixings --- .config/broot/conf.hjson | 236 +----------------- .../broot/skins/catppuccin-macchiato.hjson | 171 ------------- .config/broot/skins/catppuccin-mocha.hjson | 171 ------------- .config/broot/skins/dark-blue.hjson | 116 --------- .config/broot/skins/dark-gruvbox.hjson | 88 ------- .config/broot/skins/dark-orange.hjson | 111 -------- .../skins/{white.hjson => dieter-light.hjson} | 12 +- .config/broot/skins/native-16.hjson | 132 ---------- .config/broot/skins/solarized-dark.hjson | 66 ----- .config/broot/skins/solarized-light.hjson | 118 --------- .config/broot/verbs.hjson | 11 +- .config/fish/config.fish | 3 +- .config/wezterm/wezterm.lua | 2 +- .gitconfig | 2 +- 14 files changed, 28 insertions(+), 1211 deletions(-) delete mode 100644 .config/broot/skins/catppuccin-macchiato.hjson delete mode 100644 .config/broot/skins/catppuccin-mocha.hjson delete mode 100644 .config/broot/skins/dark-blue.hjson delete mode 100644 .config/broot/skins/dark-gruvbox.hjson delete mode 100644 .config/broot/skins/dark-orange.hjson rename .config/broot/skins/{white.hjson => dieter-light.hjson} (91%) delete mode 100644 .config/broot/skins/native-16.hjson delete mode 100644 .config/broot/skins/solarized-dark.hjson delete mode 100644 .config/broot/skins/solarized-light.hjson diff --git a/.config/broot/conf.hjson b/.config/broot/conf.hjson index 9e91548..c74318c 100644 --- a/.config/broot/conf.hjson +++ b/.config/broot/conf.hjson @@ -1,114 +1,7 @@ -############################################################### -# This configuration file lets you -# - define new commands -# - change the shortcut or triggering keys of built-in verbs -# - change the colors -# - set default values for flags -# - set special behaviors on specific paths -# - and more... -# -# Configuration documentation is available at -# https://dystroy.org/broot -# -# This file's format is Hjson ( https://hjson.github.io/ ). Some -# properties are commented out. To enable them, remove the `#`. -# -############################################################### - -############################################################### -# Default flags -# You can set up flags you want broot to start with by -# default, for example `default_flags="-ihp"` if you usually want -# to see hidden and gitignored files and the permissions (then -# if you don't want the hidden files at a specific launch, -# you can launch broot with `br -H`). -# A popular flag is the `g` one which displays git related info. -# -# default_flags: - -############################################################### -# Terminal's title -# If you want the terminal's title to be updated when you change -# directory, set a terminal_title pattern by uncommenting one of -# the examples below and tuning it to your taste. -# -# terminal_title: "[broot] {git-name}" -# terminal_title: "{file} 🐄" -# terminal_title: "-= {file-name} =-" - -############################################################### -# Date/Time format -# If you want to change the format for date/time, uncomment the -# following line and change it according to -# https://docs.rs/chrono/0.4.11/chrono/format/strftime/index.html -# -# date_time_format: %Y/%m/%d %R - -############################################################### -# uncomment to activate modal mode -# -# (you really should read https://dystroy.org/broot/modal/ -# before as it may not suit everybody even among vim users) -# -# You may start either in 'command' mode, or in 'input' mode -# -# modal: true -# initial_mode: command - -############################################################### -# Whether to mark the selected line with a triangle -# show_selection_mark: true - -############################################################### -# Column order -# cols_order, if specified, must be a permutation of the following -# array. You should keep the name column at the end as it has a -# variable length. -# -# cols_order: [ -# mark -# git -# size -# permission -# date -# count -# branch -# name -# ] - -############################################################### -# True Colors -# If this parameter isn't set, broot tries to automatically -# determine whether true colors (24 bits) are available. -# As this process is unreliable, you may uncomment this setting -# and set it to false or true if you notice the colors in -# previewed images are too off. -# -# true_colors: false - -############################################################### -# Icons -# If you want to display icons in broot, uncomment this line -# (see https://dystroy.org/broot/icons for installation and -# troubleshooting) -# -# icon_theme: vscode +true_colors: true icon_theme: nerdfont -############################################################### -# Special paths -# If some paths must be handled specially, uncomment (and change -# this section as per the examples) -# Setting "list":"never" on a dir prevents broot from looking at its -# children when searching, unless the dir is the selected root. -# Setting "sum":"never" on a dir prevents broot from looking at its -# children when computing the total size and count of files. -# Setting "show":"always" makes a file visible even if its name -# starts with a dot. -# Setting "list":"always" may be useful on a link to a directory -# (they're otherwise not entered by broot unless selected) -# special_paths: { "/media" : { list: "never" @@ -124,137 +17,24 @@ special_paths: { # "~/my-link-I-want-to-explore": { "list": "always" } } -############################################################### -# Quit on last cancel -# You can usually cancel the last state change on escape. -# If you want the escape key to quit broot when there's nothing -# to cancel (for example when you just opened broot), uncomment -# this parameter -# -# quit_on_last_cancel: true - quit_on_last_cancel: true - -############################################################### -# Search modes -# -# broot allows many search modes. -# A search mode is defined by -# - the way to search: 'fuzzy', 'exact', 'regex', or 'tokens'. -# - where to search: file 'name', 'path', or file 'content' -# A search pattern may for example be "fuzzy path" (default), -# "regex content" or "exact path". -# -# The search mode is selected from its prefix. For example, if -# you type "abc", the default mode is "fuzzy path". If you type -# "/abc", the mode is "regex path". If you type "rn/abc", the mode -# is "regex name". -# -# This mapping may be modified. You may want to dedicate the -# empty prefix (the one which doesn't need a '/') to the -# search mode you use most often. The example below makes it -# easy to search on name rather than on the subpath. -# -# More information on -# https://dystroy.org/broot/input/#the-filtering-pattern -# -# search_modes: { -# <empty>: fuzzy name -# /: regex name -# } - -############################################################### -# File Extension Colors -# -# uncomment and modify the next section if you want to color -# file name depending on their extension -# -# ext_colors: { -# png: rgb(255, 128, 75) -# rs: yellow -# } - -############################################################### -# Max file size for content search -# -# Bigger files are ignored when searching their content. You -# can specify this size either in ISO units (eg 5GB) or in -# the old binary units (eg 44Kib) content_search_max_file_size: 10MB - -############################################################### -# Max Panels Count -# -# Change this if you sometimes want to have more than 2 panels -# open -# max_panels_count: 2 - -############################################################### -# Update work dir -# -# By default, broot process' work dir is kept in sync with the -# current's panel root. If you want to keep it unchanged, -# uncomment this setting -# -# update_work_dir: false - -############################################################### -# Kitty Keyboard extension -# -# If you want to use advanced keyboard shortcuts in Kitty -# compatible terminals (Kitty, Wezterm), set this to true. -# -# This makes it possible to use shortcuts like 'space-n', -# 'ctrl-alt-a-b', 'shift-space', etc. -# enable_kitty_keyboard: true - -############################################################### -# lines around matching line in filtered preview -# -# When searching the content of a file, you can have either -# only the matching lines displayed, or some of the surrounding -# ones too. -# lines_before_match_in_preview: 1 lines_after_match_in_preview: 1 -############################################################### -# Imports -# -# While it's possible to have all configuration in one file, -# it's more convenient to split it in several ones. -# Importing also allows to set a condition on the terminal's -# color, which makes it possible to have a different skin -# chosen when your terminal has a light background and when -# it has a light one. imports: [ - - # Verbs are better configured in verbs.hjson. But you - # can also add another files for your personal verbs verbs.hjson - # This file contains the skin to use when the terminal - # is dark (or when this couldn't be determined) { - luma: [ - dark - unknown - ] - # (un)comment to choose your preferred skin - file: skins/dark-blue.hjson - //file: skins/catppuccin-macchiato.hjson - //file: skins/catppuccin-mocha.hjson - //file: skins/dark-gruvbox.hjson - //file: skins/dark-orange.hjson - //file: skins/solarized-dark.hjson + luma: dark + file: skins/dieter-dark.hjson } - - # This skin is imported when your terminal is light { - luma: light - # (un)comment to choose your preferred skin - //file: skins/solarized-light.hjson - file: skins/white.hjson + luma: [ + light + unknown + ] + file: skins/dieter-light.hjson } ] diff --git a/.config/broot/skins/catppuccin-macchiato.hjson b/.config/broot/skins/catppuccin-macchiato.hjson deleted file mode 100644 index 21a3bf1..0000000 --- a/.config/broot/skins/catppuccin-macchiato.hjson +++ /dev/null @@ -1,171 +0,0 @@ -############################################################### -# A skin for a terminal with a dark background -# This skin uses RGB values so won't work for some -# terminals. -# -# Created by Majixed -# Based on the catppuccin-mocha theme by A. Taha Baki <atahabaki@pm.me> -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -skin: { - input: rgb(202, 211, 245) none - # fg:none bg:$surface2 - selected_line: none rgb(91, 96, 120) - # fg:$text bg:none - default: rgb(202, 211, 245) none - # fg:$overlay0 bg:none - tree: rgb(110, 115, 141) none - # fg:$sapphire bg:none - parent: rgb(125, 196, 228) none - file: none none -# -### PERMISSIONS -# - perm__: rgb(184, 192, 224) none - # $peach - perm_r: rgb(245, 169, 127) none - # $maroon - perm_w: rgb(238, 153, 160) none - # $green - perm_x: rgb(166, 218, 149) none - # $teal - owner: rgb(139, 213, 202) none - # $sky - group: rgb(145, 215, 227) none -# -### DATE -# - # $subtext1 - dates: rgb(184, 192, 224) none -# -### DIRECTORY -# - # $lavender - directory: rgb(183, 189, 248) none Bold - # $green - exe: rgb(166, 218, 149) none - # $yellow - link: rgb(238, 212, 159) none - # $subtext0 - pruning: rgb(165, 173, 203) none Italic -# -### PREVIEW -# - # fg:$text bg:$mantle - preview_title: rgb(202, 211, 245) rgb(30, 32, 48) - # fg:$text bg:$mantle - preview: rgb(202, 211, 245) rgb(30, 32, 48) - # fg:$overlay0 - preview_line_number: rgb(110, 115, 141) none - # fg:$overlay0 - preview_separator: rgb(110, 115, 141) none -# -### MATCH -# - char_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic - content_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic - preview_match: rgb(238, 212, 159) rgb(73, 77, 100) Bold Italic - - # children count - # fg:$yellow bg:none - count: rgb(238, 212, 159) none - sparse: rgb(237, 135, 150) none - content_extract: rgb(237, 135, 150) none Italic -# -### GIT -# - git_branch: rgb(245, 169, 127) none - git_insertions: rgb(245, 169, 127) none - git_deletions: rgb(245, 169, 127) none - git_status_current: rgb(245, 169, 127) none - git_status_modified: rgb(245, 169, 127) none - git_status_new: rgb(245, 169, 127) none Bold - git_status_ignored: rgb(245, 169, 127) none - git_status_conflicted: rgb(245, 169, 127) none - git_status_other: rgb(245, 169, 127) none - staging_area_title: rgb(245, 169, 127) none -# -### FLAG -# - flag_label: rgb(237, 135, 150) none - flag_value: rgb(237, 135, 150) none Bold -# -### STATUS -# - # fg:none #bg:$mantle - status_normal: none rgb(30, 32, 48) - # fg:$red bg:$mantle - status_italic: rgb(237, 135, 150) rgb(30, 32, 48) Italic - # fg:$maroon bg:$mantle - status_bold: rgb(238, 153, 160) rgb(30, 32, 48) Bold - # fg:$maroon bg:$mantle - status_ellipsis: rgb(238, 153, 160) rgb(30, 32, 48) Bold - # fg:$text bg:$red - status_error: rgb(202, 211, 245) rgb(237, 135, 150) - # fg:$maroon bg:$mantle - status_job: rgb(238, 153, 160) rgb(40, 38, 37) - # fg:$maroon bg:$mantle - status_code: rgb(238, 153, 160) rgb(30, 32, 48) Italic - # fg:$maroon bg:$mantle - mode_command_mark: rgb(238, 153, 160) rgb(30, 32, 48) Bold -# -### HELP -# - # fg:$text - help_paragraph: rgb(202, 211, 245) none - # fg:$red - help_headers: rgb(237, 135, 150) none Bold - # fg:$peach - help_bold: rgb(245, 169, 127) none Bold - # fg:$yellow - help_italic: rgb(238, 212, 159) none Italic - # fg:green bg:$surface0 - help_code: rgb(166, 218, 149) rgb(54, 58, 79) - # fg:$overlay0 - help_table_border: rgb(110, 115, 141) none -# -### HEX -# - # fg:$text - hex_null: rgb(202, 211, 245) none - # fg:$peach - hex_ascii_graphic: rgb(245, 169, 127) none - # fg:$green - hex_ascii_whitespace: rgb(166, 218, 149) none - # fg: teal - hex_ascii_other: rgb(139, 213, 202) none - # fg: red - hex_non_ascii: rgb(237, 135, 150) none - - # fg:$text bg:$red - file_error: rgb(243, 60, 44) none -# -### PURPOSE -# - purpose_normal: none none - purpose_italic: rgb(169, 90, 127) none Italic - purpose_bold: rgb(169, 90, 127) none Bold - purpose_ellipsis: none none -# -### SCROLLBAR -# - # fg:$surface0 - scrollbar_track: rgb(54, 58, 79) none - # fg:$surface1 - scrollbar_thumb: rgb(91, 96, 120) none -# -### GOODTOBAD -# - good_to_bad_0: rgb(166, 218, 149) none - good_to_bad_1: rgb(139, 213, 202) none - good_to_bad_2: rgb(145, 215, 227) none - good_to_bad_3: rgb(125, 196, 228) none - good_to_bad_4: rgb(138, 173, 244) none - good_to_bad_5: rgb(183, 189, 248) none - good_to_bad_6: rgb(198, 160, 246) none - good_to_bad_7: rgb(245, 169, 127) none - good_to_bad_8: rgb(238, 153, 160) none - good_to_bad_9: rgb(237, 135, 150) none -} diff --git a/.config/broot/skins/catppuccin-mocha.hjson b/.config/broot/skins/catppuccin-mocha.hjson deleted file mode 100644 index 6ac1b92..0000000 --- a/.config/broot/skins/catppuccin-mocha.hjson +++ /dev/null @@ -1,171 +0,0 @@ -############################################################### -# A skin for a terminal with a dark background -# This skin uses RGB values so won't work for some -# terminals. -# -# Created by A. Taha Baki <atahabaki@pm.me> -# Based on the built-in gruvbox theme. -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -skin: { - input: rgb(205, 214, 244) none - # fg:none bg:$surface2 - selected_line: none rgb(88, 91, 112) - # fg:$text bg:none - default: rgb(205, 214, 244) none - # fg:$overlay0 bg:none - tree: rgb(108, 112, 134) none - # fg:$sapphire bg:none - parent: rgb(116, 199, 236) none - file: none none -# -### PERMISSIONS -# - perm__: rgb(186, 194, 222) none - # $peach - perm_r: rgb(250, 179, 135) none - # $maroon - perm_w: rgb(235, 160, 172) none - # $green - perm_x: rgb(166, 227, 161) none - # $teal - owner: rgb(148, 226, 213) none - # $sky - group: rgb(137, 220, 235) none -# -### DATE -# - # $subtext1 - dates: rgb(186, 194, 222) none -# -### DIRECTORY -# - # $lavender - directory: rgb(180, 190, 254) none Bold - # $green - exe: rgb(166, 227, 161) none - # $yellow - link: rgb(249, 226, 175) none - # $subtext0 - pruning: rgb(166, 173, 200) none Italic -# -### PREVIEW -# - # fg:$text bg:$mantle - preview_title: rgb(205, 214, 244) rgb(24, 24, 37) - # fg:$text bg:$mantle - preview: rgb(205, 214, 244) rgb(24, 24, 37) - # fg:$overlay0 - preview_line_number: rgb(108, 112, 134) none - # fg:$overlay0 - preview_separator: rgb(108, 112, 134) none -# -### MATCH -# - char_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic - content_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic - preview_match: rgb(249, 226, 175) rgb(69, 71, 90) Bold Italic - - # children count - # fg:$yellow bg:none - count: rgb(249, 226, 175) none - sparse: rgb(243, 139, 168) none - content_extract: rgb(243, 139, 168) none Italic -# -### GIT -# - git_branch: rgb(250, 179, 135) none - git_insertions: rgb(250, 179, 135) none - git_deletions: rgb(250, 179, 135) none - git_status_current: rgb(250, 179, 135) none - git_status_modified: rgb(250, 179, 135) none - git_status_new: rgb(250, 179, 135) none Bold - git_status_ignored: rgb(250, 179, 135) none - git_status_conflicted: rgb(250, 179, 135) none - git_status_other: rgb(250, 179, 135) none - staging_area_title: rgb(250, 179, 135) none -# -### FLAG -# - flag_label: rgb(243, 139, 168) none - flag_value: rgb(243, 139, 168) none Bold -# -### STATUS -# - # fg:none #bg:$mantle - status_normal: none rgb(24, 24, 37) - # fg:$red bg:$mantle - status_italic: rgb(243, 139, 168) rgb(24, 24, 37) Italic - # fg:$maroon bg:$mantle - status_bold: rgb(235, 160, 172) rgb(24, 24, 37) Bold - # fg:$maroon bg:$mantle - status_ellipsis: rgb(235, 160, 172) rgb(24, 24, 37) Bold - # fg:$text bg:$red - status_error: rgb(205, 214, 244) rgb(243, 139, 168) - # fg:$maroon bg:$mantle - status_job: rgb(235, 160, 172) rgb(40, 38, 37) - # fg:$maroon bg:$mantle - status_code: rgb(235, 160, 172) rgb(24, 24, 37) Italic - # fg:$maroon bg:$mantle - mode_command_mark: rgb(235, 160, 172) rgb(24, 24, 37) Bold -# -### HELP -# - # fg:$text - help_paragraph: rgb(205, 214, 244) none - # fg:$red - help_headers: rgb(243, 139, 168) none Bold - # fg:$peach - help_bold: rgb(250, 179, 135) none Bold - # fg:$yellow - help_italic: rgb(249, 226, 175) none Italic - # fg:green bg:$surface0 - help_code: rgb(166, 227, 161) rgb(49, 50, 68) - # fg:$overlay0 - help_table_border: rgb(108, 112, 134) none -# -### HEX -# - # fg:$text - hex_null: rgb(205, 214, 244) none - # fg:$peach - hex_ascii_graphic: rgb(250, 179, 135) none - # fg:$green - hex_ascii_whitespace: rgb(166, 227, 161) none - # fg: teal - hex_ascii_other: rgb(148, 226, 213) none - # fg: red - hex_non_ascii: rgb(243, 139, 168) none - - # fg:$text bg:$red - file_error: rgb(251, 73, 52) none -# -### PURPOSE -# - purpose_normal: none none - purpose_italic: rgb(177, 98, 134) none Italic - purpose_bold: rgb(177, 98, 134) none Bold - purpose_ellipsis: none none -# -### SCROLLBAR -# - # fg:$surface0 - scrollbar_track: rgb(49, 50, 68) none - # fg:$surface1 - scrollbar_thumb: rgb(88, 91, 112) none -# -### GOODTOBAD -# - good_to_bad_0: rgb(166, 227, 161) none - good_to_bad_1: rgb(148, 226, 213) none - good_to_bad_2: rgb(137, 220, 235) none - good_to_bad_3: rgb(116, 199, 236) none - good_to_bad_4: rgb(137, 180, 250) none - good_to_bad_5: rgb(180, 190, 254) none - good_to_bad_6: rgb(203, 166, 247) none - good_to_bad_7: rgb(250, 179, 135) none - good_to_bad_8: rgb(235, 160, 172) none - good_to_bad_9: rgb(243, 139, 168) none -} diff --git a/.config/broot/skins/dark-blue.hjson b/.config/broot/skins/dark-blue.hjson deleted file mode 100644 index 7dbc7f4..0000000 --- a/.config/broot/skins/dark-blue.hjson +++ /dev/null @@ -1,116 +0,0 @@ -############################################################### -# A skin for a terminal with a dark background -# -# To create your own skin, copy this file, change the entries -# and import your skin file from the main conf file (look -# for "imports") -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -############################################################### -# Skin -# If you want to change the colors of broot, -# uncomment the following block and start messing -# with the various values. -# A skin entry value is made of two parts separated with a '/': -# The first one is the skin for the active panel. -# The second one, optional, is the skin for non active panels. -# You may find explanations and other skins on -# https://dystroy.org/broot/skins -############################################################### -skin: { - default: gray(22) none / gray(20) none - tree: gray(8) None / gray(4) None - parent: gray(18) None / gray(13) None - file: gray(22) None / gray(15) None - directory: ansi(110) None bold / ansi(110) None - exe: Cyan None - link: Magenta None - pruning: gray(12) None Italic - perm__: gray(5) None - perm_r: ansi(94) None - perm_w: ansi(132) None - perm_x: ansi(65) None - owner: ansi(138) None - group: ansi(131) None - count: ansi(138) gray(4) - dates: ansi(66) None - sparse: ansi(214) None - content_extract: ansi(29) None - content_match: ansi(34) None - device_id_major: ansi(138) None - device_id_sep: ansi(102) None - device_id_minor: ansi(138) None - git_branch: ansi(178) None - git_insertions: ansi(28) None - git_deletions: ansi(160) None - git_status_current: gray(5) None - git_status_modified: ansi(28) None - git_status_new: ansi(94) None bold - git_status_ignored: gray(17) None - git_status_conflicted: ansi(88) None - git_status_other: ansi(88) None - selected_line: None gray(6) / None gray(4) - char_match: Green None - file_error: Red None - flag_label: gray(15) gray(2) - flag_value: ansi(178) gray(2) bold - input: White gray(2) / gray(15) None - status_error: gray(22) ansi(124) - status_job: ansi(220) gray(5) - status_normal: gray(20) gray(4) / gray(2) gray(2) - status_italic: ansi(178) gray(4) / gray(2) gray(2) - status_bold: ansi(178) gray(4) bold / gray(2) gray(2) - status_code: ansi(229) gray(4) / gray(2) gray(2) - status_ellipsis: gray(19) gray(1) / gray(2) gray(2) - purpose_normal: gray(20) gray(2) - purpose_italic: ansi(178) gray(2) - purpose_bold: ansi(178) gray(2) bold - purpose_ellipsis: gray(20) gray(2) - scrollbar_track: gray(7) None / gray(4) None - scrollbar_thumb: gray(22) None / gray(14) None - help_paragraph: gray(20) None - help_bold: ansi(178) None bold - help_italic: ansi(229) None - help_code: gray(21) gray(3) - help_headers: ansi(178) None - help_table_border: ansi(239) None - preview: gray(20) gray(1) / gray(18) gray(2) - preview_title: gray(23) gray(2) / gray(21) gray(2) - preview_line_number: gray(12) gray(3) - preview_separator: gray(5) None - preview_match: None ansi(29) - hex_null: gray(8) None - hex_ascii_graphic: gray(18) None - hex_ascii_whitespace: ansi(143) None - hex_ascii_other: ansi(215) None - hex_non_ascii: ansi(167) None - staging_area_title: gray(22) gray(2) / gray(20) gray(3) - mode_command_mark: gray(5) ansi(204) bold - good_to_bad_0: ansi(28) - good_to_bad_1: ansi(29) - good_to_bad_2: ansi(29) - good_to_bad_3: ansi(29) - good_to_bad_4: ansi(29) - good_to_bad_5: ansi(100) - good_to_bad_6: ansi(136) - good_to_bad_7: ansi(172) - good_to_bad_8: ansi(166) - good_to_bad_9: ansi(196) -} - -############################################################### -# Syntax Theme -# -# If you want to choose the theme used for preview, uncomment -# one of the following lines: -# -# syntax_theme: GitHub -# syntax_theme: SolarizedDark -# syntax_theme: SolarizedLight -syntax_theme: MochaDark -# syntax_theme: MochaDark -# syntax_theme: OceanDark -# syntax_theme: OceanLight - diff --git a/.config/broot/skins/dark-gruvbox.hjson b/.config/broot/skins/dark-gruvbox.hjson deleted file mode 100644 index e62d583..0000000 --- a/.config/broot/skins/dark-gruvbox.hjson +++ /dev/null @@ -1,88 +0,0 @@ -############################################################### -# A skin for a terminal with a dark background -# This skin uses RGB values so won't work for some -# terminals. -# -# -# (initially contributed by @basbebe) -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -skin: { - default: rgb(235, 219, 178) none / rgb(189, 174, 147) none - tree: rgb(70, 70, 80) None / rgb(60, 60, 60) None - parent: rgb(235, 219, 178) none / rgb(189, 174, 147) none Italic - file: None None / None None Italic - directory: rgb(131, 165, 152) None Bold / rgb(131, 165, 152) None - exe: rgb(184, 187, 38) None - link: rgb(104, 157, 106) None - pruning: rgb(124, 111, 100) None Italic - perm__: None None - perm_r: rgb(215, 153, 33) None - perm_w: rgb(204, 36, 29) None - perm_x: rgb(152, 151, 26) None - owner: rgb(215, 153, 33) None Bold - group: rgb(215, 153, 33) None - count: rgb(69, 133, 136) rgb(50, 48, 47) - dates: rgb(168, 153, 132) None - sparse: rgb(250, 189,47) None - content_extract: ansi(29) None Italic - content_match: ansi(34) None Bold - git_branch: rgb(251, 241, 199) None - git_insertions: rgb(152, 151, 26) None - git_deletions: rgb(190, 15, 23) None - git_status_current: rgb(60, 56, 54) None - git_status_modified: rgb(152, 151, 26) None - git_status_new: rgb(104, 187, 38) None Bold - git_status_ignored: rgb(213, 196, 161) None - git_status_conflicted: rgb(204, 36, 29) None - git_status_other: rgb(204, 36, 29) None - selected_line: None rgb(60, 56, 54) / None rgb(50, 48, 47) - char_match: rgb(250, 189, 47) None - file_error: rgb(251, 73, 52) None - flag_label: rgb(189, 174, 147) None - flag_value: rgb(211, 134, 155) None Bold - input: rgb(251, 241, 199) None / rgb(189, 174, 147) None Italic - status_error: rgb(213, 196, 161) rgb(204, 36, 29) - status_job: rgb(250, 189, 47) rgb(60, 56, 54) - status_normal: None rgb(40, 38, 37) / None None - status_italic: rgb(211, 134, 155) rgb(40, 38, 37) Italic / None None - status_bold: rgb(211, 134, 155) rgb(40, 38, 37) Bold / None None - status_code: rgb(251, 241, 199) rgb(40, 38, 37) / None None - status_ellipsis: rgb(251, 241, 199) rgb(40, 38, 37) Bold / None None - purpose_normal: None None - purpose_italic: rgb(177, 98, 134) None Italic - purpose_bold: rgb(177, 98, 134) None Bold - purpose_ellipsis: None None - scrollbar_track: rgb(80, 73, 69) None / rgb(50, 48, 47) None - scrollbar_thumb: rgb(213, 196, 161) None / rgb(102, 92, 84) None - help_paragraph: None None - help_bold: rgb(214, 93, 14) None Bold - help_italic: rgb(211, 134, 155) None Italic - help_code: rgb(142, 192, 124) rgb(50, 48, 47) - help_headers: rgb(254, 128, 25) None Bold - help_table_border: rgb(80, 73, 69) None - preview_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40) - preview: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(235, 219, 178) rgb(40, 40, 40) - preview_line_number: rgb(124, 111, 100) None / rgb(124, 111, 100) rgb(40, 40, 40) - preview_separator: rgb(70, 70, 80) None / rgb(60, 60, 60) None - preview_match: None ansi(29) Bold - hex_null: rgb(189, 174, 147) None - hex_ascii_graphic: rgb(213, 196, 161) None - hex_ascii_whitespace: rgb(152, 151, 26) None - hex_ascii_other: rgb(254, 128, 25) None - hex_non_ascii: rgb(214, 93, 14) None - staging_area_title: rgb(235, 219, 178) rgb(40, 40, 40) / rgb(189, 174, 147) rgb(40, 40, 40) - mode_command_mark: gray(5) ansi(204) Bold - good_to_bad_0: ansi(28) - good_to_bad_1: ansi(29) - good_to_bad_2: ansi(29) - good_to_bad_3: ansi(29) - good_to_bad_4: ansi(29) - good_to_bad_5: ansi(100) - good_to_bad_6: ansi(136) - good_to_bad_7: ansi(172) - good_to_bad_8: ansi(166) - good_to_bad_9: ansi(196) -} diff --git a/.config/broot/skins/dark-orange.hjson b/.config/broot/skins/dark-orange.hjson deleted file mode 100644 index 8e2f845..0000000 --- a/.config/broot/skins/dark-orange.hjson +++ /dev/null @@ -1,111 +0,0 @@ -############################################################### -# A skin for a terminal with a dark background -# -# To create your own skin, copy this file, change the entries -# and import your skin file from the main conf file (look -# for "imports") -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -############################################################### -# Skin -# If you want to change the colors of broot, -# uncomment the following bloc and start messing -# with the various values. -# A skin entry value is made of two parts separated with a '/': -# The first one is the skin for the active panel. -# The second one, optional, is the skin for non active panels. -# You may find explanations and other skins on -# https://dystroy.org/broot/skins -############################################################### -skin: { - default: none none / gray(20) none - tree: ansi(94) None / gray(3) None - parent: gray(18) None / gray(13) None - file: gray(20) None / gray(15) None - directory: ansi(208) None Bold / ansi(172) None bold - exe: Cyan None - link: Magenta None - pruning: gray(12) None Italic - perm__: gray(5) None - perm_r: ansi(94) None - perm_w: ansi(132) None - perm_x: ansi(65) None - owner: ansi(138) None - group: ansi(131) None - count: ansi(136) gray(3) - dates: ansi(66) None - sparse: ansi(214) None - content_extract: ansi(29) None - content_match: ansi(34) None - git_branch: ansi(229) None - git_insertions: ansi(28) None - git_deletions: ansi(160) None - git_status_current: gray(5) None - git_status_modified: ansi(28) None - git_status_new: ansi(94) None Bold - git_status_ignored: gray(17) None - git_status_conflicted: ansi(88) None - git_status_other: ansi(88) None - selected_line: None gray(5) / None gray(4) - char_match: Yellow None - file_error: Red None - flag_label: gray(15) None - flag_value: ansi(208) None Bold - input: White None / gray(15) gray(2) - status_error: gray(22) ansi(124) - status_job: ansi(220) gray(5) - status_normal: gray(20) gray(3) / gray(2) gray(2) - status_italic: ansi(208) gray(3) / gray(2) gray(2) - status_bold: ansi(208) gray(3) Bold / gray(2) gray(2) - status_code: ansi(229) gray(3) / gray(2) gray(2) - status_ellipsis: gray(19) gray(1) / gray(2) gray(2) - purpose_normal: gray(20) gray(2) - purpose_italic: ansi(178) gray(2) - purpose_bold: ansi(178) gray(2) Bold - purpose_ellipsis: gray(20) gray(2) - scrollbar_track: gray(7) None / gray(4) None - scrollbar_thumb: gray(22) None / gray(14) None - help_paragraph: gray(20) None - help_bold: ansi(208) None Bold - help_italic: ansi(166) None - help_code: gray(21) gray(3) - help_headers: ansi(208) None - help_table_border: ansi(239) None - preview: gray(20) gray(1) / gray(18) gray(2) - preview_line_number: gray(12) gray(3) - preview_separator: ansi(94) None / gray(3) None - preview_match: None ansi(29) - hex_null: gray(11) None - hex_ascii_graphic: gray(18) None - hex_ascii_whitespace: ansi(143) None - hex_ascii_other: ansi(215) None - hex_non_ascii: ansi(167) None - good_to_bad_0: ansi(28) - good_to_bad_1: ansi(29) - good_to_bad_2: ansi(29) - good_to_bad_3: ansi(29) - good_to_bad_4: ansi(29) - good_to_bad_5: ansi(100) - good_to_bad_6: ansi(136) - good_to_bad_7: ansi(172) - good_to_bad_8: ansi(166) - good_to_bad_9: ansi(196) -} - - -############################################################### -# Syntax Theme -# -# If you want to choose the theme used for preview, uncomment -# one of the following lines: -# -# syntax_theme: GitHub -# syntax_theme: SolarizedDark -# syntax_theme: SolarizedLight -syntax_theme: SolarizedDark -# syntax_theme: MochaDark -# syntax_theme: OceanDark -# syntax_theme: OceanLight - diff --git a/.config/broot/skins/white.hjson b/.config/broot/skins/dieter-light.hjson similarity index 91% rename from .config/broot/skins/white.hjson rename to .config/broot/skins/dieter-light.hjson index 908e648..ad61918 100644 --- a/.config/broot/skins/white.hjson +++ b/.config/broot/skins/dieter-light.hjson @@ -10,10 +10,10 @@ syntax_theme: base16-ocean.light skin: { - default: gray(1) None - tree: gray(7) None / gray(18) None - file: gray(3) None / gray(8) None - directory: ansi(25) None Bold / ansi(25) None + default: gray(0) None + tree: gray(20) None / gray(18) None + file: gray(1) None / gray(8) None + directory: gray(4) None Bold / ansi(4) None exe: ansi(130) None link: Magenta None pruning: gray(12) None Italic @@ -34,8 +34,8 @@ skin: { git_status_ignored: gray(17) None git_status_conflicted: ansi(88) None git_status_other: ansi(88) None - selected_line: None gray(19) / None gray(21) - char_match: ansi(22) None + selected_line: None gray(20) + char_match: None ansi(226) file_error: Red None flag_label: gray(9) None flag_value: ansi(166) None Bold diff --git a/.config/broot/skins/native-16.hjson b/.config/broot/skins/native-16.hjson deleted file mode 100644 index a220c10..0000000 --- a/.config/broot/skins/native-16.hjson +++ /dev/null @@ -1,132 +0,0 @@ -############################################################### -# 16 ANSI color theme. Colors in this theme are restricted from -# ANSI color 0 - 15. This will allow the theme to adapt to your -# terminal emulator's theme. Note that, for now, the preview -# mode does not yet support this theme because of syntect not -# having a 16 ansi color theme. -# -# More info at https://jeffkreeftmeijer.com/vim-16-color/ -# Doc at https://dystroy.org/broot/skins/ -############################################################### - -skin: { - directory: ansi(12) - file: ansi(7) - pruning: ansi(8) none italic - selected_line: none ansi(0) - tree: ansi(8) - - # Search - char_match: ansi(3) none underlined - parent: ansi(4) none bold - - # File properties - exe: ansi(2) - link: ansi(13) - sparse: ansi(12) - - # Prompt - input: ansi(6) - - # Status bar - status_bold: ansi(7) ansi(8) bold - status_code: ansi(10) ansi(8) - status_ellipsis: ansi(7) ansi(8) - status_error: ansi(7) ansi(8) - status_italic: ansi(7) ansi(8) italic - status_job: ansi(7) ansi(8) - status_normal: ansi(7) ansi(8) - - # Flag status - flag_label: ansi(6) - flag_value: ansi(14) none bold - - # Background - default: none none - - # Scrollbar - scrollbar_track: ansi(0) - scrollbar_thumb: ansi(3) - - # Git - git_branch: ansi(13) - git_deletions: ansi(1) - git_insertions: ansi(2) - git_status_conflicted: ansi(1) - git_status_current: ansi(6) - git_status_ignored: ansi(8) - git_status_modified: ansi(3) - git_status_new: ansi(2) none bold - git_status_other: ansi(5) - - # Staging area - staging_area_title: ansi(3) - - # Documentation - help_bold: ansi(7) none bold - help_code: ansi(4) - help_headers: ansi(3) - help_italic: ansi(7) none italic - help_paragraph: ansi(7) - help_table_border: ansi(8) - - # Device column - device_id_major: ansi(5) - device_id_minor: ansi(5) - device_id_sep: ansi(5) - - # Counts column - count: ansi(13) - - # Dates column - dates: ansi(6) - - # Permissions column - group: ansi(3) - owner: ansi(3) - perm__: ansi(8) - perm_r: ansi(3) - perm_w: ansi(1) - perm_x: ansi(2) - - # Hex preview - hex_null: ansi(8) - hex_ascii_graphic: ansi(2) - hex_ascii_whitespace: ansi(3) - hex_ascii_other: ansi(4) - hex_non_ascii: ansi(5) - - # Preview - # preview: none - # preview_line_number: none - # preview_match: none - # preview_title: none - - # Used for displaying errors - file_error: ansi(1) - - # Content searches - content_extract: ansi(7) - content_match: ansi(3) none underlined - - # Used in status line - purpose_bold: ansi(0) ansi(7) bold - purpose_ellipsis: ansi(0) - purpose_italic: ansi(0) ansi(7) italic - purpose_normal: ansi(0) - - # Modal indicator - mode_command_mark: ansi(7) ansi(4) - - # File system occupation - good_to_bad_0: ansi(2) - good_to_bad_1: ansi(2) - good_to_bad_2: ansi(2) - good_to_bad_3: ansi(2) - good_to_bad_4: ansi(2) - good_to_bad_5: ansi(1) - good_to_bad_6: ansi(1) - good_to_bad_7: ansi(1) - good_to_bad_8: ansi(1) - good_to_bad_9: ansi(1) -} diff --git a/.config/broot/skins/solarized-dark.hjson b/.config/broot/skins/solarized-dark.hjson deleted file mode 100644 index fdea579..0000000 --- a/.config/broot/skins/solarized-dark.hjson +++ /dev/null @@ -1,66 +0,0 @@ -// contributed by [@danieltrautmann](https://github.com/danieltrautmann) -// -// -// The Solarized Dark skin uses RGB values, so it might not work well with some -// terminals -// -// Doc at https://dystroy.org/broot/skins/ - -skin: { - default: "rgb(131, 148, 150) rgb(0, 43, 54) / rgb(131, 148, 150) rgb(7, 54, 66)" // base0 base03 / base01 base02 - tree: "rgb(88, 110, 117) none" // base01 default - file: "none none" // default default - directory: "rgb(38, 139, 210) none bold" // blue default bold - exe: "rgb(211, 1, 2) none" // red default - link: "rgb(211, 54, 130) none" // magenta default - pruning: "rgb(88, 110, 117) none italic" // base01 default italic - perm__: "rgb(88, 110, 117) none" // base01 default - perm_r: "none none" // default default - perm_w: "none none" // default default - perm_x: "none none" // default default - owner: "rgb(88, 110, 117) none" // base01 default - group: "rgb(88, 110, 117) none" // base01 default - sparse: "none none" // default default - git_branch: "rgb(147, 161, 161) none" // base1 default - git_insertions: "rgb(133, 153, 0) none" // green default - git_deletions: "rgb(211, 1, 2) none" // red default - git_status_current: "none none" // default default - git_status_modified: "rgb(181, 137, 0) none" // yellow default - git_status_new: "rgb(133, 153, 0) none" // green default - git_status_ignored: "rgb(88, 110, 117) none" // base01 default - git_status_conflicted: "rgb(211, 1, 2) none" // red default - git_status_other: "rgb(211, 1, 2) none" // red default - selected_line: "none rgb(7, 54, 66)" // default base02 - char_match: "rgb(133, 153, 0) none underlined" // green default underlined - file_error: "rgb(203, 75, 22) none italic" // orange default italic - flag_label: "none none" // default default - flag_value: "rgb(181, 137, 0) none bold" // yellow default bold - input: "none none" // default default - status_error: "rgb(203, 75, 22) rgb(7, 54, 66)" // orange base02 - status_job: "rgb(108, 113, 196) rgb(7, 54, 66) bold" // violet base02 bold - status_normal: "none rgb(7, 54, 66)" // default base02 - status_italic: "rgb(181, 137, 0) rgb(7, 54, 66)" // yellow base02 - status_bold: "rgb(147, 161, 161) rgb(7, 54, 66) bold" // base1 base02 bold - status_code: "rgb(108, 113, 196) rgb(7, 54, 66)" // violet base02 - status_ellipsis: "none rgb(7, 54, 66)" // default base02 - scrollbar_track: "rgb(7, 54, 66) none" // base02 default - scrollbar_thumb: "none none" // default default - help_paragraph: "none none" // default default - help_bold: "rgb(147, 161, 161) none bold" // base1 default bold - help_italic: "rgb(147, 161, 161) none italic" // base1 default italic - help_code: "rgb(147, 161, 161) rgb(7, 54, 66)" // base1 base02 - help_headers: "rgb(181, 137, 0) none" // yellow default - help_table_border: "none none" // default default - preview_title: "gray(20) rgb(0, 43, 54)" - staging_area_title: "gray(22) rgb(0, 43, 54)" - good_to_bad_0: "ansi(28)" // green - good_to_bad_1: "ansi(29)" - good_to_bad_2: "ansi(29)" - good_to_bad_3: "ansi(29)" - good_to_bad_4: "ansi(29)" - good_to_bad_5: "ansi(100)" - good_to_bad_6: "ansi(136)" - good_to_bad_7: "ansi(172)" - good_to_bad_8: "ansi(166)" - good_to_bad_9: "ansi(196)" // red -} diff --git a/.config/broot/skins/solarized-light.hjson b/.config/broot/skins/solarized-light.hjson deleted file mode 100644 index 6e19275..0000000 --- a/.config/broot/skins/solarized-light.hjson +++ /dev/null @@ -1,118 +0,0 @@ -// contributed by [@danieltrautmann](https://github.com/danieltrautmann) -// -// -// The Solarized Light skin uses RGB values, so it might not work well with some -// terminals -// -// If you prefer to keep the background the same as your terminal background, change -// the "default" entry to -// default: "none none / rgb(147, 161, 161) none" -// -// Doc at https://dystroy.org/broot/skins/ - -skin: { - // base00 default / base1 base2 - default: "rgb(101, 123, 131) none / rgb(147, 161, 161) none" - // base1 default - tree: "rgb(147, 161, 161) none" - // default default - file: "none none" - // blue default bold - directory: "rgb(38, 139, 210) none bold" - // red default - exe: "rgb(211, 1, 2) none" - // magenta default - link: "rgb(211, 54, 130) none" - // base1 default italic - pruning: "rgb(147, 161, 161) none italic" - // base1 default - perm__: "rgb(147, 161, 161) none" - // default default - perm_r: "none none" - // default default - perm_w: "none none" - // default default - perm_x: "none none" - // base1 default - owner: "rgb(147, 161, 161) none" - // base1 default - group: "rgb(147, 161, 161) none" - // default default - sparse: "none none" - // base01 default - git_branch: "rgb(88, 110, 117) none" - // green default - git_insertions: "rgb(133, 153, 0) none" - // red default - git_deletions: "rgb(211, 1, 2) none" - // default default - git_status_current: "none none" - // yellow default - git_status_modified: "rgb(181, 137, 0) none" - // green default - git_status_new: "rgb(133, 153, 0) none" - // base1 default - git_status_ignored: "rgb(147, 161, 161) none" - // red default - git_status_conflicted: "rgb(211, 1, 2) none" - // red default - git_status_other: "rgb(211, 1, 2) none" - // default base2 - selected_line: "none rgb(238, 232, 213)" - // green default underlined - char_match: "rgb(133, 153, 0) none underlined" - // orange default italic - file_error: "rgb(203, 75, 22) none italic" - // default default - flag_label: "none none" - // yellow default bold - flag_value: "rgb(181, 137, 0) none bold" - // default default - input: "none none" - // orange base2 - status_error: "rgb(203, 75, 22) rgb(238, 232, 213)" - // violet base2 bold - status_job: "rgb(108, 113, 196) rgb(238, 232, 213) bold" - // default base2 - status_normal: "none rgb(238, 232, 213)" - // yellow base2 - status_italic: "rgb(181, 137, 0) rgb(238, 232, 213)" - // base01 base2 bold - status_bold: "rgb(88, 110, 117) rgb(238, 232, 213) bold" - // violet base2 - status_code: "rgb(108, 113, 196) rgb(238, 232, 213)" - // default base2 - status_ellipsis: "none rgb(238, 232, 213)" - // base2 default - scrollbar_track: "rgb(238, 232, 213) none" - // default default - scrollbar_thumb: "none none" - // default default - help_paragraph: "none none" - // base01 default bold - help_bold: "rgb(88, 110, 117) none bold" - // base01 default italic - help_italic: "rgb(88, 110, 117) none italic" - // base01 base2 - help_code: "rgb(88, 110, 117) rgb(238, 232, 213)" - // yellow default - help_headers: "rgb(181, 137, 0) none" - // default default - help_table_border: "none none" - preview_title: "rgb(147, 161, 161) rgb(238, 232, 213)" - preview: "rgb(101, 123, 131) rgb(253, 246, 227) / rgb(147, 161, 161) rgb(238, 232, 213)" - preview_line_number: "rgb(147, 161, 161) rgb(238, 232, 213)" - preview_separator: "rgb(147, 161, 161) rgb(238, 232, 213)" - preview_match: "None ansi(29)" - staging_area_title: "gray(22) rgb(253, 246, 227)" - good_to_bad_0: ansi(28) - good_to_bad_1: ansi(29) - good_to_bad_2: ansi(29) - good_to_bad_3: ansi(29) - good_to_bad_4: ansi(29) - good_to_bad_5: ansi(100) - good_to_bad_6: ansi(136) - good_to_bad_7: ansi(172) - good_to_bad_8: ansi(166) - good_to_bad_9: ansi(196) -} diff --git a/.config/broot/verbs.hjson b/.config/broot/verbs.hjson index abf186a..da78ce8 100644 --- a/.config/broot/verbs.hjson +++ b/.config/broot/verbs.hjson @@ -8,6 +8,15 @@ ############################################################### verbs: [ + { + invocation: edit + key: enter + shortcut: e + execution: "wezterm-edit-helper {file}" + apply_to: text_file + leave_broot: true + } + { invocation: nvim key: enter @@ -19,7 +28,7 @@ verbs: [ { invocation: broot_home key: ctrl-7 - execution: broot $HOME + execution: br $HOME leave_broot: true } diff --git a/.config/fish/config.fish b/.config/fish/config.fish index cdfdf49..9e011ff 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -55,7 +55,8 @@ if status is-interactive function git_jump set _dir $(git rev-parse --show-toplevel 2>/dev/null || pwd) if [ "$_dir" = "$PWD" ] - set _dir $(br -f --conf ~/.config/broot/select.hjson) + #set _dir $(br -f --conf ~/.config/broot/select.hjson) + set _dir $(br -f --conf "$HOME/.config/broot/conf.hjson") end [ -n "$_dir" ] && pushd $_dir >>/dev/null commandline -f repaint diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 59a8129..a5c8e1a 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -111,7 +111,7 @@ local function colors_for_appearance(appearance) else return { background = "#fefeff", - foreground = "#333333", + foreground = "#222222", cursor_bg = "#aa0000", cursor_fg = "#ffffff", cursor_border = "#ffffff", diff --git a/.gitconfig b/.gitconfig index e389b10..e001475 100644 --- a/.gitconfig +++ b/.gitconfig @@ -85,7 +85,7 @@ protocol = git diffFilter = delta --color-only --features=interactive [commit] -gpgsign = true +gpgsign = false verbose = true [credential] From 6a5196b4d4ce4b9dd4135fc3d417eaec88093ddc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 28 Jun 2024 07:55:21 +0200 Subject: [PATCH 314/656] nixos adjustments (PATHs mostly) --- .config/fish/conf.d/prompt.fish | 4 +- .config/fish/conf.d/semantic-prompt.fish | 1 - .config/fish/config.fish | 11 - .config/fish/fish_variables | 2 +- .config/wezterm/wezterm.lua | 348 +++++++++++------------ bin/wezterm-edit-helper | 1 + bin/xdg-open | 2 +- 7 files changed, 179 insertions(+), 190 deletions(-) diff --git a/.config/fish/conf.d/prompt.fish b/.config/fish/conf.d/prompt.fish index c6281d9..c246201 100644 --- a/.config/fish/conf.d/prompt.fish +++ b/.config/fish/conf.d/prompt.fish @@ -20,7 +20,7 @@ function fish_prompt printf "\n\e[1;32m%%\e[0m " end else - /usr/bin/starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS end end @@ -43,7 +43,7 @@ function fish_right_prompt printf "" end else - /usr/bin/starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS + starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS end end diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish index 296a561..23947c4 100644 --- a/.config/fish/conf.d/semantic-prompt.fish +++ b/.config/fish/conf.d/semantic-prompt.fish @@ -1,4 +1,3 @@ -#!/usr/bin/fish # SPDX-License-Identifier: CC0-1.0 if status --is-interactive set _fishprompt_aid "fish"$fish_pid diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 9e011ff..55297a1 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -4,11 +4,6 @@ set fish_emoji_width 2 fish_add_path $HOME/.cargo/bin fish_add_path $HOME/bin -## Nix -set -gx LOCALE_ARCHIVE /usr/lib/locale/locale-archive -set -gx NIX_REMOTE daemon -fish_add_path $HOME/.nix-profile/bin - if status is-interactive ## Pager @@ -29,16 +24,10 @@ if status is-interactive set -gx VISUAL $EDITOR set -gx SUDO_EDITOR $EDITOR - - function tree eza --tree --color=always $argv | bat --wrap=never end - function rg --wraps rg --description 'ripgrep with bat' - /usr/bin/rg --color=always $argv | bat --wrap=never - end - ## Directory jumping with frecency function fre_after_cd --on-variable PWD diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables index e265762..10b98ea 100644 --- a/.config/fish/fish_variables +++ b/.config/fish/fish_variables @@ -44,5 +44,5 @@ SETUVAR fish_pager_color_selected_background:\x2dr SETUVAR fish_pager_color_selected_completion:\x1d SETUVAR fish_pager_color_selected_description:\x1d SETUVAR fish_pager_color_selected_prefix:\x1d -SETUVAR fish_user_paths:/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin +SETUVAR fish_user_paths:/home/dln/\x2enix\x2dprofile/bin\x1e/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin SETUVAR --export theme:Catppuccin\x20Latte diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index a5c8e1a..3a468c0 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -11,67 +11,67 @@ local config = {} local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } config.exec_domains = { - wezterm.exec_domain("dev", function(cmd) - local wrapped = { "/usr/bin/ssh", "-t", "dev" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), - wezterm.exec_domain("nemo", function(cmd) - local wrapped = { "/usr/bin/ssh", "-t", "nemo" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), + wezterm.exec_domain("dev", function(cmd) + local wrapped = { "ssh", "-t", "dev" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), + wezterm.exec_domain("nemo", function(cmd) + local wrapped = { "ssh", "-t", "nemo" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), } local function activate_nvim(window, pane) - wezterm.log_info("nvim") - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(0), - }), - pane - ) - return - end - end - end + wezterm.log_info("nvim") + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(0), + }), + pane + ) + return + end + end + end - local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) - window:perform_action(act.MoveTab(0), nvim_pane) - nvim_tab:set_title("nvim") + local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) + window:perform_action(act.MoveTab(0), nvim_pane) + nvim_tab:set_title("nvim") end local function activate_tab(title, index) - return function(window, pane) - wezterm.log_info(title) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - if t.tab:get_title() == title then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(index), - }), - pane - ) - return - end - end - local tab, _, _ = window:mux_window():spawn_tab({ - cwd = "~", - }) - tab:set_title(title) - window:perform_action(act.MoveTab(index), pane) - end + return function(window, pane) + wezterm.log_info(title) + for _, t in ipairs(window:mux_window():tabs_with_info()) do + if t.tab:get_title() == title then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(index), + }), + pane + ) + return + end + end + local tab, _, _ = window:mux_window():spawn_tab({ + cwd = "~", + }) + tab:set_title(title) + window:perform_action(act.MoveTab(index), pane) + end end wezterm.on("activate-nvim", activate_nvim) @@ -86,41 +86,41 @@ wezterm.on("tab-9", activate_tab("t9", 8)) wezterm.on("tab-10", activate_tab("t10", 9)) wezterm.on("user-var-changed", function(window, pane, name, _) - if name == "nvim_activate" then - activate_nvim(window, pane) - end + if name == "nvim_activate" then + activate_nvim(window, pane) + end end) -- ------------------------------------------------------------------------------------ -- Appearance local function colors_for_appearance(appearance) - if appearance:find("Dark") then - return { - background = "#0d1117", - -- background = "#000000", - foreground = "#b2b2b2", - cursor_bg = "#00d992", - cursor_fg = "#000000", - cursor_border = "#000000", - selection_bg = "#d7d7d7", - selection_fg = "#000000", - ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, - brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, - } - else - return { - background = "#fefeff", - foreground = "#222222", - cursor_bg = "#aa0000", - cursor_fg = "#ffffff", - cursor_border = "#ffffff", - selection_bg = "#ffe6a4", - selection_fg = "#483600", - ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, - brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, - } - end + if appearance:find("Dark") then + return { + background = "#0d1117", + -- background = "#000000", + foreground = "#b2b2b2", + cursor_bg = "#00d992", + cursor_fg = "#000000", + cursor_border = "#000000", + selection_bg = "#d7d7d7", + selection_fg = "#000000", + ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, + brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, + } + else + return { + background = "#fefeff", + foreground = "#222222", + cursor_bg = "#aa0000", + cursor_fg = "#ffffff", + cursor_border = "#ffffff", + selection_bg = "#ffe6a4", + selection_fg = "#483600", + ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, + brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, + } + end end config.colors = colors_for_appearance(wezterm.gui.get_appearance()) @@ -128,50 +128,50 @@ config.colors = colors_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts local berkeley_mono_features = { - -- "calt=1", - -- "dlig=0", - -- "liga", - -- "calt=1", - -- "clig=1", - -- "ss02", -- Clean Zero - "ss03", -- Slashed Zero - -- "ss04", -- Cut Zero + -- "calt=1", + -- "dlig=0", + -- "liga", + -- "calt=1", + -- "clig=1", + -- "ss02", -- Clean Zero + "ss03", -- Slashed Zero + -- "ss04", -- Cut Zero } -- #[ ## ### #### ################ config.font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - weight = "Regular", - harfbuzz_features = berkeley_mono_features, + family = "Berkeley Mono Nerd Font", + weight = "Regular", + harfbuzz_features = berkeley_mono_features, }) config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), - font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - italic = true, - harfbuzz_features = berkeley_mono_features, - }), - }, + { + italic = true, + intensity = "Bold", + reverse = false, + -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), + font = wezterm.font({ + family = "Berkeley Mono Nerd Font", + italic = true, + harfbuzz_features = berkeley_mono_features, + }), + }, } wezterm.on("window-config-reloaded", function(window, pane) - local overrides = window:get_config_overrides() or {} - local dpi = wezterm.gui.screens().active.effective_dpi + local overrides = window:get_config_overrides() or {} + local dpi = wezterm.gui.screens().active.effective_dpi - if dpi > 96 then - overrides.font_size = 14 - else - overrides.font_size = 18 - end - window:set_config_overrides(overrides) + if dpi > 96 then + overrides.font_size = 14 + else + overrides.font_size = 18 + end + window:set_config_overrides(overrides) end) config.warn_about_missing_glyphs = false @@ -199,28 +199,28 @@ config.adjust_window_size_when_changing_font_size = false config.use_resize_increments = true config.window_decorations = "RESIZE" config.window_frame = { - border_left_width = "4px", - border_right_width = "4px", - border_bottom_height = "4px", - border_top_height = "4px", - border_left_color = "#000000", - border_right_color = "#000000", - border_bottom_color = "#000000", - border_top_color = "#000000", + border_left_width = "4px", + border_right_width = "4px", + border_bottom_height = "4px", + border_top_height = "4px", + border_left_color = "#000000", + border_right_color = "#000000", + border_bottom_color = "#000000", + border_top_color = "#000000", } config.window_padding = { - left = 10, - right = 10, - top = 0, - bottom = 0, + left = 10, + right = 10, + top = 0, + bottom = 0, } -- Hyperlinks config.hyperlink_rules = wezterm.default_hyperlink_rules() table.insert(config.hyperlink_rules, { - regex = [[E(\d+)]], - format = "https://doc.rust-lang.org/error_codes/E$1.html", + regex = [[E(\d+)]], + format = "https://doc.rust-lang.org/error_codes/E$1.html", }) -- Tabs @@ -245,54 +245,54 @@ config.alternate_buffer_wheel_scroll_speed = 1 -- Keys config.disable_default_key_bindings = true config.keys = { - { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "0", mods = "CTRL", action = "ResetFontSize" }, - { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, - { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, - { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, - { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, - { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, - { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, - { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, - { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, - { key = "r", mods = "ALT", action = act.ReloadConfiguration }, - { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, - { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, - { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, - { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, - { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, - { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, - { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, - { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, - { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, - { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, - { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, - { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, - { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + { key = "0", mods = "CTRL", action = "ResetFontSize" }, + { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, + { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, + { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, + { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, + { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, + { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, + { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, + { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, + { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, + { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, + { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, + { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, + { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, + { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, + { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, + { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, + { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, + { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, + { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, + { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, + { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, } -- Mouse config.mouse_bindings = { - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(-5), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(5), - }, - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByLine(-1), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByLine(1), - }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(-5), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(5), + }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + action = act.ScrollByLine(-1), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + action = act.ScrollByLine(1), + }, } return config diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper index ca4274a..7c93727 100755 --- a/bin/wezterm-edit-helper +++ b/bin/wezterm-edit-helper @@ -18,6 +18,7 @@ fi fre --store_name "edit-history" --add "$_file" +rm -f "$XDG_RUNTIME_DIR/nvim-persistent.sock" nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null # Wezterm: switch tab to nvim diff --git a/bin/xdg-open b/bin/xdg-open index 219baf3..801d576 100755 --- a/bin/xdg-open +++ b/bin/xdg-open @@ -2,7 +2,7 @@ set -e # Use local xdg-open if not in an ssh session -[ -n "$SSH_TTY" ] || exec /usr/bin/xdg-open "$@" +[ -n "$SSH_TTY" ] || exec xdg-open "$@" if [ -p /dev/stdin ]; then exec nc -U "$XDG_RUNTIME_DIR/opener.sock" </dev/stdin From 09946832c1c07d13788e8b10820726cc4e6e5b8e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 30 Jun 2024 23:08:26 +0200 Subject: [PATCH 315/656] fish: use zoxide instead of fre + fzf --- .config/fish/conf.d/zoxide.fish | 100 ++++++++++++++++++++++++++++++++ .config/fish/config.fish | 25 ++++++++ 2 files changed, 125 insertions(+) create mode 100644 .config/fish/conf.d/zoxide.fish diff --git a/.config/fish/conf.d/zoxide.fish b/.config/fish/conf.d/zoxide.fish new file mode 100644 index 0000000..fa10e76 --- /dev/null +++ b/.config/fish/conf.d/zoxide.fish @@ -0,0 +1,100 @@ +# ============================================================================= +# +# Utility functions for zoxide. +# + +# pwd based on the value of _ZO_RESOLVE_SYMLINKS. +function __zoxide_pwd + builtin pwd -L +end + +# A copy of fish's internal cd function. This makes it possible to use +# `alias cd=z` without causing an infinite loop. +if ! builtin functions --query __zoxide_cd_internal + if builtin functions --query cd + builtin functions --copy cd __zoxide_cd_internal + else + alias __zoxide_cd_internal='builtin cd' + end +end + +# cd + custom logic based on the value of _ZO_ECHO. +function __zoxide_cd + __zoxide_cd_internal $argv +end + +# ============================================================================= +# +# Hook configuration for zoxide. +# + +# Initialize hook to add new entries to the database. +function __zoxide_hook --on-variable PWD + test -z "$fish_private_mode" + and command zoxide add -- (__zoxide_pwd) +end + +# ============================================================================= +# +# When using zoxide with --no-cmd, alias these internal functions as desired. +# + +if test -z $__zoxide_z_prefix + set __zoxide_z_prefix 'z!' +end +set __zoxide_z_prefix_regex ^(string escape --style=regex $__zoxide_z_prefix) + +# Jump to a directory using only keywords. +function __zoxide_z + set -l argc (count $argv) + if test $argc -eq 0 + __zoxide_cd $HOME + else if test "$argv" = - + __zoxide_cd - + else if test $argc -eq 1 -a -d $argv[1] + __zoxide_cd $argv[1] + else if set -l result (string replace --regex $__zoxide_z_prefix_regex '' $argv[-1]); and test -n $result + __zoxide_cd $result + else + set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv) + and __zoxide_cd $result + end +end + +# Completions. +function __zoxide_z_complete + set -l tokens (commandline --current-process --tokenize) + set -l curr_tokens (commandline --cut-at-cursor --current-process --tokenize) + + if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1 + # If there are < 2 arguments, use `cd` completions. + complete --do-complete "'' "(commandline --cut-at-cursor --current-token) | string match --regex '.*/$' + else if test (count $tokens) -eq (count $curr_tokens); and ! string match --quiet --regex $__zoxide_z_prefix_regex. $tokens[-1] + # If the last argument is empty and the one before doesn't start with + # $__zoxide_z_prefix, use interactive selection. + set -l query $tokens[2..-1] + set -l result (zoxide query --exclude (__zoxide_pwd) --interactive -- $query) + and echo $__zoxide_z_prefix$result + commandline --function repaint + end +end +complete --command __zoxide_z --no-files --arguments '(__zoxide_z_complete)' + +# Jump to a directory using interactive search. +function __zoxide_zi + set -l result (command zoxide query --interactive -- $argv) + and __zoxide_cd $result +end + +# ============================================================================= +# +# Commands for zoxide. Disable these using --no-cmd. +# + +abbr --erase cd &>/dev/null +alias cd=__zoxide_z + +abbr --erase cdi &>/dev/null +alias cdi=__zoxide_zi + +set -gx _ZO_EXCLUDE_DIRS "$HOME/media:$HOME/media/*" diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 55297a1..47a2eaf 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -28,6 +28,7 @@ if status is-interactive eza --tree --color=always $argv | bat --wrap=never end +<<<<<<< HEAD ## Directory jumping with frecency function fre_after_cd --on-variable PWD @@ -40,6 +41,30 @@ if status is-interactive commandline -f repaint end bind \cg jump +||||||| parent of 931ae14 (fish: use zoxide instead of fre + fzf) + function rg --wraps rg --description 'ripgrep with bat' + /usr/bin/rg --color=always $argv | bat --wrap=never + end + + ## Directory jumping with frecency + + function fre_after_cd --on-variable PWD + fre --add "$PWD" + end + + function jump + set _dir $(fre --sorted | fzf --no-sort --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') + [ -n "$_dir" ] && pushd $_dir >>/dev/null + commandline -f repaint + end + bind \cg jump +======= + function rg --wraps rg --description 'ripgrep with bat' + /usr/bin/rg --color=always $argv | bat --wrap=never + end + + bind \cg __zoxide_zi +>>>>>>> 931ae14 (fish: use zoxide instead of fre + fzf) function git_jump set _dir $(git rev-parse --show-toplevel 2>/dev/null || pwd) From bd8685e2750d93213c26179f64aac2cc95bcf8e9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 2 Jul 2024 21:19:21 +0200 Subject: [PATCH 316/656] wezterm: per-dpi settings --- .config/wezterm/wezterm.lua | 354 ++++++++++++++++++------------------ 1 file changed, 179 insertions(+), 175 deletions(-) diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 3a468c0..4881b99 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -11,67 +11,67 @@ local config = {} local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } config.exec_domains = { - wezterm.exec_domain("dev", function(cmd) - local wrapped = { "ssh", "-t", "dev" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), - wezterm.exec_domain("nemo", function(cmd) - local wrapped = { "ssh", "-t", "nemo" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), + wezterm.exec_domain("dev", function(cmd) + local wrapped = { "ssh", "-t", "dev" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), + wezterm.exec_domain("nemo", function(cmd) + local wrapped = { "ssh", "-t", "nemo" } + for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do + table.insert(wrapped, arg) + end + cmd.args = wrapped + return cmd + end), } local function activate_nvim(window, pane) - wezterm.log_info("nvim") - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(0), - }), - pane - ) - return - end - end - end + wezterm.log_info("nvim") + for _, t in ipairs(window:mux_window():tabs_with_info()) do + for _, p in ipairs(t.tab:panes()) do + if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(0), + }), + pane + ) + return + end + end + end - local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) - window:perform_action(act.MoveTab(0), nvim_pane) - nvim_tab:set_title("nvim") + local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) + window:perform_action(act.MoveTab(0), nvim_pane) + nvim_tab:set_title("nvim") end local function activate_tab(title, index) - return function(window, pane) - wezterm.log_info(title) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - if t.tab:get_title() == title then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(index), - }), - pane - ) - return - end - end - local tab, _, _ = window:mux_window():spawn_tab({ - cwd = "~", - }) - tab:set_title(title) - window:perform_action(act.MoveTab(index), pane) - end + return function(window, pane) + wezterm.log_info(title) + for _, t in ipairs(window:mux_window():tabs_with_info()) do + if t.tab:get_title() == title then + window:perform_action( + act.Multiple({ + act.ActivateTab(t.index), + act.MoveTab(index), + }), + pane + ) + return + end + end + local tab, _, _ = window:mux_window():spawn_tab({ + cwd = "~", + }) + tab:set_title(title) + window:perform_action(act.MoveTab(index), pane) + end end wezterm.on("activate-nvim", activate_nvim) @@ -86,41 +86,41 @@ wezterm.on("tab-9", activate_tab("t9", 8)) wezterm.on("tab-10", activate_tab("t10", 9)) wezterm.on("user-var-changed", function(window, pane, name, _) - if name == "nvim_activate" then - activate_nvim(window, pane) - end + if name == "nvim_activate" then + activate_nvim(window, pane) + end end) -- ------------------------------------------------------------------------------------ -- Appearance local function colors_for_appearance(appearance) - if appearance:find("Dark") then - return { - background = "#0d1117", - -- background = "#000000", - foreground = "#b2b2b2", - cursor_bg = "#00d992", - cursor_fg = "#000000", - cursor_border = "#000000", - selection_bg = "#d7d7d7", - selection_fg = "#000000", - ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, - brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, - } - else - return { - background = "#fefeff", - foreground = "#222222", - cursor_bg = "#aa0000", - cursor_fg = "#ffffff", - cursor_border = "#ffffff", - selection_bg = "#ffe6a4", - selection_fg = "#483600", - ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, - brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, - } - end + if appearance:find("Dark") then + return { + background = "#0d1117", + -- background = "#000000", + foreground = "#b2b2b2", + cursor_bg = "#00d992", + cursor_fg = "#000000", + cursor_border = "#000000", + selection_bg = "#d7d7d7", + selection_fg = "#000000", + ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, + brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, + } + else + return { + background = "#fefeff", + foreground = "#222222", + cursor_bg = "#aa0000", + cursor_fg = "#ffffff", + cursor_border = "#ffffff", + selection_bg = "#ffe6a4", + selection_fg = "#483600", + ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, + brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, + } + end end config.colors = colors_for_appearance(wezterm.gui.get_appearance()) @@ -128,56 +128,60 @@ config.colors = colors_for_appearance(wezterm.gui.get_appearance()) -- ------------------------------------------------------------------------------------ -- Fonts local berkeley_mono_features = { - -- "calt=1", - -- "dlig=0", - -- "liga", - -- "calt=1", - -- "clig=1", - -- "ss02", -- Clean Zero - "ss03", -- Slashed Zero - -- "ss04", -- Cut Zero + -- "calt=1", + -- "dlig=0", + -- "liga", + -- "calt=1", + -- "clig=1", + -- "ss02", -- Clean Zero + "ss03", -- Slashed Zero + -- "ss04", -- Cut Zero } -- #[ ## ### #### ################ config.font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - weight = "Regular", - harfbuzz_features = berkeley_mono_features, + family = "Berkeley Mono Nerd Font", + weight = "Regular", + harfbuzz_features = berkeley_mono_features, }) config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), - font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - italic = true, - harfbuzz_features = berkeley_mono_features, - }), - }, + { + italic = true, + intensity = "Bold", + reverse = false, + -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), + -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), + font = wezterm.font({ + family = "Berkeley Mono Nerd Font", + italic = true, + harfbuzz_features = berkeley_mono_features, + }), + }, } wezterm.on("window-config-reloaded", function(window, pane) - local overrides = window:get_config_overrides() or {} - local dpi = wezterm.gui.screens().active.effective_dpi + local overrides = window:get_config_overrides() or {} + local dpi = wezterm.gui.screens().active.effective_dpi - if dpi > 96 then - overrides.font_size = 14 - else - overrides.font_size = 18 - end - window:set_config_overrides(overrides) + if dpi > 96 then + overrides.font_size = 14 + overrides.freetype_load_target = "Normal" + -- overrides.cell_width = 0.95 + overrides.cell_width = 1.0 + else + overrides.font_size = 18 + overrides.freetype_load_target = "HorizontalLcd" + end + window:set_config_overrides(overrides) end) +config.font_size = 14 config.warn_about_missing_glyphs = false config.bold_brightens_ansi_colors = false config.unicode_version = 14 -config.freetype_load_target = "HorizontalLcd" config.custom_block_glyphs = false config.allow_square_glyphs_to_overflow_width = "Always" @@ -199,28 +203,28 @@ config.adjust_window_size_when_changing_font_size = false config.use_resize_increments = true config.window_decorations = "RESIZE" config.window_frame = { - border_left_width = "4px", - border_right_width = "4px", - border_bottom_height = "4px", - border_top_height = "4px", - border_left_color = "#000000", - border_right_color = "#000000", - border_bottom_color = "#000000", - border_top_color = "#000000", + border_left_width = "4px", + border_right_width = "4px", + border_bottom_height = "4px", + border_top_height = "4px", + border_left_color = "#000000", + border_right_color = "#000000", + border_bottom_color = "#000000", + border_top_color = "#000000", } config.window_padding = { - left = 10, - right = 10, - top = 0, - bottom = 0, + left = 10, + right = 10, + top = 0, + bottom = 0, } -- Hyperlinks config.hyperlink_rules = wezterm.default_hyperlink_rules() table.insert(config.hyperlink_rules, { - regex = [[E(\d+)]], - format = "https://doc.rust-lang.org/error_codes/E$1.html", + regex = [[E(\d+)]], + format = "https://doc.rust-lang.org/error_codes/E$1.html", }) -- Tabs @@ -245,54 +249,54 @@ config.alternate_buffer_wheel_scroll_speed = 1 -- Keys config.disable_default_key_bindings = true config.keys = { - { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "0", mods = "CTRL", action = "ResetFontSize" }, - { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, - { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, - { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, - { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, - { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, - { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, - { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, - { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, - { key = "r", mods = "ALT", action = act.ReloadConfiguration }, - { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, - { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, - { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, - { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, - { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, - { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, - { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, - { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, - { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, - { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, - { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, - { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, - { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, + { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + { key = "0", mods = "CTRL", action = "ResetFontSize" }, + { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, + { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, + { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, + { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, + { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, + { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, + { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, + { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, + { key = "r", mods = "ALT", action = act.ReloadConfiguration }, + { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, + { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, + { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, + { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, + { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, + { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, + { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, + { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, + { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, + { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, + { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, + { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, + { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, + { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, } -- Mouse config.mouse_bindings = { - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(-5), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(5), - }, - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByLine(-1), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByLine(1), - }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(-5), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + mods = "SHIFT", + action = act.ScrollByLine(5), + }, + { + event = { Down = { streak = 1, button = { WheelUp = 1 } } }, + action = act.ScrollByLine(-1), + }, + { + event = { Down = { streak = 1, button = { WheelDown = 1 } } }, + action = act.ScrollByLine(1), + }, } return config From 3de78c65d8188485c5a5c47f1ade064379f5c539 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 2 Jul 2024 21:20:27 +0200 Subject: [PATCH 317/656] nix: no absolute path for binaries --- .local/share/applications/wezterm-nemo.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.local/share/applications/wezterm-nemo.desktop b/.local/share/applications/wezterm-nemo.desktop index cc0a1d3..392778e 100644 --- a/.local/share/applications/wezterm-nemo.desktop +++ b/.local/share/applications/wezterm-nemo.desktop @@ -7,4 +7,4 @@ TryExec=/usr/bin/wezterm Icon=org.wezfurlong.wezterm Terminal=false Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-nemo --domain=nemo +Exec=/usr/bin/wezterm --config 'default_prog={"fish"}' start --class=org.wezfurlong.wezterm-nemo --domain=nemo From 678186627756e232405f4eb7aa5fefb27de84bd1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 5 Jul 2024 22:54:23 +0200 Subject: [PATCH 318/656] fish: fix zoxide config --- .config/fish/config.fish | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 47a2eaf..00991a5 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -28,43 +28,7 @@ if status is-interactive eza --tree --color=always $argv | bat --wrap=never end -<<<<<<< HEAD - ## Directory jumping with frecency - - function fre_after_cd --on-variable PWD - fre --add "$PWD" - end - - function jump - set _dir $(fre --sorted | fzf --no-sort --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') - [ -n "$_dir" ] && pushd $_dir >>/dev/null - commandline -f repaint - end - bind \cg jump -||||||| parent of 931ae14 (fish: use zoxide instead of fre + fzf) - function rg --wraps rg --description 'ripgrep with bat' - /usr/bin/rg --color=always $argv | bat --wrap=never - end - - ## Directory jumping with frecency - - function fre_after_cd --on-variable PWD - fre --add "$PWD" - end - - function jump - set _dir $(fre --sorted | fzf --no-sort --border=rounded --layout=reverse '--bind=ctrl-g:become(br -f --conf ~/.config/broot/select.hjson $(git rev-parse --show-toplevel 2>/dev/null || pwd))') - [ -n "$_dir" ] && pushd $_dir >>/dev/null - commandline -f repaint - end - bind \cg jump -======= - function rg --wraps rg --description 'ripgrep with bat' - /usr/bin/rg --color=always $argv | bat --wrap=never - end - bind \cg __zoxide_zi ->>>>>>> 931ae14 (fish: use zoxide instead of fre + fzf) function git_jump set _dir $(git rev-parse --show-toplevel 2>/dev/null || pwd) From 2f6d4e1d3c0a79e2260753b92ee0399ed759122b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 Aug 2024 11:12:36 +0200 Subject: [PATCH 319/656] Migrate to home-manager --- .config/alacritty/alacritty.yml | 77 - .config/atuin/config.toml | 205 - .config/autostart/gnome-keyring-ssh.desktop | 157 - .config/bat/config | 3 - .config/bat/themes/Catppuccin Mocha.tmTheme | 2021 --------- .config/broot/conf.hjson | 40 - .config/broot/launcher/bash/br | 1 - .config/broot/launcher/installed-v4 | 4 - .config/broot/select.hjson | 17 - .config/broot/skins/dieter-light.hjson | 84 - .config/broot/verbs.hjson | 184 - .config/buildkit/buildkitd.toml | 7 - .config/chrome-beta-flags.conf | 1 - .config/contour/contour.yml | 769 ---- .config/efm-langserver/config.yaml | 14 - .config/environment.d/difftastic.conf | 1 - .config/environment.d/docker.conf | 1 - .config/environment.d/golang.conf | 1 - .config/environment.d/mozilla.conf | 2 - .config/environment.d/otel.conf | 3 - .config/environment.d/ssh.conf | 1 - .config/fish/conf.d/abbr.fish | 6 - .config/fish/conf.d/aliases.fish | 10 - .config/fish/conf.d/prompt.fish | 91 - .config/fish/conf.d/semantic-prompt.fish | 56 - .config/fish/conf.d/task.fish | 37 - .config/fish/conf.d/zoxide.fish | 100 - .config/fish/config.fish | 71 - .config/fish/fish_variables | 48 - .config/fish/themes/Catppuccin Mocha.theme | 30 - .config/git/allowed_signers | 3 - .config/git/signing-key.sh | 3 - .config/helix/config.toml | 52 - .config/helix/languages.toml | 46 - .config/helix/themes/sumi-e.toml | 193 - .config/k9s/config.yaml | 42 - .config/k9s/plugins.yaml | 22 - .config/k9s/skins/dieter.yaml | 76 - .config/nerdctl/nerdctl.toml | 3 - .config/nvim/lazyvim.json | 24 - .config/nvim/lua/plugins/editor.lua | 71 - .config/nvim/lua/plugins/overseer.lua | 90 - .config/nvim/spell/en.utf-8.add | 10 - .config/nvim/spell/en.utf-8.add.spl | Bin 144 -> 0 bytes .config/paru/paru.conf | 8 - .config/rg/rg.conf | 10 - .config/sapling/sapling.conf | 22 - .config/starship.toml | 77 - .config/systemd/user/opener@.service | 11 - .config/systemd/user/tmux.service | 10 - .config/vconsole/personal.map | 3 - .config/zsh-abbr/user-abbreviations | 13 - .envrc | 2 + .gitconfig | 150 - .gitignore | 14 - .gnupg/gpg-agent.conf | 4 - .gnupg/gpg.conf | 2 - .inputrc | 11 - .jjconfig.toml | 21 - .lessfilter | 46 - .../share/applications/firefox-arity.desktop | 13 - .../share/applications/firefox-work.desktop | 13 - .../google-chrome-beta-client.desktop | 11 - .../google-chrome-beta-private.desktop | 11 - .../google-chrome-beta-work.desktop | 11 - .local/share/applications/meet.desktop | 9 - .local/share/applications/plex.desktop | 9 - .local/share/applications/spotify.desktop | 11 - .../wezterm-dev-secondary.desktop | 10 - .local/share/applications/wezterm-dev.desktop | 10 - .../share/applications/wezterm-local.desktop | 10 - .../share/applications/wezterm-nemo.desktop | 10 - .../share/applications/youtube-music.desktop | 9 - .ssh/config | 35 - .ssh/rc | 4 - .tmux.conf | 96 - .vault | 2 - README.md | 3 + bin/git-st | 36 - bin/git-wtf | 364 -- bin/ktoolbox | 1 - bin/pst | 15 - bin/starship-sl-status | 26 - bin/tmux-build-helper | 4 - bin/tmux-edit-helper | 1 - bin/tmux-edit-history | 4 - bin/tmux-hx-helper | 44 - bin/tmux-nvim-helper | 46 - bin/tmux-shortcut | 20 - bin/tpm2-pkcs11-init-ssh.sh | 24 - bin/url-copy | 2 - bin/vault-token-helper.sh | 55 - bin/wezterm-edit-helper | 25 - bin/xdg-open | 11 - common/atuin.nix | 40 + common/broot.nix | 63 + common/default.nix | 21 + common/devel.nix | 24 + common/fish.nix | 122 + common/gnome.nix | 194 + common/k8s.nix | 176 + common/nix.nix | 15 + common/nvim.nix | 19 + common/scripts.nix | 17 + common/ssh.nix | 14 + common/utils.nix | 60 + common/vcs.nix | 166 + common/web.nix | 22 + common/wezterm.nix | 11 + files/config/fish/config.fish | 59 + files/config/fish/go-task.fish | 37 + files/config/fish/jj.fish | 338 ++ files/config/fish/semantic-prompt.fish | 55 + files/config/fish/vcs.fish | 72 + {.config => files/config}/nvim/init.lua | 0 .../config}/nvim/lua/config/autocmds.lua | 0 .../config}/nvim/lua/config/keymaps.lua | 0 .../config}/nvim/lua/config/lazy.lua | 30 +- .../config}/nvim/lua/config/options.lua | 22 - .../config}/nvim/lua/plugins/coding.lua | 0 .../config}/nvim/lua/plugins/colorscheme.lua | 4 +- files/config/nvim/lua/plugins/editor.lua | 95 + .../config}/nvim/lua/plugins/extras.lua | 0 .../config}/nvim/lua/plugins/formatting.lua | 1 + .../config}/nvim/lua/plugins/incline.lua | 0 .../config}/nvim/lua/plugins/lsp.lua | 0 .../config}/nvim/lua/plugins/treesitter.lua | 0 .../config}/nvim/lua/plugins/ui.lua | 18 +- {.config => files/config}/wezterm/wezterm.lua | 34 +- files/scripts/git-signing-key | 3 + {bin => files/scripts}/test-term.sh | 4 + files/scripts/wezterm-open-url | 4 + flake.lock | 48 + flake.nix | 72 + justfile | 17 + overlays/default.nix | 21 + pkgs/default.nix | 5 + pkgs/gnome-ssh-askpass4/default.nix | 48 + pkgs/jujutsu-openssh/Cargo.lock | 3877 +++++++++++++++++ pkgs/jujutsu-openssh/default.nix | 90 + pkgs/lazyjj/default.nix | 29 + users/dln/desktop.nix | 67 + users/dln/dinky.nix | 14 + users/dln/home.nix | 140 + users/dln/nemo.nix | 9 + users/lsjostro/home.nix | 40 + users/lsjostro/nemo.nix | 6 + 147 files changed, 6181 insertions(+), 6078 deletions(-) delete mode 100644 .config/alacritty/alacritty.yml delete mode 100644 .config/atuin/config.toml delete mode 100644 .config/autostart/gnome-keyring-ssh.desktop delete mode 100644 .config/bat/config delete mode 100644 .config/bat/themes/Catppuccin Mocha.tmTheme delete mode 100644 .config/broot/conf.hjson delete mode 120000 .config/broot/launcher/bash/br delete mode 100644 .config/broot/launcher/installed-v4 delete mode 100644 .config/broot/select.hjson delete mode 100644 .config/broot/skins/dieter-light.hjson delete mode 100644 .config/broot/verbs.hjson delete mode 100644 .config/buildkit/buildkitd.toml delete mode 100644 .config/chrome-beta-flags.conf delete mode 100644 .config/contour/contour.yml delete mode 100644 .config/efm-langserver/config.yaml delete mode 100644 .config/environment.d/difftastic.conf delete mode 100644 .config/environment.d/docker.conf delete mode 100644 .config/environment.d/golang.conf delete mode 100644 .config/environment.d/mozilla.conf delete mode 100644 .config/environment.d/otel.conf delete mode 100644 .config/environment.d/ssh.conf delete mode 100644 .config/fish/conf.d/abbr.fish delete mode 100644 .config/fish/conf.d/aliases.fish delete mode 100644 .config/fish/conf.d/prompt.fish delete mode 100644 .config/fish/conf.d/semantic-prompt.fish delete mode 100644 .config/fish/conf.d/task.fish delete mode 100644 .config/fish/conf.d/zoxide.fish delete mode 100644 .config/fish/config.fish delete mode 100644 .config/fish/fish_variables delete mode 100644 .config/fish/themes/Catppuccin Mocha.theme delete mode 100644 .config/git/allowed_signers delete mode 100755 .config/git/signing-key.sh delete mode 100644 .config/helix/config.toml delete mode 100644 .config/helix/languages.toml delete mode 100644 .config/helix/themes/sumi-e.toml delete mode 100644 .config/k9s/config.yaml delete mode 100644 .config/k9s/plugins.yaml delete mode 100644 .config/k9s/skins/dieter.yaml delete mode 100644 .config/nerdctl/nerdctl.toml delete mode 100644 .config/nvim/lazyvim.json delete mode 100644 .config/nvim/lua/plugins/editor.lua delete mode 100644 .config/nvim/lua/plugins/overseer.lua delete mode 100644 .config/nvim/spell/en.utf-8.add delete mode 100644 .config/nvim/spell/en.utf-8.add.spl delete mode 100644 .config/paru/paru.conf delete mode 100644 .config/rg/rg.conf delete mode 100644 .config/sapling/sapling.conf delete mode 100644 .config/starship.toml delete mode 100644 .config/systemd/user/opener@.service delete mode 100644 .config/systemd/user/tmux.service delete mode 100644 .config/vconsole/personal.map delete mode 100644 .config/zsh-abbr/user-abbreviations create mode 100644 .envrc delete mode 100644 .gitconfig delete mode 100644 .gitignore delete mode 100644 .gnupg/gpg-agent.conf delete mode 100644 .gnupg/gpg.conf delete mode 100644 .inputrc delete mode 100644 .jjconfig.toml delete mode 100755 .lessfilter delete mode 100644 .local/share/applications/firefox-arity.desktop delete mode 100644 .local/share/applications/firefox-work.desktop delete mode 100644 .local/share/applications/google-chrome-beta-client.desktop delete mode 100644 .local/share/applications/google-chrome-beta-private.desktop delete mode 100644 .local/share/applications/google-chrome-beta-work.desktop delete mode 100644 .local/share/applications/meet.desktop delete mode 100644 .local/share/applications/plex.desktop delete mode 100644 .local/share/applications/spotify.desktop delete mode 100644 .local/share/applications/wezterm-dev-secondary.desktop delete mode 100644 .local/share/applications/wezterm-dev.desktop delete mode 100644 .local/share/applications/wezterm-local.desktop delete mode 100644 .local/share/applications/wezterm-nemo.desktop delete mode 100644 .local/share/applications/youtube-music.desktop delete mode 100644 .ssh/config delete mode 100755 .ssh/rc delete mode 100644 .tmux.conf delete mode 100644 .vault create mode 100644 README.md delete mode 100755 bin/git-st delete mode 100755 bin/git-wtf delete mode 120000 bin/ktoolbox delete mode 100755 bin/pst delete mode 100755 bin/starship-sl-status delete mode 100755 bin/tmux-build-helper delete mode 120000 bin/tmux-edit-helper delete mode 100755 bin/tmux-edit-history delete mode 100755 bin/tmux-hx-helper delete mode 100755 bin/tmux-nvim-helper delete mode 100755 bin/tmux-shortcut delete mode 100755 bin/tpm2-pkcs11-init-ssh.sh delete mode 100755 bin/url-copy delete mode 100755 bin/vault-token-helper.sh delete mode 100755 bin/wezterm-edit-helper delete mode 100755 bin/xdg-open create mode 100644 common/atuin.nix create mode 100644 common/broot.nix create mode 100644 common/default.nix create mode 100644 common/devel.nix create mode 100644 common/fish.nix create mode 100644 common/gnome.nix create mode 100644 common/k8s.nix create mode 100644 common/nix.nix create mode 100644 common/nvim.nix create mode 100644 common/scripts.nix create mode 100644 common/ssh.nix create mode 100644 common/utils.nix create mode 100644 common/vcs.nix create mode 100644 common/web.nix create mode 100644 common/wezterm.nix create mode 100644 files/config/fish/config.fish create mode 100644 files/config/fish/go-task.fish create mode 100644 files/config/fish/jj.fish create mode 100644 files/config/fish/semantic-prompt.fish create mode 100644 files/config/fish/vcs.fish rename {.config => files/config}/nvim/init.lua (100%) rename {.config => files/config}/nvim/lua/config/autocmds.lua (100%) rename {.config => files/config}/nvim/lua/config/keymaps.lua (100%) rename {.config => files/config}/nvim/lua/config/lazy.lua (57%) rename {.config => files/config}/nvim/lua/config/options.lua (60%) rename {.config => files/config}/nvim/lua/plugins/coding.lua (100%) rename {.config => files/config}/nvim/lua/plugins/colorscheme.lua (52%) create mode 100644 files/config/nvim/lua/plugins/editor.lua rename {.config => files/config}/nvim/lua/plugins/extras.lua (100%) rename {.config => files/config}/nvim/lua/plugins/formatting.lua (91%) rename {.config => files/config}/nvim/lua/plugins/incline.lua (100%) rename {.config => files/config}/nvim/lua/plugins/lsp.lua (100%) rename {.config => files/config}/nvim/lua/plugins/treesitter.lua (100%) rename {.config => files/config}/nvim/lua/plugins/ui.lua (90%) rename {.config => files/config}/wezterm/wezterm.lua (91%) create mode 100755 files/scripts/git-signing-key rename {bin => files/scripts}/test-term.sh (96%) create mode 100755 files/scripts/wezterm-open-url create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 justfile create mode 100644 overlays/default.nix create mode 100644 pkgs/default.nix create mode 100644 pkgs/gnome-ssh-askpass4/default.nix create mode 100644 pkgs/jujutsu-openssh/Cargo.lock create mode 100644 pkgs/jujutsu-openssh/default.nix create mode 100644 pkgs/lazyjj/default.nix create mode 100644 users/dln/desktop.nix create mode 100644 users/dln/dinky.nix create mode 100644 users/dln/home.nix create mode 100644 users/dln/nemo.nix create mode 100644 users/lsjostro/home.nix create mode 100644 users/lsjostro/nemo.nix diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml deleted file mode 100644 index eb8b30f..0000000 --- a/.config/alacritty/alacritty.yml +++ /dev/null @@ -1,77 +0,0 @@ -window: - decorations: none - startup_mode: Maximized - -font: - normal: - family: Iosevka Term SS09 - style: Regular - - bold: - family: Iosevka Term SS09 - style: Semibold - - italic: - family: Iosevka Term Curly Slab - style: Light Italic - - bold_italic: - family: Iosevka SS15 - style: Extralight Italic - - size: 10 - - offset: - x: 0 - y: 3 - - glyph_offset: - x: 0 - y: 2 - -cursor: - # Values for `style`: - # - ▇ Block - # - _ Underline - # - | Beam - style: Block - vi_mode_style: Beam - unfocused_hollow: true - thickness: 0.15 - -mouse: - hide_when_typing: true - # url: - # launcher: - # program: /home/dln/bin/url-copy - -colors: - primary: - background: '#fcfcfc' - foreground: '#000000' - - normal: - black: '#212121' - red: '#b7141e' - green: '#457b23' - yellow: '#f5971d' - blue: '#134eb2' - magenta: '#550087' - cyan: '#0e707c' - white: '#eeeeee' - bright: - black: '#424242' - red: '#e83a3f' - green: '#7aba39' - yellow: '#fee92e' - blue: '#53a4f3' - magenta: '#a94dbb' - cyan: '#26bad1' - white: '#d8d8d8' - -key_bindings: -- { key: V, mods: Alt, action: Paste } -- { key: C, mods: Alt, action: Copy } -- { key: V, mods: Shift|Alt, action: Paste } -- { key: C, mods: Shift|Alt, action: Copy } -- { key: Return, mods: Alt, action: ToggleFullscreen } diff --git a/.config/atuin/config.toml b/.config/atuin/config.toml deleted file mode 100644 index 0768eb6..0000000 --- a/.config/atuin/config.toml +++ /dev/null @@ -1,205 +0,0 @@ -## where to store your database, default is your system data directory -## linux/mac: ~/.local/share/atuin/history.db -## windows: %USERPROFILE%/.local/share/atuin/history.db -# db_path = "~/.history.db" - -## where to store your encryption key, default is your system data directory -## linux/mac: ~/.local/share/atuin/key -## windows: %USERPROFILE%/.local/share/atuin/key -# key_path = "~/.key" - -## where to store your auth session token, default is your system data directory -## linux/mac: ~/.local/share/atuin/session -## windows: %USERPROFILE%/.local/share/atuin/session -# session_path = "~/.session" - -## date format used, either "us" or "uk" -# dialect = "us" - -## default timezone to use when displaying time -## either "l", "local" to use the system's current local timezone, or an offset -## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" -## for example: "+9", "-05", "+03:30", "-01:23:45", etc. -# timezone = "local" - -## enable or disable automatic sync -# auto_sync = true - -## enable or disable automatic update checks -# update_check = true - -## address of the sync server -# sync_address = "https://api.atuin.sh" - -## how often to sync history. note that this is only triggered when a command -## is ran, so sync intervals may well be longer -## set it to 0 to sync after every command -# sync_frequency = "10m" - -## which search mode to use -## possible values: prefix, fulltext, fuzzy, skim -# search_mode = "fuzzy" - -## which filter mode to use -## possible values: global, host, session, directory -# filter_mode = "global" -#filter_mode = "session" - -## With workspace filtering enabled, Atuin will filter for commands executed -## in any directory within a git repository tree (default: false) -# workspaces = false -# workspaces = true - -## which filter mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "filter_mode" -## leave unspecified to use same mode set in "filter_mode" -# filter_mode_shell_up_key_binding = "global" -filter_mode_shell_up_key_binding = "session" - -## which search mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "search_mode" -## leave unspecified to use same mode set in "search_mode" -# search_mode_shell_up_key_binding = "fuzzy" -search_mode_shell_up_key_binding = "prefix" - -## which style to use -## possible values: auto, full, compact -# style = "auto" -style = "compact" - -## the maximum number of lines the interface should take up -## set it to 0 to always go full screen -# inline_height = 0 -inline_height = 6 - -## Invert the UI - put the search bar at the top , Default to `false` -# invert = false -# invert = true - -## enable or disable showing a preview of the selected command -## useful when the command is longer than the terminal width and is cut off -# show_preview = false - -## what to do when the escape key is pressed when searching -## possible values: return-original, return-query -# exit_mode = "return-original" - -## possible values: emacs, subl -# word_jump_mode = "emacs" - -## characters that count as a part of a word -# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" - -## number of context lines to show when scrolling by pages -# scroll_context_lines = 1 - -## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts -## alt-0 .. alt-9 -# ctrl_n_shortcuts = false - -ctrl_n_shortcuts = true - -## default history list format - can also be specified with the --format arg -# history_format = "{time}\t{command}\t{duration}" - -## prevent commands matching any of these regexes from being written to history. -## Note that these regular expressions are unanchored, i.e. if they don't start -## with ^ or end with $, they'll match anywhere in the command. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# history_filter = [ -# "^secret-cmd", -# "^innocuous-cmd .*--secret=.+" -# ] - -history_filter = [] - -## prevent commands run with cwd matching any of these regexes from being written -## to history. Note that these regular expressions are unanchored, i.e. if they don't -## start with ^ or end with $, they'll match anywhere in CWD. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# cwd_filter = [ -# "^/very/secret/area" -# ] - -cwd_filter = ["^~/media", "^/home/dln/media"] - -## Configure the maximum height of the preview to show. -## Useful when you have long scripts in your history that you want to distinguish -## by more than the first few lines. -# max_preview_height = 4 - -## Configure whether or not to show the help row, which includes the current Atuin -## version (and whether an update is available), a keymap hint, and the total -## amount of commands in your history. -# show_help = true -show_help = false - -## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include -## 1. AWS key id -## 2. Github pat (old and new) -## 3. Slack oauth tokens (bot, user) -## 4. Slack webhooks -## 5. Stripe live/test keys -# secrets_filter = true - -## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. -# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. -# enter_accept = false -enter_accept = true - - -## Defaults to "emacs". This specifies the keymap on the startup of `atuin -## search`. If this is set to "auto", the startup keymap mode in the Atuin -## search is automatically selected based on the shell's keymap where the -## keybinding is defined. If this is set to "emacs", "vim-insert", or -## "vim-normal", the startup keymap mode in the Atuin search is forced to be -## the specified one. -# keymap_mode = "auto" - -## Cursor style in each keymap mode. If specified, the cursor style is changed -## in entering the cursor shape. Available values are "default" and -## "{blink,steady}-{block,underilne,bar}". -# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } - -# network_connect_timeout = 5 -# network_timeout = 5 - -## Timeout (in seconds) for acquiring a local database connection (sqlite) -# local_timeout = 5 - -## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. -## Alternatively, set env NO_MOTION=true -# prefers_reduced_motion = false - -prefers_reduced_motion = true - -#[stats] -# Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl -#common_subcommands = [ -# "cargo", -# "go", -# "git", -# "npm", -# "yarn", -# "pnpm", -# "kubectl", -#] - -[stats] -common_subcommands = [ - "cargo", - "go", - "git", - "nix", - "npm", - "yarn", - "pnpm", - "kubectl", - "task", -] -# Set commands that should be totally stripped and ignored from stats -#common_prefix = ["sudo"] -# -common_prefix = ["doas", "sudo"] diff --git a/.config/autostart/gnome-keyring-ssh.desktop b/.config/autostart/gnome-keyring-ssh.desktop deleted file mode 100644 index d0cbed2..0000000 --- a/.config/autostart/gnome-keyring-ssh.desktop +++ /dev/null @@ -1,157 +0,0 @@ -[Desktop Entry] -Type=Application -Name[af]=SSH-sleutelagent -Name[ar]=عميل مفاتيح SSH -Name[as]=SSH কি সহায়ক -Name[ast]=Axente de claves SSH -Name[be]=SSH-агент ключоў -Name[bg]=Агентът на SSH за ключове -Name[bn]=SSH কী এজেন্ট -Name[bn_IN]=SSH কি এজেন্ট -Name[bs]=Agent za SSH ključeve -Name[ca]=Agent de claus SSH -Name[ca@valencia]=Agent de claus SSH -Name[cs]=Agent klíčů SSH -Name[da]=SSH-nøgleagent -Name[de]=SSH-Schlüsselagent -Name[el]=Πράκτορας κλειδιού SSH -Name[en_GB]=SSH Key Agent -Name[eo]=SSH-ŝlosila agento -Name[es]=Agente de claves SSH -Name[et]=SSH-võtmete agent -Name[eu]=SSH gako-agentea -Name[fa]=عامل کلید SSH -Name[fi]=SSH-avainten agentti -Name[fr]=Agent de clés SSH -Name[fur]=Agjent clâfs SSH -Name[gd]=Àidseant iuchair SSH -Name[gl]=Axente de chave SSH -Name[gu]=SSH કી ઍજન્ટ -Name[he]=סוכן מפתחות SSH -Name[hi]=AFS कुँजी प्रतिनिधि -Name[hr]=Agent SSH ključa -Name[hu]=SSH-kulcs ügynök -Name[id]=Agen Kunci SSH -Name[it]=Agente chiavi SSH -Name[ja]=SSH 鍵エージェント -Name[kk]=SSH кілттер агенті -Name[km]=ភ្នាក់ងារសោ SSH -Name[kn]=SSH ಕೀಲಿ ಮಧ್ಯವರ್ತಿ -Name[ko]=SSH 키 에이전트 -Name[lt]=SSH raktų tarnyba -Name[lv]=SSH atslēgu aģents -Name[mjw]=SSH Key Agent -Name[mk]=Агент за SSH клучеви -Name[ml]=എസ്എസ്എച് കീ ഏജന്റ് -Name[mr]=SSH कि एजंट -Name[ms]=Ejen Kunci SSH -Name[nb]=SSH-nøkkelagent -Name[nl]=SSH-sleutelagent -Name[nn]=Nøkkelagent for SSH -Name[oc]=Agent de claus SSH -Name[or]=SSH କି ସଦସ୍ୟ -Name[pa]=SSH ਕੁੰਜੀ ਏਜੰਟ -Name[pl]=Agent kluczy SSH -Name[pt]=Agente de chaves SSH -Name[pt_BR]=Agente de chaves SSH -Name[ro]=Agent pentru chei SSH -Name[ru]=Агент ключей SSH -Name[sk]=Agent kľúčov SSH -Name[sl]=Agent ključev SSH -Name[sr]=Агент за ССХ кључеве -Name[sr@latin]=Agent za SSH ključeve -Name[sv]=SSH-nyckelagent -Name[ta]=SSH முகவர் -Name[te]=SSH కీ వాహకము -Name[th]=เอเจนต์กุญแจ SSH -Name[tr]=SSH Anahtar Aracı -Name[ug]=SSH ئاچقۇچ ياردەمچىسى -Name[uk]=Агент ключів SSH -Name[vi]=Đại diện khóa SSH -Name[zh_CN]=SSH 密钥代理 -Name[zh_HK]=SSH 密碼匙代理程式 -Name[zh_TW]=SSH 金鑰代理程式 -Name=SSH Key Agent -Comment[af]=GNOME-sleutelring: SSH-agent -Comment[ar]=حلقة مفاتيح جنوم: عميل SSH -Comment[as]=GNOME Keyring: SSH সহায়ক -Comment[ast]=Depósitu de claves de GNOME: axente SSH -Comment[be]=Вязкі ключоў GNOME: SSH-агент -Comment[bg]=Ключодържател на GNOME: агент на SSH -Comment[bn]=GNOME কী রিং: SSH এজেন্ট -Comment[bn_IN]=GNOME Keyring: SSH এজেন্ট -Comment[bs]=Gnomovi privjesci: SSH agent -Comment[ca]=Anell de claus del GNOME: agent SSH -Comment[ca@valencia]=Anell de claus del GNOME: agent SSH -Comment[cs]=Klíčenka GNOME: Agent SSH -Comment[da]=GNOME-nøgleringsdæmon: SSH-agent -Comment[de]=GNOME-Schlüsselbunddienst: SSH-Agent -Comment[el]=Κλειδοθήκη GNOME: Πράκτορας SSH -Comment[en_GB]=GNOME Keyring: SSH Agent -Comment[eo]=GNOME Ŝlosilaro: SSH-agento -Comment[es]=Depósito de claves de GNOME: agente SSH -Comment[et]=GNOME võtmerõngas: SSH-agent -Comment[eu]=GNOMEren gako-sorta: SSH agentea -Comment[fa]=دستهکلید گنوم: عامل SSH -Comment[fi]=Gnomen avainnippu: SSH-agentti -Comment[fr]=Trousseau de clés de GNOME : agent SSH -Comment[fur]=Puarteclâfs di GNOME: agjent SSH -Comment[gd]=Dul-iuchrach: Àidseant SSH -Comment[gl]=GNOME Keyring: Axente SSH -Comment[gu]=GNOME કીરીંગ: SSH ઍજન્ટ -Comment[he]=קבוצת מפתחות של GNOME: סוכן SSH -Comment[hi]=गनोम कीरिंग: SSH प्रतिनिधि -Comment[hr]=GNOME skup ključeva: SSH agent -Comment[hu]=GNOME kulcstartó – SSH-ügynök -Comment[id]=Ring Kunci GNOME: Agen SSH -Comment[it]=Portachiavi di GNOME: agente SSH -Comment[ja]=GNOME キーリング: SSH エージェント -Comment[kk]=GNOME Keyring: SSH агенті -Comment[km]=GNOME Keyring ៖ ភ្នាក់ងារ SSH -Comment[kn]=GNOME ಕೀಲಿಗೊಂಚಲು: SSH ಮಧ್ಯವರ್ತಿ -Comment[ko]=그놈 키 모음: SSH 에이전트 -Comment[lt]=GNOME raktinė: SSH tarnyba -Comment[lv]=GNOME atslēgu saišķis — SSH aģents -Comment[mjw]=GNOME Keyring: SSH Agent -Comment[mk]=Приврзок на GNOME: SSH агент -Comment[ml]=ഗ്നോം കീറിങ്: എസ്എസ്എച് ഏജന്റ് -Comment[mr]=GNOME किरिंग: SSH एजंट -Comment[ms]=Gelang Kunci GNOME: Ejen SSH -Comment[nb]=GNOME nøkkelring: SSH-agent -Comment[ne]=जिनोम किरिङ : SSH एजेन्ट -Comment[nl]=Sleutelbos-service: SSH-agent -Comment[nn]=GNOME Nøkkelring: SSH-agent -Comment[oc]=Trossèl de claus GNOME : agent SSH -Comment[or]=GNOME କି ରିଙ୍ଗ: SSH ସଦସ୍ୟ -Comment[pa]=ਗਨੋਮ ਕੀਰਿੰਗ: SSH ਏਜੰਟ -Comment[pl]=Baza kluczy dla środowiska GNOME: agent SSH -Comment[pt]=GNOME Keyring: agente SSH -Comment[pt_BR]=Chaveiro do GNOME: Agente SSH -Comment[ro]=Inelul de chei GNOME: Agent SSH -Comment[ru]=Связка ключей GNOME: SSH-агент -Comment[sk]=SSH agent zväzku kľúčov GNOME -Comment[sl]=Zbirka ključev GNOME: agent SSH -Comment[sr]=Гномови привесци: ССХ агент -Comment[sr@latin]=Gnomovi privesci: SSH agent -Comment[sv]=GNOME-nyckelring: SSH-agent -Comment[ta]=GNOME கீரிங்: SSH முகவர் -Comment[te]=GNOME కీరింగ్: SSH వాహకం -Comment[th]=พวงกุญแจของ GNOME: เอเจนต์ SSH -Comment[tr]=GNOME Anahtarlığı: SSH Aracı -Comment[ug]=گىنوم ئاچقۇچ ھالقىسى:SSH ياردەمچىسى -Comment[uk]=Служба в'язки ключів GNOME: агент SSH -Comment[vi]=Chùm chìa khóa GNOME: Đại diện SSH -Comment[zh_CN]=GNOME 密钥环:SSH 代理 -Comment[zh_HK]=GNOME 密碼匙圈:SSH 代理程式 -Comment[zh_TW]=GNOME 鑰匙圈:SSH 代理程式 -Comment=GNOME Keyring: SSH Agent -Exec=/usr/bin/gnome-keyring-daemon --start --components=ssh -OnlyShowIn=GNOME;Unity;MATE;Cinnamon; -X-GNOME-Autostart-Phase=PreDisplayServer -X-GNOME-AutoRestart=false -X-GNOME-Autostart-Notify=true -X-GNOME-Bugzilla-Bugzilla=GNOME -X-GNOME-Bugzilla-Product=gnome-keyring -X-GNOME-Bugzilla-Component=general -X-GNOME-Bugzilla-Version=42.1 -Hidden=true diff --git a/.config/bat/config b/.config/bat/config deleted file mode 100644 index 609fc6e..0000000 --- a/.config/bat/config +++ /dev/null @@ -1,3 +0,0 @@ ---italic-text=always ---plain ---theme=ansi diff --git a/.config/bat/themes/Catppuccin Mocha.tmTheme b/.config/bat/themes/Catppuccin Mocha.tmTheme deleted file mode 100644 index 332cc98..0000000 --- a/.config/bat/themes/Catppuccin Mocha.tmTheme +++ /dev/null @@ -1,2021 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> - <dict> - <key>name</key> - <string>Catppuccin Mocha</string> - <key>semanticClass</key> - <string>theme.dark.catppuccin-mocha</string> - <key>uuid</key> - <string>627ce890-fabb-4d39-9819-7be71f4bdca7</string> - <key>author</key> - <string>Catppuccin Org</string> - <key>colorSpaceName</key> - <string>sRGB</string> - <key>settings</key> - <array> - <dict> - <key>settings</key> - <dict> - <key>background</key> - <string>#1e1e2e</string> - <key>foreground</key> - <string>#cdd6f4</string> - <key>caret</key> - <string>#f5e0dc</string> - <key>lineHighlight</key> - <string>#cdd6f412</string> - <key>misspelling</key> - <string>#f38ba8</string> - <key>accent</key> - <string>#cba6f7</string> - <key>selection</key> - <string>#9399b240</string> - <key>activeGuide</key> - <string>#45475a</string> - <key>findHighlight</key> - <string>#3e5767</string> - <key>gutterForeground</key> - <string>#7f849c</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Basic text & variable names (incl. leading punctuation)</string> - <key>scope</key> - <string>text, source, variable.other.readwrite, punctuation.definition.variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cccccc</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Parentheses, Brackets, Braces</string> - <key>scope</key> - <string>punctuation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#9399b2</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comments</string> - <key>scope</key> - <string>comment, punctuation.definition.comment</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#6c7086</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>string, punctuation.definition.string</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>constant.character.escape</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Booleans, constants, numbers</string> - <key>scope</key> - <string>constant.numeric, variable.other.constant, entity.name.constant, constant.language.boolean, constant.language.false, constant.language.true, keyword.other.unit.user-defined, keyword.other.unit.suffix.floating-point</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>keyword, keyword.operator.word, keyword.operator.new, variable.language.super, support.type.primitive, storage.type, storage.modifier, punctuation.definition.keyword</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>scope</key> - <string>entity.name.tag.documentation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Punctuation</string> - <key>scope</key> - <string>keyword.operator, punctuation.accessor, punctuation.definition.generic, meta.function.closure punctuation.section.parameters, punctuation.definition.tag, punctuation.separator.key-value</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>entity.name.function, meta.function-call.method, support.function, support.function.misc, variable.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Classes</string> - <key>scope</key> - <string>entity.name.class, entity.other.inherited-class, support.class, meta.function-call.constructor, entity.name.struct</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Enum</string> - <key>scope</key> - <string>entity.name.enum</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Enum member</string> - <key>scope</key> - <string>meta.enum variable.other.readwrite, variable.other.enummember</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Object properties</string> - <key>scope</key> - <string>meta.property.object</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Types</string> - <key>scope</key> - <string>meta.type, meta.type-alias, support.type, entity.name.type</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorators</string> - <key>scope</key> - <string>meta.annotation variable.function, meta.annotation variable.annotation.function, meta.annotation punctuation.definition.annotation, meta.decorator, punctuation.decorator</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>variable.parameter, meta.function.parameters</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Built-ins</string> - <key>scope</key> - <string>constant.language, support.function.builtin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>entity.other.attribute-name.documentation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Preprocessor directives</string> - <key>scope</key> - <string>keyword.control.directive, punctuation.definition.directive</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Type parameters</string> - <key>scope</key> - <string>punctuation.definition.typeparameters</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Namespaces</string> - <key>scope</key> - <string>entity.name.namespace</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Property names (left hand assignments in json/yaml/css)</string> - <key>scope</key> - <string>support.type.property-name.css</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>This/Self keyword</string> - <key>scope</key> - <string>variable.language.this, variable.language.this punctuation.definition.variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Object properties</string> - <key>scope</key> - <string>variable.object.property</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>String template interpolation</string> - <key>scope</key> - <string>string.template variable, string variable</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>`new` as bold</string> - <key>scope</key> - <string>keyword.operator.new</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string>bold</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>C++ extern keyword</string> - <key>scope</key> - <string>storage.modifier.specifier.extern.cpp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>C++ scope resolution</string> - <key>scope</key> - <string>entity.name.scope-resolution.template.call.cpp, entity.name.scope-resolution.parameter.cpp, entity.name.scope-resolution.cpp, entity.name.scope-resolution.function.definition.cpp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>C++ doc keywords</string> - <key>scope</key> - <string>storage.type.class.doxygen</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>C++ operators</string> - <key>scope</key> - <string>storage.modifier.reference.cpp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>C# Interpolated Strings</string> - <key>scope</key> - <string>meta.interpolation.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>C# xml-style docs</string> - <key>scope</key> - <string>comment.block.documentation.cs</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Classes, reflecting the className color in JSX</string> - <key>scope</key> - <string>source.css entity.other.attribute-name.class.css, entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Operators</string> - <key>scope</key> - <string>punctuation.separator.operator.css</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Pseudo classes</string> - <key>scope</key> - <string>source.css entity.other.attribute-name.pseudo-class</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>source.css constant.other.unicode-range</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>source.css variable.parameter.url</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS vendored property names</string> - <key>scope</key> - <string>support.type.vendored.property-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Less/SCSS right-hand variables (@/$-prefixed)</string> - <key>scope</key> - <string>source.css meta.property-value variable, source.css meta.property-value variable.other.less, source.css meta.property-value variable.other.less punctuation.definition.variable.less, meta.definition.variable.scss</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS variables (--prefixed)</string> - <key>scope</key> - <string>source.css meta.property-list variable, meta.property-list variable.other.less, meta.property-list variable.other.less punctuation.definition.variable.less</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Percentage values, styled the same as numbers</string> - <key>scope</key> - <string>keyword.other.unit.percentage.css</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>CSS Attribute selectors, styled the same as strings</string> - <key>scope</key> - <string>source.css meta.attribute-selector</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON/YAML keys, other left-hand assignments</string> - <key>scope</key> - <string>keyword.other.definition.ini, punctuation.support.type.property-name.json, support.type.property-name.json, punctuation.support.type.property-name.toml, support.type.property-name.toml, entity.name.tag.yaml, punctuation.support.type.property-name.yaml, support.type.property-name.yaml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSON/YAML constants</string> - <key>scope</key> - <string>constant.language.json, constant.language.yaml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>YAML anchors</string> - <key>scope</key> - <string>entity.name.type.anchor.yaml, variable.other.alias.yaml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>TOML tables / ini groups</string> - <key>scope</key> - <string>support.type.property-name.table, entity.name.section.group-title.ini</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>TOML dates</string> - <key>scope</key> - <string>constant.other.time.datetime.offset.toml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>YAML anchor puctuation</string> - <key>scope</key> - <string>punctuation.definition.anchor.yaml, punctuation.definition.alias.yaml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>YAML triple dashes</string> - <key>scope</key> - <string>entity.other.document.begin.yaml</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markup Diff</string> - <key>scope</key> - <string>markup.changed.diff</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Diff</string> - <key>scope</key> - <string>meta.diff.header.from-file, meta.diff.header.to-file, punctuation.definition.from-file.diff, punctuation.definition.to-file.diff</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Diff Inserted</string> - <key>scope</key> - <string>markup.inserted.diff</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Diff Deleted</string> - <key>scope</key> - <string>markup.deleted.diff</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>dotenv left-hand side assignments</string> - <key>scope</key> - <string>variable.other.env</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>dotenv reference to existing env variable</string> - <key>scope</key> - <string>string.quoted variable.other.env</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GDScript functions</string> - <key>scope</key> - <string>support.function.builtin.gdscript</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GDScript constants</string> - <key>scope</key> - <string>constant.language.gdscript</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Comment keywords</string> - <key>scope</key> - <string>comment meta.annotation.go</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>go:embed, go:build, etc.</string> - <key>scope</key> - <string>comment meta.annotation.parameters.go</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Go constants (nil, true, false)</string> - <key>scope</key> - <string>constant.language.go</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GraphQL variables</string> - <key>scope</key> - <string>variable.graphql</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GraphQL aliases</string> - <key>scope</key> - <string>string.unquoted.alias.graphql</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f2cdcd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GraphQL enum members</string> - <key>scope</key> - <string>constant.character.enum.graphql</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>GraphQL field in types</string> - <key>scope</key> - <string>meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f2cdcd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>HTML/XML DOCTYPE as keyword</string> - <key>scope</key> - <string>keyword.other.doctype, meta.tag.sgml.doctype punctuation.definition.tag, meta.tag.metadata.doctype entity.name.tag, meta.tag.metadata.doctype punctuation.definition.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>HTML/XML-like <tags/></string> - <key>scope</key> - <string>entity.name.tag</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Special characters like &amp;</string> - <key>scope</key> - <string>text.html constant.character.entity, text.html constant.character.entity punctuation, constant.character.entity.xml, constant.character.entity.xml punctuation, constant.character.entity.js.jsx, constant.charactger.entity.js.jsx punctuation, constant.character.entity.tsx, constant.character.entity.tsx punctuation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>HTML/XML tag attribute values</string> - <key>scope</key> - <string>entity.other.attribute-name</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Components</string> - <key>scope</key> - <string>support.class.component, support.class.component.jsx, support.class.component.tsx, support.class.component.vue</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Annotations</string> - <key>scope</key> - <string>punctuation.definition.annotation, storage.type.annotation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Java enums</string> - <key>scope</key> - <string>constant.other.enum.java</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Java imports</string> - <key>scope</key> - <string>storage.modifier.import.java</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Javadoc</string> - <key>scope</key> - <string>comment.block.javadoc.java keyword.other.documentation.javadoc.java</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Exported Variable</string> - <key>scope</key> - <string>meta.export variable.other.readwrite.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JS/TS constants & properties</string> - <key>scope</key> - <string>variable.other.constant.js, variable.other.constant.ts, variable.other.property.js, variable.other.property.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSDoc; these are mainly params, so styled as such</string> - <key>scope</key> - <string>variable.other.jsdoc, comment.block.documentation variable.other</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>JSDoc keywords</string> - <key>scope</key> - <string>storage.type.class.jsdoc</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>scope</key> - <string>support.type.object.console.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Node constants as keywords (module, etc.)</string> - <key>scope</key> - <string>support.constant.node, support.type.object.module.js</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>implements as keyword</string> - <key>scope</key> - <string>storage.modifier.implements</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Builtin types</string> - <key>scope</key> - <string>constant.language.null.js, constant.language.null.ts, constant.language.undefined.js, constant.language.undefined.ts, support.type.builtin.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>variable.parameter.generic</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Arrow functions</string> - <key>scope</key> - <string>keyword.declaration.function.arrow.js, storage.type.function.arrow.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Decorator punctuations (decorators inherit from blue functions, instead of styleguide peach)</string> - <key>scope</key> - <string>punctuation.decorator.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Extra JS/TS keywords</string> - <key>scope</key> - <string>keyword.operator.expression.in.js, keyword.operator.expression.in.ts, keyword.operator.expression.infer.ts, keyword.operator.expression.instanceof.js, keyword.operator.expression.instanceof.ts, keyword.operator.expression.is, keyword.operator.expression.keyof.ts, keyword.operator.expression.of.js, keyword.operator.expression.of.ts, keyword.operator.expression.typeof.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Julia macros</string> - <key>scope</key> - <string>support.function.macro.julia</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Julia language constants (true, false)</string> - <key>scope</key> - <string>constant.language.julia</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Julia other constants (these seem to be arguments inside arrays)</string> - <key>scope</key> - <string>constant.other.symbol.julia</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>LaTeX preamble</string> - <key>scope</key> - <string>text.tex keyword.control.preamble</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>LaTeX be functions</string> - <key>scope</key> - <string>text.tex support.function.be</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>LaTeX math</string> - <key>scope</key> - <string>constant.other.general.math.tex</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f2cdcd</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Lua docstring keywords</string> - <key>scope</key> - <string>comment.line.double-dash.documentation.lua storage.type.annotation.lua</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Lua docstring variables</string> - <key>scope</key> - <string>comment.line.double-dash.documentation.lua entity.name.variable.lua, comment.line.double-dash.documentation.lua variable.lua</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.1.markdown punctuation.definition.heading.markdown, heading.1.markdown, markup.heading.atx.1.mdx, markup.heading.atx.1.mdx punctuation.definition.heading.mdx, markup.heading.setext.1.markdown, markup.heading.heading-0.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.2.markdown punctuation.definition.heading.markdown, heading.2.markdown, markup.heading.atx.2.mdx, markup.heading.atx.2.mdx punctuation.definition.heading.mdx, markup.heading.setext.2.markdown, markup.heading.heading-1.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.3.markdown punctuation.definition.heading.markdown, heading.3.markdown, markup.heading.atx.3.mdx, markup.heading.atx.3.mdx punctuation.definition.heading.mdx, markup.heading.heading-2.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.4.markdown punctuation.definition.heading.markdown, heading.4.markdown, markup.heading.atx.4.mdx, markup.heading.atx.4.mdx punctuation.definition.heading.mdx, markup.heading.heading-3.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.5.markdown punctuation.definition.heading.markdown, heading.5.markdown, markup.heading.atx.5.mdx, markup.heading.atx.5.mdx punctuation.definition.heading.mdx, markup.heading.heading-4.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>heading.6.markdown punctuation.definition.heading.markdown, heading.6.markdown, markup.heading.atx.6.mdx, markup.heading.atx.6.mdx punctuation.definition.heading.mdx, markup.heading.heading-5.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.bold</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - <key>fontStyle</key> - <string>bold</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.italic</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.strikethrough</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6adc8</string> - <key>fontStyle</key> - <string>strikethrough</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown auto links</string> - <key>scope</key> - <string>punctuation.definition.link, markup.underline.link</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown links</string> - <key>scope</key> - <string>text.html.markdown punctuation.definition.link.title, string.other.link.title.markdown, markup.link, punctuation.definition.constant.markdown, constant.other.reference.link.markdown, markup.substitution.attribute-reference</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b4befe</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown code spans</string> - <key>scope</key> - <string>punctuation.definition.raw.markdown, markup.inline.raw.string.markdown, markup.raw.block.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown triple backtick language identifier</string> - <key>scope</key> - <string>fenced_code.block.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown triple backticks</string> - <key>scope</key> - <string>markup.fenced_code.block punctuation.definition, markup.raw support.asciidoc</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#9399b2</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown quotes</string> - <key>scope</key> - <string>markup.quote, punctuation.definition.quote.begin</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown separators</string> - <key>scope</key> - <string>meta.separator.markdown</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Markdown list bullets</string> - <key>scope</key> - <string>punctuation.definition.list.begin.markdown, markup.list.bullet</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Nix attribute names</string> - <key>scope</key> - <string>entity.other.attribute-name.multipart.nix, entity.other.attribute-name.single.nix</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Nix parameter names</string> - <key>scope</key> - <string>variable.parameter.name.nix</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Nix interpolated parameter names</string> - <key>scope</key> - <string>meta.embedded variable.parameter.name.nix</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#b4befe</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Nix paths</string> - <key>scope</key> - <string>string.unquoted.path.nix</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>PHP Attributes</string> - <key>scope</key> - <string>support.attribute.builtin, meta.attribute.php</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>PHP Parameters (needed for the leading dollar sign)</string> - <key>scope</key> - <string>meta.function.parameters.php punctuation.definition.variable.php</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>PHP Constants (null, __FILE__, etc.)</string> - <key>scope</key> - <string>constant.language.php</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>PHP functions</string> - <key>scope</key> - <string>text.html.php support.function</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>PHPdoc keywords</string> - <key>scope</key> - <string>keyword.other.phpdoc.php</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python argument functions reset to text, otherwise they inherit blue from function-call</string> - <key>scope</key> - <string>support.variable.magic.python, meta.function-call.arguments.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python double underscore functions</string> - <key>scope</key> - <string>support.function.magic.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python `self` keyword</string> - <key>scope</key> - <string>variable.parameter.function.language.special.self.python, variable.language.special.self.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python keyword flow/logical (for ... in)</string> - <key>scope</key> - <string>keyword.control.flow.python, keyword.operator.logical.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python storage type</string> - <key>scope</key> - <string>storage.type.function.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python function support</string> - <key>scope</key> - <string>support.token.decorator.python, meta.function.decorator.identifier.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python function calls</string> - <key>scope</key> - <string>meta.function-call.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python function decorators</string> - <key>scope</key> - <string>entity.name.function.decorator.python, punctuation.definition.decorator.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python placeholder reset to normal string</string> - <key>scope</key> - <string>constant.character.format.placeholder.other.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python exception & builtins such as exit()</string> - <key>scope</key> - <string>support.type.exception.python, support.function.builtin.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>entity.name.type</string> - <key>scope</key> - <string>support.type.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>python constants (True/False)</string> - <key>scope</key> - <string>constant.language.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Arguments accessed later in the function body</string> - <key>scope</key> - <string>meta.indexed-name.python, meta.item-access.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python f-strings/binary/unicode storage types</string> - <key>scope</key> - <string>storage.type.string.python</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Python type hints</string> - <key>scope</key> - <string>meta.function.parameters.python</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex string begin/end in JS/TS</string> - <key>scope</key> - <string>string.regexp punctuation.definition.string.begin, string.regexp punctuation.definition.string.end</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex anchors (^, $)</string> - <key>scope</key> - <string>keyword.control.anchor.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex regular string match</string> - <key>scope</key> - <string>string.regexp.ts</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex group parenthesis & backreference (\1, \2, \3, ...)</string> - <key>scope</key> - <string>punctuation.definition.group.regexp, keyword.other.back-reference.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#a6e3a1</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex character class []</string> - <key>scope</key> - <string>punctuation.definition.character-class.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex character classes (\d, \w, \s)</string> - <key>scope</key> - <string>constant.other.character-class.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex range</string> - <key>scope</key> - <string>constant.other.character-class.range.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5e0dc</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex quantifier</string> - <key>scope</key> - <string>keyword.operator.quantifier.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex constant/numeric</string> - <key>scope</key> - <string>constant.character.numeric.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Regex lookaheads, negative lookaheads, lookbehinds, negative lookbehinds</string> - <key>scope</key> - <string>punctuation.definition.group.no-capture.regexp, meta.assertion.look-ahead.regexp, meta.assertion.negative-look-ahead.regexp</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust attribute</string> - <key>scope</key> - <string>meta.annotation.rust, meta.annotation.rust punctuation, meta.attribute.rust, punctuation.definition.attribute.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust attribute strings</string> - <key>scope</key> - <string>meta.attribute.rust string.quoted.double.rust, meta.attribute.rust string.quoted.single.char.rust</string> - <key>settings</key> - <dict> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust keyword</string> - <key>scope</key> - <string>entity.name.function.macro.rules.rust, storage.type.module.rust, storage.modifier.rust, storage.type.struct.rust, storage.type.enum.rust, storage.type.trait.rust, storage.type.union.rust, storage.type.impl.rust, storage.type.rust, storage.type.function.rust, storage.type.type.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust u/i32, u/i64, etc.</string> - <key>scope</key> - <string>entity.name.type.numeric.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - <key>fontStyle</key> - <string/> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust generic</string> - <key>scope</key> - <string>meta.generic.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust impl</string> - <key>scope</key> - <string>entity.name.impl.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust module</string> - <key>scope</key> - <string>entity.name.module.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust trait</string> - <key>scope</key> - <string>entity.name.trait.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust struct</string> - <key>scope</key> - <string>storage.type.source.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust union</string> - <key>scope</key> - <string>entity.name.union.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f9e2af</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust enum member</string> - <key>scope</key> - <string>meta.enum.rust storage.type.source.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust macro</string> - <key>scope</key> - <string>support.macro.rust, meta.macro.rust support.function.rust, entity.name.function.macro.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust lifetime</string> - <key>scope</key> - <string>storage.modifier.lifetime.rust, entity.name.type.lifetime</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust string formatting</string> - <key>scope</key> - <string>string.quoted.double.rust constant.other.placeholder.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust return type generic</string> - <key>scope</key> - <string>meta.function.return-type.rust meta.generic.rust storage.type.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust functions</string> - <key>scope</key> - <string>meta.function.call.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust angle brackets</string> - <key>scope</key> - <string>punctuation.brackets.angle.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89dceb</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust constants</string> - <key>scope</key> - <string>constant.other.caps.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust function parameters</string> - <key>scope</key> - <string>meta.function.definition.rust variable.other.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#eba0ac</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust closure variables</string> - <key>scope</key> - <string>meta.function.call.rust variable.other.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust self</string> - <key>scope</key> - <string>variable.language.self.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Rust metavariable names</string> - <key>scope</key> - <string>variable.other.metavariable.name.rust, meta.macro.metavariable.rust keyword.operator.macro.dollar.rust</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell shebang</string> - <key>scope</key> - <string>comment.line.shebang, comment.line.shebang punctuation.definition.comment, comment.line.shebang, punctuation.definition.comment.shebang.shell, meta.shebang.shell</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell shebang command</string> - <key>scope</key> - <string>comment.line.shebang constant.language</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell interpolated command</string> - <key>scope</key> - <string>meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation, meta.function-call.arguments.shell punctuation.definition.variable.shell, meta.function-call.arguments.shell punctuation.section.interpolation</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f38ba8</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell interpolated command variable</string> - <key>scope</key> - <string>meta.string meta.interpolation.parameter.shell variable.other.readwrite</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#fab387</string> - <key>fontStyle</key> - <string>italic</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>source.shell punctuation.section.interpolation, punctuation.definition.evaluation.backticks.shell</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#94e2d5</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell EOF</string> - <key>scope</key> - <string>entity.name.tag.heredoc.shell</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>name</key> - <string>Shell quoted variable</string> - <key>scope</key> - <string>string.quoted.double.shell variable.other.normal.shell</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cdd6f4</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.heading.synopsis.man, markup.heading.title.man, markup.heading.other.man, markup.heading.env.man</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#cba6f7</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.heading.commands.man</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#89b4fa</string> - </dict> - </dict> - <dict> - <key>scope</key> - <string>markup.heading.env.man</string> - <key>settings</key> - <dict> - <key>foreground</key> - <string>#f5c2e7</string> - </dict> - </dict> - </array> - </dict> -</plist> diff --git a/.config/broot/conf.hjson b/.config/broot/conf.hjson deleted file mode 100644 index c74318c..0000000 --- a/.config/broot/conf.hjson +++ /dev/null @@ -1,40 +0,0 @@ -show_selection_mark: true -true_colors: true -icon_theme: nerdfont - -special_paths: { - "/media" : { - list: "never" - sum: "never" - } - "~/.config": { "show": "always" } - "trav": { - show: always - list: "always", - sum: "never" - } - # "~/useless": { "show": "never" } - # "~/my-link-I-want-to-explore": { "list": "always" } -} - -quit_on_last_cancel: true -content_search_max_file_size: 10MB -enable_kitty_keyboard: true -lines_before_match_in_preview: 1 -lines_after_match_in_preview: 1 - -imports: [ - verbs.hjson - - { - luma: dark - file: skins/dieter-dark.hjson - } - { - luma: [ - light - unknown - ] - file: skins/dieter-light.hjson - } -] diff --git a/.config/broot/launcher/bash/br b/.config/broot/launcher/bash/br deleted file mode 120000 index c577ca3..0000000 --- a/.config/broot/launcher/bash/br +++ /dev/null @@ -1 +0,0 @@ -/home/dln/.local/share/broot/launcher/bash/1 \ No newline at end of file diff --git a/.config/broot/launcher/installed-v4 b/.config/broot/launcher/installed-v4 deleted file mode 100644 index 3f026af..0000000 --- a/.config/broot/launcher/installed-v4 +++ /dev/null @@ -1,4 +0,0 @@ - -This file tells broot the installation of the br function was done. -If there's a problem and you want to install it again run - broot -- install diff --git a/.config/broot/select.hjson b/.config/broot/select.hjson deleted file mode 100644 index 20ec81d..0000000 --- a/.config/broot/select.hjson +++ /dev/null @@ -1,17 +0,0 @@ -verbs: [ - { - invocation: "ok" - key: "enter" - leave_broot: true - execution: ":print_path" - apply_to: "directory" - } - - { - invocation: "broot_home" - keys: ["ctrl-7", "ctrl-g"] - execution: "broot -f --conf ~/.config/broot/select.hjson $HOME" - leave_broot: true - } -] - diff --git a/.config/broot/skins/dieter-light.hjson b/.config/broot/skins/dieter-light.hjson deleted file mode 100644 index ad61918..0000000 --- a/.config/broot/skins/dieter-light.hjson +++ /dev/null @@ -1,84 +0,0 @@ -############################################################### -# A skin for a terminal with a white background -# -# To create your own skin, copy this file, change the entries -# and import your skin file from the main conf file (look -# for "imports") -# -# Doc at https://dystroy.org/broot/skins/ -############################################################### -syntax_theme: base16-ocean.light - -skin: { - default: gray(0) None - tree: gray(20) None / gray(18) None - file: gray(1) None / gray(8) None - directory: gray(4) None Bold / ansi(4) None - exe: ansi(130) None - link: Magenta None - pruning: gray(12) None Italic - perm__: gray(5) None - perm_r: ansi(94) None - perm_w: ansi(132) None - perm_x: ansi(65) None - owner: ansi(138) None - group: ansi(131) None - dates: ansi(66) None - sparse: ansi(214) None - git_branch: ansi(229) None - git_insertions: ansi(28) None - git_deletions: ansi(160) None - git_status_current: gray(5) None - git_status_modified: ansi(28) None - git_status_new: ansi(94) None Bold - git_status_ignored: gray(17) None - git_status_conflicted: ansi(88) None - git_status_other: ansi(88) None - selected_line: None gray(20) - char_match: None ansi(226) - file_error: Red None - flag_label: gray(9) None - flag_value: ansi(166) None Bold - input: gray(1) None / gray(4) gray(20) - status_error: gray(22) ansi(124) - status_normal: gray(2) gray(20) - status_job: ansi(220) gray(5) - status_italic: ansi(166) gray(20) - status_bold: ansi(166) gray(20) - status_code: ansi(17) gray(20) - status_ellipsis: gray(19) gray(15) - purpose_normal: gray(20) gray(2) - purpose_italic: ansi(178) gray(2) - purpose_bold: ansi(178) gray(2) Bold - purpose_ellipsis: gray(20) gray(2) - scrollbar_track: gray(20) none - scrollbar_thumb: ansi(238) none - help_paragraph: gray(2) none - help_bold: ansi(202) none bold - help_italic: ansi(202) none italic - help_code: gray(5) gray(22) - help_headers: ansi(202) none - help_table_border: ansi(239) None - preview_title: gray(3) None / gray(5) None - preview: gray(5) gray(23) / gray(7) gray(23) - preview_line_number: gray(6) gray(20) - preview_separator: gray(7) None / gray(18) None - preview_match: None ansi(29) Underlined - hex_null: gray(15) None - hex_ascii_graphic: gray(2) None - hex_ascii_whitespace: ansi(143) None - hex_ascii_other: ansi(215) None - hex_non_ascii: ansi(167) None - staging_area_title: gray(8) None / gray(13) None - mode_command_mark: gray(15) ansi(204) Bold - good_to_bad_0: ansi(28) - good_to_bad_1: ansi(29) - good_to_bad_2: ansi(29) - good_to_bad_3: ansi(29) - good_to_bad_4: ansi(29) - good_to_bad_5: ansi(100) - good_to_bad_6: ansi(136) - good_to_bad_7: ansi(172) - good_to_bad_8: ansi(166) - good_to_bad_9: ansi(196) -} diff --git a/.config/broot/verbs.hjson b/.config/broot/verbs.hjson deleted file mode 100644 index da78ce8..0000000 --- a/.config/broot/verbs.hjson +++ /dev/null @@ -1,184 +0,0 @@ -############################################################### -# This file contains the verb definitions for broot -# -# Some verbs here are examples and not enabled by default: you -# need to uncomment them if you want to use them. -# -# Documentation at https://dystroy.org/broot/verbs/ -############################################################### - -verbs: [ - { - invocation: edit - key: enter - shortcut: e - execution: "wezterm-edit-helper {file}" - apply_to: text_file - leave_broot: true - } - - { - invocation: nvim - key: enter - apply_to: text_file - execution: "wezterm-edit-helper {file}" - leave_broot: true - } - - { - invocation: broot_home - key: ctrl-7 - execution: br $HOME - leave_broot: true - } - - # You should customize this standard opening of text files. - # If you edit text files in your terminal (vi, emacs, helix, eg.), then - # you'll find it convenient to change the 'key' from 'ctrl-e' to 'enter'. - # - # If $EDITOR isn't set on your computer, you should either set it using - # something similar to - # export EDITOR=/usr/local/bin/nvim - # or just replace it with your editor of choice in the 'execution' - # pattern. - # If your editor is able to open a file on a specific line, use {line} - # so that you may jump directly at the right line from a preview or - # a content search. - # Examples depending on your favourite editor: - # execution: "nvim +{line} {file}" - # execution: "helix {file}:{line}" - { - invocation: edit - shortcut: e - key: ctrl-e - apply_to: text_file - execution: "$EDITOR {file}" - leave_broot: false - } - - # Example 1: launching `tail -n` on the selected file (leaving broot) - # { - # name: tail_lines - # invocation: tl {lines_count} - # execution: "tail -f -n {lines_count} {file}" - # } - - # Example 2: creating a new file without leaving broot - # { - # name: touch - # invocation: touch {new_file} - # execution: "touch {directory}/{new_file}" - # leave_broot: false - # } - - # A convenient shortcut to create new text files in - # the current directory or below - { - invocation: create {subpath} - execution: "$EDITOR {directory}/{subpath}" - leave_broot: false - } - - { - invocation: git_diff - shortcut: gd - leave_broot: false - execution: "git difftool -y {file}" - } - - # On ctrl-b, propose the creation of a copy of the selection. - # While this might occasionally be useful, this verb is mostly here - # as an example to demonstrate rare standard groups like {file-stem} - # and {file-dot-extension} and the auto_exec verb property which - # allows verbs to stay unexecuted until you hit enter - { - invocation: "backup {version}" - key: ctrl-b - leave_broot: false - auto_exec: false - execution: "cp -r {file} {parent}/{file-stem}-{version}{file-dot-extension}" - } - - # By default, `rm` does the system rm, and completely removes - # the file. If you prefer to have the file moved to the system - # trash, you may use the ':trash' internal with the verb below: - # { - # invocation: "rm" - # internal: "trash" - # leave_broot: false - # } - - # This verb lets you launch a terminal on ctrl-T - # (on exit you'll be back in broot) - { - invocation: terminal - key: ctrl-t - execution: "$SHELL" - set_working_dir: true - leave_broot: false - } - - # Here's an example of a verb needing the shell capabilities. - # It copies all children of the currently selected directory - # to a destination you type. - # It uses a star, which needs the shell for expansion. That's - # why such verb must have the `from_shell: true` parameter. - # { - # invocation: "cpa {dest}" - # external: "cp -r {directory}/* {dest}" - # from_shell: true - # } - - # Here's an example of a shortcut bringing you to your home directory - # { - # invocation: home - # key: ctrl-home - # execution: ":focus ~" - # } - - # Here's going to the work-dir root of the current git repository - # { - # invocation: gtr - # execution: ":focus {git-root}" - # } - - # A popular set of shortcuts for going up and down: - # - # { - # key: ctrl-k - # execution: ":line_up" - # } - # { - # key: ctrl-j - # execution: ":line_down" - # } - # { - # key: ctrl-u - # execution: ":page_up" - # } - # { - # key: ctrl-d - # execution: ":page_down" - # } - - # If you develop using git, you might like to often switch - # to the git status filter: - # { - # key: alt-g - # execution: ":toggle_git_status" - # } - - # You can reproduce the bindings of Norton Commander - # on copying or moving to the other panel: - # { - # key: F5 - # external: "cp -r {file} {other-panel-directory}" - # leave_broot: false - # } - # { - # key: F6 - # external: "mv {file} {other-panel-directory}" - # leave_broot: false - # } -] - diff --git a/.config/buildkit/buildkitd.toml b/.config/buildkit/buildkitd.toml deleted file mode 100644 index b273b2b..0000000 --- a/.config/buildkit/buildkitd.toml +++ /dev/null @@ -1,7 +0,0 @@ -[worker.oci] - enabled = false - -[worker.containerd] - enabled = true - rootless = true - address = "/run/user/1000/containerd/containerd.sock" diff --git a/.config/chrome-beta-flags.conf b/.config/chrome-beta-flags.conf deleted file mode 100644 index e77a043..0000000 --- a/.config/chrome-beta-flags.conf +++ /dev/null @@ -1 +0,0 @@ ---enable-features=OzonePlatform --ozone-platform=wayland diff --git a/.config/contour/contour.yml b/.config/contour/contour.yml deleted file mode 100644 index 8955087..0000000 --- a/.config/contour/contour.yml +++ /dev/null @@ -1,769 +0,0 @@ -# Default Contour Configuration File. - -# Overrides the auto-detected platform plugin to be loaded. -# -# Possible (incomplete list of) values are: -# - auto The platform will be auto-detected. -# - xcb Uses XCB plugin (for X11 environment). -# - cocoa Used to be run on Mac OS/X. -# - direct2d Windows platform plugin using Direct2D. -# - winrt Windows platform plugin using WinRT. -# -# Default: auto -platform_plugin: auto - -# VT Renderer configuration. -# ADVANCED! Do not touch unless you know what you are doing. -renderer: - # Backend to use for rendering the terminal onto the screen - # - # Possible values are: - # - default Uses the default rendering option as decided by the terminal. - # - software Uses software-based rendering. - # - OpenGL Use (possibly) hardware accelerated OpenGL - backend: OpenGL - - # Number of hashtable slots to map to the texture tiles. - # Larger values may increase performance, but too large may also decrease. - # This value is rounded up to a value equal to the power of two. - # - # Default: 4096 - tile_hashtable_slots: 4096 - - # Number of tiles that must fit at lest into the texture atlas. - # - # This does not include direct mapped tiles (US-ASCII glyphs, - # cursor shapes and decorations), if tile_direct_mapping is set to true). - # - # Value must be at least as large as grid cells available in the terminal view. - # This value is automatically adjusted if too small. - # - # Default: 4000 - tile_cache_count: 4000 - - # Enables/disables the use of direct-mapped texture atlas tiles for - # the most often used ones (US-ASCII, cursor shapes, underline styles) - # You most likely do not want to touch this. - # - # Default: true - tile_direct_mapping: true - -# Word delimiters when selecting word-wise. -word_delimiters: " /\\()\"'-.,:;<>~!@#$%^&*+=[]{}~?|│" - -# Default PTY read buffer size. -# -# This is an advance option. Use with care! -# Default: 16384 -read_buffer_size: 16384 - -# Size in bytes per PTY Buffer Object. -# -# This is an advanced option of an internal storage. Only change with care! -pty_buffer_size: 1048576 - -default_profile: main - -# Flag to determine whether to spawn new process or not when creating new terminal -# Default: false -spawn_new_process: false - -# Whether or not to reflow the lines on terminal resize events. -# Default: true -reflow_on_resize: true - -# Section of experimental features. -# All experimental features are disabled by default and must be explicitly enabled here. -# NOTE: Contour currently has no experimental features behind this configuration wall. -# experimental: -# # Enables experimental support for feature X/Y/Z -# feature_xyz: true - -# This keyboard modifier can be used to bypass the terminal's mouse protocol, -# which can be used to select screen content even if the an application -# mouse protocol has been activated (Default: Shift). -# -# The same modifier values apply as with input modifiers (see below). -bypass_mouse_protocol_modifier: Shift - -# Modifier to be pressed in order to initiate block-selection -# using the left mouse button. -# -# This is usually the Control modifier, but on OS/X that is not possible, -# so Alt or Meta would be recommended instead. -# -# Supported modifiers: -# - Alt -# - Control -# - Shift -# - Meta -# -# Default: Control -mouse_block_selection_modifier: Control - -# Selects an action to perform when a text selection has been made. -# -# Possible values are: -# -# - None Does nothing -# - CopyToClipboard Copies the selection to the primary clipboard. -# - CopyToSelectionClipboard Copies the selection to the selection clipboard. -# This is not supported on all platforms. -# -# Default: CopyToSelectionClipboard -on_mouse_select: CopyToSelectionClipboard - -# Determines whether the instance is reloading the configuration files whenever it is changing or not. -# -# Default: false -live_config: false - -# Inline image related default configuration and limits -# ----------------------------------------------------- -images: - # Enable or disable sixel scrolling (SM/RM ?80 default) - sixel_scrolling: true - # Configures the maximum number of color registers available when rendering Sixel graphics. - sixel_register_count: 4096 - # maximum width in pixels of an image to be accepted (0 defaults to system screen pixel width) - max_width: 0 - # maximum height in pixels of an image to be accepted (0 defaults to system screen pixel height) - max_height: 0 - -# Terminal Profiles -# ----------------- -# -# Dominates how your terminal visually looks like. You will need at least one terminal profile. -profiles: - main: - # You can override the process to be started inside the terminal. - # If nothing is specified, the users' default login shell will be used. - # But you may as well log in to a remote host. - # shell: "ssh ubuntu-vm" - # shell: "/bin/bash" - # arguments: ["some", "optional", "arguments", "for", "the", "shell"] - - # If this terminal is being executed from within Flatpak, enforces sandboxing - # then this boolean indicates whether or not that sandbox should be escaped or not. - # - # Default value is true. - # - # It only makes sense to set this value to false if you really know what you are doing. - escape_sandbox: true - - # Advanced value that is useful when CopyPreviousMarkRange is used - # with multiline-prompts. This offset value is being added to the - # current cursor's line number minus 1 (i.e. the line above the current cursor). - # - # Default value is 0. - copy_last_mark_range_offset: 0 - - # Sets initial working directory when spawning a new terminal. - # A leading ~ is expanded to the user's home directory. - # Default value is the user's home directory. - initial_working_directory: "~" - - # When this profile is *activated*, this flag decides - # whether or not the title bar will be shown - show_title_bar: false - # When this profile is being *activated*, this flag decides - # whether or not to put the terminal's screen into fullscreen mode. - # - # It is activated during startup as well as when switching from another profile to this one. - fullscreen: false - - # When this profile is *activated*, this flag decides - # whether or not to put the window into maximized mode. - maximized: false - - # Defines the class part of the WM_CLASS property of the window. - wm_class: "contour" - - # Environment variables to be passed to the shell. - # environment: - # TERM: contour - # COLORTERM: truecolor - - # Determines the terminal type that is being advertised. - # Possible values are: - # - VT100 - # - VT220 - # - VT240 - # - VT330 - # - VT340 - # - VT320 - # - VT420 - # - VT510 - # - VT520 - # - VT525 - # Default: VT525 - terminal_id: VT525 - - # Determines the initial terminal size in characters. - terminal_size: - columns: 80 - lines: 25 - - history: - # Number of lines to preserve (-1 for infinite). - limit: 1000 - # Boolean indicating whether or not to scroll down to the bottom on screen updates. - auto_scroll_on_update: true - # Number of lines to scroll on ScrollUp & ScrollDown events. - # Default: 3 - scroll_multiplier: 3 - - # visual scrollbar support - scrollbar: - # scroll bar position: Left, Right, Hidden (ignore-case) - position: Hidden - # whether or not to hide the scrollbar when in alt-screen. - hide_in_alt_screen: true - - # mouse setting - mouse: - # whether or not to hide mouse when typing - # - # Default value: true - hide_while_typing: true - - # Some VT sequences should need access permissions. - # - # These can be to: - # - allow Allows the given functionality - # - deny Denies the given functionality - # - ask Asks the user interactively via popup dialog for permission of the given action. - # - # Default for all of these entries should be: "ask". - permissions: - # Allows changing the font via `OSC 50 ; Pt ST`. - change_font: ask - # Allows capturing the screen buffer via `CSI > Pm ; Ps ; Pc ST`. - # The response can be read from stdin as sequence `OSC 314 ; <screen capture> ST` - capture_buffer: ask - # Allows displaying the "Host Writable Statusline" programmatically using `DECSSDT 2`. - display_host_writable_statusline: ask - - # If enabled, and you double-click on a word in the primary screen, - # all other words matching this word will be highlighted as well. - # So the double-clicked word will be selected as well as highlighted, along with - # all other words being simply highlighted. - # - # This is currently implemented by initiating a search on the double-clicked word. - # Therefore one can even use FocusNextSearchMatch and FocusPreviousSearchMatch to - # jump to the next/previous same word, also outside of the current viewport. - # - # Default: true - highlight_word_and_matches_on_double_click: true - - # Font related configuration (font face, styles, size, rendering mode). - font: - # Initial font size in pixels. - size: 20 - - # DPI scaling factor applied on top of the system configured on (default: 1.0). - dpi_scale: 1.0 - - # Font Locator API - # Selects an engine to use for locating font files on the system. - # This is implicitly also responsible for font fallback - # Possible values are: - # - native : automatically choose the best available on the current platform - # - fontconfig : uses fontconfig to select fonts - # - CoreText : uses OS/X CoreText to select fonts. - # - DirectWrite : selects DirectWrite engine (Windows only) - locator: native - - # Text shaping related settings - text_shaping: - # Selects which text shaping and font rendering engine to use. - # Supported values are: - # - native : automatically choose the best available on the current platform. - # - DirectWrite : selects DirectWrite engine (Windows only) - # - CoreText : selects CoreText engine (Mac OS/X only) (currently not implemented) - # - OpenShaper : selects OpenShaper (harfbuzz/freetype/fontconfig, available on all - # platforms) - engine: native - - # Uses builtin textures for pixel-perfect box drawing. - # If disabled, the font's provided box drawing characters - # will be used (Default: true). - builtin_box_drawing: true - - # Font render modes tell the font rasterizer engine what rendering technique to use. - # - # Modes available are: - # - lcd Uses a subpixel rendering technique optimized for LCD displays. - # - light Uses a subpixel rendering technique in gray-scale. - # - gray Uses standard gray-scaled anti-aliasing. - # - monochrome Uses pixel-perfect bitmap rendering. - render_mode: gray - - # Indicates whether or not to include *only* monospace fonts in the font and - # font-fallback list (Default: true). - strict_spacing: false - - # Font family to use for displaying text. - # - # A font can be either described in detail as below or as a - # simple string value (e.g. "monospace" with the appropriate - # weight/slant applied automatically). - regular: - # Font family defines the font family name, such as: - # Fira Code", "Courier New", or "monospace" (default). - family: "Iosevka Term SS09 Light" - - # Font weight can be one of: - # thin, extra_light, light, demilight, book, normal, - # medium, demibold, bold, extra_bold, black, extra_black. - weight: light - - # Font slant can be one of: normal, italic, oblique. - slant: normal - - # Set of optional font features to be enabled. This - # is usually a 4-letter code, such as ss01 or ss02 etc. - # - # Please see your font's documentation to find out what it - # supports. - # - # Default: [] - features: [ss09] - - # If bold/italic/bold_italic are not explicitly specified, the regular font with - # the respective weight and slant will be used. - bold: - family: "Iosevka Term SS09" - features: [ss09] - weight: demibold - italic: - family: "Iosevka Term Curly Slab" - weight: light - slant: italic - bold_italic: - family: "Iosevka Term Curly Slab Ex" - weight: regular - slant: italic - #bold: "Hack" - #italic: "Hack" - #bold_italic: "Hack" - - # This is a special font to be used for displaying unicode symbols - # that are to be rendered in emoji presentation. - # Defaults to "emoji". - emoji: "Noto Color Emoji" - - # Indicates whether or not bold text should be rendered in bright colors, - # for indexed colors. - # - # If disabled, normal color will be used instead. - # - # Default: false - draw_bold_text_with_bright_colors: false - - # Terminal cursor display configuration - cursor: - # Supported shapes are: - # - # - block a filled rectangle - # - rectangle just the outline of a block - # - underscore a line under the text - # - bar: the well known i-Beam - shape: "bar" - # Determines whether or not the cursor will be blinking over time. - blinking: false - # Blinking interval (in milliseconds) to use when cursor is blinking. - blinking_interval: 500 - - # vi-like normal-mode specific settings. - # Note, currently only the cursor can be customized. - normal_mode: - cursor: - shape: block - blinking: false - blinking_interval: 500 - - # vi-like visual/visual-line/visual-block mode specific settings. - # Note, currently only the cursor can be customized. - visual_mode: - cursor: - shape: block - blinking: false - blinking_interval: 500 - - # Time duration in milliseconds for which yank highlight is shown. - vi_mode_highlight_timeout: 300 - - # Configures a `scrolloff` for cursor movements in normal and visual (block) modes. - # - # Default: 8 - vi_mode_scrolloff: 8 - - status_line: - # Either none or indicator. - # This only reflects the initial state of the status line, as it can - # be changed at any time during runtime by the user or by an application. - display: none - - # Position to place the status line to, if it is to be shown. - # This can be either value `top` or value `bottom`. - # Default: bottom - position: bottom - - # Synchronize the window title with the Host Writable status_line if - # and only if the host writable status line was denied to be shown. - # Default: false - sync_to_window_title: false - - # Background configuration - background: - # Background opacity to use. A value of 1.0 means fully opaque whereas 0.0 means fully - # transparent. Only values between 0.0 and 1.0 are allowed. - opacity: 1.0 - # Some platforms can blur the transparent background (currently only Windows 10 is supported). - blur: false - - # Specifies a colorscheme to use (alternatively the colors can be inlined). - colors: "default" - - # Hyperlinks (via OSC-8) can be stylized and colorized on hover. - hyperlink_decoration: - normal: dotted - hover: underline - -# Color Profiles -# -------------- -# -# Here you can configure your color profiles, whereas a color can be expressed in standard web format, -# with a leading # followed by red/green/blue values, 7 characters in total. -# You may alternatively use 0x as prefix instead of #. -# For example 0x102030 is equal to '#102030'. -color_schemes: - default: - # Default colors - default: - # Default background color (this can be made transparent, see above). - background: "#11171d" - # Default foreground text color. - foreground: "#e3e0cd" - - # Background image support. - background_image: - # Full path to the image to use as background. - # - # Default: empty string (disabled) - # path: '/Users/trapni/Pictures/bg.png' - - # Image opacity to be applied to make the image not look to intense - # and not get too distracted by the background image. - # Default: 0.5 - opacity: 0.5 - - # Optionally blurs background image to make it less distracting - # and keep the focus on the actual terminal contents. - # - # Default: false - blur: false - - # Mandates the color of the cursor and potentially overridden text. - # - # The color can be specified in RGB as usual, plus - # - CellForeground: Selects the cell's foreground color. - # - CellBackground: Selects the cell's background color. - cursor: - # Specifies the color to be used for the actual cursor shape. - # - # Default: CellForeground - default: "#00d992" - # Specifies the color to be used for the characters that would - # be covered otherwise. - # - # Default: CellBackground - text: CellBackground - - # color to pick for hyperlinks decoration, when hovering - hyperlink_decoration: - normal: "#f0f000" - hover: "#ff0000" - - # Color to pick for vi_mode highlights. - # The value format is equivalent to how selection colors and alpha contribution is defined. - vi_mode_highlight: - foreground: CellForeground - foreground_alpha: 1.0 - background: "#ffa500" - background_alpha: 0.5 - - # Color override for the current cursor's line when in vi_mode: - # The value format is equivalent to how selection colors and alpha contribution is defined. - # To disable cursorline in vi_mode, set foreground to CellForeground and background to CellBackground. - vi_mode_cursorline: - foreground: "#ffffff" - foreground_alpha: 0.2 - background: "#808080" - background_alpha: 0.4 - - # The text selection color can be customized here. - # Leaving a value empty will default to the inverse of the content's color values. - # - # The color can be specified in RGB as usual, plus - # - CellForeground: Selects the cell's foreground color. - # - CellBackground: Selects the cell's background color. - selection: - # Specifies the color to be used for the selected text. - # - # Default: CellBackground - foreground: CellForeground - # Specifies the alpha value (between 0.0 and 1.0) the configured foreground color - # will contribute to the original color. - # - # A value of 1.0 will paint over, whereas a value of 0.5 will give - # a look of a half-transparently painted grid cell. - foreground_alpha: 1.0 - # Specifies the color to be used for the selected background. - # - # Default: CellForeground - background: "#4040f0" - # Specifies the alpha value (between 0.0 and 1.0) the configured background color - # will contribute to the original color. - # - # A value of 1.0 will paint over, whereas a value of 0.5 will give - # a look of a half-transparently painted grid cell. - background_alpha: 0.5 - - # Search match highlighting. Similar to selection highlighting. - search_highlight: - foreground: CellBackground - background: CellForeground - foreground_alpha: 1.0 - background_alpha: 1.0 - - # Search match highlighting (focused term). Similar to selection highlighting. - search_highlight_focused: - foreground: CellBackground - background: CellForeground - foreground_alpha: 1.0 - background_alpha: 1.0 - - # Coloring for the word that is highlighted due to double-clicking it. - # - # The format is similar to selection highlighting. - word_highlight_current: - foreground: CellForeground - background: "#909090" - foreground_alpha: 1.0 - background_alpha: 0.5 - - # Coloring for the word that is highlighted due to double-clicking - # another word that matches this word. - # - # The format is similar to selection highlighting. - word_highlight_other: - foreground: CellForeground - background: "#909090" - foreground_alpha: 1.0 - background_alpha: 0.5 - - # Defines the colors to be used for the Indicator status line. - # Values must be in RGB form. - indicator_statusline: - # Default: default background - foreground: "#808080" - # Default: default foreground - background: "#000000" - - # Alternate colors to be used for the indicator status line when - # this terminal is currently not in focus. - indicator_statusline_inactive: - # Default: default background - foreground: "#808080" - # Default: default foreground - background: "#000000" - - # Colors for the IME (Input Method Editor) area. - input_method_editor: - # Default: default #FFFFFF - foreground: "#FFFFFF" - # Default: default #FF0000 - background: "#FF0000" - - # Normal colors - normal: - black: "#000000" - red: "#ff0035" - green: "#85ff00" - yellow: "#ffc900" - blue: "#00a7ff" - magenta: "#cb01ff" - cyan: "#00e0ff" - white: "#f0f0f0" - - # Bright colors - bright: - black: "#000000" - red: "#ffb4af" - green: "#d2ffba" - yellow: "#ffebb7" - blue: "#b1deff" - magenta: "#edb5ff" - cyan: "#bdf4ff" - white: "#ffffff" - # Dim (faint) colors, if not set, they're automatically computed based on normal colors. - # dim: - # black: '#1d1f21' - # red: '#cc342b' - # green: '#198844' - # yellow: '#fba922' - # blue: '#3971ed' - # magenta: '#a36ac7' - # cyan: '#3971ed' - # white: '#c5c8c6' - -# Key Bindings -# ------------ -# -# In this section you can customize key bindings. -# Each array element in `input_mapping` represents one key binding, -# whereas `mods` represents an array of keyboard modifiers that must be pressed - as well as -# the `key` or `mouse` - in order to activate the corresponding action, -# -# Additionally one can filter input mappings based on special terminal modes using the `modes` option: -# - Alt : The terminal is currently in alternate screen buffer, otherwise it is in primary screen buffer. -# - AppCursor : The application key cursor mode is enabled (otherwise it's normal cursor mode). -# - AppKeypad : The application keypad mode is enabled (otherwise it's the numeric keypad mode). -# - Select : The terminal has currently an active grid cell selection (such as selected text). -# - Insert : The Insert input mode is active, that is the default and one way to test -# that the input mode is not in normal mode or any of the visual select modes. -# - Search : There is a search term currently being edited or already present. -# - Trace : The terminal is currently in trace-mode, i.e., each VT sequence can be interactively -# single-step executed using custom actions. See TraceEnter/TraceStep/TraceLeave actions. -# -# You can combine these modes by concatenating them via | and negate a single one -# by prefixing with ~. -# -# The `modes` option defaults to not filter at all (the input mappings always -# match based on modifier and key press / mouse event). -# -# `key` represents keys on your keyboard, and `mouse` represents buttons -# as well as the scroll wheel. -# -# Modifiers: -# - Alt -# - Control -# - Shift -# - Meta (this is the Windows key on Windows OS, and the Command key on OS/X, and Meta on anything else) -# -# Keys can be expressed case-insensitively symbolic: -# APOSTROPHE, ADD, BACKSLASH, COMMA, DECIMAL, DIVIDE, EQUAL, LEFT_BRACKET, -# MINUS, MULTIPLY, PERIOD, RIGHT_BRACKET, SEMICOLON, SLASH, SUBTRACT, SPACE -# Enter, Backspace, Tab, Escape, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, -# DownArrow, LeftArrow, RightArrow, UpArrow, Insert, Delete, Home, End, PageUp, PageDown, -# Numpad_NumLock, Numpad_Divide, Numpad_Multiply, Numpad_Subtract, Numpad_CapsLock, -# Numpad_Add, Numpad_Decimal, Numpad_Enter, Numpad_Equal, -# Numpad_0, Numpad_1, Numpad_2, Numpad_3, Numpad_4, -# Numpad_5, Numpad_6, Numpad_7, Numpad_8, Numpad_9 -# or in case of standard characters, just the character. -# -# Mouse buttons can be one of the following self-explanatory ones: -# Left, Middle, Right, WheelUp, WheelDown -# -# Actions: -# - CancelSelection Cancels currently active selection, if any. -# - ChangeProfile Changes the profile to the given profile `name`. -# - ClearHistoryAndReset Clears the history, performs a terminal hard reset and attempts to force a redraw of the currently running application. -# - CopyPreviousMarkRange Copies the most recent range that is delimited by vertical line marks into clipboard. -# - CopySelection Copies the current selection into the clipboard buffer. -# - DecreaseFontSize Decreases the font size by 1 pixel. -# - DecreaseOpacity Decreases the default-background opacity by 5%. -# - FocusNextSearchMatch Focuses the next search match (if any). -# - FocusPreviousSearchMatch Focuses the next previous match (if any). -# - FollowHyperlink Follows the hyperlink that is exposed via OSC 8 under the current cursor position. -# - IncreaseFontSize Increases the font size by 1 pixel. -# - IncreaseOpacity Increases the default-background opacity by 5%. -# - NewTerminal Spawns a new terminal at the current terminals current working directory. -# - NoSearchHighlight Disables current search highlighting, if anything is still highlighted due to a prior search. -# - OpenConfiguration Opens the configuration file. -# - OpenFileManager Opens the current working directory in a system file manager. -# - PasteClipboard Pastes clipboard to standard input. Pass boolean parameter 'strip' to indicate whether or not to strip repetitive whitespaces down to one and newlines to whitespaces. -# - PasteSelection Pastes current selection to standard input. -# - Quit Quits the application. -# - ReloadConfig Forces a configuration reload. -# - ResetConfig Overwrites current configuration with builtin default configuration and loads it. Attention, all your current configuration will be lost due to overwrite! -# - ResetFontSize Resets font size to what is configured in the config file. -# - ScreenshotVT Takes a screenshot in form of VT escape sequences. -# - ScrollDown Scrolls down by the multiplier factor. -# - ScrollMarkDown Scrolls one mark down (if none present, bottom of the screen) -# - ScrollMarkUp Scrolls one mark up -# - ScrollOneDown Scrolls down by exactly one line. -# - ScrollOneUp Scrolls up by exactly one line. -# - ScrollPageDown Scrolls a page down. -# - ScrollPageUp Scrolls a page up. -# - ScrollToBottom Scrolls to the bottom of the screen buffer. -# - ScrollToTop Scrolls to the top of the screen buffer. -# - ScrollUp Scrolls up by the multiplier factor. -# - SearchReverse Initiates search mode (starting to search at current cursor position, moving upwards). -# - SendChars Writes given characters in `chars` member to the applications input. -# - ToggleAllKeyMaps Disables/enables responding to all keybinds (this keybind will be preserved when disabling all others). -# - ToggleFullScreen Enables/disables full screen mode. -# - ToggleInputProtection Enables/disables terminal input protection. -# - ToggleStatusLine Shows/hides the VT320 compatible Indicator status line. -# - ToggleTitleBar Shows/Hides titlebar -# - TraceBreakAtEmptyQueue Executes any pending VT sequence from the VT sequence buffer in trace mode, then waits. -# - TraceEnter Enables trace mode, suspending execution until explicitly requested to continue (See TraceLeave and TraceStep). -# - TraceLeave Disables trace mode. Any pending VT sequence will be flushed out and normal execution will be resumed. -# - TraceStep Executes a single VT sequence that is to be executed next. -# - ViNormalMode Enters/Leaves Vi-like normal mode. The cursor can then be moved via h/j/k/l movements in normal mode and text can be selected via v, yanked via y, and clipboard pasted via p. -# - WriteScreen Writes VT sequence in `chars` member to the screen (bypassing the application). - -input_mapping: - - { mods: [Control], mouse: Left, action: FollowHyperlink } - - { mods: [], mouse: Middle, action: PasteSelection } - - { mods: [], mouse: WheelDown, action: ScrollDown } - - { mods: [], mouse: WheelUp, action: ScrollUp } - - { mods: [Alt], key: Enter, action: ToggleFullscreen } - - { mods: [Alt], mouse: WheelDown, action: DecreaseOpacity } - - { mods: [Alt], mouse: WheelUp, action: IncreaseOpacity } - - { mods: [Control, Alt], key: S, action: ScreenshotVT } - - { mods: [Control, Shift], key: Plus, action: IncreaseFontSize } - - { mods: [Control], key: "0", action: ResetFontSize } - - { mods: [Control, Shift], key: Minus, action: DecreaseFontSize } - - { mods: [Control, Shift], key: "_", action: DecreaseFontSize } - - { mods: [Control, Shift], key: N, action: NewTerminal } - - { mods: [Control, Shift], key: V, action: PasteClipboard, strip: false } - - { mods: [Control, Alt], key: V, action: PasteClipboard, strip: true } - - { mods: [Control], key: C, action: CopySelection, mode: "Select|Insert" } - - { mods: [Control], key: C, action: CancelSelection, mode: "Select|Insert" } - - { - mods: [Control], - key: V, - action: PasteClipboard, - strip: false, - mode: "Select|Insert", - } - - { mods: [Control], key: V, action: CancelSelection, mode: "Select|Insert" } - - { mods: [], key: Escape, action: CancelSelection, mode: "Select|Insert" } - - { mods: [Control, Shift], key: Space, action: ViNormalMode, mode: "Insert" } - - { mods: [Control, Shift], key: Comma, action: OpenConfiguration } - - { mods: [Control, Shift], key: Q, action: Quit } - - { mods: [Control], mouse: WheelDown, action: DecreaseFontSize } - - { mods: [Control], mouse: WheelUp, action: IncreaseFontSize } - - { mods: [Shift], key: DownArrow, action: ScrollOneDown } - - { mods: [Shift], key: End, action: ScrollToBottom } - - { mods: [Shift], key: Home, action: ScrollToTop } - - { mods: [Shift], key: PageDown, action: ScrollPageDown } - - { mods: [Shift], key: PageUp, action: ScrollPageUp } - - { mods: [Shift], key: UpArrow, action: ScrollOneUp } - - { mods: [Control, Alt], key: K, action: ScrollMarkUp, mode: "~Alt" } - - { mods: [Control, Alt], key: J, action: ScrollMarkDown, mode: "~Alt" } - - { mods: [Shift], mouse: WheelDown, action: ScrollPageDown } - - { mods: [Shift], mouse: WheelUp, action: ScrollPageUp } - - { mods: [Control, Alt], key: O, action: OpenFileManager } - - { mods: [Control, Alt], key: ".", action: ToggleStatusLine } - - { mods: [Control, Shift], key: "F", action: SearchReverse } - - { mods: [Control, Shift], key: "H", action: NoSearchHighlight } - - { mods: [], key: "F3", action: FocusNextSearchMatch } - - { mods: [Shift], key: "F3", action: FocusPreviousSearchMatch } -# - { mods: [Control, Meta], key: 'E', action: TraceEnter, mode: "~Trace" } -# - { mods: [Control, Meta], key: 'E', action: TraceLeave, mode: "Trace" } -# - { mods: [Control, Meta], key: 'N', action: TraceStep, mode: "Trace" } -# - { mods: [Control, Meta], key: 'F', action: TraceBreakAtEmptyQueue, mode: "Trace" } diff --git a/.config/efm-langserver/config.yaml b/.config/efm-langserver/config.yaml deleted file mode 100644 index a7b4c56..0000000 --- a/.config/efm-langserver/config.yaml +++ /dev/null @@ -1,14 +0,0 @@ -version: 2 -root-markers: -- .git/ - -tools: - clang-format: &clang-format - format-command: 'clang-format -style="{BasedOnStyle: Google, IndentWidth: 2, AlignConsecutiveDeclarations: true, AlignConsecutiveAssignments: true, ColumnLimit: 0}"' - format-stdin: true - -languages: - proto: - - <<: *clang-format - - diff --git a/.config/environment.d/difftastic.conf b/.config/environment.d/difftastic.conf deleted file mode 100644 index b58731b..0000000 --- a/.config/environment.d/difftastic.conf +++ /dev/null @@ -1 +0,0 @@ -DFT_BACKGROUND=light diff --git a/.config/environment.d/docker.conf b/.config/environment.d/docker.conf deleted file mode 100644 index 1747f14..0000000 --- a/.config/environment.d/docker.conf +++ /dev/null @@ -1 +0,0 @@ -DOCKER_HOST=unix://${XDG_RUNTIME_DIR}/podman/podman.sock diff --git a/.config/environment.d/golang.conf b/.config/environment.d/golang.conf deleted file mode 100644 index ecea26b..0000000 --- a/.config/environment.d/golang.conf +++ /dev/null @@ -1 +0,0 @@ -GOPROXY=https://athens.aarn.shelman.io diff --git a/.config/environment.d/mozilla.conf b/.config/environment.d/mozilla.conf deleted file mode 100644 index e165145..0000000 --- a/.config/environment.d/mozilla.conf +++ /dev/null @@ -1,2 +0,0 @@ -MOZ_ENABLE_WAYLAND=1 -MOZ_DISABLE_RDD_SANDBOX=1 diff --git a/.config/environment.d/otel.conf b/.config/environment.d/otel.conf deleted file mode 100644 index 08d9968..0000000 --- a/.config/environment.d/otel.conf +++ /dev/null @@ -1,3 +0,0 @@ -OTEL_EXPORTER_OTLP_ENDPOINT=https://otel.aarn.shelman.io -OTEL_RESOURCE_ATTRIBUTES=instance=dln-dev -OTEL_LOG_LEVEL=debug diff --git a/.config/environment.d/ssh.conf b/.config/environment.d/ssh.conf deleted file mode 100644 index cae7205..0000000 --- a/.config/environment.d/ssh.conf +++ /dev/null @@ -1 +0,0 @@ -SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gcr/ssh diff --git a/.config/fish/conf.d/abbr.fish b/.config/fish/conf.d/abbr.fish deleted file mode 100644 index 0eaf442..0000000 --- a/.config/fish/conf.d/abbr.fish +++ /dev/null @@ -1,6 +0,0 @@ -abbr --add b git branch -va -abbr --add d git diff --stat -p -C --color-words -abbr --add new git checkout --detach main -abbr --add s git status -sb -abbr --add sl git branchless smartlog -abbr --add sw git branchless switch --interactive diff --git a/.config/fish/conf.d/aliases.fish b/.config/fish/conf.d/aliases.fish deleted file mode 100644 index d2d3ddb..0000000 --- a/.config/fish/conf.d/aliases.fish +++ /dev/null @@ -1,10 +0,0 @@ -alias e='wezterm-edit-helper' -alias dotgit='git --work-tree $HOME --git-dir $HOME/.dot_git' -alias git='git-branchless wrap --' -alias l='bat --wrap=never --pager="less -S"' -alias ls=eza -alias tail='tail -n $LINES' -alias timestamp='TZ=Z date "+%Y%m%dT%H%M%SZ"' -alias top='btm --basic --enable_cache_memory --enable_gpu_memory --battery' -alias w="history -1 | sed -e 's/[0-9]* //' | xargs viddy -n1" -alias xc=fish_clipboard_copy diff --git a/.config/fish/conf.d/prompt.fish b/.config/fish/conf.d/prompt.fish deleted file mode 100644 index c246201..0000000 --- a/.config/fish/conf.d/prompt.fish +++ /dev/null @@ -1,91 +0,0 @@ -function fish_prompt - switch "$fish_key_bindings" - case fish_hybrid_key_bindings fish_vi_key_bindings - set STARSHIP_KEYMAP "$fish_bind_mode" - case '*' - set STARSHIP_KEYMAP insert - end - set STARSHIP_CMD_PIPESTATUS $pipestatus - set STARSHIP_CMD_STATUS $status - # Account for changes in variable name between v2.7 and v3.0 - set STARSHIP_DURATION "$CMD_DURATION$cmd_duration" - set STARSHIP_JOBS (count (jobs -p)) - if test "$TRANSIENT" = 1 - # Clear from cursor to end of screen as `commandline -f repaint` does not do this - # See https://github.com/fish-shell/fish-shell/issues/8418 - printf \e\[0J - if type -q starship_transient_prompt_func - starship_transient_prompt_func - else - printf "\n\e[1;32m%%\e[0m " - end - else - starship prompt --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS - end -end - -function fish_right_prompt - switch "$fish_key_bindings" - case fish_hybrid_key_bindings fish_vi_key_bindings - set STARSHIP_KEYMAP "$fish_bind_mode" - case '*' - set STARSHIP_KEYMAP insert - end - set STARSHIP_CMD_PIPESTATUS $pipestatus - set STARSHIP_CMD_STATUS $status - # Account for changes in variable name between v2.7 and v3.0 - set STARSHIP_DURATION "$CMD_DURATION$cmd_duration" - set STARSHIP_JOBS (count (jobs -p)) - if test "$TRANSIENT" = 1 - if type -q starship_transient_rprompt_func - starship_transient_rprompt_func - else - printf "" - end - else - starship prompt --right --terminal-width="$COLUMNS" --status=$STARSHIP_CMD_STATUS --pipestatus="$STARSHIP_CMD_PIPESTATUS" --keymap=$STARSHIP_KEYMAP --cmd-duration=$STARSHIP_DURATION --jobs=$STARSHIP_JOBS - end -end - -# Disable virtualenv prompt, it breaks starship -set -g VIRTUAL_ENV_DISABLE_PROMPT 1 - -# Remove default mode prompt -builtin functions -e fish_mode_prompt - -set -gx STARSHIP_SHELL fish - -# Transience related functions -function reset-transient --on-event fish_postexec - set -g TRANSIENT 0 -end - -function transient_execute - if commandline --is-valid - set -g TRANSIENT 1 - commandline -f repaint - else - set -g TRANSIENT 0 - end - commandline -f execute -end - -# --user is the default, but listed anyway to make it explicit. -function enable_transience --description 'enable transient prompt keybindings' - bind --user \r transient_execute - bind --user -M insert \r transient_execute -end - -# Erase the transient prompt related key bindings. -# --user is the default, but listed anyway to make it explicit. -# Erasing a user binding will revert to the preset. -function disable_transience --description 'remove transient prompt keybindings' - bind --user -e \r - bind --user -M insert -e \r -end - -# Set up the session key that will be used to store logs -# We don't use `random [min] [max]` because it is unavailable in older versions of fish shell -set -gx STARSHIP_SESSION_KEY (string sub -s1 -l16 (random)(random)(random)(random)(random)0000000000000000) - -enable_transience diff --git a/.config/fish/conf.d/semantic-prompt.fish b/.config/fish/conf.d/semantic-prompt.fish deleted file mode 100644 index 23947c4..0000000 --- a/.config/fish/conf.d/semantic-prompt.fish +++ /dev/null @@ -1,56 +0,0 @@ -# SPDX-License-Identifier: CC0-1.0 -if status --is-interactive - set _fishprompt_aid "fish"$fish_pid - set _fishprompt_started 0 - # empty if running; or a numeric exit code; or CANCEL - set _fishprompt_postexec "" - - functions -c fish_prompt _fishprompt_saved_prompt - set _fishprompt_prompt_count 0 - set _fishprompt_disp_count 0 - function _fishprompt_start --on-event fish_prompt - set _fishprompt_prompt_count (math $_fishprompt_prompt_count + 1) - # don't use post-exec, because it is called *before* omitted-newline output - if [ -n "$_fishprompt_postexec" ] - printf "\033]133;D;%s;aid=%s\007" "$_fishprompt_postexec" $_fishprompt_aid - end - printf "\033]133;A;aid=%s;cl=m\007" $_fishprompt_aid - end - - function fish_prompt - set _fishprompt_disp_count (math $_fishprompt_disp_count + 1) - printf "\033]133;P;k=i\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_prompt)) - set _fishprompt_started 1 - set _fishprompt_postexec "" - end - - function _fishprompt_preexec --on-event fish_preexec - if [ "$_fishprompt_started" = 1 ] - printf "\033]133;C;\007" - end - set _fishprompt_started 0 - end - - function _fishprompt_postexec --on-event fish_postexec - set _fishprompt_postexec $status - _fishprompt_start - end - - function __fishprompt_cancel --on-event fish_cancel - set _fishprompt_postexec CANCEL - _fishprompt_start - end - - function _fishprompt_exit --on-process %self - if [ "$_fishprompt_started" = 1 ] - printf "\033]133;Z;aid=%s\007" $_fishprompt_aid - end - end - - if functions -q fish_right_prompt - functions -c fish_right_prompt _fishprompt_saved_right_prompt - function fish_right_prompt - printf "\033]133;P;k=r\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_right_prompt)) - end - end -end diff --git a/.config/fish/conf.d/task.fish b/.config/fish/conf.d/task.fish deleted file mode 100644 index ee2d0a5..0000000 --- a/.config/fish/conf.d/task.fish +++ /dev/null @@ -1,37 +0,0 @@ -set GO_TASK_PROGNAME task - -function __task_get_tasks --description "Prints all available tasks with their description" - # Read the list of tasks (and potential errors) - $GO_TASK_PROGNAME --list-all 2>&1 | read -lz rawOutput - - # Return on non-zero exit code (for cases when there is no Taskfile found or etc.) - if test $status -ne 0 - return - end - - # Grab names and descriptions (if any) of the tasks - set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) - if test $output - echo $output - end -end - -complete -c $GO_TASK_PROGNAME -d 'Runs the specified task(s). Falls back to the "default" task if no task name was specified, or lists all tasks if an unknown task name was -specified.' -xa "(__task_get_tasks)" - -complete -c $GO_TASK_PROGNAME -s c -l color -d 'colored output (default true)' -complete -c $GO_TASK_PROGNAME -s d -l dir -d 'sets directory of execution' -complete -c $GO_TASK_PROGNAME -l dry -d 'compiles and prints tasks in the order that they would be run, without executing them' -complete -c $GO_TASK_PROGNAME -s f -l force -d 'forces execution even when the task is up-to-date' -complete -c $GO_TASK_PROGNAME -s h -l help -d 'shows Task usage' -complete -c $GO_TASK_PROGNAME -s i -l init -d 'creates a new Taskfile.yml in the current folder' -complete -c $GO_TASK_PROGNAME -s l -l list -d 'lists tasks with description of current Taskfile' -complete -c $GO_TASK_PROGNAME -s o -l output -d 'sets output style: [interleaved|group|prefixed]' -xa "interleaved group prefixed" -complete -c $GO_TASK_PROGNAME -s p -l parallel -d 'executes tasks provided on command line in parallel' -complete -c $GO_TASK_PROGNAME -s s -l silent -d 'disables echoing' -complete -c $GO_TASK_PROGNAME -l status -d 'exits with non-zero exit code if any of the given tasks is not up-to-date' -complete -c $GO_TASK_PROGNAME -l summary -d 'show summary about a task' -complete -c $GO_TASK_PROGNAME -s t -l taskfile -d 'choose which Taskfile to run. Defaults to "Taskfile.yml"' -complete -c $GO_TASK_PROGNAME -s v -l verbose -d 'enables verbose mode' -complete -c $GO_TASK_PROGNAME -l version -d 'show Task version' -complete -c $GO_TASK_PROGNAME -s w -l watch -d 'enables watch of the given task' diff --git a/.config/fish/conf.d/zoxide.fish b/.config/fish/conf.d/zoxide.fish deleted file mode 100644 index fa10e76..0000000 --- a/.config/fish/conf.d/zoxide.fish +++ /dev/null @@ -1,100 +0,0 @@ -# ============================================================================= -# -# Utility functions for zoxide. -# - -# pwd based on the value of _ZO_RESOLVE_SYMLINKS. -function __zoxide_pwd - builtin pwd -L -end - -# A copy of fish's internal cd function. This makes it possible to use -# `alias cd=z` without causing an infinite loop. -if ! builtin functions --query __zoxide_cd_internal - if builtin functions --query cd - builtin functions --copy cd __zoxide_cd_internal - else - alias __zoxide_cd_internal='builtin cd' - end -end - -# cd + custom logic based on the value of _ZO_ECHO. -function __zoxide_cd - __zoxide_cd_internal $argv -end - -# ============================================================================= -# -# Hook configuration for zoxide. -# - -# Initialize hook to add new entries to the database. -function __zoxide_hook --on-variable PWD - test -z "$fish_private_mode" - and command zoxide add -- (__zoxide_pwd) -end - -# ============================================================================= -# -# When using zoxide with --no-cmd, alias these internal functions as desired. -# - -if test -z $__zoxide_z_prefix - set __zoxide_z_prefix 'z!' -end -set __zoxide_z_prefix_regex ^(string escape --style=regex $__zoxide_z_prefix) - -# Jump to a directory using only keywords. -function __zoxide_z - set -l argc (count $argv) - if test $argc -eq 0 - __zoxide_cd $HOME - else if test "$argv" = - - __zoxide_cd - - else if test $argc -eq 1 -a -d $argv[1] - __zoxide_cd $argv[1] - else if set -l result (string replace --regex $__zoxide_z_prefix_regex '' $argv[-1]); and test -n $result - __zoxide_cd $result - else - set -l result (command zoxide query --exclude (__zoxide_pwd) -- $argv) - and __zoxide_cd $result - end -end - -# Completions. -function __zoxide_z_complete - set -l tokens (commandline --current-process --tokenize) - set -l curr_tokens (commandline --cut-at-cursor --current-process --tokenize) - - if test (count $tokens) -le 2 -a (count $curr_tokens) -eq 1 - # If there are < 2 arguments, use `cd` completions. - complete --do-complete "'' "(commandline --cut-at-cursor --current-token) | string match --regex '.*/$' - else if test (count $tokens) -eq (count $curr_tokens); and ! string match --quiet --regex $__zoxide_z_prefix_regex. $tokens[-1] - # If the last argument is empty and the one before doesn't start with - # $__zoxide_z_prefix, use interactive selection. - set -l query $tokens[2..-1] - set -l result (zoxide query --exclude (__zoxide_pwd) --interactive -- $query) - and echo $__zoxide_z_prefix$result - commandline --function repaint - end -end -complete --command __zoxide_z --no-files --arguments '(__zoxide_z_complete)' - -# Jump to a directory using interactive search. -function __zoxide_zi - set -l result (command zoxide query --interactive -- $argv) - and __zoxide_cd $result -end - -# ============================================================================= -# -# Commands for zoxide. Disable these using --no-cmd. -# - -abbr --erase cd &>/dev/null -alias cd=__zoxide_z - -abbr --erase cdi &>/dev/null -alias cdi=__zoxide_zi - -set -gx _ZO_EXCLUDE_DIRS "$HOME/media:$HOME/media/*" diff --git a/.config/fish/config.fish b/.config/fish/config.fish deleted file mode 100644 index 00991a5..0000000 --- a/.config/fish/config.fish +++ /dev/null @@ -1,71 +0,0 @@ -set fish_greeting -set fish_emoji_width 2 - -fish_add_path $HOME/.cargo/bin -fish_add_path $HOME/bin - -if status is-interactive - - ## Pager - set -gx LESS "--mouse --wheel-lines=1 -nRXF" - set -gx LESSCOLORIZER bat - set -gx LESSOPEN "|lesspipe.sh %s" - set -gx PAGER bat - set -gx BAT_PAGER "less -r" - - ## OpenTelemetry - set -gx OTEL_EXPORTER_OTLP_ENDPOINT https://otel.aarn.shelman.io - set -gx OTEL_RESOURCE_ATTRIBUTES instance=dln-dev - set -gx OTEL_LOG_LEVEL debug - - ## Utilities - - set -gx EDITOR (which nvim) - set -gx VISUAL $EDITOR - set -gx SUDO_EDITOR $EDITOR - - function tree - eza --tree --color=always $argv | bat --wrap=never - end - - bind \cg __zoxide_zi - - function git_jump - set _dir $(git rev-parse --show-toplevel 2>/dev/null || pwd) - if [ "$_dir" = "$PWD" ] - #set _dir $(br -f --conf ~/.config/broot/select.hjson) - set _dir $(br -f --conf "$HOME/.config/broot/conf.hjson") - end - [ -n "$_dir" ] && pushd $_dir >>/dev/null - commandline -f repaint - end - bind \c_ git_jump - - function git_broot - br $(git rev-parse --show-toplevel 2>/dev/null || pwd) - commandline -f repaint - end - - bind \ee git_broot - bind \eg gitui - - - ## Kubernetes - fish_add_path $HOME/.krew/bin - # function kubectl --wraps kubectl - # command kubecolor $argv - # end - - ## History - - # FIXME: how to use autin history for these? - bind \cn history-prefix-search-forward - bind \cp history-prefix-search-backward - # bind \cP _atuin_bind_up - bind \cJ forward-char - - atuin init fish | source -end - -## Direnv -direnv hook fish | source diff --git a/.config/fish/fish_variables b/.config/fish/fish_variables deleted file mode 100644 index 10b98ea..0000000 --- a/.config/fish/fish_variables +++ /dev/null @@ -1,48 +0,0 @@ -# This file contains fish universal variable definitions. -# VERSION: 3.0 -SETUVAR __fish_initialized:3400 -SETUVAR fish_color_autosuggestion:\x2d\x2ditalics\x1e\x2d\x2dbold\x1ered -SETUVAR fish_color_cancel:\x1d -SETUVAR fish_color_command:\x2d\x2dbold -SETUVAR fish_color_comment:\x2d\x2ditalic\x1e\x2d\x2ddim -SETUVAR fish_color_cwd:normal -SETUVAR fish_color_cwd_root:normal -SETUVAR fish_color_end:\x1d -SETUVAR fish_color_error:\x1d -SETUVAR fish_color_escape:\x1d -SETUVAR fish_color_gray:6c7086 -SETUVAR fish_color_history_current:\x1d -SETUVAR fish_color_host:normal -SETUVAR fish_color_host_remote:yellow -SETUVAR fish_color_keyword:\x1d -SETUVAR fish_color_match:\x1d -SETUVAR fish_color_normal:normal -SETUVAR fish_color_operator:\x1d -SETUVAR fish_color_option:\x1d -SETUVAR fish_color_param:normal -SETUVAR fish_color_quote:\x2d\x2ditalics -SETUVAR fish_color_redirection:\x1d -SETUVAR fish_color_search_match:\x2dr -SETUVAR fish_color_selection:\x2dr -SETUVAR fish_color_status:normal -SETUVAR fish_color_string:\x2d\x2ditalics -SETUVAR fish_color_user:normal -SETUVAR fish_color_valid_path:\x1d -SETUVAR fish_cursor_default:line -SETUVAR fish_cursor_normal:line -SETUVAR fish_key_bindings:fish_default_key_bindings -SETUVAR fish_pager_color_background:\x1d -SETUVAR fish_pager_color_completion:normal -SETUVAR fish_pager_color_description:brblack -SETUVAR fish_pager_color_prefix:\x2d\x2dunderline -SETUVAR fish_pager_color_progress:brblack -SETUVAR fish_pager_color_secondary_background:\x1d -SETUVAR fish_pager_color_secondary_completion:\x1d -SETUVAR fish_pager_color_secondary_description:\x1d -SETUVAR fish_pager_color_secondary_prefix:\x1d -SETUVAR fish_pager_color_selected_background:\x2dr -SETUVAR fish_pager_color_selected_completion:\x1d -SETUVAR fish_pager_color_selected_description:\x1d -SETUVAR fish_pager_color_selected_prefix:\x1d -SETUVAR fish_user_paths:/home/dln/\x2enix\x2dprofile/bin\x1e/home/dln/\x2ekrew/bin\x1e/home/dln/bin\x1e/home/dln/\x2ecargo/bin -SETUVAR --export theme:Catppuccin\x20Latte diff --git a/.config/fish/themes/Catppuccin Mocha.theme b/.config/fish/themes/Catppuccin Mocha.theme deleted file mode 100644 index 104281b..0000000 --- a/.config/fish/themes/Catppuccin Mocha.theme +++ /dev/null @@ -1,30 +0,0 @@ -# name: 'Catppuccin mocha' -# url: 'https://github.com/catppuccin/fish' -# preferred_background: 1e1e2e - -fish_color_normal cdd6f4 -fish_color_command 89b4fa -fish_color_param f2cdcd -fish_color_keyword f38ba8 -fish_color_quote a6e3a1 -fish_color_redirection f5c2e7 -fish_color_end fab387 -fish_color_comment 7f849c --italics --dim -fish_color_error f38ba8 -fish_color_gray 6c7086 -fish_color_selection --background=313244 -fish_color_search_match --background=313244 -fish_color_option a6e3a1 -fish_color_operator f5c2e7 -fish_color_escape eba0ac -fish_color_autosuggestion 6c7086 -fish_color_cancel f38ba8 -fish_color_cwd f9e2af -fish_color_user 94e2d5 -fish_color_host 89b4fa -fish_color_host_remote a6e3a1 -fish_color_status f38ba8 -fish_pager_color_progress 6c7086 -fish_pager_color_prefix f5c2e7 -fish_pager_color_completion cdd6f4 -fish_pager_color_description 6c7086 diff --git a/.config/git/allowed_signers b/.config/git/allowed_signers deleted file mode 100644 index 42c52d6..0000000 --- a/.config/git/allowed_signers +++ /dev/null @@ -1,3 +0,0 @@ -dln@arity.se sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= -daniel@arity.se sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= -dln@shelman.io sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFtd5SEEgKWzR6617GqxhSIi//4Afq7iRP0ny6fbwU7kAAAABHNzaDo= diff --git a/.config/git/signing-key.sh b/.config/git/signing-key.sh deleted file mode 100755 index aed9246..0000000 --- a/.config/git/signing-key.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -set -euo pipefail -ssh-add -L | awk '/^sk-ssh/ { print "key::" $1 " " $2 }' diff --git a/.config/helix/config.toml b/.config/helix/config.toml deleted file mode 100644 index c789a38..0000000 --- a/.config/helix/config.toml +++ /dev/null @@ -1,52 +0,0 @@ -theme = "sumi-e" -# theme = "github_light" - -[editor] -true-color = true -undercurl = true -cursorline = true -color-modes = true -auto-pairs = false -popup-border = "all" -rulers = [80] -gutters = ["diagnostics", "line-numbers", "spacer", "diff", "spacer"] - -[editor.cursor-shape] -insert = "bar" -normal = "block" -select = "underline" - -[editor.indent-guides] -character = "│" # "╎" -render = true -skip-levels = 1 - -[editor.statusline] -separator = "│" -mode.normal = " " -mode.insert = " " -mode.select = " " -left = ["spinner", "mode", "diagnostics"] -center = ["file-name", "file-encoding"] -right = ["version-control", "separator", "selections", "register", "separator", "position"] - -[editor.lsp] -display-inlay-hints = true -display-messages = true - -[keys.normal] -backspace = "delete_char_backward" -C-h = "delete_char_backward" -C = ["select_mode", "goto_line_end", "normal_mode", "change_selection_noyank"] -H = ":toggle lsp.display-inlay-hints" -Z = { Z = ":write-quit-all" } -esc = ["keep_primary_selection", "collapse_selection"] -"`" = ["goto_last_accessed_file"] -tab = ["buffer_picker"] -C-r = ":config-reload" -C-f = [":new", ":insert-output lf -selection-path=/dev/stdout", "split_selection_on_newline", "goto_file", "goto_last_modification", "goto_last_modified_file", ":buffer-close!", ":redraw"] -V = ["goto_first_nonwhitespace", "extend_to_line_end"] -x = "extend_line" - -[keys.select] -x = "extend_line" diff --git a/.config/helix/languages.toml b/.config/helix/languages.toml deleted file mode 100644 index 1193075..0000000 --- a/.config/helix/languages.toml +++ /dev/null @@ -1,46 +0,0 @@ -[[language]] -name = "rust" -auto-format = true -roots = [ - "Cargo.toml", - "Cargo.lock" -] -language-servers = [ - "rust-analyzer", - "gpt", -] - -[[language]] -name = "go" -language-servers = [ - "gopls", - "gpt", -] - -[language.auto-pairs] -'(' = ')' -'{' = '}' -'[' = ']' -'"' = '"' -'`' = '`' - -[language-server.rust-analyzer] -command = "rust-analyzer" - -[language-server.rust-analyzer.config.inlayHints] -bindingModeHints.enable = false -chainingHints.enable = false -# closingBraceHints.enable = false -closingBraceHints.minLines = 10 -closureReturnTypeHints.enable = "with_block" -# discriminantHints.enable = "fieldless" -discriminantHints.enable = "always" -lifetimeElisionHints.enable = "skip_trivial" -parameterHints.enable = true -typeHints.enable = true -typeHints.hideClosureInitialization = false - -[language-server.gpt] -command = "helix-gpt" -args = ["--handler", "copilot", "--logFile", "/home/dln/.cache/helix/helix-gpt.log"] - diff --git a/.config/helix/themes/sumi-e.toml b/.config/helix/themes/sumi-e.toml deleted file mode 100644 index d7a73c7..0000000 --- a/.config/helix/themes/sumi-e.toml +++ /dev/null @@ -1,193 +0,0 @@ - -# GENERAL ============================== - -warning = { fg = "#ff7700", bg = "#221100", modifierd = [ "italic" ] } -error = { fg = "#ff0038", bg = "#220000", modifiers = [ "italic" ] } -hint = { fg = "#00d992", bg = "#002211", modifierd = [ "italic" ] } -info = { fg = "#ffcc00", bg = "#222200", modifiers = ["italic"] } -diagnostic = { fg = "#c49848"} -"diagnostic.info" = { underline = { color = "#ffcc00", style = "curl" } } -"diagnostic.hint" = { fg = "#00d992", underline = { color = "#00d992", style = "curl" } } -"diagnostic.warning" = { fg = "#ff7700", underline = { color = "#ff7700", style = "curl" } } -"diagnostic.error" = { fg = "#ff0038", underline = { color = "#ff0038", style = "curl" } } -"diagnostic.unnecessary" = { fg = "#ffcc00", modifiers = ["dim", "italic"], underline = { style = "curl" } } -"diagnostic.deprecated" = { modifiers = ["crossed_out"] } - - -# UI ============================== -# For styling helix itself. - -'ui.background' = { bg="background" } -'ui.background.separator' = { fg="#00a171" } -'ui.window' = { bg="#224466" } -'ui.gutter' = { bg="#11171d" } - -'ui.text' = { fg = "#cccccc" } -'ui.text.focus' = { bg = "#294467" } -'ui.text.info' = { } - -'ui.cursor' = { bg = "#00a171", fg = "#000000" } -'ui.cursor.primary' = { bg ="#23fdb6", fg = "#000000" } -'ui.cursor.insert' = { fg = "#ff0000" } -'ui.cursor.select' = { fg = "#3399ff" } -'ui.cursor.match' = { fg = "#000000", bg = "#ffd54f" } -'ui.cursorline.primary' = { bg = "#141b23" } - -'ui.selection' = { bg = "#294467" } -'ui.selection.primary' = { bg = "#294467" } - -'ui.linenr' = { fg = "#374351", modifiers = [ "bold", "italic" ] } -'ui.linenr.selected' = { fg = "#617d9d", bg = "#14202e" } - -'ui.virtual' = { } -"ui.virtual.indent-guide" = { fg = "#273341" } -"ui.virtual.inlay-hint" = { fg = "#51a0cf", modifiers = ["italic", "bold"] } -'ui.virtual.ruler' = { bg = "#11171d" } -'ui.virtual.whitespace' = { } -'ui.virtual.wrap' = { fg = "#ffd54f" } -"ui.virtual.jump-label" = { fg = "#96ffe6", bg = "#051e33", modifiers = ["bold", "italic"] } - -# 'ui.statusline' = { bg = "#151920", fg = "#4d5a6c" } -'ui.statusline' = { bg = "#11171d", fg = "#637184", modifiers = ["italic", "bold"] } -'ui.statusline.inactive' = { } -"ui.statusline.normal" = { } -"ui.statusline.insert" = { fg = "#d7b640" } -"ui.statusline.select" = { fg = "#3dc9ff" } - -'ui.help' = { } - -'ui.highlight' = { bg="#224466" } -"ui.highlight.frameline" = { } - -'ui.menu' = { bg = "#242d38", fg="#bfd5e2" } -'ui.menu.selected' = { bg = "#135d7e" } - -'ui.popup' = { bg = "#253d6b", fg="#b2c6e9" } -'ui.popup.info' = { } - - -# SYNTAX HIGHLIGHTING ============================== -# All the keys here are Treesitter scopes. - -'property' = { } -'special' = { fg="#ffecd3" } -'attribute' = { } - -'type' = { } -'type.builtin' = { } -'type.enum.variant' = { } - -'constructor' = { } - -'constant' = { } -'constant.builtin' = { } -'constant.builtin.boolean' = { } -'constant.character' = { } -'constant.character.escape' = { } -'constant.numeric' = { } -'constant.numeric.integer' = { } -'constant.numeric.float' = { } - -'string' = { fg="#88ab8a", modifiers=["italic"] } -'string.regexp' = { } -'string.special' = { } -'string.special.path' = { } -'string.special.url' = { } -'string.special.symbol' = { } - -'comment' = { fg = "#e57373", modifiers = ["bold", "italic"] } -'comment.line' = { } -'comment.block' = { } -'comment.block.documentation' = { } - -'variable' = { fg="#999999", modifiers = [ "italic" ] } -# 'variable.builtin' = { } -'variable.parameter' = { fg = "#eeccaa", modifiers = [ "italic" ] } -# 'variable.other.member' = { } - -'label' = { } - -'punctuation' = { fg = "#b0bec5" } -'punctuation.delimiter' = { fg = "#b0bec5" } -'punctuation.bracket' = { fg = "#b0bec5" } - -'keyword' = { fg = "#d5d5d5" } -# 'keyword.control' = { } -# 'keyword.control.conditional' = { } -# 'keyword.control.repeat' = { } -# 'keyword.control.import' = { } -# 'keyword.control.return' = { } -# 'keyword.control.exception' = { } -# 'keyword.operator' = { } -# 'keyword.directive' = { } -# 'keyword.function' = { } - -'operator' = { } - -'function' = { fg = "#f7f7f7" } -'function.builtin' = { } -'function.method' = { } -'function.macro' = { } -'function.special' = { } - -'tag' = { } -'tag.error' = { } - -'namespace' = { fg = "#b0bec5" } - - -# Markup ============================== -# Colors for markup languages, like Markdown or XML. - -'markup.heading.1' = { } -'markup.heading.2' = { } -'markup.heading.3' = { } -'markup.heading.4' = { } -'markup.heading.5' = { } -'markup.heading.6' = { } -'markup.heading.marker' = { } - -'markup.list' = { } -'markup.list.numbered' = { } -'markup.list.unnumbered' = { } - -'markup.bold' = { } -'markup.italic' = { } - -'markup.link' = { } -'markup.link.url' = { } -'markup.link.label' = { } -'markup.link.text' = { } - -'markup.quote' = { } - - -# Markup - Interface ============================== -# "These scopes are used for theming the editor interface." - -'markup.normal' = { } -'markup.normal.completion' = { } -'markup.normal.raw' = { } - -'markup.heading.completion' = { } -'markup.heading.raw' = { } - -'markup.raw' = { } -'markup.raw.block' = { } -'markup.raw.inline' = { } -'markup.raw.inline.completion' = { } -'markup.raw.inline.hover' = { } - -# Diff ============================== -# Version control changes. - -'diff.plus' = { fg = "#678350" } -'diff.minus' = { fg = "#ff0038" } -'diff.delta' = { fg = "#897a21" } -'diff.delta.gutter' = { fg = "#ffff00" } -# 'diff.delta.moved' = { } - - -[palette] # Define your custom colors here. -white = '#ffffff' - diff --git a/.config/k9s/config.yaml b/.config/k9s/config.yaml deleted file mode 100644 index f80e58d..0000000 --- a/.config/k9s/config.yaml +++ /dev/null @@ -1,42 +0,0 @@ -k9s: - liveViewAutoRefresh: false - screenDumpDir: /home/dln/.local/state/k9s/screen-dumps - refreshRate: 2 - maxConnRetry: 5 - readOnly: false - noExitOnCtrlC: false - ui: - enableMouse: false - headless: true - logoless: true - crumbsless: true - reactive: false - noIcons: false - defaultsToFullScreen: true - skin: dieter - skipLatestRevCheck: false - disablePodCounting: false - shellPod: - image: busybox:1.35.0 - namespace: default - limits: - cpu: 100m - memory: 100Mi - imageScans: - enable: false - exclusions: - namespaces: [] - labels: {} - logger: - tail: 100 - buffer: 5000 - sinceSeconds: -1 - textWrap: false - showTime: false - thresholds: - cpu: - critical: 90 - warn: 70 - memory: - critical: 90 - warn: 70 diff --git a/.config/k9s/plugins.yaml b/.config/k9s/plugins.yaml deleted file mode 100644 index 59b9f8c..0000000 --- a/.config/k9s/plugins.yaml +++ /dev/null @@ -1,22 +0,0 @@ -plugins: - raw-logs-follow: - shortCut: Shift-L - description: kubectl logs - scopes: - - po - command: bash - background: false - args: - - -c - - | - kubectl logs $NAME -n $NAMESPACE --context $CONTEXT | bat --wrap=never --pager="less" --force-colorization - toolbox: - shortCut: Shift-K - description: ktoolbox in current namespace - scopes: - - all - command: ktoolbox - background: false - args: - - -n - - $NAMESPACE diff --git a/.config/k9s/skins/dieter.yaml b/.config/k9s/skins/dieter.yaml deleted file mode 100644 index 46c9a99..0000000 --- a/.config/k9s/skins/dieter.yaml +++ /dev/null @@ -1,76 +0,0 @@ -# Dieter - -k9s: - body: - fgColor: default - bgColor: default - logoColor: default - prompt: - fgColor: default - bgColor: default - suggestColor: default - info: - fgColor: default - sectionColor: default - dialog: - fgColor: default - bgColor: default - buttonFgColor: default - buttonBgColor: default - buttonFocusFgColor: white - buttonFocusBgColor: darkblue - labelFgColor: default - fieldFgColor: default - frame: - border: - fgColor: default - focusColor: default - menu: - fgColor: default - keyColor: default - numKeyColor: default - crumbs: - fgColor: default - bgColor: default - activeColor: default - status: - newColor: default - modifyColor: default - addColor: default - errorColor: red - highlightColor: default - killColor: default - completedColor: default - title: - fgColor: default - bgColor: default - highlightColor: default - counterColor: default - filterColor: default - views: - table: - fgColor: default - bgColor: default - cursorFgColor: teal - cursorBgColor: darkblue - header: - fgColor: default - bgColor: default - sorterColor: blue - xray: - fgColor: default - bgColor: default - cursorColor: blue - graphicColor: blue - yaml: - keyColor: default - colonColor: default - valueColor: default - logs: - fgColor: default - bgColor: default - indicator: - fgColor: default - bgColor: default - toggleOnColor: default - toggleOffColor: default diff --git a/.config/nerdctl/nerdctl.toml b/.config/nerdctl/nerdctl.toml deleted file mode 100644 index 6bbbda3..0000000 --- a/.config/nerdctl/nerdctl.toml +++ /dev/null @@ -1,3 +0,0 @@ -debug_full = false -snapshotter = "native" -insecure_registry = false diff --git a/.config/nvim/lazyvim.json b/.config/nvim/lazyvim.json deleted file mode 100644 index 05f524f..0000000 --- a/.config/nvim/lazyvim.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extras": [ - "lazyvim.plugins.extras.dap.core", - "lazyvim.plugins.extras.formatting.prettier", - "lazyvim.plugins.extras.lang.go", - "lazyvim.plugins.extras.lang.json", - "lazyvim.plugins.extras.lang.markdown", - "lazyvim.plugins.extras.lang.nix", - "lazyvim.plugins.extras.lang.rust", - "lazyvim.plugins.extras.lang.toml", - "lazyvim.plugins.extras.lang.typescript", - "lazyvim.plugins.extras.lang.yaml", - "lazyvim.plugins.extras.lsp.none-ls", - "lazyvim.plugins.extras.test.core", - "lazyvim.plugins.extras.ui.edgy", - "lazyvim.plugins.extras.ui.treesitter-context", - "lazyvim.plugins.extras.util.gitui", - "lazyvim.plugins.extras.util.project" - ], - "news": { - "NEWS.md": "6077" - }, - "version": 6 -} \ No newline at end of file diff --git a/.config/nvim/lua/plugins/editor.lua b/.config/nvim/lua/plugins/editor.lua deleted file mode 100644 index 1185b23..0000000 --- a/.config/nvim/lua/plugins/editor.lua +++ /dev/null @@ -1,71 +0,0 @@ -return { - { - "folke/flash.nvim", - enabled = false, - }, - - { - "danielfalk/smart-open.nvim", - branch = "0.2.x", - dependencies = { - "kkharji/sqlite.lua", - { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, - { "nvim-telescope/telescope-fzy-native.nvim" }, - }, - config = function() - local util = require("lazyvim.util") - util.on_load("telescope.nvim", function() - local telescope = require("telescope") - telescope.load_extension("smart_open") - end) - end, - }, - - { - "telescope.nvim", - keys = { - { - "<leader><leader>", - function() - require("telescope").extensions.smart_open.smart_open({ - filename_first = false, - }) - end, - desc = "Telescope smart open", - }, - }, - opts = function(_, opts) - local actions = require("telescope.actions") - opts.defaults = { - layout_strategy = "horizontal", - layout_config = { - anchor = "top", - horizontal = { - prompt_position = "top", - mirror = false, - preview_width = 0.49, - -- preview_height = 0.5, - }, - width = 0.9, - height = 0.9, - preview_cutoff = 10, - }, - mappings = { - i = { - ["<esc>"] = actions.close, -- <Esc> close popup - ["<C-u>"] = false, -- <C-u> clear prompt - ["<C-w>"] = false, -- <C-u> clear prompt - }, - }, - -- path_display = { "filename_first" }, - -- previewer = false, - preview = { - -- hide_on_startup = true, - }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, - } - end, - }, -} diff --git a/.config/nvim/lua/plugins/overseer.lua b/.config/nvim/lua/plugins/overseer.lua deleted file mode 100644 index fb545a8..0000000 --- a/.config/nvim/lua/plugins/overseer.lua +++ /dev/null @@ -1,90 +0,0 @@ -return { - { - "folke/which-key.nvim", - opts = function(_, opts) - if LazyVim.has("noice.nvim") then - opts.defaults["<leader>o"] = { name = "+overseer" } - end - end, - }, - - { - "folke/edgy.nvim", - optional = true, - opts = function(_, opts) - opts.right = opts.right or {} - table.insert(opts.right, { - title = "Overseer", - ft = "OverseerList", - open = function() - require("overseer").open() - end, - }) - end, - }, - - { - "nvim-neotest/neotest", - dependencies = "stevearc/overseer.nvim", - opts = function(_, opts) - local consumers = opts.consumers or {} - consumers.overseer = require("neotest.consumers.overseer") - end, - }, - - { - "stevearc/overseer.nvim", - cmd = { - "OverseerOpen", - "OverseerClose", - "OverseerToggle", - "OverseerSaveBundle", - "OverseerLoadBundle", - "OverseerDeleteBundle", - "OverseerRunCmd", - "OverseerRun", - "OverseerInfo", - "OverseerBuild", - "OverseerQuickAction", - "OverseerTaskAction", - "OverseerClearCache", - }, - dependencies = "nvim-telescope/telescope.nvim", - opts = { - dap = false, - task_list = { - bindings = { - ["<C-h>"] = false, - ["<C-j>"] = false, - ["<C-k>"] = false, - ["<C-l>"] = false, - }, - }, - form = { - win_opts = { - winblend = 0, - }, - }, - confirm = { - win_opts = { - winblend = 0, - }, - }, - task_win = { - win_opts = { - winblend = 0, - }, - }, - }, - -- stylua: ignore - keys = { - { "<leader>ow", "<cmd>OverseerToggle<cr>", desc = "Task list" }, - { "<leader>oo", "<cmd>OverseerRun<cr>", desc = "Run task" }, - { "<leader>oq", "<cmd>OverseerQuickAction<cr>", desc = "Action recent task" }, - { "<leader>oi", "<cmd>OverseerInfo<cr>", desc = "Overseer Info" }, - { "<leader>ob", "<cmd>OverseerBuild<cr>", desc = "Task builder" }, - { "<leader>ot", "<cmd>OverseerTaskAction<cr>", desc = "Task action" }, - { "<leader>oc", "<cmd>OverseerClearCache<cr>", desc = "Clear cache" }, - }, - }, -} diff --git a/.config/nvim/spell/en.utf-8.add b/.config/nvim/spell/en.utf-8.add deleted file mode 100644 index ab924f2..0000000 --- a/.config/nvim/spell/en.utf-8.add +++ /dev/null @@ -1,10 +0,0 @@ -#rytographically -crytographically/! -OIDC -Kubernetes -auth -JWT -PKCE -OPA -#askfile -Taskfile/! diff --git a/.config/nvim/spell/en.utf-8.add.spl b/.config/nvim/spell/en.utf-8.add.spl deleted file mode 100644 index b8cee884173101bb32cd424d8b1775876e9c6e10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmWIZ^erw(&B-zP&%nTt$)1>;m7QNu!dS{!!kEFxz*xjs$ymae&zR0w#F)rfz?i|9 z$(YQT$e6>J!&u44B*0kCSi;D}!dS|f#F)xh#F)pJ%2>jf%2>?E#Ke?Yz?j0w$iQHd h3?>s9vl$_*RK`TcV#aL7G{#KE9L7{eCLsnG001$*8x#Nl diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf deleted file mode 100644 index 23800b5..0000000 --- a/.config/paru/paru.conf +++ /dev/null @@ -1,8 +0,0 @@ -Include = /etc/paru.conf - -[options] -RemoveMake = ask -SkipReview - -[bin] -Sudo = doas diff --git a/.config/rg/rg.conf b/.config/rg/rg.conf deleted file mode 100644 index a09bccf..0000000 --- a/.config/rg/rg.conf +++ /dev/null @@ -1,10 +0,0 @@ ---glob=!/.git/ ---glob=!/.terraform/ ---pretty ---colors=column:fg:100,181,246 ---colors=line:fg:100,181,246 ---colors=path:fg:26,35,126 ---colors=path:style:bold ---colors=match:style:nobold ---colors=match:bg:255,235,59 ---colors=match:fg:0,0,0 diff --git a/.config/sapling/sapling.conf b/.config/sapling/sapling.conf deleted file mode 100644 index f6bbe26..0000000 --- a/.config/sapling/sapling.conf +++ /dev/null @@ -1,22 +0,0 @@ -[ui] -username =Daniel Lundin <daniel@arity.se> - -[alias] -sw = switch -switch = !sl sl -M -T ':\033[31m{node|short} \033[1;33m{bookmarks}{if(bookmarks, " ")}{remotenames} {if(github_pull_request_number, "\033[1;37;41m PR #{github_pull_request_number} ")}\033[0;3;32m {date|age} \033[35;1;3mby {author|user} - \033[0;34;3m{desc|firstline}\033[0m' | sed -E -e '/31m[0-9abcdef]{12}/!d' -e 's/.+ ://' | fzf-tmux -p 90%,50% -y 0 --ansi --color=light | sed "s/ .*//" | xargs -r -n1 sl go && sl log -r . -T status - -l = ll -ll = log -G -T '\033[31m{node|short} \033[3;32m{date|age} \033[35;1;3mby {author|person}\n \033[0;34;3m{desc|firstline}\033[0m\n\n' - -[pager] -pager = delta --hunk-header-style "line-number file" --line-numbers --max-line-distance 0.9 --inspect-raw-lines=false - -[color] -sl.public = color70 bold -sl.draft = color208 bold -sl.current = color99 bold -sl.diff = red bold - -[committemplate] -emptymsg = "" - diff --git a/.config/starship.toml b/.config/starship.toml deleted file mode 100644 index f983e5f..0000000 --- a/.config/starship.toml +++ /dev/null @@ -1,77 +0,0 @@ -"$schema" = 'https://starship.rs/config-schema.json' - -add_newline = true - -format = """\ -$fill\ -${custom.pwd}\ -$line_break\ -$hostname\ -$directory\ -($character)\ -""" - -right_format = """\ -$cmd_duration\ -$git_branch$git_commit$git_status$git_state\ -""" - -[hostname] -ssh_only = false -format = "[$hostname](italic bold)" -disabled = false - -[time] -disabled = false -format = '[ $time](italic dimmed inverted)' -time_format = '%R' - -[custom.pwd] -command = "prompt_pwd -D 100" -when = true -format = "[ $output]($style)" -style = "italic dimmed" - -[directory] -fish_style_pwd_dir_length = 1 -truncation_length = 1 -truncate_to_repo = false -truncation_symbol = "…" -style = "italic" - -[line_break] -disabled = false - -[fill] -symbol = '┄' -style = 'dimmed fg:#888888' - -[character] -success_symbol = "[%](bold)" -error_symbol = "[✖](bold red)" - -[cmd_duration] -min_time = 500 -format = '[ $duration ](yellow)' - -[git_branch] -format = "[$symbol$branch]($style)" -style = "italic bold green" -symbol = " " -truncation_length = 16 -truncation_symbol = "" - -[git_commit] -format = "[ $hash$tag]($style) " -style = "cyan" - -[git_state] -style = "" - -[git_status] -format = '([$all_status$ahead_behind]($style))' -style = "fg:#00ac73" -modified = "[ ](yellow)" -deleted = "[ ✘](red)" -untracked = "[ ?](purple)" -staged = "[ ](cyan)" diff --git a/.config/systemd/user/opener@.service b/.config/systemd/user/opener@.service deleted file mode 100644 index fcd14c9..0000000 --- a/.config/systemd/user/opener@.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Open URL in your local web browser from the SSH-connected remote environment. -After=graphical-session.target - -[Service] -Restart=always -Environment=OPENER_CONF=%t/opener.%i.conf -ExecStart=/bin/sh -c 'echo "address: %t/opener.%i.sock" > $OPENER_CONF && exec %h/bin/opener --config $OPENER_CONF' - -[Install] -WantedBy=graphical-session.target diff --git a/.config/systemd/user/tmux.service b/.config/systemd/user/tmux.service deleted file mode 100644 index fc4806c..0000000 --- a/.config/systemd/user/tmux.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Run tmux server - -[Service] -Restart=always -StartLimitIntervalSec=0 -ExecStart=/usr/bin/tmux -D -u - -[Install] -WantedBy=default.target diff --git a/.config/vconsole/personal.map b/.config/vconsole/personal.map deleted file mode 100644 index 1740bb1..0000000 --- a/.config/vconsole/personal.map +++ /dev/null @@ -1,3 +0,0 @@ -include "linux-with-two-alt-keys" -keycode 58 = Control - diff --git a/.config/zsh-abbr/user-abbreviations b/.config/zsh-abbr/user-abbreviations deleted file mode 100644 index b0d3a00..0000000 --- a/.config/zsh-abbr/user-abbreviations +++ /dev/null @@ -1,13 +0,0 @@ -abbr "b"="git branch -va" -abbr "c"="git commit" -abbr "d"="git diff --stat -p -C --color-words" -abbr "g"="git" -abbr "gsw"="git gerrit-switch" -abbr "k"="kubectl" -abbr "new"="git checkout --detach main" -abbr "p"="git push" -abbr "rec"="git record" -abbr "s"="git st" -abbr "sl"="git branchless smartlog" -abbr "sw"="git branchless switch --interactive" -abbr "sy"="git sync --pull" diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..0f94eed --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +# shellcheck shell=bash +use flake diff --git a/.gitconfig b/.gitconfig deleted file mode 100644 index e001475..0000000 --- a/.gitconfig +++ /dev/null @@ -1,150 +0,0 @@ -[alias] -b = branch -va -cl = clone --filter=blob:none -co = checkout -d = diff --stat -p -C --color-words -ds = diff --staged --stat -p -C --color-words -dt = difftool -patch = !git --no-pager diff --no-color -pullr = pull --rebase --autostash -sh = show --stat -p -C --color-words --show-signature -st = status -sb -t = tag --sort=-v:refname --format='%(color:bold italic)%(objectname:short)%(color:noitalic) %(refname:short)' - -new = !git fetch -u origin main:main && git branchless switch -d origin/main -sl = branchless smartlog -sync = branchless sync -sw = branchless switch -s = branchless switch -i - -copr = "!f() { \ - pr=$1 \ - && test -n \"$pr\" || pr=`tea pr list -o simple | fzf --bind 'enter:become(echo {+1})'` \ - && git fetch origin refs/pull/$pr/head \ - && git checkout --detach FETCH_HEAD \ - ;};f" - -g = graph -S -m simple -s round -ll = "log --pretty='format:%x1B[0;3;36m%as %G? %x1B[0;95;3m%<(12,trunc)%al %x1B[3;32m• %h%x1B[0;1;92m%(decorate:prefix= [,suffix=]%n)%>|(35)%Creset %s'" -lla = "log --graph --all --topo-order --pretty='format:\t%x1B[0;3;36m%as %x1B[0;95;3m%<(12)%al %x1B[3;32m• %h%x1B[0;1;92m%d%x1B[0m %s'" - -guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f" -serve = daemon --verbose --export-all --base-path=.git --reuseaddr --strict-paths .git/ - -[apply] -whitespace = nowarn - -[blame] -date = relative - -[branch "main"] -rebase = true - -[branch "master"] -rebase = true - -[color] -branch = auto -diff = auto -status = auto -ui = auto - -[column] -ui = auto - -[core] -compression = 3 -excludesfile = "~/.gitignore" -looseCompression = 3 -pager = delta - -[delta] -file-added-label = "[+]" -file-decoration-style=none -file-modified-label = "[*]" -file-removed-label = "[-]" -file-renamed-label = "[>]" -file-style = bold reverse -file-transformation = "s/$/ ░▒▓/" -hunk-header-decoration-style=none -hunk-header-file-style = bold -hunk-header-line-number-style = bold -hunk-header-style = line-number bold -hunk-label = "⯁" -hunk-label-style = bold -line-numbers = true -max-line-distance = 0.9 - -[http] -cookiefile = /home/dln/.gitcookies - -[hub] -protocol = git - -[interactive] -diffFilter = delta --color-only --features=interactive - -[commit] -gpgsign = false -verbose = true - -[credential] -helper = store - -[diff] -algorithm = histogram -tool = difft - -[difftool] -prompt = false - -[difftool "difft"] -cmd = difft --color=always --display inline "$LOCAL" "$REMOTE" | bat - -[fetch] -prune = true -prunetags = true -showForcedUpdates = true - -[filter "lfs"] -clean = git-lfs clean -- %f -process = git-lfs filter-process -required = true -smudge = git-lfs smudge -- %f - -[gpg] -format = ssh - -[gpg "ssh"] -allowedSignersFile = ~/.config/git/allowed_signers -defaultKeyCommand = /home/dln/.config/git/signing-key.sh - -[init] -defaultBranch = main - -[lfs] -concurrenttransfers = 32 - -[merge] -conflictstyle = zdiff3 - -[pack] -compression = 3 -threads = 0 - -[push] -default = tracking - -[rebase] -autosquash = true - -[rerere] -enabled = true - -[tag] -sort = -v:refname - -[user] -email = dln@arity.se -name = Daniel Lundin -useConfigOnly = true diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 4bb6205..0000000 --- a/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -*~ -*.a -*.class -/.idea -*.iml -*.ipr -*.iwr -*.iws -*.la -*.o -*.pyc -*.so -*.swp - diff --git a/.gnupg/gpg-agent.conf b/.gnupg/gpg-agent.conf deleted file mode 100644 index db49aaf..0000000 --- a/.gnupg/gpg-agent.conf +++ /dev/null @@ -1,4 +0,0 @@ -enable-ssh-support -default-cache-ttl 3600 -max-cache-ttl 3600 -extra-socket /run/user/1000/gnupg/S.gpg-agent.extra diff --git a/.gnupg/gpg.conf b/.gnupg/gpg.conf deleted file mode 100644 index 50f74df..0000000 --- a/.gnupg/gpg.conf +++ /dev/null @@ -1,2 +0,0 @@ -#use-agent -keyid-format LONG diff --git a/.inputrc b/.inputrc deleted file mode 100644 index 062ffe5..0000000 --- a/.inputrc +++ /dev/null @@ -1,11 +0,0 @@ -set meta-flag on -set convert-meta off -set output-meta on -set completion-ignore-case on -set visible-stats on -set show-all-if-ambiguous on -set completion-query-items 150 - -#"\C-p": history-search-backward -#"\C-n": history-search-forward - diff --git a/.jjconfig.toml b/.jjconfig.toml deleted file mode 100644 index befcefa..0000000 --- a/.jjconfig.toml +++ /dev/null @@ -1,21 +0,0 @@ -[user] -name = "Daniel Lundin" -email = "dln@arity.se" - -[ui] -default-command = "l" -diff-editor = ["scm-diff-editor", "--dir-diff", "$left", "$right"] -pager = ["delta", "--line-numbers", "--max-line-distance=0.9"] - -[aliases] -l = ["log", "--ignore-working-copy", "-r", "(main..@): | (main..@)-"] -la = ["log", "--ignore-working-copy", "-r", "all()"] -b = ["branch", "list"] -n = ["new", "main"] -d = ["diff"] - -[revset-aliases] -# The `main.. &` bit is an optimization to scan for non-`mine()` commits only -# among commits that are not in `main`. -"immutable_heads()" = "main@origin | (main@origin.. & ~mine())" - diff --git a/.lessfilter b/.lessfilter deleted file mode 100755 index 43d2942..0000000 --- a/.lessfilter +++ /dev/null @@ -1,46 +0,0 @@ -#! /usr/bin/env bash -mime=$(file -Lbs --mime-type "$1") -category=${mime%%/*} -kind=${mime##*/} -ext=${1##*.} -if [ "$kind" = json ]; then - if [ "$(command -v jq)" ]; then - jq -Cr . "$1" - fi -elif [ "$kind" = vnd.sqlite3 ]; then - if [ "$(command -v yes)" ] && [ "$(command -v sqlite3)" ] && [ "$(command -v bat)" ]; then - yes .q | sqlite3 "$1" | bat --color=always -plsql - fi -# https://github.com/wofr06/lesspipe/pull/107 -elif [ -d "$1" ]; then - if [ "$(command -v exa)" ]; then - exa --git -hl --color=always --icons "$1" - fi -# https://github.com/wofr06/lesspipe/pull/110 -elif [ "$kind" = pdf ]; then - if [ "$(command -v pdftotext)" ] && [ "$(command -v sed)" ]; then - pdftotext -q "$1" - | sed "s/\f/$(hr ─)\n/g" - fi -# https://github.com/wofr06/lesspipe/pull/115 -elif [ "$kind" = rfc822 ]; then - if [ "$(command -v bat)" ]; then - bat --color=always -lEmail "$1" - fi -# https://github.com/wofr06/lesspipe/pull/106 -elif [ "$category" = image ]; then - if [ "$(command -v chafa)" ]; then - chafa -f symbols "$1" - fi - if [ "$(command -v exiftool)" ]; then - exiftool "$1" | bat --color=always -plyaml - fi -# https://github.com/wofr06/lesspipe/pull/117 -elif [ "$category" = text ]; then - if [ "$(command -v bat)" ]; then - bat --color=always "$1" - elif [ "$(command -v pygmentize)" ]; then - pygmentize "$1" | less - fi -else - exit 1 -fi diff --git a/.local/share/applications/firefox-arity.desktop b/.local/share/applications/firefox-arity.desktop deleted file mode 100644 index c417974..0000000 --- a/.local/share/applications/firefox-arity.desktop +++ /dev/null @@ -1,13 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Firefox (Arity) -GenericName=Web Browser -Comment=Browse the Web -Exec=firefox %u -P Arity --name firefox-arity -Icon=firefox -Terminal=false -Type=Application -MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; -StartupWMClass=firefox-arity -Categories=Network;WebBrowser; -Keywords=web;browser;internet; diff --git a/.local/share/applications/firefox-work.desktop b/.local/share/applications/firefox-work.desktop deleted file mode 100644 index 805a7a9..0000000 --- a/.local/share/applications/firefox-work.desktop +++ /dev/null @@ -1,13 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Firefox (Work) -GenericName=Web Browser -Comment=Browse the Web -Exec=firefox %u -P Work --new-instance --name firefox-work -Icon=firefox -Terminal=false -Type=Application -MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; -StartupWMClass=firefox-work -Categories=Network;WebBrowser; -Keywords=web;browser;internet; diff --git a/.local/share/applications/google-chrome-beta-client.desktop b/.local/share/applications/google-chrome-beta-client.desktop deleted file mode 100644 index cd2f598..0000000 --- a/.local/share/applications/google-chrome-beta-client.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Client Chrome -StartupWMClass=Google-chrome-beta-client -Exec=/usr/bin/google-chrome-beta %U --user-data-dir=.config/Google-chrome-beta-client --class=Google-chrome-beta-client -StartupNotify=true -Terminal=false -Icon=google-chrome-beta -Type=Application -Categories=Network;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/.local/share/applications/google-chrome-beta-private.desktop b/.local/share/applications/google-chrome-beta-private.desktop deleted file mode 100644 index 581a1ba..0000000 --- a/.local/share/applications/google-chrome-beta-private.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Private Chrome -StartupWMClass=Google-chrome-beta-private -Exec=/usr/bin/google-chrome-beta %U --user-data-dir=.config/Google-chrome-beta-private --class=Google-chrome-beta-private -StartupNotify=true -Terminal=false -Icon=google-chrome-beta -Type=Application -Categories=Netprivate;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/.local/share/applications/google-chrome-beta-work.desktop b/.local/share/applications/google-chrome-beta-work.desktop deleted file mode 100644 index 9912349..0000000 --- a/.local/share/applications/google-chrome-beta-work.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Work Chrome -StartupWMClass=Google-chrome-beta-work -Exec=/usr/bin/google-chrome-beta %U --user-data-dir=.config/Google-chrome-beta-work --class=Google-chrome-beta-work -StartupNotify=true -Terminal=false -Icon=google-chrome-beta -Type=Application -Categories=Network;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; diff --git a/.local/share/applications/meet.desktop b/.local/share/applications/meet.desktop deleted file mode 100644 index 4dca9eb..0000000 --- a/.local/share/applications/meet.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Google Meet -StartupWMClass=meet.google.com -Exec=/usr/bin/google-chrome-stable --profile-directory='Profile 1' --app=https://meet.google.com -Terminal=false -Icon=camera-video -Type=Application -Categories=Network;Office diff --git a/.local/share/applications/plex.desktop b/.local/share/applications/plex.desktop deleted file mode 100644 index 49d5d49..0000000 --- a/.local/share/applications/plex.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=plex -StartupWMClass=plex.aarn.shelman.io -Exec=/usr/bin/google-chrome-stable --profile-directory='Profile 2' --app=https://plex.home:32400/web/index.html -Terminal=false -Icon=google-chrome -Type=Application -Categories=Audio; diff --git a/.local/share/applications/spotify.desktop b/.local/share/applications/spotify.desktop deleted file mode 100644 index 4359bc1..0000000 --- a/.local/share/applications/spotify.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Type=Application -Name=Spotify -GenericName=Music Player -Icon=spotify-client -TryExec=spotify -Exec=spotify --force-device-scale-factor=2 %U -Terminal=false -MimeType=x-scheme-handler/spotify; -Categories=Audio;Music;Player;AudioVideo; -StartupWMClass=spotify diff --git a/.local/share/applications/wezterm-dev-secondary.desktop b/.local/share/applications/wezterm-dev-secondary.desktop deleted file mode 100644 index 9c1905b..0000000 --- a/.local/share/applications/wezterm-dev-secondary.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-dev-secondary -GenericName=wezterm-dev-secondary -StartupWMClass=org.wezfurlong.wezterm-dev-secondary -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-dev-secondary --domain=dev diff --git a/.local/share/applications/wezterm-dev.desktop b/.local/share/applications/wezterm-dev.desktop deleted file mode 100644 index 9cff6ce..0000000 --- a/.local/share/applications/wezterm-dev.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-dev -GenericName=wezterm-dev -StartupWMClass=org.wezfurlong.wezterm-dev -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"/usr/bin/fish"}' start --class=org.wezfurlong.wezterm-dev --domain=dev diff --git a/.local/share/applications/wezterm-local.desktop b/.local/share/applications/wezterm-local.desktop deleted file mode 100644 index 773565d..0000000 --- a/.local/share/applications/wezterm-local.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-local -GenericName=wezterm-local -StartupWMClass=wezterm-local -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"tmux", "-u", "new", "-As0"}' start --class=wezterm-local diff --git a/.local/share/applications/wezterm-nemo.desktop b/.local/share/applications/wezterm-nemo.desktop deleted file mode 100644 index 392778e..0000000 --- a/.local/share/applications/wezterm-nemo.desktop +++ /dev/null @@ -1,10 +0,0 @@ -[Desktop Entry] -Name=wezterm-nemo -GenericName=wezterm-nemo -StartupWMClass=org.wezfurlong.wezterm-nemo -Type=Application -TryExec=/usr/bin/wezterm -Icon=org.wezfurlong.wezterm -Terminal=false -Categories=System;TerminalEmulator; -Exec=/usr/bin/wezterm --config 'default_prog={"fish"}' start --class=org.wezfurlong.wezterm-nemo --domain=nemo diff --git a/.local/share/applications/youtube-music.desktop b/.local/share/applications/youtube-music.desktop deleted file mode 100644 index a6d0926..0000000 --- a/.local/share/applications/youtube-music.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=YouTube Music (provar) -StartupWMClass=music.youtube.com -Exec=/usr/bin/google-chrome-stable --user-data-dir=$HOME/.config/google-chrome --profile-directory='Profile 2' --app=https://music.youtube.com --class=music.youtube.com -Terminal=false -Icon=google-chrome -Type=Application -Categories=Audio; diff --git a/.ssh/config b/.ssh/config deleted file mode 100644 index 50a9bcc..0000000 --- a/.ssh/config +++ /dev/null @@ -1,35 +0,0 @@ -ServerAliveInterval 15 -ServerAliveCountMax 3 -ControlMaster auto -ControlPath ${XDG_RUNTIME_DIR}/ssh_control:%h:%p:%r -ControlPersist 1200 -Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr - -AddressFamily inet -PreferredAuthentications=publickey - -Include ~/.ssh/private_config - -Host 10.1.100.16 -Host dln-dev -Host dev -Hostname 10.1.100.16 - #Hostname aarn.shelman.io - #Port 2022 -ForwardAgent yes -ExitOnForwardFailure yes -Compression no -#RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.dln-dev.sock - -Host nemo -Hostname 10.1.100.20 -ForwardAgent yes -ExitOnForwardFailure yes -Compression no -RemoteForward ${XDG_RUNTIME_DIR}/opener.sock ${XDG_RUNTIME_DIR}/opener.nemo.sock -#LocalForward localhost:3000 localhost:3000 -LocalForward localhost:8000 localhost:8000 -LocalForward localhost:8080 localhost:8080 - -Host * -ForwardAgent no diff --git a/.ssh/rc b/.ssh/rc deleted file mode 100755 index eb38e90..0000000 --- a/.ssh/rc +++ /dev/null @@ -1,4 +0,0 @@ -if [[ -S "$SSH_AUTH_SOCK" && ! -h "$SSH_AUTH_SOCK" ]]; then - mkdir -p "${XDG_RUNTIME_DIR}/gcr"; - ln -sf "$SSH_AUTH_SOCK" "${XDG_RUNTIME_DIR}/gcr/ssh"; -fi diff --git a/.tmux.conf b/.tmux.conf deleted file mode 100644 index 3ef1c7d..0000000 --- a/.tmux.conf +++ /dev/null @@ -1,96 +0,0 @@ -set -g prefix ^o - -set -g base-index 1 -set -g display-panes-time 3000 -set -s escape-time 10 -set -g status on -set -g status-interval 30 -set -g focus-events on -set -g allow-passthrough on -setw -g alternate-screen on -setw -g aggressive-resize on -setw -g automatic-rename off -setw -g mode-keys vi -set-option -g mouse on - -# clipboard -set -g set-clipboard on -bind-key ] paste-buffer -p - -set-environment -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/gcr/ssh" -set -g update-environment "BUILD_COMMAND GOPACKAGESDRIVER SSH_AUTH_SOCK SSH_CONNECTION" -#set -g default-command "$SHELL" -set -g history-limit 10000 -# -set -g default-terminal "wezterm" -set -ga terminal-features '*:clipboard:ccolor:hyperlinks:osc7:overline:sixel:strikethrough:title:usstyle:RGB' -set -ga terminal-overrides ',wezterm:cnorm=\E[?12h\E[?25h' - -# Key bindings -bind -n M-Tab if-shell 'test #{window_panes} -gt 1' 'last-pane' 'last-window' -bind -n M-h select-pane -L -bind -n M-l select-pane -R -bind -n M-Left select-pane -L -bind -n M-Right select-pane -R -# bind -n M-j select-pane -U -# bind -n M-k select-pane -D -bind -T copy-mode-vi M-k send-keys -X cursor-up \; send-keys -X previous-prompt -o \; send-keys -X cursor-up -bind -T copy-mode-vi M-j send-keys -X cursor-down \; send-keys -X next-prompt -o \; send-keys -X cursor-up -bind -n M-k copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up -bind -n M-j copy-mode \; send-keys -X previous-prompt -o \; send-keys -X cursor-up -bind -n M-Up select-pane -U -bind -n M-Down select-pane -D -bind -n M-1 select-window -t 42 -bind -n M-2 select-window -t 2 -bind -n M-3 select-window -t 3 -bind -n M-4 select-window -t 4 -bind -n M-5 select-window -t 5 -bind -n M-6 select-window -t 6 -bind -n M-7 select-window -t 7 -bind -n M-8 select-window -t 8 -bind -n M-9 select-window -t 9 -bind -n M-0 select-window -t 10 - -bind -n M-m send-keys -t 9 q C-u "clear; tmux clear-history -t 9" C-m C-p C-p C-p C-m -bind C-o send-keys C-o -bind r source-file ~/.tmux.conf -bind -n C-Right next-window -bind -n C-Left previous-window -bind C-s set-option -g status -bind K confirm kill-server -bind C-k clear-history -bind -n C-l send-keys C-l \; clear-history -bind-key -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up -bind-key -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down -bind-key / copy-mode \; send-key ? -bind-key P 'capture-pane' \; capture-pane -S - \; save-buffer /tmp/tmux \; delete-buffer -bind-key -n C-\\ copy-mode \; send -X search-backward " % "\; send -X search-again - -setw -g window-status-format "" -setw -g window-status-current-format "" -setw -g window-status-separator "" -set -g status-style "bg=#444444,fg=#dddddd,italics" -set -g popup-border-style "fg=#77fecc" -set -g pane-border-style "fg=#334455" -set -g pane-active-border-style "fg=#334455" -set -g status-position bottom -set -g status-left-length 0 -set -g status-right-length 0 -set -g status-left '[#I] #{pane_current_path}' -set -g status-right '%F | %R' -set -g status off -set -g set-titles on -set -g set-titles-string "#H - #T" - -new -s0 -n 1 -new-window -n 2 -new-window -n 3 -new-window -n 4 -new-window -n 5 -new-window -n 6 -new-window -n 7 -new-window -n 8 -new-window -n 9 -new-window -n 0 - -# vim:set ft=tmux: diff --git a/.vault b/.vault deleted file mode 100644 index 6f129db..0000000 --- a/.vault +++ /dev/null @@ -1,2 +0,0 @@ -#token_helper = "/home/dln/bin/vault-token-helper" - diff --git a/README.md b/README.md new file mode 100644 index 0000000..a989f47 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Home Manager + +IT in a box! diff --git a/bin/git-st b/bin/git-st deleted file mode 100755 index 764d628..0000000 --- a/bin/git-st +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash - -if git branchless query HEAD >/dev/null 2>&1; then - printf '\n ● \e[1m' - git branchless query HEAD - printf '\e[2;38;5;242m%*s\e[0m\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' '-' -fi - -awk -vOFS='' ' - NR==FNR { - all[i++] = $0; - difffiles[$1] = $0; - next; - } - ! ($2 in difffiles) { - print; next; - } - { - gsub($2, difffiles[$2]); - print; - } - END { - if (NR != FNR) { - # Had diff output - exit; - } - # Had no diff output, just print lines from git status -sb - for (i in all) { - print all[i]; - } - } -' \ - <(git diff --color --stat=$(($(tput cols) - 3)) HEAD | sed '$d; s/^ //') \ - <(git -c color.status=always status -sb) - -printf '\n' diff --git a/bin/git-wtf b/bin/git-wtf deleted file mode 100755 index e407eae..0000000 --- a/bin/git-wtf +++ /dev/null @@ -1,364 +0,0 @@ -#!/usr/bin/env ruby - -HELP = <<EOS -git-wtf displays the state of your repository in a readable, easy-to-scan -format. It's useful for getting a summary of how a branch relates to a remote -server, and for wrangling many topic branches. - -git-wtf can show you: -- How a branch relates to the remote repo, if it's a tracking branch. -- How a branch relates to integration branches, if it's a feature branch. -- How a branch relates to the feature branches, if it's an integration - branch. - -git-wtf is best used before a git push, or between a git fetch and a git -merge. Be sure to set color.ui to auto or yes for maximum viewing pleasure. -EOS - -KEY = <<EOS -KEY: -() branch only exists locally -{} branch only exists on a remote repo -[] branch exists locally and remotely - -x merge occurs both locally and remotely -~ merge occurs only locally - (space) branch isn't merged in - -(It's possible for merges to occur remotely and not locally, of course, but -that's a less common case and git-wtf currently doesn't display anything -special for it.) -EOS - -USAGE = <<EOS -Usage: git wtf [branch+] [options] - -If [branch] is not specified, git-wtf will use the current branch. The possible -[options] are: - - -l, --long include author info and date for each commit - -a, --all show all branches across all remote repos, not just - those from origin - -A, --all-commits show all commits, not just the first 5 - -s, --short don't show commits - -k, --key show key - -r, --relations show relation to features / integration branches - --dump-config print out current configuration and exit - -git-wtf uses some heuristics to determine which branches are integration -branches, and which are feature branches. (Specifically, it assumes the -integration branches are named "master", "next" and "edge".) If it guesses -incorrectly, you will have to create a .git-wtfrc file. - -To start building a configuration file, run "git-wtf --dump-config > -.git-wtfrc" and edit it. The config file is a YAML file that specifies the -integration branches, any branches to ignore, and the max number of commits to -display when --all-commits isn't used. git-wtf will look for a .git-wtfrc file -starting in the current directory, and recursively up to the root. - -IMPORTANT NOTE: all local branches referenced in .git-wtfrc must be prefixed -with heads/, e.g. "heads/master". Remote branches must be of the form -remotes/<remote>/<branch>. -EOS - -COPYRIGHT = <<EOS -git-wtf Copyright 2008--2009 William Morgan <wmorgan at the masanjin dot nets>. -This program is free software: you can redistribute it and/or modify it -under the terms of the GNU General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -more details. - -You can find the GNU General Public License at: http://www.gnu.org/licenses/ -EOS - -require 'yaml' -CONFIG_FN = ".git-wtfrc" - -class Numeric; def pluralize s; "#{to_s} #{s}" + (self != 1 ? "s" : "") end end - -if ARGV.delete("--help") || ARGV.delete("-h") - puts USAGE - exit -end - -## poor man's trollop -$long = ARGV.delete("--long") || ARGV.delete("-l") -$short = ARGV.delete("--short") || ARGV.delete("-s") -$all = ARGV.delete("--all") || ARGV.delete("-a") -$all_commits = ARGV.delete("--all-commits") || ARGV.delete("-A") -$dump_config = ARGV.delete("--dump-config") -$key = ARGV.delete("--key") || ARGV.delete("-k") -$show_relations = ARGV.delete("--relations") || ARGV.delete("-r") -ARGV.each { |a| abort "Error: unknown argument #{a}." if a =~ /^--/ } - -## search up the path for a file -def find_file fn - while true - return fn if File.exist? fn - fn2 = File.join("..", fn) - return nil if File.expand_path(fn2) == File.expand_path(fn) - fn = fn2 - end -end - -want_color = `git config color.wtf` -want_color = `git config color.ui` if want_color.empty? -$color = case want_color.chomp - when "true"; true - when "auto"; $stdout.tty? -end - -def red s; $color ? "\033[31m#{s}\033[0m" : s end -def green s; $color ? "\033[32m#{s}\033[0m" : s end -def yellow s; $color ? "\033[33m#{s}\033[0m" : s end -def cyan s; $color ? "\033[36m#{s}\033[0m" : s end -def grey s; $color ? "\033[1;30m#{s}\033[0m" : s end -def purple s; $color ? "\033[35m#{s}\033[0m" : s end - -## the set of commits in 'to' that aren't in 'from'. -## if empty, 'to' has been merged into 'from'. -def commits_between from, to - if $long - `git log --pretty=format:"- %s [#{yellow "%h"}] (#{purple "%ae"}; %ar)" #{from}..#{to}` - else - `git log --pretty=format:"- %s [#{yellow "%h"}]" #{from}..#{to}` - end.split(/[\r\n]+/) -end - -def show_commits commits, prefix=" " - if commits.empty? - puts "#{prefix} none" - else - max = $all_commits ? commits.size : $config["max_commits"] - max -= 1 if max == commits.size - 1 # never show "and 1 more" - commits[0 ... max].each { |c| puts "#{prefix}#{c}" } - puts grey("#{prefix}... and #{commits.size - max} more (use -A to see all).") if commits.size > max - end -end - -def ahead_behind_string ahead, behind - [ahead.empty? ? nil : "#{ahead.size.pluralize 'commit'} ahead", - behind.empty? ? nil : "#{behind.size.pluralize 'commit'} behind"]. - compact.join("; ") -end - -def widget merged_in, remote_only=false, local_only=false, local_only_merge=false - left, right = case - when remote_only; %w({ }) - when local_only; %w{( )} - else %w([ ]) - end - middle = case - when merged_in && local_only_merge; green("~") - when merged_in; green("x") - else " " - end - print left, middle, right -end - -def show b - have_both = b[:local_branch] && b[:remote_branch] - - pushc, pullc, oosync = if have_both - [x = commits_between(b[:remote_branch], b[:local_branch]), - y = commits_between(b[:local_branch], b[:remote_branch]), - !x.empty? && !y.empty?] - end - - if b[:local_branch] - puts "Local branch: " + green(b[:local_branch].sub(/^heads\//, "")) - - if have_both - if pushc.empty? - puts "#{widget true} in sync with remote" - else - action = oosync ? "push after rebase / merge" : "push" - puts "#{widget false} NOT in sync with remote (you should #{action})" - show_commits pushc unless $short - end - end - end - - if b[:remote_branch] - puts "Remote branch: #{cyan b[:remote_branch]} (#{b[:remote_url]})" - - if have_both - if pullc.empty? - puts "#{widget true} in sync with local" - else - action = pushc.empty? ? "merge" : "rebase / merge" - puts "#{widget false} NOT in sync with local (you should #{action})" - show_commits pullc unless $short - end - end - end - - puts "\n#{red "WARNING"}: local and remote branches have diverged. A merge will occur unless you rebase." if oosync -end - -def show_relations b, all_branches - ibs, fbs = all_branches.partition { |name, br| $config["integration-branches"].include?(br[:local_branch]) || $config["integration-branches"].include?(br[:remote_branch]) } - if $config["integration-branches"].include? b[:local_branch] - puts "\nFeature branches:" unless fbs.empty? - fbs.each do |name, br| - next if $config["ignore"].member?(br[:local_branch]) || $config["ignore"].member?(br[:remote_branch]) - next if br[:ignore] - local_only = br[:remote_branch].nil? - remote_only = br[:local_branch].nil? - name = if local_only - purple br[:name] - elsif remote_only - cyan br[:name] - else - green br[:name] - end - - ## for remote_only branches, we'll compute wrt the remote branch head. otherwise, we'll - ## use the local branch head. - head = remote_only ? br[:remote_branch] : br[:local_branch] - - remote_ahead = b[:remote_branch] ? commits_between(b[:remote_branch], head) : [] - local_ahead = b[:local_branch] ? commits_between(b[:local_branch], head) : [] - - if local_ahead.empty? && remote_ahead.empty? - puts "#{widget true, remote_only, local_only} #{name} #{local_only ? "(local-only) " : ""}is merged in" - elsif local_ahead.empty? - puts "#{widget true, remote_only, local_only, true} #{name} merged in (only locally)" - else - behind = commits_between head, (br[:local_branch] || br[:remote_branch]) - ahead = remote_only ? remote_ahead : local_ahead - puts "#{widget false, remote_only, local_only} #{name} #{local_only ? "(local-only) " : ""}is NOT merged in (#{ahead_behind_string ahead, behind})" - show_commits ahead unless $short - end - end - else - puts "\nIntegration branches:" unless ibs.empty? # unlikely - ibs.sort_by { |v, br| v }.each do |v, br| - next if $config["ignore"].member?(br[:local_branch]) || $config["ignore"].member?(br[:remote_branch]) - next if br[:ignore] - local_only = br[:remote_branch].nil? - remote_only = br[:local_branch].nil? - name = remote_only ? cyan(br[:name]) : green(br[:name]) - - ahead = commits_between v, (b[:local_branch] || b[:remote_branch]) - if ahead.empty? - puts "#{widget true, local_only} merged into #{name}" - else - #behind = commits_between b[:local_branch], v - puts "#{widget false, local_only} NOT merged into #{name} (#{ahead.size.pluralize 'commit'} ahead)" - show_commits ahead unless $short - end - end - end -end - -#### EXECUTION STARTS HERE #### - -## find config file and load it -$config = { "integration-branches" => %w(heads/master heads/next heads/edge), "ignore" => [], "max_commits" => 5 }.merge begin - fn = find_file CONFIG_FN - if fn && (h = YAML::load_file(fn)) # yaml turns empty files into false - h["integration-branches"] ||= h["versions"] # support old nomenclature - h - else - {} - end -end - -if $dump_config - puts $config.to_yaml - exit -end - -## first, index registered remotes -remotes = `git config --get-regexp ^remote\.\*\.url`.split(/[\r\n]+/).inject({}) do |hash, l| - l =~ /^remote\.(.+?)\.url (.+)$/ or next hash - hash[$1] ||= $2 - hash -end - -## next, index followed branches -branches = `git config --get-regexp ^branch\.`.split(/[\r\n]+/).inject({}) do |hash, l| - case l - when /branch\.(.*?)\.remote (.+)/ - name, remote = $1, $2 - - hash[name] ||= {} - hash[name].merge! :remote => remote, :remote_url => remotes[remote] - when /branch\.(.*?)\.merge ((refs\/)?heads\/)?(.+)/ - name, remote_branch = $1, $4 - hash[name] ||= {} - hash[name].merge! :remote_mergepoint => remote_branch - end - hash -end - -## finally, index all branches -remote_branches = {} -`git show-ref`.split(/[\r\n]+/).each do |l| - sha1, ref = l.chomp.split " refs/" - - if ref =~ /^heads\/(.+)$/ # local branch - name = $1 - next if name == "HEAD" - branches[name] ||= {} - branches[name].merge! :name => name, :local_branch => ref - elsif ref =~ /^remotes\/(.+?)\/(.+)$/ # remote branch - remote, name = $1, $2 - remote_branches["#{remote}/#{name}"] = true - next if name == "HEAD" - ignore = !($all || remote == "origin") - - branch = name - if branches[name] && branches[name][:remote] == remote - # nothing - else - name = "#{remote}/#{branch}" - end - - branches[name] ||= {} - branches[name].merge! :name => name, :remote => remote, :remote_branch => "#{remote}/#{branch}", :remote_url => remotes[remote], :ignore => ignore - end -end - -## assemble remotes -branches.each do |k, b| - next unless b[:remote] && b[:remote_mergepoint] - b[:remote_branch] = if b[:remote] == "." - b[:remote_mergepoint] - else - t = "#{b[:remote]}/#{b[:remote_mergepoint]}" - remote_branches[t] && t # only if it's still alive - end -end - -show_dirty = ARGV.empty? -targets = if ARGV.empty? - [`git symbolic-ref HEAD`.chomp.sub(/^refs\/heads\//, "")] -else - ARGV.map { |x| x.sub(/^heads\//, "") } -end.map { |t| branches[t] or abort "Error: can't find branch #{t.inspect}." } - -targets.each do |t| - show t - show_relations t, branches if $show_relations || t[:remote_branch].nil? -end - -modified = show_dirty && `git ls-files -m` != "" -uncommitted = show_dirty && `git diff-index --cached HEAD` != "" - -if $key - puts - puts KEY -end - -puts if modified || uncommitted -puts "#{red "NOTE"}: working directory contains modified files." if modified -puts "#{red "NOTE"}: staging area contains staged but uncommitted files." if uncommitted - -# the end! diff --git a/bin/ktoolbox b/bin/ktoolbox deleted file mode 120000 index fcc985d..0000000 --- a/bin/ktoolbox +++ /dev/null @@ -1 +0,0 @@ -/home/dln/src/github.com/dln/ktoolbox/ktoolbox \ No newline at end of file diff --git a/bin/pst b/bin/pst deleted file mode 100755 index 3239f28..0000000 --- a/bin/pst +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash -set -eo pipefail - -URL="https://paste.aarn.shelman.io" - -FILEPATH="$1" -FILENAME=$(basename -- "$FILEPATH") -EXTENSION="${FILENAME##*.}" - -RESPONSE=$(curl -s --data-binary "@${FILEPATH:-/dev/stdin}" --url $URL) -PASTELINK="$URL$RESPONSE" - -[ -z "$EXTENSION" ] && - echo "$PASTELINK" || - echo "$PASTELINK.$EXTENSION" diff --git a/bin/starship-sl-status b/bin/starship-sl-status deleted file mode 100755 index 8a80026..0000000 --- a/bin/starship-sl-status +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -set -xfeuo pipefail - -state="${XDG_RUNTIME_DIR}/starship-sl-status" -checkout="${state}.checkout" -status="${state}.data" - -if [[ "$PWD" != $(readlink -f "$state")* ]]; then - rm -f "$state" - root="$(sl root 2>/dev/null || true)" - ln -s "$root" "$state" - if [[ -z "${root}" ]]; then - echo >"${status}" - echo >"${checkout}" - exit 0 - fi -fi - -saved_cid=$(cat "${checkout}" 2>/dev/null || true) -root_cid=$(cat "${state}/.sl/checkoutidentifier" || true) -if [[ ${root_cid} != "${saved_cid}" ]]; then - echo "${root_cid}" >"${checkout}" - sl log -r . -T '{if(github_pull_request_number, "#{github_pull_request_number} @ ", if(bookmarks, "{bookmarks} @ "))}{node|short}{if(remotenames, ":{remotenames}")}' >"${status}" -fi - -cat "$status" || true diff --git a/bin/tmux-build-helper b/bin/tmux-build-helper deleted file mode 100755 index e27347c..0000000 --- a/bin/tmux-build-helper +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ef -o pipefail -eval "$(direnv export bash)" -eval "${BUILD_COMMAND:-echo 'BUILD_COMMAND not set'}" | bat --paging=always diff --git a/bin/tmux-edit-helper b/bin/tmux-edit-helper deleted file mode 120000 index cdf7994..0000000 --- a/bin/tmux-edit-helper +++ /dev/null @@ -1 +0,0 @@ -tmux-nvim-helper \ No newline at end of file diff --git a/bin/tmux-edit-history b/bin/tmux-edit-history deleted file mode 100755 index 6631110..0000000 --- a/bin/tmux-edit-history +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail -_file=$(fre --store_name edit-history --sorted | exec fzf --no-sort --preview "bat {}" --preview-window=down,70%,wrap,border-top --color=bg+:16,fg+:49,pointer:49 --layout=reverse "--bind=alt-e:become(tmux-edit-helper)") -[ -n "$_file" ] && exec tmux-edit-helper "$_file" diff --git a/bin/tmux-hx-helper b/bin/tmux-hx-helper deleted file mode 100755 index 633150e..0000000 --- a/bin/tmux-hx-helper +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail - -eval "$(direnv export bash 2>/dev/null)" - -PATH="$HOME/bin:$PATH" - -if [ -n "$1" ]; then - _file=$(readlink -f "$@") -else - FZF=${FZF:-"fzf-tmux -p 90%,90% -y 0"} - _root=$(git rev-parse --show-toplevel 2>/dev/null || pwd) - _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort --preview "bat {}" --preview-window=bottom,70%,border-top --color=bg+:16,fg+:49,pointer:49 --layout=reverse "--bind=alt-e:become(tmux-edit-history)") - _file="${_root}/${_file}" - fre --store_name "$_store" --add "$_file" -fi - -fre --store_name "edit-history" --add "$_file" - -tmux-shortcut 1 env \ - "AR=$AR" \ - "AS=$AS" \ - "BUILD_COMMAND=$BUILD_COMMAND" \ - "CC=$CC" \ - "CXX=$CXX" \ - "GOFLAGS=$GOFLAGS" \ - "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - "LC_ALL=$LC_ALL" \ - "LD=$LD" \ - "NM=$NM" \ - "NM=$NM" \ - "OBJCOPY=$OBJCOPY" \ - "OBJDUMP=$OBJDUMP" \ - "PATH=$PATH" \ - "RANLIB=$RANLIB" \ - "READELF=$READELF" \ - "RUST_SRC_PATH=$RUST_SRC_PATH" \ - "SIZE=$SIZE" \ - "STRIP=$STRIP" \ - helix "${_file}" -sleep 0.1 -tmux send-keys Escape && - tmux send-keys ":open ${_file}" Enter ":reload" Enter diff --git a/bin/tmux-nvim-helper b/bin/tmux-nvim-helper deleted file mode 100755 index 68f1e9e..0000000 --- a/bin/tmux-nvim-helper +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash -set -fe -o pipefail - -eval "$(direnv export bash 2>/dev/null)" - -PATH="$HOME/bin:$PATH" - -if [ -n "$1" ]; then - _file=$(readlink -f "$@") -else - FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0 --layout=reverse"} - _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) - _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) - _file="${_root}/${_file}" - fre --store_name "$_store" --add "$_file" -fi - -fre --store_name "edit-history" --add "$_file" - -_nvim_socket="$XDG_RUNTIME_DIR/nvim-persistent.sock" - -(tmux select-window -t nvim 2>/dev/null && tmux select-pane -t 0) && exec nvim --server "$_nvim_socket" --remote "$_file" - -# nvim is not running/listening on remote socket, so start it. -tmux new-window -S -t 42 -n nvim \ - -e "AR=$AR" \ - -e "AS=$AS" \ - -e "BUILD_COMMAND=$BUILD_COMMAND" \ - -e "CC=$CC" \ - -e "CXX=$CXX" \ - -e "GOFLAGS=$GOFLAGS" \ - -e "GOPACKAGESDRIVER=$GOPACKAGESDRIVER" \ - -e "LC_ALL=$LC_ALL" \ - -e "LD=$LD" \ - -e "NM=$NM" \ - -e "NM=$NM" \ - -e "OBJCOPY=$OBJCOPY" \ - -e "OBJDUMP=$OBJDUMP" \ - -e "PATH=$PATH" \ - -e "RANLIB=$RANLIB" \ - -e "READELF=$READELF" \ - -e "RUST_SRC_PATH=$RUST_SRC_PATH" \ - -e "SIZE=$SIZE" \ - -e "STRIP=$STRIP" \ - nvim --listen "$_nvim_socket" "$_file" diff --git a/bin/tmux-shortcut b/bin/tmux-shortcut deleted file mode 100755 index 536ab54..0000000 --- a/bin/tmux-shortcut +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -set -eo pipefail - -nr="@app-${1}" -shift - -pane="$(tmux show -vg ${nr} || true)" -if [[ -n "${pane}" ]] && tmux has-session -t "${pane}" ; then - if tmux list-panes -F "#{pane_id}" | grep "^${pane}\$" >>/dev/null ; then - # Pane is on this window. Focus it and exit. - exec tmux select-pane -t "${pane}" - fi -else - # App pane does not exist, so create a new window. - pane=$(tmux new-window -d -P -F '#{pane_id}' "$@") - tmux set -g "${nr}" "${pane}" -fi - -# Swap active pane for app -tmux swap-pane -s "${pane}" diff --git a/bin/tpm2-pkcs11-init-ssh.sh b/bin/tpm2-pkcs11-init-ssh.sh deleted file mode 100755 index b66fb8d..0000000 --- a/bin/tpm2-pkcs11-init-ssh.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash -set -e - -store=$1 -if [ -z "$store" ]; then - echo "Usage: $0 [store-name]" - exit 1 -fi - -export TPM2_PKCS11_STORE=$HOME/.local/share/tpm2-pkcs11/${store} - -echo "=> Initializing store ${TPM2_PKCS11_STORE}" -mkdir -p $TPM2_PKCS11_STORE -tpm2_ptool init -tpm2_ptool addtoken --pid=1 --label=ssh --sopin="$(systemd-ask-password SOPIN)" --userpin="$(systemd-ask-password USERPIN)" - -echo -echo "=> Adding SSH key" -tpm2_ptool addkey --label=ssh --algorithm=ecc256 --userpin="$(systemd-ask-password USERPIN)" - -echo -echo "Store path: $TPM2_PKCS11_STORE" -echo "SSH public key:" -ssh-keygen -D /usr/lib/pkcs11/libtpm2_pkcs11.so 2>>/dev/null diff --git a/bin/url-copy b/bin/url-copy deleted file mode 100755 index 281715e..0000000 --- a/bin/url-copy +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -echo "$@" | xclip -selection clipboard diff --git a/bin/vault-token-helper.sh b/bin/vault-token-helper.sh deleted file mode 100755 index bac9855..0000000 --- a/bin/vault-token-helper.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash - -# Vault Token helper for the Linux key retention service. -# -# Since version 2.6, the Linux kernel has included a efficiently store -# authentication data on a per thread, per process, per user, or per session -# bases. -# -# Linux Key Management Utilities (keyutils) provides `keyctl` to control -# the facility from the shell. -# -# see https://www.kernel.org/doc/Documentation/security/keys/core.rst -# see https://www.kernel.org/doc/Documentation/security/keys.txt -# see https://lwn.net/Articles/210502/ -# see https://www.ibm.com/developerworks/library/l-key-retention/index.html -# -# Vault allows an external programs to be configured as a token helper -# that can get, store, and erase tokens on behalf of the Vault client. -# -# see https://www.vaultproject.io/docs/commands/token-helper.html -# -# To use this script, make it executable and set your ~/.vault file to -# contain: -# -# token_helper = "/path/to/vault-token-helper.sh" - -# Exit on error. -set -o errexit -# Exit on error inside any functions or subshells. -set -o errtrace -# Do not allow use of undefined vars. -set -o nounset -# Catch the error if any piped command fails. -set -o pipefail - -desc=VAULT_TOKEN:${VAULT_ADDR} - -case $1 in -get) - # If the key is not set, keyctl returns "request_key: Required key not available" - # on stderr and exits with a non-zero status. The implied - key_id=$(keyctl request user ${desc} || echo '') - [ -z ${key_id} ] && exit 0 - keyctl pipe ${key_id} -;; -store) - # Vault sends the token on stdin but there is no linebreak, so EOF is reached - # which causes read to return a non-zero status. - read -r token || true - echo -n ${token} | keyctl padd user ${desc} @u -;; -erase) - keyctl purge user ${desc} -;; -esac diff --git a/bin/wezterm-edit-helper b/bin/wezterm-edit-helper deleted file mode 100755 index 7c93727..0000000 --- a/bin/wezterm-edit-helper +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash -set -fe -o pipefail - -eval "$(direnv export bash 2>/dev/null)" - -PATH="$HOME/bin:$PATH" - -if [ -n "$1" ]; then - _file=$(readlink -f "$@") -else - FZF=${FZF:-"fzf-tmux -p 90%,50% -y 0 --layout=reverse"} - _root=$(git rev-parse --show-toplevel 2>/dev/null || jj workspace root 2>/dev/null || pwd) - _store=$(echo "$_root" | sha1sum | cut -d ' ' -f 1) - _file=$( ( (fre --store_name "$_store" --sorted | xargs -n 100 ls -d 2>/dev/null || true) && fd --type f --hidden --follow --exclude .git --exclude .jj --ignore-file "${_root}/.gitignore" . "$_root") | cat -n | sort -k2 -k1n | uniq -f1 | sort -nk1,1 | cut -f2- | sed -e "s#^${_root}/##" | $FZF --no-sort) - _file="${_root}/${_file}" - fre --store_name "$_store" --add "$_file" -fi - -fre --store_name "edit-history" --add "$_file" - -rm -f "$XDG_RUNTIME_DIR/nvim-persistent.sock" -nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null - -# Wezterm: switch tab to nvim -printf "\033]1337;SetUserVar=%s=%s\007" nvim_activate $(date +%s | base64) diff --git a/bin/xdg-open b/bin/xdg-open deleted file mode 100755 index 801d576..0000000 --- a/bin/xdg-open +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env sh -set -e - -# Use local xdg-open if not in an ssh session -[ -n "$SSH_TTY" ] || exec xdg-open "$@" - -if [ -p /dev/stdin ]; then - exec nc -U "$XDG_RUNTIME_DIR/opener.sock" </dev/stdin -else - echo "$@" | nc -U "$XDG_RUNTIME_DIR/opener.sock" -fi diff --git a/common/atuin.nix b/common/atuin.nix new file mode 100644 index 0000000..6e7f79f --- /dev/null +++ b/common/atuin.nix @@ -0,0 +1,40 @@ +{ pkgs, ... }: +{ + programs.atuin = { + enable = true; + enableFishIntegration = true; + settings = { + ctrl_n_shortcuts = true; + enter_accept = true; + filter_mode_shell_up_key_binding = "session"; + history_filter = [ ]; + inline_height = 8; + prefers_reduced_motion = true; + search_mode_shell_up_key_binding = "prefix"; + show_help = false; + style = "compact"; + sync_address = "https://atuin.aarn.shelman.io"; + sync.records = true; + + stats.common_subcommands = [ + "cargo" + "git" + "go" + "jj" + "just" + "kubectl" + "nix" + "npm" + "pnpm" + "talosctl" + "task" + "yarn" + ]; + + stats.common_prefix = [ + "doas" + "sudo" + ]; + }; + }; +} diff --git a/common/broot.nix b/common/broot.nix new file mode 100644 index 0000000..133b3e7 --- /dev/null +++ b/common/broot.nix @@ -0,0 +1,63 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + programs.broot = { + enable = true; + enableFishIntegration = true; + settings = { + content_search_max_file_size = "10MB"; + enable_kitty_keyboard = lib.mkForce true; + icon_theme = "nerdfont"; + lines_before_match_in_preview = 1; + lines_after_match_in_preview = 1; + quit_on_last_cancel = true; + show_selection_mark = true; + special_paths = { + "~/media" = { + list = "never"; + sum = "never"; + }; + "~/.config" = { + show = "always"; + }; + "trav" = { + show = "always"; + list = "always"; + sum = "never"; + }; + }; + true_colors = true; + + verbs = [ + { + invocation = "broot_home"; + key = "ctrl-7"; + external = "br $HOME"; + from_shell = true; + leave_broot = true; + } + { + invocation = "edit"; + key = "enter"; + shortcut = "e"; + external = "edit {file}"; + apply_to = "text_file"; + from_shell = true; + leave_broot = true; + } + { + invocation = "nvim"; + key = "enter"; + apply_to = "text_file"; + external = "edit {file}"; + from_shell = true; + leave_broot = true; + } + ]; + }; + }; +} diff --git a/common/default.nix b/common/default.nix new file mode 100644 index 0000000..d36eaaa --- /dev/null +++ b/common/default.nix @@ -0,0 +1,21 @@ +{ lib, ... }: +{ + imports = [ + ./atuin.nix + ./broot.nix + ./devel.nix + ./fish.nix + ./gnome.nix + ./k8s.nix + ./nix.nix + ./nvim.nix + ./scripts.nix + ./ssh.nix + ./utils.nix + ./vcs.nix + ./web.nix + ./wezterm.nix + ]; + + options.shelman.desktop.enable = lib.mkEnableOption "Desktop environment"; +} diff --git a/common/devel.nix b/common/devel.nix new file mode 100644 index 0000000..10768d9 --- /dev/null +++ b/common/devel.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + bacon + cargo + clang + codeium + gnumake + go + just + ldns + nixfmt-rfc-style + nodejs_22 + passage + rage + prettierd + rust-analyzer + rustc + sqlite + stylua + tree-sitter + zig + ]; +} diff --git a/common/fish.nix b/common/fish.nix new file mode 100644 index 0000000..5f30a69 --- /dev/null +++ b/common/fish.nix @@ -0,0 +1,122 @@ +{ lib, pkgs, ... }: +{ + + programs.fish = { + enable = true; + + plugins = [ + { + name = "transient-fish"; + src = pkgs.fetchFromGitHub { + owner = "zzhaolei"; + repo = "transient.fish"; + rev = "deb35c4d07ea6acc56b073d7ba84f8ed76356abd"; + sha256 = "sha256-BQvuqY7D+9fTDeLb7Fz9Ll/7uIlqrmRmn0S+G9v+2Uc="; + }; + } + ]; + + functions = { + edit = { + description = "Open a file in already running nvim and switch tab"; + argumentNames = [ "file" ]; + body = '' + set _file (readlink -f "$file") + if test -z "$file" + set _root (vcs_root) + set _file (fd --type f . "$_root" | sed -e "s#^$_root/##" | fzf --no-sort --layout=reverse) + set _file "$_root/$_file" + end + nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null + or return 1 + # Wezterm: switch tab to nvim + printf "\033]1337;SetUserVar=nvim_activate=\007" + ''; + }; + + __zoxide_zi_repaint.body = '' + __zoxide_zi + commandline -f repaint + ''; + + fish_jj_prompt.body = '' + # Is jj installed? + if not command -sq jj + return 1 + end + + # Are we in a jj repo? + if not jj root --quiet &>/dev/null + return 1 + end + + # Generate prompt + jj log --ignore-working-copy --no-graph --color always -r @ -T ' + separate( + " ", + change_id.shortest(), + coalesce( + surround( + "\"", + "\"", + if( + description.first_line().substr(0, 24).starts_with(description.first_line()), + description.first_line().substr(0, 24), + description.first_line().substr(0, 23) ++ "…" + ) + ), + "(no description set)" + ), + branches.join(", "), + commit_id.shortest(), + if(conflict, "(conflict)"), + if(empty, "(empty)"), + if(divergent, "(divergent)"), + if(hidden, "(hidden)"), + ) + ' + ''; + + fish_prompt.body = '' + echo + string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd) (set_color green) ' ❯ ' (set_color normal) + ''; + + fish_right_prompt.body = '' + fish_jj_prompt || fish_vcs_prompt + ''; + + transient_prompt_func.body = '' + echo + string join "" -- (set_color green) '❯ ' (set_color normal) + ''; + + rg.body = '' + if status is-interactive + command rg -p $argv | bat + else + command rg $argv + end + ''; + }; + + interactiveShellInit = lib.concatStringsSep "\n" [ + (builtins.readFile ../files/config/fish/config.fish) + (builtins.readFile ../files/config/fish/semantic-prompt.fish) + (builtins.readFile ../files/config/fish/go-task.fish) + (builtins.readFile ../files/config/fish/jj.fish) + (builtins.readFile ../files/config/fish/vcs.fish) + ]; + + shellAbbrs = { + e = "edit"; + l = "bat"; + ls = "eza"; + tree = "eza --tree"; + top = "btm --basic --enable_cache_memory --enable_gpu_memory --battery"; + ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; + w = "viddy -n1 $history[1]"; + xc = "fish_clipboard_copy"; + }; + }; +} diff --git a/common/gnome.nix b/common/gnome.nix new file mode 100644 index 0000000..3aa5800 --- /dev/null +++ b/common/gnome.nix @@ -0,0 +1,194 @@ +{ + config, + lib, + pkgs, + ... +}: +with lib.hm.gvariant; +{ + config = lib.mkIf config.shelman.desktop.enable { + home.packages = with pkgs; [ + gnome-tweaks + gnome-pomodoro + gnomeExtensions.desktop-clock + gnomeExtensions.just-perfection + gnomeExtensions.vitals + ]; + + dconf.settings = { + "org/gnome/desktop/background" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; + picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; + primary-color = "#77767B"; + secondary-color = "#000000"; + }; + + "org/gnome/desktop/screensaver" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; + primary-color = "#77767B"; + secondary-color = "#000000"; + }; + + "org/gnome/desktop/wm/keybindings" = { + close = [ "<Super>q" ]; + toggle-on-all-workspaces = [ "<Super>s" ]; + toggle-maximized = [ "<Super>m" ]; + maximize-vertically = [ "<Super>Up" ]; + minimize = [ "<Super>comma" ]; + move-to-center = [ "<Super>c" ]; + switch-applications = [ "<Super>Tab" ]; + switch-windows = [ "<Alt>Tab" ]; + move-to-workspace-1 = [ "<Shift>F1" ]; + move-to-workspace-2 = [ "<Shift>F2" ]; + move-to-workspace-3 = [ "<Shift>F3" ]; + move-to-workspace-4 = [ "<Shift>F4" ]; + move-to-workspace-5 = [ "<Shift>F5" ]; + move-to-workspace-6 = [ "<Shift>F6" ]; + move-to-workspace-7 = [ "<Shift>F7" ]; + move-to-workspace-8 = [ "<Shift>F8" ]; + move-to-workspace-9 = [ "<Shift>F9" ]; + switch-to-workspace-1 = [ "F1" ]; + switch-to-workspace-2 = [ "F2" ]; + switch-to-workspace-3 = [ "F3" ]; + switch-to-workspace-4 = [ "F4" ]; + switch-to-workspace-5 = [ "F5" ]; + switch-to-workspace-6 = [ "F6" ]; + switch-to-workspace-7 = [ "F7" ]; + switch-to-workspace-8 = [ "F8" ]; + switch-to-workspace-9 = [ "F9" ]; + }; + + "org/gnome/desktop/input-sources" = { + mru-sources = [ + (mkTuple [ + "xkb" + "us" + ]) + ]; + sources = [ + (mkTuple [ + "xkb" + "se+us" + ]) + ]; + xkb-options = [ "caps:ctrl_modifier" ]; + }; + + "org/gnome/desktop/interface" = { + enable-animations = false; + enable-hot-corners = false; + show-battery-percentage = true; + font-antialiasing = "grayscale"; + font-hinting = "slight"; + font-name = "Inter Variable 11"; + document-font-name = "Inter Variable 11"; + monospace-font-name = "BerkeleyMono Nerd Font 11"; + toolkit-accessibility = false; + }; + + "org/gnome/desktop/search-providers" = { + disabled = [ + "org.gnome.Contacts.desktop" + "org.gnome.Nautilus.desktop" + "org.gnome.Calendar.desktop" + "org.gnome.clocks.desktop" + "org.gnome.Epiphany.desktop" + ]; + sort-order = [ + "org.gnome.Contacts.desktop" + "org.gnome.Documents.desktop" + "org.gnome.Nautilus.desktop" + "org.gnome.Settings.desktop" + "org.gnome.Calculator.desktop" + "org.gnome.Calendar.desktop" + "org.gnome.clocks.desktop" + "org.gnome.seahorse.Application.desktop" + "org.gnome.Weather.desktop" + "org.gnome.Characters.desktop" + ]; + }; + + "org/gnome/desktop/wm/preferences" = { + focus-mode = "sloppy"; + num-workspaces = 10; + resize-with-right-button = true; + }; + + "org/gnome/GWeather4" = { + temperature-unit = "centigrade"; + }; + + "org/gnome/Weather" = { + locations = [ + (mkVariant (mkTuple [ + (mkUint32 2) + (mkVariant (mkTuple [ + "Stockholm-Arlanda Airport" + "ESSA" + false + [ + (mkTuple [ + 1.0410888988146176 + 0.31328660073298215 + ]) + ] + [ + (mkTuple [ + 1.0410888988146176 + 0.31328660073298215 + ]) + ] + ])) + ])) + ]; + }; + + "org/gnome/desktop/calendar" = { + show-weekdate = true; + }; + + "org/gnome/mutter" = { + center-new-windows = true; + edge-tiling = true; + }; + + "org/gnome/settings-daemon/plugins/color" = { + night-light-schedule-automatic = false; + night-light-schedule-from = 0.0; + night-light-schedule-to = 0.0; + night-light-temperature = mkUint32 3575; + }; + + "org/gnome/shell" = { + enabled-extensions = [ + "just-perfection-desktop@just-perfection" + "Vitals@CoreCoding.com" + ]; + }; + + "org/gnome/shell/extensions/just-perfection" = { + animation = 0; + notification-banner-position = 2; + osd-position = 6; + panel = false; + panel-in-overview = true; + startup-status = 0; + switcher-popup-delay = false; + top-panel-position = 0; + }; + + "org/gnome/shell/extensions/vitals" = { + update-time = 15; + }; + + "org/gnome/tweaks" = { + show-extensions-notice = false; + }; + + }; + }; +} diff --git a/common/k8s.nix b/common/k8s.nix new file mode 100644 index 0000000..53820e9 --- /dev/null +++ b/common/k8s.nix @@ -0,0 +1,176 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + kail + kapp + krew + kubectl + kubectl-cnpg + kubectl-neat + kubectl-view-secret + kubectx + kubelogin-oidc + kubernetes-helm + kustomize + ]; + + programs.k9s = { + enable = true; + settings.k9s = { + liveViewAutoRefresh = false; + refreshRate = 2; + maxConnRetry = 5; + readOnly = false; + noExitOnCtrlC = false; + skipLatestRevCheck = false; + disablePodCounting = false; + imageScans.enable = false; + logger = { + tail = 100; + buffer = 5000; + sinceSeconds = -1; + textWrap = false; + showTime = false; + }; + shellPod.image = "alpine:3"; + thresholds = { + cpu = { + critical = 90; + warn = 70; + }; + memory = { + critical = 90; + warn = 70; + }; + }; + ui = { + crumbsless = true; + defaultsToFullScreen = true; + enableMouse = false; + headless = true; + logoless = true; + noIcons = false; + reactive = false; + skin = "dieter"; + }; + }; + + views = { + views = { + "v1/pods" = { + columns = [ + "NAME" + "PF" + "READY" + "STATUS" + "NODE" + "AGE" + "RESTARTS" + "IP" + "CPU" + "MEM" + "CPU/R:L" + "MEM/R:L" + "%CPU/R" + "%CPU/L" + "%MEM/R" + "%MEM/L" + ]; + }; + }; + }; + + skins.dieter.k9s = { + body = { + fgColor = "default"; + bgColor = "default"; + logoColor = "default"; + }; + prompt = { + fgColor = "default"; + bgColor = "default"; + suggestColor = "default"; + }; + info = { + fgColor = "default"; + sectionColor = "default"; + }; + dialog = { + fgColor = "default"; + bgColor = "default"; + buttonFgColor = "default"; + buttonBgColor = "default"; + buttonFocusFgColor = "white"; + buttonFocusBgColor = "darkblue"; + labelFgColor = "default"; + fieldFgColor = "default"; + }; + frame = { + border = { + fgColor = "default"; + focusColor = "default"; + }; + menu = { + fgColor = "default"; + keyColor = "default"; + numKeyColor = "default"; + }; + crumbs = { + fgColor = "default"; + bgColor = "default"; + activeColor = "default"; + }; + status = { + newColor = "default"; + modifyColor = "default"; + addColor = "default"; + errorColor = "red"; + highlightColor = "default"; + killColor = "default"; + completedColor = "default"; + }; + title = { + fgColor = "default"; + bgColor = "default"; + highlightColor = "default"; + counterColor = "default"; + filterColor = "default"; + }; + }; + views = { + table = { + fgColor = "default"; + bgColor = "default"; + cursorFgColor = "teal"; + cursorBgColor = "darkblue"; + header = { + fgColor = "default"; + bgColor = "default"; + sorterColor = "blue"; + }; + }; + xray = { + fgColor = "default"; + bgColor = "default"; + cursorColor = "blue"; + graphicColor = "blue"; + }; + yaml = { + keyColor = "default"; + colonColor = "default"; + valueColor = "default"; + }; + logs = { + fgColor = "default"; + bgColor = "default"; + indicator = { + fgColor = "default"; + bgColor = "default"; + toggleOnColor = "default"; + toggleOffColor = "default"; + }; + }; + }; + }; + }; +} diff --git a/common/nix.nix b/common/nix.nix new file mode 100644 index 0000000..3b66fd3 --- /dev/null +++ b/common/nix.nix @@ -0,0 +1,15 @@ +{ outputs, ... }: +{ + nixpkgs = { + config.allowUnfree = true; + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; + }; + + programs.home-manager.enable = true; + + systemd.user.startServices = "sd-switch"; +} diff --git a/common/nvim.nix b/common/nvim.nix new file mode 100644 index 0000000..83f255b --- /dev/null +++ b/common/nvim.nix @@ -0,0 +1,19 @@ +{ ... }: +{ + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + withNodeJs = false; + withPython3 = false; + withRuby = false; + }; + + xdg.configFile = { + "nvim" = { + recursive = true; + source = ./../files/config/nvim; + }; + }; +} diff --git a/common/scripts.nix b/common/scripts.nix new file mode 100644 index 0000000..4848c39 --- /dev/null +++ b/common/scripts.nix @@ -0,0 +1,17 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + home.file = { + ".local/bin" = { + recursive = true; + source = ./../files/scripts; + }; + + }; + + home.sessionPath = [ "$HOME/.local/bin" ]; +} diff --git a/common/ssh.nix b/common/ssh.nix new file mode 100644 index 0000000..1f59463 --- /dev/null +++ b/common/ssh.nix @@ -0,0 +1,14 @@ +{ ... }: +{ + programs.ssh = { + enable = true; + addKeysToAgent = "yes"; + compression = false; + controlMaster = "auto"; + controlPath = "\${XDG_RUNTIME_DIR}/ssh_control:%h:%p:%r"; + controlPersist = "15m"; + extraConfig = '' + PreferredAuthentications publickey + ''; + }; +} diff --git a/common/utils.nix b/common/utils.nix new file mode 100644 index 0000000..ef5f380 --- /dev/null +++ b/common/utils.nix @@ -0,0 +1,60 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + dust + jless + procs + viddy + ]; + + programs = { + bat = { + enable = true; + config = { + italic-text = "always"; + paging = "auto"; + style = "plain"; + theme = "ansi"; + }; + }; + + bottom.enable = true; + + direnv = { + enable = true; + nix-direnv.enable = true; + silent = false; + }; + + eza = { + enable = true; + enableFishIntegration = true; + }; + + fd.enable = true; + + fzf = { + enable = true; + enableFishIntegration = true; + }; + + jq.enable = true; + less.enable = true; + lesspipe.enable = true; + tmux.enable = true; + + ripgrep = { + enable = true; + arguments = [ + "--glob=!.git/*" + "--glob=!.jj/*" + ]; + }; + + zoxide = { + enable = true; + enableFishIntegration = true; + options = [ "--cmd=cd" ]; + }; + }; +} diff --git a/common/vcs.nix b/common/vcs.nix new file mode 100644 index 0000000..e63f1d3 --- /dev/null +++ b/common/vcs.nix @@ -0,0 +1,166 @@ +{ config, pkgs, ... }: +{ + + home.packages = with pkgs; [ + delta + diffedit3 + difftastic + git-graph + git-town + lazyjj + tea + ]; + + programs.gh = { + enable = true; + }; + + programs.git = { + enable = true; + + aliases = { + b = "branch -va"; + cl = "clone --filter=blob:none"; + co = "checkout"; + d = "diff --stat -p -C --color-words"; + ds = "diff --staged --stat -p -C --color-words"; + g = "graph -S -m simple -s round"; + guilt = "!f(){ git log --pretty='format:%an <%ae>' $@ | sort | uniq -c | sort -rn; }; f"; + lla = "log --graph --all --topo-order --pretty='format:\t%x1B[0;3;36m%as %x1B[0;95;3m%<(12)%al %x1B[3;32m• %h%x1B[0;1;92m%d%x1B[0m %s'"; + ll = "log --pretty='format:%x1B[0;3;36m%as %G? %x1B[0;95;3m%<(12,trunc)%al %x1B[3;32m• %h%x1B[0;1;92m%(decorate:prefix= [,suffix=]%n)%>|(35)%Creset %s'"; + patch = "!git --no-pager diff --no-color"; + pullr = "pull --rebase --autostash"; + sh = "show --stat -p -C --color-words --show-signature"; + st = "status -sb"; + }; + + delta = { + enable = true; + options = { + file-added-label = "[+]"; + file-decoration-style = "none"; + file-modified-label = "[*]"; + file-removed-label = "[-]"; + file-renamed-label = "[>]"; + file-style = "bold reverse"; + file-transformation = "s/$/ ░▒▓/"; + hunk-header-decoration-style = "none"; + hunk-header-file-style = "bold"; + hunk-header-line-number-style = "bold"; + hunk-header-style = "bold"; + hunk-label = "⯁"; + hunk-label-style = "bold"; + line-numbers = true; + max-line-distance = "0.9"; + navigate = true; + }; + }; + + extraConfig = { + apply.whitespace = "nowarn"; + blame.date = "relative"; + branch.main.rebase = true; + color = { + branch = "auto"; + diff = "auto"; + status = "auto"; + ui = "auto"; + }; + column.ui = "auto"; + core = { + compression = 3; + looseCompression = 3; + excludesfile = "~/.config/git/ignore"; + }; + fetch = { + prune = true; + prunetags = true; + showForcedUpdates = true; + }; + gpg = { + format = "ssh"; + ssh = { + allowedSignersFile = "${config.home.homeDirectory}/.ssh/authorized_keys"; + defaultKeyCommand = "${config.home.homeDirectory}/.local/bin/git-signing-key"; + }; + }; + init.defaultBranch = "main"; + merge.conflictstyle = "zdiff3"; + pack = { + compression = 3; + threads = 0; + }; + pull.rebase = true; + push.default = "tracking"; + rebase.autosquash = true; + rerere.enabled = true; + tag.sort = "-v:refname"; + user.useConfigOnly = true; + }; + + ignores = [ + "*~" + "*.a" + "*.class" + "*.iml" + "*.ipr" + "*.iwr" + "*.iws" + "*.la" + "*.o" + "*.pyc" + "*.so" + "*.swp" + ".direnv" + ".idea" + ".null-ls_*" + ]; + + signing = { + key = null; + signByDefault = true; + }; + }; + + programs.gitui = { + enable = true; + keyConfig = '' + ( + open_help: Some(( code: F(1), modifiers: "")), + move_left: Some(( code: Char('h'), modifiers: "")), + move_right: Some(( code: Char('l'), modifiers: "")), + move_up: Some(( code: Char('k'), modifiers: "")), + move_down: Some(( code: Char('j'), modifiers: "")), + popup_up: Some(( code: Char('p'), modifiers: "CONTROL")), + popup_down: Some(( code: Char('n'), modifiers: "CONTROL")), + page_up: Some(( code: Char('b'), modifiers: "CONTROL")), + page_down: Some(( code: Char('f'), modifiers: "CONTROL")), + home: Some(( code: Char('g'), modifiers: "")), + end: Some(( code: Char('G'), modifiers: "SHIFT")), + shift_up: Some(( code: Char('K'), modifiers: "SHIFT")), + shift_down: Some(( code: Char('J'), modifiers: "SHIFT")), + edit_file: Some(( code: Char('I'), modifiers: "SHIFT")), + status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")), + diff_reset_lines: Some(( code: Char('u'), modifiers: "")), + diff_stage_lines: Some(( code: Char('s'), modifiers: "")), + stashing_save: Some(( code: Char('w'), modifiers: "")), + stashing_toggle_index: Some(( code: Char('m'), modifiers: "")), + stash_open: Some(( code: Char('l'), modifiers: "")), + abort_merge: Some(( code: Char('M'), modifiers: "SHIFT")), + ) + ''; + theme = '' + ( + selection_bg: Some(Black), + selection_fg: Some(Reset), + cmdbar_bg: Some(Reset), + cmdbar_extra_lines_bg: Some(Reset), + ) + ''; + }; + + programs.jujutsu = { + enable = true; + package = pkgs.jujutsu-openssh; + }; +} diff --git a/common/web.nix b/common/web.nix new file mode 100644 index 0000000..5062a94 --- /dev/null +++ b/common/web.nix @@ -0,0 +1,22 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + config = lib.mkIf config.shelman.desktop.enable { + + home.packages = with pkgs; [ tor-browser ]; + + programs.firefox = { + enable = true; + }; + + programs.chromium = { + enable = true; + package = pkgs.ungoogled-chromium; + }; + + }; +} diff --git a/common/wezterm.nix b/common/wezterm.nix new file mode 100644 index 0000000..6555bdb --- /dev/null +++ b/common/wezterm.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: +{ + config = lib.mkIf config.shelman.desktop.enable { + + programs.wezterm = { + enable = true; + extraConfig = builtins.readFile ./../files/config/wezterm/wezterm.lua; + }; + + }; +} diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish new file mode 100644 index 0000000..dc30f48 --- /dev/null +++ b/files/config/fish/config.fish @@ -0,0 +1,59 @@ +# Bindings +bind \cg __zoxide_zi_repaint +bind \cJ forward-char +bind \cn history-prefix-search-forward +bind \cp history-prefix-search-backward + +# Settings +set fish_greeting +set fish_emoji_width 2 + +# xdg-open support on ssh remotes +if test -n SSH_TTY; and type -q wezterm-open-url + set -x DE generic + set -x BROWSER wezterm-open-url +end + +# Colors +set fish_color_command --bold +set fish_color_comment --italics --dim +set fish_color_autosuggestion --italics --bold red +set fish_color_cancel +set fish_color_command --bold +set fish_color_comment --italics --dim +set fish_color_cwd normal +set fish_color_cwd_root normal +set fish_color_end +set fish_color_error +set fish_color_escape +set fish_color_gray 6c7086 +set fish_color_history_current +set fish_color_host normal +set fish_color_host_remote yellow +set fish_color_keyword +set fish_color_match +set fish_color_normal normal +set fish_color_operator +set fish_color_option +set fish_color_param normal +set fish_color_quote --italics +set fish_color_redirection +set fish_color_search_match -r +set fish_color_selection -r +set fish_color_status normal +set fish_color_string --italics +set fish_color_user normal +set fish_color_valid_path +set fish_pager_color_background +set fish_pager_color_completion normal +set fish_pager_color_description --dim +set fish_pager_color_prefix --underline +set fish_pager_color_progress --dim +set fish_pager_color_secondary_background +set fish_pager_color_secondary_completion +set fish_pager_color_secondary_description +set fish_pager_color_secondary_prefix +set fish_pager_color_selected_background -r +set fish_pager_color_selected_completion +set fish_pager_color_selected_description +set fish_pager_color_selected_prefix diff --git a/files/config/fish/go-task.fish b/files/config/fish/go-task.fish new file mode 100644 index 0000000..6c7e2cf --- /dev/null +++ b/files/config/fish/go-task.fish @@ -0,0 +1,37 @@ +set GO_TASK_PROGNAME task + +function __task_get_tasks --description "Prints all available tasks with their description" + # Read the list of tasks (and potential errors) + $GO_TASK_PROGNAME --list-all 2>&1 | read -lz rawOutput + + # Return on non-zero exit code (for cases when there is no Taskfile found or etc.) + if test $status -ne 0 + return + end + + # Grab names and descriptions (if any) of the tasks + set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) + if test $output + echo $output + end +end + +complete -c $GO_TASK_PROGNAME -d 'Runs the specified task(s). Falls back to the "default" task if no task name was specified, or lists all tasks if an unknown task name was + specified.' -xa "(__task_get_tasks)" + +complete -c $GO_TASK_PROGNAME -s c -l color -d 'colored output (default true)' +complete -c $GO_TASK_PROGNAME -s d -l dir -d 'sets directory of execution' +complete -c $GO_TASK_PROGNAME -l dry -d 'compiles and prints tasks in the order that they would be run, without executing them' +complete -c $GO_TASK_PROGNAME -s f -l force -d 'forces execution even when the task is up-to-date' +complete -c $GO_TASK_PROGNAME -s h -l help -d 'shows Task usage' +complete -c $GO_TASK_PROGNAME -s i -l init -d 'creates a new Taskfile.yml in the current folder' +complete -c $GO_TASK_PROGNAME -s l -l list -d 'lists tasks with description of current Taskfile' +complete -c $GO_TASK_PROGNAME -s o -l output -d 'sets output style: [interleaved|group|prefixed]' -xa "interleaved group prefixed" +complete -c $GO_TASK_PROGNAME -s p -l parallel -d 'executes tasks provided on command line in parallel' +complete -c $GO_TASK_PROGNAME -s s -l silent -d 'disables echoing' +complete -c $GO_TASK_PROGNAME -l status -d 'exits with non-zero exit code if any of the given tasks is not up-to-date' +complete -c $GO_TASK_PROGNAME -l summary -d 'show summary about a task' +complete -c $GO_TASK_PROGNAME -s t -l taskfile -d 'choose which Taskfile to run. Defaults to "Taskfile.yml"' +complete -c $GO_TASK_PROGNAME -s v -l verbose -d 'enables verbose mode' +complete -c $GO_TASK_PROGNAME -l version -d 'show Task version' +complete -c $GO_TASK_PROGNAME -s w -l watch -d 'enables watch of the given task' diff --git a/files/config/fish/jj.fish b/files/config/fish/jj.fish new file mode 100644 index 0000000..78be3e2 --- /dev/null +++ b/files/config/fish/jj.fish @@ -0,0 +1,338 @@ +# TODO: passthru other args? E.g.. --at-operation, --repository +function __jj + command jj --ignore-working-copy --color=never --quiet $argv 2>/dev/null +end + +# Aliases +# Based on https://github.com/fish-shell/fish-shell/blob/cd71359c42f633d9d71a63591ae16d150407a2b2/share/completions/git.fish#L625. +# +# Aliases are stored in global variables. +# `__jj_aliases` is a list of all aliases and `__jj_alias_$alias` is the command line for the alias. +function __jj_add_alias + set -l alias $argv[1] + set -l alias_escaped (string escape --style=var -- $alias) + set -g __jj_alias_$alias_escaped $argv + set --append -g __jj_aliases $alias +end + +__jj config list aliases -T 'concat(name, "\t", value, "\n")' --include-defaults | while read -l config_alias + set -l parsed (string match --regex '^aliases\.(.+)\t(.*)$' --groups-only -- $config_alias) + set -l alias $parsed[1] + set -l command $parsed[2] + set -l args $alias + # Replace wrapping `[]` if any + set -l command (string replace -r --all '^\[|]$' "" -- $command) + while test (string length -- $command) -gt 0 + set -l parsed (string match -r '^"((?:\\\"|[^"])*?)"(?:,\s)?(.*)$' --groups-only -- $command) + set --append args $parsed[1] + set command $parsed[2] + end + __jj_add_alias $args +end + +__jj_add_alias ci commit +__jj_add_alias desc describe +__jj_add_alias op operation +__jj_add_alias st status + +# Resolve aliases that call another alias. +for alias in $__jj_aliases + set -l handled $alias + + while true + set -l alias_escaped (string escape --style=var -- $alias) + set -l alias_varname __jj_alias_$alias_escaped + set -l aliased_command $$alias_varname[1][2] + set -l aliased_escaped (string escape --style=var -- $aliased_command) + set -l aliased_varname __jj_alias_$aliased_escaped + set -q $aliased_varname + or break + + # Prevent infinite recursion + contains $aliased_escaped $handled + and break + + # Expand alias in cmdline + set -l aliased_cmdline $$aliased_varname[1][2..-1] + set --append aliased_cmdline $$alias_varname[1][3..-1] + set -g $alias_varname $$alias_varname[1][1] $aliased_cmdline + set --append handled $aliased_escaped + end +end + +function __jj_aliases_with_descriptions + for alias in $__jj_aliases + set -l alias_escaped (string escape --style=var -- $alias) + set -l alias_varname __jj_alias_$alias_escaped + set -l aliased_cmdline (string join " " -- $$alias_varname[1][2..-1] | string replace -r --all '\\\"' '"') + printf "%s\talias: %s\n" $alias $aliased_cmdline + end +end + +# Based on https://github.com/fish-shell/fish-shell/blob/2d4e42ee93327b9cfd554a0d809f85e3d371e70e/share/functions/__fish_seen_subcommand_from.fish. +# Test to see if we've seen a subcommand from a list. +# This logic may seem backwards, but the commandline will often be much shorter than the list. +function __jj_seen_subcommand_from + set -l cmd (commandline -opc) + set -e cmd[1] + + # Check command line arguments first. + for i in $cmd + if contains -- $i $argv + return 0 + end + end + + # Check aliases. + set -l alias $cmd[1] + set -l alias_escaped (string escape --style=var -- $alias) + set -l varname __jj_alias_$alias_escaped + set -q $varname + or return 1 + + for i in $$varname[1][2..-1] + if contains -- $i $argv + return 0 + end + end + + return 1 +end + +function __jj_changes + __jj log --no-graph --limit 1000 -r $argv[1] \ + -T 'separate("\t", change_id.shortest(), if(description, description.first_line(), "(no description set)")) ++ "\n"' +end + +function __jj_branches + set -f filter $argv[1] + if string length --quiet -- $argv[2] + __jj branch list --all-remotes -r "$argv[2]" \ + -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted branch)\") ++ \"\n\")" + else + __jj branch list --all-remotes \ + -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted branch)\") ++ \"\n\")" + end +end + +function __jj_all_branches + __jj_branches '!remote || !remote.starts_with("git")' $argv[1] +end + +function __jj_local_branches + __jj_branches '!remote' '' +end + +function __jj_remote_branches + __jj_branches 'remote && !remote.starts_with("git")' '' +end + +function __jj_all_changes + if string length --quiet -- $argv[1] + set -f REV $argv[1] + else + set -f REV "all()" + end + __jj_changes $REV + __jj_all_branches $REV +end + +function __jj_mutable_changes + set -f REV "mutable()" + __jj_changes $REV + __jj_all_branches $REV +end + +function __jj_revision_modified_files + if test $argv[1] = "@" + set -f suffix "" + else + set -l change_id (__jj log --no-graph --limit 1 -T 'change_id.shortest()') + set -f suffix " in $change_id" + end + + __jj diff -r $argv[1] --summary | while read -l line + set -l file (string split " " -m 1 -- $line) + switch $file[1] + case M + set -f change Modified + case D + set -f change Deleted + case A + set -f change Added + end + printf "%s\t%s%s\n" $file[2] $change $suffix + end +end + +function __jj_remotes + __jj git remote list | while read -l remote + printf "%s\t%s\n" (string split " " -m 1 -- $remote) + end +end + +function __jj_operations + __jj operation log --no-graph --limit 1000 -T 'separate("\t", id.short(), description) ++ "\n"' +end + +function __jj_parse_revision + set -l cmd (commandline -opc) + set -e cmd[1] + set -l return_next false + set -l return_value 1 + + # Check aliases. + set -l alias $cmd[1] + set -l alias_escaped (string escape --style=var -- $alias) + set -l varname __jj_alias_$alias_escaped + + if set -q $varname + set cmd $$varname[1][2..-1] $cmd[2..-1] + end + + # Check command line arguments first. + for i in $cmd + if $return_next + echo $i + set return_value 0 + else if contains -- $i -r --revision --from + set return_next true + else + set -l match (string match --regex '^(?:-r=?|--revision=|--from=)(.+)\s*$' --groups-only -- $i) + if set -q match[1] + echo $match[1] + set return_value 0 + end + end + end + + return $return_value +end + +function __jj_revision_files + set -l description (__jj log --no-graph --limit 1 -r $argv[1] -T 'change_id.shortest() ++ ": " ++ coalesce(description.first_line().substr(0, 30), "(no description set)")') + __jj file list -r $argv[1] | while read -l file + printf "%s\t%s\n" $file $description + end +end + +function __jj_revision_conflicted_files + __jj resolve --list -r $argv[1] | while read -l line + set -l file (string split " " -m 1 -- $line) + printf "%s\t%s\n" $file[1] $file[2] + end +end + +function __jj_parse_revision_files + set -l rev (__jj_parse_revision) + if test $status -eq 1 + set rev "@" + end + __jj_revision_files $rev +end + +function __jj_parse_revision_conflicted_files + set -l rev (__jj_parse_revision) + if test $status -eq 1 + set rev "@" + end + __jj_revision_conflicted_files $rev +end + +function __jj_parse_revision_files_or_wc_modified_files + set -l revs (__jj_parse_revision) + if test $status -eq 1 + __jj_revision_modified_files "@" + else + for rev in $revs + __jj_revision_files $rev + end + end +end + +function __jj_parse_revision_modified_files_or_wc_modified_files + set -l revs (__jj_parse_revision) + if test $status -eq 1 + __jj_revision_modified_files "@" + else + for rev in $revs + __jj_revision_modified_files $rev + end + end +end + +# Aliases. +complete -f -c jj -n __fish_use_subcommand -a '(__jj_aliases_with_descriptions)' + +# Files. +complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -ka '(__jj_parse_revision_files)' +complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from chmod' -ka '(__jj_parse_revision_files)' +complete -f -c jj -n '__jj_seen_subcommand_from commit' -ka '(__jj_revision_modified_files "@")' +complete -c jj -n '__jj_seen_subcommand_from diff' -ka '(__jj_parse_revision_files_or_wc_modified_files)' +complete -c jj -n '__jj_seen_subcommand_from interdiff' -ka '(__jj_parse_revision_files)' +complete -f -c jj -n '__jj_seen_subcommand_from resolve' -ka '(__jj_parse_revision_conflicted_files)' +complete -f -c jj -n '__jj_seen_subcommand_from restore' -ka '(__jj_parse_revision_files_or_wc_modified_files)' +complete -f -c jj -n '__jj_seen_subcommand_from split' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' +complete -f -c jj -n '__jj_seen_subcommand_from squash' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' +complete -f -c jj -n '__jj_seen_subcommand_from untrack' -ka '(__jj_parse_revision_files_or_wc_modified_files)' + +# Revisions. +complete -f -c jj -n '__jj_seen_subcommand_from abandon' -ka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from backout' -s r -l revision -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from backout' -s d -l destination -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -s r -l revision -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from chmod' -s r -l revision -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from describe' -ka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diff' -s r -l revision -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diff' -l from -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diff' -l to -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -s r -l revision -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l from -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l to -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from duplicate' -ka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from edit' -ka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from list' -s r -l revision -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l from -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l to -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from log' -s r -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from new' -ka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from new' -s A -l after -l insert-after -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from new' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from obslog' -s r -l revision -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from parallelize' -ka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s r -l revisions -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s s -l source -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s b -l branch -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s d -l destination -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s A -l after -l insert-after -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from resolve' -s r -l revision -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from restore' -l from -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from restore' -l to -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from restore' -s c -l changes-in -rka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from show' -ka '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from split' -s r -l revision -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from squash' -s r -l revision -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from squash' -l from -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from squash' -l to -l into -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from unsquash' -s r -l revision -rka '(__jj_mutable_changes)' + +# Branches. +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from delete forget rename set d f r s' -ka '(__jj_local_branches)' +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from track t' -ka '(__jj_branches "remote && !tracked" "")' +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from untrack' -ka '(__jj_branches "remote && tracked && !remote.starts_with(\"git\")" "")' +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from create move set c m s' -s r -l revision -kra '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from move' -l from -rka '(__jj_changes "all()")' +complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from move' -l to -rka '(__jj_changes "all()")' + +# Git. +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s c -l change -kra '(__jj_changes "all()")' +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s r -l revisions -kra '(__jj_changes "all()")' +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -s b -l branch -rka '(__jj_local_branches)' +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -l remote -rka '(__jj_remotes)' +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from remote; and __jj_seen_subcommand_from remove rename set-url' -ka '(__jj_remotes)' + +# Operations. +complete -f -c jj -l at-op -l at-operation -rka '(__jj_operations)' +complete -f -c jj -n '__jj_seen_subcommand_from undo' -ka '(__jj_operations)' +complete -f -c jj -n '__jj_seen_subcommand_from operation; and __jj_seen_subcommand_from abandon undo restore' -ka '(__jj_operations)' diff --git a/files/config/fish/semantic-prompt.fish b/files/config/fish/semantic-prompt.fish new file mode 100644 index 0000000..2656f40 --- /dev/null +++ b/files/config/fish/semantic-prompt.fish @@ -0,0 +1,55 @@ +## Semantic prompt (for Wezterm) + +set _fishprompt_aid "fish"$fish_pid +set _fishprompt_started 0 +# empty if running; or a numeric exit code; or CANCEL +set _fishprompt_postexec "" + +functions -c fish_prompt _fishprompt_saved_prompt +set _fishprompt_prompt_count 0 +set _fishprompt_disp_count 0 +function _fishprompt_start --on-event fish_prompt + set _fishprompt_prompt_count (math $_fishprompt_prompt_count + 1) + # don't use post-exec, because it is called *before* omitted-newline output + if [ -n "$_fishprompt_postexec" ] + printf "\033]133;D;%s;aid=%s\007" "$_fishprompt_postexec" $_fishprompt_aid + end + printf "\033]133;A;aid=%s;cl=m\007" $_fishprompt_aid +end + +function fish_prompt + set _fishprompt_disp_count (math $_fishprompt_disp_count + 1) + printf "\033]133;P;k=i\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_prompt)) + set _fishprompt_started 1 + set _fishprompt_postexec "" +end + +function _fishprompt_preexec --on-event fish_preexec + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;C;\007" + end + set _fishprompt_started 0 +end + +function _fishprompt_postexec --on-event fish_postexec + set _fishprompt_postexec $status + _fishprompt_start +end + +function __fishprompt_cancel --on-event fish_cancel + set _fishprompt_postexec CANCEL + _fishprompt_start +end + +function _fishprompt_exit --on-process %self + if [ "$_fishprompt_started" = 1 ] + printf "\033]133;Z;aid=%s\007" $_fishprompt_aid + end +end + +if functions -q fish_right_prompt + functions -c fish_right_prompt _fishprompt_saved_right_prompt + function fish_right_prompt + printf "\033]133;P;k=r\007%b\033]133;B\007" (string join "\n" (_fishprompt_saved_right_prompt)) + end +end diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish new file mode 100644 index 0000000..d86672a --- /dev/null +++ b/files/config/fish/vcs.fish @@ -0,0 +1,72 @@ + +function __jj_in_repo + jj --ignore-working-copy --quiet root >>/dev/null 2>&1 +end + +function vcs_root + jj workspace root --ignore-working-copy 2>/dev/null || git rev-parse --show-toplevel 2>/dev/null || pwd +end + +function vcs_broot + br (vcs_root) + commandline -f repaint +end + +function vcs_jump + set _dir (vcs_root) + if [ "$_dir" = "$PWD" ] + set _dir (br -f --conf "$HOME/.config/broot/conf.toml") + end + [ -n "$_dir" ] && pushd $_dir >>/dev/null + commandline -f repaint +end + +function vcs_status + if __jj_in_repo + jj status --ignore-working-copy + else + git status -sb + end + commandline -f repaint +end + +function vcs_diff + if __jj_in_repo + jj show $argv + else + git diff --stat -p -C --color-words $argv + end + commandline -f repaint +end + + +function vcs_log + if __jj_in_repo + jj log --ignore-working-copy $argv + else + git diff --stat -p -C --color-words $argv + end + commandline -f repaint +end + +function vcs_ui + if __jj_in_repo + lazyjj + else + gitui + end + commandline -f repaint +end + +# Abbreviations + +abbr -a d vcs_diff +abbr -a s vcs_status + +# Bindings +bind \c_ vcs_jump +bind \ea vcs_log +bind \ee vcs_broot +bind \eg vcs_ui +bind \eS vcs_diff +bind \es vcs_status diff --git a/.config/nvim/init.lua b/files/config/nvim/init.lua similarity index 100% rename from .config/nvim/init.lua rename to files/config/nvim/init.lua diff --git a/.config/nvim/lua/config/autocmds.lua b/files/config/nvim/lua/config/autocmds.lua similarity index 100% rename from .config/nvim/lua/config/autocmds.lua rename to files/config/nvim/lua/config/autocmds.lua diff --git a/.config/nvim/lua/config/keymaps.lua b/files/config/nvim/lua/config/keymaps.lua similarity index 100% rename from .config/nvim/lua/config/keymaps.lua rename to files/config/nvim/lua/config/keymaps.lua diff --git a/.config/nvim/lua/config/lazy.lua b/files/config/nvim/lua/config/lazy.lua similarity index 57% rename from .config/nvim/lua/config/lazy.lua rename to files/config/nvim/lua/config/lazy.lua index d5db9cc..7d70096 100644 --- a/.config/nvim/lua/config/lazy.lua +++ b/files/config/nvim/lua/config/lazy.lua @@ -10,8 +10,26 @@ require("lazy").setup({ spec = { -- add LazyVim and import its plugins { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import any extras modules here - -- import/override with your plugins + -- extras + { import = "lazyvim.plugins.extras.dap.core" }, + { import = "lazyvim.plugins.extras.editor.overseer" }, + { import = "lazyvim.plugins.extras.editor.telescope" }, + { import = "lazyvim.plugins.extras.formatting.prettier" }, + { import = "lazyvim.plugins.extras.lang.go" }, + { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.lang.markdown" }, + { import = "lazyvim.plugins.extras.lang.nix" }, + { import = "lazyvim.plugins.extras.lang.rust" }, + { import = "lazyvim.plugins.extras.lang.toml" }, + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.yaml" }, + { import = "lazyvim.plugins.extras.lsp.none-ls" }, + { import = "lazyvim.plugins.extras.test.core" }, + { import = "lazyvim.plugins.extras.ui.edgy" }, + { import = "lazyvim.plugins.extras.ui.treesitter-context" }, + { import = "lazyvim.plugins.extras.util.gitui" }, + { import = "lazyvim.plugins.extras.util.project" }, + -- plugins { import = "plugins" }, }, defaults = { @@ -23,14 +41,6 @@ require("lazy").setup({ version = false, -- always use the latest git commit -- version = "*", -- try installing the latest stable version for plugins that support semver }, - icons = { - overseer = { - Canceled = " ", - Failure = " ", - Success = " ", - Running = " ", - }, - }, checker = { enabled = false }, -- automatically check for plugin updates performance = { rtp = { diff --git a/.config/nvim/lua/config/options.lua b/files/config/nvim/lua/config/options.lua similarity index 60% rename from .config/nvim/lua/config/options.lua rename to files/config/nvim/lua/config/options.lua index 7b694a6..75e6b54 100644 --- a/.config/nvim/lua/config/options.lua +++ b/files/config/nvim/lua/config/options.lua @@ -1,27 +1,5 @@ --- Options are automatically loaded before lazy.nvim startup --- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua --- Add any additional options here - vim.opt.number = true vim.opt.relativenumber = false --- vim.opt.clipboard = "" -function no_paste(reg) - return function(lines) - -- Do nothing! We can't paste with OSC52 - end -end - -vim.g.clipboard = { - name = "OSC 52", - copy = { - ["+"] = require("vim.ui.clipboard.osc52").copy("+"), - ["*"] = require("vim.ui.clipboard.osc52").copy("*"), - }, - paste = { - ["+"] = no_paste("+"), -- Pasting disabled - ["*"] = no_paste("*"), -- Pasting disabled - }, -} vim.g.do_filetype_lua = 1 vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } diff --git a/.config/nvim/lua/plugins/coding.lua b/files/config/nvim/lua/plugins/coding.lua similarity index 100% rename from .config/nvim/lua/plugins/coding.lua rename to files/config/nvim/lua/plugins/coding.lua diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/files/config/nvim/lua/plugins/colorscheme.lua similarity index 52% rename from .config/nvim/lua/plugins/colorscheme.lua rename to files/config/nvim/lua/plugins/colorscheme.lua index 59cf784..b2967b9 100644 --- a/.config/nvim/lua/plugins/colorscheme.lua +++ b/files/config/nvim/lua/plugins/colorscheme.lua @@ -1,8 +1,6 @@ return { { - "shelmangroup/dieter.nvim", - dir = "/home/dln/src/git.shelman.io/shelmangroup/dieter.nvim", - version = false, + "https://git.shelman.io/shelmangroup/dieter.nvim.git", lazy = false, priority = 1000, }, diff --git a/files/config/nvim/lua/plugins/editor.lua b/files/config/nvim/lua/plugins/editor.lua new file mode 100644 index 0000000..e237117 --- /dev/null +++ b/files/config/nvim/lua/plugins/editor.lua @@ -0,0 +1,95 @@ +return { + { + "folke/flash.nvim", + enabled = false, + }, + + { + "telescope.nvim", + keys = { + { + "<Leader><Leader>", + function() + local telescope = require("telescope") + local jj_pick_status, jj_res = pcall(telescope.extensions.jj.files, opts) + if jj_pick_status then + return + end + local git_files_status, git_res = pcall(telescope.builtin.git_files, opts) + if not git_files_status then + error("Could not launch jj/git files: \n" .. jj_res .. "\n" .. git_res) + end + end, + desc = "VCS Files", + }, + }, + opts = function(_, opts) + local actions = require("telescope.actions") + opts.defaults = { + layout_strategy = "horizontal", + layout_config = { + anchor = "top", + horizontal = { + prompt_position = "top", + mirror = false, + preview_width = 0.49, + -- preview_height = 0.5, + }, + width = 0.99, + height = 0.9, + preview_cutoff = 10, + }, + mappings = { + i = { + ["<esc>"] = actions.close, -- <Esc> close popup + ["<C-u>"] = false, -- <C-u> clear prompt + ["<C-w>"] = false, -- <C-u> clear prompt + }, + }, + path_display = { "filename_first" }, + -- previewer = false, + preview = { + -- hide_on_startup = true, + }, + sorting_strategy = "ascending", + winblend = 0, + wrap_results = true, + } + end, + }, + + { "avm99963/vim-jjdescription", lazy = false }, + + { + "zschreur/telescope-jj.nvim", + keys = { + { + "<Leader>jc", + function() + require("telescope").extensions.jj.conflicts() + end, + desc = "jj conflicts", + }, + { + "<Leader>jd", + function() + require("telescope").extensions.jj.diff() + end, + desc = "jj diffs", + }, + { + "<Leader>jf", + function() + require("telescope").extensions.jj.files() + end, + desc = "jj files", + }, + }, + config = function() + LazyVim.on_load("telescope.nvim", function() + local telescope = require("telescope") + telescope.load_extension("jj") + end) + end, + }, +} diff --git a/.config/nvim/lua/plugins/extras.lua b/files/config/nvim/lua/plugins/extras.lua similarity index 100% rename from .config/nvim/lua/plugins/extras.lua rename to files/config/nvim/lua/plugins/extras.lua diff --git a/.config/nvim/lua/plugins/formatting.lua b/files/config/nvim/lua/plugins/formatting.lua similarity index 91% rename from .config/nvim/lua/plugins/formatting.lua rename to files/config/nvim/lua/plugins/formatting.lua index 1cd976c..f1272ab 100644 --- a/.config/nvim/lua/plugins/formatting.lua +++ b/files/config/nvim/lua/plugins/formatting.lua @@ -5,6 +5,7 @@ return { formatters_by_ft = { ["cue"] = { { "cue_fmt" } }, ["html"] = { { "prettierd", "prettier" } }, + ["nix"] = { "nixfmt" }, ["sass"] = { { "prettierd", "prettier" } }, ["proto"] = { { "buf" } }, ["terraform"] = { { "terraform_fmt" } }, diff --git a/.config/nvim/lua/plugins/incline.lua b/files/config/nvim/lua/plugins/incline.lua similarity index 100% rename from .config/nvim/lua/plugins/incline.lua rename to files/config/nvim/lua/plugins/incline.lua diff --git a/.config/nvim/lua/plugins/lsp.lua b/files/config/nvim/lua/plugins/lsp.lua similarity index 100% rename from .config/nvim/lua/plugins/lsp.lua rename to files/config/nvim/lua/plugins/lsp.lua diff --git a/.config/nvim/lua/plugins/treesitter.lua b/files/config/nvim/lua/plugins/treesitter.lua similarity index 100% rename from .config/nvim/lua/plugins/treesitter.lua rename to files/config/nvim/lua/plugins/treesitter.lua diff --git a/.config/nvim/lua/plugins/ui.lua b/files/config/nvim/lua/plugins/ui.lua similarity index 90% rename from .config/nvim/lua/plugins/ui.lua rename to files/config/nvim/lua/plugins/ui.lua index fd5b977..0fc1c59 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/files/config/nvim/lua/plugins/ui.lua @@ -90,7 +90,7 @@ return { }, }, - messages = { enabled = true }, + messages = { enabled = true, view = "mini" }, lsp = { hover = { enabled = false }, signature = { enabled = false }, @@ -105,10 +105,18 @@ return { { "rcarriga/nvim-notify", opts = { - stages = "fade_in_slide_out", timeout = 1000, render = "wrapped-compact", top_down = false, + max_width = function() + return math.floor(vim.o.columns * 0.5) + end, + on_open = function(win) + vim.api.nvim_win_set_config(win, { + focusable = false, + zindex = 100, + }) + end, }, }, @@ -120,7 +128,13 @@ return { { "ahmedkhalf/project.nvim", opts = { + exclude_dirs = { + "~/.cargo/*", + "~/.config/*", + "/tmp/*", + }, manual_mode = false, + patterns = { ".git", ".jj" }, }, }, } diff --git a/.config/wezterm/wezterm.lua b/files/config/wezterm/wezterm.lua similarity index 91% rename from .config/wezterm/wezterm.lua rename to files/config/wezterm/wezterm.lua index 4881b99..c60845e 100644 --- a/.config/wezterm/wezterm.lua +++ b/files/config/wezterm/wezterm.lua @@ -85,10 +85,18 @@ wezterm.on("tab-8", activate_tab("t8", 7)) wezterm.on("tab-9", activate_tab("t9", 8)) wezterm.on("tab-10", activate_tab("t10", 9)) -wezterm.on("user-var-changed", function(window, pane, name, _) +wezterm.on("user-var-changed", function(window, pane, name, value) if name == "nvim_activate" then activate_nvim(window, pane) end + if name == "open_url" then + local url = string.match(value, "%S+") + local u = wezterm.url.parse(string.match(value, "%S+")) + if u.scheme == "https" or u.scheme == "http" then + wezterm.log_info(url) + wezterm.background_child_process({ "xdg-open", url }) + end + end end) -- ------------------------------------------------------------------------------------ @@ -140,22 +148,25 @@ local berkeley_mono_features = { -- #[ ## ### #### ################ -config.font = wezterm.font({ - family = "Berkeley Mono Nerd Font", - weight = "Regular", - harfbuzz_features = berkeley_mono_features, +config.font = wezterm.font_with_fallback({ + { + family = "BerkeleyMono Nerd Font", + -- family = "Ubuntu Mono", + -- weight = "Regular", + harfbuzz_features = berkeley_mono_features, + }, + "Noto Sans Mono", + "Noto Color Emoji", }) + config.font_rules = { { italic = true, intensity = "Bold", reverse = false, - -- font = wezterm.font("Iosevka Term SS15 Lt Ex Obl", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Lt Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Iosevka Term Curly Slab Ex", { weight = "Light", italic = true }), - -- font = wezterm.font("Monaspace Radon Var", { weight = "Regular", italic = false }), font = wezterm.font({ - family = "Berkeley Mono Nerd Font", + family = "BerkeleyMono Nerd Font", + -- family = "Monaspace Radon Light", italic = true, harfbuzz_features = berkeley_mono_features, }), @@ -189,6 +200,7 @@ config.allow_square_glyphs_to_overflow_width = "Always" -- Config config.enable_wayland = true +config.xcursor_theme = "Adwaita" config.check_for_updates = false -- UI @@ -251,6 +263,8 @@ config.disable_default_key_bindings = true config.keys = { { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, + { key = "c", mods = "CTRL|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, + { key = "v", mods = "CTRL|SHIFT", action = act.PasteFrom("Clipboard") }, { key = "0", mods = "CTRL", action = "ResetFontSize" }, { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, diff --git a/files/scripts/git-signing-key b/files/scripts/git-signing-key new file mode 100755 index 0000000..9c49d31 --- /dev/null +++ b/files/scripts/git-signing-key @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +set -euo pipefail +ssh-add -L | awk '/^sk-ssh-/ { print "key::" $1 " " $2 }' diff --git a/bin/test-term.sh b/files/scripts/test-term.sh similarity index 96% rename from bin/test-term.sh rename to files/scripts/test-term.sh index 91ae7e2..a19fceb 100755 --- a/bin/test-term.sh +++ b/files/scripts/test-term.sh @@ -57,6 +57,10 @@ echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly u echo echo "Emoji: 🚀 💩 😁 🍖 🔥 🔷 ❤️ " +echo +echo "Nerdfonts: " +echo " " + echo echo "Geometrical:" echo -e '◆ ◇ ◈ ● ○ ◉ ◎ ◍ ◌' diff --git a/files/scripts/wezterm-open-url b/files/scripts/wezterm-open-url new file mode 100755 index 0000000..8cb656f --- /dev/null +++ b/files/scripts/wezterm-open-url @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +if [[ $1 == http* ]]; then + printf "\033]1337;SetUserVar=open_url=%s\007" "$(echo -n "$1" | base64)" +fi diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..09d6f23 --- /dev/null +++ b/flake.lock @@ -0,0 +1,48 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722462338, + "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1722421184, + "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..2ea8237 --- /dev/null +++ b/flake.nix @@ -0,0 +1,72 @@ +{ + description = "NixOS configuration"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + home-manager.url = "github:nix-community/home-manager"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; + }; + + outputs = + { + self, + nixpkgs, + home-manager, + ... + }@inputs: + let + inherit (self) outputs; + + mkHome = + modules: + home-manager.lib.homeManagerConfiguration { + modules = [ ./common ] ++ modules; + pkgs = nixpkgs.legacyPackages.x86_64-linux; + extraSpecialArgs = { + inherit inputs outputs; + }; + }; + + supportedSystems = [ + "x86_64-linux" + "aarch64-linux" + ]; + + forEachSystem = + f: + builtins.listToAttrs ( + map (system: { + name = system; + value = f system; + }) supportedSystems + ); + systemBits = forEachSystem (system: rec { + inherit system; + pkgs = import nixpkgs { + localSystem = system; + overlays = [ ]; + }; + }); + + forEachSystem' = f: forEachSystem (system: (f systemBits.${system})); + inherit (nixpkgs) lib; + in + { + overlays = import ./overlays { inherit inputs outputs; }; + + devShells = forEachSystem' ( + { system, pkgs, ... }: + { + default = pkgs.mkShell { packages = [ pkgs.just ]; }; + } + ); + + homeConfigurations = { + "dln@dinky" = mkHome [ ./users/dln/dinky.nix ]; + "dln@nemo" = mkHome [ ./users/dln/nemo.nix ]; + "lsjostro@nemo" = mkHome [ ./users/lsjostro/nemo.nix ]; + }; + + }; +} diff --git a/justfile b/justfile new file mode 100644 index 0000000..73fe5fa --- /dev/null +++ b/justfile @@ -0,0 +1,17 @@ +set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"] + +[private] +default: + @just --list + +clean: + nh clean all + +build: + nh home build . + +switch: + nh home switch . + +update: + nh home switch --update --ask . diff --git a/overlays/default.nix b/overlays/default.nix new file mode 100644 index 0000000..1ab8f99 --- /dev/null +++ b/overlays/default.nix @@ -0,0 +1,21 @@ +{ inputs, ... }: +{ + + additions = final: _prev: import ../pkgs final.pkgs; + + modifications = final: prev: { + + # https://discourse.nixos.org/t/disable-ssh-agent-from-gnome-keyring-on-gnome/28176/5 + gnome-keyring = prev.gnome-keyring.overrideAttrs (oldAttrs: { + configureFlags = oldAttrs.configureFlags or [ ] ++ [ "--disable-ssh-agent" ]; + }); + + }; + + unstable-packages = final: _prev: { + unstable = import inputs.nixpkgs-unstable { + system = final.system; + config.allowUnfree = true; + }; + }; +} diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..ab3485b --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,5 @@ +pkgs: { + gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; + jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; + lazyjj = pkgs.callPackage ./lazyjj { }; +} diff --git a/pkgs/gnome-ssh-askpass4/default.nix b/pkgs/gnome-ssh-askpass4/default.nix new file mode 100644 index 0000000..7247a0f --- /dev/null +++ b/pkgs/gnome-ssh-askpass4/default.nix @@ -0,0 +1,48 @@ +{ + lib, + stdenv, + fetchFromGitHub, + gcr_4, + glib, + gtk4, + pkg-config, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gnome-ssh-askpass4"; + version = "0.0.0"; + + src = fetchFromGitHub { + name = "openssh"; + owner = "openssh"; + repo = "openssh-portable"; + rev = "5b0d9e3ed8fd407936d973990ae169cc296150f7"; + hash = "sha256-QJilKQ6weWZuf3L8yUplXwjqlzH5Ki7YeDnCh4HSuIQ="; + }; + + sourceRoot = "openssh/contrib"; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + gcr_4 + glib + gtk4 + ]; + + strictDeps = true; + + buildPhase = ''make gnome-ssh-askpass4''; + + installPhase = ''install -Dm 755 gnome-ssh-askpass4 $out/bin/gnome-ssh-askpass4''; + + meta = with lib; { + description = "A simple SSH passphrase grabber for GNOME"; + homepage = "https://github.com/openssh/openssh-portable"; + license = licenses.bsd2; + maintainers = with maintainers; [ ]; + mainProgram = "gnome-ssh-askpass4"; + }; +}) diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock new file mode 100644 index 0000000..b2483de --- /dev/null +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -0,0 +1,3877 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" +dependencies = [ + "cfg-if", + "getrandom", + "once_cell", + "version_check", + "zerocopy", +] + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "allocator-api2" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" + +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys 0.52.0", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "arc-swap" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "assert_cmd" +version = "2.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +dependencies = [ + "anstyle", + "bstr", + "doc-comment", + "predicates", + "predicates-core", + "predicates-tree", + "wait-timeout", +] + +[[package]] +name = "assert_matches" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" + +[[package]] +name = "async-trait" +version = "0.1.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "backoff" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" +dependencies = [ + "getrandom", + "instant", + "rand", +] + +[[package]] +name = "backtrace" +version = "0.3.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bstr" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +dependencies = [ + "memchr", + "regex-automata 0.4.7", + "serde", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "bytes" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +dependencies = [ + "serde", +] + +[[package]] +name = "camino" +version = "1.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo-platform" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" +dependencies = [ + "serde", +] + +[[package]] +name = "cargo_metadata" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" +dependencies = [ + "camino", + "cargo-platform", + "semver", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + +[[package]] +name = "castaway" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +dependencies = [ + "jobserver", + "libc", + "once_cell", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" +dependencies = [ + "android-tzdata", + "iana-time-zone", + "num-traits", + "windows-targets 0.52.5", +] + +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + +[[package]] +name = "clap" +version = "4.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap-markdown" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ebc67e6266e14f8b31541c2f204724fa2ac7ad5c17d6f5908fbb92a60f42cff" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_builder" +version = "4.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", + "terminal_size", +] + +[[package]] +name = "clap_complete" +version = "4.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d598e88f6874d4b888ed40c71efbcbf4076f1dfbae128a08a8c9e45f710605d" +dependencies = [ + "clap", +] + +[[package]] +name = "clap_complete_nushell" +version = "4.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1accf1b463dee0d3ab2be72591dccdab8bef314958340447c882c4c72acfe2a3" +dependencies = [ + "clap", + "clap_complete", +] + +[[package]] +name = "clap_derive" +version = "4.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" + +[[package]] +name = "clap_mangen" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74b70fc13e60c0e1d490dc50eb73a749be6d81f4ef03783df1d9b7b0c62bc937" +dependencies = [ + "clap", + "roff", +] + +[[package]] +name = "clru" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "compact_str" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "ryu", + "static_assertions", +] + +[[package]] +name = "config" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca" +dependencies = [ + "async-trait", + "lazy_static", + "nom", + "pathdiff", + "serde", + "toml", +] + +[[package]] +name = "console" +version = "0.15.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" + +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "criterion" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "is-terminal", + "itertools 0.10.5", + "num-traits", + "once_cell", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_derive", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools 0.10.5", +] + +[[package]] +name = "crossbeam" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-epoch", + "crossbeam-queue", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-channel" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-queue" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crossterm" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +dependencies = [ + "bitflags 2.5.0", + "crossterm_winapi", + "libc", + "mio", + "parking_lot", + "signal-hook", + "signal-hook-mio", + "winapi", +] + +[[package]] +name = "crossterm_winapi" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" +dependencies = [ + "winapi", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.5", + "lock_api", + "once_cell", + "parking_lot_core", +] + +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + +[[package]] +name = "diff" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" + +[[package]] +name = "difflib" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "doc-comment" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" + +[[package]] +name = "dunce" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" + +[[package]] +name = "either" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" + +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + +[[package]] +name = "encoding_rs" +version = "0.8.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "errno" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "esl01-renderdag" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a1840969ab8be31e186bb6d2f672d586dcd203dd4019a80dc1277a14686eca9" +dependencies = [ + "bitflags 1.3.2", + "itertools 0.10.5", +] + +[[package]] +name = "faster-hex" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" + +[[package]] +name = "fastrand" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" + +[[package]] +name = "filetime" +version = "0.2.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.4.1", + "windows-sys 0.52.0", +] + +[[package]] +name = "fixedbitset" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "form_urlencoded" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" + +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures 0.1.31", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "gen-protos" +version = "0.19.0" +dependencies = [ + "prost-build", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "gimli" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" + +[[package]] +name = "git2" +version = "0.18.3" +source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=8fd23a45f#8fd23a45f4166d4e87debc02d9ba70ef601fe751" +dependencies = [ + "bitflags 2.5.0", + "libc", + "libgit2-sys", + "log", + "openssl-probe", + "openssl-sys", + "url", +] + +[[package]] +name = "gix" +version = "0.63.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +dependencies = [ + "gix-actor", + "gix-attributes", + "gix-command", + "gix-commitgraph", + "gix-config", + "gix-date", + "gix-diff", + "gix-discover", + "gix-features", + "gix-filter", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-hashtable", + "gix-ignore", + "gix-index", + "gix-lock", + "gix-macros", + "gix-object", + "gix-odb", + "gix-pack", + "gix-path", + "gix-pathspec", + "gix-ref", + "gix-refspec", + "gix-revision", + "gix-revwalk", + "gix-sec", + "gix-submodule", + "gix-tempfile", + "gix-trace", + "gix-traverse", + "gix-url", + "gix-utils", + "gix-validate", + "gix-worktree", + "once_cell", + "parking_lot", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-actor" +version = "0.31.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b8ee65074b2bbb91d9d97c15d172ea75043aefebf9869b5b329149dc76501c" +dependencies = [ + "bstr", + "gix-date", + "gix-utils", + "itoa", + "thiserror", + "winnow 0.6.13", +] + +[[package]] +name = "gix-attributes" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eefb48f42eac136a4a0023f49a54ec31be1c7a9589ed762c45dcb9b953f7ecc8" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-quote", + "gix-trace", + "kstring", + "smallvec", + "thiserror", + "unicode-bom", +] + +[[package]] +name = "gix-bitmap" +version = "0.2.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-chunk" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" +dependencies = [ + "thiserror", +] + +[[package]] +name = "gix-command" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c22e086314095c43ffe5cdc5c0922d5439da4fd726f3b0438c56147c34dc225" +dependencies = [ + "bstr", + "gix-path", + "gix-trace", + "shell-words", +] + +[[package]] +name = "gix-commitgraph" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4" +dependencies = [ + "bstr", + "gix-chunk", + "gix-features", + "gix-hash", + "memmap2", + "thiserror", +] + +[[package]] +name = "gix-config" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +dependencies = [ + "bstr", + "gix-config-value", + "gix-features", + "gix-glob", + "gix-path", + "gix-ref", + "gix-sec", + "memchr", + "once_cell", + "smallvec", + "thiserror", + "unicode-bom", + "winnow 0.6.13", +] + +[[package]] +name = "gix-config-value" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" +dependencies = [ + "bitflags 2.5.0", + "bstr", + "gix-path", + "libc", + "thiserror", +] + +[[package]] +name = "gix-date" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99" +dependencies = [ + "bstr", + "itoa", + "thiserror", + "time", +] + +[[package]] +name = "gix-diff" +version = "0.44.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4" +dependencies = [ + "bstr", + "gix-command", + "gix-filter", + "gix-fs", + "gix-hash", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-trace", + "gix-worktree", + "imara-diff", + "thiserror", +] + +[[package]] +name = "gix-discover" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +dependencies = [ + "bstr", + "dunce", + "gix-fs", + "gix-hash", + "gix-path", + "gix-ref", + "gix-sec", + "thiserror", +] + +[[package]] +name = "gix-features" +version = "0.38.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +dependencies = [ + "crc32fast", + "crossbeam-channel", + "flate2", + "gix-hash", + "gix-trace", + "gix-utils", + "jwalk", + "libc", + "once_cell", + "parking_lot", + "prodash", + "sha1_smol", + "thiserror", + "walkdir", +] + +[[package]] +name = "gix-filter" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00ce6ea5ac8fca7adbc63c48a1b9e0492c222c386aa15f513405f1003f2f4ab2" +dependencies = [ + "bstr", + "encoding_rs", + "gix-attributes", + "gix-command", + "gix-hash", + "gix-object", + "gix-packetline-blocking", + "gix-path", + "gix-quote", + "gix-trace", + "gix-utils", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-fs" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3338ff92a2164f5209f185ec0cd316f571a72676bb01d27e22f2867ba69f77a" +dependencies = [ + "fastrand", + "gix-features", + "gix-utils", +] + +[[package]] +name = "gix-glob" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2a29ad0990cf02c48a7aac76ed0dbddeb5a0d070034b83675cc3bbf937eace4" +dependencies = [ + "bitflags 2.5.0", + "bstr", + "gix-features", + "gix-path", +] + +[[package]] +name = "gix-hash" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +dependencies = [ + "faster-hex", + "thiserror", +] + +[[package]] +name = "gix-hashtable" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +dependencies = [ + "gix-hash", + "hashbrown 0.14.5", + "parking_lot", +] + +[[package]] +name = "gix-ignore" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "640dbeb4f5829f9fc14d31f654a34a0350e43a24e32d551ad130d99bf01f63f1" +dependencies = [ + "bstr", + "gix-glob", + "gix-path", + "gix-trace", + "unicode-bom", +] + +[[package]] +name = "gix-index" +version = "0.33.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167" +dependencies = [ + "bitflags 2.5.0", + "bstr", + "filetime", + "fnv", + "gix-bitmap", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-traverse", + "gix-utils", + "gix-validate", + "hashbrown 0.14.5", + "itoa", + "libc", + "memmap2", + "rustix", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-lock" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +dependencies = [ + "gix-tempfile", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-macros" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "gix-object" +version = "0.42.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df" +dependencies = [ + "bstr", + "gix-actor", + "gix-date", + "gix-features", + "gix-hash", + "gix-utils", + "gix-validate", + "itoa", + "smallvec", + "thiserror", + "winnow 0.6.13", +] + +[[package]] +name = "gix-odb" +version = "0.61.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98" +dependencies = [ + "arc-swap", + "gix-date", + "gix-features", + "gix-fs", + "gix-hash", + "gix-object", + "gix-pack", + "gix-path", + "gix-quote", + "parking_lot", + "tempfile", + "thiserror", +] + +[[package]] +name = "gix-pack" +version = "0.51.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3" +dependencies = [ + "clru", + "gix-chunk", + "gix-features", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-path", + "gix-tempfile", + "memmap2", + "parking_lot", + "smallvec", + "thiserror", + "uluru", +] + +[[package]] +name = "gix-packetline-blocking" +version = "0.17.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31d42378a3d284732e4d589979930d0d253360eccf7ec7a80332e5ccb77e14a" +dependencies = [ + "bstr", + "faster-hex", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-path" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" +dependencies = [ + "bstr", + "gix-trace", + "home", + "once_cell", + "thiserror", +] + +[[package]] +name = "gix-pathspec" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a76cab098dc10ba2d89f634f66bf196dea4d7db4bf10b75c7a9c201c55a2ee19" +dependencies = [ + "bitflags 2.5.0", + "bstr", + "gix-attributes", + "gix-config-value", + "gix-glob", + "gix-path", + "thiserror", +] + +[[package]] +name = "gix-quote" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" +dependencies = [ + "bstr", + "gix-utils", + "thiserror", +] + +[[package]] +name = "gix-ref" +version = "0.44.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" +dependencies = [ + "gix-actor", + "gix-date", + "gix-features", + "gix-fs", + "gix-hash", + "gix-lock", + "gix-object", + "gix-path", + "gix-tempfile", + "gix-utils", + "gix-validate", + "memmap2", + "thiserror", + "winnow 0.6.13", +] + +[[package]] +name = "gix-refspec" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2" +dependencies = [ + "bstr", + "gix-hash", + "gix-revision", + "gix-validate", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-revision" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b" +dependencies = [ + "bstr", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "gix-trace", + "thiserror", +] + +[[package]] +name = "gix-revwalk" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f" +dependencies = [ + "gix-commitgraph", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-sec" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" +dependencies = [ + "bitflags 2.5.0", + "gix-path", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "gix-submodule" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +dependencies = [ + "bstr", + "gix-config", + "gix-path", + "gix-pathspec", + "gix-refspec", + "gix-url", + "thiserror", +] + +[[package]] +name = "gix-tempfile" +version = "14.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3b0e276cd08eb2a22e9f286a4f13a222a01be2defafa8621367515375644b99" +dependencies = [ + "dashmap", + "gix-fs", + "libc", + "once_cell", + "parking_lot", + "tempfile", +] + +[[package]] +name = "gix-trace" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" + +[[package]] +name = "gix-traverse" +version = "0.39.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0" +dependencies = [ + "bitflags 2.5.0", + "gix-commitgraph", + "gix-date", + "gix-hash", + "gix-hashtable", + "gix-object", + "gix-revwalk", + "smallvec", + "thiserror", +] + +[[package]] +name = "gix-url" +version = "0.27.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0db829ebdca6180fbe32be7aed393591df6db4a72dbbc0b8369162390954d1cf" +dependencies = [ + "bstr", + "gix-features", + "gix-path", + "home", + "thiserror", + "url", +] + +[[package]] +name = "gix-utils" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" +dependencies = [ + "fastrand", + "unicode-normalization", +] + +[[package]] +name = "gix-validate" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" +dependencies = [ + "bstr", + "thiserror", +] + +[[package]] +name = "gix-worktree" +version = "0.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53f6b7de83839274022aff92157d7505f23debf739d257984a300a35972ca94e" +dependencies = [ + "bstr", + "gix-attributes", + "gix-features", + "gix-fs", + "gix-glob", + "gix-hash", + "gix-ignore", + "gix-index", + "gix-object", + "gix-path", + "gix-validate", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "globset" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +dependencies = [ + "aho-corasick", + "bstr", + "log", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "half" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" +dependencies = [ + "cfg-if", + "crunchy", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "heck" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" + +[[package]] +name = "hermit-abi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "home" +version = "0.5.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "iana-time-zone" +version = "0.1.60" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +dependencies = [ + "android_system_properties", + "core-foundation-sys", + "iana-time-zone-haiku", + "js-sys", + "wasm-bindgen", + "windows-core", +] + +[[package]] +name = "iana-time-zone-haiku" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" +dependencies = [ + "cc", +] + +[[package]] +name = "idna" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "ignore" +version = "0.4.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +dependencies = [ + "crossbeam-deque", + "globset", + "log", + "memchr", + "regex-automata 0.4.7", + "same-file", + "walkdir", + "winapi-util", +] + +[[package]] +name = "imara-diff" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8" +dependencies = [ + "ahash", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", +] + +[[package]] +name = "indoc" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" + +[[package]] +name = "insta" +version = "1.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" +dependencies = [ + "console", + "lazy_static", + "linked-hash-map", + "regex", + "similar", +] + +[[package]] +name = "instant" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "is-terminal" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "itoa" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" + +[[package]] +name = "jj-cli" +version = "0.19.0" +dependencies = [ + "anyhow", + "assert_cmd", + "assert_matches", + "async-trait", + "cargo_metadata", + "chrono", + "clap", + "clap-markdown", + "clap_complete", + "clap_complete_nushell", + "clap_mangen", + "config", + "criterion", + "crossterm", + "dirs", + "dunce", + "esl01-renderdag", + "futures 0.3.30", + "git2", + "gix", + "gix-filter", + "hex", + "indexmap", + "indoc", + "insta", + "itertools 0.12.1", + "jj-cli", + "jj-lib", + "libc", + "maplit", + "minus", + "once_cell", + "pest", + "pest_derive", + "pollster", + "rayon", + "regex", + "rpassword", + "scm-record", + "serde", + "slab", + "strsim", + "tempfile", + "test-case", + "testutils", + "textwrap", + "thiserror", + "timeago", + "toml_edit", + "tracing", + "tracing-chrome", + "tracing-subscriber", + "unicode-width", +] + +[[package]] +name = "jj-lib" +version = "0.19.0" +dependencies = [ + "assert_matches", + "async-trait", + "backoff", + "blake2", + "bytes", + "chrono", + "config", + "criterion", + "digest", + "either", + "esl01-renderdag", + "futures 0.3.30", + "git2", + "gix", + "gix-filter", + "glob", + "hex", + "ignore", + "indoc", + "insta", + "itertools 0.12.1", + "jj-lib-proc-macros", + "maplit", + "num_cpus", + "once_cell", + "pest", + "pest_derive", + "pollster", + "pretty_assertions", + "prost", + "rand", + "rand_chacha", + "rayon", + "ref-cast", + "regex", + "rustix", + "serde", + "serde_json", + "smallvec", + "strsim", + "tempfile", + "test-case", + "testutils", + "thiserror", + "tokio", + "tracing", + "version_check", + "watchman_client", + "whoami", + "winreg", + "zstd", +] + +[[package]] +name = "jj-lib-proc-macros" +version = "0.19.0" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "jobserver" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +dependencies = [ + "libc", +] + +[[package]] +name = "js-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "jwalk" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56" +dependencies = [ + "crossbeam", + "rayon", +] + +[[package]] +name = "kstring" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747" +dependencies = [ + "static_assertions", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libgit2-sys" +version = "0.17.0+1.8.1" +source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=8fd23a45f#8fd23a45f4166d4e87debc02d9ba70ef601fe751" +dependencies = [ + "cc", + "libc", + "libz-sys", + "openssl-sys", + "pkg-config", +] + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags 2.5.0", + "libc", +] + +[[package]] +name = "libz-sys" +version = "1.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +dependencies = [ + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "linked-hash-map" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" + +[[package]] +name = "linux-raw-sys" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" + +[[package]] +name = "lock_api" +version = "0.4.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" +dependencies = [ + "autocfg", + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "lru" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +dependencies = [ + "hashbrown 0.14.5", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "memchr" +version = "2.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" + +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", +] + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "miniz_oxide" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" +dependencies = [ + "adler", +] + +[[package]] +name = "minus" +version = "5.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "093bd0520d2a37943566a73750e6d44094dac75d66a978d1f0d97ffc78686832" +dependencies = [ + "crossbeam-channel", + "crossterm", + "once_cell", + "parking_lot", + "regex", + "textwrap", + "thiserror", +] + +[[package]] +name = "mio" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" +dependencies = [ + "libc", + "log", + "wasi", + "windows-sys 0.48.0", +] + +[[package]] +name = "multimap" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "nu-ansi-term" +version = "0.46.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" +dependencies = [ + "overload", + "winapi", +] + +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "num_threads" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" +dependencies = [ + "libc", +] + +[[package]] +name = "object" +version = "0.36.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +dependencies = [ + "memchr", +] + +[[package]] +name = "once_cell" +version = "1.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +dependencies = [ + "parking_lot_core", +] + +[[package]] +name = "oorandom" +version = "11.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" + +[[package]] +name = "openssl-probe" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" + +[[package]] +name = "openssl-src" +version = "300.3.1+3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "overload" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" + +[[package]] +name = "parking_lot" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.5.2", + "smallvec", + "windows-targets 0.52.5", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + +[[package]] +name = "percent-encoding" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" + +[[package]] +name = "pest" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +dependencies = [ + "memchr", + "thiserror", + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.7.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +dependencies = [ + "once_cell", + "pest", + "sha2", +] + +[[package]] +name = "petgraph" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" +dependencies = [ + "fixedbitset", + "indexmap", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" + +[[package]] +name = "plotters" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" + +[[package]] +name = "plotters-svg" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" +dependencies = [ + "plotters-backend", +] + +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "predicates" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +dependencies = [ + "anstyle", + "difflib", + "predicates-core", +] + +[[package]] +name = "predicates-core" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" + +[[package]] +name = "predicates-tree" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +dependencies = [ + "predicates-core", + "termtree", +] + +[[package]] +name = "pretty_assertions" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +dependencies = [ + "diff", + "yansi", +] + +[[package]] +name = "prettyplease" +version = "0.2.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +dependencies = [ + "proc-macro2", + "syn", +] + +[[package]] +name = "proc-macro2" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "prodash" +version = "28.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" + +[[package]] +name = "prost" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" +dependencies = [ + "bytes", + "prost-derive", +] + +[[package]] +name = "prost-build" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" +dependencies = [ + "bytes", + "heck", + "itertools 0.12.1", + "log", + "multimap", + "once_cell", + "petgraph", + "prettyplease", + "prost", + "prost-types", + "regex", + "syn", + "tempfile", +] + +[[package]] +name = "prost-derive" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" +dependencies = [ + "anyhow", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "prost-types" +version = "0.12.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" +dependencies = [ + "prost", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "ratatui" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f44c9e68fd46eda15c646fbb85e1040b657a58cdc8c98db1d97a55930d991eef" +dependencies = [ + "bitflags 2.5.0", + "cassowary", + "compact_str", + "crossterm", + "itertools 0.12.1", + "lru", + "paste", + "stability", + "strum", + "unicode-segmentation", + "unicode-truncate", + "unicode-width", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + +[[package]] +name = "redox_syscall" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +dependencies = [ + "bitflags 2.5.0", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "ref-cast" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" +dependencies = [ + "ref-cast-impl", +] + +[[package]] +name = "ref-cast-impl" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "regex" +version = "1.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.8.4", +] + +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + +[[package]] +name = "regex-syntax" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" + +[[package]] +name = "roff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" + +[[package]] +name = "rpassword" +version = "7.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" +dependencies = [ + "libc", + "rtoolbox", + "windows-sys 0.48.0", +] + +[[package]] +name = "rtoolbox" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustix" +version = "0.38.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +dependencies = [ + "bitflags 2.5.0", + "errno", + "libc", + "linux-raw-sys", + "windows-sys 0.52.0", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ryu" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "scm-record" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a1bf431016c7a34038f440696c672f0fee1a15d6aea31fe100df6974a35bf5f" +dependencies = [ + "cassowary", + "crossterm", + "num-traits", + "ratatui", + "serde", + "serde_json", + "thiserror", + "tracing", + "unicode-width", +] + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" +dependencies = [ + "serde", +] + +[[package]] +name = "serde" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_bser" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56b4bcc15e42e5b5ae16c6f75582bef80d36c6ffe2c03b1b5317754b38f8717" +dependencies = [ + "anyhow", + "byteorder", + "bytes", + "serde", + "serde_bytes", + "thiserror", +] + +[[package]] +name = "serde_bytes" +version = "0.11.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.204" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.120" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_spanned" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +dependencies = [ + "serde", +] + +[[package]] +name = "sha1_smol" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" + +[[package]] +name = "sha2" +version = "0.10.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "sharded-slab" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shell-words" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" + +[[package]] +name = "signal-hook" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" +dependencies = [ + "libc", + "signal-hook-registry", +] + +[[package]] +name = "signal-hook-mio" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +dependencies = [ + "libc", + "mio", + "signal-hook", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" +dependencies = [ + "libc", +] + +[[package]] +name = "similar" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" + +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "socket2" +version = "0.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" +dependencies = [ + "libc", + "windows-sys 0.52.0", +] + +[[package]] +name = "stability" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.26.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "rustversion", + "syn", +] + +[[package]] +name = "subtle" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" + +[[package]] +name = "syn" +version = "2.0.70" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand", + "rustix", + "windows-sys 0.52.0", +] + +[[package]] +name = "terminal_size" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +dependencies = [ + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "termtree" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" + +[[package]] +name = "test-case" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" +dependencies = [ + "test-case-macros", +] + +[[package]] +name = "test-case-core" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" +dependencies = [ + "cfg-if", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "test-case-macros" +version = "3.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "test-case-core", +] + +[[package]] +name = "testutils" +version = "0.19.0" +dependencies = [ + "async-trait", + "config", + "futures 0.3.30", + "git2", + "hex", + "itertools 0.12.1", + "jj-lib", + "rand", + "tempfile", +] + +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" +dependencies = [ + "smawk", + "unicode-linebreak", + "unicode-width", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thread_local" +version = "1.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" +dependencies = [ + "cfg-if", + "once_cell", +] + +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "itoa", + "libc", + "num-conv", + "num_threads", + "powerfmt", + "serde", + "time-core", + "time-macros", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + +[[package]] +name = "timeago" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1710e589de0a76aaf295cd47a6699f6405737dbfd3cf2b75c92d000b548d0e6" + +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "tokio" +version = "1.38.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +dependencies = [ + "backtrace", + "bytes", + "libc", + "mio", + "num_cpus", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", + "windows-sys 0.48.0", +] + +[[package]] +name = "tokio-macros" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-util" +version = "0.6.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" +dependencies = [ + "bytes", + "futures-core", + "futures-io", + "futures-sink", + "log", + "pin-project-lite", + "slab", + "tokio", +] + +[[package]] +name = "toml" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_datetime" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow 0.5.40", +] + +[[package]] +name = "tracing" +version = "0.1.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +dependencies = [ + "pin-project-lite", + "tracing-attributes", + "tracing-core", +] + +[[package]] +name = "tracing-attributes" +version = "0.1.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tracing-chrome" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" +dependencies = [ + "serde_json", + "tracing-core", + "tracing-subscriber", +] + +[[package]] +name = "tracing-core" +version = "0.1.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +dependencies = [ + "once_cell", + "valuable", +] + +[[package]] +name = "tracing-log" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" +dependencies = [ + "log", + "once_cell", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +dependencies = [ + "matchers", + "nu-ansi-term", + "once_cell", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "ucd-trie" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" + +[[package]] +name = "uluru" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c8a2469e56e6e5095c82ccd3afb98dad95f7af7929aab6d8ba8d6e0f73657da" +dependencies = [ + "arrayvec", +] + +[[package]] +name = "unicode-bidi" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" + +[[package]] +name = "unicode-bom" +version = "2.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-linebreak" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" + +[[package]] +name = "unicode-normalization" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-truncate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226" +dependencies = [ + "itertools 0.12.1", + "unicode-width", +] + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "url" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] + +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + +[[package]] +name = "valuable" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wait-timeout" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" +dependencies = [ + "libc", +] + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "wasite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" + +[[package]] +name = "wasm-bindgen" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +dependencies = [ + "cfg-if", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +dependencies = [ + "bumpalo", + "log", + "once_cell", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.92" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" + +[[package]] +name = "watchman_client" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88bc4c9bb443a7aae10d4fa7807bffc397805315e2305288c90c80e2f66cfb52" +dependencies = [ + "anyhow", + "bytes", + "futures 0.3.30", + "maplit", + "serde", + "serde_bser", + "thiserror", + "tokio", + "tokio-util", + "winapi", +] + +[[package]] +name = "web-sys" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "whoami" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +dependencies = [ + "redox_syscall 0.4.1", + "wasite", + "web-sys", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-core" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winnow" +version = "0.6.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +dependencies = [ + "memchr", +] + +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + +[[package]] +name = "yansi" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" + +[[package]] +name = "zerocopy" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.34" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "2.0.11+zstd.1.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +dependencies = [ + "cc", + "pkg-config", +] diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix new file mode 100644 index 0000000..a5cee1e --- /dev/null +++ b/pkgs/jujutsu-openssh/default.nix @@ -0,0 +1,90 @@ +{ + lib, + fetchFromGitHub, + rustPlatform, + pkg-config, + openssl, + gzip, + libgit2, + openssh, + zstd, + installShellFiles, + nix-update-script, + testers, + jujutsu-openssh, +}: + +rustPlatform.buildRustPackage rec { + pname = "jujutsu-openssh"; + version = "0.19.0+pr3191.openssh"; + + src = fetchFromGitHub { + owner = "martinvonz"; + repo = "jj"; + rev = "f97577cf3f8da3f8cba40bb908a21d5b932cf68f"; # https://github.com/martinvonz/jj/pull/3191/commits + hash = "sha256-njRXH1JGBflIPU8nWPawjVEbqXm+zCITjI7EIcpVt84="; + }; + + # cargoHash = ""; + cargoLock.lockFile = ./Cargo.lock; + cargoLock.outputHashes = { + "git2-0.18.3" = "sha256-3g7ajPfLfuPWh46rIa70wQRWLZ+jZXBApkyPlJULi/I="; + }; + + cargoBuildFlags = [ + "--bin" + "jj" + ]; # don't install the fake editors + useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping + ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib + + nativeBuildInputs = [ + gzip + installShellFiles + pkg-config + ]; + + buildInputs = [ + openssl + zstd + libgit2 + openssh + ]; + + postInstall = '' + $out/bin/jj util mangen > ./jj.1 + installManPage ./jj.1 + + installShellCompletion --cmd jj \ + --bash <($out/bin/jj util completion bash) \ + --fish <($out/bin/jj util completion fish) \ + --zsh <($out/bin/jj util completion zsh) + ''; + + checkFlags = [ + # signing tests spin up an ssh-agent and do git checkouts + "--skip=test_ssh_signing" + ]; + + passthru = { + updateScript = nix-update-script { }; + tests = { + version = testers.testVersion { + package = jujutsu-openssh; + command = "jj --version"; + }; + }; + }; + + meta = with lib; { + description = "Git-compatible DVCS that is both simple and powerful"; + homepage = "https://github.com/martinvonz/jj"; + changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md"; + license = licenses.asl20; + maintainers = with maintainers; [ + _0x4A6F + thoughtpolice + ]; + mainProgram = "jj"; + }; +} diff --git a/pkgs/lazyjj/default.nix b/pkgs/lazyjj/default.nix new file mode 100644 index 0000000..cf68629 --- /dev/null +++ b/pkgs/lazyjj/default.nix @@ -0,0 +1,29 @@ +{ + stdenvNoCC, + fetchzip, +}: let + version = "0.2.1"; +in + stdenvNoCC.mkDerivation { + name = "lazyjj"; + inherit version; + + src = fetchzip { + url = "https://github.com/Cretezy/lazyjj/releases/download/v0.2.1/lazyjj-v0.2.1-x86_64-unknown-linux-musl.tar.gz"; + hash = "sha256-yMfGWuzsl94elFxRvGaLA61KBopBnBT3j5pxbCrKl0w="; + }; + + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install -m755 -D $src/lazyjj $out/bin/lazyjj + runHook postInstall + ''; + + meta = { + homepage = "https://github.com/Cretezy/lazyjj"; + description = "TUI for jj"; + mainProgram = "lazyjj"; + platforms = ["x86_64-linux"]; + }; + } diff --git a/users/dln/desktop.nix b/users/dln/desktop.nix new file mode 100644 index 0000000..7b80912 --- /dev/null +++ b/users/dln/desktop.nix @@ -0,0 +1,67 @@ +{ pkgs, ... }: +{ + shelman = { + desktop.enable = true; + }; + + home.packages = with pkgs; [ + audacity + bitwig-studio + dynamic-wallpaper + gimp-with-plugins + helvum + inkscape + moonlight-qt + obsidian + pavucontrol + plexamp + reaper + signal-desktop + ]; + + xdg.desktopEntries = { + firefox-work = { + categories = [ + "Network" + "WebBrowser" + ]; + comment = "Browse the Web"; + exec = "firefox %u -P work --new-instance --name firefox-work"; + genericName = "Web Browser"; + icon = "firefox"; + mimeType = [ + "text/html" + "text/xml" + "application/xhtml+xml" + "application/vnd.mozilla.xul+xml" + "text/mml" + "x-scheme-handler/http" + "x-scheme-handler/https" + ]; + name = "Firefox (Work)"; + settings = { + StartupWMClass = "firefox-work"; + Keywords = "web;browser;internet"; + }; + terminal = false; + type = "Application"; + }; + + wezterm-nemo = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = "wezterm start --class=org.wezfurlong.wezterm-nemo --domain=nemo"; + genericName = "wezterm-nemo"; + icon = "org.wezfurlong.wezterm"; + name = "wezterm-nemo"; + settings = { + StartupWMClass = "org.wezfurlong.wezterm-nemo"; + TryExec = "wezterm"; + }; + terminal = false; + type = "Application"; + }; + }; +} diff --git a/users/dln/dinky.nix b/users/dln/dinky.nix new file mode 100644 index 0000000..c31bbae --- /dev/null +++ b/users/dln/dinky.nix @@ -0,0 +1,14 @@ +{ ... }: +{ + imports = [ + ./home.nix + ./desktop.nix + ]; + + dconf.settings = { + "org/gnome/shell" = { + enabled-extensions = [ "Battery-Health-Charging@maniacx.github.com" ]; + }; + }; + +} diff --git a/users/dln/home.nix b/users/dln/home.nix new file mode 100644 index 0000000..495944b --- /dev/null +++ b/users/dln/home.nix @@ -0,0 +1,140 @@ +{ pkgs, ... }: +let + realName = "Daniel Lundin"; + email = "dln@arity.se"; +in +{ + home = { + username = "dln"; + homeDirectory = "/home/dln"; + packages = with pkgs; [ + openconnect + ouch + ]; + }; + + programs.atuin.settings = { + cwd_filter = [ + "^~/media" + "^/home/dln/media" + ]; + }; + + programs.git = { + userName = realName; + userEmail = email; + }; + + programs.jujutsu = { + settings = { + user = { + email = email; + name = realName; + }; + + signing = { + sign-all = true; + backend = "ssh"; + backends.ssh.allowed-signers = "/home/dln/.ssh/authorized_keys"; + key = "/home/dln/.ssh/git_signing_key.pub"; + }; + + ui = { + "default-command" = [ + "log" + "--limit=20" + "--template=builtin_log_comfortable" + ]; + + pager = "bat"; + }; + + "merge-tools" = { + difft."diff-args" = [ + "--color=always" + "$left" + "$right" + ]; + }; + + aliases = { + l = [ + "log" + "-T" + "builtin_log_comfortable" + "-r" + "(main..@) | (main..@)-" + ]; + la = [ + "log" + "-T" + "builtin_log_oneline" + "-r" + "all()" + ]; + b = [ + "branch" + "list" + ]; + n = [ + "new" + "main" + ]; + d = [ "diff" ]; + s = [ "show" ]; + sh = [ + "show" + "--tool=difft" + ]; + }; + + "revset-aliases" = { + # Prevent rewriting commits on main@origin and commits authored by other users; + "immutable_heads()" = "main@origin | (main@origin.. & ~mine())"; + "user(x)" = "author(x) | committer(x)"; + "trunk()" = "latest((present(main) | present(master)) & remote_branches())"; + "open" = "(mine() ~ ::trunk()) ~ heads(empty())"; + "wip" = ''description("wip: ")''; + "ready" = "open() ~ (wip::)"; + }; + + colors = { + "commit_id prefix" = { + bold = true; + }; + "diff token" = { + underline = false; + }; + }; + }; + }; + + programs.ssh.matchBlocks = { + dev = { + hostname = "10.1.100.16"; + }; + + nemo = { + hostname = "10.1.100.20"; + forwardAgent = true; + localForwards = [ + { + bind.address = "localhost"; + bind.port = 8000; + host.address = "localhost"; + host.port = 8000; + } + { + bind.address = "localhost"; + bind.port = 8080; + host.address = "localhost"; + host.port = 8080; + } + ]; + }; + }; + + services.syncthing.enable = true; + + home.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion +} diff --git a/users/dln/nemo.nix b/users/dln/nemo.nix new file mode 100644 index 0000000..49687bb --- /dev/null +++ b/users/dln/nemo.nix @@ -0,0 +1,9 @@ +{ ... }: +{ + imports = [ + ./home.nix + ./desktop.nix + ]; + + # Host specific user config goes here +} diff --git a/users/lsjostro/home.nix b/users/lsjostro/home.nix new file mode 100644 index 0000000..f1d8a4d --- /dev/null +++ b/users/lsjostro/home.nix @@ -0,0 +1,40 @@ +{ pkgs, ... }: +{ + home = { + username = "lsjostro"; + homeDirectory = "/home/lsjostro"; + packages = with pkgs; [ openconnect ]; + }; + + programs.git = { + userName = "Lars Sjöstrom"; + userEmail = "lars@radicore.se"; + }; + + programs.ssh.matchBlocks = { + dev = { + hostname = "10.1.100.17"; + }; + + nemo = { + hostname = "10.1.100.20"; + forwardAgent = true; + localForwards = [ + { + bind.address = "localhost"; + bind.port = 8000; + host.address = "localhost"; + host.port = 8000; + } + { + bind.address = "localhost"; + bind.port = 8080; + host.address = "localhost"; + host.port = 8080; + } + ]; + }; + }; + + home.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion +} diff --git a/users/lsjostro/nemo.nix b/users/lsjostro/nemo.nix new file mode 100644 index 0000000..0de2f39 --- /dev/null +++ b/users/lsjostro/nemo.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ ./home.nix ]; + + # Host specific user config goes here +} From 346d80ae7e5dc91c6528db9f306cd197a2d1e424 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 Aug 2024 11:56:50 +0200 Subject: [PATCH 320/656] fish: use delta as pager for ripgrep --- common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/fish.nix b/common/fish.nix index 5f30a69..1d619bf 100644 --- a/common/fish.nix +++ b/common/fish.nix @@ -93,7 +93,7 @@ rg.body = '' if status is-interactive - command rg -p $argv | bat + command rg --json $argv | delta else command rg $argv end From 54baace7c18ae33a0a3f36c22c99d6fe4b10b5d0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 Aug 2024 14:09:42 +0200 Subject: [PATCH 321/656] move old nixos-config over here --- README.md | 30 ++++- common/base.nix | 42 ++++++ common/default.nix | 22 +--- common/desktop.nix | 107 ++++++++++++++++ common/hardening.nix | 43 +++++++ common/laptop.nix | 20 +++ common/nix.nix | 40 +++++- common/plymouth.nix | 45 +++++++ common/podman.nix | 48 +++++++ flake.lock | 93 +++++++++++++- flake.nix | 27 +++- {common => home/common}/atuin.nix | 0 {common => home/common}/broot.nix | 0 home/common/default.nix | 21 +++ {common => home/common}/devel.nix | 0 {common => home/common}/fish.nix | 12 +- {common => home/common}/gnome.nix | 0 {common => home/common}/k8s.nix | 0 home/common/nix.nix | 15 +++ {common => home/common}/nvim.nix | 2 +- {common => home/common}/scripts.nix | 2 +- {common => home/common}/ssh.nix | 0 {common => home/common}/utils.nix | 0 {common => home/common}/vcs.nix | 0 {common => home/common}/web.nix | 0 {common => home/common}/wezterm.nix | 2 +- {users => home}/dln/desktop.nix | 0 {users => home}/dln/dinky.nix | 0 {users => home}/dln/home.nix | 0 {users => home}/dln/nemo.nix | 0 {users => home}/lsjostro/home.nix | 0 {users => home}/lsjostro/nemo.nix | 0 hosts/dinky/default.nix | 113 ++++++++++++++++ hosts/nemo/default.nix | 192 ++++++++++++++++++++++++++++ justfile | 18 ++- 35 files changed, 850 insertions(+), 44 deletions(-) create mode 100644 common/base.nix create mode 100644 common/desktop.nix create mode 100644 common/hardening.nix create mode 100644 common/laptop.nix create mode 100644 common/plymouth.nix create mode 100644 common/podman.nix rename {common => home/common}/atuin.nix (100%) rename {common => home/common}/broot.nix (100%) create mode 100644 home/common/default.nix rename {common => home/common}/devel.nix (100%) rename {common => home/common}/fish.nix (90%) rename {common => home/common}/gnome.nix (100%) rename {common => home/common}/k8s.nix (100%) create mode 100644 home/common/nix.nix rename {common => home/common}/nvim.nix (86%) rename {common => home/common}/scripts.nix (80%) rename {common => home/common}/ssh.nix (100%) rename {common => home/common}/utils.nix (100%) rename {common => home/common}/vcs.nix (100%) rename {common => home/common}/web.nix (100%) rename {common => home/common}/wezterm.nix (63%) rename {users => home}/dln/desktop.nix (100%) rename {users => home}/dln/dinky.nix (100%) rename {users => home}/dln/home.nix (100%) rename {users => home}/dln/nemo.nix (100%) rename {users => home}/lsjostro/home.nix (100%) rename {users => home}/lsjostro/nemo.nix (100%) create mode 100644 hosts/dinky/default.nix create mode 100644 hosts/nemo/default.nix diff --git a/README.md b/README.md index a989f47..fee8b5d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,31 @@ -# Home Manager +# NixOS Config IT in a box! + +## Bootstrapping from a fresh NixOS installation + +1. Install NixOS +2. Clone this repo: + + ``` + nix-shell -p git --command 'git clone https://git.shelman.io/shelmangroup/nixos-config.git' + ``` + +3. Ensure host configuration exists at `./nixos-config/hosts/${HOSTNAME}` and contains at minimum the hardware configuration. The NixOS installer will write this out to `/etc/nixos/hardware-configuration.nix`. +4. Apply configuration: + ``` + sudo nixos-rebuild boot --flake ./nixos-config#${HOSTNAME} + ``` + +## Use + +1. Clone this repo somewhere convenient, like `~/src/shelman/nixos-config` +2. Apply configuration: `just switch` + +## Update + +Update nixpkgs and switch: `just update` + +# Home Manager + +`just home-switch` diff --git a/common/base.nix b/common/base.nix new file mode 100644 index 0000000..269169b --- /dev/null +++ b/common/base.nix @@ -0,0 +1,42 @@ +{ pkgs, ... }: + +{ + boot = { + loader.systemd-boot.enable = true; + loader.efi.canTouchEfiVariables = true; + kernelPackages = pkgs.linuxPackages_zen; + }; + + time.timeZone = "Europe/Stockholm"; + + environment.systemPackages = with pkgs; [ + btrfs-progs + btrfs-snap + git + glibcLocales + qemu_kvm + qemu-utils + vim + zstd + ]; + + # Use fish, but not in /etc/passwd . See https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell + programs.bash = { + interactiveShellInit = '' + if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] + then + shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" + exec ${pkgs.fish}/bin/fish $LOGIN_OPTION + fi + ''; + shellInit = '' + export NIX_LD=$(nix eval --impure --raw --expr 'let pkgs = import <nixpkgs> {}; NIX_LD = pkgs.lib.fileContents "${pkgs.stdenv.cc}/nix-support/dynamic-linker"; in NIX_LD') + ''; + }; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; +} diff --git a/common/default.nix b/common/default.nix index d36eaaa..fcbbc87 100644 --- a/common/default.nix +++ b/common/default.nix @@ -1,21 +1,11 @@ -{ lib, ... }: { imports = [ - ./atuin.nix - ./broot.nix - ./devel.nix - ./fish.nix - ./gnome.nix - ./k8s.nix + ./base.nix + ./desktop.nix + ./hardening.nix + ./laptop.nix ./nix.nix - ./nvim.nix - ./scripts.nix - ./ssh.nix - ./utils.nix - ./vcs.nix - ./web.nix - ./wezterm.nix + ./plymouth.nix + ./podman.nix ]; - - options.shelman.desktop.enable = lib.mkEnableOption "Desktop environment"; } diff --git a/common/desktop.nix b/common/desktop.nix new file mode 100644 index 0000000..d7eefa2 --- /dev/null +++ b/common/desktop.nix @@ -0,0 +1,107 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) mkIf mkEnableOption; + cfg = config.shelman.podman; +in +{ + options.shelman.desktop.enable = mkEnableOption "Desktop environment and common applications"; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ gnome-ssh-askpass4 ]; + + # Excluding some GNOME applications from the default install + environment.gnome.excludePackages = + (with pkgs; [ + gnome-connections + gnome-photos + gnome-tour + snapshot + ]) + ++ (with pkgs.gnome; [ + atomix # puzzle game + baobab # disk usage analyzer + cheese # webcam tool + epiphany # web browser + geary # email reader + gnome-clocks + gnome-contacts + gnome-disk-utility + gnome-logs + gnome-music + gnome-terminal + hitori # sudoku game + iagno # go game + simple-scan + tali # poker game + yelp # help viewer + ]); + + fonts = { + fontDir.enable = true; + fontconfig = { + allowBitmaps = false; + antialias = true; + defaultFonts = { + serif = [ "Liberation Serif" ]; + sansSerif = [ "Inter" ]; + monospace = [ "BerkeleyMono Nerd Font" ]; + }; + hinting.enable = true; + hinting.style = "slight"; + subpixel.rgba = "rgb"; + }; + packages = with pkgs; [ + inter + jetbrains-mono + liberation_ttf + monaspace + (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + noto-fonts + noto-fonts-cjk + noto-fonts-color-emoji + roboto + ubuntu_font_family + ]; + }; + + programs.ssh.askPassword = "${pkgs.gnome-ssh-askpass4}/bin/gnome-ssh-askpass4"; + programs.ssh.startAgent = true; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; + + services.gnome.gnome-keyring.enable = true; + + services.printing.enable = true; + + services.xserver = { + enable = true; + displayManager.defaultSession = "gnome"; + displayManager.gdm.enable = true; + displayManager.gdm.autoSuspend = false; + desktopManager.gnome.enable = true; + xkb.layout = "se"; + xkb.variant = "us"; + }; + + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + jack.enable = true; + }; + }; +} diff --git a/common/hardening.nix b/common/hardening.nix new file mode 100644 index 0000000..4095ce0 --- /dev/null +++ b/common/hardening.nix @@ -0,0 +1,43 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + nix.settings.allowed-users = [ + "@wheel" + "root" + ]; + + boot.specialFileSystems = lib.mkIf ( + !config.security.rtkit.enable && !config.security.polkit.enable + ) { "/proc".options = [ "hidepid=2" ]; }; + + boot.kernel.sysctl."kernel.dmesg_restrict" = 1; + + environment.systemPackages = [ pkgs.doas-sudo-shim ]; + + security = { + doas = { + enable = true; + extraRules = [ + { + groups = [ "wheel" ]; + keepEnv = true; + persist = true; + } + ]; + }; + sudo.enable = false; + }; + + services.openssh = { + settings.PasswordAuthentication = false; + settings.KbdInteractiveAuthentication = false; + # prevents mutable /home/$user/.ssh/authorized_keys from being loaded to ensure that all user keys are config managed + # authorizedKeysFiles = lib.mkForce [ "/etc/ssh/authorized_keys.d/%u" ]; + }; + + users.users.root.hashedPassword = "!"; +} diff --git a/common/laptop.nix b/common/laptop.nix new file mode 100644 index 0000000..c9d5688 --- /dev/null +++ b/common/laptop.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) mkIf mkEnableOption; + cfg = config.shelman.podman; +in +{ + options.shelman.laptop.enable = mkEnableOption "Laptop tools and configuration"; + + config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; + + services.fprintd.enable = true; + }; +} diff --git a/common/nix.nix b/common/nix.nix index 3b66fd3..c94c16d 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -1,15 +1,47 @@ -{ outputs, ... }: { + inputs, + outputs, + lib, + config, + pkgs, + ... +}: + +{ + nix = + let + flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; + in + { + settings = { + auto-optimise-store = true; + experimental-features = "nix-command flakes"; + flake-registry = ""; + # Workaround for https://github.com/NixOS/nix/issues/9574 + nix-path = config.nix.nixPath; + substituters = [ "https://cache.nixos.org/" ]; + trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; + }; + channel.enable = false; + registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs; + nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; + }; + nixpkgs = { - config.allowUnfree = true; overlays = [ outputs.overlays.additions outputs.overlays.modifications outputs.overlays.unstable-packages ]; + config.allowUnfree = true; }; - programs.home-manager.enable = true; + programs.nh = { + enable = true; + clean.enable = true; + clean.extraArgs = "--keep-since 14d --keep 5"; + }; + programs.nix-ld.enable = true; - systemd.user.startServices = "sd-switch"; + environment.systemPackages = with pkgs; [ nvd ]; } diff --git a/common/plymouth.nix b/common/plymouth.nix new file mode 100644 index 0000000..bcf73cc --- /dev/null +++ b/common/plymouth.nix @@ -0,0 +1,45 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) mkIf mkEnableOption; + cfg = config.shelman.plymouth; +in +{ + options.shelman.plymouth.enable = mkEnableOption "Fancy boot splash"; + + config = mkIf cfg.enable { + boot = { + consoleLogLevel = 0; + initrd.verbose = false; + + # Hide the OS choice for bootloaders. + # It's still possible to open the bootloader list by pressing any key + # It will just not appear on screen unless a key is pressed + loader.timeout = 0; + + kernelParams = [ + "quiet" + "splash" + "boot.shell_on_fail" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + ]; + + plymouth = { + enable = true; + theme = "spinner_alt"; + themePackages = with pkgs; [ + (adi1090x-plymouth-themes.override { selected_themes = [ "spinner_alt" ]; }) + ]; + }; + }; + + }; +} diff --git a/common/podman.nix b/common/podman.nix new file mode 100644 index 0000000..02540ee --- /dev/null +++ b/common/podman.nix @@ -0,0 +1,48 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + inherit (lib) mkIf mkEnableOption; + cfg = config.shelman.podman; +in +{ + options.shelman.podman.enable = mkEnableOption "Podman"; + + config = mkIf cfg.enable { + environment.extraInit = '' + if [ -z "$DOCKER_HOST" -a -n "$XDG_RUNTIME_DIR" ]; then + export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock" + fi + ''; + + environment.systemPackages = with pkgs; [ + docker-compose + podman-compose + ]; + + virtualisation = { + containers = { + enable = true; + storage.settings = { + storage = { + driver = "overlay"; + runroot = "/run/containers/storage"; + graphroot = "/var/lib/containers/storage"; + rootless_storage_path = "/tmp/containers-$USER"; + options.overlay.mountopt = "nodev,metacopy=on"; + }; + }; + }; + + oci-containers.backend = "podman"; + podman = { + enable = true; + dockerCompat = true; + }; + }; + }; +} diff --git a/flake.lock b/flake.lock index 09d6f23..708bc20 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,55 @@ { "nodes": { + "colmena": { + "inputs": { + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "stable": "stable" + }, + "locked": { + "lastModified": 1711386353, + "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=", + "path": "/nix/store/in94zdj4ls6p21r3q4zzvmbd61g9ap3b-source", + "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db", + "type": "path" + }, + "original": { + "id": "colmena", + "type": "indirect" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1650374568, + "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "b4a34015c698c7793d592d66adbab377907a2be8", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1659877975, + "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -7,11 +57,11 @@ ] }, "locked": { - "lastModified": 1722462338, - "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", + "lastModified": 1722203588, + "narHash": "sha256-91V5FMSQ4z9bkhTCf0f86Zjw0bh367daSf0mzCIW0vU=", "owner": "nix-community", "repo": "home-manager", - "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", + "rev": "792757f643cedc13f02098d8ed506d82e19ec1da", "type": "github" }, "original": { @@ -24,11 +74,27 @@ "locked": { "lastModified": 1722421184, "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", - "owner": "nixos", + "owner": "NixOS", "repo": "nixpkgs", "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", "type": "github" }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1722062969, + "narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3", + "type": "github" + }, "original": { "owner": "nixos", "ref": "nixos-unstable", @@ -38,8 +104,25 @@ }, "root": { "inputs": { + "colmena": "colmena", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" + } + }, + "stable": { + "locked": { + "lastModified": 1696039360, + "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.05", + "repo": "nixpkgs", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 2ea8237..75a57a5 100644 --- a/flake.nix +++ b/flake.nix @@ -12,6 +12,7 @@ { self, nixpkgs, + colmena, home-manager, ... }@inputs: @@ -21,18 +22,27 @@ mkHome = modules: home-manager.lib.homeManagerConfiguration { - modules = [ ./common ] ++ modules; + modules = [ ./home/common ] ++ modules; pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; }; }; + mkHost = + modules: + nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs outputs; + }; + system = "x86_64-linux"; + modules = [ ./common ] ++ modules; + }; + supportedSystems = [ "x86_64-linux" "aarch64-linux" ]; - forEachSystem = f: builtins.listToAttrs ( @@ -58,14 +68,19 @@ devShells = forEachSystem' ( { system, pkgs, ... }: { - default = pkgs.mkShell { packages = [ pkgs.just ]; }; + default = pkgs.mkShell { packages = [ pkgs.colmena ]; }; } ); homeConfigurations = { - "dln@dinky" = mkHome [ ./users/dln/dinky.nix ]; - "dln@nemo" = mkHome [ ./users/dln/nemo.nix ]; - "lsjostro@nemo" = mkHome [ ./users/lsjostro/nemo.nix ]; + "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; + "dln@nemo" = mkHome [ ./home/dln/nemo.nix ]; + "lsjostro@nemo" = mkHome [ ./home/lsjostro/nemo.nix ]; + }; + + nixosConfigurations = { + dinky = mkHost [ ./hosts/dinky ]; + nemo = mkHost [ ./hosts/nemo ]; }; }; diff --git a/common/atuin.nix b/home/common/atuin.nix similarity index 100% rename from common/atuin.nix rename to home/common/atuin.nix diff --git a/common/broot.nix b/home/common/broot.nix similarity index 100% rename from common/broot.nix rename to home/common/broot.nix diff --git a/home/common/default.nix b/home/common/default.nix new file mode 100644 index 0000000..d36eaaa --- /dev/null +++ b/home/common/default.nix @@ -0,0 +1,21 @@ +{ lib, ... }: +{ + imports = [ + ./atuin.nix + ./broot.nix + ./devel.nix + ./fish.nix + ./gnome.nix + ./k8s.nix + ./nix.nix + ./nvim.nix + ./scripts.nix + ./ssh.nix + ./utils.nix + ./vcs.nix + ./web.nix + ./wezterm.nix + ]; + + options.shelman.desktop.enable = lib.mkEnableOption "Desktop environment"; +} diff --git a/common/devel.nix b/home/common/devel.nix similarity index 100% rename from common/devel.nix rename to home/common/devel.nix diff --git a/common/fish.nix b/home/common/fish.nix similarity index 90% rename from common/fish.nix rename to home/common/fish.nix index 1d619bf..107493d 100644 --- a/common/fish.nix +++ b/home/common/fish.nix @@ -93,7 +93,7 @@ rg.body = '' if status is-interactive - command rg --json $argv | delta + command rg -p $argv | bat else command rg $argv end @@ -101,11 +101,11 @@ }; interactiveShellInit = lib.concatStringsSep "\n" [ - (builtins.readFile ../files/config/fish/config.fish) - (builtins.readFile ../files/config/fish/semantic-prompt.fish) - (builtins.readFile ../files/config/fish/go-task.fish) - (builtins.readFile ../files/config/fish/jj.fish) - (builtins.readFile ../files/config/fish/vcs.fish) + (builtins.readFile ../../files/config/fish/config.fish) + (builtins.readFile ../../files/config/fish/semantic-prompt.fish) + (builtins.readFile ../../files/config/fish/go-task.fish) + (builtins.readFile ../../files/config/fish/jj.fish) + (builtins.readFile ../../files/config/fish/vcs.fish) ]; shellAbbrs = { diff --git a/common/gnome.nix b/home/common/gnome.nix similarity index 100% rename from common/gnome.nix rename to home/common/gnome.nix diff --git a/common/k8s.nix b/home/common/k8s.nix similarity index 100% rename from common/k8s.nix rename to home/common/k8s.nix diff --git a/home/common/nix.nix b/home/common/nix.nix new file mode 100644 index 0000000..3b66fd3 --- /dev/null +++ b/home/common/nix.nix @@ -0,0 +1,15 @@ +{ outputs, ... }: +{ + nixpkgs = { + config.allowUnfree = true; + overlays = [ + outputs.overlays.additions + outputs.overlays.modifications + outputs.overlays.unstable-packages + ]; + }; + + programs.home-manager.enable = true; + + systemd.user.startServices = "sd-switch"; +} diff --git a/common/nvim.nix b/home/common/nvim.nix similarity index 86% rename from common/nvim.nix rename to home/common/nvim.nix index 83f255b..9e65aaf 100644 --- a/common/nvim.nix +++ b/home/common/nvim.nix @@ -13,7 +13,7 @@ xdg.configFile = { "nvim" = { recursive = true; - source = ./../files/config/nvim; + source = ./../../files/config/nvim; }; }; } diff --git a/common/scripts.nix b/home/common/scripts.nix similarity index 80% rename from common/scripts.nix rename to home/common/scripts.nix index 4848c39..7f607ac 100644 --- a/common/scripts.nix +++ b/home/common/scripts.nix @@ -8,7 +8,7 @@ home.file = { ".local/bin" = { recursive = true; - source = ./../files/scripts; + source = ./../../files/scripts; }; }; diff --git a/common/ssh.nix b/home/common/ssh.nix similarity index 100% rename from common/ssh.nix rename to home/common/ssh.nix diff --git a/common/utils.nix b/home/common/utils.nix similarity index 100% rename from common/utils.nix rename to home/common/utils.nix diff --git a/common/vcs.nix b/home/common/vcs.nix similarity index 100% rename from common/vcs.nix rename to home/common/vcs.nix diff --git a/common/web.nix b/home/common/web.nix similarity index 100% rename from common/web.nix rename to home/common/web.nix diff --git a/common/wezterm.nix b/home/common/wezterm.nix similarity index 63% rename from common/wezterm.nix rename to home/common/wezterm.nix index 6555bdb..2aa7913 100644 --- a/common/wezterm.nix +++ b/home/common/wezterm.nix @@ -4,7 +4,7 @@ programs.wezterm = { enable = true; - extraConfig = builtins.readFile ./../files/config/wezterm/wezterm.lua; + extraConfig = builtins.readFile ./../../files/config/wezterm/wezterm.lua; }; }; diff --git a/users/dln/desktop.nix b/home/dln/desktop.nix similarity index 100% rename from users/dln/desktop.nix rename to home/dln/desktop.nix diff --git a/users/dln/dinky.nix b/home/dln/dinky.nix similarity index 100% rename from users/dln/dinky.nix rename to home/dln/dinky.nix diff --git a/users/dln/home.nix b/home/dln/home.nix similarity index 100% rename from users/dln/home.nix rename to home/dln/home.nix diff --git a/users/dln/nemo.nix b/home/dln/nemo.nix similarity index 100% rename from users/dln/nemo.nix rename to home/dln/nemo.nix diff --git a/users/lsjostro/home.nix b/home/lsjostro/home.nix similarity index 100% rename from users/lsjostro/home.nix rename to home/lsjostro/home.nix diff --git a/users/lsjostro/nemo.nix b/home/lsjostro/nemo.nix similarity index 100% rename from users/lsjostro/nemo.nix rename to home/lsjostro/nemo.nix diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix new file mode 100644 index 0000000..851801a --- /dev/null +++ b/hosts/dinky/default.nix @@ -0,0 +1,113 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot = { + initrd = { + availableKernelModules = [ + "xhci_pci" + "thunderbolt" + "nvme" + "usb_storage" + "sd_mod" + ]; + kernelModules = [ ]; + luks.devices."enc".device = "/dev/disk/by-uuid/e7c7a230-b321-4e6d-869c-6c2d858455d2"; + systemd.enable = true; + }; + kernelModules = [ "kvm-intel" ]; + kernelParams = [ "mitigations=off" ]; + extraModulePackages = [ ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/81e5205d-fe1e-458f-82e1-d60ab03c0a1d"; + fsType = "btrfs"; + options = [ + "noatime" + "nodiratime" + ]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/D6C0-1A05"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + vpl-gpu-rt + intel-media-driver + vaapiVdpau + libvdpau-va-gl + ]; + }; + + hardware.nitrokey.enable = true; + + swapDevices = [ { device = "/dev/disk/by-uuid/c9cc5270-87b0-4ed4-9891-7df924b0f55a"; } ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + environment.systemPackages = with pkgs; [ + android-tools + android-udev-rules + mullvad-vpn + ]; + + services.printing.enable = true; + services.printing.drivers = [ pkgs.brlaser ]; + + programs.adb.enable = true; + + networking = { + hostName = "dinky"; + useDHCP = lib.mkDefault true; + }; + + services.mullvad-vpn.enable = true; + + users.users.dln = { + isNormalUser = true; + description = "Daniel Lundin"; + extraGroups = [ + "adbusers" + "lp" + "nitrokey" + "wheel" + ]; + openssh.authorizedKeys.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILwakA+EeuR23vRhjvjMkzK+FtWIhpnbs7z1pfnBehCUAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + ]; + }; + + shelman = { + desktop.enable = true; + laptop.enable = true; + plymouth.enable = true; + podman.enable = true; + }; + + services.xserver.displayManager.autoLogin.enable = true; + services.xserver.displayManager.autoLogin.user = "dln"; + systemd.services."getty@tty1".enable = false; + systemd.services."autovt@tty1".enable = false; + + system.stateVersion = "24.05"; # Did you read the comment? +} diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix new file mode 100644 index 0000000..dc4024d --- /dev/null +++ b/hosts/nemo/default.nix @@ -0,0 +1,192 @@ +{ + lib, + config, + pkgs, + modulesPath, + ... +}: + +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot = { + extraModulePackages = with config.boot.kernelPackages; [ nct6687d ]; + initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "nct6687" + "nvme" + "firewire_ohci" + "usbhid" + "usb_storage" + "sd_mod" + ]; + initrd.kernelModules = [ "nct6687" ]; + kernelModules = [ + "nct6687" + "kvm-intel" + ]; + extraModprobeConfig = '' + options nct6687 force=1 + ''; + kernelParams = [ "mitigations=off" ]; + }; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/b9514f88-1c83-4596-999f-7e3640db6a86"; + fsType = "btrfs"; + options = [ + "subvol=@" + "noatime" + "nodiratime" + ]; + }; + + fileSystems."/home" = { + device = "/dev/disk/by-uuid/b9514f88-1c83-4596-999f-7e3640db6a86"; + fsType = "btrfs"; + options = [ + "subvol=@home" + "noatime" + "nodiratime" + ]; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/2670-0FCA"; + fsType = "vfat"; + options = [ + "fmask=0022" + "dmask=0022" + ]; + }; + + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + vpl-gpu-rt + intel-media-driver + vaapiVdpau + libvdpau-va-gl + ]; + }; + + swapDevices = [ ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + + networking = { + hostName = "nemo"; # Define your hostname. + nameservers = [ + "10.1.100.11" + "10.1.100.12" + "10.1.100.13" + ]; + networkmanager.enable = false; + useDHCP = false; + wireless.iwd = { + enable = true; + settings = { + DriverQuirks.PowerSaveDisable = "*"; + Network = { + EnableIPv6 = false; + NameResolvingService = "systemd"; + }; + Scan.DisablePeriodicScan = true; + Settings = { + AutoConnect = true; + }; + }; + }; + }; + + networking.firewall.allowedTCPPorts = [ + 22000 # Syncthing + ]; + networking.firewall.allowedUDPPorts = [ + 22000 # Synchthing + 21027 + ]; + + systemd.network.enable = true; + systemd.network.networks."10-wifi" = { + matchConfig.Name = "wlan0"; + address = [ "10.1.100.20/24" ]; + gateway = [ "10.1.100.1" ]; + linkConfig.RequiredForOnline = "routable"; + }; + + security = { + pam.services.doas = + { config, ... }: + { + rules.auth.rssh = { + order = config.rules.auth.ssh_agent_auth.order - 1; + control = "sufficient"; + modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + cat "/etc/ssh/authorized_keys.d/$1" + ''; + }; + }; + }; + + services.resolved = { + enable = true; + domains = [ "~." ]; + fallbackDns = [ "9.9.9.9" ]; + }; + + services.openssh = { + enable = true; + settings = { + PasswordAuthentication = false; + PermitRootLogin = "no"; + StreamLocalBindUnlink = true; + }; + }; + + services.sunshine = { + enable = true; + openFirewall = true; + settings = { }; + }; + + shelman = { + desktop.enable = true; + plymouth.enable = true; + podman.enable = true; + }; + + environment.systemPackages = with pkgs; [ + ffado + lm_sensors + openconnect + pam_rssh + ]; + + programs.coolercontrol.enable = true; + + users.users.dln = { + isNormalUser = true; + description = "Daniel Lundin"; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIHMAEZx02kbHrEygyPQYStiXlrIe6EIqBCv7anIkL0pAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + ]; + }; + + users.users.lsjostro = { + isNormalUser = true; + description = "Lars Sjöström"; + extraGroups = [ "wheel" ]; + openssh.authorizedKeys.keys = [ + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJ10mLOpInoqDaySyrxbzvcOrJfLw48Y6eWHa9501lw+hEEBXya3ib7nlvpCqEQJ8aPU5fVRqpkOW5zSimCiRbwAAAAEc3NoOg==" + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLpoKvsZDIQQLfgzJhe1jAQubBNxjydkj8UfdUPaSXqgfB02OypMOC1m5ZuJYcQIxox0I+4Z8xstFhYP6s8zKZwAAAAEc3NoOg==" + ]; + }; + + system.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion +} diff --git a/justfile b/justfile index 73fe5fa..75763bf 100644 --- a/justfile +++ b/justfile @@ -4,14 +4,26 @@ set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"] default: @just --list +boot: + nh os boot . + +build: + nh os build . + +switch: + nh os switch . + +update: + nh os switch --update --ask . + clean: nh clean all -build: +home-build: nh home build . -switch: +home-switch: nh home switch . -update: +home-update: nh home switch --update --ask . From afab218397f17ef5e0289a9784b7a472fb8ef20b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 Aug 2024 14:47:10 +0200 Subject: [PATCH 322/656] update --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index 708bc20..594936f 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1722203588, - "narHash": "sha256-91V5FMSQ4z9bkhTCf0f86Zjw0bh367daSf0mzCIW0vU=", + "lastModified": 1722462338, + "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", "owner": "nix-community", "repo": "home-manager", - "rev": "792757f643cedc13f02098d8ed506d82e19ec1da", + "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", "type": "github" }, "original": { @@ -72,11 +72,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1722421184, - "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", + "lastModified": 1696019113, + "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", + "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1722062969, - "narHash": "sha256-QOS0ykELUmPbrrUGmegAUlpmUFznDQeR4q7rFhl8eQg=", + "lastModified": 1722421184, + "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b73c2221a46c13557b1b3be9c2070cc42cf01eb3", + "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", "type": "github" }, "original": { From 68fb14b40685456a7b2e976b056350bd3672afdd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 3 Aug 2024 13:24:57 +0200 Subject: [PATCH 323/656] update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 594936f..4c123ce 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1722462338, - "narHash": "sha256-ss0G8t8RJVDewA3MyqgAlV951cWRK6EtVhVKEZ7J5LU=", + "lastModified": 1722630065, + "narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=", "owner": "nix-community", "repo": "home-manager", - "rev": "6e090576c4824b16e8759ebca3958c5b09659ee8", + "rev": "afc892db74d65042031a093adb6010c4c3378422", "type": "github" }, "original": { From d6834302cbf2950bf08f242e7f71beaffa0a1b6a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 3 Aug 2024 13:25:31 +0200 Subject: [PATCH 324/656] vcs: re-add git-branchless since its still in use --- home/common/vcs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/vcs.nix b/home/common/vcs.nix index e63f1d3..d909ca6 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -5,6 +5,7 @@ delta diffedit3 difftastic + git-branchless git-graph git-town lazyjj From b1c2640dc2298f37b8c4890e8debf9f9ed59ce71 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 3 Aug 2024 23:59:19 +0200 Subject: [PATCH 325/656] ssh: forward agent to dev --- home/dln/home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/home.nix b/home/dln/home.nix index 495944b..12a9d54 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -112,6 +112,7 @@ in programs.ssh.matchBlocks = { dev = { hostname = "10.1.100.16"; + forwardAgent = true; }; nemo = { From 5868da6c29b0a2cf06077d3b062d9314879be5ff Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 7 Aug 2024 12:00:22 +0200 Subject: [PATCH 326/656] update --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 4c123ce..e02446c 100644 --- a/flake.lock +++ b/flake.lock @@ -57,11 +57,11 @@ ] }, "locked": { - "lastModified": 1722630065, - "narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=", + "lastModified": 1723015306, + "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", "owner": "nix-community", "repo": "home-manager", - "rev": "afc892db74d65042031a093adb6010c4c3378422", + "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", "type": "github" }, "original": { @@ -88,11 +88,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1722421184, - "narHash": "sha256-/DJBI6trCeVnasdjUo9pbnodCLZcFqnVZiLUfqLH4jA=", + "lastModified": 1722813957, + "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f918d616c5321ad374ae6cb5ea89c9e04bf3e58", + "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", "type": "github" }, "original": { From abb479c2cd0a39252020ac8ec911ef3b3d4ca327 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 7 Aug 2024 12:22:47 +0200 Subject: [PATCH 327/656] jj: use difftastic by default. add more aliases for convenience --- files/config/fish/vcs.fish | 4 +++- home/dln/home.nix | 39 +++++++++++++++++++++++++++++++------- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index d86672a..ae510d5 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -23,7 +23,9 @@ end function vcs_status if __jj_in_repo - jj status --ignore-working-copy + jj status + echo + jj log --limit=20 -T builtin_log_comfortable -r "(main..@) | (main..@)-" else git status -sb end diff --git a/home/dln/home.nix b/home/dln/home.nix index 12a9d54..ed50251 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -42,11 +42,11 @@ in ui = { "default-command" = [ "log" - "--limit=20" - "--template=builtin_log_comfortable" + "--limit=25" + "-T" + "builtin_log_comfortable" ]; - - pager = "bat"; + pager = "delta"; }; "merge-tools" = { @@ -55,11 +55,21 @@ in "$left" "$right" ]; + difftu = { + program = "difft"; + "diff-args" = [ + "--color=always" + "--display=inline" + "$left" + "$right" + ]; + }; }; aliases = { l = [ "log" + "--limit=25" "-T" "builtin_log_comfortable" "-r" @@ -67,6 +77,7 @@ in ]; la = [ "log" + "--limit=25" "-T" "builtin_log_oneline" "-r" @@ -80,9 +91,23 @@ in "new" "main" ]; - d = [ "diff" ]; - s = [ "show" ]; - sh = [ + d = [ + "diff" + "--tool=difftu" + ]; + dd = [ + "diff" + "--git" + ]; + ds = [ + "diff" + "--tool=difft" + ]; + s = [ + "show" + "--tool=difftu" + ]; + ss = [ "show" "--tool=difft" ]; From 7527d2654cabbbcd4c37dbaf39566019c663bd89 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 4 Aug 2024 00:05:29 +0200 Subject: [PATCH 328/656] fish: use delta as pager --- home/common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 107493d..769726c 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -93,7 +93,7 @@ rg.body = '' if status is-interactive - command rg -p $argv | bat + command rg -p $argv --json | delta else command rg $argv end From 12351463fc78d9ddd7848348054c5dd7a1c74f53 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 7 Aug 2024 21:42:08 +0200 Subject: [PATCH 329/656] git/jj: ignore result dir --- home/common/vcs.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/vcs.nix b/home/common/vcs.nix index d909ca6..ba1b2f6 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -115,6 +115,7 @@ ".direnv" ".idea" ".null-ls_*" + "result" ]; signing = { From d527f939b6bf10ac3ef8192c2144d7c9b66ea531 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 7 Aug 2024 21:58:27 +0200 Subject: [PATCH 330/656] jj: show deleted/missing files as empty in difftastic --- home/dln/home.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/home/dln/home.nix b/home/dln/home.nix index ed50251..0cbb129 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -52,6 +52,7 @@ in "merge-tools" = { difft."diff-args" = [ "--color=always" + "--missing-as-empty" "$left" "$right" ]; @@ -60,6 +61,7 @@ in "diff-args" = [ "--color=always" "--display=inline" + "--missing-as-empty" "$left" "$right" ]; From b636050ab681cd84348dde35902ffa1d6ccdbbc9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 8 Aug 2024 00:40:49 +0200 Subject: [PATCH 331/656] Clean up renamed options and packages --- common/desktop.nix | 21 +++++++++++---------- hosts/dinky/default.nix | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index d7eefa2..ba48368 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -23,22 +23,22 @@ in gnome-tour snapshot ]) - ++ (with pkgs.gnome; [ - atomix # puzzle game + ++ (with pkgs; [ baobab # disk usage analyzer cheese # webcam tool epiphany # web browser geary # email reader - gnome-clocks - gnome-contacts + gnome.atomix # puzzle game gnome-disk-utility - gnome-logs - gnome-music + gnome.gnome-clocks + gnome.gnome-contacts + gnome.gnome-logs + gnome.gnome-music + gnome.hitori # sudoku game + gnome.iagno # go game + gnome.tali # poker game gnome-terminal - hitori # sudoku game - iagno # go game simple-scan - tali # poker game yelp # help viewer ]); @@ -84,9 +84,10 @@ in services.printing.enable = true; + services.displayManager.defaultSession = "gnome"; + services.xserver = { enable = true; - displayManager.defaultSession = "gnome"; displayManager.gdm.enable = true; displayManager.gdm.autoSuspend = false; desktopManager.gnome.enable = true; diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 851801a..b90f774 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -104,8 +104,8 @@ podman.enable = true; }; - services.xserver.displayManager.autoLogin.enable = true; - services.xserver.displayManager.autoLogin.user = "dln"; + services.displayManager.autoLogin.enable = true; + services.displayManager.autoLogin.user = "dln"; systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; From 605e75220a78f538a3f10c50c04e5f80be0500ed Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 9 Aug 2024 19:17:04 +0200 Subject: [PATCH 332/656] nix: shared cache --- common/nix.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index c94c16d..825636b 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -19,8 +19,15 @@ flake-registry = ""; # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; - substituters = [ "https://cache.nixos.org/" ]; - trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; + substituters = [ + "https://nix-attic.aarn.shelman.io/shared" + "https://cache-nixos-org.aarn.shelman.io" + "https://cache.nixos.org/" + ]; + trusted-public-keys = [ + "shared:vbOVOQpXO/hLiTJ/7FmtSio75ZE25+mNGOC+a4TcV84=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + ]; }; channel.enable = false; registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs; From 698fab3921e856477c4c612b018171a2d3f20f03 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 9 Aug 2024 19:17:04 +0200 Subject: [PATCH 333/656] nix: set up remote builds --- hosts/nemo/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index dc4024d..66a7bc3 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -188,5 +188,22 @@ ]; }; + users.users.nixremote = { + name = "nixremote"; + isSystemUser = true; + shell = pkgs.bashInteractive; + group = "nixremote"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJjhHem/l3p/79Rqo3Wtk9ksxmt7Q/pkRdnXiNzP4Cf" + ]; + }; + users.groups.nixremote = { }; + + nix.settings.trusted-users = [ + "dln" + "lsjostro" + "nixremote" + ]; + system.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion } From 6f657978f3e0e8babb14dc64175366ae2b02745a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 10 Aug 2024 13:45:09 +0200 Subject: [PATCH 334/656] jj: upgrade to 0.20.0 w/openssh patch --- pkgs/jujutsu-openssh/Cargo.lock | 447 +++++++++++++++++-------------- pkgs/jujutsu-openssh/default.nix | 6 +- 2 files changed, 246 insertions(+), 207 deletions(-) diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index b2483de..f1dc3c5 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -205,9 +205,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "blake2" @@ -229,9 +229,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.9.1" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" +checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", "regex-automata 0.4.7", @@ -252,9 +252,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" dependencies = [ "serde", ] @@ -305,18 +305,18 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "castaway" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" +checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" dependencies = [ "rustversion", ] [[package]] name = "cc" -version = "1.0.99" +version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96c51067fd44124faa7f870b4b1c969379ad32b2ba805aa959430ceaa384f695" +checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" dependencies = [ "jobserver", "libc", @@ -337,8 +337,20 @@ checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ "android-tzdata", "iana-time-zone", + "js-sys", "num-traits", - "windows-targets 0.52.5", + "wasm-bindgen", + "windows-targets 0.52.6", +] + +[[package]] +name = "chrono-english" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f73d909da7eb4a7d88c679c3f5a1bc09d965754e0adb2e7627426cef96a00d6f" +dependencies = [ + "chrono", + "scanlex", ] [[package]] @@ -370,9 +382,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.9" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462" +checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" dependencies = [ "clap_builder", "clap_derive", @@ -389,9 +401,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.9" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942" +checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" dependencies = [ "anstream", "anstyle", @@ -402,18 +414,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.7" +version = "4.5.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d598e88f6874d4b888ed40c71efbcbf4076f1dfbae128a08a8c9e45f710605d" +checksum = "a8670053e87c316345e384ca1f3eba3006fc6355ed8b8a1140d104e109e3df34" dependencies = [ "clap", ] [[package]] name = "clap_complete_nushell" -version = "4.5.2" +version = "4.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1accf1b463dee0d3ab2be72591dccdab8bef314958340447c882c4c72acfe2a3" +checksum = "5fe32110e006bccf720f8c9af3fee1ba7db290c724eab61544e1d3295be3a40e" dependencies = [ "clap", "clap_complete", @@ -421,9 +433,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.8" +version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085" +checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ "heck", "proc-macro2", @@ -439,9 +451,9 @@ checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" [[package]] name = "clap_mangen" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74b70fc13e60c0e1d490dc50eb73a749be6d81f4ef03783df1d9b7b0c62bc937" +checksum = "f50dde5bc0c853d6248de457e5eb6e5a674a54b93810a34ded88d882ca1fe2de" dependencies = [ "clap", "roff", @@ -620,10 +632,10 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "crossterm_winapi", "libc", - "mio", + "mio 0.8.11", "parking_lot", "signal-hook", "signal-hook-mio", @@ -662,7 +674,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.5", + "hashbrown", "lock_api", "once_cell", "parking_lot_core", @@ -729,9 +741,9 @@ checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" [[package]] name = "dunce" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" [[package]] name = "either" @@ -933,7 +945,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.19.0" +version = "0.20.0" dependencies = [ "prost-build", ] @@ -970,7 +982,7 @@ name = "git2" version = "0.18.3" source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=8fd23a45f#8fd23a45f4166d4e87debc02d9ba70ef601fe751" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", "libgit2-sys", "log", @@ -981,9 +993,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.63.0" +version = "0.64.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "984c5018adfa7a4536ade67990b3ebc6e11ab57b3d6cd9968de0947ca99b4b06" +checksum = "d78414d29fcc82329080166077e0f7689f4016551fdb334d787c3d040fe2634f" dependencies = [ "gix-actor", "gix-attributes", @@ -1022,16 +1034,15 @@ dependencies = [ "gix-validate", "gix-worktree", "once_cell", - "parking_lot", "smallvec", "thiserror", ] [[package]] name = "gix-actor" -version = "0.31.4" +version = "0.31.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b8ee65074b2bbb91d9d97c15d172ea75043aefebf9869b5b329149dc76501c" +checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" dependencies = [ "bstr", "gix-date", @@ -1043,9 +1054,9 @@ dependencies = [ [[package]] name = "gix-attributes" -version = "0.22.2" +version = "0.22.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eefb48f42eac136a4a0023f49a54ec31be1c7a9589ed762c45dcb9b953f7ecc8" +checksum = "e37ce99c7e81288c28b703641b6d5d119aacc45c1a6b247156e6249afa486257" dependencies = [ "bstr", "gix-glob", @@ -1078,9 +1089,9 @@ dependencies = [ [[package]] name = "gix-command" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c22e086314095c43ffe5cdc5c0922d5439da4fd726f3b0438c56147c34dc225" +checksum = "0d76867867da891cbe32021ad454e8cae90242f6afb06762e4dd0d357afd1d7b" dependencies = [ "bstr", "gix-path", @@ -1090,9 +1101,9 @@ dependencies = [ [[package]] name = "gix-commitgraph" -version = "0.24.2" +version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7b102311085da4af18823413b5176d7c500fb2272eaf391cfa8635d8bcb12c4" +checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" dependencies = [ "bstr", "gix-chunk", @@ -1104,9 +1115,9 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.37.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fafe42957e11d98e354a66b6bd70aeea00faf2f62dd11164188224a507c840" +checksum = "28f53fd03d1bf09ebcc2c8654f08969439c4556e644ca925f27cf033bc43e658" dependencies = [ "bstr", "gix-config-value", @@ -1125,11 +1136,11 @@ dependencies = [ [[package]] name = "gix-config-value" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbd06203b1a9b33a78c88252a625031b094d9e1b647260070c25b09910c0a804" +checksum = "b328997d74dd15dc71b2773b162cb4af9a25c424105e4876e6d0686ab41c383e" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-path", "libc", @@ -1138,9 +1149,9 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "367ee9093b0c2b04fd04c5c7c8b6a1082713534eab537597ae343663a518fa99" +checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" dependencies = [ "bstr", "itoa", @@ -1150,9 +1161,9 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.44.0" +version = "0.44.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40b9bd8b2d07b6675a840b56a6c177d322d45fa082672b0dad8f063b25baf0a4" +checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" dependencies = [ "bstr", "gix-command", @@ -1170,9 +1181,9 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.32.0" +version = "0.33.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc27c699b63da66b50d50c00668bc0b7e90c3a382ef302865e891559935f3dbf" +checksum = "67662731cec3cb31ba3ed2463809493f76d8e5d6c6d245de8b0560438c13450e" dependencies = [ "bstr", "dunce", @@ -1208,9 +1219,9 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00ce6ea5ac8fca7adbc63c48a1b9e0492c222c386aa15f513405f1003f2f4ab2" +checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" dependencies = [ "bstr", "encoding_rs", @@ -1229,9 +1240,9 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3338ff92a2164f5209f185ec0cd316f571a72676bb01d27e22f2867ba69f77a" +checksum = "6adf99c27cdf17b1c4d77680c917e0d94d8783d4e1c73d3be0d1d63107163d7a" dependencies = [ "fastrand", "gix-features", @@ -1240,11 +1251,11 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.16.3" +version = "0.16.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2a29ad0990cf02c48a7aac76ed0dbddeb5a0d070034b83675cc3bbf937eace4" +checksum = "fa7df15afa265cc8abe92813cd354d522f1ac06b29ec6dfa163ad320575cb447" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-features", "gix-path", @@ -1267,15 +1278,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" dependencies = [ "gix-hash", - "hashbrown 0.14.5", + "hashbrown", "parking_lot", ] [[package]] name = "gix-ignore" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "640dbeb4f5829f9fc14d31f654a34a0350e43a24e32d551ad130d99bf01f63f1" +checksum = "5e6afb8f98e314d4e1adc822449389ada863c174b5707cedd327d67b84dba527" dependencies = [ "bstr", "gix-glob", @@ -1286,11 +1297,11 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.33.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8c5a5f1c58edcbc5692b174cda2703aba82ed17d7176ff4c1752eb48b1b167" +checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "filetime", "fnv", @@ -1303,7 +1314,7 @@ dependencies = [ "gix-traverse", "gix-utils", "gix-validate", - "hashbrown 0.14.5", + "hashbrown", "itoa", "libc", "memmap2", @@ -1336,9 +1347,9 @@ dependencies = [ [[package]] name = "gix-object" -version = "0.42.2" +version = "0.42.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fe2dc4a41191c680c942e6ebd630c8107005983c4679214fdb1007dcf5ae1df" +checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" dependencies = [ "bstr", "gix-actor", @@ -1355,9 +1366,9 @@ dependencies = [ [[package]] name = "gix-odb" -version = "0.61.0" +version = "0.61.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e92b9790e2c919166865d0825b26cc440a387c175bed1b43a2fa99c0e9d45e98" +checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" dependencies = [ "arc-swap", "gix-date", @@ -1375,9 +1386,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.51.0" +version = "0.51.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a8da51212dbff944713edb2141ed7e002eea326b8992070374ce13a6cb610b3" +checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" dependencies = [ "clru", "gix-chunk", @@ -1386,9 +1397,7 @@ dependencies = [ "gix-hashtable", "gix-object", "gix-path", - "gix-tempfile", "memmap2", - "parking_lot", "smallvec", "thiserror", "uluru", @@ -1408,9 +1417,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.7" +version = "0.10.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23623cf0f475691a6d943f898c4d0b89f5c1a2a64d0f92bce0e0322ee6528783" +checksum = "8d23d5bbda31344d8abc8de7c075b3cf26e5873feba7c4a15d916bce67382bd9" dependencies = [ "bstr", "gix-trace", @@ -1421,11 +1430,11 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.7.5" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76cab098dc10ba2d89f634f66bf196dea4d7db4bf10b75c7a9c201c55a2ee19" +checksum = "d307d1b8f84dc8386c4aa20ce0cf09242033840e15469a3ecba92f10cfb5c046" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "bstr", "gix-attributes", "gix-config-value", @@ -1447,12 +1456,11 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.44.1" +version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3394a2997e5bc6b22ebc1e1a87b41eeefbcfcff3dbfa7c4bd73cb0ac8f1f3e2e" +checksum = "636e96a0a5562715153fee098c217110c33a6f8218f08f4687ff99afde159bb5" dependencies = [ "gix-actor", - "gix-date", "gix-features", "gix-fs", "gix-hash", @@ -1469,9 +1477,9 @@ dependencies = [ [[package]] name = "gix-refspec" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dde848865834a54fe4d9b4573f15d0e9a68eaf3d061b42d3ed52b4b8acf880b2" +checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" dependencies = [ "bstr", "gix-hash", @@ -1483,25 +1491,23 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "63e08f8107ed1f93a83bcfbb4c38084c7cb3f6cd849793f1d5eec235f9b13b2b" +checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" dependencies = [ "bstr", "gix-date", "gix-hash", - "gix-hashtable", "gix-object", "gix-revwalk", - "gix-trace", "thiserror", ] [[package]] name = "gix-revwalk" -version = "0.13.1" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4181db9cfcd6d1d0fd258e91569dbb61f94cb788b441b5294dd7f1167a3e788f" +checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" dependencies = [ "gix-commitgraph", "gix-date", @@ -1514,11 +1520,11 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fddc27984a643b20dd03e97790555804f98cf07404e0e552c0ad8133266a79a1" +checksum = "1547d26fa5693a7f34f05b4a3b59a90890972922172653bcb891ab3f09f436df" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gix-path", "libc", "windows-sys 0.52.0", @@ -1526,9 +1532,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "921cd49924ac14b6611b22e5fb7bbba74d8780dc7ad26153304b64d1272460ac" +checksum = "0f2e0f69aa00805e39d39ec80472a7e9da20ed5d73318b27925a2cc198e854fd" dependencies = [ "bstr", "gix-config", @@ -1561,11 +1567,11 @@ checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" [[package]] name = "gix-traverse" -version = "0.39.1" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f20cb69b63eb3e4827939f42c05b7756e3488ef49c25c412a876691d568ee2a0" +checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "gix-commitgraph", "gix-date", "gix-hash", @@ -1578,9 +1584,9 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.27.3" +version = "0.27.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0db829ebdca6180fbe32be7aed393591df6db4a72dbbc0b8369162390954d1cf" +checksum = "e2eb9b35bba92ea8f0b5ab406fad3cf6b87f7929aa677ff10aa042c6da621156" dependencies = [ "bstr", "gix-features", @@ -1612,9 +1618,9 @@ dependencies = [ [[package]] name = "gix-worktree" -version = "0.34.0" +version = "0.34.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53f6b7de83839274022aff92157d7505f23debf739d257984a300a35972ca94e" +checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" dependencies = [ "bstr", "gix-attributes", @@ -1658,12 +1664,6 @@ dependencies = [ "crunchy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -1752,22 +1752,22 @@ dependencies = [ [[package]] name = "imara-diff" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8" +checksum = "af13c8ceb376860ff0c6a66d83a8cdd4ecd9e464da24621bbffcd02b49619434" dependencies = [ "ahash", - "hashbrown 0.12.3", + "hashbrown", ] [[package]] name = "indexmap" -version = "2.2.6" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown", ] [[package]] @@ -1833,6 +1833,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -1841,12 +1850,13 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jj-cli" -version = "0.19.0" +version = "0.20.0" dependencies = [ "anyhow", "assert_cmd", "assert_matches", "async-trait", + "bstr", "cargo_metadata", "chrono", "clap", @@ -1863,12 +1873,11 @@ dependencies = [ "futures 0.3.30", "git2", "gix", - "gix-filter", "hex", "indexmap", "indoc", "insta", - "itertools 0.12.1", + "itertools 0.13.0", "jj-cli", "jj-lib", "libc", @@ -1900,14 +1909,15 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.19.0" +version = "0.20.0" dependencies = [ "assert_matches", "async-trait", "backoff", "blake2", - "bytes", + "bstr", "chrono", + "chrono-english", "config", "criterion", "digest", @@ -1922,7 +1932,7 @@ dependencies = [ "ignore", "indoc", "insta", - "itertools 0.12.1", + "itertools 0.13.0", "jj-lib-proc-macros", "maplit", "num_cpus", @@ -1957,7 +1967,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.19.0" +version = "0.20.0" dependencies = [ "proc-macro2", "quote", @@ -2003,9 +2013,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" @@ -2031,7 +2041,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "libc", ] @@ -2071,9 +2081,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" @@ -2081,7 +2091,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.5", + "hashbrown", ] [[package]] @@ -2156,6 +2166,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "mio" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +dependencies = [ + "hermit-abi", + "libc", + "wasi", + "windows-sys 0.52.0", +] + [[package]] name = "multimap" version = "0.10.0" @@ -2218,9 +2240,9 @@ dependencies = [ [[package]] name = "object" -version = "0.36.0" +version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "576dfe1fc8f9df304abb159d767a29d0476f7750fbf8aa7ad07816004a207434" +checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" dependencies = [ "memchr", ] @@ -2236,9 +2258,9 @@ dependencies = [ [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" [[package]] name = "openssl-probe" @@ -2300,7 +2322,7 @@ dependencies = [ "libc", "redox_syscall 0.5.2", "smallvec", - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -2600,7 +2622,7 @@ version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f44c9e68fd46eda15c646fbb85e1040b657a58cdc8c98db1d97a55930d991eef" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "cassowary", "compact_str", "crossterm", @@ -2649,7 +2671,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", ] [[package]] @@ -2685,9 +2707,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ "aho-corasick", "memchr", @@ -2766,7 +2788,7 @@ version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ - "bitflags 2.5.0", + "bitflags 2.6.0", "errno", "libc", "linux-raw-sys", @@ -2794,6 +2816,12 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scanlex" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "088c5d71572124929ea7549a8ce98e1a6fd33d0a38367b09027b382e67c033db" + [[package]] name = "scm-record" version = "0.3.0" @@ -2851,9 +2879,9 @@ dependencies = [ [[package]] name = "serde_bytes" -version = "0.11.14" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b8497c313fd43ab992087548117643f6fcd935cbf36f176ffda0aacf9591734" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] @@ -2871,11 +2899,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.120" +version = "1.0.122" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5" +checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2938,7 +2967,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" dependencies = [ "libc", - "mio", + "mio 0.8.11", "signal-hook", ] @@ -2990,9 +3019,9 @@ dependencies = [ [[package]] name = "stability" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a" +checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" dependencies = [ "quote", "syn", @@ -3012,9 +3041,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "strum" -version = "0.26.2" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" dependencies = [ "strum_macros", ] @@ -3040,9 +3069,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.70" +version = "2.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f0209b68b3613b093e0ec905354eccaedcfe83b8cb37cbdeae64026c3064c16" +checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" dependencies = [ "proc-macro2", "quote", @@ -3051,14 +3080,15 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.10.1" +version = "3.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" dependencies = [ "cfg-if", "fastrand", + "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3112,14 +3142,14 @@ dependencies = [ [[package]] name = "testutils" -version = "0.19.0" +version = "0.20.0" dependencies = [ "async-trait", "config", "futures 0.3.30", "git2", "hex", - "itertools 0.12.1", + "itertools 0.13.0", "jj-lib", "rand", "tempfile", @@ -3138,18 +3168,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.61" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", @@ -3217,9 +3247,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -3232,28 +3262,27 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.38.0" +version = "1.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4f4a02a7a80d6f274636f0aa95c7e383b912d41fe721a31f29e29698585a4a" +checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" dependencies = [ "backtrace", "bytes", "libc", - "mio", - "num_cpus", + "mio 1.0.1", "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2", "tokio-macros", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] name = "tokio-macros" -version = "2.3.0" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f5ae998a069d4b5aba8ee9dad856af7d520c3699e6159b185c2acd48155d39a" +checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", @@ -3441,11 +3470,12 @@ checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" [[package]] name = "unicode-truncate" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5fbabedabe362c618c714dbefda9927b5afc8e2a8102f47f081089a9019226" +checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" dependencies = [ - "itertools 0.12.1", + "itertools 0.13.0", + "unicode-segmentation", "unicode-width", ] @@ -3486,9 +3516,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "wait-timeout" @@ -3651,7 +3681,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", ] [[package]] @@ -3669,7 +3699,16 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", + "windows-targets 0.52.6", +] + +[[package]] +name = "windows-sys" +version = "0.59.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" +dependencies = [ + "windows-targets 0.52.6", ] [[package]] @@ -3689,18 +3728,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm 0.52.6", + "windows_aarch64_msvc 0.52.6", + "windows_i686_gnu 0.52.6", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc 0.52.6", + "windows_x86_64_gnu 0.52.6", + "windows_x86_64_gnullvm 0.52.6", + "windows_x86_64_msvc 0.52.6", ] [[package]] @@ -3711,9 +3750,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" @@ -3723,9 +3762,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" @@ -3735,15 +3774,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" @@ -3753,9 +3792,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" @@ -3765,9 +3804,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" @@ -3777,9 +3816,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" @@ -3789,9 +3828,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -3829,18 +3868,18 @@ checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" [[package]] name = "zerocopy" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.34" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", @@ -3868,9 +3907,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.11+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75652c55c0b6f3e6f12eb786fe1bc960396bf05a1eb3bf1f3691c3610ac2e6d4" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index a5cee1e..b7d9789 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -19,10 +19,10 @@ rustPlatform.buildRustPackage rec { version = "0.19.0+pr3191.openssh"; src = fetchFromGitHub { - owner = "martinvonz"; + owner = "dln"; repo = "jj"; - rev = "f97577cf3f8da3f8cba40bb908a21d5b932cf68f"; # https://github.com/martinvonz/jj/pull/3191/commits - hash = "sha256-njRXH1JGBflIPU8nWPawjVEbqXm+zCITjI7EIcpVt84="; + rev = "02d38813680f9c78bebad75b3aa69f3523584f1e"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-D9H6o1+l2wgDlX1idIXTqq9FHqKb9+lgI7haRUrQlKw="; }; # cargoHash = ""; From 78c14ff210101b5936d3aa0d05531fb0d9178c80 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 10 Aug 2024 14:03:49 +0200 Subject: [PATCH 335/656] fixup --- pkgs/jujutsu-openssh/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index b7d9789..b5bd764 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -25,7 +25,6 @@ rustPlatform.buildRustPackage rec { hash = "sha256-D9H6o1+l2wgDlX1idIXTqq9FHqKb9+lgI7haRUrQlKw="; }; - # cargoHash = ""; cargoLock.lockFile = ./Cargo.lock; cargoLock.outputHashes = { "git2-0.18.3" = "sha256-3g7ajPfLfuPWh46rIa70wQRWLZ+jZXBApkyPlJULi/I="; From 47baf8ac8f1d7cd21cc6186edddf74465c642a30 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 10 Aug 2024 14:14:15 +0200 Subject: [PATCH 336/656] update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index e02446c..c14c9dd 100644 --- a/flake.lock +++ b/flake.lock @@ -88,11 +88,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1722813957, - "narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=", + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "type": "github" }, "original": { From faaf76ef6056b7d4162b1d00b0c19993500f8c43 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 9 Aug 2024 23:02:30 +0200 Subject: [PATCH 337/656] nix: remove broken attic for now --- common/nix.nix | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index 825636b..c03e5e2 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,14 +20,10 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - "https://nix-attic.aarn.shelman.io/shared" "https://cache-nixos-org.aarn.shelman.io" "https://cache.nixos.org/" ]; - trusted-public-keys = [ - "shared:vbOVOQpXO/hLiTJ/7FmtSio75ZE25+mNGOC+a4TcV84=" - "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" - ]; + trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; }; channel.enable = false; registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs; From 9d1bdf84e5dd1ab21b69016e38fb5c63bffff395 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 9 Aug 2024 21:05:58 +0200 Subject: [PATCH 338/656] nix: dinky: add remote build config --- hosts/dinky/default.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index b90f774..d2ff2c7 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -109,5 +109,22 @@ systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; + nix.buildMachines = [ + { + hostName = "nemo.aarn.shelman.io"; + sshUser = "nixremote"; + system = "x86_64-linux"; + protocol = "ssh-ng"; + maxJobs = 32; + speedFactor = 2; + supportedFeatures = [ ]; + mandatoryFeatures = [ ]; + } + ]; + nix.distributedBuilds = true; + nix.extraOptions = '' + builders-use-substitutes = true + ''; + system.stateVersion = "24.05"; # Did you read the comment? } From 389907c2d42ac94119ec244deac8ff73f018660f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 10 Aug 2024 16:11:50 +0200 Subject: [PATCH 339/656] fish: add `jl` function to show jj log w/fzf preview --- home/common/fish.nix | 4 ++++ home/dln/home.nix | 3 --- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 769726c..0d93d1b 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -34,6 +34,10 @@ ''; }; + jl.body = '' + jj log --color=always --no-graph -T builtin_log_oneline -r 'all()' | fzf --ansi --reverse --wrap --preview 'jj show --tool=difftu {1}' --preview-window=down,70% --color=light + ''; + __zoxide_zi_repaint.body = '' __zoxide_zi commandline -f repaint diff --git a/home/dln/home.nix b/home/dln/home.nix index 0cbb129..c04594f 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -129,9 +129,6 @@ in "commit_id prefix" = { bold = true; }; - "diff token" = { - underline = false; - }; }; }; }; From 1fae8d3e9cf063694bd426eae9337f8744796d3d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 10 Aug 2024 23:06:08 +0200 Subject: [PATCH 340/656] Add ghostty --- flake.lock | 266 ++++++++++++++++++++++++++++++++++++++++ flake.nix | 16 ++- home/common/default.nix | 1 + home/common/ghostty.nix | 75 +++++++++++ home/dln/desktop.nix | 3 +- 5 files changed, 359 insertions(+), 2 deletions(-) create mode 100644 home/common/ghostty.nix diff --git a/flake.lock b/flake.lock index c14c9dd..bd26dc4 100644 --- a/flake.lock +++ b/flake.lock @@ -35,6 +35,22 @@ "type": "github" } }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-utils": { "locked": { "lastModified": 1659877975, @@ -50,6 +66,122 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_3" + }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "ghostty": { + "inputs": { + "nixpkgs-stable": [ + "nixpkgs" + ], + "nixpkgs-unstable": [ + "nixpkgs" + ], + "zig": "zig", + "zls": "zls" + }, + "locked": { + "lastModified": 1723350205, + "narHash": "sha256-+Nks9F8VuC9w8X2YaHU1+420Ky2DHP8n6aTg78l3dRE=", + "ref": "refs/heads/main", + "rev": "1cbeb264c908fecfe54c3fff260be28169852c09", + "revCount": 6877, + "type": "git", + "url": "ssh://git@github.com/ghostty-org/ghostty" + }, + "original": { + "type": "git", + "url": "ssh://git@github.com/ghostty-org/ghostty" + } + }, + "ghostty-hm": { + "locked": { + "lastModified": 1702368251, + "narHash": "sha256-hafrDmzGplzm+vdIo+LkOjRfA4qRcy5JmpGGksnht5c=", + "owner": "clo4", + "repo": "ghostty-hm-module", + "rev": "887e13a6e7acf5ffaab0119d96e476d84db90904", + "type": "github" + }, + "original": { + "owner": "clo4", + "repo": "ghostty-hm-module", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "ghostty", + "zls", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -70,6 +202,18 @@ "type": "github" } }, + "langref": { + "flake": false, + "locked": { + "narHash": "sha256-O6p2tiKD8ZMhSX+DeA/o5hhAvcPkU2J9lFys/r11peY=", + "type": "file", + "url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in" + }, + "original": { + "type": "file", + "url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in" + } + }, "nixpkgs": { "locked": { "lastModified": 1696019113, @@ -105,6 +249,8 @@ "root": { "inputs": { "colmena": "colmena", + "ghostty": "ghostty", + "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", "nixpkgs": "nixpkgs_2" } @@ -124,6 +270,126 @@ "repo": "nixpkgs", "type": "github" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_3": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils_2", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1723291738, + "narHash": "sha256-C3DobEyzw47Rvs9tRpe8XGrqGl4hLABu1wocjxczJ/U=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "d132903f2088ee03cf3561368a81cd3bd850f5ff", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } + }, + "zig-overlay": { + "inputs": { + "flake-compat": "flake-compat_2", + "flake-utils": "flake-utils_4", + "nixpkgs": [ + "ghostty", + "zls", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1722600600, + "narHash": "sha256-bRpvmyAvt4OFbQJlmAURyW1To8nlRjNcQJdbOyI1MLE=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "4c95bb8378ca31cc06eba0a9ee0c04851221c193", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } + }, + "zls": { + "inputs": { + "flake-utils": "flake-utils_3", + "gitignore": "gitignore", + "langref": "langref", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ], + "zig-overlay": "zig-overlay" + }, + "locked": { + "lastModified": 1722987529, + "narHash": "sha256-r7tnq70psZQXfLlDj+XzidBj352vfQFrICC7hfKHw7M=", + "owner": "zigtools", + "repo": "zls", + "rev": "d8084a342f40b444addf772fdef36a589299ebe6", + "type": "github" + }, + "original": { + "owner": "zigtools", + "ref": "master", + "repo": "zls", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 75a57a5..b918541 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,15 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; + + ghostty = { + url = "git+ssh://git@github.com/ghostty-org/ghostty"; + inputs = { + nixpkgs-stable.follows = "nixpkgs"; + nixpkgs-unstable.follows = "nixpkgs"; + }; + }; + ghostty-hm.url = "github:clo4/ghostty-hm-module"; }; outputs = @@ -13,6 +22,8 @@ self, nixpkgs, colmena, + ghostty, + ghostty-hm, home-manager, ... }@inputs: @@ -22,7 +33,10 @@ mkHome = modules: home-manager.lib.homeManagerConfiguration { - modules = [ ./home/common ] ++ modules; + modules = [ + ghostty-hm.homeModules.default + ./home/common + ] ++ modules; pkgs = nixpkgs.legacyPackages.x86_64-linux; extraSpecialArgs = { inherit inputs outputs; diff --git a/home/common/default.nix b/home/common/default.nix index d36eaaa..3cd08e0 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -5,6 +5,7 @@ ./broot.nix ./devel.nix ./fish.nix + ./ghostty.nix ./gnome.nix ./k8s.nix ./nix.nix diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix new file mode 100644 index 0000000..3831e0b --- /dev/null +++ b/home/common/ghostty.nix @@ -0,0 +1,75 @@ +{ + config, + inputs, + lib, + pkgs, + ... +}: +{ + config = lib.mkIf config.shelman.desktop.enable { + + home.packages = with pkgs; [ inputs.ghostty.packages.${pkgs.system}.default ]; + + programs.ghostty = { + enable = true; + settings = { + font-size = 14; + font-family = "BerkeleyMono Nerd Font"; + font-feature = [ + # "ss02", -- Clean zero + "ss03" # Slashed zero + # "ss04", -- Cut zero + ]; + + mouse-hide-while-typing = true; + cursor-style = "block"; + adjust-cursor-thickness = 5; + + shell-integration = "fish"; + + window-decoration = true; + gtk-tabs-location = "bottom"; + window-padding-x = 4; + window-padding-y = 4; + window-padding-balance = true; + window-padding-color = "extend"; + + window-theme = "system"; + + unfocused-split-opacity = 1.0; + + background = "#fefeff"; + foreground = "#222222"; + cursor-color = "#aa0000"; + selection-background = "#ffe6a4"; + selection-foreground = "#483600"; + palette = [ + "0=#000000" + "1=#9e001d" + "2=#306300" + "3=#deae00" + "4=#00669e" + "5=#7d009e" + "6=#008a9e" + "7=#f7f7f7" + "8=#000000" + "9=#ff0035" + "10=#509e00" + "11=#ffc900" + "12=#00a7ff" + "13=#cb01ff" + "14=#00e0ff" + "15=#ffffff" + ]; + + keybind = [ + "alt+shift+c=copy_from_clipboard" + "alt+shift+v=paste_from_clipboard" + "ctrl+tab=goto_split:previous" + "ctrl+enter=toggle_split_zoom" + "alt+enter=toggle_fullscreen" + ]; + }; + }; + }; +} diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 7b80912..8525e8f 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ inputs, pkgs, ... }: { shelman = { desktop.enable = true; @@ -11,6 +11,7 @@ gimp-with-plugins helvum inkscape + inputs.ghostty.packages.${pkgs.system}.default moonlight-qt obsidian pavucontrol From 088a839a36bcb74802d626138aadfefc6d049e66 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 11 Aug 2024 15:23:55 +0200 Subject: [PATCH 341/656] vcs: add git-get See: https://github.com/grdl/git-get --- home/common/vcs.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/common/vcs.nix b/home/common/vcs.nix index ba1b2f6..f430fe2 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -6,6 +6,7 @@ diffedit3 difftastic git-branchless + git-get git-graph git-town lazyjj @@ -78,6 +79,9 @@ prunetags = true; showForcedUpdates = true; }; + gitget = { + root = "${config.home.homeDirectory}/src/oss"; + }; gpg = { format = "ssh"; ssh = { From 2bbe462c9df9b512e0966fe670155c9655302803 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 11 Aug 2024 17:21:12 +0200 Subject: [PATCH 342/656] ghostty: add dark theme, wrapper to auto-set theme based on system. add desktop launchers --- home/common/ghostty.nix | 132 +++++++++++++++++++++++++++++++--------- 1 file changed, 103 insertions(+), 29 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3831e0b..3914439 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -5,10 +5,26 @@ pkgs, ... }: +let + launch-ghostty = pkgs.writeShellApplication { + name = "launch-ghostty"; + text = '' + if [ "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-dark'" ]; then + theme="theme_dark" + else + theme="theme_light" + fi + exec ghostty --config-file="$HOME/.config/ghostty/$theme" "$@" + ''; + }; +in { config = lib.mkIf config.shelman.desktop.enable { - home.packages = with pkgs; [ inputs.ghostty.packages.${pkgs.system}.default ]; + home.packages = with pkgs; [ + inputs.ghostty.packages.${pkgs.system}.default + launch-ghostty + ]; programs.ghostty = { enable = true; @@ -24,6 +40,7 @@ mouse-hide-while-typing = true; cursor-style = "block"; adjust-cursor-thickness = 5; + unfocused-split-opacity = 1.0; shell-integration = "fish"; @@ -33,43 +50,100 @@ window-padding-y = 4; window-padding-balance = true; window-padding-color = "extend"; - window-theme = "system"; - unfocused-split-opacity = 1.0; - - background = "#fefeff"; - foreground = "#222222"; - cursor-color = "#aa0000"; - selection-background = "#ffe6a4"; - selection-foreground = "#483600"; - palette = [ - "0=#000000" - "1=#9e001d" - "2=#306300" - "3=#deae00" - "4=#00669e" - "5=#7d009e" - "6=#008a9e" - "7=#f7f7f7" - "8=#000000" - "9=#ff0035" - "10=#509e00" - "11=#ffc900" - "12=#00a7ff" - "13=#cb01ff" - "14=#00e0ff" - "15=#ffffff" - ]; - keybind = [ "alt+shift+c=copy_from_clipboard" "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" - "ctrl+enter=toggle_split_zoom" "alt+enter=toggle_fullscreen" ]; }; }; + + xdg.configFile."ghostty/theme_dark".text = '' + background = #0d1117 + foreground = #b2b2b2 + cursor-color = #00d992 + selection-background = #d7d7d7 + selection-foreground = #000000 + palette = 0=#000000 + palette = 1=#ff0035 + palette = 2=#85ff00 + palette = 3=#ffc900 + palette = 4=#00a7ff + palette = 5=#cb01ff + palette = 6=#00e0ff + palette = 7=#f0f0f0 + palette = 8=#000000 + palette = 9=#ff8c88 + palette = 10=#baff94 + palette = 11=#ffe090 + palette = 12=#88ccff + palette = 13=#e38dff + palette = 14=#97eeff + palette = 15=#ffffff + ''; + + xdg.configFile."ghostty/theme_light".text = '' + background = #fefeff + foreground = #222222 + cursor-color = #aa0000 + selection-background = #ffe6a4 + selection-foreground = #483600 + palette = 0=#000000 + palette = 1=#9e001d + palette = 2=#306300 + palette = 3=#deae00 + palette = 4=#00669e + palette = 5=#7d009e + palette = 6=#008a9e + palette = 7=#f7f7f7 + palette = 8=#000000 + palette = 9=#ff0035 + palette = 10=#509e00 + palette = 11=#ffc900 + palette = 12=#00a7ff + palette = 13=#cb01ff + palette = 14=#00e0ff + palette = 15=#ffffff + ''; + + xdg.desktopEntries = { + ghostty-local = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = ''launch-ghostty --class=com.mitchellh.ghostty-local''; + genericName = "Ghostty (local)"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (local)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-local"; + TryExec = "launch-ghostty"; + }; + terminal = false; + type = "Application"; + }; + + ghostty-nemo = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = ''launch-ghostty --class=com.mitchellh.ghostty-nemo -e "ssh nemo"''; + genericName = "Ghostty (nemo)"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (nemo)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-nemo"; + TryExec = "launch-ghostty"; + }; + terminal = false; + type = "Application"; + }; + }; + }; } From 0f02c4b37639201402fae4631472945688aa2d98 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 11 Aug 2024 21:38:42 +0200 Subject: [PATCH 343/656] ghostty: padding tweaks. fish binding for C-m --- files/config/fish/config.fish | 1 + home/common/ghostty.nix | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index dc30f48..f7334c3 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -3,6 +3,7 @@ bind \cg __zoxide_zi_repaint bind \cJ forward-char bind \cn history-prefix-search-forward bind \cp history-prefix-search-backward +bind \e\[109\;5u execute # C-m in ghostty # Settings set fish_greeting diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3914439..2d3efcf 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -46,8 +46,8 @@ in window-decoration = true; gtk-tabs-location = "bottom"; - window-padding-x = 4; - window-padding-y = 4; + window-padding-x = 12; + window-padding-y = 0; window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; From 54b623d4fefde1c4f01b2d0ae26e0d3908a79c0e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 11 Aug 2024 23:13:02 +0200 Subject: [PATCH 344/656] wip: tmux setup for ghostty --- home/common/default.nix | 1 + home/common/ghostty.nix | 9 +++++++++ home/common/tmux.nix | 43 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 home/common/tmux.nix diff --git a/home/common/default.nix b/home/common/default.nix index 3cd08e0..a362e5b 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -12,6 +12,7 @@ ./nvim.nix ./scripts.nix ./ssh.nix + ./tmux.nix ./utils.nix ./vcs.nix ./web.nix diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 2d3efcf..c146c55 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -57,6 +57,15 @@ in "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" "alt+enter=toggle_fullscreen" + "alt+one=unbind" + "alt+two=unbind" + "alt+three=unbind" + "alt+four=unbind" + "alt+five=unbind" + "alt+six=unbind" + "alt+seven=unbind" + "alt+eight=unbind" + "alt+nine=unbind" ]; }; }; diff --git a/home/common/tmux.nix b/home/common/tmux.nix new file mode 100644 index 0000000..cb7a234 --- /dev/null +++ b/home/common/tmux.nix @@ -0,0 +1,43 @@ +{ ... }: +{ + programs.tmux = { + enable = true; + baseIndex = 1; + clock24 = true; + escapeTime = 10; + mouse = true; + shortcut = "o"; + extraConfig = '' + set -g allow-passthrough on + set -g display-panes-time 3000 + set -g history-limit 10000 + set -g status off + setw -g alternate-screen on + setw -g automatic-rename off + bind -n M-1 select-window -t 42 + bind -n M-2 select-window -t 2 + bind -n M-3 select-window -t 3 + bind -n M-4 select-window -t 4 + bind -n M-5 select-window -t 5 + bind -n M-6 select-window -t 6 + bind -n M-7 select-window -t 7 + bind -n M-8 select-window -t 8 + bind -n M-9 select-window -t 9 + bind -n M-0 select-window -t 10 + bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up + bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down + bind C-s set-option -g status + bind K confirm kill-server + new -s0 -n 1 + new-window -n 2 + new-window -n 3 + new-window -n 4 + new-window -n 5 + new-window -n 6 + new-window -n 7 + new-window -n 8 + new-window -n 9 + new-window -n 0 + ''; + }; +} From 1a193f3699464917f63bd317e77e01a30845bcaf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 12 Aug 2024 08:47:40 +0200 Subject: [PATCH 345/656] nemo: host specific config --- home/common/ghostty.nix | 2 +- home/dln/nemo.nix | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index c146c55..ce3723f 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -44,7 +44,7 @@ in shell-integration = "fish"; - window-decoration = true; + window-decoration = false; gtk-tabs-location = "bottom"; window-padding-x = 12; window-padding-y = 0; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 49687bb..bc690f0 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -1,4 +1,4 @@ -{ ... }: +{ lib, ... }: { imports = [ ./home.nix @@ -6,4 +6,14 @@ ]; # Host specific user config goes here + # + programs.ghostty.settings = { + font-size = lib.mkForce 18; + }; + + dconf.settings = { + "org/gnome/shell" = { + enabled-extensions = [ "azclock@azclock.gitlab.com" ]; + }; + }; } From debc52a17953eee944e1f58ec49367ad50ffccf7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 12 Aug 2024 13:11:20 +0200 Subject: [PATCH 346/656] tmux: persistent terminals + nvim edit helper M-1 --- flake.nix | 1 - home/common/fish.nix | 10 +++++---- home/common/ghostty.nix | 4 ++-- home/common/tmux.nix | 46 ++++++++++++++++++++++------------------- 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/flake.nix b/flake.nix index b918541..adc2cd2 100644 --- a/flake.nix +++ b/flake.nix @@ -96,6 +96,5 @@ dinky = mkHost [ ./hosts/dinky ]; nemo = mkHost [ ./hosts/nemo ]; }; - }; } diff --git a/home/common/fish.nix b/home/common/fish.nix index 0d93d1b..4798ae2 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -27,10 +27,12 @@ set _file (fd --type f . "$_root" | sed -e "s#^$_root/##" | fzf --no-sort --layout=reverse) set _file "$_root/$_file" end - nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote "$_file" &>/dev/null - or return 1 - # Wezterm: switch tab to nvim - printf "\033]1337;SetUserVar=nvim_activate=\007" + set _nvim_socket "$XDG_RUNTIME_DIR/nvim-persistent.sock" + if test -S "$_nvim_socket" && tmux select-window -t nvim 2>/dev/null + nvim --server "$_nvim_socket" --remote "$_file" + return 0 + end + tmux new-window -S -n nvim nvim --listen "$_nvim_socket" "$_file" ''; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ce3723f..4372aa0 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -124,7 +124,7 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-local''; + exec = ''launch-ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -141,7 +141,7 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-nemo -e "ssh nemo"''; + exec = ''launch-ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/tmux.nix b/home/common/tmux.nix index cb7a234..2683981 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -2,42 +2,46 @@ { programs.tmux = { enable = true; - baseIndex = 1; + baseIndex = 0; clock24 = true; escapeTime = 10; mouse = true; shortcut = "o"; extraConfig = '' set -g allow-passthrough on + set -g default-terminal "tmux-256color" set -g display-panes-time 3000 set -g history-limit 10000 set -g status off + set -g status-style "italics,reverse" + set -g status-left-length 0 + set -g status-right-length 0 + set -g status-left '#W #{pane_current_path}' + set -g status-right '%F | %R' + set -g status off + set -g set-titles on + set -g set-titles-string "#H - #T" + set -g update-environment "SSH_AUTH_SOCK" + setenv -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent" setw -g alternate-screen on setw -g automatic-rename off - bind -n M-1 select-window -t 42 - bind -n M-2 select-window -t 2 - bind -n M-3 select-window -t 3 - bind -n M-4 select-window -t 4 - bind -n M-5 select-window -t 5 - bind -n M-6 select-window -t 6 - bind -n M-7 select-window -t 7 - bind -n M-8 select-window -t 8 - bind -n M-9 select-window -t 9 - bind -n M-0 select-window -t 10 + setw -g window-status-format "" + setw -g window-status-current-format "" + setw -g window-status-separator "" + bind -n M-1 if-shell 'tmux select-window -t nvim' refresh-client 'new-window -S -n nvim nvim --listen $XDG_RUNTIME_DIR/nvim-persistent.sock' + bind -n M-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' + bind -n M-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' + bind -n M-4 if-shell 'tmux select-window -t t3' refresh-client 'new-window -S -n t3' + bind -n M-5 if-shell 'tmux select-window -t t4' refresh-client 'new-window -S -n t4' + bind -n M-6 if-shell 'tmux select-window -t t5' refresh-client 'new-window -S -n t5' + bind -n M-7 if-shell 'tmux select-window -t t6' refresh-client 'new-window -S -n t6' + bind -n M-8 if-shell 'tmux select-window -t t7' refresh-client 'new-window -S -n t7' + bind -n M-9 if-shell 'tmux select-window -t t8' refresh-client 'new-window -S -n t8' + bind -n M-0 if-shell 'tmux select-window -t t9' refresh-client 'new-window -S -n t9' bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down bind C-s set-option -g status bind K confirm kill-server - new -s0 -n 1 - new-window -n 2 - new-window -n 3 - new-window -n 4 - new-window -n 5 - new-window -n 6 - new-window -n 7 - new-window -n 8 - new-window -n 9 - new-window -n 0 ''; }; } From 873dcca9bc79859dd357333e50e921b48e2f6aeb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 12 Aug 2024 21:01:03 +0200 Subject: [PATCH 347/656] update --- flake.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/flake.lock b/flake.lock index bd26dc4..24c2b4f 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1723350205, - "narHash": "sha256-+Nks9F8VuC9w8X2YaHU1+420Ky2DHP8n6aTg78l3dRE=", + "lastModified": 1723481173, + "narHash": "sha256-4gQy/B8PEdoU8BgrADdBlqZEZ8pY+UW2qOoVRtkvO3g=", "ref": "refs/heads/main", - "rev": "1cbeb264c908fecfe54c3fff260be28169852c09", - "revCount": 6877, + "rev": "3e0a5d3a73a433cd5840165abd0a51c433505045", + "revCount": 6898, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1723015306, - "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", + "lastModified": 1723399884, + "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", + "rev": "086f619dd991a4d355c07837448244029fc2d9ab", "type": "github" }, "original": { @@ -328,11 +328,11 @@ ] }, "locked": { - "lastModified": 1723291738, - "narHash": "sha256-C3DobEyzw47Rvs9tRpe8XGrqGl4hLABu1wocjxczJ/U=", + "lastModified": 1717848532, + "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "d132903f2088ee03cf3561368a81cd3bd850f5ff", + "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", "type": "github" }, "original": { @@ -352,11 +352,11 @@ ] }, "locked": { - "lastModified": 1722600600, - "narHash": "sha256-bRpvmyAvt4OFbQJlmAURyW1To8nlRjNcQJdbOyI1MLE=", + "lastModified": 1718539737, + "narHash": "sha256-hvQ900gSqzGnJWMRQwv65TixciIbC44iX0Nh5ENRwCU=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "4c95bb8378ca31cc06eba0a9ee0c04851221c193", + "rev": "6eb42ce6f85d247b1aecf854c45d80902821d0ad", "type": "github" }, "original": { @@ -377,11 +377,11 @@ "zig-overlay": "zig-overlay" }, "locked": { - "lastModified": 1722987529, - "narHash": "sha256-r7tnq70psZQXfLlDj+XzidBj352vfQFrICC7hfKHw7M=", + "lastModified": 1718930611, + "narHash": "sha256-FtfVhs6XHNfSQRQorrrz03nD0LCNp2FCnGllRntHBts=", "owner": "zigtools", "repo": "zls", - "rev": "d8084a342f40b444addf772fdef36a589299ebe6", + "rev": "0b9746b60c2020ab948f6556f1c729858b82a0f0", "type": "github" }, "original": { From 65761d7b3f1020554ac871961cc824bfda1426b6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 13 Aug 2024 20:21:59 +0200 Subject: [PATCH 348/656] ghostty / nvim: font + keybinding tweaks --- files/config/nvim/lua/config/keymaps.lua | 21 +++++++++++++-------- home/common/ghostty.nix | 13 ++++++------- home/common/tmux.nix | 2 +- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/files/config/nvim/lua/config/keymaps.lua b/files/config/nvim/lua/config/keymaps.lua index 84bc508..2fb2a64 100644 --- a/files/config/nvim/lua/config/keymaps.lua +++ b/files/config/nvim/lua/config/keymaps.lua @@ -3,12 +3,17 @@ -- Add any additional keymaps here -- C-/ should be comment instead of lazyterm -vim.api.nvim_del_keymap("n", "<c-/>") -vim.api.nvim_set_keymap("n", "<c-/>", "gcc", {}) -vim.api.nvim_set_keymap("v", "<c-/>", "gc", {}) -vim.api.nvim_set_keymap("n", "<Leader><c-/>", "gcgc", {}) -vim.api.nvim_set_keymap("n", "<Tab>", "<Space>,", {}) -vim.api.nvim_set_keymap("n", "zz", "zt", {}) +vim.keymap.del("n", "<c-/>") +vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) +vim.keymap.set({ "v" }, "<c-/>", "gc", { remap = true }) +vim.keymap.set({ "n" }, "<Leader><c-/>", "gcgc", { remap = true }) +vim.keymap.del({ "n" }, "<c-_>") +vim.keymap.set({ "n" }, "<c-_>", "gcc", { remap = true }) +vim.keymap.set({ "v" }, "<c-_>", "gc", { remap = true }) +vim.keymap.set({ "n" }, "<Leader><c-_>", "gcgc", { remap = true }) -vim.api.nvim_set_keymap("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", {}) -vim.api.nvim_set_keymap("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", {}) +vim.keymap.set("n", "<Tab>", "<Space>,", {}) +vim.keymap.set("n", "zz", "zt", {}) + +vim.keymap.set("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", {}) +vim.keymap.set("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", {}) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 4372aa0..0d788f2 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -30,12 +30,11 @@ in enable = true; settings = { font-size = 14; - font-family = "BerkeleyMono Nerd Font"; - font-feature = [ - # "ss02", -- Clean zero - "ss03" # Slashed zero - # "ss04", -- Cut zero - ]; + font-family = "Berkeley Mono Variable"; + font-codepoint-map = [ "U+2191-U+2195,U+2500-U+259F=BerkeleyMono Nerd Font" ]; + font-family-bold-italic = "Monaspace Xenon"; + font-style-bold-italic = "ExtraLight Italic"; + font-variation-italic = [ "wght=100" ]; mouse-hide-while-typing = true; cursor-style = "block"; @@ -53,7 +52,7 @@ in window-theme = "system"; keybind = [ - "alt+shift+c=copy_from_clipboard" + "alt+shift+c=copy_to_clipboard" "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" "alt+enter=toggle_fullscreen" diff --git a/home/common/tmux.nix b/home/common/tmux.nix index 2683981..e9552af 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -4,7 +4,7 @@ enable = true; baseIndex = 0; clock24 = true; - escapeTime = 10; + escapeTime = 500; mouse = true; shortcut = "o"; extraConfig = '' From 5940efb85824b1b76b2cc2f9e8c39ee92cddeb76 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 11:48:40 +0200 Subject: [PATCH 349/656] nemo: fix netmask --- hosts/nemo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 66a7bc3..a4ea2d9 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -112,7 +112,7 @@ systemd.network.enable = true; systemd.network.networks."10-wifi" = { matchConfig.Name = "wlan0"; - address = [ "10.1.100.20/24" ]; + address = [ "10.1.100.20/22" ]; gateway = [ "10.1.100.1" ]; linkConfig.RequiredForOnline = "routable"; }; From f56f6646428df57860dbd35f6c35f8e96c400cf3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 11:48:40 +0200 Subject: [PATCH 350/656] ghostty: fixing the fixings --- home/common/ghostty.nix | 3 +-- home/dln/nemo.nix | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 0d788f2..d910c46 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -31,7 +31,7 @@ in settings = { font-size = 14; font-family = "Berkeley Mono Variable"; - font-codepoint-map = [ "U+2191-U+2195,U+2500-U+259F=BerkeleyMono Nerd Font" ]; + font-codepoint-map = [ "U+2191-U+2195,U+2500-U+259F=Berkeley Mono Variable" ]; font-family-bold-italic = "Monaspace Xenon"; font-style-bold-italic = "ExtraLight Italic"; font-variation-italic = [ "wght=100" ]; @@ -55,7 +55,6 @@ in "alt+shift+c=copy_to_clipboard" "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" - "alt+enter=toggle_fullscreen" "alt+one=unbind" "alt+two=unbind" "alt+three=unbind" diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index bc690f0..e7322c9 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -8,7 +8,7 @@ # Host specific user config goes here # programs.ghostty.settings = { - font-size = lib.mkForce 18; + font-size = lib.mkForce 20; }; dconf.settings = { From 28ec5c72305c94aa4e0ade900b8d1ba048bb894c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 21:14:06 +0200 Subject: [PATCH 351/656] nemo: wifi + firmware config --- hosts/nemo/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index a4ea2d9..63688f4 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -72,6 +72,8 @@ ]; }; + hardware.enableAllFirmware = true; + swapDevices = [ ]; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; @@ -111,7 +113,7 @@ systemd.network.enable = true; systemd.network.networks."10-wifi" = { - matchConfig.Name = "wlan0"; + matchConfig.Name = "wlan1"; address = [ "10.1.100.20/22" ]; gateway = [ "10.1.100.1" ]; linkConfig.RequiredForOnline = "routable"; From fa412f767769e8cd9c035a92fef8eca2075f8aa7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 21:32:48 +0200 Subject: [PATCH 352/656] dinky: enable firmware --- hosts/dinky/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index d2ff2c7..9e068d7 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -58,6 +58,7 @@ ]; }; + hardware.enableAllFirmware = true; hardware.nitrokey.enable = true; swapDevices = [ { device = "/dev/disk/by-uuid/c9cc5270-87b0-4ed4-9891-7df924b0f55a"; } ]; From 51ad6503eef0596b1c401800ef115e213ebb6ef4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 21:32:48 +0200 Subject: [PATCH 353/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 24c2b4f..eeecd47 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1723481173, - "narHash": "sha256-4gQy/B8PEdoU8BgrADdBlqZEZ8pY+UW2qOoVRtkvO3g=", + "lastModified": 1723659157, + "narHash": "sha256-IW15cd4jrTK9p2arrbNxnksZLUgsNz9wWzXBhjx42rA=", "ref": "refs/heads/main", - "rev": "3e0a5d3a73a433cd5840165abd0a51c433505045", - "revCount": 6898, + "rev": "93c377c6a113b5cfb87370bdaf5cd63b58e2fe85", + "revCount": 6900, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723175592, - "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "lastModified": 1723362943, + "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "rev": "a58bc8ad779655e790115244571758e8de055e3d", "type": "github" }, "original": { From 16b07b9213793345b3244ae8dff9b4d061e85b80 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 10:23:01 +0200 Subject: [PATCH 354/656] nvim: fix keybindings --- files/config/nvim/lua/config/keymaps.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/files/config/nvim/lua/config/keymaps.lua b/files/config/nvim/lua/config/keymaps.lua index 2fb2a64..5fc7f2d 100644 --- a/files/config/nvim/lua/config/keymaps.lua +++ b/files/config/nvim/lua/config/keymaps.lua @@ -12,8 +12,8 @@ vim.keymap.set({ "n" }, "<c-_>", "gcc", { remap = true }) vim.keymap.set({ "v" }, "<c-_>", "gc", { remap = true }) vim.keymap.set({ "n" }, "<Leader><c-_>", "gcgc", { remap = true }) -vim.keymap.set("n", "<Tab>", "<Space>,", {}) -vim.keymap.set("n", "zz", "zt", {}) +vim.keymap.set("n", "<Tab>", "<Space>,", { remap = true }) +vim.keymap.set("n", "zz", "zt", { remap = true }) -vim.keymap.set("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", {}) -vim.keymap.set("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", {}) +vim.keymap.set("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", { remap = true }) +vim.keymap.set("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", { remap = true }) From 5f530bbbb2f7cfefd092c5d904640213da1565e0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 11:32:39 +0200 Subject: [PATCH 355/656] test-term: add geometric + line drawing tests --- files/scripts/test-term.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/files/scripts/test-term.sh b/files/scripts/test-term.sh index a19fceb..822e174 100755 --- a/files/scripts/test-term.sh +++ b/files/scripts/test-term.sh @@ -69,19 +69,23 @@ echo -e '◧ ◨ ◩ ◪ ◫ ◬ ◭ ◮ △ ▲ ▱ ▰ ▽ ▼ ▾ ▿' echo -e '◠ ◡ ◢ ◣ ◤ ◥ ◦ ◧ ◨ ◩ ◪ ◫ ◬ ◭ ◮ ◯ ◰ ◱ ◲ ◳ ◴ ◵ ◶ ◷ ◸ ◹ ◺ ◻ ◼ ◽ ◾ ◿' echo "Arrows:" +echo -e '▲ ▶ ▼ ◀ △ ▷ ▽ ◁' echo -e '← → ↑ ↓ ↔ ↔ ↕ ↖ ↗ ↙ ↘ ↠ ↣ ↦ ↧ ↨ ↩ ↪ ↫ ↬ ↭ ↮ ↯ ↰ ↱ ↲ ↳ ↴ ↵ ↶ ↷ ↸ ↹ ↺ ↻ ↼ ↽ ↾ ↿ ↼ ↽ ↾ ↿' echo -e '⇄ ↔ ⇀ ⇂ ⇄ ⇆ ⇌ ⇎ ⇐ ⇑ ⇓ ⇕ ⇖ ⇗ ⇘ ⇙ ⇚ ⇛ ⇜ ⇝ ⇞ ⇟' echo echo "Blocks:" -echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' -echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' -echo -e '🮙 ░ ▒ ▓ █ █ ▊ ▋ ▌ ▍ ▎ ▏' -echo -e '▄ ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █' +echo -e '▄ ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▀ ▔ ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▐ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ░ ▒ ▓ 🮘 🮙 🮐 ' +echo -e '▄ ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▀ ▔ ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▐ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ░ ▒ ▓ 🮘 🮙 🮐 ' +echo -e '▄ ▀ ▁ ▂ ▃ ▄ ▅ ▆ ▇ █ ▀ ▔ ▏ ▎ ▍ ▌ ▋ ▊ ▉ ▐ ▕ ▖ ▗ ▘ ▙ ▚ ▛ ▜ ▝ ▞ ▟ ░ ▒ ▓ 🮘 🮙 🮐 ' echo -echo -e '╭──────────────╮' -echo -e '│ border chars │' -echo -e '╰──────────────╯' +echo -e '───── ━━━━━ ┄┄┄┄┄ ┅┅┅┅┅ ┈┈┈┈┈ ┉┉┉┉┉ ╌╌╌╌╌ ╍╍╍╍╍ │ ┃ ┆ ┇ ┊ ┋ ╎ ╏ ║ ╵ ╷ ╹ ╻ ' +echo -e '───── ━━━━━ ┄┄┄┄┄ ┅┅┅┅┅ ┈┈┈┈┈ ┉┉┉┉┉ ╌╌╌╌╌ ╍╍╍╍╍ │ ┃ ┆ ┇ ┊ ┋ ╎ ╏ ║ ╵ ╷ ╹ ╻ ' +echo -e '───── ━━━━━ ┄┄┄┄┄ ┅┅┅┅┅ ┈┈┈┈┈ ┉┉┉┉┉ ╌╌╌╌╌ ╍╍╍╍╍ │ ┃ ┆ ┇ ┊ ┋ ╎ ╏ ║ ╵ ╷ ╹ ╻ ' +echo +echo -e '╭──────────────╮ ┌─┬─┬─┬─┐ ╔═╦═╦═╦═╗ ┏━┳━┳━┳━┓ ' +echo -e '│ border chars │ │ ├─┼─┤ │ ║ ╠═╬═╣ ║ ┃ ┣━╋━┫ ┃ ' +echo -e '╰──────────────╯ └─┴─┴─┴─┘ ╚═╩═╩═╩═╝ ┗━┻━┻━┻━┛ ' echo echo "Ligatures:" From 4645486af3ee89b01c30eb6c0900c09a5e348624 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 11:32:39 +0200 Subject: [PATCH 356/656] ghostty: disable codepoint replacement and let ghostty do line drawing --- home/common/ghostty.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index d910c46..9ef913d 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -31,7 +31,6 @@ in settings = { font-size = 14; font-family = "Berkeley Mono Variable"; - font-codepoint-map = [ "U+2191-U+2195,U+2500-U+259F=Berkeley Mono Variable" ]; font-family-bold-italic = "Monaspace Xenon"; font-style-bold-italic = "ExtraLight Italic"; font-variation-italic = [ "wght=100" ]; @@ -55,6 +54,8 @@ in "alt+shift+c=copy_to_clipboard" "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" + "super+enter=toggle_fullscreen" + "ctrl+enter=unbind" "alt+one=unbind" "alt+two=unbind" "alt+three=unbind" From f2f33573849631c247af6305a47197493712fbae Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 17:21:17 +0200 Subject: [PATCH 357/656] ghostty: thinner underlines. adjust spacing slightly to allow underlines more room. --- home/common/ghostty.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 9ef913d..ecdb24c 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -35,9 +35,14 @@ in font-style-bold-italic = "ExtraLight Italic"; font-variation-italic = [ "wght=100" ]; + adjust-cell-height = 1; + adjust-cursor-thickness = 5; + adjust-font-baseline = 1; + adjust-underline-position = 2; + adjust-underline-thickness = -1; + mouse-hide-while-typing = true; cursor-style = "block"; - adjust-cursor-thickness = 5; unfocused-split-opacity = 1.0; shell-integration = "fish"; From 3e7b9dcf569e34144cc0b4b02bce312f63c9763e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 22:36:19 +0200 Subject: [PATCH 358/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index eeecd47..1954b55 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1723659157, - "narHash": "sha256-IW15cd4jrTK9p2arrbNxnksZLUgsNz9wWzXBhjx42rA=", + "lastModified": 1723776648, + "narHash": "sha256-RamgFe7V69Ndq2KLP3C5J4Nm79zxB2bbEhMwVjXBKRg=", "ref": "refs/heads/main", - "rev": "93c377c6a113b5cfb87370bdaf5cd63b58e2fe85", - "revCount": 6900, + "rev": "bbc7070c9e067505239fa7e6d4f2f409bd0a8194", + "revCount": 6917, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723362943, - "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", + "lastModified": 1723637854, + "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a58bc8ad779655e790115244571758e8de055e3d", + "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", "type": "github" }, "original": { From 7a73fb03b462cc883fb8132c8a690870637044dd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 22:36:19 +0200 Subject: [PATCH 359/656] nemo: network fix --- hosts/nemo/default.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 63688f4..0ca8655 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -80,11 +80,13 @@ networking = { hostName = "nemo"; # Define your hostname. + domain = "aarn.shelman.io"; nameservers = [ "10.1.100.11" "10.1.100.12" "10.1.100.13" ]; + firewall.enable = false; networkmanager.enable = false; useDHCP = false; wireless.iwd = { @@ -103,13 +105,7 @@ }; }; - networking.firewall.allowedTCPPorts = [ - 22000 # Syncthing - ]; - networking.firewall.allowedUDPPorts = [ - 22000 # Synchthing - 21027 - ]; + services.nscd.enableNsncd = false; systemd.network.enable = true; systemd.network.networks."10-wifi" = { @@ -136,7 +132,11 @@ services.resolved = { enable = true; - domains = [ "~." ]; + domains = [ + "aarn.shelman.io" + "shelman.io" + ]; + llmnr = "false"; fallbackDns = [ "9.9.9.9" ]; }; @@ -165,7 +165,6 @@ ffado lm_sensors openconnect - pam_rssh ]; programs.coolercontrol.enable = true; From 008aed0854661f566336bbc7c41bfa0771293671 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 22:36:19 +0200 Subject: [PATCH 360/656] nemo: disable pam_rssh for now as rust 1.80 broke some pkgs --- hosts/nemo/default.nix | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 0ca8655..40e97b4 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -115,20 +115,22 @@ linkConfig.RequiredForOnline = "routable"; }; - security = { - pam.services.doas = - { config, ... }: - { - rules.auth.rssh = { - order = config.rules.auth.ssh_agent_auth.order - 1; - control = "sufficient"; - modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; - settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' - cat "/etc/ssh/authorized_keys.d/$1" - ''; - }; - }; - }; + # FIXME: pam_rssh is broken from rust 1.80 upgrade + # environment.systemPackages = [ pkgs.pam_rssh ]; + # security = { + # pam.services.doas = + # { config, ... }: + # { + # rules.auth.rssh = { + # order = config.rules.auth.ssh_agent_auth.order - 1; + # control = "sufficient"; + # modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + # settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + # cat "/etc/ssh/authorized_keys.d/$1" + # ''; + # }; + # }; + # }; services.resolved = { enable = true; From 46b3e9cf28ed84cdcfc488976f50d5b5c0da0bd2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 17 Aug 2024 12:22:20 +0200 Subject: [PATCH 361/656] revert flake.lock until rust 1.80 npkgs fixes have been merged --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 1954b55..eeecd47 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1723776648, - "narHash": "sha256-RamgFe7V69Ndq2KLP3C5J4Nm79zxB2bbEhMwVjXBKRg=", + "lastModified": 1723659157, + "narHash": "sha256-IW15cd4jrTK9p2arrbNxnksZLUgsNz9wWzXBhjx42rA=", "ref": "refs/heads/main", - "rev": "bbc7070c9e067505239fa7e6d4f2f409bd0a8194", - "revCount": 6917, + "rev": "93c377c6a113b5cfb87370bdaf5cd63b58e2fe85", + "revCount": 6900, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723637854, - "narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", + "lastModified": 1723362943, + "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", + "rev": "a58bc8ad779655e790115244571758e8de055e3d", "type": "github" }, "original": { From 510ed39bbda6b98a3f635449dd2163027d4e56f7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 17 Aug 2024 12:22:20 +0200 Subject: [PATCH 362/656] delta: style ripgrep results --- home/common/vcs.nix | 1 + hosts/nemo/default.nix | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/home/common/vcs.nix b/home/common/vcs.nix index f430fe2..99071fd 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -46,6 +46,7 @@ file-renamed-label = "[>]"; file-style = "bold reverse"; file-transformation = "s/$/ ░▒▓/"; + grep-file-style = "bold reverse"; hunk-header-decoration-style = "none"; hunk-header-file-style = "bold"; hunk-header-line-number-style = "bold"; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 40e97b4..e4a5143 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -135,8 +135,8 @@ services.resolved = { enable = true; domains = [ - "aarn.shelman.io" "shelman.io" + "aarn.shelman.io" ]; llmnr = "false"; fallbackDns = [ "9.9.9.9" ]; From 8c439e2ce1556f9fb702bf718ca869160f066a54 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 19 Aug 2024 09:37:43 +0200 Subject: [PATCH 363/656] update (rust 1.80) --- flake.lock | 20 ++++++++++---------- hosts/nemo/default.nix | 33 ++++++++++++++++----------------- 2 files changed, 26 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index eeecd47..a022703 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1723659157, - "narHash": "sha256-IW15cd4jrTK9p2arrbNxnksZLUgsNz9wWzXBhjx42rA=", + "lastModified": 1724175906, + "narHash": "sha256-V4aYjELMU8UtqjU99lDqkwQpkv5vx0sSWq015ZZ91Mg=", "ref": "refs/heads/main", - "rev": "93c377c6a113b5cfb87370bdaf5cd63b58e2fe85", - "revCount": 6900, + "rev": "c9f40b7b8d22e2aa157c226e406485d85d2075f9", + "revCount": 7013, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1723399884, - "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", + "lastModified": 1723986931, + "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", "owner": "nix-community", "repo": "home-manager", - "rev": "086f619dd991a4d355c07837448244029fc2d9ab", + "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", "type": "github" }, "original": { @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723362943, - "narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=", + "lastModified": 1723991338, + "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a58bc8ad779655e790115244571758e8de055e3d", + "rev": "8a3354191c0d7144db9756a74755672387b702ba", "type": "github" }, "original": { diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index e4a5143..fc54560 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -89,6 +89,7 @@ firewall.enable = false; networkmanager.enable = false; useDHCP = false; + wireless.iwd = { enable = true; settings = { @@ -97,7 +98,6 @@ EnableIPv6 = false; NameResolvingService = "systemd"; }; - Scan.DisablePeriodicScan = true; Settings = { AutoConnect = true; }; @@ -115,22 +115,20 @@ linkConfig.RequiredForOnline = "routable"; }; - # FIXME: pam_rssh is broken from rust 1.80 upgrade - # environment.systemPackages = [ pkgs.pam_rssh ]; - # security = { - # pam.services.doas = - # { config, ... }: - # { - # rules.auth.rssh = { - # order = config.rules.auth.ssh_agent_auth.order - 1; - # control = "sufficient"; - # modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; - # settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' - # cat "/etc/ssh/authorized_keys.d/$1" - # ''; - # }; - # }; - # }; + security = { + pam.services.doas = + { config, ... }: + { + rules.auth.rssh = { + order = config.rules.auth.ssh_agent_auth.order - 1; + control = "sufficient"; + modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + cat "/etc/ssh/authorized_keys.d/$1" + ''; + }; + }; + }; services.resolved = { enable = true; @@ -166,6 +164,7 @@ environment.systemPackages = with pkgs; [ ffado lm_sensors + pkgs.pam_rssh openconnect ]; From e774304bd20f02cd9b63e23d02d9cddb8dad03c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 21 Aug 2024 09:57:34 +0200 Subject: [PATCH 364/656] delta: fix changed flags --- home/common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 4798ae2..84c8418 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -119,7 +119,7 @@ l = "bat"; ls = "eza"; tree = "eza --tree"; - top = "btm --basic --enable_cache_memory --enable_gpu_memory --battery"; + top = "btm --basic --enable_cache_memory --battery"; ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; w = "viddy -n1 $history[1]"; xc = "fish_clipboard_copy"; From cdb461a4c378c75cc0a2bc8f762e20ec849a7b90 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 21 Aug 2024 10:12:03 +0200 Subject: [PATCH 365/656] fish: a bit of color using grc --- home/common/fish.nix | 19 ++++++++++++------- home/common/utils.nix | 1 + 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 84c8418..c6f0571 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -6,17 +6,22 @@ plugins = [ { - name = "transient-fish"; - src = pkgs.fetchFromGitHub { - owner = "zzhaolei"; - repo = "transient.fish"; - rev = "deb35c4d07ea6acc56b073d7ba84f8ed76356abd"; - sha256 = "sha256-BQvuqY7D+9fTDeLb7Fz9Ll/7uIlqrmRmn0S+G9v+2Uc="; - }; + name = "grc"; + src = pkgs.fishPlugins.grc.src; + } + { + name = "transient"; + src = pkgs.fishPlugins.transient-fish.src; } ]; functions = { + kubectl = { + description = "Wraps kubectl in grc"; + wraps = "kubectl"; + body = "grc.wrap kubectl $argv"; + }; + edit = { description = "Open a file in already running nvim and switch tab"; argumentNames = [ "file" ]; diff --git a/home/common/utils.nix b/home/common/utils.nix index ef5f380..165b7b3 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { home.packages = with pkgs; [ + grc dust jless procs From 95461b403a5dacb6a0d065ca9afbf7161e3a23c0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 22:36:19 +0200 Subject: [PATCH 366/656] jj: more legible color for "hidden" / rest parts of changes and commits --- home/common/ghostty.nix | 4 ++-- home/dln/home.nix | 5 +++++ pkgs/jujutsu-openssh/default.nix | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ecdb24c..6988eea 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -88,7 +88,7 @@ in palette = 5=#cb01ff palette = 6=#00e0ff palette = 7=#f0f0f0 - palette = 8=#000000 + palette = 8=#444444 palette = 9=#ff8c88 palette = 10=#baff94 palette = 11=#ffe090 @@ -112,7 +112,7 @@ in palette = 5=#7d009e palette = 6=#008a9e palette = 7=#f7f7f7 - palette = 8=#000000 + palette = 8=#b0b0b0 palette = 9=#ff0035 palette = 10=#509e00 palette = 11=#ffc900 diff --git a/home/dln/home.nix b/home/dln/home.nix index c04594f..3c5e467 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -129,6 +129,11 @@ in "commit_id prefix" = { bold = true; }; + + "rest" = { + fg = "bright black"; + bold = false; + }; }; }; }; diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index b5bd764..aeafd76 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.19.0+pr3191.openssh"; + version = "0.20.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; From 37308252954db862f12adab1a3e3e1c99b729b12 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 15 Aug 2024 22:36:19 +0200 Subject: [PATCH 367/656] nemo: disable pam_rssh (again!) for now as rust 1.80 broke some pkgs --- hosts/nemo/default.nix | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index fc54560..25d5313 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -115,20 +115,22 @@ linkConfig.RequiredForOnline = "routable"; }; - security = { - pam.services.doas = - { config, ... }: - { - rules.auth.rssh = { - order = config.rules.auth.ssh_agent_auth.order - 1; - control = "sufficient"; - modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; - settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' - cat "/etc/ssh/authorized_keys.d/$1" - ''; - }; - }; - }; + # FIXME: pam_rssh is broken from rust 1.80 upgrade + # environment.systemPackages = [ pkgs.pam_rssh ]; + # security = { + # pam.services.doas = + # { config, ... }: + # { + # rules.auth.rssh = { + # order = config.rules.auth.ssh_agent_auth.order - 1; + # control = "sufficient"; + # modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + # settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + # cat "/etc/ssh/authorized_keys.d/$1" + # ''; + # }; + # }; + # }; services.resolved = { enable = true; @@ -164,7 +166,7 @@ environment.systemPackages = with pkgs; [ ffado lm_sensors - pkgs.pam_rssh + # pkgs.pam_rssh openconnect ]; From 086298efa354216ee821b84c8558eef882bc6913 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 21 Aug 2024 11:31:00 +0200 Subject: [PATCH 368/656] ssh: include host-local config file if available --- home/dln/home.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 3c5e467..53efd83 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ config, pkgs, ... }: let realName = "Daniel Lundin"; email = "dln@arity.se"; @@ -138,6 +138,10 @@ in }; }; + programs.ssh.extraConfig = '' + Include ${config.home.homeDirectory}/.ssh/config_local + ''; + programs.ssh.matchBlocks = { dev = { hostname = "10.1.100.16"; From 24002ffe4df053b031c8b503bff06b01ad9096f1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 21 Aug 2024 16:39:36 +0200 Subject: [PATCH 369/656] fish: keep 4 dir segements in prompt pwd --- home/common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index c6f0571..c29fff5 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -90,7 +90,7 @@ fish_prompt.body = '' echo - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd) (set_color green) ' ❯ ' (set_color normal) + string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color green) ' ❯ ' (set_color normal) ''; fish_right_prompt.body = '' From 60ca243a65626831ff7bb786b960f662175aaa1d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 21:49:16 +0200 Subject: [PATCH 370/656] nvim: fix keybindings From 66a3c221d3af53ad9feefc412d9906b7b904e092 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 14 Aug 2024 23:55:59 +0200 Subject: [PATCH 371/656] dinky: install calibre --- home/dln/dinky.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index c31bbae..2a63d27 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -1,4 +1,4 @@ -{ ... }: +{ pkgs, ... }: { imports = [ ./home.nix @@ -11,4 +11,5 @@ }; }; + home.packages = with pkgs; [ calibre ]; } From 7f7855c03d4d2d1804db8ea46ecbf1bf90bb8fd8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 18 Aug 2024 23:33:07 +0200 Subject: [PATCH 372/656] dinky: use iwd as wifi backend --- home/common/devel.nix | 1 + hosts/dinky/default.nix | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/home/common/devel.nix b/home/common/devel.nix index 10768d9..05d23c2 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -1,6 +1,7 @@ { pkgs, ... }: { home.packages = with pkgs; [ + age-plugin-fido2-hmac bacon cargo clang diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 9e068d7..2ae4a16 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -11,6 +11,11 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + system.switch = { + enable = false; + enableNg = true; + }; + boot = { initrd = { availableKernelModules = [ @@ -78,9 +83,16 @@ networking = { hostName = "dinky"; + domain = "aarn.shelman.io"; + search = [ + "shelman.io" + "aarn.shelman.io" + ]; useDHCP = lib.mkDefault true; }; + networking.networkmanager.wifi.backend = "iwd"; + services.mullvad-vpn.enable = true; users.users.dln = { From 12757040d892c0aff2446637f4c3d3c7b8ce1645 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 22 Aug 2024 09:25:58 +0200 Subject: [PATCH 373/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index a022703..7fde307 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1724175906, - "narHash": "sha256-V4aYjELMU8UtqjU99lDqkwQpkv5vx0sSWq015ZZ91Mg=", + "lastModified": 1724247947, + "narHash": "sha256-BrcJWSWtRQBiqZJ0K5nyDJHbAllZ407KC/oEfM7+3OA=", "ref": "refs/heads/main", - "rev": "c9f40b7b8d22e2aa157c226e406485d85d2075f9", - "revCount": 7013, + "rev": "140d1dde5a4630369f9edd686825b962fdf2ec04", + "revCount": 7024, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1723991338, - "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=", + "lastModified": 1724224976, + "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8a3354191c0d7144db9756a74755672387b702ba", + "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", "type": "github" }, "original": { From 8ff422f9533814d985061c75b8e86996f321139c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 22 Aug 2024 09:25:58 +0200 Subject: [PATCH 374/656] devel: add mc --- home/common/devel.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/devel.nix b/home/common/devel.nix index 05d23c2..c1d6dfe 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -10,6 +10,7 @@ go just ldns + minio-client nixfmt-rfc-style nodejs_22 passage From caf1da923157ecff03ec2e6ac8d7c6d9b43fa802 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 22 Aug 2024 09:25:58 +0200 Subject: [PATCH 375/656] Use tmpfs for /tmp. Enable new nixos system switch implementation --- common/base.nix | 16 ++++++++++++++++ hosts/dinky/default.nix | 5 ----- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/common/base.nix b/common/base.nix index 269169b..3525ec8 100644 --- a/common/base.nix +++ b/common/base.nix @@ -5,8 +5,24 @@ loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = true; kernelPackages = pkgs.linuxPackages_zen; + initrd.systemd.enable = true; + + binfmt.emulatedSystems = [ "aarch64-linux" ]; }; + # Temporary files + boot.tmp.useTmpfs = true; + systemd.services.nix-daemon = { + environment.TMPDIR = "/var/tmp"; + }; + + system.switch = { + enable = false; + enableNg = true; + }; + + services.fstrim.enable = true; + time.timeZone = "Europe/Stockholm"; environment.systemPackages = with pkgs; [ diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 2ae4a16..1c625b3 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -11,11 +11,6 @@ { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; - system.switch = { - enable = false; - enableNg = true; - }; - boot = { initrd = { availableKernelModules = [ From c03235156c93c674cb880cec70cc508f3f812501 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 Aug 2024 17:12:29 +0200 Subject: [PATCH 376/656] env vars: set GOPROXY --- home/common/devel.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/home/common/devel.nix b/home/common/devel.nix index c1d6dfe..28501f8 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -23,4 +23,8 @@ tree-sitter zig ]; + + home.sessionVariables = { + GOPROXY = "https://athena.patagia.dev"; + }; } From 100a871a6dc8ca8fe194804548488c15be9c82a7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 Aug 2024 20:24:34 +0200 Subject: [PATCH 377/656] install dog(dns) --- home/common/devel.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/devel.nix b/home/common/devel.nix index 28501f8..416471c 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -6,6 +6,7 @@ cargo clang codeium + dogdns gnumake go just From b572bf24a0901adcaaf4fa88096c54699b268079 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 Aug 2024 16:12:53 +0200 Subject: [PATCH 378/656] Update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 7fde307..e765ca0 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1724247947, - "narHash": "sha256-BrcJWSWtRQBiqZJ0K5nyDJHbAllZ407KC/oEfM7+3OA=", + "lastModified": 1724604890, + "narHash": "sha256-WivY48Jiu2Z4TzhshAl9S5DtDRDTacIdkrx0XE6Aaro=", "ref": "refs/heads/main", - "rev": "140d1dde5a4630369f9edd686825b962fdf2ec04", - "revCount": 7024, + "rev": "a2bb4a7cd1e84f9034ebfd456452d5746f95d0e6", + "revCount": 7063, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1723986931, - "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=", + "lastModified": 1724435763, + "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", "owner": "nix-community", "repo": "home-manager", - "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671", + "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", "type": "github" }, "original": { From eaf4d1fd00c105ad544677ade4048c58870762a2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 Aug 2024 16:12:53 +0200 Subject: [PATCH 379/656] fish: yellow prompt symbol --- home/common/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index c29fff5..4f328ad 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -90,7 +90,7 @@ fish_prompt.body = '' echo - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color green) ' ❯ ' (set_color normal) + string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) ''; fish_right_prompt.body = '' @@ -99,7 +99,7 @@ transient_prompt_func.body = '' echo - string join "" -- (set_color green) '❯ ' (set_color normal) + string join "" -- (set_color yellow) '❯ ' (set_color normal) ''; rg.body = '' From 467946b1af197d0c0b2e713a3130c8dbb7635190 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 28 Aug 2024 08:49:15 +0200 Subject: [PATCH 380/656] update --- common/desktop.nix | 16 ++++++++-------- flake.lock | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index ba48368..f09a95a 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -24,21 +24,21 @@ in snapshot ]) ++ (with pkgs; [ + atomix # puzzle game baobab # disk usage analyzer cheese # webcam tool epiphany # web browser geary # email reader - gnome.atomix # puzzle game + gnome-clocks + gnome-contacts gnome-disk-utility - gnome.gnome-clocks - gnome.gnome-contacts - gnome.gnome-logs - gnome.gnome-music - gnome.hitori # sudoku game - gnome.iagno # go game - gnome.tali # poker game + gnome-logs + gnome-music gnome-terminal + hitori # sudoku game + iagno # go game simple-scan + tali # poker game yelp # help viewer ]); diff --git a/flake.lock b/flake.lock index e765ca0..de17519 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1724604890, - "narHash": "sha256-WivY48Jiu2Z4TzhshAl9S5DtDRDTacIdkrx0XE6Aaro=", + "lastModified": 1724776272, + "narHash": "sha256-D8GnyjKRKCi11LLjS7hPD4MDYfkjR3Avuq0XT0QlcbU=", "ref": "refs/heads/main", - "rev": "a2bb4a7cd1e84f9034ebfd456452d5746f95d0e6", - "revCount": 7063, + "rev": "89e16ebef5e490f742431d2c9b0c41e194e9fc6d", + "revCount": 7081, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1724224976, - "narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=", + "lastModified": 1724479785, + "narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c374d94f1536013ca8e92341b540eba4c22f9c62", + "rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be", "type": "github" }, "original": { From d3dad5fd525c033de3efe9a651112defdae3dda4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 30 Aug 2024 13:46:11 +0200 Subject: [PATCH 381/656] nemo: install calibre --- home/dln/nemo.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index e7322c9..8095e57 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -1,4 +1,4 @@ -{ lib, ... }: +{ lib, pkgs, ... }: { imports = [ ./home.nix @@ -16,4 +16,6 @@ enabled-extensions = [ "azclock@azclock.gitlab.com" ]; }; }; + + home.packages = with pkgs; [ calibre ]; } From b44fd4cd3a1b97c926ddb98adcd0157799674a16 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 30 Aug 2024 13:53:23 +0200 Subject: [PATCH 382/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index de17519..9482afe 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1724776272, - "narHash": "sha256-D8GnyjKRKCi11LLjS7hPD4MDYfkjR3Avuq0XT0QlcbU=", + "lastModified": 1724969132, + "narHash": "sha256-XAYTVVxWoCXpHGqoNj0uhIbjD4MimFQXEke9eKYufK4=", "ref": "refs/heads/main", - "rev": "89e16ebef5e490f742431d2c9b0c41e194e9fc6d", - "revCount": 7081, + "rev": "602bf6ba1e1169750e233ed2431f71dbcf754362", + "revCount": 7103, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1724479785, - "narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=", + "lastModified": 1724819573, + "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be", + "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", "type": "github" }, "original": { From 694a5f152c2194f59559402610e143a486f2490e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Sep 2024 19:26:10 +0200 Subject: [PATCH 383/656] jj: use default immutable_heads function --- home/dln/home.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 53efd83..e3385c2 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -117,7 +117,6 @@ in "revset-aliases" = { # Prevent rewriting commits on main@origin and commits authored by other users; - "immutable_heads()" = "main@origin | (main@origin.. & ~mine())"; "user(x)" = "author(x) | committer(x)"; "trunk()" = "latest((present(main) | present(master)) & remote_branches())"; "open" = "(mine() ~ ::trunk()) ~ heads(empty())"; From d52f10ccd9e9291a0ac7a30803e34f978a9d376e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Sep 2024 19:31:16 +0200 Subject: [PATCH 384/656] gnome: enable emoji-copy extension --- home/common/gnome.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 3aa5800..f35f579 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -11,6 +11,7 @@ with lib.hm.gvariant; gnome-tweaks gnome-pomodoro gnomeExtensions.desktop-clock + gnomeExtensions.emoji-copy gnomeExtensions.just-perfection gnomeExtensions.vitals ]; From 2fb1f90dbe950fa5b69e874f9c7640281ca0a980 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Sep 2024 19:31:16 +0200 Subject: [PATCH 385/656] update --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 9482afe..47ab7e0 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1724969132, - "narHash": "sha256-XAYTVVxWoCXpHGqoNj0uhIbjD4MimFQXEke9eKYufK4=", + "lastModified": 1725209919, + "narHash": "sha256-Mv3L/a/Qa7sWtHP5kMGq3SJ/KYdiD1qeZZEoU5bvAWk=", "ref": "refs/heads/main", - "rev": "602bf6ba1e1169750e233ed2431f71dbcf754362", - "revCount": 7103, + "rev": "5ade197f91581a1d80eca5a734012aa60f40245e", + "revCount": 7122, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1724435763, - "narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=", + "lastModified": 1725180166, + "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be", + "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", "type": "github" }, "original": { @@ -232,11 +232,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1724819573, - "narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=", + "lastModified": 1725103162, + "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71e91c409d1e654808b2621f28a327acfdad8dc2", + "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "type": "github" }, "original": { From 030f54c5df65753fb121f5a70455528c15795c4b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Sep 2024 19:48:06 +0200 Subject: [PATCH 386/656] vcs: remove unused git commands --- home/common/vcs.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 99071fd..fde4105 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -5,10 +5,8 @@ delta diffedit3 difftastic - git-branchless git-get git-graph - git-town lazyjj tea ]; From ad56904021c206eb3baa0e8fb6aaa6c41a4660f5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Sep 2024 13:10:06 +0200 Subject: [PATCH 387/656] update --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 47ab7e0..6f40849 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1725209919, - "narHash": "sha256-Mv3L/a/Qa7sWtHP5kMGq3SJ/KYdiD1qeZZEoU5bvAWk=", + "lastModified": 1725250745, + "narHash": "sha256-tXw59mE2WYu0OtjOUkolk2QUwREum5wUKztuYgkVwdk=", "ref": "refs/heads/main", - "rev": "5ade197f91581a1d80eca5a734012aa60f40245e", - "revCount": 7122, + "rev": "d8fc54d1bf360a3a886a9c4a9d28204b770dcb36", + "revCount": 7125, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, From 9bbd3fa12e22366a6de8fae233836776c57c5fd0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Sep 2024 14:43:17 +0200 Subject: [PATCH 388/656] shelman->patagia --- README.md | 2 +- common/desktop.nix | 4 ++-- common/laptop.nix | 4 ++-- common/plymouth.nix | 4 ++-- common/podman.nix | 4 ++-- files/config/nvim/lua/plugins/colorscheme.lua | 2 +- home/common/default.nix | 2 +- home/common/ghostty.nix | 2 +- home/common/gnome.nix | 2 +- home/common/web.nix | 2 +- home/common/wezterm.nix | 2 +- home/dln/desktop.nix | 2 +- hosts/dinky/default.nix | 10 +++++----- hosts/nemo/default.nix | 9 +++++---- 14 files changed, 26 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index fee8b5d..ea9d7aa 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ IT in a box! 2. Clone this repo: ``` - nix-shell -p git --command 'git clone https://git.shelman.io/shelmangroup/nixos-config.git' + nix-shell -p git --command 'git clone https://patagia.dev/dln/nixos-config.git' ``` 3. Ensure host configuration exists at `./nixos-config/hosts/${HOSTNAME}` and contains at minimum the hardware configuration. The NixOS installer will write this out to `/etc/nixos/hardware-configuration.nix`. diff --git a/common/desktop.nix b/common/desktop.nix index f09a95a..bfa8c5f 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -7,10 +7,10 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.shelman.podman; + cfg = config.patagia.podman; in { - options.shelman.desktop.enable = mkEnableOption "Desktop environment and common applications"; + options.patagia.desktop.enable = mkEnableOption "Desktop environment and common applications"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ gnome-ssh-askpass4 ]; diff --git a/common/laptop.nix b/common/laptop.nix index c9d5688..a18c765 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -7,10 +7,10 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.shelman.podman; + cfg = config.patagia.podman; in { - options.shelman.laptop.enable = mkEnableOption "Laptop tools and configuration"; + options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; config = mkIf cfg.enable { environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; diff --git a/common/plymouth.nix b/common/plymouth.nix index bcf73cc..ecca293 100644 --- a/common/plymouth.nix +++ b/common/plymouth.nix @@ -7,10 +7,10 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.shelman.plymouth; + cfg = config.patagia.plymouth; in { - options.shelman.plymouth.enable = mkEnableOption "Fancy boot splash"; + options.patagia.plymouth.enable = mkEnableOption "Fancy boot splash"; config = mkIf cfg.enable { boot = { diff --git a/common/podman.nix b/common/podman.nix index 02540ee..5997bd6 100644 --- a/common/podman.nix +++ b/common/podman.nix @@ -7,10 +7,10 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.shelman.podman; + cfg = config.patagia.podman; in { - options.shelman.podman.enable = mkEnableOption "Podman"; + options.patagia.podman.enable = mkEnableOption "Podman"; config = mkIf cfg.enable { environment.extraInit = '' diff --git a/files/config/nvim/lua/plugins/colorscheme.lua b/files/config/nvim/lua/plugins/colorscheme.lua index b2967b9..738a94e 100644 --- a/files/config/nvim/lua/plugins/colorscheme.lua +++ b/files/config/nvim/lua/plugins/colorscheme.lua @@ -1,6 +1,6 @@ return { { - "https://git.shelman.io/shelmangroup/dieter.nvim.git", + "https://patagia.dev/patagia/dieter.nvim.git", lazy = false, priority = 1000, }, diff --git a/home/common/default.nix b/home/common/default.nix index a362e5b..2ad0154 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -19,5 +19,5 @@ ./wezterm.nix ]; - options.shelman.desktop.enable = lib.mkEnableOption "Desktop environment"; + options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; } diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6988eea..2980988 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -19,7 +19,7 @@ let }; in { - config = lib.mkIf config.shelman.desktop.enable { + config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ inputs.ghostty.packages.${pkgs.system}.default diff --git a/home/common/gnome.nix b/home/common/gnome.nix index f35f579..948712f 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -6,7 +6,7 @@ }: with lib.hm.gvariant; { - config = lib.mkIf config.shelman.desktop.enable { + config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ gnome-tweaks gnome-pomodoro diff --git a/home/common/web.nix b/home/common/web.nix index 5062a94..880604a 100644 --- a/home/common/web.nix +++ b/home/common/web.nix @@ -5,7 +5,7 @@ ... }: { - config = lib.mkIf config.shelman.desktop.enable { + config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ tor-browser ]; diff --git a/home/common/wezterm.nix b/home/common/wezterm.nix index 2aa7913..95238ea 100644 --- a/home/common/wezterm.nix +++ b/home/common/wezterm.nix @@ -1,6 +1,6 @@ { config, lib, ... }: { - config = lib.mkIf config.shelman.desktop.enable { + config = lib.mkIf config.patagia.desktop.enable { programs.wezterm = { enable = true; diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 8525e8f..0da8840 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -1,6 +1,6 @@ { inputs, pkgs, ... }: { - shelman = { + patagia = { desktop.enable = true; }; diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 1c625b3..58dd239 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -78,10 +78,10 @@ networking = { hostName = "dinky"; - domain = "aarn.shelman.io"; + domain = "aarn.patagia.dev"; search = [ - "shelman.io" - "aarn.shelman.io" + "patagia.dev" + "aarn.patagia.dev" ]; useDHCP = lib.mkDefault true; }; @@ -105,7 +105,7 @@ ]; }; - shelman = { + patagia = { desktop.enable = true; laptop.enable = true; plymouth.enable = true; @@ -119,7 +119,7 @@ nix.buildMachines = [ { - hostName = "nemo.aarn.shelman.io"; + hostName = "nemo.aarn.patagia.dev"; sshUser = "nixremote"; system = "x86_64-linux"; protocol = "ssh-ng"; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 25d5313..80dee15 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -80,7 +80,7 @@ networking = { hostName = "nemo"; # Define your hostname. - domain = "aarn.shelman.io"; + domain = "aarn.patagia.dev"; nameservers = [ "10.1.100.11" "10.1.100.12" @@ -135,8 +135,8 @@ services.resolved = { enable = true; domains = [ - "shelman.io" - "aarn.shelman.io" + "patagia.dev" + "aarn.patagia.dev" ]; llmnr = "false"; fallbackDns = [ "9.9.9.9" ]; @@ -157,7 +157,7 @@ settings = { }; }; - shelman = { + patagia = { desktop.enable = true; plymouth.enable = true; podman.enable = true; @@ -165,6 +165,7 @@ environment.systemPackages = with pkgs; [ ffado + libcamera lm_sensors # pkgs.pam_rssh openconnect From 8b1a4651c15ef6d86ac0ff4d0656ac89ca2f1401 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Sep 2024 20:44:43 +0200 Subject: [PATCH 389/656] gnome: configure emoji copy extension --- home/common/gnome.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 948712f..de67eb7 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -166,11 +166,16 @@ with lib.hm.gvariant; "org/gnome/shell" = { enabled-extensions = [ + "emoji-copy@felipeftn" "just-perfection-desktop@just-perfection" "Vitals@CoreCoding.com" ]; }; + "org/gnome/shell/extensions/emoji-copy" = { + emoji-keybind = [ "<Super>e" ]; + }; + "org/gnome/shell/extensions/just-perfection" = { animation = 0; notification-banner-position = 2; From 72f087261827c665f4c2d467cf1884e975d7210d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Sep 2024 19:48:38 +0200 Subject: [PATCH 390/656] ghostty: disable synthetic styles --- home/common/ghostty.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 2980988..b518ff9 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -33,6 +33,7 @@ in font-family = "Berkeley Mono Variable"; font-family-bold-italic = "Monaspace Xenon"; font-style-bold-italic = "ExtraLight Italic"; + font-synthetic-style = false; font-variation-italic = [ "wght=100" ]; adjust-cell-height = 1; From 318c9c9cc3f5a302f296fd189f1b149e00907ea3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Sep 2024 19:48:38 +0200 Subject: [PATCH 391/656] update --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 6f40849..9733c55 100644 --- a/flake.lock +++ b/flake.lock @@ -132,11 +132,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1725250745, - "narHash": "sha256-tXw59mE2WYu0OtjOUkolk2QUwREum5wUKztuYgkVwdk=", + "lastModified": 1725298527, + "narHash": "sha256-WAttmsNzqkw4tm0Po/ZzeFtp83BvJAnYIbGyBIdGnMU=", "ref": "refs/heads/main", - "rev": "d8fc54d1bf360a3a886a9c4a9d28204b770dcb36", - "revCount": 7125, + "rev": "2f32efbc82c938c3502ce20d2479ea867cc3ed0a", + "revCount": 7161, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, From d8cd9df7d37b6050301a11a141ab75da99f541e7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Sep 2024 17:13:48 +0200 Subject: [PATCH 392/656] Add pearl host --- .gitignore | 1 + flake.lock | 105 +++-------------------- flake.nix | 5 +- home/dln/pearl.nix | 9 ++ hosts/pearl/default.nix | 111 +++++++++++++++++++++++++ hosts/pearl/hardware-configuration.nix | 38 +++++++++ 6 files changed, 173 insertions(+), 96 deletions(-) create mode 100644 .gitignore create mode 100644 home/dln/pearl.nix create mode 100644 hosts/pearl/default.nix create mode 100644 hosts/pearl/hardware-configuration.nix diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4a847d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/result diff --git a/flake.lock b/flake.lock index 9733c55..2021fa5 100644 --- a/flake.lock +++ b/flake.lock @@ -1,41 +1,6 @@ { "nodes": { - "colmena": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", - "stable": "stable" - }, - "locked": { - "lastModified": 1711386353, - "narHash": "sha256-gWEpb8Hybnoqb4O4tmpohGZk6+aerAbJpywKcFIiMlg=", - "path": "/nix/store/in94zdj4ls6p21r3q4zzvmbd61g9ap3b-source", - "rev": "cd65ef7a25cdc75052fbd04b120aeb066c3881db", - "type": "path" - }, - "original": { - "id": "colmena", - "type": "indirect" - } - }, "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1650374568, - "narHash": "sha256-Z+s0J8/r907g149rllvwhb4pKi8Wam5ij0st8PwAh+E=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "b4a34015c698c7793d592d66adbab377907a2be8", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_2": { "flake": false, "locked": { "lastModified": 1696426674, @@ -52,21 +17,6 @@ } }, "flake-utils": { - "locked": { - "lastModified": 1659877975, - "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_2": { "inputs": { "systems": "systems" }, @@ -84,7 +34,7 @@ "type": "github" } }, - "flake-utils_3": { + "flake-utils_2": { "inputs": { "systems": "systems_2" }, @@ -102,7 +52,7 @@ "type": "github" } }, - "flake-utils_4": { + "flake-utils_3": { "inputs": { "systems": "systems_3" }, @@ -132,11 +82,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1725298527, - "narHash": "sha256-WAttmsNzqkw4tm0Po/ZzeFtp83BvJAnYIbGyBIdGnMU=", + "lastModified": 1725337181, + "narHash": "sha256-qahlxe7TBQBdpCVahSauLPx/Wp1+HDpFClArt2HNQaI=", "ref": "refs/heads/main", - "rev": "2f32efbc82c938c3502ce20d2479ea867cc3ed0a", - "revCount": 7161, + "rev": "d885c814234060679dcd5bd0d9259be39b938be9", + "revCount": 7176, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -215,22 +165,6 @@ } }, "nixpkgs": { - "locked": { - "lastModified": 1696019113, - "narHash": "sha256-X3+DKYWJm93DRSdC5M6K5hLqzSya9BjibtBsuARoPco=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "f5892ddac112a1e9b3612c39af1b72987ee5783a", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_2": { "locked": { "lastModified": 1725103162, "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", @@ -248,27 +182,10 @@ }, "root": { "inputs": { - "colmena": "colmena", "ghostty": "ghostty", "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", - "nixpkgs": "nixpkgs_2" - } - }, - "stable": { - "locked": { - "lastModified": 1696039360, - "narHash": "sha256-g7nIUV4uq1TOVeVIDEZLb005suTWCUjSY0zYOlSBsyE=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "32dcb45f66c0487e92db8303a798ebc548cadedc", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixos-23.05", - "repo": "nixpkgs", - "type": "github" + "nixpkgs": "nixpkgs" } }, "systems": { @@ -321,7 +238,7 @@ "flake-compat": [ "ghostty" ], - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils", "nixpkgs": [ "ghostty", "nixpkgs-stable" @@ -343,8 +260,8 @@ }, "zig-overlay": { "inputs": { - "flake-compat": "flake-compat_2", - "flake-utils": "flake-utils_4", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils_3", "nixpkgs": [ "ghostty", "zls", @@ -367,7 +284,7 @@ }, "zls": { "inputs": { - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_2", "gitignore": "gitignore", "langref": "langref", "nixpkgs": [ diff --git a/flake.nix b/flake.nix index adc2cd2..07a7f01 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,6 @@ { self, nixpkgs, - colmena, ghostty, ghostty-hm, home-manager, @@ -82,19 +81,21 @@ devShells = forEachSystem' ( { system, pkgs, ... }: { - default = pkgs.mkShell { packages = [ pkgs.colmena ]; }; + default = pkgs.mkShell { packages = [ ]; }; } ); homeConfigurations = { "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; "dln@nemo" = mkHome [ ./home/dln/nemo.nix ]; + "dln@pearl" = mkHome [ ./home/dln/pearl.nix ]; "lsjostro@nemo" = mkHome [ ./home/lsjostro/nemo.nix ]; }; nixosConfigurations = { dinky = mkHost [ ./hosts/dinky ]; nemo = mkHost [ ./hosts/nemo ]; + pearl = mkHost [ ./hosts/pearl ]; }; }; } diff --git a/home/dln/pearl.nix b/home/dln/pearl.nix new file mode 100644 index 0000000..18a1715 --- /dev/null +++ b/home/dln/pearl.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: +{ + imports = [ + ./home.nix + ]; + + home.packages = with pkgs; [ + ]; +} diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix new file mode 100644 index 0000000..226044c --- /dev/null +++ b/hosts/pearl/default.nix @@ -0,0 +1,111 @@ +{ + inputs, + outputs, + lib, + config, + pkgs, + modulesPath, + ... +}: +{ + imports = [ ./hardware-configuration.nix ]; + + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + hardware.graphics = { + enable = true; + extraPackages = with pkgs; [ + vpl-gpu-rt + intel-media-driver + vaapiVdpau + libvdpau-va-gl + ]; + }; + + hardware.enableAllFirmware = true; + + #environment.systemPackages = with pkgs; [ + #]; + + services.printing.enable = true; + services.printing.drivers = [ pkgs.brlaser ]; + + programs.adb.enable = true; + + networking = { + hostName = "pearl"; + domain = "aarn.patagia.dev"; + search = [ + "patagia.dev" + "aarn.patagia.dev" + ]; + useDHCP = lib.mkDefault true; + }; + + networking.networkmanager.enable = true; + networking.networkmanager.wifi.backend = "iwd"; + + time.timeZone = "Europe/Stockholm"; + + users.users.dln = { + isNormalUser = true; + description = "Daniel Lundin"; + extraGroups = [ + "lp" + "wheel" + ]; + openssh.authorizedKeys.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILwakA+EeuR23vRhjvjMkzK+FtWIhpnbs7z1pfnBehCUAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + ]; + }; + + patagia = { + desktop.enable = true; + laptop.enable = true; + plymouth.enable = true; + podman.enable = false; + }; + + systemd.services."getty@tty1".enable = false; + systemd.services."autovt@tty1".enable = false; + + # Enable the X11 windowing system. + services.xserver.enable = true; + + # Enable the GNOME Desktop Environment. + services.xserver.displayManager.gdm.enable = true; + services.xserver.desktopManager.gnome.enable = true; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "se"; + variant = "us"; + }; + + # Configure console keymap + console.keyMap = "sv-latin1"; + + # Enable sound with pipewire. + hardware.pulseaudio.enable = false; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + + nixpkgs.config.allowUnfree = true; + + services.openssh.enable = true; + + system.stateVersion = "24.05"; # Did you read the comment? +} diff --git a/hosts/pearl/hardware-configuration.nix b/hosts/pearl/hardware-configuration.nix new file mode 100644 index 0000000..f1105d5 --- /dev/null +++ b/hosts/pearl/hardware-configuration.nix @@ -0,0 +1,38 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/5ab8f3b9-4f74-4bc3-ac8e-3392a6120240"; + fsType = "ext4"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/4C5D-8244"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} From d3be213bd899c9d400350962f5e5c97698ab6bbb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Sep 2024 19:07:26 +0200 Subject: [PATCH 393/656] pearl: setup --- common/desktop.nix | 1 - hosts/pearl/apps.nix | 37 +++++++++++++++++++++++++++++++ hosts/pearl/default.nix | 49 +++++++++++++++++++++++++---------------- 3 files changed, 67 insertions(+), 20 deletions(-) create mode 100644 hosts/pearl/apps.nix diff --git a/common/desktop.nix b/common/desktop.nix index bfa8c5f..cb2ee7b 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -50,7 +50,6 @@ in defaultFonts = { serif = [ "Liberation Serif" ]; sansSerif = [ "Inter" ]; - monospace = [ "BerkeleyMono Nerd Font" ]; }; hinting.enable = true; hinting.style = "slight"; diff --git a/hosts/pearl/apps.nix b/hosts/pearl/apps.nix new file mode 100644 index 0000000..b856fea --- /dev/null +++ b/hosts/pearl/apps.nix @@ -0,0 +1,37 @@ +{ + lib, + pkgs, + ... +}: +{ + programs.firefox.enable = true; + + environment.systemPackages = with pkgs; [ + calibre + gimp + gnomeExtensions.emoji-copy + gnomeExtensions.just-perfection + gnomeExtensions.vitals + gnome-pomodoro + gnome-tweaks + hitori + inkscape + krita + moonlight-qt + obsidian + pavucontrol + plexamp + signal-desktop + ]; + + environment.gnome.excludePackages = + [ + ]; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + }; +} diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix index 226044c..a44a372 100644 --- a/hosts/pearl/default.nix +++ b/hosts/pearl/default.nix @@ -8,7 +8,10 @@ ... }: { - imports = [ ./hardware-configuration.nix ]; + imports = [ + ./hardware-configuration.nix + ./apps.nix + ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; @@ -25,14 +28,9 @@ hardware.enableAllFirmware = true; - #environment.systemPackages = with pkgs; [ - #]; - services.printing.enable = true; services.printing.drivers = [ pkgs.brlaser ]; - programs.adb.enable = true; - networking = { hostName = "pearl"; domain = "aarn.patagia.dev"; @@ -48,17 +46,30 @@ time.timeZone = "Europe/Stockholm"; - users.users.dln = { - isNormalUser = true; - description = "Daniel Lundin"; - extraGroups = [ - "lp" - "wheel" - ]; - openssh.authorizedKeys.keys = [ - "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILwakA+EeuR23vRhjvjMkzK+FtWIhpnbs7z1pfnBehCUAAAABHNzaDo= dln@dinky" - "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" - ]; + users.users = { + annso = { + isNormalUser = true; + description = "Ann-Sofie Stenberg"; + extraGroups = [ + "lp" + "video" + "audio" + "wheel" + ]; + }; + + dln = { + isNormalUser = true; + description = "Daniel Lundin"; + extraGroups = [ + "lp" + "wheel" + ]; + openssh.authorizedKeys.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILwakA+EeuR23vRhjvjMkzK+FtWIhpnbs7z1pfnBehCUAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + ]; + }; }; patagia = { @@ -71,7 +82,7 @@ systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; - # Enable the X11 windowing system. + # Enable the X11 windowing system. services.xserver.enable = true; # Enable the GNOME Desktop Environment. @@ -81,7 +92,7 @@ # Configure keymap in X11 services.xserver.xkb = { layout = "se"; - variant = "us"; + # variant = "us"; }; # Configure console keymap From d40ac202fefab54f8e0dfa4d8fe0acf8497ebf92 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Sep 2024 10:39:59 +0200 Subject: [PATCH 394/656] atuin: move server to atuin.patagia.dev --- home/common/atuin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/atuin.nix b/home/common/atuin.nix index 6e7f79f..e197b73 100644 --- a/home/common/atuin.nix +++ b/home/common/atuin.nix @@ -13,7 +13,7 @@ search_mode_shell_up_key_binding = "prefix"; show_help = false; style = "compact"; - sync_address = "https://atuin.aarn.shelman.io"; + sync_address = "https://atuin.patagia.dev"; sync.records = true; stats.common_subcommands = [ From 7af8b78892fde6313146028b0c6e3abfe4520fa2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Sep 2024 10:39:59 +0200 Subject: [PATCH 395/656] nemo: install obs studio --- home/dln/nemo.nix | 11 ++++++++++- hosts/nemo/default.nix | 7 ++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 8095e57..9b63dab 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -8,7 +8,16 @@ # Host specific user config goes here # programs.ghostty.settings = { - font-size = lib.mkForce 20; + font-size = lib.mkForce 18; + }; + + programs.obs-studio = { + enable = true; + plugins = with pkgs; [ + obs-studio-plugins.wlrobs + obs-studio-plugins.obs-vaapi + obs-studio-plugins.obs-pipewire-audio-capture + ]; }; dconf.settings = { diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 80dee15..dd553b0 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -10,7 +10,10 @@ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; boot = { - extraModulePackages = with config.boot.kernelPackages; [ nct6687d ]; + extraModulePackages = with config.boot.kernelPackages; [ + nct6687d + v4l2loopback + ]; initrd.availableKernelModules = [ "xhci_pci" "ahci" @@ -28,6 +31,7 @@ ]; extraModprobeConfig = '' options nct6687 force=1 + options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 ''; kernelParams = [ "mitigations=off" ]; }; @@ -169,6 +173,7 @@ lm_sensors # pkgs.pam_rssh openconnect + v4l-utils ]; programs.coolercontrol.enable = true; From 04b6a1157fa003945cce191badd570f26411842e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 3 Sep 2024 10:39:59 +0200 Subject: [PATCH 396/656] update --- flake.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/flake.lock b/flake.lock index 2021fa5..eda16f6 100644 --- a/flake.lock +++ b/flake.lock @@ -82,11 +82,11 @@ "zls": "zls" }, "locked": { - "lastModified": 1725337181, - "narHash": "sha256-qahlxe7TBQBdpCVahSauLPx/Wp1+HDpFClArt2HNQaI=", + "lastModified": 1725399065, + "narHash": "sha256-QVIt+kIrLkn3B13qBKFlE7a1kHHjt9TEm1vypSNCfyE=", "ref": "refs/heads/main", - "rev": "d885c814234060679dcd5bd0d9259be39b938be9", - "revCount": 7176, + "rev": "f0c4afdf9cea34d7b15cbb18736a3bad840cc929", + "revCount": 7184, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, From 1fcacebf5a65e4ed7087133a55997313585c2ab3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 4 Sep 2024 09:58:55 +0200 Subject: [PATCH 397/656] update --- flake.lock | 177 ++-------------------------------------------- home/dln/nemo.nix | 2 - 2 files changed, 5 insertions(+), 174 deletions(-) diff --git a/flake.lock b/flake.lock index eda16f6..e94b31b 100644 --- a/flake.lock +++ b/flake.lock @@ -1,21 +1,5 @@ { "nodes": { - "flake-compat": { - "flake": false, - "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, "flake-utils": { "inputs": { "systems": "systems" @@ -34,42 +18,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_3": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "ghostty": { "inputs": { "nixpkgs-stable": [ @@ -78,15 +26,14 @@ "nixpkgs-unstable": [ "nixpkgs" ], - "zig": "zig", - "zls": "zls" + "zig": "zig" }, "locked": { - "lastModified": 1725399065, - "narHash": "sha256-QVIt+kIrLkn3B13qBKFlE7a1kHHjt9TEm1vypSNCfyE=", + "lastModified": 1725412681, + "narHash": "sha256-B5Zuo+f50FBtE8jY1Rx/ZXMLh5jLrfLpSzbkxPx3yso=", "ref": "refs/heads/main", - "rev": "f0c4afdf9cea34d7b15cbb18736a3bad840cc929", - "revCount": 7184, + "rev": "3e9163e4c60ed04fd6b2911c9f9304ad4cdb2d9c", + "revCount": 7189, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -110,28 +57,6 @@ "type": "github" } }, - "gitignore": { - "inputs": { - "nixpkgs": [ - "ghostty", - "zls", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1709087332, - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", - "owner": "hercules-ci", - "repo": "gitignore.nix", - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "gitignore.nix", - "type": "github" - } - }, "home-manager": { "inputs": { "nixpkgs": [ @@ -152,18 +77,6 @@ "type": "github" } }, - "langref": { - "flake": false, - "locked": { - "narHash": "sha256-O6p2tiKD8ZMhSX+DeA/o5hhAvcPkU2J9lFys/r11peY=", - "type": "file", - "url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in" - }, - "original": { - "type": "file", - "url": "https://raw.githubusercontent.com/ziglang/zig/0fb2015fd3422fc1df364995f9782dfe7255eccd/doc/langref.html.in" - } - }, "nixpkgs": { "locked": { "lastModified": 1725103162, @@ -203,36 +116,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "zig": { "inputs": { "flake-compat": [ @@ -257,56 +140,6 @@ "repo": "zig-overlay", "type": "github" } - }, - "zig-overlay": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils_3", - "nixpkgs": [ - "ghostty", - "zls", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1718539737, - "narHash": "sha256-hvQ900gSqzGnJWMRQwv65TixciIbC44iX0Nh5ENRwCU=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "6eb42ce6f85d247b1aecf854c45d80902821d0ad", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "zls": { - "inputs": { - "flake-utils": "flake-utils_2", - "gitignore": "gitignore", - "langref": "langref", - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ], - "zig-overlay": "zig-overlay" - }, - "locked": { - "lastModified": 1718930611, - "narHash": "sha256-FtfVhs6XHNfSQRQorrrz03nD0LCNp2FCnGllRntHBts=", - "owner": "zigtools", - "repo": "zls", - "rev": "0b9746b60c2020ab948f6556f1c729858b82a0f0", - "type": "github" - }, - "original": { - "owner": "zigtools", - "ref": "master", - "repo": "zls", - "type": "github" - } } }, "root": "root", diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 9b63dab..46863ff 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -5,8 +5,6 @@ ./desktop.nix ]; - # Host specific user config goes here - # programs.ghostty.settings = { font-size = lib.mkForce 18; }; From 369d3792dc490c9d3317185c65fc52977bf4e570 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 7 Sep 2024 20:36:03 +0200 Subject: [PATCH 398/656] update --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index e94b31b..0b03aac 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1725412681, - "narHash": "sha256-B5Zuo+f50FBtE8jY1Rx/ZXMLh5jLrfLpSzbkxPx3yso=", + "lastModified": 1725674415, + "narHash": "sha256-8fR9vI1Mi02DBmkqY99v5G6KuuZJCkMm+su7pt5KN3k=", "ref": "refs/heads/main", - "rev": "3e9163e4c60ed04fd6b2911c9f9304ad4cdb2d9c", - "revCount": 7189, + "rev": "4501991325810c478ca6452214d773ebf46b899c", + "revCount": 7224, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1725180166, - "narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=", + "lastModified": 1725694918, + "narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=", "owner": "nix-community", "repo": "home-manager", - "rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb", + "rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725103162, - "narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", + "lastModified": 1725634671, + "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", + "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", "type": "github" }, "original": { From 433787237fbe00242d0fcf981b62d2d15c27fb34 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Sep 2024 13:59:11 +0200 Subject: [PATCH 399/656] update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 0b03aac..69cae00 100644 --- a/flake.lock +++ b/flake.lock @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1725694918, - "narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=", + "lastModified": 1725781935, + "narHash": "sha256-o6LRtdpgBTzev9n243Ktu3rn0/qsv0frFyJwU6vJsdE=", "owner": "nix-community", "repo": "home-manager", - "rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda", + "rev": "ec4c6928bbacc89cf10e9c959a7a47cbaad95344", "type": "github" }, "original": { From 2a64fc24e3850fe27fa4b07b8a3273338b83c481 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Sep 2024 14:02:29 +0200 Subject: [PATCH 400/656] nvim: fix indentline glyph --- files/config/nvim/lua/plugins/ui.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/config/nvim/lua/plugins/ui.lua b/files/config/nvim/lua/plugins/ui.lua index 0fc1c59..6928f1a 100644 --- a/files/config/nvim/lua/plugins/ui.lua +++ b/files/config/nvim/lua/plugins/ui.lua @@ -50,7 +50,7 @@ return { enabled = false, }, - { "nvimdev/indentmini.nvim", opts = { char = "⸽" } }, + { "nvimdev/indentmini.nvim", opts = { char = "│" } }, { "mvllow/modes.nvim", From 3e0ab74c99604f76936603d4ccdeb8e7440f204f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 9 Sep 2024 09:40:04 +0200 Subject: [PATCH 401/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 69cae00..2e290d4 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1725674415, - "narHash": "sha256-8fR9vI1Mi02DBmkqY99v5G6KuuZJCkMm+su7pt5KN3k=", + "lastModified": 1725856207, + "narHash": "sha256-7s7U8+BetbUdBewwqdzCVxR5nbc2wo+hQKFZw+jKsco=", "ref": "refs/heads/main", - "rev": "4501991325810c478ca6452214d773ebf46b899c", - "revCount": 7224, + "rev": "12bf107bcbac28202c5fab828416e8aa43b1b798", + "revCount": 7228, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1725781935, - "narHash": "sha256-o6LRtdpgBTzev9n243Ktu3rn0/qsv0frFyJwU6vJsdE=", + "lastModified": 1725863684, + "narHash": "sha256-HmdTBpuCsw35Ii35JUKO6AE6nae+kJliQb0XGd4hoLE=", "owner": "nix-community", "repo": "home-manager", - "rev": "ec4c6928bbacc89cf10e9c959a7a47cbaad95344", + "rev": "be47a2bdf278c57c2d05e747a13ed31cef54a037", "type": "github" }, "original": { From 663ccea86b399e97babbf5c6a70bda8771832ca7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 9 Sep 2024 19:52:49 +0200 Subject: [PATCH 402/656] update --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 2e290d4..d8f33de 100644 --- a/flake.lock +++ b/flake.lock @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1725863684, - "narHash": "sha256-HmdTBpuCsw35Ii35JUKO6AE6nae+kJliQb0XGd4hoLE=", + "lastModified": 1725893417, + "narHash": "sha256-fj2LxTZAncL/s5NrtXe1nLfO0XDvRixtCu3kmV9jDPw=", "owner": "nix-community", "repo": "home-manager", - "rev": "be47a2bdf278c57c2d05e747a13ed31cef54a037", + "rev": "10541f19c584fe9633c921903d8c095d5411e041", "type": "github" }, "original": { From 9d4202d7d287206da917b46eeceb1e1b2073659d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Sep 2024 22:05:37 +0200 Subject: [PATCH 403/656] update --- flake.lock | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index d8f33de..32b722f 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1725856207, - "narHash": "sha256-7s7U8+BetbUdBewwqdzCVxR5nbc2wo+hQKFZw+jKsco=", + "lastModified": 1726081898, + "narHash": "sha256-IOcXPfrQ/tWgydfoQ0uaql22X1JbILx5EeakvYw/s28=", "ref": "refs/heads/main", - "rev": "12bf107bcbac28202c5fab828416e8aa43b1b798", - "revCount": 7228, + "rev": "58b435516fbc1e6644087831cdf49cf4a64ef4c5", + "revCount": 7273, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -66,9 +66,12 @@ "locked": { "lastModified": 1725893417, "narHash": "sha256-fj2LxTZAncL/s5NrtXe1nLfO0XDvRixtCu3kmV9jDPw=", + "lastModified": 1726036828, + "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", "owner": "nix-community", "repo": "home-manager", "rev": "10541f19c584fe9633c921903d8c095d5411e041", + "rev": "8a1671642826633586d12ac3158e463c7a50a112", "type": "github" }, "original": { @@ -79,11 +82,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725634671, - "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", + "lastModified": 1725983898, + "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c", + "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", "type": "github" }, "original": { From 913caf1281b43f0baa885752d55e8274bb44425e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Sep 2024 23:02:19 +0200 Subject: [PATCH 404/656] jj: update to v0.21.0 --- pkgs/jujutsu-openssh/Cargo.lock | 647 +++++++++++++------------------ pkgs/jujutsu-openssh/default.nix | 8 +- 2 files changed, 279 insertions(+), 376 deletions(-) diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index f1dc3c5..8d81f33 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -17,6 +17,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" + [[package]] name = "ahash" version = "0.8.11" @@ -68,9 +74,9 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.14" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", @@ -83,33 +89,33 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys 0.52.0", ] [[package]] name = "anstyle-wincon" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys 0.52.0", @@ -129,19 +135,20 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" [[package]] name = "arrayvec" -version = "0.7.4" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_cmd" -version = "2.0.14" +version = "2.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed72493ac66d5804837f480ab3766c72bdfab91a65e565fc54fa9e42db0073a8" +checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" dependencies = [ "anstyle", "bstr", "doc-comment", + "libc", "predicates", "predicates-core", "predicates-tree", @@ -156,9 +163,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-trait" -version = "0.1.81" +version = "0.1.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107" +checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", @@ -192,7 +199,7 @@ dependencies = [ "cc", "cfg-if", "libc", - "miniz_oxide", + "miniz_oxide 0.7.4", "object", "rustc-demangle", ] @@ -252,45 +259,13 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.1" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" +checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" dependencies = [ "serde", ] -[[package]] -name = "camino" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0ec6b951b160caa93cc0c7b209e5a3bff7aae9062213451ac99493cd844c239" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7daec1a2a2129eeba1644b220b4647ec537b0b5d4bfd6876fcc5a540056b592" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - [[package]] name = "cassowary" version = "0.3.0" @@ -314,13 +289,13 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.2" +version = "1.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47de7e88bbbd467951ae7f5a6f34f70d1b4d9cfce53d5fd70f74ebe118b3db56" +checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" dependencies = [ "jobserver", "libc", - "once_cell", + "shlex", ] [[package]] @@ -382,9 +357,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.13" +version = "4.5.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fbb260a053428790f3de475e304ff84cdbc4face759ea7a3e64c1edd938a7fc" +checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" dependencies = [ "clap_builder", "clap_derive", @@ -401,9 +376,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.13" +version = "4.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64b17d7ea74e9f833c7dbf2cbe4fb12ff26783eda4782a8975b72f895c9b4d99" +checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", @@ -414,9 +389,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.12" +version = "4.5.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8670053e87c316345e384ca1f3eba3006fc6355ed8b8a1140d104e109e3df34" +checksum = "6d7db6eca8c205649e8d3ccd05aa5042b1800a784e56bc7c43524fde8abbfa9b" dependencies = [ "clap", ] @@ -445,15 +420,15 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "clap_mangen" -version = "0.2.22" +version = "0.2.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f50dde5bc0c853d6248de457e5eb6e5a674a54b93810a34ded88d882ca1fe2de" +checksum = "f17415fd4dfbea46e3274fcd8d368284519b358654772afb700dc2e8d2b24eeb" dependencies = [ "clap", "roff", @@ -467,9 +442,9 @@ checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" [[package]] name = "colorchoice" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "compact_str" @@ -512,15 +487,15 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.6" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" dependencies = [ "libc", ] @@ -570,19 +545,6 @@ dependencies = [ "itertools 0.10.5", ] -[[package]] -name = "crossbeam" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8" -dependencies = [ - "crossbeam-channel", - "crossbeam-deque", - "crossbeam-epoch", - "crossbeam-queue", - "crossbeam-utils", -] - [[package]] name = "crossbeam-channel" version = "0.5.13" @@ -611,15 +573,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "crossbeam-queue" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "crossbeam-utils" version = "0.8.20" @@ -669,26 +622,18 @@ dependencies = [ [[package]] name = "dashmap" -version = "5.5.3" +version = "6.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" dependencies = [ "cfg-if", + "crossbeam-utils", "hashbrown", "lock_api", "once_cell", "parking_lot_core", ] -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - [[package]] name = "diff" version = "0.1.13" @@ -806,14 +751,14 @@ checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "filetime" -version = "0.2.23" +version = "0.2.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" +checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.4.1", - "windows-sys 0.52.0", + "libredox", + "windows-sys 0.59.0", ] [[package]] @@ -824,12 +769,12 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.30" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" dependencies = [ "crc32fast", - "miniz_oxide", + "miniz_oxide 0.8.0", ] [[package]] @@ -945,7 +890,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.20.0" +version = "0.21.0" dependencies = [ "prost-build", ] @@ -979,8 +924,8 @@ checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "git2" -version = "0.18.3" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=8fd23a45f#8fd23a45f4166d4e87debc02d9ba70ef601fe751" +version = "0.19.0" +source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" dependencies = [ "bitflags 2.6.0", "libc", @@ -993,9 +938,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.64.0" +version = "0.66.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78414d29fcc82329080166077e0f7689f4016551fdb334d787c3d040fe2634f" +checksum = "9048b8d1ae2104f045cb37e5c450fc49d5d8af22609386bfc739c11ba88995eb" dependencies = [ "gix-actor", "gix-attributes", @@ -1014,7 +959,6 @@ dependencies = [ "gix-ignore", "gix-index", "gix-lock", - "gix-macros", "gix-object", "gix-odb", "gix-pack", @@ -1040,23 +984,23 @@ dependencies = [ [[package]] name = "gix-actor" -version = "0.31.5" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0e454357e34b833cc3a00b6efbbd3dd4d18b24b9fb0c023876ec2645e8aa3f2" +checksum = "fc19e312cd45c4a66cd003f909163dc2f8e1623e30a0c0c6df3776e89b308665" dependencies = [ "bstr", "gix-date", "gix-utils", "itoa", "thiserror", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] name = "gix-attributes" -version = "0.22.3" +version = "0.22.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37ce99c7e81288c28b703641b6d5d119aacc45c1a6b247156e6249afa486257" +checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" dependencies = [ "bstr", "gix-glob", @@ -1089,9 +1033,9 @@ dependencies = [ [[package]] name = "gix-command" -version = "0.3.8" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d76867867da891cbe32021ad454e8cae90242f6afb06762e4dd0d357afd1d7b" +checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" dependencies = [ "bstr", "gix-path", @@ -1115,9 +1059,9 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.38.0" +version = "0.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28f53fd03d1bf09ebcc2c8654f08969439c4556e644ca925f27cf033bc43e658" +checksum = "78e797487e6ca3552491de1131b4f72202f282fb33f198b1c34406d765b42bb0" dependencies = [ "bstr", "gix-config-value", @@ -1131,14 +1075,14 @@ dependencies = [ "smallvec", "thiserror", "unicode-bom", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] name = "gix-config-value" -version = "0.14.7" +version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b328997d74dd15dc71b2773b162cb4af9a25c424105e4876e6d0686ab41c383e" +checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" dependencies = [ "bitflags 2.6.0", "bstr", @@ -1149,21 +1093,21 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.7" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9eed6931f21491ee0aeb922751bd7ec97b4b2fe8fbfedcb678e2a2dce5f3b8c0" +checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" dependencies = [ "bstr", "itoa", + "jiff", "thiserror", - "time", ] [[package]] name = "gix-diff" -version = "0.44.1" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1996d5c8a305b59709467d80617c9fde48d9d75fd1f4179ea970912630886c9d" +checksum = "92c9afd80fff00f8b38b1c1928442feb4cd6d2232a6ed806b6b193151a3d336c" dependencies = [ "bstr", "gix-command", @@ -1181,9 +1125,9 @@ dependencies = [ [[package]] name = "gix-discover" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67662731cec3cb31ba3ed2463809493f76d8e5d6c6d245de8b0560438c13450e" +checksum = "0577366b9567376bc26e815fd74451ebd0e6218814e242f8e5b7072c58d956d2" dependencies = [ "bstr", "dunce", @@ -1207,7 +1151,6 @@ dependencies = [ "gix-hash", "gix-trace", "gix-utils", - "jwalk", "libc", "once_cell", "parking_lot", @@ -1219,9 +1162,9 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.11.3" +version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6547738da28275f4dff4e9f3a0f28509f53f94dd6bd822733c91cb306bca61a" +checksum = "4121790ae140066e5b953becc72e7496278138d19239be2e63b5067b0843119e" dependencies = [ "bstr", "encoding_rs", @@ -1240,9 +1183,9 @@ dependencies = [ [[package]] name = "gix-fs" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6adf99c27cdf17b1c4d77680c917e0d94d8783d4e1c73d3be0d1d63107163d7a" +checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" dependencies = [ "fastrand", "gix-features", @@ -1251,9 +1194,9 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.16.4" +version = "0.16.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7df15afa265cc8abe92813cd354d522f1ac06b29ec6dfa163ad320575cb447" +checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" dependencies = [ "bitflags 2.6.0", "bstr", @@ -1284,9 +1227,9 @@ dependencies = [ [[package]] name = "gix-ignore" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e6afb8f98e314d4e1adc822449389ada863c174b5707cedd327d67b84dba527" +checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" dependencies = [ "bstr", "gix-glob", @@ -1297,9 +1240,9 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.33.1" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a9a44eb55bd84bb48f8a44980e951968ced21e171b22d115d1cdcef82a7d73f" +checksum = "0cd4203244444017682176e65fd0180be9298e58ed90bd4a8489a357795ed22d" dependencies = [ "bitflags 2.6.0", "bstr", @@ -1334,22 +1277,11 @@ dependencies = [ "thiserror", ] -[[package]] -name = "gix-macros" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999ce923619f88194171a67fb3e6d613653b8d4d6078b529b15a765da0edcc17" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "gix-object" -version = "0.42.3" +version = "0.44.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25da2f46b4e7c2fa7b413ce4dffb87f69eaf89c2057e386491f4c55cadbfe386" +checksum = "2f5b801834f1de7640731820c2df6ba88d95480dc4ab166a5882f8ff12b88efa" dependencies = [ "bstr", "gix-actor", @@ -1361,14 +1293,14 @@ dependencies = [ "itoa", "smallvec", "thiserror", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] name = "gix-odb" -version = "0.61.1" +version = "0.63.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20d384fe541d93d8a3bb7d5d5ef210780d6df4f50c4e684ccba32665a5e3bc9b" +checksum = "a3158068701c17df54f0ab2adda527f5a6aca38fd5fd80ceb7e3c0a2717ec747" dependencies = [ "arc-swap", "gix-date", @@ -1386,9 +1318,9 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.51.1" +version = "0.53.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0594491fffe55df94ba1c111a6566b7f56b3f8d2e1efc750e77d572f5f5229" +checksum = "3223aa342eee21e1e0e403cad8ae9caf9edca55ef84c347738d10681676fd954" dependencies = [ "clru", "gix-chunk", @@ -1405,9 +1337,9 @@ dependencies = [ [[package]] name = "gix-packetline-blocking" -version = "0.17.4" +version = "0.17.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c31d42378a3d284732e4d589979930d0d253360eccf7ec7a80332e5ccb77e14a" +checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" dependencies = [ "bstr", "faster-hex", @@ -1417,9 +1349,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.9" +version = "0.10.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d23d5bbda31344d8abc8de7c075b3cf26e5873feba7c4a15d916bce67382bd9" +checksum = "38d5b8722112fa2fa87135298780bc833b0e9f6c56cc82795d209804b3a03484" dependencies = [ "bstr", "gix-trace", @@ -1430,9 +1362,9 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d307d1b8f84dc8386c4aa20ce0cf09242033840e15469a3ecba92f10cfb5c046" +checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" dependencies = [ "bitflags 2.6.0", "bstr", @@ -1456,9 +1388,9 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.45.0" +version = "0.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "636e96a0a5562715153fee098c217110c33a6f8218f08f4687ff99afde159bb5" +checksum = "ae0d8406ebf9aaa91f55a57f053c5a1ad1a39f60fdf0303142b7be7ea44311e5" dependencies = [ "gix-actor", "gix-features", @@ -1472,14 +1404,14 @@ dependencies = [ "gix-validate", "memmap2", "thiserror", - "winnow 0.6.13", + "winnow 0.6.18", ] [[package]] name = "gix-refspec" -version = "0.23.1" +version = "0.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6868f8cd2e62555d1f7c78b784bece43ace40dd2a462daf3b588d5416e603f37" +checksum = "ebb005f82341ba67615ffdd9f7742c87787544441c88090878393d0682869ca6" dependencies = [ "bstr", "gix-hash", @@ -1491,9 +1423,9 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.27.2" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b13e43c2118c4b0537ddac7d0821ae0dfa90b7b8dbf20c711e153fb749adce" +checksum = "ba4621b219ac0cdb9256883030c3d56a6c64a6deaa829a92da73b9a576825e1e" dependencies = [ "bstr", "gix-date", @@ -1505,9 +1437,9 @@ dependencies = [ [[package]] name = "gix-revwalk" -version = "0.13.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b030ccaab71af141f537e0225f19b9e74f25fefdba0372246b844491cab43e0" +checksum = "b41e72544b93084ee682ef3d5b31b1ba4d8fa27a017482900e5e044d5b1b3984" dependencies = [ "gix-commitgraph", "gix-date", @@ -1520,9 +1452,9 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.7" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1547d26fa5693a7f34f05b4a3b59a90890972922172653bcb891ab3f09f436df" +checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" dependencies = [ "bitflags 2.6.0", "gix-path", @@ -1532,9 +1464,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.12.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f2e0f69aa00805e39d39ec80472a7e9da20ed5d73318b27925a2cc198e854fd" +checksum = "529d0af78cc2f372b3218f15eb1e3d1635a21c8937c12e2dd0b6fc80c2ca874b" dependencies = [ "bstr", "gix-config", @@ -1547,9 +1479,9 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "14.0.0" +version = "14.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3b0e276cd08eb2a22e9f286a4f13a222a01be2defafa8621367515375644b99" +checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" dependencies = [ "dashmap", "gix-fs", @@ -1567,9 +1499,9 @@ checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" [[package]] name = "gix-traverse" -version = "0.39.2" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e499a18c511e71cf4a20413b743b9f5bcf64b3d9e81e9c3c6cd399eae55a8840" +checksum = "030da39af94e4df35472e9318228f36530989327906f38e27807df305fccb780" dependencies = [ "bitflags 2.6.0", "gix-commitgraph", @@ -1584,9 +1516,9 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.27.4" +version = "0.27.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2eb9b35bba92ea8f0b5ab406fad3cf6b87f7929aa677ff10aa042c6da621156" +checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" dependencies = [ "bstr", "gix-features", @@ -1608,9 +1540,9 @@ dependencies = [ [[package]] name = "gix-validate" -version = "0.8.5" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82c27dd34a49b1addf193c92070bcbf3beaf6e10f16a78544de6372e146a0acf" +checksum = "81f2badbb64e57b404593ee26b752c26991910fd0d81fe6f9a71c1a8309b6c86" dependencies = [ "bstr", "thiserror", @@ -1618,9 +1550,9 @@ dependencies = [ [[package]] name = "gix-worktree" -version = "0.34.1" +version = "0.36.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26f7326ebe0b9172220694ea69d344c536009a9b98fb0f9de092c440f3efe7a6" +checksum = "c312ad76a3f2ba8e865b360d5cb3aa04660971d16dec6dd0ce717938d903149a" dependencies = [ "bstr", "gix-attributes", @@ -1686,6 +1618,12 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" +[[package]] +name = "hermit-abi" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" + [[package]] name = "hex" version = "0.4.3" @@ -1752,9 +1690,9 @@ dependencies = [ [[package]] name = "imara-diff" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af13c8ceb376860ff0c6a66d83a8cdd4ecd9e464da24621bbffcd02b49619434" +checksum = "fc9da1a252bd44cd341657203722352efc9bc0c847d06ea6d2dc1cd1135e0a01" dependencies = [ "ahash", "hashbrown", @@ -1762,9 +1700,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.3.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0" +checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" dependencies = [ "equivalent", "hashbrown", @@ -1800,20 +1738,20 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.12" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f23ff5ef2b80d608d61efee834934d862cd92461afc0560dedf493e4c033738b" +checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" dependencies = [ - "hermit-abi", + "hermit-abi 0.4.0", "libc", "windows-sys 0.52.0", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.0" +version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" [[package]] name = "itertools" @@ -1848,16 +1786,40 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" +[[package]] +name = "jiff" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db2b7379a75544c94b3da32821b0bf41f9062e9970e23b78cc577d0d89676d16" +dependencies = [ + "jiff-tzdb-platform", + "windows-sys 0.59.0", +] + +[[package]] +name = "jiff-tzdb" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "jj-cli" -version = "0.20.0" +version = "0.21.0" dependencies = [ "anyhow", "assert_cmd", "assert_matches", "async-trait", "bstr", - "cargo_metadata", "chrono", "clap", "clap-markdown", @@ -1909,7 +1871,7 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.20.0" +version = "0.21.0" dependencies = [ "assert_matches", "async-trait", @@ -1918,6 +1880,7 @@ dependencies = [ "bstr", "chrono", "chrono-english", + "clru", "config", "criterion", "digest", @@ -1930,6 +1893,7 @@ dependencies = [ "glob", "hex", "ignore", + "indexmap", "indoc", "insta", "itertools 0.13.0", @@ -1967,7 +1931,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.20.0" +version = "0.21.0" dependencies = [ "proc-macro2", "quote", @@ -1976,37 +1940,27 @@ dependencies = [ [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] -[[package]] -name = "jwalk" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56" -dependencies = [ - "crossbeam", - "rayon", -] - [[package]] name = "kstring" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec3066350882a1cd6d950d055997f379ac37fd39f81cd4d8ed186032eb3c5747" +checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" dependencies = [ "static_assertions", ] @@ -2019,14 +1973,14 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.155" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libgit2-sys" version = "0.17.0+1.8.1" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=8fd23a45f#8fd23a45f4166d4e87debc02d9ba70ef601fe751" +source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" dependencies = [ "cc", "libc", @@ -2043,13 +1997,14 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", + "redox_syscall", ] [[package]] name = "libz-sys" -version = "1.1.18" +version = "1.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c15da26e5af7e25c90b37a2d75cdbf940cf4a55316de9d84c679c9b8bfabf82e" +checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" dependencies = [ "cc", "libc", @@ -2087,9 +2042,9 @@ checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" +checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ "hashbrown", ] @@ -2139,6 +2094,15 @@ dependencies = [ "adler", ] +[[package]] +name = "miniz_oxide" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" +dependencies = [ + "adler2", +] + [[package]] name = "minus" version = "5.6.1" @@ -2168,11 +2132,11 @@ dependencies = [ [[package]] name = "mio" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4" +checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ - "hermit-abi", + "hermit-abi 0.3.9", "libc", "wasi", "windows-sys 0.52.0", @@ -2204,12 +2168,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-traits" version = "0.2.19" @@ -2225,24 +2183,15 @@ version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "num_threads" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c7398b9c8b70908f6371f47ed36737907c87c52af34c268fed0bf0ceb92ead9" -dependencies = [ + "hermit-abi 0.3.9", "libc", ] [[package]] name = "object" -version = "0.36.1" +version = "0.36.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "081b846d1d56ddfc18fdf1a922e4f6e07a11768ea1b92dec44e42b72712ccfce" +checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" dependencies = [ "memchr", ] @@ -2279,9 +2228,9 @@ dependencies = [ [[package]] name = "openssl-sys" -version = "0.9.102" +version = "0.9.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c597637d56fbc83893a35eb0dd04b2b8e7a50c91e64e9493e398b5df4fb45fa2" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" dependencies = [ "cc", "libc", @@ -2320,7 +2269,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.2", + "redox_syscall", "smallvec", "windows-targets 0.52.6", ] @@ -2450,23 +2399,20 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" +dependencies = [ + "zerocopy", +] [[package]] name = "predicates" -version = "3.1.0" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b87bfd4605926cdfefc1c3b5f8fe560e3feca9d5552cf68c466d3d8236c7e8" +checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" dependencies = [ "anstyle", "difflib", @@ -2475,15 +2421,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" +checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" [[package]] name = "predicates-tree" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" +checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" dependencies = [ "predicates-core", "termtree", @@ -2579,9 +2525,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -2658,27 +2604,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c82cf8cff14456045f55ec4241383baeff27af886adb72ffb2162f99911de0fd" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ "bitflags 2.6.0", ] [[package]] name = "redox_users" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", @@ -2751,9 +2688,9 @@ checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "roff" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316" +checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" [[package]] name = "rpassword" @@ -2784,9 +2721,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.34" +version = "0.38.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" +checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" dependencies = [ "bitflags 2.6.0", "errno", @@ -2845,20 +2782,11 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" -[[package]] -name = "semver" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" -dependencies = [ - "serde", -] - [[package]] name = "serde" -version = "1.0.204" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] @@ -2888,9 +2816,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.204" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", @@ -2899,9 +2827,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.122" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da" +checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" dependencies = [ "itoa", "memchr", @@ -2911,18 +2839,18 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.6" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0" +checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" dependencies = [ "serde", ] [[package]] name = "sha1_smol" -version = "1.0.0" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" +checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" [[package]] name = "sha2" @@ -2950,6 +2878,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook" version = "0.3.17" @@ -2962,9 +2896,9 @@ dependencies = [ [[package]] name = "signal-hook-mio" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af" +checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" dependencies = [ "libc", "mio 0.8.11", @@ -2982,9 +2916,9 @@ dependencies = [ [[package]] name = "similar" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa42c91313f1d05da9b26f267f931cf178d4aba455b4c4622dd7355eb80c6640" +checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" [[package]] name = "slab" @@ -3069,9 +3003,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.72" +version = "2.0.77" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" dependencies = [ "proc-macro2", "quote", @@ -3142,7 +3076,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.20.0" +version = "0.21.0" dependencies = [ "async-trait", "config", @@ -3196,39 +3130,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "itoa", - "libc", - "num-conv", - "num_threads", - "powerfmt", - "serde", - "time-core", - "time-macros", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - -[[package]] -name = "time-macros" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -dependencies = [ - "num-conv", - "time-core", -] - [[package]] name = "timeago" version = "0.4.2" @@ -3262,14 +3163,14 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.39.2" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1" +checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" dependencies = [ "backtrace", "bytes", "libc", - "mio 1.0.1", + "mio 1.0.2", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -3316,9 +3217,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.6" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" dependencies = [ "serde", ] @@ -3553,19 +3454,20 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" [[package]] name = "wasm-bindgen" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", @@ -3578,9 +3480,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3588,9 +3490,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", @@ -3601,9 +3503,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.92" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "watchman_client" @@ -3625,9 +3527,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.69" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" +checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" dependencies = [ "js-sys", "wasm-bindgen", @@ -3635,11 +3537,11 @@ dependencies = [ [[package]] name = "whoami" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44ab49fad634e88f55bf8f9bb3abd2f27d7204172a112c7c9987e01c1c94ea9" +checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" dependencies = [ - "redox_syscall 0.4.1", + "redox_syscall", "wasite", "web-sys", ] @@ -3662,11 +3564,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3843,9 +3745,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.6.13" +version = "0.6.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1" +checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" dependencies = [ "memchr", ] @@ -3872,6 +3774,7 @@ version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] @@ -3907,9 +3810,9 @@ dependencies = [ [[package]] name = "zstd-sys" -version = "2.0.12+zstd.1.5.6" +version = "2.0.13+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" +checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" dependencies = [ "cc", "pkg-config", diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index aeafd76..e6a6912 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,18 +16,18 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.20.0+pr3191.openssh"; + version = "0.21.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; repo = "jj"; - rev = "02d38813680f9c78bebad75b3aa69f3523584f1e"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-D9H6o1+l2wgDlX1idIXTqq9FHqKb9+lgI7haRUrQlKw="; + rev = "5eb51bddb5fe3dbc08fd141cf50c62c73a0e1432"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-sKMq8xgb2oJ3gi3cThdyjeQ0lfNfgkv495LcRo8H+uc="; }; cargoLock.lockFile = ./Cargo.lock; cargoLock.outputHashes = { - "git2-0.18.3" = "sha256-3g7ajPfLfuPWh46rIa70wQRWLZ+jZXBApkyPlJULi/I="; + "git2-0.19.0" = "sha256-fV8dFChGeDhb20bMyqefpAD5/+raQQ2sMdkEtlA1jaE="; }; cargoBuildFlags = [ From c0e0e41004492ddbc81aeff2ae2d1318a8b84874 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Sep 2024 23:56:45 +0200 Subject: [PATCH 405/656] ghostty: disable titlebar --- home/common/ghostty.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index b518ff9..caa6992 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -50,6 +50,7 @@ in window-decoration = false; gtk-tabs-location = "bottom"; + gtk-titlebar = false; window-padding-x = 12; window-padding-y = 0; window-padding-balance = true; From b1d5eb1fc350e2da681ca42d4e29b5705ac07022 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 12 Sep 2024 00:13:55 +0200 Subject: [PATCH 406/656] nvim: show projects list on startup by default. Add C-p for project list. --- files/config/nvim/lua/plugins/editor.lua | 5 ++++ files/config/nvim/lua/plugins/ui.lua | 30 ++++++++---------------- 2 files changed, 15 insertions(+), 20 deletions(-) diff --git a/files/config/nvim/lua/plugins/editor.lua b/files/config/nvim/lua/plugins/editor.lua index e237117..eaf6f32 100644 --- a/files/config/nvim/lua/plugins/editor.lua +++ b/files/config/nvim/lua/plugins/editor.lua @@ -22,6 +22,11 @@ return { end, desc = "VCS Files", }, + { + "<C-p>", + "<cmd>Telescope projects<cr>", + desc = "Projects", + }, }, opts = function(_, opts) local actions = require("telescope.actions") diff --git a/files/config/nvim/lua/plugins/ui.lua b/files/config/nvim/lua/plugins/ui.lua index 6928f1a..7645a72 100644 --- a/files/config/nvim/lua/plugins/ui.lua +++ b/files/config/nvim/lua/plugins/ui.lua @@ -1,25 +1,7 @@ -local logo = [[ -███████ ██ ██ ███████ ██ ███ ███ █████ ███ ██ ██████ ██████ ██████ ██ ██ ██████ -██ ██ ██ ██ ██ ████ ████ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ -███████ ███████ █████ ██ ██ ████ ██ ███████ ██ ██ ██ ██ ███ ██████ ██ ██ ██ ██ ██████ - ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ -███████ ██ ██ ███████ ███████ ██ ██ ██ ██ ██ ████ ██████ ██ ██ ██████ ██████ ██ -]] - return { { "nvimdev/dashboard-nvim", - opts = { - theme = "hyper", - config = { - header = vim.split(string.rep("\n", 8) .. logo, "\n"), - week_header = { enable = false }, - packages = { enable = false }, - project = { enable = false }, - footer = {}, - shortcut = {}, - }, - }, + enabled = false, }, { @@ -126,7 +108,15 @@ return { }, { - "ahmedkhalf/project.nvim", + "DrKJeff16/project.nvim", + config = function(_, opts) + if vim.fn.argv()[1] == nil then + require("project_nvim").setup(opts) -- Workaround for project.nvim not setting up + vim.schedule(function() + vim.cmd("Telescope projects") + end) + end + end, opts = { exclude_dirs = { "~/.cargo/*", From e6002533da34f496e49bfc9d1dddcf4f5aba5211 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 14 Sep 2024 10:32:23 +0200 Subject: [PATCH 407/656] dln: install asciinema --- home/dln/home.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/home.nix b/home/dln/home.nix index e3385c2..7034da0 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -8,6 +8,7 @@ in username = "dln"; homeDirectory = "/home/dln"; packages = with pkgs; [ + asciinema openconnect ouch ]; From 7efb24059c712fa917006a329cafdc8f710f1a3f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 14 Sep 2024 10:32:23 +0200 Subject: [PATCH 408/656] fish: add tmux-refresh-env function --- home/common/fish.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/home/common/fish.nix b/home/common/fish.nix index 4f328ad..64f8eb5 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -16,6 +16,18 @@ ]; functions = { + tmux-refresh-env = { + description = "Refresh environment variables from tmux session"; + body = '' + for var in (tmux show-environment | string match -rv '^-') + set -l parts (string split -m 1 '=' $var) + if test (count $parts) -eq 2 + set -Ux $parts[1] $parts[2] + end + end + ''; + }; + kubectl = { description = "Wraps kubectl in grc"; wraps = "kubectl"; From c7ca94e3c1ab87b2db1cd02fe70dd00298c350b8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 14 Sep 2024 13:40:04 +0200 Subject: [PATCH 409/656] update --- flake.lock | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/flake.lock b/flake.lock index 32b722f..2f1eabc 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1726081898, - "narHash": "sha256-IOcXPfrQ/tWgydfoQ0uaql22X1JbILx5EeakvYw/s28=", + "lastModified": 1726286796, + "narHash": "sha256-5mop4eJrzPTuEsUaqRZizzjySOx+vK9ZXl7HlJqWh1M=", "ref": "refs/heads/main", - "rev": "58b435516fbc1e6644087831cdf49cf4a64ef4c5", - "revCount": 7273, + "rev": "4241eac890b8f4b6bbadf27b2d109ce483813fe9", + "revCount": 7314, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,14 +64,11 @@ ] }, "locked": { - "lastModified": 1725893417, - "narHash": "sha256-fj2LxTZAncL/s5NrtXe1nLfO0XDvRixtCu3kmV9jDPw=", - "lastModified": 1726036828, - "narHash": "sha256-ZQHbpyti0jcAKnwQY1lwmooecLmSG6wX1JakQ/eZNeM=", + "lastModified": 1726308872, + "narHash": "sha256-d4vwO5N4RsLnCY7k5tY9xbdYDWQsY3RDMeUoIa4ms2A=", "owner": "nix-community", "repo": "home-manager", - "rev": "10541f19c584fe9633c921903d8c095d5411e041", - "rev": "8a1671642826633586d12ac3158e463c7a50a112", + "rev": "6c1a461a444e6ccb3f3e42bb627b510c3a722a57", "type": "github" }, "original": { @@ -82,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1725983898, - "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", + "lastModified": 1726062873, + "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", + "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", "type": "github" }, "original": { From dc79f572ce012fd91cfab34a8e97dfa9436a6735 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 16 Sep 2024 09:23:06 +0200 Subject: [PATCH 410/656] update --- flake.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/flake.lock b/flake.lock index 2f1eabc..e394562 100644 --- a/flake.lock +++ b/flake.lock @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1726308872, - "narHash": "sha256-d4vwO5N4RsLnCY7k5tY9xbdYDWQsY3RDMeUoIa4ms2A=", + "lastModified": 1726440980, + "narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=", "owner": "nix-community", "repo": "home-manager", - "rev": "6c1a461a444e6ccb3f3e42bb627b510c3a722a57", + "rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726062873, - "narHash": "sha256-IiA3jfbR7K/B5+9byVi9BZGWTD4VSbWe8VLpp9B/iYk=", + "lastModified": 1726243404, + "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4f807e8940284ad7925ebd0a0993d2a1791acb2f", + "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", "type": "github" }, "original": { From 4ffb39118aedf36c3d86c1e9c0c83639056ee595 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 17 Sep 2024 11:50:56 +0200 Subject: [PATCH 411/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index e394562..dce0320 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1726286796, - "narHash": "sha256-5mop4eJrzPTuEsUaqRZizzjySOx+vK9ZXl7HlJqWh1M=", + "lastModified": 1726527664, + "narHash": "sha256-9so8Ke7mZNOh6/cLxn7FIGHbaobzzwWQs47njO9w7gM=", "ref": "refs/heads/main", - "rev": "4241eac890b8f4b6bbadf27b2d109ce483813fe9", - "revCount": 7314, + "rev": "0109cb5ba49aa5af0f32b04a0075183242175cd9", + "revCount": 7327, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726243404, - "narHash": "sha256-sjiGsMh+1cWXb53Tecsm4skyFNag33GPbVgCdfj3n9I=", + "lastModified": 1726463316, + "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "345c263f2f53a3710abe117f28a5cb86d0ba4059", + "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", "type": "github" }, "original": { From f2bdcd904cb67dbbe509e2e76e5b05f4027e55fb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 17 Sep 2024 14:56:04 +0200 Subject: [PATCH 412/656] tmux: config --- home/common/tmux.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/home/common/tmux.nix b/home/common/tmux.nix index e9552af..6c11008 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -11,16 +11,19 @@ set -g allow-passthrough on set -g default-terminal "tmux-256color" set -g display-panes-time 3000 - set -g history-limit 10000 + set -g escape-time 10 + set -g history-limit 50000 + set -g set-clipboard on + set -g set-titles on + set -g set-titles-string "#H - #T" set -g status off + set -g status-interval 30 set -g status-style "italics,reverse" set -g status-left-length 0 set -g status-right-length 0 set -g status-left '#W #{pane_current_path}' set -g status-right '%F | %R' set -g status off - set -g set-titles on - set -g set-titles-string "#H - #T" set -g update-environment "SSH_AUTH_SOCK" setenv -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent" setw -g alternate-screen on @@ -41,6 +44,7 @@ bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down bind C-s set-option -g status + bind-key ] paste-buffer -p bind K confirm kill-server ''; }; From 028321603435ea5741394d59d9b679c646531658 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 19 Sep 2024 16:51:53 +0200 Subject: [PATCH 413/656] Enable fwupd --- common/base.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/common/base.nix b/common/base.nix index 3525ec8..5eb3b4e 100644 --- a/common/base.nix +++ b/common/base.nix @@ -22,6 +22,7 @@ }; services.fstrim.enable = true; + services.fwupd.enable = true; time.timeZone = "Europe/Stockholm"; From 0f26b880805a3cd192ec1d1ff832702c0917a45c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 19 Sep 2024 16:51:53 +0200 Subject: [PATCH 414/656] jj: set git branch push prefix. remove unused aliases. --- home/dln/home.nix | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 7034da0..1b6c51f 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -40,6 +40,10 @@ in key = "/home/dln/.ssh/git_signing_key.pub"; }; + git = { + push-branch-prefix = "dln/push-" + }; + ui = { "default-command" = [ "log" @@ -86,14 +90,6 @@ in "-r" "all()" ]; - b = [ - "branch" - "list" - ]; - n = [ - "new" - "main" - ]; d = [ "diff" "--tool=difftu" From f5245e6450b3a2e6c4677c717d26a832cbaa4fc1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 19 Sep 2024 16:51:53 +0200 Subject: [PATCH 415/656] Install comma. Remove unused programs. --- home/common/devel.nix | 3 +-- home/dln/home.nix | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/home/common/devel.nix b/home/common/devel.nix index 416471c..3a49ea3 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -6,6 +6,7 @@ cargo clang codeium + comma dogdns gnumake go @@ -19,10 +20,8 @@ prettierd rust-analyzer rustc - sqlite stylua tree-sitter - zig ]; home.sessionVariables = { diff --git a/home/dln/home.nix b/home/dln/home.nix index 1b6c51f..c7e9ab4 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -41,7 +41,7 @@ in }; git = { - push-branch-prefix = "dln/push-" + push-branch-prefix = "dln/push-"; }; ui = { From 3bf22d6276f57705ca1f549c3d000a8beacda6fe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 19 Sep 2024 16:51:53 +0200 Subject: [PATCH 416/656] update --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index dce0320..91e038d 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1726527664, - "narHash": "sha256-9so8Ke7mZNOh6/cLxn7FIGHbaobzzwWQs47njO9w7gM=", + "lastModified": 1726894861, + "narHash": "sha256-bmPOdKSvE6d3ZaFi4zt6GAfr0z1BherseiS6IRQ6oF0=", "ref": "refs/heads/main", - "rev": "0109cb5ba49aa5af0f32b04a0075183242175cd9", - "revCount": 7327, + "rev": "c6bbdfb7bfec3d5f08eef999fa86510b01e18c07", + "revCount": 7389, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1726440980, - "narHash": "sha256-ChhIrjtdu5d83W+YDRH+Ec5g1MmM0xk6hJnkz15Ot7M=", + "lastModified": 1726902823, + "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9c9cc6e50f7cbd2d58ccb1cd46a1e06e9e445ff", + "rev": "14929f7089268481d86b83ed31ffd88713dcd415", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726463316, - "narHash": "sha256-gI9kkaH0ZjakJOKrdjaI/VbaMEo9qBbSUl93DnU7f4c=", + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "99dc8785f6a0adac95f5e2ab05cc2e1bf666d172", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", "type": "github" }, "original": { From 2a1f0398e29fb9f359d4867bb8e45880b8516e07 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 24 Sep 2024 10:23:50 +0200 Subject: [PATCH 417/656] Remove docker/podman-compose --- common/nix.nix | 2 +- common/podman.nix | 5 ----- flake.lock | 20 ++++++++++---------- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index c03e5e2..17c8f5d 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,7 +20,7 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - "https://cache-nixos-org.aarn.shelman.io" + # "https://cache-nixos-org.aarn.shelman.io" "https://cache.nixos.org/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; diff --git a/common/podman.nix b/common/podman.nix index 5997bd6..717facf 100644 --- a/common/podman.nix +++ b/common/podman.nix @@ -19,11 +19,6 @@ in fi ''; - environment.systemPackages = with pkgs; [ - docker-compose - podman-compose - ]; - virtualisation = { containers = { enable = true; diff --git a/flake.lock b/flake.lock index 91e038d..c4a8a08 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1726894861, - "narHash": "sha256-bmPOdKSvE6d3ZaFi4zt6GAfr0z1BherseiS6IRQ6oF0=", + "lastModified": 1727413615, + "narHash": "sha256-pa9GcL2RJvHLJ/mOsyNjMZZCf+vAcPATzlybGfT9KT4=", "ref": "refs/heads/main", - "rev": "c6bbdfb7bfec3d5f08eef999fa86510b01e18c07", - "revCount": 7389, + "rev": "6d70ee7e2a4230d281cf231bc38560c33b1b0336", + "revCount": 7479, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1726902823, - "narHash": "sha256-Gkc7pwTVLKj4HSvRt8tXNvosl8RS9hrBAEhOjAE0Tt4=", + "lastModified": 1727383923, + "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=", "owner": "nix-community", "repo": "home-manager", - "rev": "14929f7089268481d86b83ed31ffd88713dcd415", + "rev": "ffe2d07e771580a005e675108212597e5b367d2d", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1726755586, - "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "lastModified": 1727122398, + "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093", "type": "github" }, "original": { From 68f80d321ad9783820fb47600ed547638a2cad6a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 27 Sep 2024 18:56:13 +0200 Subject: [PATCH 418/656] update --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index c4a8a08..a1b80d8 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1727413615, - "narHash": "sha256-pa9GcL2RJvHLJ/mOsyNjMZZCf+vAcPATzlybGfT9KT4=", + "lastModified": 1727583959, + "narHash": "sha256-PoXw38fIy70oDgJu6ZlImu6kco7z+wOCjLBxNnFrPGs=", "ref": "refs/heads/main", - "rev": "6d70ee7e2a4230d281cf231bc38560c33b1b0336", - "revCount": 7479, + "rev": "c2fe2ccc715f8a2b009527b7205fdb6fe393d342", + "revCount": 7536, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727122398, - "narHash": "sha256-o8VBeCWHBxGd4kVMceIayf5GApqTavJbTa44Xcg5Rrk=", + "lastModified": 1727348695, + "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "30439d93eb8b19861ccbe3e581abf97bdc91b093", + "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", "type": "github" }, "original": { From c72bec3aa30b56d93964c4cb672ff2f6294db555 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 27 Sep 2024 18:56:13 +0200 Subject: [PATCH 419/656] dinky: disable printing but leave configured. Add nitrokey. --- hosts/dinky/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 58dd239..d2e7681 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -66,14 +66,14 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; environment.systemPackages = with pkgs; [ - android-tools - android-udev-rules mullvad-vpn ]; - services.printing.enable = true; + services.printing.enable = lib.mkForce false; services.printing.drivers = [ pkgs.brlaser ]; + services.udev.packages = [ pkgs.nitrokey-udev-rules ]; + programs.adb.enable = true; networking = { From 52fe78851bf0ba440df2a78af0df8cde548c4c1c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 27 Sep 2024 18:56:13 +0200 Subject: [PATCH 420/656] dinky: enable gpg agent --- home/dln/dinky.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index 2a63d27..4742f12 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -12,4 +12,10 @@ }; home.packages = with pkgs; [ calibre ]; + + programs.gpg.enable = true; + services.gpg-agent = { + enable = true; + pinentryPackage = pkgs.pinentry-curses; + }; } From 026d5f813b7cbe530cb963e98956d6a9a534d1cc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 27 Sep 2024 18:56:13 +0200 Subject: [PATCH 421/656] atuin: run as daemon --- home/common/atuin.nix | 42 +++++++++++++++++++++++++++++++++++++++++- home/dln/home.nix | 10 ++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/home/common/atuin.nix b/home/common/atuin.nix index e197b73..720459b 100644 --- a/home/common/atuin.nix +++ b/home/common/atuin.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ lib, pkgs, ... }: { programs.atuin = { enable = true; @@ -16,6 +16,12 @@ sync_address = "https://atuin.patagia.dev"; sync.records = true; + daemon = { + enabled = true; + socket_path = "/run/user/1000/atuin.socket"; # FIXME: remove hard coded uid + systemd_socket = true; + }; + stats.common_subcommands = [ "cargo" "git" @@ -37,4 +43,38 @@ ]; }; }; + + systemd.user.services.atuin-daemon = { + Unit = { + Description = "atuin shell history daemon"; + Requires = [ "atuin-daemon.socket" ]; + }; + Service = { + ExecStart = "${lib.getExe pkgs.atuin} daemon"; + Environment = [ "ATUIN_LOG=info" ]; + Restart = "on-failure"; + RestartSteps = 5; + RestartMaxDelaySec = 10; + }; + Install = { + Also = [ "atuin-daemon.socket" ]; + WantedBy = [ "default.target" ]; + }; + }; + + systemd.user.sockets.atuin-daemon = { + Unit = { + Description = "Unix socket activation for atuin shell history daemon"; + }; + + Socket = { + ListenStream = "%t/atuin.socket"; + SocketMode = "0600"; + RemoveOnStop = true; + }; + + Install = { + WantedBy = [ "sockets.target" ]; + }; + }; } diff --git a/home/dln/home.nix b/home/dln/home.nix index c7e9ab4..d2487f5 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -15,9 +15,19 @@ in }; programs.atuin.settings = { + show_tabs = false; + cwd_filter = [ "^~/media" "^/home/dln/media" + "^/tmp" + ]; + + history_filter = [ + "^kubectl create secret.*--from-literal" + "^kubectl delete ns" + "^kubectl delete namespace" + "^talosctl reset" ]; }; From 2d58c4714ab14b6fbbe4eeb1f9adb4e2e76409cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 27 Sep 2024 18:51:25 +0200 Subject: [PATCH 422/656] nemo: enable gpg-agent --- home/dln/nemo.nix | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 46863ff..4a4f79a 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -25,4 +25,12 @@ }; home.packages = with pkgs; [ calibre ]; + + programs.gpg.enable = true; + + services.gpg-agent = { + enable = true; + enableScDaemon = false; + pinentryPackage = pkgs.pinentry-curses; + }; } From 21c038baf5fa8e2052d4f2eda2bf53f26690710c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 29 Sep 2024 13:52:19 +0200 Subject: [PATCH 423/656] neovim: add nil, nxd langauge servers couldn't get the mason installed one to work --- files/config/nvim/lua/plugins/lsp.lua | 2 ++ home/common/devel.nix | 2 ++ 2 files changed, 4 insertions(+) diff --git a/files/config/nvim/lua/plugins/lsp.lua b/files/config/nvim/lua/plugins/lsp.lua index c7c4f6e..f317693 100644 --- a/files/config/nvim/lua/plugins/lsp.lua +++ b/files/config/nvim/lua/plugins/lsp.lua @@ -10,6 +10,8 @@ return { -- enabled = true, -- }, servers = { + nil_ls = {}, + nixd = {}, starpls = {}, yamlls = { settings = { diff --git a/home/common/devel.nix b/home/common/devel.nix index 3a49ea3..2ae0a64 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -13,6 +13,8 @@ just ldns minio-client + nil + nixd nixfmt-rfc-style nodejs_22 passage From 7c2b46120eaa9073e68208647765031b45aa007b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 29 Sep 2024 19:40:08 +0200 Subject: [PATCH 424/656] direnv: hide env diff. load .env files by default. --- home/common/utils.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/common/utils.nix b/home/common/utils.nix index 165b7b3..7d5fd93 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -25,6 +25,12 @@ enable = true; nix-direnv.enable = true; silent = false; + config.global = { + hide_env_diff = true; + load_dotenv = true; + strict_env = true; + warn_timeout = "10s"; + }; }; eza = { From adc9fdbba901e669656f3635f237b4601d6a9791 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 29 Sep 2024 19:40:08 +0200 Subject: [PATCH 425/656] jj: fancy status and diff on <M-s> and <M-S> respectively --- files/config/fish/vcs.fish | 6 ++++-- home/dln/home.nix | 10 ++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index ae510d5..4859d3b 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -23,9 +23,11 @@ end function vcs_status if __jj_in_repo - jj status echo - jj log --limit=20 -T builtin_log_comfortable -r "(main..@) | (main..@)-" + printf '\e[38;5;240m\u2504%.0s\e[0m' (seq 1 (tput cols)) '\n' + jj show --stat + printf '\e[38;5;240m\u2504%.0s\e[0m' (seq 1 (tput cols)) '\n' + jj log --ignore-working-copy --limit=20 -T builtin_log_comfortable -r "(main..@) | (main..@)-" else git status -sb end diff --git a/home/dln/home.nix b/home/dln/home.nix index d2487f5..329f326 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -140,6 +140,16 @@ in fg = "bright black"; bold = false; }; + + "diff added token" = { + bg = "#002200"; + fg = "#66ffcc"; + underline = false; + }; + "diff removed token" = { + bg = "#220011"; + underline = true; + }; }; }; }; From ca7a0646b520fcb96f32c530bfef659ba4001af2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 29 Sep 2024 20:47:52 +0200 Subject: [PATCH 426/656] lazyjj: upgrade to 0.3.1 --- pkgs/lazyjj/default.nix | 45 +++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/pkgs/lazyjj/default.nix b/pkgs/lazyjj/default.nix index cf68629..c253e67 100644 --- a/pkgs/lazyjj/default.nix +++ b/pkgs/lazyjj/default.nix @@ -1,29 +1,30 @@ { stdenvNoCC, fetchzip, -}: let - version = "0.2.1"; +}: +let + version = "0.3.1"; in - stdenvNoCC.mkDerivation { - name = "lazyjj"; - inherit version; +stdenvNoCC.mkDerivation { + name = "lazyjj"; + inherit version; - src = fetchzip { - url = "https://github.com/Cretezy/lazyjj/releases/download/v0.2.1/lazyjj-v0.2.1-x86_64-unknown-linux-musl.tar.gz"; - hash = "sha256-yMfGWuzsl94elFxRvGaLA61KBopBnBT3j5pxbCrKl0w="; - }; + src = fetchzip { + url = "https://github.com/Cretezy/lazyjj/releases/download/v0.3.1/lazyjj-v0.3.1-x86_64-unknown-linux-musl.tar.gz"; + hash = "sha256-6R4W6uyq8sns8WLoJxp06xAYaJ0Zn+pZLtwhVIPobmc="; + }; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -m755 -D $src/lazyjj $out/bin/lazyjj - runHook postInstall - ''; + installPhase = '' + runHook preInstall + mkdir -p $out/bin + install -m755 -D $src/lazyjj $out/bin/lazyjj + runHook postInstall + ''; - meta = { - homepage = "https://github.com/Cretezy/lazyjj"; - description = "TUI for jj"; - mainProgram = "lazyjj"; - platforms = ["x86_64-linux"]; - }; - } + meta = { + homepage = "https://github.com/Cretezy/lazyjj"; + description = "TUI for jj"; + mainProgram = "lazyjj"; + platforms = [ "x86_64-linux" ]; + }; +} From 213feda67bc774738c88038cfbaa82b5a79714e1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Sep 2024 09:29:52 +0200 Subject: [PATCH 427/656] Update. Add helix editor package --- flake.lock | 20 ++++++++++---------- home/dln/desktop.nix | 10 ++++++---- home/dln/home.nix | 5 +++++ hosts/nemo/default.nix | 1 + 4 files changed, 22 insertions(+), 14 deletions(-) diff --git a/flake.lock b/flake.lock index a1b80d8..6ff0123 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1727583959, - "narHash": "sha256-PoXw38fIy70oDgJu6ZlImu6kco7z+wOCjLBxNnFrPGs=", + "lastModified": 1727840326, + "narHash": "sha256-yns/VnttWxCuc3TuY+hswCDnnTngp3fBWy2mg4EJfoQ=", "ref": "refs/heads/main", - "rev": "c2fe2ccc715f8a2b009527b7205fdb6fe393d342", - "revCount": 7536, + "rev": "03abc18adb29267aa7a3baec77bcf2a6af205b75", + "revCount": 7579, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1727383923, - "narHash": "sha256-4/vacp3CwdGoPf8U4e/N8OsGYtO09WTcQK5FqYfJbKs=", + "lastModified": 1727817100, + "narHash": "sha256-dlyV9/eiWkm/Y/t2+k4CFZ29tBvCANmJogEYaHeAOTw=", "owner": "nix-community", "repo": "home-manager", - "rev": "ffe2d07e771580a005e675108212597e5b367d2d", + "rev": "437ec62009fa8ceb684eb447d455ffba25911cf9", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727348695, - "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", + "lastModified": 1727634051, + "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", + "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", "type": "github" }, "original": { diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 0da8840..1de95aa 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -5,19 +5,21 @@ }; home.packages = with pkgs; [ - audacity - bitwig-studio + # audacity + # bitwig-studio + # helvum + # reaper + cameractrls-gtk4 dynamic-wallpaper gimp-with-plugins - helvum inkscape inputs.ghostty.packages.${pkgs.system}.default moonlight-qt obsidian pavucontrol plexamp - reaper signal-desktop + zed-editor ]; xdg.desktopEntries = { diff --git a/home/dln/home.nix b/home/dln/home.nix index 329f326..a5feb57 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -36,6 +36,11 @@ in userEmail = email; }; + programs.helix = { + enable = true; + # extraPackages = []; + }; + programs.jujutsu = { settings = { user = { diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index dd553b0..66189a4 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -91,6 +91,7 @@ "10.1.100.13" ]; firewall.enable = false; + networkmanager.enable = false; useDHCP = false; From f1e29fd5f8b624978e86d8a1fe96d3c3fee03091 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 6 Oct 2024 19:47:53 +0200 Subject: [PATCH 428/656] jujutsu: upgrade to 0.22.0 --- flake.lock | 20 +-- pkgs/jujutsu-openssh/Cargo.lock | 229 ++++++++++++++++--------------- pkgs/jujutsu-openssh/default.nix | 6 +- 3 files changed, 134 insertions(+), 121 deletions(-) diff --git a/flake.lock b/flake.lock index 6ff0123..8554e9b 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1727840326, - "narHash": "sha256-yns/VnttWxCuc3TuY+hswCDnnTngp3fBWy2mg4EJfoQ=", + "lastModified": 1728230852, + "narHash": "sha256-JEJ/9E6w4bTPtySEP1WASxemNP9bPALM0KIRyOlf9TA=", "ref": "refs/heads/main", - "rev": "03abc18adb29267aa7a3baec77bcf2a6af205b75", - "revCount": 7579, + "rev": "50b52da63856d46ac79a2a115f13ca92a2063730", + "revCount": 7618, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1727817100, - "narHash": "sha256-dlyV9/eiWkm/Y/t2+k4CFZ29tBvCANmJogEYaHeAOTw=", + "lastModified": 1728041527, + "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", "owner": "nix-community", "repo": "home-manager", - "rev": "437ec62009fa8ceb684eb447d455ffba25911cf9", + "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727634051, - "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", + "lastModified": 1728018373, + "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", + "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", "type": "github" }, "original": { diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index 8d81f33..59484a9 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arc-swap" @@ -163,9 +163,9 @@ checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" [[package]] name = "async-trait" -version = "0.1.82" +version = "0.1.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" +checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" dependencies = [ "proc-macro2", "quote", @@ -241,7 +241,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" dependencies = [ "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.8", "serde", ] @@ -289,9 +289,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.13" +version = "1.1.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48" +checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b" dependencies = [ "jobserver", "libc", @@ -357,9 +357,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.16" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019" +checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" dependencies = [ "clap_builder", "clap_derive", @@ -376,9 +376,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.15" +version = "4.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" +checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" dependencies = [ "anstream", "anstyle", @@ -389,9 +389,9 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.24" +version = "4.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7db6eca8c205649e8d3ccd05aa5042b1800a784e56bc7c43524fde8abbfa9b" +checksum = "bb31f1f3041ef3636e425b09e588911b72fc5513b2428b5b7df130f497e6a728" dependencies = [ "clap", ] @@ -408,9 +408,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "4.5.13" +version = "4.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" +checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" dependencies = [ "heck", "proc-macro2", @@ -493,9 +493,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -622,13 +622,13 @@ dependencies = [ [[package]] name = "dashmap" -version = "6.0.1" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" +checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" dependencies = [ "cfg-if", "crossbeam-utils", - "hashbrown", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -745,15 +745,15 @@ checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" [[package]] name = "fastrand" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" +checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "filetime" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", @@ -769,9 +769,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666" +checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" dependencies = [ "crc32fast", "miniz_oxide 0.8.0", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.21.0" +version = "0.22.0" dependencies = [ "prost-build", ] @@ -1221,7 +1221,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" dependencies = [ "gix-hash", - "hashbrown", + "hashbrown 0.14.5", "parking_lot", ] @@ -1257,7 +1257,7 @@ dependencies = [ "gix-traverse", "gix-utils", "gix-validate", - "hashbrown", + "hashbrown 0.14.5", "itoa", "libc", "memmap2", @@ -1349,9 +1349,9 @@ dependencies = [ [[package]] name = "gix-path" -version = "0.10.10" +version = "0.10.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d5b8722112fa2fa87135298780bc833b0e9f6c56cc82795d209804b3a03484" +checksum = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af" dependencies = [ "bstr", "gix-trace", @@ -1493,9 +1493,9 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" +checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" [[package]] name = "gix-traverse" @@ -1575,15 +1575,15 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", "log", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -1606,6 +1606,12 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" + [[package]] name = "heck" version = "0.5.0" @@ -1674,15 +1680,15 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" dependencies = [ "crossbeam-deque", "globset", "log", "memchr", - "regex-automata 0.4.7", + "regex-automata 0.4.8", "same-file", "walkdir", "winapi-util", @@ -1695,17 +1701,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc9da1a252bd44cd341657203722352efc9bc0c847d06ea6d2dc1cd1135e0a01" dependencies = [ "ahash", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] name = "indexmap" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.15.0", ] [[package]] @@ -1716,9 +1722,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "insta" -version = "1.39.0" +version = "1.40.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "810ae6042d48e2c9e9215043563a58a80b877bc863228a74cf10c49d4620a6f5" +checksum = "6593a41c7a73841868772495db7dc1e8ecab43bb5c0b6da2059246c4b506ab60" dependencies = [ "console", "lazy_static", @@ -1788,9 +1794,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jiff" -version = "0.1.8" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db2b7379a75544c94b3da32821b0bf41f9062e9970e23b78cc577d0d89676d16" +checksum = "437651126da47900d4d70255ab15f5c69510ca4e0d88c9f01b5b8d41a45c3a9b" dependencies = [ "jiff-tzdb-platform", "windows-sys 0.59.0", @@ -1813,7 +1819,7 @@ dependencies = [ [[package]] name = "jj-cli" -version = "0.21.0" +version = "0.22.0" dependencies = [ "anyhow", "assert_cmd", @@ -1835,7 +1841,6 @@ dependencies = [ "futures 0.3.30", "git2", "gix", - "hex", "indexmap", "indoc", "insta", @@ -1871,7 +1876,7 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.21.0" +version = "0.22.0" dependencies = [ "assert_matches", "async-trait", @@ -1931,7 +1936,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.21.0" +version = "0.22.0" dependencies = [ "proc-macro2", "quote", @@ -1973,9 +1978,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.158" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libgit2-sys" @@ -2002,9 +2007,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.19" +version = "1.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdc53a7799a7496ebc9fd29f31f7df80e83c9bda5299768af5f9e59eeea74647" +checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" dependencies = [ "cc", "libc", @@ -2046,7 +2051,7 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" dependencies = [ - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -2189,20 +2194,21 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" dependencies = [ "parking_lot_core", + "portable-atomic", ] [[package]] @@ -2219,9 +2225,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "300.3.1+3.3.1" +version = "300.3.2+3.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" dependencies = [ "cc", ] @@ -2294,9 +2300,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd53dff83f26735fdc1ca837098ccf133605d794cdae66acfc2bfac3ec809d95" +checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" dependencies = [ "memchr", "thiserror", @@ -2305,9 +2311,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a548d2beca6773b1c244554d36fcf8548a8a58e74156968211567250e48e49a" +checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" dependencies = [ "pest", "pest_generator", @@ -2315,9 +2321,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c93a82e8d145725dcbaf44e5ea887c8a869efdcc28706df2d08c69e17077183" +checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" dependencies = [ "pest", "pest_meta", @@ -2328,9 +2334,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.11" +version = "2.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a941429fea7e08bedec25e4f6785b6ffaacc6b755da98df5ef3e7dcf4a124c4f" +checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" dependencies = [ "once_cell", "pest", @@ -2399,6 +2405,12 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" +[[package]] +name = "portable-atomic" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" + [[package]] name = "ppv-lite86" version = "0.2.20" @@ -2437,9 +2449,9 @@ dependencies = [ [[package]] name = "pretty_assertions" -version = "1.4.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" +checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" dependencies = [ "diff", "yansi", @@ -2447,9 +2459,9 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.2.20" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f12335488a2f3b0a83b14edad48dca9879ce89b2edd10e80237e4e852dd645e" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" dependencies = [ "proc-macro2", "syn", @@ -2644,14 +2656,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.6" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" +checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.7", - "regex-syntax 0.8.4", + "regex-automata 0.4.8", + "regex-syntax 0.8.5", ] [[package]] @@ -2665,13 +2677,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.8.4", + "regex-syntax 0.8.5", ] [[package]] @@ -2682,9 +2694,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" [[package]] name = "roff" @@ -2721,9 +2733,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.35" +version = "0.38.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a85d50532239da68e9addb745ba38ff4612a242c1c7ceea689c4bc7c2f43c36f" +checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" dependencies = [ "bitflags 2.6.0", "errno", @@ -2784,9 +2796,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" +checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" dependencies = [ "serde_derive", ] @@ -2816,9 +2828,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.209" +version = "1.0.210" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" +checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" dependencies = [ "proc-macro2", "quote", @@ -2827,9 +2839,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.127" +version = "1.0.128" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" +checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" dependencies = [ "itoa", "memchr", @@ -3003,9 +3015,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.77" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -3014,9 +3026,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbcdd0c794ebb0d4cf35e88edd2f7d2c4c3e9a5a6dab322839b321c6a87a64" +checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" dependencies = [ "cfg-if", "fastrand", @@ -3027,12 +3039,12 @@ dependencies = [ [[package]] name = "terminal_size" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" +checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" dependencies = [ "rustix", - "windows-sys 0.48.0", + "windows-sys 0.59.0", ] [[package]] @@ -3076,7 +3088,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.21.0" +version = "0.22.0" dependencies = [ "async-trait", "config", @@ -3085,6 +3097,7 @@ dependencies = [ "hex", "itertools 0.13.0", "jj-lib", + "pollster", "rand", "tempfile", ] @@ -3102,18 +3115,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", @@ -3382,9 +3395,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "url" @@ -3764,9 +3777,9 @@ dependencies = [ [[package]] name = "yansi" -version = "0.5.1" +version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "zerocopy" diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index e6a6912..8035f56 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.21.0+pr3191.openssh"; + version = "0.22.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; repo = "jj"; - rev = "5eb51bddb5fe3dbc08fd141cf50c62c73a0e1432"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-sKMq8xgb2oJ3gi3cThdyjeQ0lfNfgkv495LcRo8H+uc="; + rev = "da04712b5735fadb0d9c164f301723a4f9830936"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-IhUJPH/h6Gm8zv7Ps1UxeMSqYAt1FO2ZMReLEAoOVmk="; }; cargoLock.lockFile = ./Cargo.lock; From 6b386be43b031fe7f2c365c9cb2d9fdb72a4ad31 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 6 Oct 2024 22:08:36 +0200 Subject: [PATCH 429/656] jj: branch -> bookmark --- files/config/fish/jj.fish | 44 +++++++++++++++++++-------------------- home/common/fish.nix | 2 +- home/dln/home.nix | 2 +- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/files/config/fish/jj.fish b/files/config/fish/jj.fish index 78be3e2..9a6257e 100644 --- a/files/config/fish/jj.fish +++ b/files/config/fish/jj.fish @@ -104,27 +104,27 @@ function __jj_changes -T 'separate("\t", change_id.shortest(), if(description, description.first_line(), "(no description set)")) ++ "\n"' end -function __jj_branches +function __jj_bookmarks set -f filter $argv[1] if string length --quiet -- $argv[2] - __jj branch list --all-remotes -r "$argv[2]" \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted branch)\") ++ \"\n\")" + __jj bookmark list --all-remotes -r "$argv[2]" \ + -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" else - __jj branch list --all-remotes \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted branch)\") ++ \"\n\")" + __jj bookmark list --all-remotes \ + -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" end end -function __jj_all_branches - __jj_branches '!remote || !remote.starts_with("git")' $argv[1] +function __jj_all_bookmarks + __jj_bookmarks '!remote || !remote.starts_with("git")' $argv[1] end -function __jj_local_branches - __jj_branches '!remote' '' +function __jj_local_bookmarks + __jj_bookmarks '!remote' '' end -function __jj_remote_branches - __jj_branches 'remote && !remote.starts_with("git")' '' +function __jj_remote_bookmarks + __jj_bookmarks 'remote && !remote.starts_with("git")' '' end function __jj_all_changes @@ -134,13 +134,13 @@ function __jj_all_changes set -f REV "all()" end __jj_changes $REV - __jj_all_branches $REV + __jj_all_bookmarks $REV end function __jj_mutable_changes set -f REV "mutable()" __jj_changes $REV - __jj_all_branches $REV + __jj_all_bookmarks $REV end function __jj_revision_modified_files @@ -302,7 +302,7 @@ complete -f -c jj -n '__jj_seen_subcommand_from obslog' -s r -l revision -rka '( complete -f -c jj -n '__jj_seen_subcommand_from parallelize' -ka '(__jj_mutable_changes)' complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s r -l revisions -rka '(__jj_mutable_changes)' complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s s -l source -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s b -l branch -rka '(__jj_mutable_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s b -l bookmark -rka '(__jj_mutable_changes)' complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s d -l destination -rka '(__jj_all_changes)' complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s A -l after -l insert-after -rka '(__jj_all_changes)' complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' @@ -317,18 +317,18 @@ complete -f -c jj -n '__jj_seen_subcommand_from squash' -l from -rka '(__jj_muta complete -f -c jj -n '__jj_seen_subcommand_from squash' -l to -l into -rka '(__jj_mutable_changes)' complete -f -c jj -n '__jj_seen_subcommand_from unsquash' -s r -l revision -rka '(__jj_mutable_changes)' -# Branches. -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from delete forget rename set d f r s' -ka '(__jj_local_branches)' -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from track t' -ka '(__jj_branches "remote && !tracked" "")' -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from untrack' -ka '(__jj_branches "remote && tracked && !remote.starts_with(\"git\")" "")' -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from create move set c m s' -s r -l revision -kra '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from move' -l from -rka '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from branch; and __jj_seen_subcommand_from move' -l to -rka '(__jj_changes "all()")' +# Bookmarks +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from delete forget rename set d f r s' -ka '(__jj_local_bookmarks)' +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from track t' -ka '(__jj_bookmarks "remote && !tracked" "")' +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from untrack' -ka '(__jj_bookmarks "remote && tracked && !remote.starts_with(\"git\")" "")' +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from create move set c m s' -s r -l revision -kra '(__jj_all_changes)' +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l from -rka '(__jj_changes "all()")' +complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l to -rka '(__jj_changes "all()")' # Git. complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s c -l change -kra '(__jj_changes "all()")' complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s r -l revisions -kra '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -s b -l branch -rka '(__jj_local_branches)' +complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -s b -l bookmark -rka '(__jj_local_bookmarks)' complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -l remote -rka '(__jj_remotes)' complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from remote; and __jj_seen_subcommand_from remove rename set-url' -ka '(__jj_remotes)' diff --git a/home/common/fish.nix b/home/common/fish.nix index 64f8eb5..e91cb4d 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -90,7 +90,7 @@ ), "(no description set)" ), - branches.join(", "), + bookmarks.join(", "), commit_id.shortest(), if(conflict, "(conflict)"), if(empty, "(empty)"), diff --git a/home/dln/home.nix b/home/dln/home.nix index a5feb57..d566360 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -56,7 +56,7 @@ in }; git = { - push-branch-prefix = "dln/push-"; + push-bookmark-prefix = "dln/push-"; }; ui = { From 39dcb58a9bc88c50892ca1bf6229886fa0d254ec Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 6 Oct 2024 23:00:01 +0200 Subject: [PATCH 430/656] fish: show command duration after longer command --- home/common/fish.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/common/fish.nix b/home/common/fish.nix index e91cb4d..239fe59 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -107,6 +107,12 @@ fish_right_prompt.body = '' fish_jj_prompt || fish_vcs_prompt + if test $CMD_DURATION -gt 3000 + # Show duration of the last command in seconds + set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.1fs", $1 / $2}') + echo " ⏳$duration" + end + ''; transient_prompt_func.body = '' From c07fe99a2ed2d9f29f1f67a4476875b6e5e158be Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 12 Oct 2024 13:06:20 +0200 Subject: [PATCH 431/656] jj: branches -> bookmarks --- flake.lock | 20 ++++++++++---------- home/dln/home.nix | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/flake.lock b/flake.lock index 8554e9b..9b112dc 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1728230852, - "narHash": "sha256-JEJ/9E6w4bTPtySEP1WASxemNP9bPALM0KIRyOlf9TA=", + "lastModified": 1728604055, + "narHash": "sha256-qFzvnwoWhGob+Huh3RlCxC+j16uF0LQKKV4dJxY4nDQ=", "ref": "refs/heads/main", - "rev": "50b52da63856d46ac79a2a115f13ca92a2063730", - "revCount": 7618, + "rev": "c26d1cb28eb5491e05ccbcff075a0eedd09ebaaa", + "revCount": 7679, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1728041527, - "narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=", + "lastModified": 1728726232, + "narHash": "sha256-8ZWr1HpciQsrFjvPMvZl0W+b0dilZOqXPoKa2Ux36bc=", "owner": "nix-community", "repo": "home-manager", - "rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e", + "rev": "d57112db877f07387ce7104b5ac346ede556d2d7", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728018373, - "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", + "lastModified": 1728492678, + "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bc947f541ae55e999ffdb4013441347d83b00feb", + "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", "type": "github" }, "original": { diff --git a/home/dln/home.nix b/home/dln/home.nix index d566360..929189e 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -130,7 +130,7 @@ in "revset-aliases" = { # Prevent rewriting commits on main@origin and commits authored by other users; "user(x)" = "author(x) | committer(x)"; - "trunk()" = "latest((present(main) | present(master)) & remote_branches())"; + "trunk()" = "latest((present(main) | present(master)) & remote_bookmarks())"; "open" = "(mine() ~ ::trunk()) ~ heads(empty())"; "wip" = ''description("wip: ")''; "ready" = "open() ~ (wip::)"; From 81e8bca1664c4345fe7c5687be6297b9c40087d1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 12 Oct 2024 13:24:53 +0200 Subject: [PATCH 432/656] fish: confirm before poweroff, reboot, shutdown --- home/common/fish.nix | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/home/common/fish.nix b/home/common/fish.nix index 239fe59..2166133 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -16,6 +16,33 @@ ]; functions = { + confirm = { + description = "Ask for confirmation"; + argumentNames = [ "message" ]; + body = '' + read -l -p 'printf "\\e[31;1m$message\\e[0m (y/N) "' confirm + test "$confirm" = 'y' + ''; + }; + + poweroff = { + description = "Wraps poweroff to first prompt for confirmation"; + wraps = "poweroff"; + body = ''confirm "⚠ Really poweroff $(hostname)?" && command poweroff $argv''; + }; + + reboot = { + description = "Wraps reboot to first prompt for confirmation"; + wraps = "reboot"; + body = ''confirm "⚠ Really reboot $(hostname)?" && command reboot $argv''; + }; + + shutdown = { + description = "Wraps shutdown to first prompt for confirmation"; + wraps = "shutdown"; + body = ''confirm "⚠ Really shutdown $(hostname)?" && command shutdown $argv''; + }; + tmux-refresh-env = { description = "Refresh environment variables from tmux session"; body = '' From 62f93b8d5444c73aaf206c4a7442bf5f21946f7e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 18 Oct 2024 10:38:31 +0200 Subject: [PATCH 433/656] update --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 9b112dc..29f3a49 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1728604055, - "narHash": "sha256-qFzvnwoWhGob+Huh3RlCxC+j16uF0LQKKV4dJxY4nDQ=", + "lastModified": 1729220096, + "narHash": "sha256-4erPSUsLVTTbdAXAjKfl7FpVxohmDSL0zWfewff7jcc=", "ref": "refs/heads/main", - "rev": "c26d1cb28eb5491e05ccbcff075a0eedd09ebaaa", - "revCount": 7679, + "rev": "913c4b5801b0d3881eabbe93dec5a2c40fefe65f", + "revCount": 7730, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1728726232, - "narHash": "sha256-8ZWr1HpciQsrFjvPMvZl0W+b0dilZOqXPoKa2Ux36bc=", + "lastModified": 1729174520, + "narHash": "sha256-QxCAdgQdeIOaCiE0Sr23s9lD0+T1b/wuz5pSiGwNrCQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "d57112db877f07387ce7104b5ac346ede556d2d7", + "rev": "e78cbb20276f09c1802e62d2f77fc93ec32da268", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728492678, - "narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=", + "lastModified": 1728888510, + "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7", + "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", "type": "github" }, "original": { From ad64ae1ecc2824916f7fe549837d3f31ea39f134 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 18 Oct 2024 10:38:31 +0200 Subject: [PATCH 434/656] clean up flake.nix --- flake.nix | 54 +++++++++++++++++------------------------------------- 1 file changed, 17 insertions(+), 37 deletions(-) diff --git a/flake.nix b/flake.nix index 07a7f01..9e7b129 100644 --- a/flake.nix +++ b/flake.nix @@ -18,72 +18,52 @@ }; outputs = - { + inputs@{ self, nixpkgs, - ghostty, ghostty-hm, home-manager, ... - }@inputs: + }: let inherit (self) outputs; + system = "x86_64-linux"; + + pkgs = nixpkgs.legacyPackages.${system}; + mkHome = modules: home-manager.lib.homeManagerConfiguration { + inherit pkgs; + extraSpecialArgs = { + inherit inputs outputs; + }; modules = [ ghostty-hm.homeModules.default ./home/common ] ++ modules; - pkgs = nixpkgs.legacyPackages.x86_64-linux; - extraSpecialArgs = { - inherit inputs outputs; - }; }; mkHost = modules: nixpkgs.lib.nixosSystem { + inherit system; specialArgs = { inherit inputs outputs; }; - system = "x86_64-linux"; modules = [ ./common ] ++ modules; }; - - supportedSystems = [ - "x86_64-linux" - "aarch64-linux" - ]; - forEachSystem = - f: - builtins.listToAttrs ( - map (system: { - name = system; - value = f system; - }) supportedSystems - ); - systemBits = forEachSystem (system: rec { - inherit system; - pkgs = import nixpkgs { - localSystem = system; - overlays = [ ]; - }; - }); - - forEachSystem' = f: forEachSystem (system: (f systemBits.${system})); - inherit (nixpkgs) lib; in { overlays = import ./overlays { inherit inputs outputs; }; - devShells = forEachSystem' ( - { system, pkgs, ... }: - { - default = pkgs.mkShell { packages = [ ]; }; - } - ); + devShell.${system} = pkgs.mkShell { + packages = with pkgs; [ + just + nh + ]; + }; homeConfigurations = { "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; From c9f5febd942b4d7144b69dce3e38b10e71961ce6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 14 Oct 2024 09:21:25 +0200 Subject: [PATCH 435/656] Add stable nixpkgs. Use that for Calibre (python/qt is broken) --- common/nix.nix | 4 +++- flake.lock | 27 ++++++++++++++++++++++----- flake.nix | 35 ++++++++++++++++++++++++++--------- home/common/devel.nix | 1 + home/common/nix.nix | 6 +++++- home/dln/nemo.nix | 2 +- 6 files changed, 58 insertions(+), 17 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index 17c8f5d..f5b4c2f 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -46,5 +46,7 @@ }; programs.nix-ld.enable = true; - environment.systemPackages = with pkgs; [ nvd ]; + environment.systemPackages = with pkgs; [ + nvd + ]; } diff --git a/flake.lock b/flake.lock index 29f3a49..b2cc97b 100644 --- a/flake.lock +++ b/flake.lock @@ -21,10 +21,10 @@ "ghostty": { "inputs": { "nixpkgs-stable": [ - "nixpkgs" + "nixpkgs-stable" ], "nixpkgs-unstable": [ - "nixpkgs" + "nixpkgs-unstable" ], "zig": "zig" }, @@ -60,7 +60,7 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { @@ -77,7 +77,23 @@ "type": "github" } }, - "nixpkgs": { + "nixpkgs-stable": { + "locked": { + "lastModified": 1729044727, + "narHash": "sha256-GKJjtPY+SXfLF/yTN7M2cAnQB6RERFKnQhD8UvPSf3M=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "dc2e0028d274394f73653c7c90cc63edbb696be1", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable": { "locked": { "lastModified": 1728888510, "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", @@ -98,7 +114,8 @@ "ghostty": "ghostty", "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", - "nixpkgs": "nixpkgs" + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "systems": { diff --git a/flake.nix b/flake.nix index 9e7b129..bfa2684 100644 --- a/flake.nix +++ b/flake.nix @@ -2,16 +2,17 @@ description = "NixOS configuration"; inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; ghostty = { url = "git+ssh://git@github.com/ghostty-org/ghostty"; inputs = { - nixpkgs-stable.follows = "nixpkgs"; - nixpkgs-unstable.follows = "nixpkgs"; + nixpkgs-stable.follows = "nixpkgs-stable"; + nixpkgs-unstable.follows = "nixpkgs-unstable"; }; }; ghostty-hm.url = "github:clo4/ghostty-hm-module"; @@ -20,17 +21,28 @@ outputs = inputs@{ self, - nixpkgs, + nixpkgs-stable, + nixpkgs-unstable, ghostty-hm, home-manager, ... }: let inherit (self) outputs; - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = nixpkgs-unstable.legacyPackages.${system}; + + overlays-nixpkgs = final: prev: { + stable = import nixpkgs-stable { + inherit system; + config.allowUnfree = true; + }; + unstable = import nixpkgs-unstable { + inherit system; + config.allowUnfree = true; + }; + }; mkHome = modules: @@ -42,13 +54,18 @@ modules = [ ghostty-hm.homeModules.default ./home/common + ( + { ... }: + { + nixpkgs.overlays = [ overlays-nixpkgs ]; + } + ) ] ++ modules; }; mkHost = modules: - nixpkgs.lib.nixosSystem { - inherit system; + nixpkgs-unstable.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; diff --git a/home/common/devel.nix b/home/common/devel.nix index 2ae0a64..61999ee 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -14,6 +14,7 @@ ldns minio-client nil + nix-output-monitor nixd nixfmt-rfc-style nodejs_22 diff --git a/home/common/nix.nix b/home/common/nix.nix index 3b66fd3..b1976e0 100644 --- a/home/common/nix.nix +++ b/home/common/nix.nix @@ -1,4 +1,8 @@ -{ outputs, ... }: +{ + pkgs, + outputs, + ... +}: { nixpkgs = { config.allowUnfree = true; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 4a4f79a..1c38f16 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -24,7 +24,7 @@ }; }; - home.packages = with pkgs; [ calibre ]; + home.packages = with pkgs; [ stable.calibre ]; programs.gpg.enable = true; From a362c3885fc137d7a0e20e424aeb7c128056bc20 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 18 Oct 2024 10:57:46 +0200 Subject: [PATCH 436/656] more cleanup --- flake.nix | 45 +++++++++++++------------------------------- overlays/default.nix | 4 ++++ 2 files changed, 17 insertions(+), 32 deletions(-) diff --git a/flake.nix b/flake.nix index bfa2684..13e0fd9 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,6 @@ outputs = inputs@{ self, - nixpkgs-stable, nixpkgs-unstable, ghostty-hm, home-manager, @@ -30,19 +29,16 @@ let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs-unstable.legacyPackages.${system}; - overlays-nixpkgs = final: prev: { - stable = import nixpkgs-stable { - inherit system; - config.allowUnfree = true; + mkHost = + modules: + nixpkgs-unstable.lib.nixosSystem { + specialArgs = { + inherit inputs outputs; + }; + modules = [ ./common ] ++ modules; }; - unstable = import nixpkgs-unstable { - inherit system; - config.allowUnfree = true; - }; - }; mkHome = modules: @@ -54,23 +50,8 @@ modules = [ ghostty-hm.homeModules.default ./home/common - ( - { ... }: - { - nixpkgs.overlays = [ overlays-nixpkgs ]; - } - ) ] ++ modules; }; - - mkHost = - modules: - nixpkgs-unstable.lib.nixosSystem { - specialArgs = { - inherit inputs outputs; - }; - modules = [ ./common ] ++ modules; - }; in { overlays = import ./overlays { inherit inputs outputs; }; @@ -82,17 +63,17 @@ ]; }; + nixosConfigurations = { + dinky = mkHost [ ./hosts/dinky ]; + nemo = mkHost [ ./hosts/nemo ]; + pearl = mkHost [ ./hosts/pearl ]; + }; + homeConfigurations = { "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; "dln@nemo" = mkHome [ ./home/dln/nemo.nix ]; "dln@pearl" = mkHome [ ./home/dln/pearl.nix ]; "lsjostro@nemo" = mkHome [ ./home/lsjostro/nemo.nix ]; }; - - nixosConfigurations = { - dinky = mkHost [ ./hosts/dinky ]; - nemo = mkHost [ ./hosts/nemo ]; - pearl = mkHost [ ./hosts/pearl ]; - }; }; } diff --git a/overlays/default.nix b/overlays/default.nix index 1ab8f99..b058a14 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -13,6 +13,10 @@ }; unstable-packages = final: _prev: { + stable = import inputs.nixpkgs-stable { + system = final.system; + config.allowUnfree = true; + }; unstable = import inputs.nixpkgs-unstable { system = final.system; config.allowUnfree = true; From 0e7f1a4e361eb5d195ea9e201f3f1e7f4ca837c1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 18 Oct 2024 15:01:46 +0200 Subject: [PATCH 437/656] ghostty: override nixpkgs with unstable packages --- flake.lock | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.lock b/flake.lock index b2cc97b..951d62d 100644 --- a/flake.lock +++ b/flake.lock @@ -21,7 +21,7 @@ "ghostty": { "inputs": { "nixpkgs-stable": [ - "nixpkgs-stable" + "nixpkgs-unstable" ], "nixpkgs-unstable": [ "nixpkgs-unstable" diff --git a/flake.nix b/flake.nix index 13e0fd9..8d79fd9 100644 --- a/flake.nix +++ b/flake.nix @@ -11,7 +11,7 @@ ghostty = { url = "git+ssh://git@github.com/ghostty-org/ghostty"; inputs = { - nixpkgs-stable.follows = "nixpkgs-stable"; + nixpkgs-stable.follows = "nixpkgs-unstable"; nixpkgs-unstable.follows = "nixpkgs-unstable"; }; }; From 79cbb2462acdec1f672178a3d2abbe3acf5c5121 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 19 Oct 2024 11:06:43 +0200 Subject: [PATCH 438/656] nemo: deploy woodpecker agent --- flake.lock | 64 +++++++++++++++++++-------------------- flake.nix | 14 ++++----- hosts/nemo/default.nix | 5 ++- hosts/nemo/woodpecker.nix | 33 ++++++++++++++++++++ 4 files changed, 76 insertions(+), 40 deletions(-) create mode 100644 hosts/nemo/woodpecker.nix diff --git a/flake.lock b/flake.lock index 951d62d..10384fc 100644 --- a/flake.lock +++ b/flake.lock @@ -21,19 +21,19 @@ "ghostty": { "inputs": { "nixpkgs-stable": [ - "nixpkgs-unstable" + "nixpkgs" ], "nixpkgs-unstable": [ - "nixpkgs-unstable" + "nixpkgs" ], "zig": "zig" }, "locked": { - "lastModified": 1729220096, - "narHash": "sha256-4erPSUsLVTTbdAXAjKfl7FpVxohmDSL0zWfewff7jcc=", + "lastModified": 1729515458, + "narHash": "sha256-AYLxdLukuWXJREYupBiAXRk9PGX1qA7w/5adKMlNpTo=", "ref": "refs/heads/main", - "rev": "913c4b5801b0d3881eabbe93dec5a2c40fefe65f", - "revCount": 7730, + "rev": "c2cbc214d5f6d45cfa171b8ed6ea7a670a5cbdab", + "revCount": 7762, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -60,15 +60,15 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { - "lastModified": 1729174520, - "narHash": "sha256-QxCAdgQdeIOaCiE0Sr23s9lD0+T1b/wuz5pSiGwNrCQ=", + "lastModified": 1729551526, + "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", "owner": "nix-community", "repo": "home-manager", - "rev": "e78cbb20276f09c1802e62d2f77fc93ec32da268", + "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", "type": "github" }, "original": { @@ -77,29 +77,13 @@ "type": "github" } }, - "nixpkgs-stable": { + "nixpkgs": { "locked": { - "lastModified": 1729044727, - "narHash": "sha256-GKJjtPY+SXfLF/yTN7M2cAnQB6RERFKnQhD8UvPSf3M=", + "lastModified": 1729256560, + "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dc2e0028d274394f73653c7c90cc63edbb696be1", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-24.05", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable": { - "locked": { - "lastModified": 1728888510, - "narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c", + "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", "type": "github" }, "original": { @@ -109,13 +93,29 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1729307008, + "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "ghostty": "ghostty", "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" } }, "systems": { diff --git a/flake.nix b/flake.nix index 8d79fd9..3cf27e9 100644 --- a/flake.nix +++ b/flake.nix @@ -2,17 +2,17 @@ description = "NixOS configuration"; inputs = { - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; ghostty = { url = "git+ssh://git@github.com/ghostty-org/ghostty"; inputs = { - nixpkgs-stable.follows = "nixpkgs-unstable"; - nixpkgs-unstable.follows = "nixpkgs-unstable"; + nixpkgs-stable.follows = "nixpkgs"; + nixpkgs-unstable.follows = "nixpkgs"; }; }; ghostty-hm.url = "github:clo4/ghostty-hm-module"; @@ -21,7 +21,7 @@ outputs = inputs@{ self, - nixpkgs-unstable, + nixpkgs, ghostty-hm, home-manager, ... @@ -29,11 +29,11 @@ let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs-unstable.legacyPackages.${system}; + pkgs = nixpkgs.legacyPackages.${system}; mkHost = modules: - nixpkgs-unstable.lib.nixosSystem { + nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 66189a4..ada8496 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -7,7 +7,10 @@ }: { - imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ./woodpecker.nix + ]; boot = { extraModulePackages = with config.boot.kernelPackages; [ diff --git a/hosts/nemo/woodpecker.nix b/hosts/nemo/woodpecker.nix new file mode 100644 index 0000000..8a4e963 --- /dev/null +++ b/hosts/nemo/woodpecker.nix @@ -0,0 +1,33 @@ +{ + config, + pkgs, + ... +}: +{ + services.woodpecker-agents.agents.docker = { + enable = true; + package = pkgs.woodpecker-agent; + environment = { + DOCKER_HOST = "unix:///run/podman/podman.sock"; + WOODPECKER_BACKEND = "docker"; + WOODPECKER_SERVER = "10.1.100.10:8300"; # forgejo-1 + WOODPECKER_MAX_WORKFLOWS = "5"; + WOODPECKER_BACKEND_DOCKER_VOLUMES = "/nix:/mnt/nix:ro"; + }; + environmentFile = [ + "/etc/woodpecker/woodpecker-agent.env" + ]; + extraGroups = [ "podman" ]; + }; + + systemd.services.woodpecker-agent-docker = { + after = [ + "podman.socket" + "woodpecker-server.service" + ]; + # restartIfChanged = false; + serviceConfig = { + BindPaths = [ "/run/podman/podman.sock" ]; + }; + }; +} From 8d7ebd365689f2c68b25a18b845d9d3c6dcf8522 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 15 Oct 2024 18:12:56 +0200 Subject: [PATCH 439/656] dinky: update remote builder config --- hosts/dinky/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index d2e7681..90f6d5a 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -117,22 +117,29 @@ systemd.services."getty@tty1".enable = false; systemd.services."autovt@tty1".enable = false; + nix.settings.trusted-users = [ "dln" ]; nix.buildMachines = [ { hostName = "nemo.aarn.patagia.dev"; sshUser = "nixremote"; + sshKey = "/root/.ssh/id_ed25519"; system = "x86_64-linux"; protocol = "ssh-ng"; maxJobs = 32; speedFactor = 2; - supportedFeatures = [ ]; + supportedFeatures = [ + "nixos-test" + "big-parallel" + "kvm" + ]; mandatoryFeatures = [ ]; } ]; nix.distributedBuilds = true; - nix.extraOptions = '' - builders-use-substitutes = true - ''; + nix.settings.builders-use-substitutes = true; + nix.settings.trusted-substituters = [ + "ssh-ng://nemo.aarn.patagia.dev" + ]; system.stateVersion = "24.05"; # Did you read the comment? } From 5093a4fb1127cb397693b21fac9c26733cbba1df Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 15 Oct 2024 18:12:56 +0200 Subject: [PATCH 440/656] fonts: noto cjk renamed --- common/desktop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/desktop.nix b/common/desktop.nix index cb2ee7b..52cc9d4 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -62,7 +62,7 @@ in monaspace (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) noto-fonts - noto-fonts-cjk + noto-fonts-cjk-sans noto-fonts-color-emoji roboto ubuntu_font_family From d6a3d73411b4747ab4a8df3e47ee5aa9be1fd1d8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 15 Oct 2024 18:12:56 +0200 Subject: [PATCH 441/656] dinky: remove calibre for now --- home/dln/dinky.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index 4742f12..ba0b79e 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -11,7 +11,7 @@ }; }; - home.packages = with pkgs; [ calibre ]; + home.packages = with pkgs; [ ]; programs.gpg.enable = true; services.gpg-agent = { From 4122379694bc5a904bc666348e7427e3cc727b05 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 15 Oct 2024 18:12:56 +0200 Subject: [PATCH 442/656] nix: update --- flake.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/flake.lock b/flake.lock index 10384fc..ef8d639 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1729515458, - "narHash": "sha256-AYLxdLukuWXJREYupBiAXRk9PGX1qA7w/5adKMlNpTo=", + "lastModified": 1729600492, + "narHash": "sha256-lQ1oSHfNRvveB9YEMetEFl6a8Tpb6cQkMtSQKAYBLMQ=", "ref": "refs/heads/main", - "rev": "c2cbc214d5f6d45cfa171b8ed6ea7a670a5cbdab", - "revCount": 7762, + "rev": "5e001fcb64deeee69b92a03a51d05a21b09153bd", + "revCount": 7763, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729256560, - "narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", + "lastModified": 1729413321, + "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", + "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", "type": "github" }, "original": { @@ -95,11 +95,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1729307008, - "narHash": "sha256-QUvb6epgKi9pCu9CttRQW4y5NqJ+snKr1FZpG/x3Wtc=", + "lastModified": 1729449015, + "narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a9b86fc2290b69375c5542b622088eb6eca2a7c3", + "rev": "89172919243df199fe237ba0f776c3e3e3d72367", "type": "github" }, "original": { From 890ac1e91cad423e8d4f3442d389e30f70ac93f1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 23 Oct 2024 09:39:04 +0200 Subject: [PATCH 443/656] Uninstall wezterm --- files/config/fish/config.fish | 6 - files/config/wezterm/wezterm.lua | 316 ------------------------------- files/scripts/wezterm-open-url | 4 - home/common/default.nix | 1 - home/common/wezterm.nix | 11 -- home/dln/desktop.nix | 21 -- 6 files changed, 359 deletions(-) delete mode 100644 files/config/wezterm/wezterm.lua delete mode 100755 files/scripts/wezterm-open-url delete mode 100644 home/common/wezterm.nix diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index f7334c3..e794e56 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -9,12 +9,6 @@ bind \e\[109\;5u execute # C-m in ghostty set fish_greeting set fish_emoji_width 2 -# xdg-open support on ssh remotes -if test -n SSH_TTY; and type -q wezterm-open-url - set -x DE generic - set -x BROWSER wezterm-open-url -end - # Colors set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/files/config/wezterm/wezterm.lua b/files/config/wezterm/wezterm.lua deleted file mode 100644 index c60845e..0000000 --- a/files/config/wezterm/wezterm.lua +++ /dev/null @@ -1,316 +0,0 @@ -local wezterm = require("wezterm") -local mux = wezterm.mux -local act = wezterm.action - -local config = {} - --- ------------------------------------------------------------------------------------ --- Workspace behavior - --- FIXME: use of the local env var here only works with the same UID on all machines -local nvim_args = { "nvim", "--listen", os.getenv("XDG_RUNTIME_DIR") .. "/nvim-persistent.sock" } - -config.exec_domains = { - wezterm.exec_domain("dev", function(cmd) - local wrapped = { "ssh", "-t", "dev" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), - wezterm.exec_domain("nemo", function(cmd) - local wrapped = { "ssh", "-t", "nemo" } - for _, arg in ipairs(cmd.args or { os.getenv("SHELL") }) do - table.insert(wrapped, arg) - end - cmd.args = wrapped - return cmd - end), -} - -local function activate_nvim(window, pane) - wezterm.log_info("nvim") - for _, t in ipairs(window:mux_window():tabs_with_info()) do - for _, p in ipairs(t.tab:panes()) do - if p:get_title() == "nvim" or t.tab:get_title() == "nvim" then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(0), - }), - pane - ) - return - end - end - end - - local nvim_tab, nvim_pane, _ = window:mux_window():spawn_tab({ args = nvim_args }) - window:perform_action(act.MoveTab(0), nvim_pane) - nvim_tab:set_title("nvim") -end - -local function activate_tab(title, index) - return function(window, pane) - wezterm.log_info(title) - for _, t in ipairs(window:mux_window():tabs_with_info()) do - if t.tab:get_title() == title then - window:perform_action( - act.Multiple({ - act.ActivateTab(t.index), - act.MoveTab(index), - }), - pane - ) - return - end - end - local tab, _, _ = window:mux_window():spawn_tab({ - cwd = "~", - }) - tab:set_title(title) - window:perform_action(act.MoveTab(index), pane) - end -end - -wezterm.on("activate-nvim", activate_nvim) -wezterm.on("tab-2", activate_tab("t2", 1)) -wezterm.on("tab-3", activate_tab("t3", 2)) -wezterm.on("tab-4", activate_tab("t4", 3)) -wezterm.on("tab-5", activate_tab("t5", 4)) -wezterm.on("tab-6", activate_tab("t6", 5)) -wezterm.on("tab-7", activate_tab("t7", 6)) -wezterm.on("tab-8", activate_tab("t8", 7)) -wezterm.on("tab-9", activate_tab("t9", 8)) -wezterm.on("tab-10", activate_tab("t10", 9)) - -wezterm.on("user-var-changed", function(window, pane, name, value) - if name == "nvim_activate" then - activate_nvim(window, pane) - end - if name == "open_url" then - local url = string.match(value, "%S+") - local u = wezterm.url.parse(string.match(value, "%S+")) - if u.scheme == "https" or u.scheme == "http" then - wezterm.log_info(url) - wezterm.background_child_process({ "xdg-open", url }) - end - end -end) - --- ------------------------------------------------------------------------------------ --- Appearance - -local function colors_for_appearance(appearance) - if appearance:find("Dark") then - return { - background = "#0d1117", - -- background = "#000000", - foreground = "#b2b2b2", - cursor_bg = "#00d992", - cursor_fg = "#000000", - cursor_border = "#000000", - selection_bg = "#d7d7d7", - selection_fg = "#000000", - ansi = { "#000000", "#ff0035", "#85ff00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#f0f0f0" }, - brights = { "#000000", "#ff8c88", "#baff94", "#ffe090", "#88ccff", "#e38dff", "#97eeff", "#ffffff" }, - } - else - return { - background = "#fefeff", - foreground = "#222222", - cursor_bg = "#aa0000", - cursor_fg = "#ffffff", - cursor_border = "#ffffff", - selection_bg = "#ffe6a4", - selection_fg = "#483600", - ansi = { "#000000", "#9e001d", "#306300", "#deae00", "#00669e", "#7d009e", "#008a9e", "#f7f7f7" }, - brights = { "#000000", "#ff0035", "#509e00", "#ffc900", "#00a7ff", "#cb01ff", "#00e0ff", "#ffffff" }, - } - end -end - -config.colors = colors_for_appearance(wezterm.gui.get_appearance()) - --- ------------------------------------------------------------------------------------ --- Fonts -local berkeley_mono_features = { - -- "calt=1", - -- "dlig=0", - -- "liga", - -- "calt=1", - -- "clig=1", - -- "ss02", -- Clean Zero - "ss03", -- Slashed Zero - -- "ss04", -- Cut Zero -} - --- #[ ## ### #### ################ - -config.font = wezterm.font_with_fallback({ - { - family = "BerkeleyMono Nerd Font", - -- family = "Ubuntu Mono", - -- weight = "Regular", - harfbuzz_features = berkeley_mono_features, - }, - "Noto Sans Mono", - "Noto Color Emoji", -}) - -config.font_rules = { - { - italic = true, - intensity = "Bold", - reverse = false, - font = wezterm.font({ - family = "BerkeleyMono Nerd Font", - -- family = "Monaspace Radon Light", - italic = true, - harfbuzz_features = berkeley_mono_features, - }), - }, -} - -wezterm.on("window-config-reloaded", function(window, pane) - local overrides = window:get_config_overrides() or {} - local dpi = wezterm.gui.screens().active.effective_dpi - - if dpi > 96 then - overrides.font_size = 14 - overrides.freetype_load_target = "Normal" - -- overrides.cell_width = 0.95 - overrides.cell_width = 1.0 - else - overrides.font_size = 18 - overrides.freetype_load_target = "HorizontalLcd" - end - window:set_config_overrides(overrides) -end) - -config.font_size = 14 -config.warn_about_missing_glyphs = false -config.bold_brightens_ansi_colors = false -config.unicode_version = 14 - -config.custom_block_glyphs = false -config.allow_square_glyphs_to_overflow_width = "Always" --- config.use_cap_height_to_scale_fallback_fonts = true - --- Config -config.enable_wayland = true -config.xcursor_theme = "Adwaita" -config.check_for_updates = false - --- UI -config.command_palette_font_size = 13.5 -config.initial_cols = 116 -config.initial_rows = 36 -config.status_update_interval = 100 -config.max_fps = 90 -config.audible_bell = "Disabled" -config.use_resize_increments = true -config.adjust_window_size_when_changing_font_size = false -config.use_resize_increments = true -config.window_decorations = "RESIZE" -config.window_frame = { - border_left_width = "4px", - border_right_width = "4px", - border_bottom_height = "4px", - border_top_height = "4px", - border_left_color = "#000000", - border_right_color = "#000000", - border_bottom_color = "#000000", - border_top_color = "#000000", -} -config.window_padding = { - left = 10, - right = 10, - top = 0, - bottom = 0, -} - --- Hyperlinks -config.hyperlink_rules = wezterm.default_hyperlink_rules() - -table.insert(config.hyperlink_rules, { - regex = [[E(\d+)]], - format = "https://doc.rust-lang.org/error_codes/E$1.html", -}) - --- Tabs -config.enable_tab_bar = false -config.tab_bar_at_bottom = true -config.use_fancy_tab_bar = false -config.show_tab_index_in_tab_bar = true - --- Cursor -config.default_cursor_style = "SteadyBlock" -config.cursor_thickness = "6px" -config.cursor_blink_rate = 700 -config.hide_mouse_cursor_when_typing = false -config.underline_position = -3 -config.underline_thickness = 2 - --- Scrolling -config.enable_scroll_bar = false -config.scrollback_lines = 5000 -config.alternate_buffer_wheel_scroll_speed = 1 - --- Keys -config.disable_default_key_bindings = true -config.keys = { - { key = "c", mods = "ALT|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "ALT|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "c", mods = "CTRL|SHIFT", action = act.CopyTo("ClipboardAndPrimarySelection") }, - { key = "v", mods = "CTRL|SHIFT", action = act.PasteFrom("Clipboard") }, - { key = "0", mods = "CTRL", action = "ResetFontSize" }, - { key = "-", mods = "CTRL", action = "DecreaseFontSize" }, - { key = "=", mods = "CTRL", action = "IncreaseFontSize" }, - { key = "UpArrow", mods = "CTRL", action = act.ScrollToPrompt(-1) }, - { key = "DownArrow", mods = "CTRL", action = act.ScrollToPrompt(1) }, - { key = "UpArrow", mods = "SHIFT", action = act.ScrollByLine(-1) }, - { key = "DownArrow", mods = "SHIFT", action = act.ScrollByLine(1) }, - { key = "PageUp", mods = "SHIFT", action = act.ScrollByPage(-0.5) }, - { key = "PageDown", mods = "SHIFT", action = act.ScrollByPage(0.5) }, - { key = "r", mods = "ALT", action = act.ReloadConfiguration }, - { key = "o", mods = "ALT", action = act.ActivateCommandPalette }, - { key = "RightArrow", mods = "CTRL", action = act.ActivateTabRelative(1) }, - { key = "LeftArrow", mods = "CTRL", action = act.ActivateTabRelative(-1) }, - { key = "Backspace", mods = "ALT", action = act.SwitchWorkspaceRelative(1) }, - { key = "1", mods = "ALT", action = act.EmitEvent("activate-nvim") }, - { key = "2", mods = "ALT", action = act.EmitEvent("tab-2") }, - { key = "3", mods = "ALT", action = act.EmitEvent("tab-3") }, - { key = "4", mods = "ALT", action = act.EmitEvent("tab-4") }, - { key = "5", mods = "ALT", action = act.EmitEvent("tab-5") }, - { key = "6", mods = "ALT", action = act.EmitEvent("tab-6") }, - { key = "7", mods = "ALT", action = act.EmitEvent("tab-7") }, - { key = "8", mods = "ALT", action = act.EmitEvent("tab-8") }, - { key = "9", mods = "ALT", action = act.EmitEvent("tab-9") }, - { key = "0", mods = "ALT", action = act.EmitEvent("tab-10") }, -} - --- Mouse -config.mouse_bindings = { - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(-5), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - mods = "SHIFT", - action = act.ScrollByLine(5), - }, - { - event = { Down = { streak = 1, button = { WheelUp = 1 } } }, - action = act.ScrollByLine(-1), - }, - { - event = { Down = { streak = 1, button = { WheelDown = 1 } } }, - action = act.ScrollByLine(1), - }, -} - -return config diff --git a/files/scripts/wezterm-open-url b/files/scripts/wezterm-open-url deleted file mode 100755 index 8cb656f..0000000 --- a/files/scripts/wezterm-open-url +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -if [[ $1 == http* ]]; then - printf "\033]1337;SetUserVar=open_url=%s\007" "$(echo -n "$1" | base64)" -fi diff --git a/home/common/default.nix b/home/common/default.nix index 2ad0154..0697d99 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -16,7 +16,6 @@ ./utils.nix ./vcs.nix ./web.nix - ./wezterm.nix ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; diff --git a/home/common/wezterm.nix b/home/common/wezterm.nix deleted file mode 100644 index 95238ea..0000000 --- a/home/common/wezterm.nix +++ /dev/null @@ -1,11 +0,0 @@ -{ config, lib, ... }: -{ - config = lib.mkIf config.patagia.desktop.enable { - - programs.wezterm = { - enable = true; - extraConfig = builtins.readFile ./../../files/config/wezterm/wezterm.lua; - }; - - }; -} diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 1de95aa..ae7ded3 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -5,10 +5,6 @@ }; home.packages = with pkgs; [ - # audacity - # bitwig-studio - # helvum - # reaper cameractrls-gtk4 dynamic-wallpaper gimp-with-plugins @@ -49,22 +45,5 @@ terminal = false; type = "Application"; }; - - wezterm-nemo = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = "wezterm start --class=org.wezfurlong.wezterm-nemo --domain=nemo"; - genericName = "wezterm-nemo"; - icon = "org.wezfurlong.wezterm"; - name = "wezterm-nemo"; - settings = { - StartupWMClass = "org.wezfurlong.wezterm-nemo"; - TryExec = "wezterm"; - }; - terminal = false; - type = "Application"; - }; }; } From aa228521fe83c2eefa23e1a65b33227681bcb07b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 6 Oct 2024 23:00:01 +0200 Subject: [PATCH 444/656] nvim: all in on mini.nvim --- files/config/nvim/init.lua | 2 - files/config/nvim/lua/config/autocmds.lua | 16 --- files/config/nvim/lua/config/keymaps.lua | 19 --- files/config/nvim/lua/config/lazy.lua | 60 -------- files/config/nvim/lua/config/options.lua | 36 ----- files/config/nvim/lua/plugins/coding.lua | 69 ---------- files/config/nvim/lua/plugins/colorscheme.lua | 14 -- files/config/nvim/lua/plugins/editor.lua | 100 -------------- files/config/nvim/lua/plugins/extras.lua | 99 ------------- files/config/nvim/lua/plugins/formatting.lua | 15 -- files/config/nvim/lua/plugins/incline.lua | 72 ---------- files/config/nvim/lua/plugins/lsp.lua | 35 ----- files/config/nvim/lua/plugins/treesitter.lua | 41 ------ files/config/nvim/lua/plugins/ui.lua | 130 ------------------ flake.lock | 26 ++-- home/common/default.nix | 2 +- home/common/nvim.nix | 19 --- home/common/nvim/default.nix | 119 ++++++++++++++++ home/common/nvim/init.lua | 93 +++++++++++++ home/common/nvim/lsp.lua | 92 +++++++++++++ home/common/nvim/mini.lua | 130 ++++++++++++++++++ home/common/utils.nix | 2 + 22 files changed, 450 insertions(+), 741 deletions(-) delete mode 100644 files/config/nvim/init.lua delete mode 100644 files/config/nvim/lua/config/autocmds.lua delete mode 100644 files/config/nvim/lua/config/keymaps.lua delete mode 100644 files/config/nvim/lua/config/lazy.lua delete mode 100644 files/config/nvim/lua/config/options.lua delete mode 100644 files/config/nvim/lua/plugins/coding.lua delete mode 100644 files/config/nvim/lua/plugins/colorscheme.lua delete mode 100644 files/config/nvim/lua/plugins/editor.lua delete mode 100644 files/config/nvim/lua/plugins/extras.lua delete mode 100644 files/config/nvim/lua/plugins/formatting.lua delete mode 100644 files/config/nvim/lua/plugins/incline.lua delete mode 100644 files/config/nvim/lua/plugins/lsp.lua delete mode 100644 files/config/nvim/lua/plugins/treesitter.lua delete mode 100644 files/config/nvim/lua/plugins/ui.lua delete mode 100644 home/common/nvim.nix create mode 100644 home/common/nvim/default.nix create mode 100644 home/common/nvim/init.lua create mode 100644 home/common/nvim/lsp.lua create mode 100644 home/common/nvim/mini.lua diff --git a/files/config/nvim/init.lua b/files/config/nvim/init.lua deleted file mode 100644 index 2514f9e..0000000 --- a/files/config/nvim/init.lua +++ /dev/null @@ -1,2 +0,0 @@ --- bootstrap lazy.nvim, LazyVim and your plugins -require("config.lazy") diff --git a/files/config/nvim/lua/config/autocmds.lua b/files/config/nvim/lua/config/autocmds.lua deleted file mode 100644 index b5f7062..0000000 --- a/files/config/nvim/lua/config/autocmds.lua +++ /dev/null @@ -1,16 +0,0 @@ --- Autocmds are automatically loaded on the VeryLazy event --- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua --- Add any additional autocmds here - -local function augroup(name) - return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true }) -end - --- Set comment string for CUE files -vim.api.nvim_create_autocmd("FileType", { - group = augroup("cue"), - pattern = { "cue" }, - callback = function(ev) - vim.bo[ev.buf].commentstring = "// %s" - end, -}) diff --git a/files/config/nvim/lua/config/keymaps.lua b/files/config/nvim/lua/config/keymaps.lua deleted file mode 100644 index 5fc7f2d..0000000 --- a/files/config/nvim/lua/config/keymaps.lua +++ /dev/null @@ -1,19 +0,0 @@ --- Keymaps are automatically loaded on the VeryLazy event --- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua --- Add any additional keymaps here - --- C-/ should be comment instead of lazyterm -vim.keymap.del("n", "<c-/>") -vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) -vim.keymap.set({ "v" }, "<c-/>", "gc", { remap = true }) -vim.keymap.set({ "n" }, "<Leader><c-/>", "gcgc", { remap = true }) -vim.keymap.del({ "n" }, "<c-_>") -vim.keymap.set({ "n" }, "<c-_>", "gcc", { remap = true }) -vim.keymap.set({ "v" }, "<c-_>", "gc", { remap = true }) -vim.keymap.set({ "n" }, "<Leader><c-_>", "gcgc", { remap = true }) - -vim.keymap.set("n", "<Tab>", "<Space>,", { remap = true }) -vim.keymap.set("n", "zz", "zt", { remap = true }) - -vim.keymap.set("n", "[d", ":lua vim.diagnostic.goto_prev { float = false }<Enter>", { remap = true }) -vim.keymap.set("n", "]d", ":lua vim.diagnostic.goto_next { float = false }<Enter>", { remap = true }) diff --git a/files/config/nvim/lua/config/lazy.lua b/files/config/nvim/lua/config/lazy.lua deleted file mode 100644 index 7d70096..0000000 --- a/files/config/nvim/lua/config/lazy.lua +++ /dev/null @@ -1,60 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - -- bootstrap lazy.nvim - -- stylua: ignore - vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) -end -vim.opt.rtp:prepend(vim.env.LAZY or lazypath) - -require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- extras - { import = "lazyvim.plugins.extras.dap.core" }, - { import = "lazyvim.plugins.extras.editor.overseer" }, - { import = "lazyvim.plugins.extras.editor.telescope" }, - { import = "lazyvim.plugins.extras.formatting.prettier" }, - { import = "lazyvim.plugins.extras.lang.go" }, - { import = "lazyvim.plugins.extras.lang.json" }, - { import = "lazyvim.plugins.extras.lang.markdown" }, - { import = "lazyvim.plugins.extras.lang.nix" }, - { import = "lazyvim.plugins.extras.lang.rust" }, - { import = "lazyvim.plugins.extras.lang.toml" }, - { import = "lazyvim.plugins.extras.lang.typescript" }, - { import = "lazyvim.plugins.extras.lang.yaml" }, - { import = "lazyvim.plugins.extras.lsp.none-ls" }, - { import = "lazyvim.plugins.extras.test.core" }, - { import = "lazyvim.plugins.extras.ui.edgy" }, - { import = "lazyvim.plugins.extras.ui.treesitter-context" }, - { import = "lazyvim.plugins.extras.util.gitui" }, - { import = "lazyvim.plugins.extras.util.project" }, - -- plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - }, - checker = { enabled = false }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, -}) diff --git a/files/config/nvim/lua/config/options.lua b/files/config/nvim/lua/config/options.lua deleted file mode 100644 index 75e6b54..0000000 --- a/files/config/nvim/lua/config/options.lua +++ /dev/null @@ -1,36 +0,0 @@ -vim.opt.number = true -vim.opt.relativenumber = false - -vim.g.do_filetype_lua = 1 -vim.g.root_spec = { { ".git", "lua" }, "lsp", "cwd" } - -vim.o.autochdir = true -vim.o.fillchars = "stl: ,stlnc: ,eob:░" -vim.o.list = false -vim.o.scrolloff = 7 -vim.o.splitkeep = "screen" -vim.o.updatetime = 500 -vim.o.timeout = true -vim.o.timeoutlen = 0 - --- additional filetypes -vim.filetype.add({ - extension = { - templ = "templ", - }, -}) - --- AutoCommand OSC7 workaround for tmux --- see https://github.com/neovim/neovim/issues/21771 -vim.api.nvim_create_autocmd("dirchanged", { - pattern = "*", - command = 'call chansend(v:stderr, printf("\\033]7;%s\\033", v:event.cwd))', -}) - --- (No) Statusline - -vim.opt.laststatus = 0 -vim.api.nvim_set_hl(0, "Statusline", { link = "Normal" }) -vim.api.nvim_set_hl(0, "StatuslineNC", { link = "Normal" }) -local line = string.rep("▔", vim.api.nvim_win_get_width(0)) -vim.opt.statusline = "%#WinSeparator#" .. line .. "%*" diff --git a/files/config/nvim/lua/plugins/coding.lua b/files/config/nvim/lua/plugins/coding.lua deleted file mode 100644 index b2af23a..0000000 --- a/files/config/nvim/lua/plugins/coding.lua +++ /dev/null @@ -1,69 +0,0 @@ -return { - - { - "echasnovski/mini.pairs", - enabled = false, - }, - - { - "nvim-cmp", - dependencies = { "hrsh7th/cmp-emoji" }, - opts = function(_, opts) - local cmp = require("cmp") - table.insert(opts.sources, { name = "emoji" }) - - opts.view = { docs = { auto_open = false }, entries = { follow_cursor = true } } - opts.completion = { - autocomplete = false, - } - - local winhighlight = - "Normal:NoiceCmdlinePopupTitle,FloatBorder:NoiceCmdlinePopupBorder,CursorLine:PMenuSel,Search:Search" - - opts.window = { - completion = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), - documentation = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), - preview = cmp.config.window.bordered({ winhighlight = winhighlight, border = "rounded" }), - } - - -- lua sorting = { comparators = { cmp.config.compare.sort_text, -- this needs to be 1st cmp.config.compare.offset, cmp.config.compare.exact, cmp.config.compare.score, cmp.config.compare.kind, cmp.config.compare.length, cmp.config.compare.order, } } - - opts.sorting = { - priority_weight = 2, - comparators = { - cmp.config.compare.exact, - cmp.config.compare.recently_used, - cmp.config.compare.locality, - cmp.config.compare.offset, - -- cmp.config.compare.scopes, - cmp.config.compare.score, - cmp.config.compare.kind, - -- cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - } - - return opts - end, - }, - - { - "Exafunction/codeium.nvim", - opts = { - enable_chat = false, - }, - }, - - { - "monkoose/neocodeium", - event = "VeryLazy", - config = function() - local neocodeium = require("neocodeium") - neocodeium.setup() - vim.keymap.set("i", "<C-j>", neocodeium.accept) - vim.keymap.set("i", "<A-f>", neocodeium.accept) - vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete) - end, - }, -} diff --git a/files/config/nvim/lua/plugins/colorscheme.lua b/files/config/nvim/lua/plugins/colorscheme.lua deleted file mode 100644 index 738a94e..0000000 --- a/files/config/nvim/lua/plugins/colorscheme.lua +++ /dev/null @@ -1,14 +0,0 @@ -return { - { - "https://patagia.dev/patagia/dieter.nvim.git", - lazy = false, - priority = 1000, - }, - - { - "LazyVim/LazyVim", - opts = { - colorscheme = "dieter", - }, - }, -} diff --git a/files/config/nvim/lua/plugins/editor.lua b/files/config/nvim/lua/plugins/editor.lua deleted file mode 100644 index eaf6f32..0000000 --- a/files/config/nvim/lua/plugins/editor.lua +++ /dev/null @@ -1,100 +0,0 @@ -return { - { - "folke/flash.nvim", - enabled = false, - }, - - { - "telescope.nvim", - keys = { - { - "<Leader><Leader>", - function() - local telescope = require("telescope") - local jj_pick_status, jj_res = pcall(telescope.extensions.jj.files, opts) - if jj_pick_status then - return - end - local git_files_status, git_res = pcall(telescope.builtin.git_files, opts) - if not git_files_status then - error("Could not launch jj/git files: \n" .. jj_res .. "\n" .. git_res) - end - end, - desc = "VCS Files", - }, - { - "<C-p>", - "<cmd>Telescope projects<cr>", - desc = "Projects", - }, - }, - opts = function(_, opts) - local actions = require("telescope.actions") - opts.defaults = { - layout_strategy = "horizontal", - layout_config = { - anchor = "top", - horizontal = { - prompt_position = "top", - mirror = false, - preview_width = 0.49, - -- preview_height = 0.5, - }, - width = 0.99, - height = 0.9, - preview_cutoff = 10, - }, - mappings = { - i = { - ["<esc>"] = actions.close, -- <Esc> close popup - ["<C-u>"] = false, -- <C-u> clear prompt - ["<C-w>"] = false, -- <C-u> clear prompt - }, - }, - path_display = { "filename_first" }, - -- previewer = false, - preview = { - -- hide_on_startup = true, - }, - sorting_strategy = "ascending", - winblend = 0, - wrap_results = true, - } - end, - }, - - { "avm99963/vim-jjdescription", lazy = false }, - - { - "zschreur/telescope-jj.nvim", - keys = { - { - "<Leader>jc", - function() - require("telescope").extensions.jj.conflicts() - end, - desc = "jj conflicts", - }, - { - "<Leader>jd", - function() - require("telescope").extensions.jj.diff() - end, - desc = "jj diffs", - }, - { - "<Leader>jf", - function() - require("telescope").extensions.jj.files() - end, - desc = "jj files", - }, - }, - config = function() - LazyVim.on_load("telescope.nvim", function() - local telescope = require("telescope") - telescope.load_extension("jj") - end) - end, - }, -} diff --git a/files/config/nvim/lua/plugins/extras.lua b/files/config/nvim/lua/plugins/extras.lua deleted file mode 100644 index 79d1a52..0000000 --- a/files/config/nvim/lua/plugins/extras.lua +++ /dev/null @@ -1,99 +0,0 @@ -return { - { - "direnv/direnv.vim", - lazy = false, - priority = 900, - config = function() - vim.g.direnv_silent_load = 1 - end, - }, - - { - "nvimtools/none-ls.nvim", - opts = function(_, opts) - local nls = require("null-ls") - opts.root_dir = opts.root_dir - or require("null-ls.utils").root_pattern(".null-ls-root", ".neoconf.json", "Makefile", ".git") - opts.sources = vim.list_extend(opts.sources or {}, { - nls.builtins.formatting.mdformat, - nls.builtins.formatting.stylua, - nls.builtins.formatting.shfmt, - nls.builtins.formatting.buf, - nls.builtins.formatting.buildifier, - nls.builtins.diagnostics.buildifier, - nls.builtins.diagnostics.buf.with({ - args = { "lint", "--disable-symlinks", "--path", "$FILENAME" }, - cwd = function() - local file_dir = vim.fn.expand("%:p:h") .. ";" - local buf_yaml = vim.fn.findfile("buf.yaml", file_dir) - if buf_yaml then - return vim.fn.fnamemodify(buf_yaml, ":h") - end - end, - }), - }) - end, - }, - - { - "nvim-neo-tree/neo-tree.nvim", - opts = { - window = { - width = 30, - position = "right", - }, - }, - }, - - { - "simrat39/rust-tools.nvim", - enabled = false, - }, - - { - "mrcjkb/rustaceanvim", - version = "^4", -- Recommended - ft = { "rust" }, - opts = { - server = { - on_attach = function(_, bufnr) - vim.keymap.set("n", "<leader>cR", function() - vim.cmd.RustLsp("codeAction") - end, { desc = "Code Action", buffer = bufnr }) - vim.keymap.set("n", "<leader>dr", function() - vim.cmd.RustLsp("debuggables") - end, { desc = "Rust debuggables", buffer = bufnr }) - vim.keymap.set("n", "<leader>cD", function() - vim.cmd.RustLsp("externalDocs") - end, { desc = "Rust external documentation", buffer = bufnr }) - end, - }, - - settings = { - -- rust-analyzer language server configuration - ["rust-analyzer"] = { - cargo = { - allFeatures = true, - loadOutDirsFromCheck = true, - runBuildScripts = true, - targetDir = true, - }, - -- Add clippy lints for Rust. - checkOnSave = { - allFeatures = true, - command = "clippy", - extraArgs = { "--no-deps" }, - }, - procMacro = { - enable = true, - ignored = { - ["async-trait"] = { "async_trait" }, - ["napi-derive"] = { "napi" }, - ["async-recursion"] = { "async_recursion" }, - }, - }, - }, - }, - }, - }, -} diff --git a/files/config/nvim/lua/plugins/formatting.lua b/files/config/nvim/lua/plugins/formatting.lua deleted file mode 100644 index f1272ab..0000000 --- a/files/config/nvim/lua/plugins/formatting.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - { - "stevearc/conform.nvim", - opts = { - formatters_by_ft = { - ["cue"] = { { "cue_fmt" } }, - ["html"] = { { "prettierd", "prettier" } }, - ["nix"] = { "nixfmt" }, - ["sass"] = { { "prettierd", "prettier" } }, - ["proto"] = { { "buf" } }, - ["terraform"] = { { "terraform_fmt" } }, - }, - }, - }, -} diff --git a/files/config/nvim/lua/plugins/incline.lua b/files/config/nvim/lua/plugins/incline.lua deleted file mode 100644 index c594785..0000000 --- a/files/config/nvim/lua/plugins/incline.lua +++ /dev/null @@ -1,72 +0,0 @@ -return { - "b0o/incline.nvim", - config = function() - local devicons = require("nvim-web-devicons") - require("incline").setup({ - window = { - margin = { - horizontal = 0, - vertical = 0, - }, - padding = 0, - placement = { - horizontal = "right", - vertical = "bottom", - }, - }, - render = function(props) - local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ":t") - if filename == "" then - filename = "[No Name]" - end - local ft_icon, ft_color = devicons.get_icon_color(filename) - - local function get_git_diff() - local icons = { removed = " ", changed = " ", added = " " } - local signs = vim.b[props.buf].gitsigns_status_dict - local labels = {} - if signs == nil then - return labels - end - for name, icon in pairs(icons) do - if tonumber(signs[name]) and signs[name] > 0 then - table.insert(labels, { icon .. signs[name] .. " ", group = "Diff" .. name }) - end - end - if #labels > 0 then - table.insert(labels, { "│ " }) - end - return labels - end - - local function get_diagnostic_label() - local icons = { error = " ", warn = " ", info = " ", hint = " " } - local label = {} - - for severity, icon in pairs(icons) do - local n = #vim.diagnostic.get( - props.buf, - { severity = vim.diagnostic.severity[string.upper(severity)] } - ) - if n > 0 then - table.insert(label, { icon .. n .. " ", group = "DiagnosticSign" .. severity }) - end - end - if #label > 0 then - table.insert(label, { "│ " }) - end - return label - end - - return { - { " " }, - { get_diagnostic_label() }, - { get_git_diff() }, - { filename, group = "Label" }, - { " " }, - } - end, - }) - end, - event = "VeryLazy", -} diff --git a/files/config/nvim/lua/plugins/lsp.lua b/files/config/nvim/lua/plugins/lsp.lua deleted file mode 100644 index f317693..0000000 --- a/files/config/nvim/lua/plugins/lsp.lua +++ /dev/null @@ -1,35 +0,0 @@ -return { - { - "neovim/nvim-lspconfig", - opts = { - diagnostics = { - virtual_text = false, - }, - inlay_hints = { enabled = false }, - -- codelens = { - -- enabled = true, - -- }, - servers = { - nil_ls = {}, - nixd = {}, - starpls = {}, - yamlls = { - settings = { - yaml = { - schemas = { - -- kubernetes = "*.yaml", - ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*", - ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}", - ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}", - ["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}", - ["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}", - ["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}", - ["https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.29.1/all.json"] = "/*.yaml", - }, - }, - }, - }, - }, - }, - }, -} diff --git a/files/config/nvim/lua/plugins/treesitter.lua b/files/config/nvim/lua/plugins/treesitter.lua deleted file mode 100644 index 0aea1c4..0000000 --- a/files/config/nvim/lua/plugins/treesitter.lua +++ /dev/null @@ -1,41 +0,0 @@ -return { - { - "nvim-treesitter/nvim-treesitter-context", - opts = { - enable = false, - }, - }, - - { - "nvim-treesitter/nvim-treesitter", - opts = function(_, opts) - vim.list_extend(opts.ensure_installed, { - "bash", - "c", - "diff", - "go", - "html", - "javascript", - "jsdoc", - "json", - "jsonc", - "lua", - "luadoc", - "luap", - "markdown", - "markdown_inline", - "python", - "query", - "regex", - "rust", - "toml", - "tsx", - "typescript", - "vim", - "vimdoc", - "xml", - "yaml", - }) - end, - }, -} diff --git a/files/config/nvim/lua/plugins/ui.lua b/files/config/nvim/lua/plugins/ui.lua deleted file mode 100644 index 7645a72..0000000 --- a/files/config/nvim/lua/plugins/ui.lua +++ /dev/null @@ -1,130 +0,0 @@ -return { - { - "nvimdev/dashboard-nvim", - enabled = false, - }, - - { - "dgagn/diagflow.nvim", - -- event = 'LspAttach', This is what I use personnally and it works great - opts = { - scope = "line", - gap_size = 0, - max_width = 50, - max_height = 20, - show_borders = true, - toggle_event = { "InsertEnter", "InsertLeave" }, - }, - }, - - { - "akinsho/bufferline.nvim", - enabled = false, - }, - - { - "echasnovski/mini.indentscope", - enabled = false, - }, - - { - "lukas-reineke/indent-blankline.nvim", - enabled = false, - }, - - { "nvimdev/indentmini.nvim", opts = { char = "│" } }, - - { - "mvllow/modes.nvim", - opts = { - colors = { - copy = "#f5c359", - delete = "#c75c6a", - insert = "#ffcc00", - visual = "#c343fc", - }, - set_cursor = true, - set_cursorline = true, - set_number = true, - }, - }, - - { - "folke/noice.nvim", - event = "VeryLazy", - keys = { - { "<leader>sna", "<cmd>NoiceTelescope<cr>", desc = "Show all messages in Telescope" }, - }, - opts = function() - local enable_conceal = true -- Hide command text if true - return { - presets = { bottom_search = true }, -- The kind of popup used for / - cmdline = { - view = "cmdline", -- The kind of popup used for : - format = { - cmdline = { conceal = enable_conceal }, - search_down = { conceal = enable_conceal }, - search_up = { conceal = enable_conceal }, - filter = { conceal = enable_conceal }, - lua = { conceal = enable_conceal }, - help = { conceal = enable_conceal }, - input = { conceal = enable_conceal }, - }, - }, - - messages = { enabled = true, view = "mini" }, - lsp = { - hover = { enabled = false }, - signature = { enabled = false }, - progress = { enabled = true, view = "cmdline" }, - message = { enabled = false }, - smart_move = { enabled = false }, - }, - } - end, - }, - - { - "rcarriga/nvim-notify", - opts = { - timeout = 1000, - render = "wrapped-compact", - top_down = false, - max_width = function() - return math.floor(vim.o.columns * 0.5) - end, - on_open = function(win) - vim.api.nvim_win_set_config(win, { - focusable = false, - zindex = 100, - }) - end, - }, - }, - - { - "nvim-lualine/lualine.nvim", - enabled = false, - }, - - { - "DrKJeff16/project.nvim", - config = function(_, opts) - if vim.fn.argv()[1] == nil then - require("project_nvim").setup(opts) -- Workaround for project.nvim not setting up - vim.schedule(function() - vim.cmd("Telescope projects") - end) - end - end, - opts = { - exclude_dirs = { - "~/.cargo/*", - "~/.config/*", - "/tmp/*", - }, - manual_mode = false, - patterns = { ".git", ".jj" }, - }, - }, -} diff --git a/flake.lock b/flake.lock index ef8d639..8f07eb6 100644 --- a/flake.lock +++ b/flake.lock @@ -29,11 +29,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1729600492, - "narHash": "sha256-lQ1oSHfNRvveB9YEMetEFl6a8Tpb6cQkMtSQKAYBLMQ=", + "lastModified": 1730776162, + "narHash": "sha256-ODmmTWz3jqaPmJ1UiJgHD3oy90BTEd871GZHyT5Xn9M=", "ref": "refs/heads/main", - "rev": "5e001fcb64deeee69b92a03a51d05a21b09153bd", - "revCount": 7763, + "rev": "f9199a46118f173ac7a005130f871fdf050f94d1", + "revCount": 7881, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -64,11 +64,11 @@ ] }, "locked": { - "lastModified": 1729551526, - "narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", + "lastModified": 1730633670, + "narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", + "rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661", "type": "github" }, "original": { @@ -79,11 +79,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1729413321, - "narHash": "sha256-I4tuhRpZFa6Fu6dcH9Dlo5LlH17peT79vx1y1SpeKt0=", + "lastModified": 1730531603, + "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1997e4aa514312c1af7e2bda7fad1644e778ff26", + "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", "type": "github" }, "original": { @@ -95,11 +95,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1729449015, - "narHash": "sha256-Gf04dXB0n4q0A9G5nTGH3zuMGr6jtJppqdeljxua1fo=", + "lastModified": 1730741070, + "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "89172919243df199fe237ba0f776c3e3e3d72367", + "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", "type": "github" }, "original": { diff --git a/home/common/default.nix b/home/common/default.nix index 0697d99..3a2a686 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -9,7 +9,7 @@ ./gnome.nix ./k8s.nix ./nix.nix - ./nvim.nix + ./nvim ./scripts.nix ./ssh.nix ./tmux.nix diff --git a/home/common/nvim.nix b/home/common/nvim.nix deleted file mode 100644 index 9e65aaf..0000000 --- a/home/common/nvim.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ ... }: -{ - programs.neovim = { - enable = true; - defaultEditor = true; - viAlias = true; - vimAlias = true; - withNodeJs = false; - withPython3 = false; - withRuby = false; - }; - - xdg.configFile = { - "nvim" = { - recursive = true; - source = ./../../files/config/nvim; - }; - }; -} diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix new file mode 100644 index 0000000..0c759b8 --- /dev/null +++ b/home/common/nvim/default.nix @@ -0,0 +1,119 @@ +{ lib, pkgs, ... }: +{ + programs.neovim = { + enable = true; + defaultEditor = true; + viAlias = true; + vimAlias = true; + withNodeJs = false; + withPython3 = false; + withRuby = false; + + extraLuaConfig = lib.fileContents ./init.lua; + extraPackages = with pkgs; [ + black + cue + go + gopls + gotools + lua-language-server + nil + nixd + nodePackages.prettier + nodePackages.typescript + nodePackages.typescript-language-server + nodePackages.bash-language-server + rust-analyzer + shellcheck + shfmt + stylua + tree-sitter + tree-sitter-grammars.tree-sitter-bash + tree-sitter-grammars.tree-sitter-yaml + tree-sitter-grammars.tree-sitter-go + tree-sitter-grammars.tree-sitter-markdown + tree-sitter-grammars.tree-sitter-lua + tree-sitter-grammars.tree-sitter-html + tree-sitter-grammars.tree-sitter-vim + tree-sitter-grammars.tree-sitter-nix + vscode-langservers-extracted + ]; + + + plugins = with pkgs.vimPlugins; [ + go-nvim + rustaceanvim + targets-vim + + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "dieter-nvim"; + src = pkgs.fetchgit { + url = "https://patagia.dev/Patagia/dieter.nvim.git"; + rev = "08fae6ffec4ae70ba6b2e1cafa780ff317ef0b61"; + hash = "sha256-C+Vo2SUVfNMkBwuLWqLoA59Pmy9aFwur7fBpfVkLm6Q="; + }; + }; + type = "lua"; + config = '' + vim.cmd.colorscheme "dieter" + ''; + } + + { + plugin = nvim-treesitter.withAllGrammars; # Treesitter + type = "lua"; + config = '' + require'nvim-treesitter.configs'.setup { + highlight = { enable = true, }, + indent = { enable = true }, + } + ''; + } + + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "nvim-tree-pairs"; # make % match in TS + src = pkgs.fetchFromGitHub { + owner = "yorickpeterse"; + repo = "nvim-tree-pairs"; + rev = "e7f7b6cc28dda6f3fa271ce63b0d371d5b7641da"; + hash = "sha256-fb4EsrWAbm8+dWAhiirCPuR44MEg+KYb9hZOIuEuT24="; + }; + }; + type = "lua"; + config = "require('tree-pairs').setup()"; + } + + { + plugin = nvim-treesitter-textobjects; # helix-style selection of TS tree + type = "lua"; + config = '' + require'nvim-treesitter.configs'.setup { + incremental_selection = { + enable = true, + keymaps = { + init_selection = "<M-o>", + scope_incremental = "<M-O>", + node_incremental = "<M-o>", + node_decremental = "<M-i>", + }, + }, + } + ''; + } + + { + plugin = mini-nvim; + type = "lua"; + config = lib.fileContents ./mini.lua; + } + + { + plugin = nvim-lspconfig; # Interface for LSPs + type = "lua"; + config = lib.fileContents ./lsp.lua; + } + ]; + }; +} diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua new file mode 100644 index 0000000..ba179d8 --- /dev/null +++ b/home/common/nvim/init.lua @@ -0,0 +1,93 @@ +-- vim.g.mapleader = "<space>" +vim.g.maplocalleader = ',' + +-- UI + +vim.opt.cursorline = true +vim.opt.laststatus = 0 +vim.opt.number = true +vim.opt.relativenumber = true +vim.opt.ruler = true +vim.opt.rulerformat = "" -- FIXME: fancify! +vim.opt.rulerformat = "%36(%5l,%-6(%c%V%) %t%)%*" +vim.opt.syntax = "on" +vim.opt.termguicolors = true + +-- Search +vim.opt.ignorecase = true +vim.opt.smartcase = true + +-- Tab completion +-- vim.opt.wildmode="list:longest,full" +vim.opt.wildignore="*.swp,*.o,*.so,*.exe,*.dll" + +-- Whitespaces +vim.opt.breakindent = true +vim.opt.copyindent = true +vim.opt.expandtab = true +vim.opt.softtabstop = 2 +vim.opt.shiftround = true +vim.opt.shiftwidth = 2 +vim.opt.smartindent = true +vim.opt.tabstop = 2 +vim.opt.wrap = false +vim.opt.list = true +vim.opt.listchars="tab:»·,trail:·" + +-- Folds +vim.opt.foldenable = false +vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()" +vim.opt.foldmethod = "expr" +vim.opt.foldexpr = "nvim_treesitter#foldexpr()" + +-- + +vim.o.autochdir = true +vim.o.fillchars = "stl: ,stlnc: ,eob:░,vert:│" +vim.o.list = false +vim.o.scrolloff = 7 +vim.o.splitkeep = "screen" +vim.o.updatetime = 50 +vim.o.timeout = true +vim.o.timeoutlen = 10 +vim.o.icm = "split" +-- vim.o.cia = 'kind,abbr,menu' wait for nightly to drop + +vim.o.showmode = false + + +-- Use rg +vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] +vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } + +vim.fn.sign_define( + "DiagnosticSignError", + { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } +) +vim.fn.sign_define( + "DiagnosticSignWarn", + { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } +) +vim.fn.sign_define( + "DiagnosticSignInfo", + { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } +) +vim.fn.sign_define( + "DiagnosticSignHint", + { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } +) + +-- Make <Tab> work for snippets +vim.keymap.set({ "i", "s" }, "<Tab>", function() + if vim.snippet.active({ direction = 1 }) then + return "<cmd>lua vim.snippet.jump(1)<cr>" + else + return "<Tab>" + end +end, { expr = true }) + +vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) +vim.keymap.set({ "v" }, "<c-/>", "gc", { remap = true }) +vim.keymap.set({ "n" }, "<c-_>", "gcc", { remap = true }) +vim.keymap.set({ "v" }, "<c-_>", "gc", { remap = true }) +vim.keymap.set("n", "zz", "zt", { remap = true }) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua new file mode 100644 index 0000000..852d1f5 --- /dev/null +++ b/home/common/nvim/lsp.lua @@ -0,0 +1,92 @@ +vim.keymap.set("n", "<space>d", vim.diagnostic.setloclist, { desc = "Add buffer diagnostics to the location list." }) + +vim.api.nvim_create_autocmd("LspAttach", { + group = vim.api.nvim_create_augroup("UserLspConfig", {}), + callback = function(ev) + -- Enable completion triggered by <c-x><c-o> + vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" + + -- Buffer local mappings. + -- See `:help vim.lsp.*` for documentation on any of the below functions + local opts = function(str) + return { buffer = ev.buf, desc = str } + end + + local client = vim.lsp.get_client_by_id(ev.data.client_id) + if client.server_capabilities.codeLensProvider then + vim.lsp.codelens.refresh({ bufnr = bufnr }) + end + + vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) + vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {}) + + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Declaration")) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Definition")) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Implementation")) + vim.keymap.set("n", "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) + vim.keymap.set("i", "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) + vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts("Add Workspace Folder")) + vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts("Remove Workspace Folder")) + vim.keymap.set("n", "<space>wl", function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts("List Workspace Folders")) + vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts("Type Definition")) + vim.keymap.set("n", "<space>r", vim.lsp.buf.rename, opts("Rename Symbol")) + vim.keymap.set({ "n", "v" }, "<space>a", vim.lsp.buf.code_action, opts("Code Action")) + vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) + vim.keymap.set("n", "<localleader>f", function() + vim.lsp.buf.format({ async = true }) + end, opts("Format Buffer")) + end, +}) + +local configs = require('lspconfig.configs') +local lspconfig = require("lspconfig") +local capabilities = vim.lsp.protocol.make_client_capabilities() + +local servers = { + 'gopls', + 'nil_ls', + 'ts_ls', +} + +for _, ls in ipairs(servers) do + lspconfig[ls].setup { + capabilities = capabilities, + on_attach = function(_, buf) + vim.api.nvim_set_option_value('omnifunc', 'v:lua.MiniCompletion.completefunc_lsp', {buf = buf}) + end, + } +end + +lspconfig.nixd.setup({ + capabilities = capabilities, + cmd = { "nixd" }, + settings = { + nixd = { + nixpkgs = { expr = "import <nixpkgs> { }" }, + formatting = { command = { "nixfmt" } }, + options = {}, + }, + }, +}) + +lspconfig.lua_ls.setup({ + capabilities = capabilities, + settings = { + Lua = { + runtime = { + version = "LuaJIT", + path = vim.split(package.path, ";"), + }, + diagnostics = { globals = { "vim", "hs" } }, + workspace = { + library = { + [vim.fn.expand("$VIMRUNTIME/lua")] = true, + [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + }, + }, + }, + }, +}) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua new file mode 100644 index 0000000..c7d4689 --- /dev/null +++ b/home/common/nvim/mini.lua @@ -0,0 +1,130 @@ + local opts = function(label) + return {noremap = true, silent = true, desc = label} + end + require('mini.ai').setup() + require('mini.align').setup() + require('mini.bracketed').setup() + require('mini.completion').setup() + require('mini.diff').setup() + require('mini.extra').setup() + require('mini.icons').setup() + require('mini.jump').setup() + -- require('mini.pairs').setup() + -- require('mini.statusline').setup() + require('mini.surround').setup() + require('mini.splitjoin').setup() + + require('mini.files').setup() + local oil_style = function() + if not MiniFiles.close() then + MiniFiles.open(vim.api.nvim_buf_get_name(0)) + MiniFiles.reveal_cwd() + end + end + vim.keymap.set('n', '-', oil_style, opts("File Explorer")); + + local hipatterns = require('mini.hipatterns') + hipatterns.setup({ -- highlight strings and colors + highlighters = { + -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' + fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, + hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, + todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, + note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, + + -- Highlight hex color strings (`#rrggbb`) using that color + hex_color = hipatterns.gen_highlighter.hex_color(), + } + }) + + require('mini.jump2d').setup({ + mappings = { + start_jumping = 'gw' + } + }) + + require('mini.pick').setup({ + mappings = { + move_down = '<tab>' + }, + options = { + use_cache = true + } + }) + MiniPick.registry.files_root = function(local_opts) + local root_patterns = { ".jj", ".git" } + local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) + local opts = { source = { cwd = root_dir, tool = "ripgrep"} } + local_opts.cwd = root_dir + local_opts.tool = "rg" + return MiniPick.builtin.files(local_opts, opts) + end + MiniPick.registry.grep_live_root = function(local_opts) + local root_patterns = { ".jj", ".git" } + local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) + local opts = { source = { cwd = root_dir } } + local_opts.cwd = root_dir + return MiniPick.builtin.grep_live(local_opts, opts) + end + vim.keymap.set('n', '<space>/', "<cmd>Pick grep_live_root<cr>", opts("Live Grep")) + vim.keymap.set('n', '<space>F', "<cmd>Pick files<cr>", opts("Find Files in CWD")) + vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find Files")) + vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent Files")) + vim.keymap.set('n', '<space>b', "<cmd>Pick buffers<cr>", opts("Buffers")) + vim.keymap.set('n', '<space>d', "<cmd>Pick diagnostics<cr>", opts("Diagnostics")) + vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) + vim.keymap.set('n', "<space>'", "<cmd>Pick resume<cr>", opts("Last Picker")) + vim.keymap.set('n', "<space>g", "<cmd>Pick git_commits<cr>", opts("Git Commits")) + + + local miniclue = require('mini.clue') + miniclue.setup({ -- cute prompts about bindings + triggers = { + { mode = 'n', keys = '<Leader>' }, + { mode = 'x', keys = '<Leader>' }, + { mode = 'n', keys = '<space>' }, + { mode = 'x', keys = '<space>' }, + + -- Built-in completion + { mode = 'i', keys = '<C-x>' }, + + -- `g` key + { mode = 'n', keys = 'g' }, + { mode = 'x', keys = 'g' }, + + -- Marks + { mode = 'n', keys = "'" }, + { mode = 'n', keys = '`' }, + { mode = 'x', keys = "'" }, + { mode = 'x', keys = '`' }, + + -- Registers + { mode = 'n', keys = '"' }, + { mode = 'x', keys = '"' }, + { mode = 'i', keys = '<C-r>' }, + { mode = 'c', keys = '<C-r>' }, + + -- Window commands + { mode = 'n', keys = '<C-w>' }, + + -- `z` key + { mode = 'n', keys = 'z' }, + { mode = 'x', keys = 'z' }, + + -- Bracketed + { mode = 'n', keys = '[' }, + { mode = 'n', keys = ']' }, + }, + clues = { + miniclue.gen_clues.builtin_completion(), + miniclue.gen_clues.g(), + miniclue.gen_clues.marks(), + miniclue.gen_clues.registers(), + miniclue.gen_clues.windows(), + miniclue.gen_clues.z(), + }, + window = { + delay = 15, + } + }) + diff --git a/home/common/utils.nix b/home/common/utils.nix index 7d5fd93..0a608da 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -55,6 +55,8 @@ arguments = [ "--glob=!.git/*" "--glob=!.jj/*" + "--glob=!result/*" + "--glob=!target/*" ]; }; From 93f6d76c7634491c3216d60a50dd43559d4ca7a9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 445/656] nvim: use <leader>cf for code formatting --- home/common/nvim/lsp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 852d1f5..096b556 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -35,7 +35,7 @@ vim.api.nvim_create_autocmd("LspAttach", { vim.keymap.set("n", "<space>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set({ "n", "v" }, "<space>a", vim.lsp.buf.code_action, opts("Code Action")) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) - vim.keymap.set("n", "<localleader>f", function() + vim.keymap.set("n", "<space>cf", function() vim.lsp.buf.format({ async = true }) end, opts("Format Buffer")) end, From 8b8a7cf04b3478c24cdc3ff4b0f0d1712b44ba72 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 446/656] nvim: cleanup --- home/common/nvim/mini.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index c7d4689..960c660 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -9,8 +9,6 @@ require('mini.extra').setup() require('mini.icons').setup() require('mini.jump').setup() - -- require('mini.pairs').setup() - -- require('mini.statusline').setup() require('mini.surround').setup() require('mini.splitjoin').setup() From 4f8865c8acd837e1bb97c4eefbf72f51019e0f8f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:40:41 +0100 Subject: [PATCH 447/656] nvim: fancy ruler with diagnostics --- home/common/nvim/default.nix | 1 + home/common/nvim/init.lua | 50 +++++++++++++++++++++++------------- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 0c759b8..f8e4cb1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -10,6 +10,7 @@ withRuby = false; extraLuaConfig = lib.fileContents ./init.lua; + extraPackages = with pkgs; [ black cue diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index ba179d8..d91ad1f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,18 +8,32 @@ vim.opt.laststatus = 0 vim.opt.number = true vim.opt.relativenumber = true vim.opt.ruler = true -vim.opt.rulerformat = "" -- FIXME: fancify! -vim.opt.rulerformat = "%36(%5l,%-6(%c%V%) %t%)%*" vim.opt.syntax = "on" vim.opt.termguicolors = true +-- Ruler +function GetIndicators() + local bufnr = vim.api.nvim_get_current_buf() + local counts = vim.diagnostic.count(bufnr) + local errors = counts[vim.diagnostic.severity.ERROR] or 0 + local warnings = counts[vim.diagnostic.severity.WARN] or 0 + local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " + local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " + return warn_string .. error_string +end +function GetRulerIcon() + local icon = vim.bo.modified and "" or "" + return "%#CustomRulerSeparator#%#CustomRulerIcon#" .. icon .. " " +end +vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" + -- Search vim.opt.ignorecase = true vim.opt.smartcase = true -- Tab completion -- vim.opt.wildmode="list:longest,full" -vim.opt.wildignore="*.swp,*.o,*.so,*.exe,*.dll" +vim.opt.wildignore = '*.swp,*.o,*.so,*.exe,*.dll' -- Whitespaces vim.opt.breakindent = true @@ -32,14 +46,14 @@ vim.opt.smartindent = true vim.opt.tabstop = 2 vim.opt.wrap = false vim.opt.list = true -vim.opt.listchars="tab:»·,trail:·" +im.opt.listchars = "tab:»·,trail:·" -- Folds vim.opt.foldenable = false vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()" vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" - +qqq -- vim.o.autochdir = true @@ -61,29 +75,29 @@ vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follo vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } vim.fn.sign_define( - "DiagnosticSignError", - { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } + "DiagnosticSignError", + { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } ) vim.fn.sign_define( - "DiagnosticSignWarn", - { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } + "DiagnosticSignWarn", + { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } ) vim.fn.sign_define( - "DiagnosticSignInfo", - { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } + "DiagnosticSignInfo", + { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } ) vim.fn.sign_define( - "DiagnosticSignHint", - { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } + "DiagnosticSignHint", + { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } ) -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() - if vim.snippet.active({ direction = 1 }) then - return "<cmd>lua vim.snippet.jump(1)<cr>" - else - return "<Tab>" - end + if vim.snippet.active({ direction = 1 }) then + return "<cmd>lua vim.snippet.jump(1)<cr>" + else + return "<Tab>" + end end, { expr = true }) vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) From 2f0f291167f89299ba29c2e49b72e796d3b83c2d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 00:49:36 +0100 Subject: [PATCH 448/656] cleanup --- home/common/nvim/init.lua | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index d91ad1f..4f01f68 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -1,5 +1,5 @@ --- vim.g.mapleader = "<space>" -vim.g.maplocalleader = ',' +vim.g.mapleader = "<space>" +vim.g.maplocalleader = "," -- UI @@ -21,10 +21,6 @@ function GetIndicators() local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " return warn_string .. error_string end -function GetRulerIcon() - local icon = vim.bo.modified and "" or "" - return "%#CustomRulerSeparator#%#CustomRulerIcon#" .. icon .. " " -end vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" -- Search @@ -46,14 +42,13 @@ vim.opt.smartindent = true vim.opt.tabstop = 2 vim.opt.wrap = false vim.opt.list = true -im.opt.listchars = "tab:»·,trail:·" +vim.opt.listchars = "tab:»·,trail:·" -- Folds vim.opt.foldenable = false vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()" vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -qqq -- vim.o.autochdir = true From ab8ee834e9b7e9ef591ad71b16d4fc38237ae78b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 01:00:29 +0100 Subject: [PATCH 449/656] nvim: add diagflow plugin --- home/common/nvim/default.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f8e4cb1..9f1679a 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -46,6 +46,29 @@ rustaceanvim targets-vim + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "diagflow"; + src = pkgs.fetchFromGitHub { + owner = "dgagn"; + repo = "diagflow.nvim"; + rev = "fc09d55d2e60edc8ed8f9939ba97b7b7e6488c99"; + hash = "sha256-2WNuaIEXcAgUl2Kb/cCHEOrtehw9alaoM96qb4MLArw="; + }; + }; + type = "lua"; + config = '' + require('diagflow').setup { + scope = "line", + gap_size = 0, + max_width = 50, + max_height = 20, + show_borders = true, + toggle_event = { "InsertEnter", "InsertLeave" }, + } + ''; + } + { plugin = pkgs.vimUtils.buildVimPlugin { name = "dieter-nvim"; From f3d1d92840113a1dbb7eacef08893c1983a27b73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 19:28:46 +0100 Subject: [PATCH 450/656] nvim: add bufremove --- home/common/nvim/mini.lua | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 960c660..02b594b 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -12,6 +12,11 @@ require('mini.surround').setup() require('mini.splitjoin').setup() + -- require('mini.bufremove').setup() + local bufremove = require('mini.bufremove') + bufremove.setup() + vim.keymap.set('n', '<space>bd', bufremove.delete, opts("Delete")) + require('mini.files').setup() local oil_style = function() if not MiniFiles.close() then @@ -65,10 +70,10 @@ return MiniPick.builtin.grep_live(local_opts, opts) end vim.keymap.set('n', '<space>/', "<cmd>Pick grep_live_root<cr>", opts("Live Grep")) - vim.keymap.set('n', '<space>F', "<cmd>Pick files<cr>", opts("Find Files in CWD")) - vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find Files")) - vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent Files")) - vim.keymap.set('n', '<space>b', "<cmd>Pick buffers<cr>", opts("Buffers")) + vim.keymap.set('n', '<space>F', "<cmd>Pick files<cr>", opts("Find in CWD")) + vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find")) + vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent")) + vim.keymap.set('n', '<space>bb', "<cmd>Pick buffers<cr>", opts("Switch")) vim.keymap.set('n', '<space>d', "<cmd>Pick diagnostics<cr>", opts("Diagnostics")) vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set('n', "<space>'", "<cmd>Pick resume<cr>", opts("Last Picker")) From cdeb64a7e4a0d437830739d01cc871a0f4dab555 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 6 Nov 2024 20:43:59 +0100 Subject: [PATCH 451/656] nvim: mini + tree-sitter setup --- home/common/nvim/default.nix | 46 ++++++- home/common/nvim/mini.lua | 257 +++++++++++++++++++---------------- 2 files changed, 181 insertions(+), 122 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 9f1679a..3f61773 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -25,18 +25,39 @@ nodePackages.typescript-language-server nodePackages.bash-language-server rust-analyzer + rustfmt shellcheck shfmt stylua tree-sitter tree-sitter-grammars.tree-sitter-bash - tree-sitter-grammars.tree-sitter-yaml + tree-sitter-grammars.tree-sitter-c + tree-sitter-grammars.tree-sitter-comment + tree-sitter-grammars.tree-sitter-css + tree-sitter-grammars.tree-sitter-cue + tree-sitter-grammars.tree-sitter-fish + tree-sitter-grammars.tree-sitter-gdscript tree-sitter-grammars.tree-sitter-go - tree-sitter-grammars.tree-sitter-markdown - tree-sitter-grammars.tree-sitter-lua + tree-sitter-grammars.tree-sitter-gomod + tree-sitter-grammars.tree-sitter-hcl tree-sitter-grammars.tree-sitter-html - tree-sitter-grammars.tree-sitter-vim + tree-sitter-grammars.tree-sitter-javascript + tree-sitter-grammars.tree-sitter-json + tree-sitter-grammars.tree-sitter-lua + tree-sitter-grammars.tree-sitter-markdown tree-sitter-grammars.tree-sitter-nix + tree-sitter-grammars.tree-sitter-proto + tree-sitter-grammars.tree-sitter-rego + tree-sitter-grammars.tree-sitter-rust + tree-sitter-grammars.tree-sitter-scss + tree-sitter-grammars.tree-sitter-sql + tree-sitter-grammars.tree-sitter-svelte + tree-sitter-grammars.tree-sitter-toml + tree-sitter-grammars.tree-sitter-tsx + tree-sitter-grammars.tree-sitter-typescript + tree-sitter-grammars.tree-sitter-vim + tree-sitter-grammars.tree-sitter-yaml + tree-sitter-grammars.tree-sitter-zig vscode-langservers-extracted ]; @@ -45,6 +66,7 @@ go-nvim rustaceanvim targets-vim + ts-comments-nvim { plugin = pkgs.vimUtils.buildVimPlugin { @@ -85,12 +107,26 @@ } { - plugin = nvim-treesitter.withAllGrammars; # Treesitter + plugin = nvim-treesitter-context; + type = "lua"; + config = '' + vim.keymap.set('n', '<space>ut', "<cmd>TSContextToggle<cr>", {noremap = true, silent = true, desc = "TS Context"}) + ''; + } + + { + plugin = nvim-treesitter.withAllGrammars; type = "lua"; config = '' require'nvim-treesitter.configs'.setup { highlight = { enable = true, }, indent = { enable = true }, + textobjects = { + select = { + enable = true, + lookahead = true, + }, + }, } ''; } diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 02b594b..379794f 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -1,133 +1,156 @@ - local opts = function(label) - return {noremap = true, silent = true, desc = label} - end - require('mini.ai').setup() - require('mini.align').setup() - require('mini.bracketed').setup() - require('mini.completion').setup() - require('mini.diff').setup() - require('mini.extra').setup() - require('mini.icons').setup() - require('mini.jump').setup() - require('mini.surround').setup() - require('mini.splitjoin').setup() +local opts = function(label) + return { noremap = true, silent = true, desc = label } +end +require('mini.ai').setup() +require('mini.align').setup() +require('mini.bracketed').setup() +require('mini.comment').setup() +require('mini.completion').setup() +require('mini.diff').setup() +require('mini.extra').setup() +require('mini.icons').setup() +require('mini.jump').setup() +require('mini.surround').setup() +require('mini.splitjoin').setup() +require('mini.trailspace').setup() - -- require('mini.bufremove').setup() - local bufremove = require('mini.bufremove') - bufremove.setup() - vim.keymap.set('n', '<space>bd', bufremove.delete, opts("Delete")) +local bufremove = require('mini.bufremove') +bufremove.setup() +vim.keymap.set('n', '<space>bd', bufremove.delete, opts("Delete")) - require('mini.files').setup() - local oil_style = function() - if not MiniFiles.close() then - MiniFiles.open(vim.api.nvim_buf_get_name(0)) - MiniFiles.reveal_cwd() - end - end - vim.keymap.set('n', '-', oil_style, opts("File Explorer")); +require('mini.cursorword').setup({ + delay = 800 +}) - local hipatterns = require('mini.hipatterns') - hipatterns.setup({ -- highlight strings and colors - highlighters = { - -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' - fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, - hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, - todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, - note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, +local hipatterns = require('mini.hipatterns') +hipatterns.setup({ -- highlight strings and colors + highlighters = { + -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' + fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, + hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, + todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, + note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, - -- Highlight hex color strings (`#rrggbb`) using that color - hex_color = hipatterns.gen_highlighter.hex_color(), - } - }) + -- Highlight hex color strings (`#rrggbb`) using that color + hex_color = hipatterns.gen_highlighter.hex_color(), + } +}) - require('mini.jump2d').setup({ - mappings = { - start_jumping = 'gw' - } - }) +local indentscope = require('mini.indentscope') +indentscope.setup({ + draw = { + delay = 10, + animation = indentscope.gen_animation.none(), + }, + symbol = '│', +}) - require('mini.pick').setup({ - mappings = { - move_down = '<tab>' - }, - options = { - use_cache = true - } - }) - MiniPick.registry.files_root = function(local_opts) - local root_patterns = { ".jj", ".git" } - local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) - local opts = { source = { cwd = root_dir, tool = "ripgrep"} } - local_opts.cwd = root_dir - local_opts.tool = "rg" - return MiniPick.builtin.files(local_opts, opts) - end - MiniPick.registry.grep_live_root = function(local_opts) - local root_patterns = { ".jj", ".git" } - local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) - local opts = { source = { cwd = root_dir } } - local_opts.cwd = root_dir - return MiniPick.builtin.grep_live(local_opts, opts) - end - vim.keymap.set('n', '<space>/', "<cmd>Pick grep_live_root<cr>", opts("Live Grep")) - vim.keymap.set('n', '<space>F', "<cmd>Pick files<cr>", opts("Find in CWD")) - vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find")) - vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent")) - vim.keymap.set('n', '<space>bb', "<cmd>Pick buffers<cr>", opts("Switch")) - vim.keymap.set('n', '<space>d', "<cmd>Pick diagnostics<cr>", opts("Diagnostics")) - vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) - vim.keymap.set('n', "<space>'", "<cmd>Pick resume<cr>", opts("Last Picker")) - vim.keymap.set('n', "<space>g", "<cmd>Pick git_commits<cr>", opts("Git Commits")) +require('mini.jump2d').setup({ + mappings = { + start_jumping = 'gw' + } +}) + +require('mini.pick').setup({ + mappings = { + move_down = '<tab>' + }, + options = { + use_cache = true + } +}) +MiniPick.registry.files_root = function(local_opts) + local root_patterns = { ".jj", ".git" } + local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) + local_opts.cwd = root_dir + local_opts.tool = "rg" + return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "ripgrep" } }) +end +MiniPick.registry.grep_live_root = function(local_opts) + local root_patterns = { ".jj", ".git" } + local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) + local_opts.cwd = root_dir + return MiniPick.builtin.grep_live(local_opts, { source = { cwd = root_dir } }) +end +vim.keymap.set('n', '<space>/', "<cmd>Pick grep_live_root<cr>", opts("Live Grep")) +vim.keymap.set('n', '<space>fF', "<cmd>Pick files<cr>", opts("FindCWD")) +vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find")) +vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent")) +vim.keymap.set('n', '<space>bb', "<cmd>Pick buffers<cr>", opts("Switch")) +vim.keymap.set('n', '<space>d', "<cmd>Pick diagnostics<cr>", opts("Diagnostics")) +vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) - local miniclue = require('mini.clue') - miniclue.setup({ -- cute prompts about bindings - triggers = { - { mode = 'n', keys = '<Leader>' }, - { mode = 'x', keys = '<Leader>' }, - { mode = 'n', keys = '<space>' }, - { mode = 'x', keys = '<space>' }, +local miniclue = require('mini.clue') +miniclue.setup({ -- cute prompts about bindings + triggers = { + { mode = 'n', keys = '<Leader>' }, + { mode = 'x', keys = '<Leader>' }, + { mode = 'n', keys = '<space>' }, + { mode = 'x', keys = '<space>' }, - -- Built-in completion - { mode = 'i', keys = '<C-x>' }, + -- Built-in completion + { mode = 'i', keys = '<C-x>' }, - -- `g` key - { mode = 'n', keys = 'g' }, - { mode = 'x', keys = 'g' }, + -- `g` key + { mode = 'n', keys = 'g' }, + { mode = 'x', keys = 'g' }, - -- Marks - { mode = 'n', keys = "'" }, - { mode = 'n', keys = '`' }, - { mode = 'x', keys = "'" }, - { mode = 'x', keys = '`' }, + -- Marks + { mode = 'n', keys = "'" }, + { mode = 'n', keys = '`' }, + { mode = 'x', keys = "'" }, + { mode = 'x', keys = '`' }, - -- Registers - { mode = 'n', keys = '"' }, - { mode = 'x', keys = '"' }, - { mode = 'i', keys = '<C-r>' }, - { mode = 'c', keys = '<C-r>' }, + -- Registers + { mode = 'n', keys = '"' }, + { mode = 'x', keys = '"' }, + { mode = 'i', keys = '<C-r>' }, + { mode = 'c', keys = '<C-r>' }, - -- Window commands - { mode = 'n', keys = '<C-w>' }, + -- Window commands + { mode = 'n', keys = '<C-w>' }, - -- `z` key - { mode = 'n', keys = 'z' }, - { mode = 'x', keys = 'z' }, + -- `z` key + { mode = 'n', keys = 'z' }, + { mode = 'x', keys = 'z' }, - -- Bracketed - { mode = 'n', keys = '[' }, - { mode = 'n', keys = ']' }, - }, - clues = { - miniclue.gen_clues.builtin_completion(), - miniclue.gen_clues.g(), - miniclue.gen_clues.marks(), - miniclue.gen_clues.registers(), - miniclue.gen_clues.windows(), - miniclue.gen_clues.z(), - }, - window = { - delay = 15, - } - }) + -- Bracketed + { mode = 'n', keys = '[' }, + { mode = 'n', keys = ']' }, + }, + clues = { + miniclue.gen_clues.builtin_completion(), + miniclue.gen_clues.g(), + miniclue.gen_clues.marks(), + miniclue.gen_clues.registers(), + miniclue.gen_clues.windows(), + miniclue.gen_clues.z(), + }, + window = { + delay = 15, + } +}) +local notify_win_config = function() + local has_statusline = vim.o.laststatus > 0 + local pad = vim.o.cmdheight + (has_statusline and 1 or 0) + return { anchor = 'SE', border = 'rounded', col = vim.o.columns, row = vim.o.lines - pad } +end +require('mini.notify').setup({ + window = { + config = notify_win_config, + winblend = 0, + }, +}) + +require('mini.starter').setup({ + header = + [[ ______ _ +(_____ \ _ (_) + _____) )___| |_ ____ ____ _ ____ +| ____/ _ | _)/ _ |/ _ | |/ _ | +| | ( ( | | |_( ( | ( ( | | ( ( | | +|_| \_||_|\___)_||_|\_|| |_|\_||_| + (_____|]] +}) From f4aa6d3cdaf6095265a88829a6e7e51df8baa5c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 01:11:48 +0100 Subject: [PATCH 452/656] nvim: use neovim-nightly --- flake.lock | 233 ++++++++++++++++++++++++++++++++--- flake.nix | 1 + home/common/nvim/default.nix | 27 ++-- home/common/nvim/init.lua | 2 +- overlays/default.nix | 1 - 5 files changed, 235 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 8f07eb6..6b69def 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,79 @@ { "nodes": { + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "neovim-nightly-overlay", + "hercules-ci-effects", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1712014858, + "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "type": "github" + }, + "original": { + "id": "flake-parts", + "type": "indirect" + } + }, "flake-utils": { "inputs": { "systems": "systems" @@ -29,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1730776162, - "narHash": "sha256-ODmmTWz3jqaPmJ1UiJgHD3oy90BTEd871GZHyT5Xn9M=", + "lastModified": 1730931741, + "narHash": "sha256-UMqGcC+14MCiTdyMrUrVX/4wJvOBXhCNdR/bt6mTank=", "ref": "refs/heads/main", - "rev": "f9199a46118f173ac7a005130f871fdf050f94d1", - "revCount": 7881, + "rev": "444cf3b402f658f33b76a05b9e43dfc2df89f892", + "revCount": 7904, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -57,6 +131,77 @@ "type": "github" } }, + "git-hooks": { + "inputs": { + "flake-compat": "flake-compat_2", + "gitignore": "gitignore", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ], + "nixpkgs-stable": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730814269, + "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", + "owner": "cachix", + "repo": "git-hooks.nix", + "rev": "d70155fdc00df4628446352fc58adc640cd705c2", + "type": "github" + }, + "original": { + "owner": "cachix", + "repo": "git-hooks.nix", + "type": "github" + } + }, + "gitignore": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "git-hooks", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, + "hercules-ci-effects": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730903510, + "narHash": "sha256-mnynlrPeiW0nUQ8KGZHb3WyxAxA3Ye/BH8gMjdoKP6E=", + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "rev": "b89ac4d66d618b915b1f0a408e2775fe3821d141", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "hercules-ci-effects", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -64,11 +209,11 @@ ] }, "locked": { - "lastModified": 1730633670, - "narHash": "sha256-ZFJqIXpvVKvzOVFKWNRDyIyAo+GYdmEPaYi1bZB6uf0=", + "lastModified": 1730837930, + "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", "owner": "nix-community", "repo": "home-manager", - "rev": "8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661", + "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", "type": "github" }, "original": { @@ -77,18 +222,57 @@ "type": "github" } }, - "nixpkgs": { + "neovim-nightly-overlay": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "git-hooks": "git-hooks", + "hercules-ci-effects": "hercules-ci-effects", + "neovim-src": "neovim-src", + "nixpkgs": "nixpkgs" + }, "locked": { - "lastModified": 1730531603, - "narHash": "sha256-Dqg6si5CqIzm87sp57j5nTaeBbWhHFaVyG7V6L8k3lY=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "7ffd9ae656aec493492b44d0ddfb28e79a1ea25d", + "lastModified": 1730914682, + "narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "rev": "59630b2edb91b71ac0a60b865aaa91cd39946577", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "nix-community", + "repo": "neovim-nightly-overlay", + "type": "github" + } + }, + "neovim-src": { + "flake": false, + "locked": { + "lastModified": 1730893053, + "narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=", + "owner": "neovim", + "repo": "neovim", + "rev": "f7e32fb6e626ab198bf401765236783890f3a0d6", + "type": "github" + }, + "original": { + "owner": "neovim", + "repo": "neovim", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1730831018, + "narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", "repo": "nixpkgs", "type": "github" } @@ -109,12 +293,29 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1730785428, + "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "ghostty": "ghostty", "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", - "nixpkgs": "nixpkgs", + "neovim-nightly-overlay": "neovim-nightly-overlay", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable" } }, diff --git a/flake.nix b/flake.nix index 3cf27e9..236418f 100644 --- a/flake.nix +++ b/flake.nix @@ -2,6 +2,7 @@ description = "NixOS configuration"; inputs = { + neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 3f61773..7dac9e1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -1,13 +1,19 @@ -{ lib, pkgs, ... }: +{ + inputs, + lib, + pkgs, + ... +}: { programs.neovim = { - enable = true; + enable = true; + package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default; defaultEditor = true; - viAlias = true; - vimAlias = true; - withNodeJs = false; - withPython3 = false; - withRuby = false; + viAlias = true; + vimAlias = true; + withNodeJs = false; + withPython3 = false; + withRuby = false; extraLuaConfig = lib.fileContents ./init.lua; @@ -21,9 +27,9 @@ nil nixd nodePackages.prettier - nodePackages.typescript + nodePackages.typescript nodePackages.typescript-language-server - nodePackages.bash-language-server + nodePackages.bash-language-server rust-analyzer rustfmt shellcheck @@ -61,11 +67,10 @@ vscode-langservers-extracted ]; - plugins = with pkgs.vimPlugins; [ go-nvim rustaceanvim - targets-vim + targets-vim ts-comments-nvim { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 4f01f68..b9372e9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -60,7 +60,7 @@ vim.o.updatetime = 50 vim.o.timeout = true vim.o.timeoutlen = 10 vim.o.icm = "split" --- vim.o.cia = 'kind,abbr,menu' wait for nightly to drop +vim.o.cia = 'kind,abbr,menu' vim.o.showmode = false diff --git a/overlays/default.nix b/overlays/default.nix index b058a14..5b1e25a 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -9,7 +9,6 @@ gnome-keyring = prev.gnome-keyring.overrideAttrs (oldAttrs: { configureFlags = oldAttrs.configureFlags or [ ] ++ [ "--disable-ssh-agent" ]; }); - }; unstable-packages = final: _prev: { From 01b97bf22c53658cf8965609b49d6c22b762f9bc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 01:20:00 +0100 Subject: [PATCH 453/656] nix: add cachix community cache --- flake.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/flake.nix b/flake.nix index 236418f..b026f57 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,18 @@ { description = "NixOS configuration"; + nixConfig = { + substituters = [ + "https://cache.nixos.org/" + ]; + extra-substituters = [ + "https://nix-community.cachix.org" + ]; + extra-trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; + }; + inputs = { neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; From 9bc0226264fb363b6202fc6535845ff1bdd689c0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 10:00:26 +0100 Subject: [PATCH 454/656] nvim: cleanup --- home/common/nvim/mini.lua | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 379794f..f448647 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -23,15 +23,13 @@ require('mini.cursorword').setup({ }) local hipatterns = require('mini.hipatterns') -hipatterns.setup({ -- highlight strings and colors +hipatterns.setup({ highlighters = { -- Highlight standalone 'FIXME', 'HACK', 'TODO', 'NOTE' fixme = { pattern = '%f[%w]()FIXME()%f[%W]', group = 'MiniHipatternsFixme' }, hack = { pattern = '%f[%w]()HACK()%f[%W]', group = 'MiniHipatternsHack' }, todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, note = { pattern = '%f[%w]()NOTE()%f[%W]', group = 'MiniHipatternsNote' }, - - -- Highlight hex color strings (`#rrggbb`) using that color hex_color = hipatterns.gen_highlighter.hex_color(), } }) @@ -46,18 +44,12 @@ indentscope.setup({ }) require('mini.jump2d').setup({ - mappings = { - start_jumping = 'gw' - } + mappings = { start_jumping = 'gw' } }) require('mini.pick').setup({ - mappings = { - move_down = '<tab>' - }, - options = { - use_cache = true - } + mappings = { move_down = '<tab>' }, + options = { use_cache = true } }) MiniPick.registry.files_root = function(local_opts) local root_patterns = { ".jj", ".git" } From 6615366df7340d293a3efc23119ba89d5b3af00c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 10:00:26 +0100 Subject: [PATCH 455/656] nix: add cachix --- common/nix.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/common/nix.nix b/common/nix.nix index f5b4c2f..1d2bde9 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -24,6 +24,12 @@ "https://cache.nixos.org/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; + extra-substituters = [ + "https://nix-community.cachix.org" + ]; + extra-trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + ]; }; channel.enable = false; registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs; From f3628d2cf1d035ed0c8e819da3a081268278410c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 10:00:26 +0100 Subject: [PATCH 456/656] jj: upgrade to v0.23.0 --- flake.lock | 6 +- pkgs/jujutsu-openssh/Cargo.lock | 160 +++++++++++++++---------------- pkgs/jujutsu-openssh/default.nix | 6 +- 3 files changed, 84 insertions(+), 88 deletions(-) diff --git a/flake.lock b/flake.lock index 6b69def..5f1ffe7 100644 --- a/flake.lock +++ b/flake.lock @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1730741070, - "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", + "lastModified": 1730883749, + "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3", + "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", "type": "github" }, "original": { diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index 59484a9..f9d6918 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.89" +version = "1.0.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" +checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" [[package]] name = "arc-swap" @@ -357,9 +357,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7be5744db7978a28d9df86a214130d106a89ce49644cbc4e3f0c22c3fba30615" +checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" dependencies = [ "clap_builder", "clap_derive", @@ -376,9 +376,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.19" +version = "4.5.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5fbc17d3ef8278f55b282b2a2e75ae6f6c7d4bb70ed3d0382375104bfafdb4b" +checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" dependencies = [ "anstream", "anstyle", @@ -389,18 +389,18 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.30" +version = "4.5.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb31f1f3041ef3636e425b09e588911b72fc5513b2428b5b7df130f497e6a728" +checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595" dependencies = [ "clap", ] [[package]] name = "clap_complete_nushell" -version = "4.5.3" +version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe32110e006bccf720f8c9af3fee1ba7db290c724eab61544e1d3295be3a40e" +checksum = "315902e790cc6e5ddd20cbd313c1d0d49db77f191e149f96397230fb82a17677" dependencies = [ "clap", "clap_complete", @@ -800,9 +800,9 @@ checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -815,9 +815,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -825,15 +825,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -842,15 +842,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -859,21 +859,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures 0.1.31", "futures-channel", @@ -890,7 +890,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.22.0" +version = "0.23.0" dependencies = [ "prost-build", ] @@ -1608,9 +1608,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" [[package]] name = "heck" @@ -1711,7 +1711,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.15.0", + "hashbrown 0.15.1", ] [[package]] @@ -1722,9 +1722,9 @@ checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" [[package]] name = "insta" -version = "1.40.0" +version = "1.41.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6593a41c7a73841868772495db7dc1e8ecab43bb5c0b6da2059246c4b506ab60" +checksum = "7e9ffc4d4892617c50a928c52b2961cb5174b6fc6ebf252b2fac9d21955c48b8" dependencies = [ "console", "lazy_static", @@ -1819,7 +1819,7 @@ dependencies = [ [[package]] name = "jj-cli" -version = "0.22.0" +version = "0.23.0" dependencies = [ "anyhow", "assert_cmd", @@ -1838,7 +1838,7 @@ dependencies = [ "dirs", "dunce", "esl01-renderdag", - "futures 0.3.30", + "futures 0.3.31", "git2", "gix", "indexmap", @@ -1876,7 +1876,7 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.22.0" +version = "0.23.0" dependencies = [ "assert_matches", "async-trait", @@ -1891,11 +1891,12 @@ dependencies = [ "digest", "either", "esl01-renderdag", - "futures 0.3.30", + "futures 0.3.31", "git2", "gix", "gix-filter", "glob", + "hashbrown 0.15.1", "hex", "ignore", "indexmap", @@ -1917,6 +1918,7 @@ dependencies = [ "ref-cast", "regex", "rustix", + "same-file", "serde", "serde_json", "smallvec", @@ -1936,7 +1938,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.22.0" +version = "0.23.0" dependencies = [ "proc-macro2", "quote", @@ -1978,9 +1980,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.159" +version = "0.2.161" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" +checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" [[package]] name = "libgit2-sys" @@ -2203,12 +2205,11 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.1" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" dependencies = [ "parking_lot_core", - "portable-atomic", ] [[package]] @@ -2300,9 +2301,9 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" [[package]] name = "pest" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdbef9d1d47087a895abd220ed25eb4ad973a5e26f6a4367b038c25e28dfc2d9" +checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", "thiserror", @@ -2311,9 +2312,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d3a6e3394ec80feb3b6393c725571754c6188490265c61aaf260810d6b95aa0" +checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" dependencies = [ "pest", "pest_generator", @@ -2321,9 +2322,9 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94429506bde1ca69d1b5601962c73f4172ab4726571a59ea95931218cb0e930e" +checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" dependencies = [ "pest", "pest_meta", @@ -2334,9 +2335,9 @@ dependencies = [ [[package]] name = "pest_meta" -version = "2.7.13" +version = "2.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac8a071862e93690b6e34e9a5fb8e33ff3734473ac0245b27232222c4906a33f" +checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" dependencies = [ "once_cell", "pest", @@ -2405,12 +2406,6 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" -[[package]] -name = "portable-atomic" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" - [[package]] name = "ppv-lite86" version = "0.2.20" @@ -2469,9 +2464,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" dependencies = [ "unicode-ident", ] @@ -2576,19 +2571,20 @@ dependencies = [ [[package]] name = "ratatui" -version = "0.26.3" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44c9e68fd46eda15c646fbb85e1040b657a58cdc8c98db1d97a55930d991eef" +checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ "bitflags 2.6.0", "cassowary", "compact_str", "crossterm", - "itertools 0.12.1", + "itertools 0.13.0", "lru", "paste", "stability", "strum", + "strum_macros", "unicode-segmentation", "unicode-truncate", "unicode-width", @@ -2656,9 +2652,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.0" +version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38200e5ee88914975b69f657f0801b6f6dccafd44fd9326302a4aaeecfacb1d8" +checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" dependencies = [ "aho-corasick", "memchr", @@ -2733,9 +2729,9 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.37" +version = "0.38.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811" +checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" dependencies = [ "bitflags 2.6.0", "errno", @@ -2773,9 +2769,9 @@ checksum = "088c5d71572124929ea7549a8ce98e1a6fd33d0a38367b09027b382e67c033db" [[package]] name = "scm-record" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bf431016c7a34038f440696c672f0fee1a15d6aea31fe100df6974a35bf5f" +checksum = "0d344fd2a7dd1580458c344f977c64ce7b1b1ad1d4f959ab6d2ca2cbab44de69" dependencies = [ "cassowary", "crossterm", @@ -2839,9 +2835,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.128" +version = "1.0.132" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ff5456707a1de34e7e37f2a6fd3d3f808c318259cbd01ab6377795054b483d8" +checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" dependencies = [ "itoa", "memchr", @@ -3015,9 +3011,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.79" +version = "2.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" +checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" dependencies = [ "proc-macro2", "quote", @@ -3088,11 +3084,11 @@ dependencies = [ [[package]] name = "testutils" -version = "0.22.0" +version = "0.23.0" dependencies = [ "async-trait", "config", - "futures 0.3.30", + "futures 0.3.31", "git2", "hex", "itertools 0.13.0", @@ -3115,18 +3111,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" +checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.64" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" +checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" dependencies = [ "proc-macro2", "quote", @@ -3176,9 +3172,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.40.0" +version = "1.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998" +checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" dependencies = [ "backtrace", "bytes", @@ -3528,7 +3524,7 @@ checksum = "88bc4c9bb443a7aae10d4fa7807bffc397805315e2305288c90c80e2f66cfb52" dependencies = [ "anyhow", "bytes", - "futures 0.3.30", + "futures 0.3.31", "maplit", "serde", "serde_bser", diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index 8035f56..ff65c83 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.22.0+pr3191.openssh"; + version = "0.23.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; repo = "jj"; - rev = "da04712b5735fadb0d9c164f301723a4f9830936"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-IhUJPH/h6Gm8zv7Ps1UxeMSqYAt1FO2ZMReLEAoOVmk="; + rev = "aa61f294708502d4faf120720252b4aa76157f2d"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-5U873EtczuQBysXmfhLh0wrZ7rdkszOKHlakROBckWI="; }; cargoLock.lockFile = ./Cargo.lock; From 2bad613a8ab25020f04937b584f8947a940f8677 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 12:05:47 +0100 Subject: [PATCH 457/656] nvim: completion and styling --- home/common/fish.nix | 2 +- home/common/nvim/default.nix | 13 +- home/common/nvim/dieter/colors/dieter.lua | 2 + home/common/nvim/dieter/lua/dieter/hsl.lua | 71 ++++++++ home/common/nvim/dieter/lua/dieter/init.lua | 183 ++++++++++++++++++++ home/common/nvim/mini.lua | 39 ++++- 6 files changed, 303 insertions(+), 7 deletions(-) create mode 100644 home/common/nvim/dieter/colors/dieter.lua create mode 100644 home/common/nvim/dieter/lua/dieter/hsl.lua create mode 100644 home/common/nvim/dieter/lua/dieter/init.lua diff --git a/home/common/fish.nix b/home/common/fish.nix index 2166133..cc620c9 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -1,9 +1,9 @@ { lib, pkgs, ... }: { - programs.fish = { enable = true; + plugins = [ { name = "grc"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 7dac9e1..f9de77f 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -5,6 +5,9 @@ ... }: { + + programs.man.generateCaches = false; + programs.neovim = { enable = true; package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default; @@ -99,11 +102,7 @@ { plugin = pkgs.vimUtils.buildVimPlugin { name = "dieter-nvim"; - src = pkgs.fetchgit { - url = "https://patagia.dev/Patagia/dieter.nvim.git"; - rev = "08fae6ffec4ae70ba6b2e1cafa780ff317ef0b61"; - hash = "sha256-C+Vo2SUVfNMkBwuLWqLoA59Pmy9aFwur7fBpfVkLm6Q="; - }; + src = ./dieter; }; type = "lua"; config = '' @@ -115,6 +114,10 @@ plugin = nvim-treesitter-context; type = "lua"; config = '' + require'treesitter-context'.setup{ + enable = false, + } + vim.keymap.set('n', '<space>ut', "<cmd>TSContextToggle<cr>", {noremap = true, silent = true, desc = "TS Context"}) ''; } diff --git a/home/common/nvim/dieter/colors/dieter.lua b/home/common/nvim/dieter/colors/dieter.lua new file mode 100644 index 0000000..38e858c --- /dev/null +++ b/home/common/nvim/dieter/colors/dieter.lua @@ -0,0 +1,2 @@ +package.loaded["dieter"] = nil +require("dieter") diff --git a/home/common/nvim/dieter/lua/dieter/hsl.lua b/home/common/nvim/dieter/lua/dieter/hsl.lua new file mode 100644 index 0000000..1d1b287 --- /dev/null +++ b/home/common/nvim/dieter/lua/dieter/hsl.lua @@ -0,0 +1,71 @@ +-- https://github.com/EmmanuelOga/columns/blob/master/utils/color.lua + +local M = {} + +--- Converts an HSL color value to RGB. Conversion formula +--- adapted from http://en.wikipedia.org/wiki/HSL_color_space. +--- Assumes h, s, and l are contained in the set [0, 1] and +--- returns r, g, and b in the set [0, 255]. +--- +--- @param h number The hue +--- @param s number The saturation +--- @param l number The lightness +--- @return number, number, number # The RGB representation +function M.hslToRgb(h, s, l) + --- @type number, number, number + local r, g, b + + if s == 0 then + r, g, b = l, l, l -- achromatic + else + --- @param p number + --- @param q number + --- @param t number + local function hue2rgb(p, q, t) + if t < 0 then + t = t + 1 + end + if t > 1 then + t = t - 1 + end + if t < 1 / 6 then + return p + (q - p) * 6 * t + end + if t < 1 / 2 then + return q + end + if t < 2 / 3 then + return p + (q - p) * (2 / 3 - t) * 6 + end + return p + end + + --- @type number + local q + if l < 0.5 then + q = l * (1 + s) + else + q = l + s - l * s + end + local p = 2 * l - q + + r = hue2rgb(p, q, h + 1 / 3) + g = hue2rgb(p, q, h) + b = hue2rgb(p, q, h - 1 / 3) + end + + return r * 255, g * 255, b * 255 +end + +--- Converts an HSL color value to RGB in Hex representation. +--- @param h number The hue +--- @param s number The saturation +--- @param l number The lightness +--- @return string # The hex representation +function M.hslToHex(h, s, l) + local r, g, b = M.hslToRgb(h / 360, s / 100, l / 100) + + return string.format("#%02x%02x%02x", r, g, b) +end + +return M diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua new file mode 100644 index 0000000..f96a850 --- /dev/null +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -0,0 +1,183 @@ +local hsl = require("dieter.hsl").hslToHex + +local colors = { + light = { + background = hsl(240, 100, 100), + foreground = hsl(0, 0, 13), + + accent1 = hsl(12, 100, 50), + + dimmed = hsl(0, 0, 80), + dimmed_subtle = hsl(0, 0, 20), + + string = hsl(96, 50, 33), + comment = hsl(230, 66, 40), + comment_error = hsl(2, 85, 40), + + diagnostic_error = hsl(347, 80, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(145, 80, 30), + diagnostic_hint = hsl(145, 80, 30), + + popup_error_bg = hsl(0, 90, 99), + popup_warning_bg = hsl(27, 90, 99), + popup_info_bg = hsl(112, 90, 99), + popup_hint_bg = hsl(112, 90, 99), + + add = hsl(84, 50, 80), + add_quarter = hsl(84, 80, 95), + change = hsl(41, 80, 80), + change_quarter = hsl(224, 100, 85), + delete = hsl(350, 100, 40), + delete_quarter = hsl(350, 100, 85), + + dialog_bg = hsl(224, 5, 92), + selection = hsl(270, 75, 92), + highlight_subtle = hsl(0, 0, 94), + highlight_intense = hsl(42, 100, 30), + + }, + + dark = { + background = hsl(216, 28, 7), + foreground = hsl(0, 0, 80), + + accent1 = hsl(12, 100, 50), + + dimmed = hsl(0, 0, 25), + dimmed_subtle = hsl(0, 0, 50), + + highlight_subtle = hsl(0, 0, 6), + highlight_intense = hsl(58, 100, 60), + + string = hsl(96, 50, 70), + comment = hsl(220, 50, 60), + comment_error = hsl(2, 85, 50), + + diagnostic_error = hsl(353, 100, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(176, 80, 60), + diagnostic_hint = hsl(176, 80, 60), + + popup_error_bg = hsl(0, 95, 7), + popup_warning_bg = hsl(27, 95, 7), + popup_info_bg = hsl(112, 95, 7), + popup_hint_bg = hsl(112, 95, 7), + + add = hsl(100, 100, 12), + add_quarter = hsl(84, 80, 15), + change = hsl(41, 100, 15), + change_quarter = hsl(224, 100, 15), + delete = hsl(350, 100, 40), + delete_quarter = hsl(350, 100, 15), + + -- dialog_bg = background, + -- dialog_fg = hsl(216, 70, 80), + -- dialog_bg = hsl(216, 25, 20), + -- selection = hsl(216, 25, 33), + selection = hsl(213, 60, 40), + }, + +} + +local c = colors[vim.o.background] +c.dialog_fg = c.foreground +c.dialog_bg = c.background + +local theme = { + Normal = { fg = c.foreground, bg = c.background }, + + Constant = { link = "NormalNC" }, + Delimiter = { link = "NormalNC" }, + Identifier = { link = "NormalNC" }, + Keyword = { fg = c.foreground, bold = true }, + Operator = { link = "NormalNC" }, + Special = { link = "NormalNC" }, + Type = { link = "NormalNC" }, + + String = { fg = c.string }, + + Comment = { fg = c.comment, italic = true, bold = true }, + CommentError = { fg = c.comment_error, italic = true, bold = true }, + ["@comment.note"] = { link = "Comment" }, + ["@comment.todo"] = { link = "CommentError" }, + ["@comment.error"] = { link = "CommentError" }, + ["@comment.warning"] = { link = "CommentError" }, + + DiffAdd = { fg = c.add, bg = c.add_quarter }, + GitSignsAdd = { fg = c.add, bg = c.background }, + GitSignsAddNr = { link = "DiffAdd" }, + DiffChange = { fg = c.change, bg = c.change_quarter }, + GitSignsChange = { fg = c.change, bg = c.background }, + GitSignsChangeNr = { link = "DiffChange" }, + DiffDelete = { fg = c.delete, bg = c.delete_quarter }, + GitSignsDelete = { fg = c.delete, bg = c.background }, + GitSignsDeleteNr = { link = "DiffDelete" }, + + -- Treesitter + ["@function"] = { link = "NormalNC" }, + ["@special"] = { link = "NormalNC" }, + ["@variable"] = { link = "NormalNC" }, + ["@lsp.type.variable"] = { fg = c.dimmed_subtle }, + + -- UI Elements + CursorLine = { bg = c.highlight_subtle }, + + DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, + DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, + DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, + DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + + DiagnosticSignError = { fg = c.diagnostic_error }, + DiagnosticSignHint = { fg = c.diagnostic_hint }, + DiagnosticSignInfo = { fg = c.diagnostic_info }, + DiagnosticSignWarn = { fg = c.diagnostic_warning }, + LineNr = { fg = c.dimmed, italic = true }, + IndentLine = { fg = c.background }, + IndentLineCurrent = { fg = c.dimmed }, + TreesitterContext = { reverse = true }, + TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, + InclineNormal = { bg = c.background }, + InclineNormalNC = { bg = c.background }, + + WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, + NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg }, + Title = { fg = c.foreground, bold = true }, + + FloatBorder = { fg = c.dialog_fg }, + FloatTitle = { fg = c.dialog_fg, bold = true }, + + MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, + MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true }, + MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, + MiniClueSeparator = { link = "NormalFloat" }, + + NoiceMini = { fg = c.foreground, italic = true }, + + TelescopeNormal = { fg = c.foreground, bg = c.background }, + TelescopeBorder = { bold = true }, + TelescopeSelection = { bg = c.selection }, + TelescopeResultsNormal = { fg = c.foreground, bold = true }, + TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, + + Visual = { bg = c.selection }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, +} + +vim.cmd("hi clear") + +if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") +end + +for group, hl in pairs(theme) do + vim.api.nvim_set_hl(0, group, hl) +end + +vim.g.colors_name = "dieter" diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index f448647..6424343 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -5,7 +5,6 @@ require('mini.ai').setup() require('mini.align').setup() require('mini.bracketed').setup() require('mini.comment').setup() -require('mini.completion').setup() require('mini.diff').setup() require('mini.extra').setup() require('mini.icons').setup() @@ -22,6 +21,44 @@ require('mini.cursorword').setup({ delay = 800 }) +require('mini.completion').setup({ + window = { + info = { height = 25, width = 80, border = 'rounded' }, + signature = { height = 25, width = 80, border = 'rounded' }, + }, +}) +local imap_expr = function(lhs, rhs) + vim.keymap.set('i', lhs, rhs, { expr = true }) +end +imap_expr('<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]]) +imap_expr('<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]]) + + local keycode = vim.keycode or function(x) + return vim.api.nvim_replace_termcodes(x, true, true, true) + end + local keys = { + ['cr'] = keycode('<CR>'), + ['ctrl-y'] = keycode('<C-y>'), + ['ctrl-y_cr'] = keycode('<C-y><CR>'), + } + + _G.cr_action = function() + if vim.fn.pumvisible() ~= 0 then + -- If popup is visible, confirm selected item or add new line otherwise + local item_selected = vim.fn.complete_info()['selected'] ~= -1 + return item_selected and keys['ctrl-y'] or keys['ctrl-y_cr'] + else + -- If popup is not visible, use plain `<CR>`. You might want to customize + -- according to other plugins. For example, to use 'mini.pairs', replace + -- next line with `return require('mini.pairs').cr()` + return keys['cr'] + end + end + + vim.keymap.set('i', '<CR>', 'v:lua._G.cr_action()', { expr = true }) + + + local hipatterns = require('mini.hipatterns') hipatterns.setup({ highlighters = { From d3b07a2e772ce70fda0dab8f677973ba22aa3b2d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 17:57:44 +0100 Subject: [PATCH 458/656] nvim: Add neocodium --- home/common/nvim/default.nix | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f9de77f..5e3ef01 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -22,6 +22,7 @@ extraPackages = with pkgs; [ black + codeium cue go gopls @@ -76,6 +77,36 @@ targets-vim ts-comments-nvim + { + plugin = codeium-nvim; + type = "lua"; + config = '' + require'codeium'.setup { + enable_chat = false, + } + ''; + } + + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "neocodeium"; + src = pkgs.fetchFromGitHub { + owner = "monkoose"; + repo = "neocodeium"; + rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + }; + }; + type = "lua"; + config = '' + local neocodeium =require('neocodeium') + neocodeium.setup() + vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) + ''; + } + { plugin = pkgs.vimUtils.buildVimPlugin { name = "diagflow"; @@ -154,7 +185,7 @@ } { - plugin = nvim-treesitter-textobjects; # helix-style selection of TS tree + plugin = nvim-treesitter-textobjects; type = "lua"; config = '' require'nvim-treesitter.configs'.setup { @@ -178,7 +209,7 @@ } { - plugin = nvim-lspconfig; # Interface for LSPs + plugin = nvim-lspconfig; type = "lua"; config = lib.fileContents ./lsp.lua; } From 6cbd28148aeaab79071b49d57d900ab7260596be Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 7 Nov 2024 21:00:06 +0100 Subject: [PATCH 459/656] nvim: move treesitter to separate file --- home/common/nvim/default.nix | 93 ++------------------------------- home/common/nvim/treesitter.nix | 79 ++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+), 90 deletions(-) create mode 100644 home/common/nvim/treesitter.nix diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 5e3ef01..fde0dd9 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -5,6 +5,9 @@ ... }: { + imports = [ + ./treesitter.nix + ]; programs.man.generateCaches = false; @@ -39,35 +42,6 @@ shellcheck shfmt stylua - tree-sitter - tree-sitter-grammars.tree-sitter-bash - tree-sitter-grammars.tree-sitter-c - tree-sitter-grammars.tree-sitter-comment - tree-sitter-grammars.tree-sitter-css - tree-sitter-grammars.tree-sitter-cue - tree-sitter-grammars.tree-sitter-fish - tree-sitter-grammars.tree-sitter-gdscript - tree-sitter-grammars.tree-sitter-go - tree-sitter-grammars.tree-sitter-gomod - tree-sitter-grammars.tree-sitter-hcl - tree-sitter-grammars.tree-sitter-html - tree-sitter-grammars.tree-sitter-javascript - tree-sitter-grammars.tree-sitter-json - tree-sitter-grammars.tree-sitter-lua - tree-sitter-grammars.tree-sitter-markdown - tree-sitter-grammars.tree-sitter-nix - tree-sitter-grammars.tree-sitter-proto - tree-sitter-grammars.tree-sitter-rego - tree-sitter-grammars.tree-sitter-rust - tree-sitter-grammars.tree-sitter-scss - tree-sitter-grammars.tree-sitter-sql - tree-sitter-grammars.tree-sitter-svelte - tree-sitter-grammars.tree-sitter-toml - tree-sitter-grammars.tree-sitter-tsx - tree-sitter-grammars.tree-sitter-typescript - tree-sitter-grammars.tree-sitter-vim - tree-sitter-grammars.tree-sitter-yaml - tree-sitter-grammars.tree-sitter-zig vscode-langservers-extracted ]; @@ -141,67 +115,6 @@ ''; } - { - plugin = nvim-treesitter-context; - type = "lua"; - config = '' - require'treesitter-context'.setup{ - enable = false, - } - - vim.keymap.set('n', '<space>ut', "<cmd>TSContextToggle<cr>", {noremap = true, silent = true, desc = "TS Context"}) - ''; - } - - { - plugin = nvim-treesitter.withAllGrammars; - type = "lua"; - config = '' - require'nvim-treesitter.configs'.setup { - highlight = { enable = true, }, - indent = { enable = true }, - textobjects = { - select = { - enable = true, - lookahead = true, - }, - }, - } - ''; - } - - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "nvim-tree-pairs"; # make % match in TS - src = pkgs.fetchFromGitHub { - owner = "yorickpeterse"; - repo = "nvim-tree-pairs"; - rev = "e7f7b6cc28dda6f3fa271ce63b0d371d5b7641da"; - hash = "sha256-fb4EsrWAbm8+dWAhiirCPuR44MEg+KYb9hZOIuEuT24="; - }; - }; - type = "lua"; - config = "require('tree-pairs').setup()"; - } - - { - plugin = nvim-treesitter-textobjects; - type = "lua"; - config = '' - require'nvim-treesitter.configs'.setup { - incremental_selection = { - enable = true, - keymaps = { - init_selection = "<M-o>", - scope_incremental = "<M-O>", - node_incremental = "<M-o>", - node_decremental = "<M-i>", - }, - }, - } - ''; - } - { plugin = mini-nvim; type = "lua"; diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix new file mode 100644 index 0000000..4fb87ec --- /dev/null +++ b/home/common/nvim/treesitter.nix @@ -0,0 +1,79 @@ +{ + inputs, + lib, + pkgs, + ... +}: +{ + programs.neovim = { + extraPackages = with pkgs; [ + tree-sitter + ]; + + plugins = with pkgs.vimPlugins; [ + ts-comments-nvim + nvim-ts-context-commentstring + + { + plugin = nvim-treesitter-context; + type = "lua"; + config = '' + require'treesitter-context'.setup{ + enable = false, + } + vim.keymap.set('n', '<space>ut', "<cmd>TSContextToggle<cr>", {noremap = true, silent = true, desc = "TS Context"}) + ''; + } + + { + plugin = nvim-treesitter.withAllGrammars; + type = "lua"; + config = '' + require'nvim-treesitter.configs'.setup { + highlight = { enable = true, }, + indent = { enable = true }, + rainbow = { enable = true }, + textobjects = { + select = { + enable = true, + lookahead = true, + }, + }, + } + ''; + } + + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "nvim-tree-pairs"; # make % match in TS + src = pkgs.fetchFromGitHub { + owner = "yorickpeterse"; + repo = "nvim-tree-pairs"; + rev = "e7f7b6cc28dda6f3fa271ce63b0d371d5b7641da"; + hash = "sha256-fb4EsrWAbm8+dWAhiirCPuR44MEg+KYb9hZOIuEuT24="; + }; + }; + type = "lua"; + config = "require('tree-pairs').setup()"; + } + + { + plugin = nvim-treesitter-textobjects; + type = "lua"; + config = '' + require'nvim-treesitter.configs'.setup { + incremental_selection = { + enable = true, + keymaps = { + init_selection = "<M-o>", + scope_incremental = "<M-O>", + node_incremental = "<M-o>", + node_decremental = "<M-i>", + }, + }, + } + ''; + } + ]; + }; +} From e77885fdefca2c4f94537b64e28b8c52a8f6a465 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 8 Nov 2024 18:15:40 +0100 Subject: [PATCH 460/656] nvim: mini.pick fixings --- home/common/nvim/init.lua | 87 ++++++++++++++++++++++++++++++++++----- home/common/nvim/lsp.lua | 24 ----------- home/common/nvim/mini.lua | 83 +++++++++++++++---------------------- 3 files changed, 110 insertions(+), 84 deletions(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index b9372e9..682ef71 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -1,4 +1,4 @@ -vim.g.mapleader = "<space>" +vim.g.mapleader = ' ' vim.g.maplocalleader = "," -- UI @@ -14,13 +14,14 @@ vim.opt.termguicolors = true -- Ruler function GetIndicators() local bufnr = vim.api.nvim_get_current_buf() - local counts = vim.diagnostic.count(bufnr) - local errors = counts[vim.diagnostic.severity.ERROR] or 0 - local warnings = counts[vim.diagnostic.severity.WARN] or 0 - local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " - local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " - return warn_string .. error_string + local counts = vim.diagnostic.count(bufnr) + local errors = counts[vim.diagnostic.severity.ERROR] or 0 + local warnings = counts[vim.diagnostic.severity.WARN] or 0 + local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " + local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " + return warn_string .. error_string end + vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" -- Search @@ -95,8 +96,72 @@ vim.keymap.set({ "i", "s" }, "<Tab>", function() end end, { expr = true }) -vim.keymap.set({ "n" }, "<c-/>", "gcc", { remap = true }) -vim.keymap.set({ "v" }, "<c-/>", "gc", { remap = true }) -vim.keymap.set({ "n" }, "<c-_>", "gcc", { remap = true }) -vim.keymap.set({ "v" }, "<c-_>", "gc", { remap = true }) + +-- Keymap +local opts = function(label) + return { noremap = true, silent = true, desc = label } +end + +-- Comments +vim.keymap.set("n", "<c-/>", "gcc", { remap = true }) +vim.keymap.set("v", "<c-/>", "gc", { remap = true }) +vim.keymap.set("n", "<c-_>", "gcc", { remap = true }) +vim.keymap.set("v", "<c-_>", "gc", { remap = true }) + +vim.keymap.set({ "n", "v" }, "<Leader>a", vim.lsp.buf.code_action, { remap = true, desc = "Code action" }) +vim.keymap.set("n", "<Leader>af", function() + vim.lsp.buf.format({ async = true }) +end, opts("Format Buffer")) +vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) +vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) +vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) +vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostics to location list" }) +vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) +vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) +vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) +vim.keymap.set('n', '<Leader>g', "<cmd>Pick oldfiles<cr>", opts("Open file picker history")) +vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item under cursor")) +vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) +vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", opts("Open symbol picker")) +vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) +vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set("n", "zz", "zt", { remap = true }) +vim.keymap.set({ "n", "v" }, "<Leader>y", '"+y', opts("Yank to clipboard")) +vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) +vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Declaration")) +vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Definition")) +vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Implementation")) +vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) +vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, opts("Type Definition")) +vim.keymap.set({"n", "i"}, "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) +vim.keymap.set({ "n", "v" }, "<Leader>aa", vim.lsp.buf.code_action, opts("Code Action")) +vim.keymap.set("n", "<Leader>ws", "<C-w>s", opts("Horizontal split")) +vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) + +-- Completion +vim.keymap.set('i', '<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true }) +vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true }) + +local keycode = vim.keycode or function(x) + return vim.api.nvim_replace_termcodes(x, true, true, true) +end +local keys = { + ['cr'] = keycode('<CR>'), + ['ctrl-y'] = keycode('<C-y>'), + ['ctrl-y_cr'] = keycode('<C-y><CR>'), +} + +_G.cr_action = function() + if vim.fn.pumvisible() ~= 0 then + -- If popup is visible, confirm selected item or add new line otherwise + local item_selected = vim.fn.complete_info()['selected'] ~= -1 + return item_selected and keys['ctrl-y'] or keys['ctrl-y_cr'] + else + -- If popup is not visible, use plain `<CR>`. You might want to customize + -- according to other plugins. For example, to use 'mini.pairs', replace + -- next line with `return require('mini.pairs').cr()` + return keys['cr'] + end +end + +vim.keymap.set('i', '<CR>', 'v:lua._G.cr_action()', { expr = true }) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 096b556..94f92fe 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,5 +1,3 @@ -vim.keymap.set("n", "<space>d", vim.diagnostic.setloclist, { desc = "Add buffer diagnostics to the location list." }) - vim.api.nvim_create_autocmd("LspAttach", { group = vim.api.nvim_create_augroup("UserLspConfig", {}), callback = function(ev) @@ -16,28 +14,6 @@ vim.api.nvim_create_autocmd("LspAttach", { if client.server_capabilities.codeLensProvider then vim.lsp.codelens.refresh({ bufnr = bufnr }) end - - vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, {}) - vim.keymap.set({ "n", "v" }, "<leader>ca", vim.lsp.buf.code_action, {}) - - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Declaration")) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Definition")) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Implementation")) - vim.keymap.set("n", "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) - vim.keymap.set("i", "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) - vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, opts("Add Workspace Folder")) - vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, opts("Remove Workspace Folder")) - vim.keymap.set("n", "<space>wl", function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, opts("List Workspace Folders")) - vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, opts("Type Definition")) - vim.keymap.set("n", "<space>r", vim.lsp.buf.rename, opts("Rename Symbol")) - vim.keymap.set({ "n", "v" }, "<space>a", vim.lsp.buf.code_action, opts("Code Action")) - vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) - vim.keymap.set("n", "<space>cf", function() - vim.lsp.buf.format({ async = true }) - end, opts("Format Buffer")) end, }) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 6424343..c37cb52 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -1,9 +1,7 @@ -local opts = function(label) - return { noremap = true, silent = true, desc = label } -end require('mini.ai').setup() require('mini.align').setup() require('mini.bracketed').setup() +require('mini.bufremove').setup() require('mini.comment').setup() require('mini.diff').setup() require('mini.extra').setup() @@ -13,50 +11,16 @@ require('mini.surround').setup() require('mini.splitjoin').setup() require('mini.trailspace').setup() -local bufremove = require('mini.bufremove') -bufremove.setup() -vim.keymap.set('n', '<space>bd', bufremove.delete, opts("Delete")) - require('mini.cursorword').setup({ delay = 800 }) require('mini.completion').setup({ - window = { + window = { info = { height = 25, width = 80, border = 'rounded' }, signature = { height = 25, width = 80, border = 'rounded' }, }, }) -local imap_expr = function(lhs, rhs) - vim.keymap.set('i', lhs, rhs, { expr = true }) -end -imap_expr('<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]]) -imap_expr('<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]]) - - local keycode = vim.keycode or function(x) - return vim.api.nvim_replace_termcodes(x, true, true, true) - end - local keys = { - ['cr'] = keycode('<CR>'), - ['ctrl-y'] = keycode('<C-y>'), - ['ctrl-y_cr'] = keycode('<C-y><CR>'), - } - - _G.cr_action = function() - if vim.fn.pumvisible() ~= 0 then - -- If popup is visible, confirm selected item or add new line otherwise - local item_selected = vim.fn.complete_info()['selected'] ~= -1 - return item_selected and keys['ctrl-y'] or keys['ctrl-y_cr'] - else - -- If popup is not visible, use plain `<CR>`. You might want to customize - -- according to other plugins. For example, to use 'mini.pairs', replace - -- next line with `return require('mini.pairs').cr()` - return keys['cr'] - end - end - - vim.keymap.set('i', '<CR>', 'v:lua._G.cr_action()', { expr = true }) - local hipatterns = require('mini.hipatterns') @@ -84,9 +48,33 @@ require('mini.jump2d').setup({ mappings = { start_jumping = 'gw' } }) +local picker_win_config = function() + height = vim.o.lines - 8 + width = 80 + return { + border = 'rounded', + anchor = 'NW', + height = height, + width = width, + row = 2, + col = math.floor((vim.o.columns - width) / 2), + } +end + require('mini.pick').setup({ - mappings = { move_down = '<tab>' }, - options = { use_cache = true } + mappings = { + move_down = '<tab>', + toggle_info = '<C-k>', + toggle_preview = '<C-p>', + }, + options = { use_cache = true }, + window = { + config = picker_win_config, + -- config = { + -- border = 'rounded', + -- width = 'auto', + -- }, + }, }) MiniPick.registry.files_root = function(local_opts) local root_patterns = { ".jj", ".git" } @@ -101,13 +89,6 @@ MiniPick.registry.grep_live_root = function(local_opts) local_opts.cwd = root_dir return MiniPick.builtin.grep_live(local_opts, { source = { cwd = root_dir } }) end -vim.keymap.set('n', '<space>/', "<cmd>Pick grep_live_root<cr>", opts("Live Grep")) -vim.keymap.set('n', '<space>fF', "<cmd>Pick files<cr>", opts("FindCWD")) -vim.keymap.set('n', '<space>ff', "<cmd>Pick files_root<cr>", opts("Find")) -vim.keymap.set('n', '<space>fr', "<cmd>Pick oldfiles<cr>", opts("Recent")) -vim.keymap.set('n', '<space>bb', "<cmd>Pick buffers<cr>", opts("Switch")) -vim.keymap.set('n', '<space>d', "<cmd>Pick diagnostics<cr>", opts("Diagnostics")) -vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) local miniclue = require('mini.clue') @@ -157,7 +138,11 @@ miniclue.setup({ -- cute prompts about bindings miniclue.gen_clues.z(), }, window = { - delay = 15, + delay = 0, + config = { + border = 'rounded', + width = 'auto', + }, } }) @@ -175,7 +160,7 @@ require('mini.notify').setup({ require('mini.starter').setup({ header = - [[ ______ _ + [[ ______ _ (_____ \ _ (_) _____) )___| |_ ____ ____ _ ____ | ____/ _ | _)/ _ |/ _ | |/ _ | From 273c88b4fe9bd467c66b18eb4a3b53c104460f14 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 9 Nov 2024 00:19:18 +0100 Subject: [PATCH 461/656] tmux: use C-t as prefix --- home/common/tmux.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/tmux.nix b/home/common/tmux.nix index 6c11008..141339e 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -6,7 +6,7 @@ clock24 = true; escapeTime = 500; mouse = true; - shortcut = "o"; + shortcut = "t"; extraConfig = '' set -g allow-passthrough on set -g default-terminal "tmux-256color" From f6f22865051a88b151fbfb7608d258360b630ca8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 9 Nov 2024 00:19:18 +0100 Subject: [PATCH 462/656] nvim: use blink.cmp for completion https://github.com/Saghen/blink.cmp --- home/common/nvim/default.nix | 10 ++++++++ home/common/nvim/init.lua | 45 +++++++----------------------------- home/common/nvim/mini.lua | 16 ++----------- 3 files changed, 20 insertions(+), 51 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index fde0dd9..146c3ba 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -51,6 +51,16 @@ targets-vim ts-comments-nvim + { + plugin = blink-cmp; + type = "lua"; + config = '' + require'blink-cmp'.setup({ + keymap = 'super-tab', + }) + ''; + } + { plugin = codeium-nvim; type = "lua"; diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 682ef71..bc847e8 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -53,17 +53,16 @@ vim.opt.foldexpr = "nvim_treesitter#foldexpr()" -- vim.o.autochdir = true +vim.o.cia = 'kind,abbr,menu' vim.o.fillchars = "stl: ,stlnc: ,eob:░,vert:│" +vim.o.icm = "split" vim.o.list = false vim.o.scrolloff = 7 -vim.o.splitkeep = "screen" -vim.o.updatetime = 50 -vim.o.timeout = true -vim.o.timeoutlen = 10 -vim.o.icm = "split" -vim.o.cia = 'kind,abbr,menu' - vim.o.showmode = false +vim.o.splitkeep = "screen" +vim.o.timeoutlen = 10 +vim.o.timeout = true +vim.o.updatetime = 50 -- Use rg @@ -124,6 +123,8 @@ vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item und vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", opts("Open symbol picker")) vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) +vim.keymap.set("n", "<Leader>ws", "<C-w>s", opts("Horizontal split")) +vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set("n", "zz", "zt", { remap = true }) vim.keymap.set({ "n", "v" }, "<Leader>y", '"+y', opts("Yank to clipboard")) @@ -135,33 +136,3 @@ vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, opts("Type Definition")) vim.keymap.set({"n", "i"}, "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) vim.keymap.set({ "n", "v" }, "<Leader>aa", vim.lsp.buf.code_action, opts("Code Action")) -vim.keymap.set("n", "<Leader>ws", "<C-w>s", opts("Horizontal split")) -vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) - --- Completion -vim.keymap.set('i', '<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true }) -vim.keymap.set('i', '<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true }) - -local keycode = vim.keycode or function(x) - return vim.api.nvim_replace_termcodes(x, true, true, true) -end -local keys = { - ['cr'] = keycode('<CR>'), - ['ctrl-y'] = keycode('<C-y>'), - ['ctrl-y_cr'] = keycode('<C-y><CR>'), -} - -_G.cr_action = function() - if vim.fn.pumvisible() ~= 0 then - -- If popup is visible, confirm selected item or add new line otherwise - local item_selected = vim.fn.complete_info()['selected'] ~= -1 - return item_selected and keys['ctrl-y'] or keys['ctrl-y_cr'] - else - -- If popup is not visible, use plain `<CR>`. You might want to customize - -- according to other plugins. For example, to use 'mini.pairs', replace - -- next line with `return require('mini.pairs').cr()` - return keys['cr'] - end -end - -vim.keymap.set('i', '<CR>', 'v:lua._G.cr_action()', { expr = true }) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index c37cb52..0b41ecd 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -15,14 +15,6 @@ require('mini.cursorword').setup({ delay = 800 }) -require('mini.completion').setup({ - window = { - info = { height = 25, width = 80, border = 'rounded' }, - signature = { height = 25, width = 80, border = 'rounded' }, - }, -}) - - local hipatterns = require('mini.hipatterns') hipatterns.setup({ highlighters = { @@ -49,8 +41,8 @@ require('mini.jump2d').setup({ }) local picker_win_config = function() - height = vim.o.lines - 8 - width = 80 + local height = vim.o.lines - 8 + local width = 80 return { border = 'rounded', anchor = 'NW', @@ -70,10 +62,6 @@ require('mini.pick').setup({ options = { use_cache = true }, window = { config = picker_win_config, - -- config = { - -- border = 'rounded', - -- width = 'auto', - -- }, }, }) MiniPick.registry.files_root = function(local_opts) From 1eb8637840a1c3ef3856750c49428cf74a6c1c66 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 9 Nov 2024 01:33:49 +0100 Subject: [PATCH 463/656] nvim: colors --- home/common/nvim/default.nix | 11 + home/common/nvim/dieter/lua/dieter/init.lua | 284 +++++++++++--------- 2 files changed, 165 insertions(+), 130 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 146c3ba..be14dd2 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -57,6 +57,17 @@ config = '' require'blink-cmp'.setup({ keymap = 'super-tab', + windows = { + autocomplete = { + border = 'none', + }, + documentation = { + border = 'rounded', + }, + signature_help = { + border = 'rounded', + }, + }, }) ''; } diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index f96a850..ab00a33 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -1,82 +1,92 @@ local hsl = require("dieter.hsl").hslToHex local colors = { - light = { - background = hsl(240, 100, 100), - foreground = hsl(0, 0, 13), + light = { + background = hsl(240, 100, 100), + foreground = hsl(0, 0, 13), - accent1 = hsl(12, 100, 50), + accent1 = hsl(12, 100, 50), - dimmed = hsl(0, 0, 80), - dimmed_subtle = hsl(0, 0, 20), + dimmed = hsl(0, 0, 80), + dimmed_subtle = hsl(0, 0, 20), - string = hsl(96, 50, 33), - comment = hsl(230, 66, 40), - comment_error = hsl(2, 85, 40), + string = hsl(96, 50, 33), + comment = hsl(230, 66, 40), + comment_error = hsl(2, 85, 40), - diagnostic_error = hsl(347, 80, 45), - diagnostic_warning = hsl(30, 100, 50), - diagnostic_info = hsl(145, 80, 30), - diagnostic_hint = hsl(145, 80, 30), + diagnostic_error = hsl(347, 80, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(145, 80, 30), + diagnostic_hint = hsl(145, 80, 30), - popup_error_bg = hsl(0, 90, 99), - popup_warning_bg = hsl(27, 90, 99), - popup_info_bg = hsl(112, 90, 99), - popup_hint_bg = hsl(112, 90, 99), + popup_error_bg = hsl(0, 90, 99), + popup_warning_bg = hsl(27, 90, 99), + popup_info_bg = hsl(112, 90, 99), + popup_hint_bg = hsl(112, 90, 99), - add = hsl(84, 50, 80), - add_quarter = hsl(84, 80, 95), - change = hsl(41, 80, 80), - change_quarter = hsl(224, 100, 85), - delete = hsl(350, 100, 40), - delete_quarter = hsl(350, 100, 85), + add = hsl(84, 50, 80), + add_quarter = hsl(84, 80, 95), + change = hsl(41, 80, 80), + change_quarter = hsl(224, 100, 85), + delete = hsl(350, 100, 40), + delete_quarter = hsl(350, 100, 85), - dialog_bg = hsl(224, 5, 92), - selection = hsl(270, 75, 92), - highlight_subtle = hsl(0, 0, 94), - highlight_intense = hsl(42, 100, 30), + dialog_bg = hsl(224, 5, 92), + selection = hsl(270, 75, 92), + highlight_subtle = hsl(0, 0, 94), + highlight_intense = hsl(42, 100, 30), - }, + }, - dark = { - background = hsl(216, 28, 7), - foreground = hsl(0, 0, 80), + dark = { + background = hsl(216, 28, 7), + foreground = hsl(0, 0, 80), - accent1 = hsl(12, 100, 50), + accent1 = hsl(12, 100, 50), - dimmed = hsl(0, 0, 25), - dimmed_subtle = hsl(0, 0, 50), + dimmed = hsl(0, 0, 25), + dimmed_subtle = hsl(0, 0, 50), - highlight_subtle = hsl(0, 0, 6), - highlight_intense = hsl(58, 100, 60), + highlight_subtle = hsl(0, 0, 6), + highlight_intense = hsl(58, 100, 60), - string = hsl(96, 50, 70), - comment = hsl(220, 50, 60), - comment_error = hsl(2, 85, 50), + string = hsl(96, 50, 70), + comment = hsl(220, 50, 60), + comment_error = hsl(2, 85, 50), - diagnostic_error = hsl(353, 100, 45), - diagnostic_warning = hsl(30, 100, 50), - diagnostic_info = hsl(176, 80, 60), - diagnostic_hint = hsl(176, 80, 60), + diagnostic_error = hsl(353, 100, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(176, 80, 60), + diagnostic_hint = hsl(176, 80, 60), - popup_error_bg = hsl(0, 95, 7), - popup_warning_bg = hsl(27, 95, 7), - popup_info_bg = hsl(112, 95, 7), - popup_hint_bg = hsl(112, 95, 7), + popup_error_bg = hsl(0, 95, 7), + popup_warning_bg = hsl(27, 95, 7), + popup_info_bg = hsl(112, 95, 7), + popup_hint_bg = hsl(112, 95, 7), - add = hsl(100, 100, 12), - add_quarter = hsl(84, 80, 15), - change = hsl(41, 100, 15), - change_quarter = hsl(224, 100, 15), - delete = hsl(350, 100, 40), - delete_quarter = hsl(350, 100, 15), + add = hsl(100, 100, 12), + add_quarter = hsl(84, 80, 15), + change = hsl(41, 100, 15), + change_quarter = hsl(224, 100, 15), + delete = hsl(350, 100, 40), + delete_quarter = hsl(350, 100, 15), - -- dialog_bg = background, - -- dialog_fg = hsl(216, 70, 80), - -- dialog_bg = hsl(216, 25, 20), - -- selection = hsl(216, 25, 33), - selection = hsl(213, 60, 40), - }, + -- dialog_bg = background, + -- dialog_fg = hsl(216, 70, 80), + -- dialog_bg = hsl(216, 25, 20), + -- selection = hsl(216, 25, 33), + selection = hsl(213, 60, 40), + + cmp_bg = hsl(218, 30, 13), + cmp_fg = hsl(218, 30, 60), + cmp_selected_bg = hsl(218, 30, 25), + cmp_selected_fg = hsl(218, 50, 80), + + doc_bg = hsl(220, 80, 10), + doc_fg = hsl(200, 30, 60), + + suggestion = hsl(180, 55, 40), + }, } @@ -85,99 +95,113 @@ c.dialog_fg = c.foreground c.dialog_bg = c.background local theme = { - Normal = { fg = c.foreground, bg = c.background }, + Normal = { fg = c.foreground, bg = c.background }, - Constant = { link = "NormalNC" }, - Delimiter = { link = "NormalNC" }, - Identifier = { link = "NormalNC" }, - Keyword = { fg = c.foreground, bold = true }, - Operator = { link = "NormalNC" }, - Special = { link = "NormalNC" }, - Type = { link = "NormalNC" }, + Constant = { link = "NormalNC" }, + Delimiter = { link = "NormalNC" }, + Identifier = { link = "NormalNC" }, + Keyword = { fg = c.foreground, bold = true }, + Operator = { link = "NormalNC" }, + Special = { link = "NormalNC" }, + Type = { link = "NormalNC" }, - String = { fg = c.string }, + String = { fg = c.string }, - Comment = { fg = c.comment, italic = true, bold = true }, - CommentError = { fg = c.comment_error, italic = true, bold = true }, - ["@comment.note"] = { link = "Comment" }, - ["@comment.todo"] = { link = "CommentError" }, - ["@comment.error"] = { link = "CommentError" }, - ["@comment.warning"] = { link = "CommentError" }, + Comment = { fg = c.comment, italic = true, bold = true }, + CommentError = { fg = c.comment_error, italic = true, bold = true }, + ["@comment.note"] = { link = "Comment" }, + ["@comment.todo"] = { link = "CommentError" }, + ["@comment.error"] = { link = "CommentError" }, + ["@comment.warning"] = { link = "CommentError" }, - DiffAdd = { fg = c.add, bg = c.add_quarter }, - GitSignsAdd = { fg = c.add, bg = c.background }, - GitSignsAddNr = { link = "DiffAdd" }, - DiffChange = { fg = c.change, bg = c.change_quarter }, - GitSignsChange = { fg = c.change, bg = c.background }, - GitSignsChangeNr = { link = "DiffChange" }, - DiffDelete = { fg = c.delete, bg = c.delete_quarter }, - GitSignsDelete = { fg = c.delete, bg = c.background }, - GitSignsDeleteNr = { link = "DiffDelete" }, + DiffAdd = { fg = c.add, bg = c.add_quarter }, + GitSignsAdd = { fg = c.add, bg = c.background }, + GitSignsAddNr = { link = "DiffAdd" }, + DiffChange = { fg = c.change, bg = c.change_quarter }, + GitSignsChange = { fg = c.change, bg = c.background }, + GitSignsChangeNr = { link = "DiffChange" }, + DiffDelete = { fg = c.delete, bg = c.delete_quarter }, + GitSignsDelete = { fg = c.delete, bg = c.background }, + GitSignsDeleteNr = { link = "DiffDelete" }, - -- Treesitter - ["@function"] = { link = "NormalNC" }, - ["@special"] = { link = "NormalNC" }, - ["@variable"] = { link = "NormalNC" }, - ["@lsp.type.variable"] = { fg = c.dimmed_subtle }, + -- Treesitter + ["@function"] = { link = "NormalNC" }, + ["@special"] = { link = "NormalNC" }, + ["@variable"] = { link = "NormalNC" }, + ["@lsp.type.variable"] = { fg = c.dimmed_subtle }, - -- UI Elements - CursorLine = { bg = c.highlight_subtle }, + -- UI Elements + CursorLine = { bg = c.highlight_subtle }, - DiagnosticError = { fg = c.diagnostic_error, italic = true }, - DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, - DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, - DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, - DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, - DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, + DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, + DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, + DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, - DiagnosticSignError = { fg = c.diagnostic_error }, - DiagnosticSignHint = { fg = c.diagnostic_hint }, - DiagnosticSignInfo = { fg = c.diagnostic_info }, - DiagnosticSignWarn = { fg = c.diagnostic_warning }, - LineNr = { fg = c.dimmed, italic = true }, - IndentLine = { fg = c.background }, - IndentLineCurrent = { fg = c.dimmed }, - TreesitterContext = { reverse = true }, - TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, - InclineNormal = { bg = c.background }, - InclineNormalNC = { bg = c.background }, + DiagnosticSignError = { fg = c.diagnostic_error }, + DiagnosticSignHint = { fg = c.diagnostic_hint }, + DiagnosticSignInfo = { fg = c.diagnostic_info }, + DiagnosticSignWarn = { fg = c.diagnostic_warning }, + LineNr = { fg = c.dimmed, italic = true }, + IndentLine = { fg = c.background }, + IndentLineCurrent = { fg = c.dimmed }, + TreesitterContext = { reverse = true }, + TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, + InclineNormal = { bg = c.background }, + InclineNormalNC = { bg = c.background }, - WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg }, - Title = { fg = c.foreground, bold = true }, + WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, + NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg }, + Title = { fg = c.foreground, bold = true }, - FloatBorder = { fg = c.dialog_fg }, - FloatTitle = { fg = c.dialog_fg, bold = true }, + FloatBorder = { fg = c.dialog_fg }, + FloatTitle = { fg = c.dialog_fg, bold = true }, - MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, - MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, - MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true }, - MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueSeparator = { link = "NormalFloat" }, + MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, + MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true }, + MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, + MiniClueSeparator = { link = "NormalFloat" }, - NoiceMini = { fg = c.foreground, italic = true }, + BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, + BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpLabel = { link = 'BlinkCmpMenu' }, + BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true }, - TelescopeNormal = { fg = c.foreground, bg = c.background }, - TelescopeBorder = { bold = true }, - TelescopeSelection = { bg = c.selection }, - TelescopeResultsNormal = { fg = c.foreground, bold = true }, - TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, + BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground }, + BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg }, + BlinkCmpDocDetail = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, - Visual = { bg = c.selection }, - LspReferenceText = { fg = c.highlight_intense, undercurl = true }, + NeoCodeiumSuggestion = { fg = c.suggestion , bold = true, italic = true }, + + NoiceMini = { fg = c.foreground, italic = true }, + + TelescopeNormal = { fg = c.foreground, bg = c.background }, + TelescopeBorder = { bold = true }, + TelescopeSelection = { bg = c.selection }, + TelescopeResultsNormal = { fg = c.foreground, bold = true }, + TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, + + Visual = { bg = c.selection }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, } vim.cmd("hi clear") if vim.fn.exists("syntax_on") == 1 then - vim.cmd("syntax reset") + vim.cmd("syntax reset") end for group, hl in pairs(theme) do - vim.api.nvim_set_hl(0, group, hl) + vim.api.nvim_set_hl(0, group, hl) end vim.g.colors_name = "dieter" From b433ecef3c8ee18247ab1041a020de28ba368fbc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 9 Nov 2024 10:09:10 +0100 Subject: [PATCH 464/656] nvim: blink-cmp 0.5.1 + styling --- flake.lock | 45 +++++++++----- flake.nix | 1 + home/common/nvim/default.nix | 34 +++++++--- home/common/nvim/dieter/lua/dieter/init.lua | 22 ++++--- home/common/nvim/init.lua | 14 ++++- home/common/nvim/lsp.lua | 69 +++++++-------------- overlays/default.nix | 2 +- 7 files changed, 108 insertions(+), 79 deletions(-) diff --git a/flake.lock b/flake.lock index 5f1ffe7..3c15964 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1730931741, - "narHash": "sha256-UMqGcC+14MCiTdyMrUrVX/4wJvOBXhCNdR/bt6mTank=", + "lastModified": 1731023348, + "narHash": "sha256-9k2ynQywm8AWi27C2o+/KAFpqV6PwZgaSyqhSqW8ZOs=", "ref": "refs/heads/main", - "rev": "444cf3b402f658f33b76a05b9e43dfc2df89f892", - "revCount": 7904, + "rev": "75fe0b2dfb200dda2622b0fbc790e9451ffff236", + "revCount": 7916, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1730914682, - "narHash": "sha256-UHFvVeJY64rA5HKoeKCLuJET224GEDGdj7/m1PuShgw=", + "lastModified": 1731111231, + "narHash": "sha256-8u8k3hnU5OxlXfhDLD3XEwAqv/M9Tb5USLCEPvXCPcM=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "59630b2edb91b71ac0a60b865aaa91cd39946577", + "rev": "702364e6ec794961483eba5220ca531917d03784", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1730893053, - "narHash": "sha256-ifiJfPkhyg/9I9aJSbtcHy3jRV4CLig7iF9ACQUycPU=", + "lastModified": 1731083384, + "narHash": "sha256-0uH8SSP6/eqCuDvUCV+s1ZwjLg6512Vj9dgKKO0iEmE=", "owner": "neovim", "repo": "neovim", - "rev": "f7e32fb6e626ab198bf401765236783890f3a0d6", + "rev": "ad3472e291694b6c589d8a664459b03962eaac95", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730831018, - "narHash": "sha256-2S0HwIFRxYp+afuoFORcZA9TjryAf512GmE0MTfEOPU=", + "lastModified": 1730958623, + "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c4dc69b9732f6bbe826b5fbb32184987520ff26", + "rev": "85f7e662eda4fa3a995556527c87b2524b691933", "type": "github" }, "original": { @@ -293,6 +293,22 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1730958623, + "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { "lastModified": 1730785428, @@ -316,7 +332,8 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "systems": { diff --git a/flake.nix b/flake.nix index b026f57..848f99f 100644 --- a/flake.nix +++ b/flake.nix @@ -17,6 +17,7 @@ neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index be14dd2..04b5299 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -46,23 +46,45 @@ ]; plugins = with pkgs.vimPlugins; [ + friendly-snippets go-nvim rustaceanvim targets-vim ts-comments-nvim { - plugin = blink-cmp; + plugin = nvim-lspconfig; + type = "lua"; + config = lib.fileContents ./lsp.lua; + } + + { + plugin = pkgs.nixpkgs-unstable.vimPlugins.blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ - keymap = 'super-tab', + keymap = { + preset = 'enter', + ["<PageDown>"] = { "scroll_documentation_down" }, + ["<PageUp>"] = { "scroll_documentation_up" }, + }, + trigger = { + completion = { + show_in_snippet = true, + }, + signature_help = { + enabled = true, + }, + }, windows = { autocomplete = { border = 'none', + selection = 'preselect', }, documentation = { border = 'rounded', + auto_show = false, + auto_show_delay_ms = 800, }, signature_help = { border = 'rounded', @@ -88,7 +110,7 @@ src = pkgs.fetchFromGitHub { owner = "monkoose"; repo = "neocodeium"; - rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; }; }; @@ -141,12 +163,6 @@ type = "lua"; config = lib.fileContents ./mini.lua; } - - { - plugin = nvim-lspconfig; - type = "lua"; - config = lib.fileContents ./lsp.lua; - } ]; }; } diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index ab00a33..1e0d459 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -156,17 +156,25 @@ local theme = { InclineNormalNC = { bg = c.background }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.dialog_bg, fg = c.dialog_fg }, + NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, + FloatBorder = { fg = c.doc_fg }, + FloatTitle = { fg = c.doc_fg, bold = true }, + Title = { fg = c.foreground, bold = true }, - FloatBorder = { fg = c.dialog_fg }, - FloatTitle = { fg = c.dialog_fg, bold = true }, - + MiniPickNormal = { link = "Normal" }, + MiniPickBorder = { link = "MiniPickNormal" }, + MiniPickBorderText = { link = "MiniPickBorder" }, MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, - MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, - MiniClueNextKey = { bg = c.dialog_bg, fg = c.dialog_fg, bold = true }, + + MiniClueBorder = { link = "MiniPickNormal" }, + MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, + MiniClueNextKey = { link = "MiniClueTitle" }, MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueSeparator = { link = "NormalFloat" }, + MiniClueDescSingle = { bg = c.background, fg = c.foreground }, + MiniClueSeparator = { link = "MiniClueBorder" }, + + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index bc847e8..823392f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -86,6 +86,7 @@ vim.fn.sign_define( { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } ) + -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() if vim.snippet.active({ direction = 1 }) then @@ -128,11 +129,20 @@ vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set("n", "zz", "zt", { remap = true }) vim.keymap.set({ "n", "v" }, "<Leader>y", '"+y', opts("Yank to clipboard")) -vim.keymap.set("n", "K", vim.lsp.buf.hover, {}) vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts("Declaration")) vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts("Definition")) vim.keymap.set("n", "gi", vim.lsp.buf.implementation, opts("Implementation")) vim.keymap.set("n", "gr", vim.lsp.buf.references, opts("Buffer References")) vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, opts("Type Definition")) -vim.keymap.set({"n", "i"}, "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) +vim.keymap.set({ "n", "i" }, "<M-k>", vim.lsp.buf.signature_help, opts("Signature Help")) vim.keymap.set({ "n", "v" }, "<Leader>aa", vim.lsp.buf.code_action, opts("Code Action")) +vim.keymap.set("n", "K", function() + vim.lsp.buf.hover { + border = 'rounded', + max_height = 24, + max_width = 80, + offset_x = 2, + } + end, {}) + + diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 94f92fe..b767736 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,26 +1,6 @@ -vim.api.nvim_create_autocmd("LspAttach", { - group = vim.api.nvim_create_augroup("UserLspConfig", {}), - callback = function(ev) - -- Enable completion triggered by <c-x><c-o> - vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" - - -- Buffer local mappings. - -- See `:help vim.lsp.*` for documentation on any of the below functions - local opts = function(str) - return { buffer = ev.buf, desc = str } - end - - local client = vim.lsp.get_client_by_id(ev.data.client_id) - if client.server_capabilities.codeLensProvider then - vim.lsp.codelens.refresh({ bufnr = bufnr }) - end - end, -}) - local configs = require('lspconfig.configs') local lspconfig = require("lspconfig") local capabilities = vim.lsp.protocol.make_client_capabilities() - local servers = { 'gopls', 'nil_ls', @@ -30,39 +10,36 @@ local servers = { for _, ls in ipairs(servers) do lspconfig[ls].setup { capabilities = capabilities, - on_attach = function(_, buf) - vim.api.nvim_set_option_value('omnifunc', 'v:lua.MiniCompletion.completefunc_lsp', {buf = buf}) - end, } end lspconfig.nixd.setup({ capabilities = capabilities, - cmd = { "nixd" }, - settings = { - nixd = { - nixpkgs = { expr = "import <nixpkgs> { }" }, - formatting = { command = { "nixfmt" } }, - options = {}, - }, - }, + cmd = { "nixd" }, + settings = { + nixd = { + nixpkgs = { expr = "import <nixpkgs> { }" }, + formatting = { command = { "nixfmt" } }, + options = {}, + }, + }, }) lspconfig.lua_ls.setup({ capabilities = capabilities, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - path = vim.split(package.path, ";"), - }, - diagnostics = { globals = { "vim", "hs" } }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, - }, - }, - }, - }, + settings = { + Lua = { + runtime = { + version = "LuaJIT", + path = vim.split(package.path, ";"), + }, + diagnostics = { globals = { "vim", "hs" } }, + workspace = { + library = { + [vim.fn.expand("$VIMRUNTIME/lua")] = true, + [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + }, + }, + }, + }, }) diff --git a/overlays/default.nix b/overlays/default.nix index 5b1e25a..9dd6924 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -16,7 +16,7 @@ system = final.system; config.allowUnfree = true; }; - unstable = import inputs.nixpkgs-unstable { + nixpkgs-unstable = import inputs.nixpkgs-unstable { system = final.system; config.allowUnfree = true; }; From 38ede1036e132ebae5debc8410b1b435d3fb7ffe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 9 Nov 2024 20:26:21 +0100 Subject: [PATCH 465/656] nix: upgrade --- flake.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index 3c15964..1f8baf1 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1731023348, - "narHash": "sha256-9k2ynQywm8AWi27C2o+/KAFpqV6PwZgaSyqhSqW8ZOs=", + "lastModified": 1731175169, + "narHash": "sha256-aKEBjS6pE+nhfct8sltRNuB9AlDdQ4ua8rR+DrkidyM=", "ref": "refs/heads/main", - "rev": "75fe0b2dfb200dda2622b0fbc790e9451ffff236", - "revCount": 7916, + "rev": "799877a436b43ea86c5ef9d711a6af4f7636dbb3", + "revCount": 7920, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1730883749, - "narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=", + "lastModified": 1730963269, + "narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dba414932936fde69f0606b4f1d87c5bc0003ede", + "rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc", "type": "github" }, "original": { From 8648722d9ab2d2589e239bf20a5074c770fff017 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 10 Nov 2024 14:18:24 +0100 Subject: [PATCH 466/656] nvim: remove nil lsp in favor of nixd --- home/common/nvim/lsp.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index b767736..7a8d0c5 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -3,7 +3,6 @@ local lspconfig = require("lspconfig") local capabilities = vim.lsp.protocol.make_client_capabilities() local servers = { 'gopls', - 'nil_ls', 'ts_ls', } From 663119c828c5f471de41da2a5d399b6f9c972438 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 10 Nov 2024 14:18:24 +0100 Subject: [PATCH 467/656] nvim: sort buffers by most recent use --- home/common/nvim/mini.lua | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 0b41ecd..2c71357 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -78,6 +78,60 @@ MiniPick.registry.grep_live_root = function(local_opts) return MiniPick.builtin.grep_live(local_opts, { source = { cwd = root_dir } }) end +require("mini.pick").registry.buffers = function(local_opts, opts) + local_opts = vim.tbl_deep_extend( + "force", + { sort_lastused = false, sort_mru = true, include_current = true, include_unlisted = false }, + local_opts or {} + ) + local buffers_output = vim.api.nvim_exec("buffers" .. (local_opts.include_unlisted and "!" or ""), true) + local cur_buf_id, include_current = vim.api.nvim_get_current_buf(), local_opts.include_current + local items = {} + local default_selection_idx = 1 + for _, l in ipairs(vim.split(buffers_output, "\n")) do + local buf_str, name = l:match("^%s*%d+"), l:match('"(.*)"') + local buf_id = tonumber(buf_str) + local flag = buf_id == vim.fn.bufnr("") and "%" or (buf_id == vim.fn.bufnr("#") and "#" or " ") + local item = { text = name, bufnr = buf_id, flag = flag } + if buf_id ~= cur_buf_id or include_current then + if local_opts.sort_lastused and not local_opts.ignore_current_buffer and flag == "#" then + default_selection_idx = 2 + end + if local_opts.sort_lastused and (flag == "#" or flag == "%") then + local idx = ((items[1] ~= nil and items[1].flag == "%") and 2 or 1) + table.insert(items, idx, item) + else + table.insert(items, item) + end + end + end + if local_opts.sort_mru then + table.sort(items, function(a, b) + return vim.fn.getbufinfo(a.bufnr)[1].lastused > vim.fn.getbufinfo(b.bufnr)[1].lastused + end) + end + + local show = function(buf_id, items, query) + require("mini.pick").default_show(buf_id, items, query, { show_icons = true }) + end + local default_opts = { source = { name = "Buffers", show = show } } + opts = vim.tbl_deep_extend("force", default_opts, opts or {}, { source = { items = items } }) + if default_selection_idx > 1 then + vim.api.nvim_create_autocmd("User", { + pattern = "MiniPickStart", + once = true, + callback = function() + local mappings = require("mini.pick").get_picker_opts().mappings + local keys = vim.fn["repeat"](mappings.move_down, default_selection_idx - 1) + vim.api.nvim_input(vim.api.nvim_replace_termcodes(keys, true, true, true)) + end, + }) + end + return require("mini.pick").start(opts) + end + + + local miniclue = require('mini.clue') miniclue.setup({ -- cute prompts about bindings From d82a46a490673050babf189fa940c92ce0d44659 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 10 Nov 2024 17:13:12 +0100 Subject: [PATCH 468/656] nvim: ignore /nix/store and cargo files in shada / oldfiles + friends --- home/common/nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 823392f..90f5db6 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -58,7 +58,10 @@ vim.o.fillchars = "stl: ,stlnc: ,eob:░,vert:│" vim.o.icm = "split" vim.o.list = false vim.o.scrolloff = 7 +vim.o.shada = vim.o.shada .. ',r~/.cargo/,r~/go/,r/nix/store/,r/run/,r/tmp/,rhealth:,rterm:' +vim.o.showcmd = false vim.o.showmode = false +vim.o.smoothscroll = true vim.o.splitkeep = "screen" vim.o.timeoutlen = 10 vim.o.timeout = true From 0496c8544bbb441bd0106e4a8a2fae895f1dfdb5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 12 Nov 2024 21:25:53 +0100 Subject: [PATCH 469/656] home: i like file --- home/common/devel.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/devel.nix b/home/common/devel.nix index 61999ee..c8e6c0a 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -8,6 +8,7 @@ codeium comma dogdns + file gnumake go just From a1906f23805512aaf42bfeb22803d1f8aba7e692 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 12 Nov 2024 21:25:53 +0100 Subject: [PATCH 470/656] jj: fewer log entries by default --- home/dln/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 929189e..4ec8164 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -62,7 +62,7 @@ in ui = { "default-command" = [ "log" - "--limit=25" + "--limit=10" "-T" "builtin_log_comfortable" ]; From 74e5882919a441e894b651a4556b4010bfcbf79e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 12 Nov 2024 21:25:53 +0100 Subject: [PATCH 471/656] Nix update --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 1f8baf1..79dd621 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1731175169, - "narHash": "sha256-aKEBjS6pE+nhfct8sltRNuB9AlDdQ4ua8rR+DrkidyM=", + "lastModified": 1731971697, + "narHash": "sha256-6JNMcpy0z19yOLBRt3eE4Rk4A96kcEsRv5+ym1hkv1c=", "ref": "refs/heads/main", - "rev": "799877a436b43ea86c5ef9d711a6af4f7636dbb3", - "revCount": 7920, + "rev": "29c3a52e964a97dddaed876ce472aeb167774acf", + "revCount": 8021, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1730814269, - "narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=", + "lastModified": 1731363552, + "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d70155fdc00df4628446352fc58adc640cd705c2", + "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1730837930, - "narHash": "sha256-0kZL4m+bKBJUBQse0HanewWO0g8hDdCvBhudzxgehqc=", + "lastModified": 1731968878, + "narHash": "sha256-+hTCwETOE9N8voTAaF+IzdUZz28Ws3LDpH90FWADrEE=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f607e07f3ac7e53541120536708e824acccfaa8", + "rev": "a42fa14b53ceab66274a21da480c9f8e06204173", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1731111231, - "narHash": "sha256-8u8k3hnU5OxlXfhDLD3XEwAqv/M9Tb5USLCEPvXCPcM=", + "lastModified": 1732002290, + "narHash": "sha256-v17KxlCf0O7hoD9AjiF94T2nuZuh7ZREyI6Ww/Tr4R0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "702364e6ec794961483eba5220ca531917d03784", + "rev": "2a9b9e821c7f91eb6ae540925a453f9ebacd0513", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1731083384, - "narHash": "sha256-0uH8SSP6/eqCuDvUCV+s1ZwjLg6512Vj9dgKKO0iEmE=", + "lastModified": 1731949793, + "narHash": "sha256-ZXZInL8J38JaVpglSPa78ptn1zlqbaRHDtpa73CqpfI=", "owner": "neovim", "repo": "neovim", - "rev": "ad3472e291694b6c589d8a664459b03962eaac95", + "rev": "989a37a594649528f28432388c0e7e28e8be2753", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1730958623, - "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "rev": "5083ec887760adfe12af64830a66807423a859a7", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1730963269, - "narHash": "sha256-rz30HrFYCHiWEBCKHMffHbMdWJ35hEkcRVU0h7ms3x0=", + "lastModified": 1731797254, + "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", "owner": "nixos", "repo": "nixpkgs", - "rev": "83fb6c028368e465cd19bb127b86f971a5e41ebc", + "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1730958623, - "narHash": "sha256-JwQZIGSYnRNOgDDoIgqKITrPVil+RMWHsZH1eE1VGN0=", + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "85f7e662eda4fa3a995556527c87b2524b691933", + "rev": "5083ec887760adfe12af64830a66807423a859a7", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1730785428, - "narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=", + "lastModified": 1731676054, + "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7", + "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", "type": "github" }, "original": { From 74c622efab5cbfbcbdf9722ae3c5a69fd5538282 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 19 Nov 2024 12:51:08 +0100 Subject: [PATCH 472/656] tmux: add stty command alias for resizing (serial) terminals --- home/common/tmux.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/tmux.nix b/home/common/tmux.nix index 141339e..d5b0687 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -31,6 +31,9 @@ setw -g window-status-format "" setw -g window-status-current-format "" setw -g window-status-separator "" + + set -s command-alias[1000] stty='run-shell "tmux send-keys \"stty cols #{pane_width} rows #{pane_height}\" Enter"' + bind -n M-1 if-shell 'tmux select-window -t nvim' refresh-client 'new-window -S -n nvim nvim --listen $XDG_RUNTIME_DIR/nvim-persistent.sock' bind -n M-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' bind -n M-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' From 0069a95e5d23c62f7351501546a2133d6f1df043 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 19 Nov 2024 16:48:04 +0100 Subject: [PATCH 473/656] fish: Prettier prompt w/jj desc in separator line --- home/common/fish.nix | 83 ++++++++++++++++++++++++++------------------ 1 file changed, 49 insertions(+), 34 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index cc620c9..40d2749 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -90,56 +90,71 @@ ''; fish_jj_prompt.body = '' - # Is jj installed? - if not command -sq jj - return 1 - end - - # Are we in a jj repo? - if not jj root --quiet &>/dev/null - return 1 + if not command -sq jj || not jj root --quiet &>/dev/null + return 1 end # Generate prompt - jj log --ignore-working-copy --no-graph --color always -r @ -T ' - separate( - " ", - change_id.shortest(), - coalesce( - surround( - "\"", - "\"", - if( - description.first_line().substr(0, 24).starts_with(description.first_line()), - description.first_line().substr(0, 24), - description.first_line().substr(0, 23) ++ "…" - ) - ), - "(no description set)" - ), - bookmarks.join(", "), - commit_id.shortest(), - if(conflict, "(conflict)"), - if(empty, "(empty)"), - if(divergent, "(divergent)"), - if(hidden, "(hidden)"), + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround("\e[0;35m", "\e[0m", bookmarks.join(":")), + separate( + " ", + surround("\e[0;1;95m", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;34m", "\e[0;2;3m", commit_id.shortest()), + ), + if(conflict, ""), + if(empty, ""), + if(divergent, ""), + if(hidden, ""), + ) + ) + ' + ''; + + fish_jj_desc.body = '' + if not command -sq jj || not jj root --quiet &>/dev/null + return 1 + end + + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" ) + ), + "…" + ), + ) ' ''; fish_prompt.body = '' - echo + echo -e "\033[1;2;38;5;236m" + string pad -c '┄' -w $COLUMNS (fish_jj_desc) + echo -ne "\033[0;3m" string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) ''; fish_right_prompt.body = '' - fish_jj_prompt || fish_vcs_prompt if test $CMD_DURATION -gt 3000 # Show duration of the last command in seconds set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.1fs", $1 / $2}') - echo " ⏳$duration" + echo -n "⏳$duration " end - + fish_jj_prompt || fish_vcs_prompt ''; transient_prompt_func.body = '' From 49bf77b97ffeb7a83825c505b5c55b2dd77bc0eb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 19 Nov 2024 22:20:34 +0100 Subject: [PATCH 474/656] fish: Add icons to jj fish prompt --- home/common/fish.nix | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 40d2749..44678fa 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -101,12 +101,9 @@ "\e[0m", separate( " ", - surround("\e[0;35m", "\e[0m", bookmarks.join(":")), - separate( - " ", - surround("\e[0;1;95m", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;34m", "\e[0;2;3m", commit_id.shortest()), - ), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), if(conflict, ""), if(empty, ""), if(divergent, ""), From fe829e19c51f31e59d61bee54395fb569dd49b33 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 13:50:07 +0100 Subject: [PATCH 475/656] fish: Remove right prompt. Put vcs info on terminal bottom line. --- home/common/fish.nix | 81 ++++++++++++++++---------------------------- 1 file changed, 30 insertions(+), 51 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 44678fa..d0384e1 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -94,66 +94,45 @@ return 1 end - # Generate prompt - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[2;3m", - "\e[0m", - separate( - " ", - surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), - surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), - if(conflict, ""), - if(empty, ""), - if(divergent, ""), - if(hidden, ""), - ) - ) - ' - ''; - - fish_jj_desc.body = '' - if not command -sq jj || not jj root --quiet &>/dev/null - return 1 - end - - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[0;2;3m", - "\e[0m", - coalesce( - surround( - "\e[1;2;3m❝", - "❞\e[0m", - if( - description.first_line().substr(0, 80).starts_with(description.first_line()), - description.first_line().substr(0, 80), - description.first_line().substr(0, 79) ++ "…" - ) + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround( + "\e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" + ) + ), + "…" ), - "…" ), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), + if(conflict, ""), + if(empty, ""), + if(divergent, ""), + if(hidden, ""), ) - ' + ) + ' ''; fish_prompt.body = '' - echo -e "\033[1;2;38;5;236m" - string pad -c '┄' -w $COLUMNS (fish_jj_desc) - echo -ne "\033[0;3m" + echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) ''; - fish_right_prompt.body = '' - if test $CMD_DURATION -gt 3000 - # Show duration of the last command in seconds - set duration (echo "$CMD_DURATION 1000" | awk '{printf "%.1fs", $1 / $2}') - echo -n "⏳$duration " - end - fish_jj_prompt || fish_vcs_prompt - ''; - transient_prompt_func.body = '' echo string join "" -- (set_color yellow) '❯ ' (set_color normal) From 8ad810254b438ef3b708b47561a35aaabe768a1e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 476/656] nemo: add woodpecker user for woodpecker-agent --- hosts/nemo/woodpecker.nix | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/hosts/nemo/woodpecker.nix b/hosts/nemo/woodpecker.nix index 8a4e963..f3cd5ec 100644 --- a/hosts/nemo/woodpecker.nix +++ b/hosts/nemo/woodpecker.nix @@ -4,6 +4,20 @@ ... }: { + + users.users.woodpecker = { + isSystemUser = true; + group = "woodpecker"; + extraGroups = [ + "docker" + "podman" + ]; + createHome = true; + home = "/etc/woodpecker"; + homeMode = "764"; + }; + users.groups.woodpecker = { }; + services.woodpecker-agents.agents.docker = { enable = true; package = pkgs.woodpecker-agent; @@ -27,7 +41,11 @@ ]; # restartIfChanged = false; serviceConfig = { + User = "woodpecker"; + Group = "woodpecker"; + WorkingDirectory = "/etc/woodpecker"; BindPaths = [ "/run/podman/podman.sock" ]; }; }; + } From 010e4bc4d703f0b02e6ef7aac73dc006e0e41fd2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 477/656] ghostty: automatic switching between light/dark themes --- home/common/ghostty.nix | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index caa6992..5ecdc06 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -5,25 +5,11 @@ pkgs, ... }: -let - launch-ghostty = pkgs.writeShellApplication { - name = "launch-ghostty"; - text = '' - if [ "$(gsettings get org.gnome.desktop.interface color-scheme)" = "'prefer-dark'" ]; then - theme="theme_dark" - else - theme="theme_light" - fi - exec ghostty --config-file="$HOME/.config/ghostty/$theme" "$@" - ''; - }; -in { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ inputs.ghostty.packages.${pkgs.system}.default - launch-ghostty ]; programs.ghostty = { @@ -56,6 +42,7 @@ in window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; + theme = "light:PatagiaLight,dark:PatagiaDark"; keybind = [ "alt+shift+c=copy_to_clipboard" @@ -76,7 +63,7 @@ in }; }; - xdg.configFile."ghostty/theme_dark".text = '' + xdg.configFile."ghostty/themes/PatagiaDark".text = '' background = #0d1117 foreground = #b2b2b2 cursor-color = #00d992 @@ -100,7 +87,7 @@ in palette = 15=#ffffff ''; - xdg.configFile."ghostty/theme_light".text = '' + xdg.configFile."ghostty/themes/PatagiaLight".text = '' background = #fefeff foreground = #222222 cursor-color = #aa0000 @@ -130,13 +117,13 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; settings = { StartupWMClass = "com.mitchellh.ghostty-local"; - TryExec = "launch-ghostty"; + TryExec = "ghostty"; }; terminal = false; type = "Application"; @@ -147,13 +134,13 @@ in "System" "TerminalEmulator" ]; - exec = ''launch-ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; settings = { StartupWMClass = "com.mitchellh.ghostty-nemo"; - TryExec = "launch-ghostty"; + TryExec = "ghostty"; }; terminal = false; type = "Application"; From 2994a40003ba2fd64ad816630d40fbc00d3edbf2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 14:52:59 +0100 Subject: [PATCH 478/656] nix: update --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 79dd621..5f5e30f 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1731971697, - "narHash": "sha256-6JNMcpy0z19yOLBRt3eE4Rk4A96kcEsRv5+ym1hkv1c=", + "lastModified": 1732159111, + "narHash": "sha256-dIHQDtvPXsuv0z6DVgK6GvTh/jJn14B7Q9J0gT38Pl4=", "ref": "refs/heads/main", - "rev": "29c3a52e964a97dddaed876ce472aeb167774acf", - "revCount": 8021, + "rev": "63bf16ff00ccac2f730519b4f0dd14cde857792d", + "revCount": 8050, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1732021966, + "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1731968878, - "narHash": "sha256-+hTCwETOE9N8voTAaF+IzdUZz28Ws3LDpH90FWADrEE=", + "lastModified": 1732025103, + "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", "owner": "nix-community", "repo": "home-manager", - "rev": "a42fa14b53ceab66274a21da480c9f8e06204173", + "rev": "a46e702093a5c46e192243edbd977d5749e7f294", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732002290, - "narHash": "sha256-v17KxlCf0O7hoD9AjiF94T2nuZuh7ZREyI6Ww/Tr4R0=", + "lastModified": 1732173780, + "narHash": "sha256-pszcETwWdItBmb/Z2CqIiTfEiVl3K5TPpgFSwyQrghY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "2a9b9e821c7f91eb6ae540925a453f9ebacd0513", + "rev": "151fab1aa35e1cbc6f5caad1e175e3d621d67951", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1731949793, - "narHash": "sha256-ZXZInL8J38JaVpglSPa78ptn1zlqbaRHDtpa73CqpfI=", + "lastModified": 1732143030, + "narHash": "sha256-XKPsbjqHmwbiyzZdqNtw0tKxWLGFCkVB1+Awbi8tjQU=", "owner": "neovim", "repo": "neovim", - "rev": "989a37a594649528f28432388c0e7e28e8be2753", + "rev": "07db909eb5ae2a559771068be64439eba394cd61", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1731676054, - "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=", + "lastModified": 1732014248, + "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add", + "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", "type": "github" }, "original": { From 4e803491d6b652bb581752125315860a60244792 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 16:40:26 +0100 Subject: [PATCH 479/656] nvim: add <Leader>ub to toggle light/dark background --- home/common/nvim/init.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 90f5db6..88c9353 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -147,5 +147,8 @@ vim.keymap.set("n", "K", function() offset_x = 2, } end, {}) +vim.keymap.set("n", "<Leader>ub", function() + vim.o.background = (vim.o.background == "light" and "dark" or "light") + end, opts("Toggle dark/light background")) From e3858e3adf847e1ae9e87dca19003e9db5b362e4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:09:59 +0100 Subject: [PATCH 480/656] nvim: blink-cmp has been merged to unstable --- home/common/nvim/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 04b5299..f5fa34b 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -59,7 +59,7 @@ } { - plugin = pkgs.nixpkgs-unstable.vimPlugins.blink-cmp; + plugin = blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ From b09da9efbec2df0554741cf38f36e54252b22bab Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:11:29 +0100 Subject: [PATCH 481/656] ghostty+nvim: try on some oled black background --- home/common/ghostty.nix | 2 +- home/common/nvim/dieter/lua/dieter/init.lua | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 5ecdc06..6e64ed6 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,7 +64,7 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = #0d1117 + background = #000000 foreground = #b2b2b2 cursor-color = #00d992 selection-background = #d7d7d7 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 1e0d459..b232d82 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,7 +39,7 @@ local colors = { }, dark = { - background = hsl(216, 28, 7), + background = hsl(216, 28, 0), foreground = hsl(0, 0, 80), accent1 = hsl(12, 100, 50), From 18a27db98390f7c4a9a54e7a905a71d9a7de6426 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 21 Nov 2024 20:11:29 +0100 Subject: [PATCH 482/656] nix: update --- flake.lock | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/flake.lock b/flake.lock index 5f5e30f..6e34ac7 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732159111, - "narHash": "sha256-dIHQDtvPXsuv0z6DVgK6GvTh/jJn14B7Q9J0gT38Pl4=", + "lastModified": 1732647216, + "narHash": "sha256-blOW/hA7AxMlltpIVM08iy0YYWWjmYSbOiZsPj9Ocms=", "ref": "refs/heads/main", - "rev": "63bf16ff00ccac2f730519b4f0dd14cde857792d", - "revCount": 8050, + "rev": "c5a711a0e3e23ce5b89b49609c87f85c990a8306", + "revCount": 8112, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732025103, - "narHash": "sha256-qjEI64RKvDxRyEarY0jTzrZMa8ebezh2DEZmJJrpVdo=", + "lastModified": 1732482255, + "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", "owner": "nix-community", "repo": "home-manager", - "rev": "a46e702093a5c46e192243edbd977d5749e7f294", + "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732173780, - "narHash": "sha256-pszcETwWdItBmb/Z2CqIiTfEiVl3K5TPpgFSwyQrghY=", + "lastModified": 1732602555, + "narHash": "sha256-S6LcEOdbc5YlHDXJvCH5H03DNuBwrLBkRic+EQrmd/8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "151fab1aa35e1cbc6f5caad1e175e3d621d67951", + "rev": "c868a93ed4dcb19861474661d3f8cf5b8bbb01d2", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732143030, - "narHash": "sha256-XKPsbjqHmwbiyzZdqNtw0tKxWLGFCkVB1+Awbi8tjQU=", + "lastModified": 1732578787, + "narHash": "sha256-2vEA6SuddlQh6agDXTk2Um1NSSxcXzLmErOUdJ9ffGE=", "owner": "neovim", "repo": "neovim", - "rev": "07db909eb5ae2a559771068be64439eba394cd61", + "rev": "66bb1e577c96d8eb63c04dcc737394b4ce2b0f5d", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1732238832, + "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", "type": "github" }, "original": { From e7d96ac4c0a81b0c7eebacfe0879041b81ff74aa Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 24 Nov 2024 19:18:53 +0100 Subject: [PATCH 483/656] fish: fix viddy arguments for `w` --- home/common/fish.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index d0384e1..4452d23 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -162,7 +162,7 @@ tree = "eza --tree"; top = "btm --basic --enable_cache_memory --battery"; ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; - w = "viddy -n1 $history[1]"; + w = "viddy $history[1]"; xc = "fish_clipboard_copy"; }; }; From 9a31f83e80178dd8994e0997663bc2541fc73d2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 484/656] ghostty+nvim: color tweaks to please the eyeballs --- home/common/ghostty.nix | 4 ++-- home/common/nvim/dieter/lua/dieter/init.lua | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6e64ed6..8cd92f2 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,8 +64,8 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = #000000 - foreground = #b2b2b2 + background = "#14151a" + foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 selection-foreground = #000000 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index b232d82..243c8bf 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,8 +39,8 @@ local colors = { }, dark = { - background = hsl(216, 28, 0), - foreground = hsl(0, 0, 80), + background = hsl(230, 13, 9), + foreground = hsl(216, 12, 84), accent1 = hsl(12, 100, 50), From dfa99a5d4c7a1c45cf59f966655cafe314d9393f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 23:31:06 +0100 Subject: [PATCH 485/656] ghostty: run tmux in shell --- home/common/ghostty.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 8cd92f2..ecb79c3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -64,7 +64,9 @@ }; xdg.configFile."ghostty/themes/PatagiaDark".text = '' - background = "#14151a" + # background = "#14151a" + # foreground = "#d1d5db" + background = "#000000" foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 @@ -117,7 +119,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "fish -c tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -134,7 +136,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo fish -c tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 71660705f0ce156dc3ce216d29572e54ae9f07a8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 486/656] nvim: mini.pick ripgrep->rg tool name --- home/common/nvim/mini.lua | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 2c71357..f1de03f 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -69,7 +69,7 @@ MiniPick.registry.files_root = function(local_opts) local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) local_opts.cwd = root_dir local_opts.tool = "rg" - return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "ripgrep" } }) + return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "rg" } }) end MiniPick.registry.grep_live_root = function(local_opts) local root_patterns = { ".jj", ".git" } @@ -130,9 +130,6 @@ require("mini.pick").registry.buffers = function(local_opts, opts) return require("mini.pick").start(opts) end - - - local miniclue = require('mini.clue') miniclue.setup({ -- cute prompts about bindings triggers = { From a7aa9c7a7204061d601dbbb63779e000682b1ad0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 487/656] vcs+rg: fix ignore globs --- home/common/utils.nix | 11 +++++++---- home/common/vcs.nix | 5 ++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 0a608da..d9b5abe 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -53,10 +53,13 @@ ripgrep = { enable = true; arguments = [ - "--glob=!.git/*" - "--glob=!.jj/*" - "--glob=!result/*" - "--glob=!target/*" + "--glob=!**/.cache/*" + "--glob=!**/.direnv/*" + "--glob=!**/.git/*" + "--glob=!**/.jj/*" + "--glob=!**/{node_modules,.npm,dist}/*" + "--glob=!**/target/*" + "--glob=!**/result/*" ]; }; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index fde4105..34ec497 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -116,9 +116,12 @@ "*.so" "*.swp" ".direnv" + ".env" ".idea" + ".nixos-test-history" ".null-ls_*" - "result" + "/result*" + "/target" ]; signing = { From e1c3fd6cb8771c188f8b99d9531075bef4f59c64 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 488/656] ghostty+nvim: Add oled mode for darker darks on laptop --- home/common/default.nix | 1 + home/common/ghostty.nix | 10 ++++++---- home/common/nvim/dieter/lua/dieter/init.lua | 2 +- home/dln/dinky.nix | 4 ++++ 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/home/common/default.nix b/home/common/default.nix index 3a2a686..e66ef79 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -19,4 +19,5 @@ ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; + options.patagia.oled.enable = lib.mkEnableOption "Darker darks on oled screens"; } diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ecb79c3..d0842e5 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -63,10 +63,12 @@ }; }; - xdg.configFile."ghostty/themes/PatagiaDark".text = '' - # background = "#14151a" - # foreground = "#d1d5db" - background = "#000000" + xdg.configFile."ghostty/themes/PatagiaDark".text = + let + background = if config.patagia.oled.enable then "#000000" else "#14151a"; + in + '' + background = "${background}" foreground = "#d1d5db" cursor-color = #00d992 selection-background = #d7d7d7 diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 243c8bf..0e39bd7 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -39,7 +39,7 @@ local colors = { }, dark = { - background = hsl(230, 13, 9), + background = "NONE", foreground = hsl(216, 12, 84), accent1 = hsl(12, 100, 50), diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index ba0b79e..fd47c55 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -5,6 +5,10 @@ ./desktop.nix ]; + patagia = { + oled.enable = true; + }; + dconf.settings = { "org/gnome/shell" = { enabled-extensions = [ "Battery-Health-Charging@maniacx.github.com" ]; From 3dee43330ac8a488a2417acf192f7eeacaaf157f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 489/656] nvim: clear Normal group and use terminal defaults for background+foreground --- home/common/nvim/dieter/lua/dieter/init.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 0e39bd7..4ba8e4c 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -2,8 +2,8 @@ local hsl = require("dieter.hsl").hslToHex local colors = { light = { - background = hsl(240, 100, 100), - foreground = hsl(0, 0, 13), + background = "NONE", + foreground = "NONE", accent1 = hsl(12, 100, 50), @@ -40,7 +40,7 @@ local colors = { dark = { background = "NONE", - foreground = hsl(216, 12, 84), + foreground = "NONE", accent1 = hsl(12, 100, 50), From 38a179be129014b8714338912de02d33ee7dfbfb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 490/656] README --- README.md | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index ea9d7aa..2ffa21f 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,3 @@ -# NixOS Config +# Configuration and various sundries -IT in a box! - -## Bootstrapping from a fresh NixOS installation - -1. Install NixOS -2. Clone this repo: - - ``` - nix-shell -p git --command 'git clone https://patagia.dev/dln/nixos-config.git' - ``` - -3. Ensure host configuration exists at `./nixos-config/hosts/${HOSTNAME}` and contains at minimum the hardware configuration. The NixOS installer will write this out to `/etc/nixos/hardware-configuration.nix`. -4. Apply configuration: - ``` - sudo nixos-rebuild boot --flake ./nixos-config#${HOSTNAME} - ``` - -## Use - -1. Clone this repo somewhere convenient, like `~/src/shelman/nixos-config` -2. Apply configuration: `just switch` - -## Update - -Update nixpkgs and switch: `just update` - -# Home Manager - -`just home-switch` +IT in a box. From b0668e2ef766583757e8821d34d9cc8a24796e1a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 491/656] nvim: Add blink.compat for nvim-cmp compatibility for blink.cmp https://github.com/Saghen/blink.compat --- home/common/nvim/default.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f5fa34b..eade3f0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -94,6 +94,22 @@ ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "blink.compat"; + src = pkgs.fetchFromGitHub { + owner = "saghen"; + repo = "blink.compat"; + rev = "cd2d3a040b76ad0eeab9a3bba48bc4c2b9d703bf"; # v1.0.2 + hash = "sha256-4uoehv/qe74IivgXc69ekYLod3Zo+oPUvXJHtt4wc2U="; + }; + }; + type = "lua"; + config = '' + require('blink.compat').setup() + ''; + } + { plugin = codeium-nvim; type = "lua"; From b6b4abddf52608c823dee6a526906ffe8ab09f2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 492/656] =?UTF-8?q?Revert=20running=20tmux=20from=20fish,?= =?UTF-8?q?=20set=20ripgrep=20config=20explicitly.=20There=20should=20be?= =?UTF-8?q?=20a=20better=20way=20to=20do=20this=3F=20=F0=9F=A4=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/common/ghostty.nix | 4 ++-- home/common/nvim/init.lua | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index d0842e5..025b156 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "fish -c tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -138,7 +138,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo fish -c tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 88c9353..5295c24 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -1,3 +1,5 @@ +vim.env.RIPGREP_CONFIG_PATH = vim.env.HOME .. "/.config/ripgrep/ripgreprc" + vim.g.mapleader = ' ' vim.g.maplocalleader = "," From 4dadbe3542ea8c43af593791e6dd971c4cd524b6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 27 Nov 2024 14:04:13 +0100 Subject: [PATCH 493/656] nix: update --- flake.lock | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/flake.lock b/flake.lock index 6e34ac7..2f56044 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1732722421, + "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732647216, - "narHash": "sha256-blOW/hA7AxMlltpIVM08iy0YYWWjmYSbOiZsPj9Ocms=", + "lastModified": 1732920523, + "narHash": "sha256-/Udch6RRLBSjluDXjQHWpiYFFJR15g+qV263ibVBwoc=", "ref": "refs/heads/main", - "rev": "c5a711a0e3e23ce5b89b49609c87f85c990a8306", - "revCount": 8112, + "rev": "3c637a2777885dab9f8bb9d2b7c36411d62e1e4c", + "revCount": 8136, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732482255, - "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=", + "lastModified": 1732884235, + "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", "owner": "nix-community", "repo": "home-manager", - "rev": "a9953635d7f34e7358d5189751110f87e3ac17da", + "rev": "819f682269f4e002884702b87e445c82840c68f2", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732602555, - "narHash": "sha256-S6LcEOdbc5YlHDXJvCH5H03DNuBwrLBkRic+EQrmd/8=", + "lastModified": 1732925246, + "narHash": "sha256-MjqyzOEa6s9OGO8SMh5C2kqo57+iSNsgDbzPBbpi4QU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c868a93ed4dcb19861474661d3f8cf5b8bbb01d2", + "rev": "7461a0b228bb48bb02af086f8b9ee9a83583120b", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732578787, - "narHash": "sha256-2vEA6SuddlQh6agDXTk2Um1NSSxcXzLmErOUdJ9ffGE=", + "lastModified": 1732903628, + "narHash": "sha256-JF8zmoLdqmbKCSS5Smf/Yj0jEl5f+qKhSubhPo/BvUM=", "owner": "neovim", "repo": "neovim", - "rev": "66bb1e577c96d8eb63c04dcc737394b4ce2b0f5d", + "rev": "2833925cfc688786759d6a980a1ad62b62d20570", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732238832, - "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", + "lastModified": 1732617236, + "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", + "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1731797254, - "narHash": "sha256-df3dJApLPhd11AlueuoN0Q4fHo/hagP75LlM5K1sz9g=", + "lastModified": 1732749044, + "narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8c38b73aeb218e27163376a2d617e61a2ad9b59", + "rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732238832, - "narHash": "sha256-sQxuJm8rHY20xq6Ah+GwIUkF95tWjGRd1X8xF+Pkk38=", + "lastModified": 1732937961, + "narHash": "sha256-B5pYT+IVaqcrfOekkwKvx/iToDnuQWzc2oyDxzzBDc4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8edf06bea5bcbee082df1b7369ff973b91618b8d", + "rev": "4703b8d2c708e13a8cab03d865f90973536dcdf5", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1732014248, - "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=", + "lastModified": 1732837521, + "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367", + "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", "type": "github" }, "original": { From 761b506dacdc09ea80f4c8ca92bde86153a55fc2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 494/656] desktop: nerd-fonts are split into separate packages now --- common/desktop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 52cc9d4..ebf6c6d 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -57,10 +57,9 @@ in }; packages = with pkgs; [ inter - jetbrains-mono liberation_ttf monaspace - (pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + nerd-fonts.symbols-only noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji From 0357c7ff0534af1315096579601be1eba2dd8f77 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 495/656] ghostty: add .desktop for secondary tmux session --- home/common/ghostty.nix | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 025b156..c1fbc4b 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s main"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -133,12 +133,29 @@ type = "Application"; }; + ghostty-local-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -s secondary -t main"''; + genericName = "Ghostty (local) Secondary"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (local) Secondary"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-local-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; + ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s0 -nt1"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s main"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 7a4712c057270ca54916e7fcbb6e87d09cd52c3b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 496/656] chore: typo --- common/laptop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/common/laptop.nix b/common/laptop.nix index a18c765..b91a011 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -7,12 +7,11 @@ let inherit (lib) mkIf mkEnableOption; - cfg = config.patagia.podman; in { options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; - config = mkIf cfg.enable { + config = mkIf config.laptop.enable { environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; services.fprintd.enable = true; From 37ddc9161358b2c81549b6449c242e07feef455c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 497/656] nvim: upgrade blink-cmp. lsp config for web stuff. --- home/common/nvim/default.nix | 43 +++++++++++---------- home/common/nvim/lsp.lua | 73 ++++++++++++++++++------------------ pkgs/blink-cmp/default.nix | 45 ++++++++++++++++++++++ pkgs/default.nix | 1 + 4 files changed, 106 insertions(+), 56 deletions(-) create mode 100644 pkgs/blink-cmp/default.nix diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index eade3f0..ce2f78b 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -42,6 +42,7 @@ shellcheck shfmt stylua + superhtml vscode-langservers-extracted ]; @@ -59,7 +60,7 @@ } { - plugin = blink-cmp; + plugin = pkgs.blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ @@ -68,27 +69,31 @@ ["<PageDown>"] = { "scroll_documentation_down" }, ["<PageUp>"] = { "scroll_documentation_up" }, }, - trigger = { - completion = { - show_in_snippet = true, - }, - signature_help = { - enabled = true, - }, - }, - windows = { - autocomplete = { - border = 'none', - selection = 'preselect', + completion = { + accept = { + auto_brackets = { + enabled = true, + }, }, + documentation = { - border = 'rounded', - auto_show = false, + auto_show = true, auto_show_delay_ms = 800, + window = { + border = 'rounded', + }, + ghost_text = { + enabled = true, + }, }, - signature_help = { - border = 'rounded', + + signature = { + enabled = true, + window = { + border = 'rounded', + }, }, + }, }) ''; @@ -100,8 +105,8 @@ src = pkgs.fetchFromGitHub { owner = "saghen"; repo = "blink.compat"; - rev = "cd2d3a040b76ad0eeab9a3bba48bc4c2b9d703bf"; # v1.0.2 - hash = "sha256-4uoehv/qe74IivgXc69ekYLod3Zo+oPUvXJHtt4wc2U="; + rev = "78f3f7187ff4a1444e952548c556d936da8f72fc"; # v2.1.2 + hash = "sha256-aqHDwrzPOyOw9UbJlQX10/cVQwNHg4v6i9jSm+pNKZc="; }; }; type = "lua"; diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 7a8d0c5..0123089 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,44 +1,43 @@ -local configs = require('lspconfig.configs') local lspconfig = require("lspconfig") -local capabilities = vim.lsp.protocol.make_client_capabilities() local servers = { - 'gopls', - 'ts_ls', -} + cssls = {}, + gopls = {}, + html = {}, + jsonls = {}, + superhtml = {}, + ts_ls = {}, -for _, ls in ipairs(servers) do - lspconfig[ls].setup { - capabilities = capabilities, - } -end - -lspconfig.nixd.setup({ - capabilities = capabilities, - cmd = { "nixd" }, - settings = { - nixd = { - nixpkgs = { expr = "import <nixpkgs> { }" }, - formatting = { command = { "nixfmt" } }, - options = {}, - }, - }, -}) - -lspconfig.lua_ls.setup({ - capabilities = capabilities, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - path = vim.split(package.path, ";"), - }, - diagnostics = { globals = { "vim", "hs" } }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + lua_ls = { + settings = { + Lua = { + runtime = { + version = "LuaJIT", + path = vim.split(package.path, ";"), + }, + diagnostics = { globals = { "vim", "hs" } }, + workspace = { + library = { + [vim.fn.expand("$VIMRUNTIME/lua")] = true, + [vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true, + }, }, }, }, }, -}) + + nixd = { + cmd = { "nixd" }, + settings = { + nixd = { + nixpkgs = { expr = "import <nixpkgs> { }" }, + formatting = { command = { "nixfmt" } }, + options = {}, + }, + }, + }, +} + +for server, config in pairs(servers) do + config.capabilities = require('blink.cmp').get_lsp_capabilities(config.capabilities) + lspconfig[server].setup(config) +end diff --git a/pkgs/blink-cmp/default.nix b/pkgs/blink-cmp/default.nix new file mode 100644 index 0000000..e9307e4 --- /dev/null +++ b/pkgs/blink-cmp/default.nix @@ -0,0 +1,45 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + stdenv, + vimUtils, +}: +let + version = "0.7.3"; + src = fetchFromGitHub { + owner = "Saghen"; + repo = "blink.cmp"; + rev = "refs/tags/v${version}"; + hash = "sha256-nxiODLKgGeXzN5sqkLWU0PcsuSSB1scSzTC5qyCxLCI="; + }; + libExt = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; + blink-fuzzy-lib = rustPlatform.buildRustPackage { + inherit version src; + pname = "blink-fuzzy-lib"; + env = { + # TODO: remove this if plugin stops using nightly rust + RUSTC_BOOTSTRAP = true; + }; + useFetchCargoVendor = true; + cargoHash = "sha256-XXI2jEoD6XbFNk3O8B6+aLzl1ZcJq1VinQXb+AOw8Rw="; + }; +in +vimUtils.buildVimPlugin { + pname = "blink-cmp"; + inherit version src; + preInstall = '' + mkdir -p target/release + ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} + ''; + meta = { + description = "Performant, batteries-included completion plugin for Neovim"; + homepage = "https://github.com/saghen/blink.cmp"; + maintainers = with lib.maintainers; [ + balssh + redxtech + ]; + }; + doInstallCheck = true; + nvimRequireCheck = "blink-cmp"; +} diff --git a/pkgs/default.nix b/pkgs/default.nix index ab3485b..1ee0f62 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,5 @@ pkgs: { + blink-cmp = pkgs.callPackage ./blink-cmp { }; gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; lazyjj = pkgs.callPackage ./lazyjj { }; From dc126a49d6df2482c80cc701ae194ee609be5467 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 498/656] nvim: add harper ls --- home/common/nvim/default.nix | 1 + home/common/nvim/lsp.lua | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index ce2f78b..152649f 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -30,6 +30,7 @@ go gopls gotools + harper lua-language-server nil nixd diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 0123089..fc149a2 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -7,6 +7,13 @@ local servers = { superhtml = {}, ts_ls = {}, + harper_ls = { + filetypes = { + "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", + "nix", "python", "ruby", "rust", "text", "toml", "typescript", "zig", + } + }, + lua_ls = { settings = { Lua = { From c94ce60795d70550d5655a56064d5a7a5df8d7e1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 499/656] ghostty: use hardcoded session names in tmux --- home/common/ghostty.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index c1fbc4b..977eedc 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -121,7 +121,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -s main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -D -s main -t main"''; genericName = "Ghostty (local)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local)"; @@ -138,7 +138,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -s secondary -t main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -D -s secondary -t main"''; genericName = "Ghostty (local) Secondary"; icon = "com.mitchellh.ghostty"; name = "Ghostty (local) Secondary"; @@ -155,7 +155,7 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -s main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -D -s main -t main"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; From 5c319ac288e3dbcaac73224774f09e582df3ce5b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 500/656] nvim: Iterate on colors --- home/common/nvim/dieter/lua/dieter/init.lua | 33 ++++++++++++--------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 4ba8e4c..e803a36 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -42,16 +42,18 @@ local colors = { background = "NONE", foreground = "NONE", - accent1 = hsl(12, 100, 50), + accent1 = hsl(202, 57, 57), -- Blue + accent2 = hsl(40, 57, 57), -- Yellow - dimmed = hsl(0, 0, 25), - dimmed_subtle = hsl(0, 0, 50), + dimmed = hsl(212, 19, 25), + -- dimmed_subtle = hsl(212, 19, 70), + dimmed_subtle = hsl(212, 5, 65), - highlight_subtle = hsl(0, 0, 6), + highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), - string = hsl(96, 50, 70), - comment = hsl(220, 50, 60), + string = hsl(96, 35, 60), + comment = hsl(2, 69, 68), comment_error = hsl(2, 85, 50), diagnostic_error = hsl(353, 100, 45), @@ -71,10 +73,6 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - -- dialog_bg = background, - -- dialog_fg = hsl(216, 70, 80), - -- dialog_bg = hsl(216, 25, 20), - -- selection = hsl(216, 25, 33), selection = hsl(213, 60, 40), cmp_bg = hsl(218, 30, 13), @@ -105,7 +103,7 @@ local theme = { Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, - String = { fg = c.string }, + String = { fg = c.string, italic = true }, Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, @@ -128,7 +126,8 @@ local theme = { ["@function"] = { link = "NormalNC" }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, - ["@lsp.type.variable"] = { fg = c.dimmed_subtle }, + ["@variable.parameter"] = { fg = c.accent2 }, + ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, @@ -148,8 +147,13 @@ local theme = { DiagnosticSignInfo = { fg = c.diagnostic_info }, DiagnosticSignWarn = { fg = c.diagnostic_warning }, LineNr = { fg = c.dimmed, italic = true }, - IndentLine = { fg = c.background }, - IndentLineCurrent = { fg = c.dimmed }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + + IndentLine = { fg = c.dimmed }, + IndentLineCurrent = { fg = c.dimmed_subtle }, + MiniIndentscopeSymbol = { link = "IndentLine" }, + MiniIndentscopeSymbolOff = { link = "IndentLine" }, + TreesitterContext = { reverse = true }, TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, InclineNormal = { bg = c.background }, @@ -200,6 +204,7 @@ local theme = { Visual = { bg = c.selection }, LspReferenceText = { fg = c.highlight_intense, undercurl = true }, + LspInlayHint = { fg = c.accent1, italic = true, bold = true }, } vim.cmd("hi clear") From aed9af6f4582bf87a817deb2b7ce72484818004d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 2 Dec 2024 09:42:24 +0100 Subject: [PATCH 501/656] nvim: enable inlay hints + toggling --- flake.lock | 56 ++++++++++++++++----------------- home/common/nvim/default.nix | 24 +++++++++++++- home/common/nvim/init.lua | 2 +- home/common/nvim/lsp.lua | 18 ++++++++++- home/common/nvim/rust.lua | 40 +++++++++++++++++++++++ home/common/nvim/treesitter.nix | 1 + 6 files changed, 110 insertions(+), 31 deletions(-) create mode 100644 home/common/nvim/rust.lua diff --git a/flake.lock b/flake.lock index 2f56044..294813a 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733269028, + "narHash": "sha256-kVq/jAKKtbvWwbL9wf0SKDxtxsC5Gb+nlIYEFnyXhGA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "e37654df08605b510ad84eceaafcc7248495e843", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1732920523, - "narHash": "sha256-/Udch6RRLBSjluDXjQHWpiYFFJR15g+qV263ibVBwoc=", + "lastModified": 1733235265, + "narHash": "sha256-BZBmyv2gY4SmanxCM0ZVYhYx7t2/Az/okDOQj+4RIso=", "ref": "refs/heads/main", - "rev": "3c637a2777885dab9f8bb9d2b7c36411d62e1e4c", - "revCount": 8136, + "rev": "50dc4b75d73bab7631e22e19e940331ad7ac8cfd", + "revCount": 8155, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1732884235, - "narHash": "sha256-r8j6R3nrvwbT1aUp4EPQ1KC7gm0pu9VcV1aNaB+XG6Q=", + "lastModified": 1733317578, + "narHash": "sha256-anN/LcP5IuqEARvhPETg1vnbyG3IQ0wdvSAYEJfIQzA=", "owner": "nix-community", "repo": "home-manager", - "rev": "819f682269f4e002884702b87e445c82840c68f2", + "rev": "ad48eb25cd0b00ce730da00fa1f8e6e6c27b397d", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1732925246, - "narHash": "sha256-MjqyzOEa6s9OGO8SMh5C2kqo57+iSNsgDbzPBbpi4QU=", + "lastModified": 1733314815, + "narHash": "sha256-FxQzRALeGEfZg7ZA+ArlGBbs3Jtwd7Tr7+E6iucHKDA=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7461a0b228bb48bb02af086f8b9ee9a83583120b", + "rev": "7545e949aa9bc2396130191100f1fbf9765bc448", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1732903628, - "narHash": "sha256-JF8zmoLdqmbKCSS5Smf/Yj0jEl5f+qKhSubhPo/BvUM=", + "lastModified": 1733247868, + "narHash": "sha256-TGXXXV/jWUBF2ZBiYt6RKIvUGpsefDe/RSXnUzejxMU=", "owner": "neovim", "repo": "neovim", - "rev": "2833925cfc688786759d6a980a1ad62b62d20570", + "rev": "ae93c7f369a174f3d738ab55030de2c9dfc10c57", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1732617236, - "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=", + "lastModified": 1733097829, + "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e", + "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1732749044, - "narHash": "sha256-T38FQOg0BV5M8FN1712fovzNakSOENEYs+CSkg31C9Y=", + "lastModified": 1733220138, + "narHash": "sha256-Yh5XZ9yVurrcYdNTSWxYgW4+EJ0pcOqgM1043z9JaRc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0c5b4ecbed5b155b705336aa96d878e55acd8685", + "rev": "bcb68885668cccec12276bbb379f8f2557aa06ce", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732937961, - "narHash": "sha256-B5pYT+IVaqcrfOekkwKvx/iToDnuQWzc2oyDxzzBDc4=", + "lastModified": 1733097829, + "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4703b8d2c708e13a8cab03d865f90973536dcdf5", + "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1732837521, - "narHash": "sha256-jNRNr49UiuIwaarqijgdTR2qLPifxsVhlJrKzQ8XUIE=", + "lastModified": 1733212471, + "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "970e93b9f82e2a0f3675757eb0bfc73297cc6370", + "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 152649f..b5599db 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -50,7 +50,6 @@ plugins = with pkgs.vimPlugins; [ friendly-snippets go-nvim - rustaceanvim targets-vim ts-comments-nvim @@ -116,6 +115,23 @@ ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "inlay-hints"; + src = pkgs.fetchFromGitHub { + owner = "MysticalDevil"; + repo = "inlay-hints.nvim"; + rev = "af84dee42cd118af6d592b06c1c0e45d6432a6c0"; # 2024-08-23 + hash = "sha256-DZVtFAUK9c8GInp+JdCQ1BKe0dkAheHKI67oxdMmA24="; + }; + }; + type = "lua"; + config = '' + require('inlay-hints').setup() + require("inlay-hints.utils").enable_inlay_hints() + ''; + } + { plugin = codeium-nvim; type = "lua"; @@ -185,6 +201,12 @@ type = "lua"; config = lib.fileContents ./mini.lua; } + + { + plugin = rustaceanvim; + type = "lua"; + config = lib.fileContents ./rust.lua; + } ]; }; } diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 5295c24..fbb6738 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -152,5 +152,5 @@ vim.keymap.set("n", "K", function() vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) - +vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index fc149a2..164c0cb 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -1,12 +1,27 @@ local lspconfig = require("lspconfig") local servers = { cssls = {}, - gopls = {}, html = {}, jsonls = {}, superhtml = {}, ts_ls = {}, + gopls = { + settings = { + gopls = { + hints = { + rangeVariableTypes = true, + parameterNames = true, + constantValues = true, + assignVariableTypes = true, + compositeLiteralFields = true, + compositeLiteralTypes = true, + functionTypeParameters = true, + }, + }, + }, + }, + harper_ls = { filetypes = { "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", @@ -22,6 +37,7 @@ local servers = { path = vim.split(package.path, ";"), }, diagnostics = { globals = { "vim", "hs" } }, + hint = { enable = true }, workspace = { library = { [vim.fn.expand("$VIMRUNTIME/lua")] = true, diff --git a/home/common/nvim/rust.lua b/home/common/nvim/rust.lua new file mode 100644 index 0000000..982daa7 --- /dev/null +++ b/home/common/nvim/rust.lua @@ -0,0 +1,40 @@ +vim.g.rustaceanvim = { + server = { + settings = { + ["rust-analyzer"] = { + inlayHints = { + bindingModeHints = { + enable = false, + }, + chainingHints = { + enable = true, + }, + closingBraceHints = { + enable = true, + minLines = 25, + }, + closureReturnTypeHints = { + enable = "never", + }, + lifetimeElisionHints = { + enable = "never", + useParameterNames = false, + }, + maxLength = 25, + parameterHints = { + enable = true, + }, + reborrowHints = { + enable = "never", + }, + renderColons = true, + typeHints = { + enable = true, + hideClosureInitialization = false, + hideNamedConstructor = false, + }, + }, + }, + }, + }, +} diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index 4fb87ec..d18b8ae 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -13,6 +13,7 @@ plugins = with pkgs.vimPlugins; [ ts-comments-nvim nvim-ts-context-commentstring + playground { plugin = nvim-treesitter-context; From 4465aa5abc8a1be9d0ce22a1fcd36bb29b40c35f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 5 Dec 2024 09:36:56 +0100 Subject: [PATCH 502/656] chore: fix typo --- common/laptop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/laptop.nix b/common/laptop.nix index b91a011..2e0d6da 100644 --- a/common/laptop.nix +++ b/common/laptop.nix @@ -11,7 +11,7 @@ in { options.patagia.laptop.enable = mkEnableOption "Laptop tools and configuration"; - config = mkIf config.laptop.enable { + config = mkIf config.patagia.laptop.enable { environment.systemPackages = with pkgs; [ gnomeExtensions.battery-health-charging ]; services.fprintd.enable = true; From da605daf0867c2d28cdd0bb105ff5460d9db3ce3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 5 Dec 2024 09:36:56 +0100 Subject: [PATCH 503/656] jj: upgrade to 0.24.0 --- flake.lock | 80 ++--- pkgs/jujutsu-openssh/Cargo.lock | 498 ++++++++++++++++--------------- pkgs/jujutsu-openssh/default.nix | 6 +- 3 files changed, 297 insertions(+), 287 deletions(-) diff --git a/flake.lock b/flake.lock index 294813a..77d0531 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1732722421, - "narHash": "sha256-HRJ/18p+WoXpWJkcdsk9St5ZiukCqSDgbOGFa8Okehg=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "9ed2ac151eada2306ca8c418ebd97807bb08f6ac", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1733269028, - "narHash": "sha256-kVq/jAKKtbvWwbL9wf0SKDxtxsC5Gb+nlIYEFnyXhGA=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "e37654df08605b510ad84eceaafcc7248495e843", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733235265, - "narHash": "sha256-BZBmyv2gY4SmanxCM0ZVYhYx7t2/Az/okDOQj+4RIso=", + "lastModified": 1733686035, + "narHash": "sha256-uhbYV9gdMAPgBFm5CiH3defxuzrVXD1HsxkZPUqMxoQ=", "ref": "refs/heads/main", - "rev": "50dc4b75d73bab7631e22e19e940331ad7ac8cfd", - "revCount": 8155, + "rev": "40ad31deea3d236ad762f2c21f2834af3b767bdb", + "revCount": 8184, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1732021966, - "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "3308484d1a443fc5bc92012435d79e80458fe43c", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -189,11 +189,11 @@ ] }, "locked": { - "lastModified": 1730903510, - "narHash": "sha256-mnynlrPeiW0nUQ8KGZHb3WyxAxA3Ye/BH8gMjdoKP6E=", + "lastModified": 1733333617, + "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "b89ac4d66d618b915b1f0a408e2775fe3821d141", + "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733317578, - "narHash": "sha256-anN/LcP5IuqEARvhPETg1vnbyG3IQ0wdvSAYEJfIQzA=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "ad48eb25cd0b00ce730da00fa1f8e6e6c27b397d", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1733314815, - "narHash": "sha256-FxQzRALeGEfZg7ZA+ArlGBbs3Jtwd7Tr7+E6iucHKDA=", + "lastModified": 1733618008, + "narHash": "sha256-8MM4WF1AapF9QWDJhoXGLcEKrLE3S75QA74YEQt0A18=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7545e949aa9bc2396130191100f1fbf9765bc448", + "rev": "b75d6c354368841ce4291142b79882362e574f61", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733247868, - "narHash": "sha256-TGXXXV/jWUBF2ZBiYt6RKIvUGpsefDe/RSXnUzejxMU=", + "lastModified": 1733614558, + "narHash": "sha256-JcI4DL5fn0KGX5TxoSLIxwTfi6rikRHsG/gI/7SUDIg=", "owner": "neovim", "repo": "neovim", - "rev": "ae93c7f369a174f3d738ab55030de2c9dfc10c57", + "rev": "4fcc5cd34a75df9a3088c83dc1a87aa6e37051e1", "type": "github" }, "original": { @@ -263,11 +263,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733097829, - "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", + "lastModified": 1733376361, + "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", + "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", "type": "github" }, "original": { @@ -279,11 +279,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733220138, - "narHash": "sha256-Yh5XZ9yVurrcYdNTSWxYgW4+EJ0pcOqgM1043z9JaRc=", + "lastModified": 1733384649, + "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bcb68885668cccec12276bbb379f8f2557aa06ce", + "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", "type": "github" }, "original": { @@ -295,11 +295,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733097829, - "narHash": "sha256-9hbb1rqGelllb4kVUCZ307G2k3/UhmA8PPGBoyuWaSw=", + "lastModified": 1733376361, + "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2c15aa59df0017ca140d9ba302412298ab4bf22a", + "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", "type": "github" }, "original": { @@ -311,11 +311,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733212471, - "narHash": "sha256-M1+uCoV5igihRfcUKrr1riygbe73/dzNnzPsmaLCmpo=", + "lastModified": 1733581040, + "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "55d15ad12a74eb7d4646254e13638ad0c4128776", + "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", "type": "github" }, "original": { diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock index f9d6918..5146150 100644 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ b/pkgs/jujutsu-openssh/Cargo.lock @@ -123,9 +123,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.93" +version = "1.0.94" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c95c10ba0b00a02636238b814946408b1322d5ac4760326e6fb8ec956d85775" +checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" [[package]] name = "arc-swap" @@ -178,17 +178,6 @@ version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" -[[package]] -name = "backoff" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1" -dependencies = [ - "getrandom", - "instant", - "rand", -] - [[package]] name = "backtrace" version = "0.3.73" @@ -204,17 +193,14 @@ dependencies = [ "rustc-demangle", ] -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - [[package]] name = "bitflags" version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] [[package]] name = "blake2" @@ -236,9 +222,9 @@ dependencies = [ [[package]] name = "bstr" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c" +checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" dependencies = [ "memchr", "regex-automata 0.4.8", @@ -357,9 +343,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.20" +version = "4.5.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b97f376d85a664d5837dbae44bf546e6477a679ff6610010f17276f686d867e8" +checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" dependencies = [ "clap_builder", "clap_derive", @@ -376,9 +362,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.20" +version = "4.5.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19bc80abd44e4bed93ca373a0704ccbd1b710dc5749406201bb018272808dc54" +checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" dependencies = [ "anstream", "anstyle", @@ -389,11 +375,14 @@ dependencies = [ [[package]] name = "clap_complete" -version = "4.5.37" +version = "4.5.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11611dca53440593f38e6b25ec629de50b14cdfa63adc0fb856115a2c6d97595" +checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" dependencies = [ "clap", + "clap_lex", + "is_executable", + "shlex", ] [[package]] @@ -585,7 +574,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" dependencies = [ - "bitflags 2.6.0", + "bitflags", "crossterm_winapi", "libc", "mio 0.8.11", @@ -727,21 +716,14 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "esl01-renderdag" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a1840969ab8be31e186bb6d2f672d586dcd203dd4019a80dc1277a14686eca9" -dependencies = [ - "bitflags 1.3.2", - "itertools 0.10.5", -] - [[package]] name = "faster-hex" version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" +dependencies = [ + "serde", +] [[package]] name = "fastrand" @@ -890,7 +872,7 @@ dependencies = [ [[package]] name = "gen-protos" -version = "0.23.0" +version = "0.24.0" dependencies = [ "prost-build", ] @@ -927,7 +909,7 @@ name = "git2" version = "0.19.0" source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", "libgit2-sys", "log", @@ -938,9 +920,9 @@ dependencies = [ [[package]] name = "gix" -version = "0.66.0" +version = "0.68.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9048b8d1ae2104f045cb37e5c450fc49d5d8af22609386bfc739c11ba88995eb" +checksum = "b04c66359b5e17f92395abc433861df0edf48f39f3f590818d1d7217327dd6a1" dependencies = [ "gix-actor", "gix-attributes", @@ -979,28 +961,28 @@ dependencies = [ "gix-worktree", "once_cell", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-actor" -version = "0.32.0" +version = "0.33.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc19e312cd45c4a66cd003f909163dc2f8e1623e30a0c0c6df3776e89b308665" +checksum = "32b24171f514cef7bb4dfb72a0b06dacf609b33ba8ad2489d4c4559a03b7afb3" dependencies = [ "bstr", "gix-date", "gix-utils", "itoa", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-attributes" -version = "0.22.5" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebccbf25aa4a973dd352564a9000af69edca90623e8a16dad9cbc03713131311" +checksum = "ddf9bf852194c0edfe699a2d36422d2c1f28f73b7c6d446c3f0ccd3ba232cadc" dependencies = [ "bstr", "gix-glob", @@ -1009,33 +991,33 @@ dependencies = [ "gix-trace", "kstring", "smallvec", - "thiserror", + "thiserror 2.0.4", "unicode-bom", ] [[package]] name = "gix-bitmap" -version = "0.2.11" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a371db66cbd4e13f0ed9dc4c0fea712d7276805fccc877f77e96374d317e87ae" +checksum = "d48b897b4bbc881aea994b4a5bbb340a04979d7be9089791304e04a9fbc66b53" dependencies = [ - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-chunk" -version = "0.4.8" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45c8751169961ba7640b513c3b24af61aa962c967aaf04116734975cd5af0c52" +checksum = "c6ffbeb3a5c0b8b84c3fe4133a6f8c82fa962f4caefe8d0762eced025d3eb4f7" dependencies = [ - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-command" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dff2e692b36bbcf09286c70803006ca3fd56551a311de450be317a0ab8ea92e7" +checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" dependencies = [ "bstr", "gix-path", @@ -1045,23 +1027,23 @@ dependencies = [ [[package]] name = "gix-commitgraph" -version = "0.24.3" +version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "133b06f67f565836ec0c473e2116a60fb74f80b6435e21d88013ac0e3c60fc78" +checksum = "a8da6591a7868fb2b6dabddea6b09988b0b05e0213f938dbaa11a03dd7a48d85" dependencies = [ "bstr", "gix-chunk", "gix-features", "gix-hash", "memmap2", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-config" -version = "0.40.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78e797487e6ca3552491de1131b4f72202f282fb33f198b1c34406d765b42bb0" +checksum = "6649b406ca1f99cb148959cf00468b231f07950f8ec438cc0903cda563606f19" dependencies = [ "bstr", "gix-config-value", @@ -1073,41 +1055,41 @@ dependencies = [ "memchr", "once_cell", "smallvec", - "thiserror", + "thiserror 2.0.4", "unicode-bom", - "winnow 0.6.18", + "winnow", ] [[package]] name = "gix-config-value" -version = "0.14.8" +version = "0.14.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03f76169faa0dec598eac60f83d7fcdd739ec16596eca8fb144c88973dbe6f8c" +checksum = "49aaeef5d98390a3bcf9dbc6440b520b793d1bf3ed99317dc407b02be995b28e" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-path", "libc", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-date" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c84b7af01e68daf7a6bb8bb909c1ff5edb3ce4326f1f43063a5a96d3c3c8a5" +checksum = "691142b1a34d18e8ed6e6114bc1a2736516c5ad60ef3aa9bd1b694886e3ca92d" dependencies = [ "bstr", "itoa", "jiff", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-diff" -version = "0.46.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92c9afd80fff00f8b38b1c1928442feb4cd6d2232a6ed806b6b193151a3d336c" +checksum = "a327be31a392144b60ab0b1c863362c32a1c8f7effdfa2141d5d5b6b916ef3bf" dependencies = [ "bstr", "gix-command", @@ -1118,16 +1100,17 @@ dependencies = [ "gix-path", "gix-tempfile", "gix-trace", + "gix-traverse", "gix-worktree", "imara-diff", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-discover" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0577366b9567376bc26e815fd74451ebd0e6218814e242f8e5b7072c58d956d2" +checksum = "83bf6dfa4e266a4a9becb4d18fc801f92c3f7cc6c433dd86fdadbcf315ffb6ef" dependencies = [ "bstr", "dunce", @@ -1136,14 +1119,14 @@ dependencies = [ "gix-path", "gix-ref", "gix-sec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-features" -version = "0.38.2" +version = "0.39.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac7045ac9fe5f9c727f38799d002a7ed3583cd777e3322a7c4b43e3cf437dc69" +checksum = "7d85d673f2e022a340dba4713bed77ef2cf4cd737d2f3e0f159d45e0935fd81f" dependencies = [ "crc32fast", "crossbeam-channel", @@ -1156,15 +1139,15 @@ dependencies = [ "parking_lot", "prodash", "sha1_smol", - "thiserror", + "thiserror 2.0.4", "walkdir", ] [[package]] name = "gix-filter" -version = "0.13.0" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4121790ae140066e5b953becc72e7496278138d19239be2e63b5067b0843119e" +checksum = "5108cc58d58b27df10ac4de7f31b2eb96d588a33e5eba23739b865f5d8db7995" dependencies = [ "bstr", "encoding_rs", @@ -1178,14 +1161,14 @@ dependencies = [ "gix-trace", "gix-utils", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-fs" -version = "0.11.3" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2bfe6249cfea6d0c0e0990d5226a4cb36f030444ba9e35e0639275db8f98575" +checksum = "34740384d8d763975858fa2c176b68652a6fcc09f616e24e3ce967b0d370e4d8" dependencies = [ "fastrand", "gix-features", @@ -1194,11 +1177,11 @@ dependencies = [ [[package]] name = "gix-glob" -version = "0.16.5" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74908b4bbc0a0a40852737e5d7889f676f081e340d5451a16e5b4c50d592f111" +checksum = "aaf69a6bec0a3581567484bf99a4003afcaf6c469fd4214352517ea355cf3435" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-features", "gix-path", @@ -1206,19 +1189,19 @@ dependencies = [ [[package]] name = "gix-hash" -version = "0.14.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93d7df7366121b5018f947a04d37f034717e113dcf9ccd85c34b58e57a74d5e" +checksum = "0b5eccc17194ed0e67d49285e4853307e4147e95407f91c1c3e4a13ba9f4e4ce" dependencies = [ "faster-hex", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-hashtable" -version = "0.5.2" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ddf80e16f3c19ac06ce415a38b8591993d3f73aede049cb561becb5b3a8e242" +checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe" dependencies = [ "gix-hash", "hashbrown 0.14.5", @@ -1227,9 +1210,9 @@ dependencies = [ [[package]] name = "gix-ignore" -version = "0.11.4" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e447cd96598460f5906a0f6c75e950a39f98c2705fc755ad2f2020c9e937fab7" +checksum = "b6b1fb24d2a4af0aa7438e2771d60c14a80cf2c9bd55c29cf1712b841f05bb8a" dependencies = [ "bstr", "gix-glob", @@ -1240,11 +1223,11 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.35.0" +version = "0.37.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd4203244444017682176e65fd0180be9298e58ed90bd4a8489a357795ed22d" +checksum = "270645fd20556b64c8ffa1540d921b281e6994413a0ca068596f97e9367a257a" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "filetime", "fnv", @@ -1263,64 +1246,66 @@ dependencies = [ "memmap2", "rustix", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-lock" -version = "14.0.0" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3bc7fe297f1f4614774989c00ec8b1add59571dc9b024b4c00acb7dedd4e19d" +checksum = "5102acdf4acae2644e38dbbd18cdfba9597a218f7d85f810fe5430207e03c2de" dependencies = [ "gix-tempfile", "gix-utils", - "thiserror", + "thiserror 1.0.69", ] [[package]] name = "gix-object" -version = "0.44.0" +version = "0.46.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f5b801834f1de7640731820c2df6ba88d95480dc4ab166a5882f8ff12b88efa" +checksum = "65d93e2bbfa83a307e47f45e45de7b6c04d7375a8bd5907b215f4bf45237d879" dependencies = [ "bstr", "gix-actor", "gix-date", "gix-features", "gix-hash", + "gix-hashtable", "gix-utils", "gix-validate", "itoa", "smallvec", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-odb" -version = "0.63.0" +version = "0.65.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3158068701c17df54f0ab2adda527f5a6aca38fd5fd80ceb7e3c0a2717ec747" +checksum = "93bed6e1b577c25a6bb8e6ecbf4df525f29a671ddf5f2221821a56a8dbeec4e3" dependencies = [ "arc-swap", "gix-date", "gix-features", "gix-fs", "gix-hash", + "gix-hashtable", "gix-object", "gix-pack", "gix-path", "gix-quote", "parking_lot", "tempfile", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-pack" -version = "0.53.0" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3223aa342eee21e1e0e403cad8ae9caf9edca55ef84c347738d10681676fd954" +checksum = "9b91fec04d359544fecbb8e85117ec746fbaa9046ebafcefb58cb74f20dc76d4" dependencies = [ "clru", "gix-chunk", @@ -1331,66 +1316,66 @@ dependencies = [ "gix-path", "memmap2", "smallvec", - "thiserror", + "thiserror 2.0.4", "uluru", ] [[package]] name = "gix-packetline-blocking" -version = "0.17.5" +version = "0.18.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9802304baa798dd6f5ff8008a2b6516d54b74a69ca2d3a2b9e2d6c3b5556b40" +checksum = "ce9004ce1bc00fd538b11c1ec8141a1558fb3af3d2b7ac1ac5c41881f9e42d2a" dependencies = [ "bstr", "faster-hex", "gix-trace", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-path" -version = "0.10.11" +version = "0.10.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebfc4febd088abdcbc9f1246896e57e37b7a34f6909840045a1767c6dafac7af" +checksum = "afc292ef1a51e340aeb0e720800338c805975724c1dfbd243185452efd8645b7" dependencies = [ "bstr", "gix-trace", "home", "once_cell", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-pathspec" -version = "0.7.7" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d23bf239532b4414d0e63b8ab3a65481881f7237ed9647bb10c1e3cc54c5ceb" +checksum = "4c472dfbe4a4e96fcf7efddcd4771c9037bb4fdea2faaabf2f4888210c75b81e" dependencies = [ - "bitflags 2.6.0", + "bitflags", "bstr", "gix-attributes", "gix-config-value", "gix-glob", "gix-path", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-quote" -version = "0.4.12" +version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbff4f9b9ea3fa7a25a70ee62f545143abef624ac6aa5884344e70c8b0a1d9ff" +checksum = "64a1e282216ec2ab2816cd57e6ed88f8009e634aec47562883c05ac8a7009a63" dependencies = [ "bstr", "gix-utils", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-ref" -version = "0.47.0" +version = "0.49.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae0d8406ebf9aaa91f55a57f053c5a1ad1a39f60fdf0303142b7be7ea44311e5" +checksum = "1eae462723686272a58f49501015ef7c0d67c3e042c20049d8dd9c7eff92efde" dependencies = [ "gix-actor", "gix-features", @@ -1403,43 +1388,44 @@ dependencies = [ "gix-utils", "gix-validate", "memmap2", - "thiserror", - "winnow 0.6.18", + "thiserror 2.0.4", + "winnow", ] [[package]] name = "gix-refspec" -version = "0.25.0" +version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb005f82341ba67615ffdd9f7742c87787544441c88090878393d0682869ca6" +checksum = "00c056bb747868c7eb0aeb352c9f9181ab8ca3d0a2550f16470803500c6c413d" dependencies = [ "bstr", "gix-hash", "gix-revision", "gix-validate", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-revision" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba4621b219ac0cdb9256883030c3d56a6c64a6deaa829a92da73b9a576825e1e" +checksum = "44488e0380847967bc3e3cacd8b22652e02ea1eb58afb60edd91847695cd2d8d" dependencies = [ "bstr", + "gix-commitgraph", "gix-date", "gix-hash", "gix-object", "gix-revwalk", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-revwalk" -version = "0.15.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b41e72544b93084ee682ef3d5b31b1ba4d8fa27a017482900e5e044d5b1b3984" +checksum = "510026fc32f456f8f067d8f37c34088b97a36b2229d88a6a5023ef179fcb109d" dependencies = [ "gix-commitgraph", "gix-date", @@ -1447,16 +1433,16 @@ dependencies = [ "gix-hashtable", "gix-object", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-sec" -version = "0.10.8" +version = "0.10.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fe4d52f30a737bbece5276fab5d3a8b276dc2650df963e293d0673be34e7a5f" +checksum = "a8b876ef997a955397809a2ec398d6a45b7a55b4918f2446344330f778d14fd6" dependencies = [ - "bitflags 2.6.0", + "bitflags", "gix-path", "libc", "windows-sys 0.52.0", @@ -1464,9 +1450,9 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "529d0af78cc2f372b3218f15eb1e3d1635a21c8937c12e2dd0b6fc80c2ca874b" +checksum = "a2455f8c0fcb6ebe2a6e83c8f522d30615d763eb2ef7a23c7d929f9476e89f5c" dependencies = [ "bstr", "gix-config", @@ -1474,14 +1460,14 @@ dependencies = [ "gix-pathspec", "gix-refspec", "gix-url", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-tempfile" -version = "14.0.2" +version = "15.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046b4927969fa816a150a0cda2e62c80016fe11fb3c3184e4dddf4e542f108aa" +checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82" dependencies = [ "dashmap", "gix-fs", @@ -1493,17 +1479,17 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" +checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952" [[package]] name = "gix-traverse" -version = "0.41.0" +version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030da39af94e4df35472e9318228f36530989327906f38e27807df305fccb780" +checksum = "3ff2ec9f779680f795363db1c563168b32b8d6728ec58564c628e85c92d29faf" dependencies = [ - "bitflags 2.6.0", + "bitflags", "gix-commitgraph", "gix-date", "gix-hash", @@ -1511,28 +1497,27 @@ dependencies = [ "gix-object", "gix-revwalk", "smallvec", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-url" -version = "0.27.5" +version = "0.28.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd280c5e84fb22e128ed2a053a0daeacb6379469be6a85e3d518a0636e160c89" +checksum = "e09f97db3618fb8e473d7d97e77296b50aaee0ddcd6a867f07443e3e87391099" dependencies = [ "bstr", "gix-features", "gix-path", - "home", - "thiserror", + "thiserror 2.0.4", "url", ] [[package]] name = "gix-utils" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35192df7fd0fa112263bad8021e2df7167df4cc2a6e6d15892e1e55621d3d4dc" +checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f" dependencies = [ "fastrand", "unicode-normalization", @@ -1540,19 +1525,19 @@ dependencies = [ [[package]] name = "gix-validate" -version = "0.9.0" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81f2badbb64e57b404593ee26b752c26991910fd0d81fe6f9a71c1a8309b6c86" +checksum = "cd520d09f9f585b34b32aba1d0b36ada89ab7fefb54a8ca3fe37fc482a750937" dependencies = [ "bstr", - "thiserror", + "thiserror 2.0.4", ] [[package]] name = "gix-worktree" -version = "0.36.0" +version = "0.38.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c312ad76a3f2ba8e865b360d5cb3aa04660971d16dec6dd0ce717938d903149a" +checksum = "756dbbe15188fa22540d5eab941f8f9cf511a5364d5aec34c88083c09f4bea13" dependencies = [ "bstr", "gix-attributes", @@ -1608,9 +1593,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.15.1" +version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a9bfc1af68b1726ea47d3d5109de126281def866b33970e10fbab11b5dafab3" +checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" [[package]] name = "heck" @@ -1706,12 +1691,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.6.0" +version = "2.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" +checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" dependencies = [ "equivalent", - "hashbrown 0.15.1", + "hashbrown 0.15.2", ] [[package]] @@ -1733,15 +1718,6 @@ dependencies = [ "similar", ] -[[package]] -name = "instant" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" -dependencies = [ - "cfg-if", -] - [[package]] name = "is-terminal" version = "0.4.13" @@ -1753,6 +1729,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "is_executable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" +dependencies = [ + "winapi", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1819,7 +1804,7 @@ dependencies = [ [[package]] name = "jj-cli" -version = "0.23.0" +version = "0.24.0" dependencies = [ "anyhow", "assert_cmd", @@ -1837,10 +1822,10 @@ dependencies = [ "crossterm", "dirs", "dunce", - "esl01-renderdag", "futures 0.3.31", "git2", "gix", + "glob", "indexmap", "indoc", "insta", @@ -1857,15 +1842,17 @@ dependencies = [ "rayon", "regex", "rpassword", + "sapling-renderdag", "scm-record", "serde", + "serde_json", "slab", "strsim", "tempfile", "test-case", "testutils", "textwrap", - "thiserror", + "thiserror 2.0.4", "timeago", "toml_edit", "tracing", @@ -1876,11 +1863,10 @@ dependencies = [ [[package]] name = "jj-lib" -version = "0.23.0" +version = "0.24.0" dependencies = [ "assert_matches", "async-trait", - "backoff", "blake2", "bstr", "chrono", @@ -1890,13 +1876,11 @@ dependencies = [ "criterion", "digest", "either", - "esl01-renderdag", "futures 0.3.31", "git2", "gix", - "gix-filter", "glob", - "hashbrown 0.15.1", + "hashbrown 0.15.2", "hex", "ignore", "indexmap", @@ -1919,6 +1903,7 @@ dependencies = [ "regex", "rustix", "same-file", + "sapling-renderdag", "serde", "serde_json", "smallvec", @@ -1926,8 +1911,9 @@ dependencies = [ "tempfile", "test-case", "testutils", - "thiserror", + "thiserror 2.0.4", "tokio", + "toml_edit", "tracing", "version_check", "watchman_client", @@ -1938,7 +1924,7 @@ dependencies = [ [[package]] name = "jj-lib-proc-macros" -version = "0.23.0" +version = "0.24.0" dependencies = [ "proc-macro2", "quote", @@ -1980,9 +1966,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "libc" -version = "0.2.161" +version = "0.2.167" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1" +checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" [[package]] name = "libgit2-sys" @@ -2002,7 +1988,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ - "bitflags 2.6.0", + "bitflags", "libc", "redox_syscall", ] @@ -2122,7 +2108,7 @@ dependencies = [ "parking_lot", "regex", "textwrap", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2306,7 +2292,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" dependencies = [ "memchr", - "thiserror", + "thiserror 1.0.69", "ucd-trie", ] @@ -2464,18 +2450,22 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" dependencies = [ "unicode-ident", ] [[package]] name = "prodash" -version = "28.0.0" +version = "29.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "744a264d26b88a6a7e37cbad97953fa233b94d585236310bcbc88474b4092d79" +checksum = "a266d8d6020c61a437be704c5e618037588e1985c7dbb7bf8d265db84cffe325" +dependencies = [ + "log", + "parking_lot", +] [[package]] name = "prost" @@ -2575,7 +2565,7 @@ version = "0.27.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" dependencies = [ - "bitflags 2.6.0", + "bitflags", "cassowary", "compact_str", "crossterm", @@ -2616,7 +2606,7 @@ version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 2.6.0", + "bitflags", ] [[package]] @@ -2627,7 +2617,7 @@ checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" dependencies = [ "getrandom", "libredox", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2729,11 +2719,11 @@ checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustix" -version = "0.38.39" +version = "0.38.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "375116bee2be9ed569afe2154ea6a99dfdffd257f533f187498c2a8f5feaf4ee" +checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" dependencies = [ - "bitflags 2.6.0", + "bitflags", "errno", "libc", "linux-raw-sys", @@ -2761,6 +2751,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "sapling-renderdag" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edffb89cab87bd0901c5749d576f5d37a1f34e05160e936f463f4e94cc447b61" +dependencies = [ + "bitflags", +] + [[package]] name = "scanlex" version = "0.1.4" @@ -2779,7 +2778,7 @@ dependencies = [ "ratatui", "serde", "serde_json", - "thiserror", + "thiserror 1.0.69", "tracing", "unicode-width", ] @@ -2792,9 +2791,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "serde" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" +checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" dependencies = [ "serde_derive", ] @@ -2810,7 +2809,7 @@ dependencies = [ "bytes", "serde", "serde_bytes", - "thiserror", + "thiserror 1.0.69", ] [[package]] @@ -2824,9 +2823,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.210" +version = "1.0.215" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" +checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" dependencies = [ "proc-macro2", "quote", @@ -2835,9 +2834,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", @@ -3011,9 +3010,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.87" +version = "2.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" +checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" dependencies = [ "proc-macro2", "quote", @@ -3022,9 +3021,9 @@ dependencies = [ [[package]] name = "tempfile" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b" +checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" dependencies = [ "cfg-if", "fastrand", @@ -3084,7 +3083,7 @@ dependencies = [ [[package]] name = "testutils" -version = "0.23.0" +version = "0.24.0" dependencies = [ "async-trait", "config", @@ -3111,18 +3110,38 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02dd99dc800bbb97186339685293e1cc5d9df1f8fae2d0aecd9ff1c77efea892" +checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" dependencies = [ - "thiserror-impl", + "thiserror-impl 1.0.69", +] + +[[package]] +name = "thiserror" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" +dependencies = [ + "thiserror-impl 2.0.4", ] [[package]] name = "thiserror-impl" -version = "1.0.68" +version = "1.0.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7c61ec9a6f64d2793d8a45faba21efbe3ced62a886d44c36a009b2b519b4c7e" +checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" dependencies = [ "proc-macro2", "quote", @@ -3172,9 +3191,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.41.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "145f3413504347a2be84393cc8a7d2fb4d863b375909ea59f2158261aa258bbb" +checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" dependencies = [ "backtrace", "bytes", @@ -3235,22 +3254,22 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.19.15" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ "indexmap", "serde", "serde_spanned", "toml_datetime", - "winnow 0.5.40", + "winnow", ] [[package]] name = "tracing" -version = "0.1.40" +version = "0.1.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" +checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "pin-project-lite", "tracing-attributes", @@ -3259,9 +3278,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.27" +version = "0.1.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" +checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" dependencies = [ "proc-macro2", "quote", @@ -3281,9 +3300,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" +checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", "valuable", @@ -3302,9 +3321,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.18" +version = "0.3.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" +checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" dependencies = [ "matchers", "nu-ansi-term", @@ -3528,7 +3547,7 @@ dependencies = [ "maplit", "serde", "serde_bser", - "thiserror", + "thiserror 1.0.69", "tokio", "tokio-util", "winapi", @@ -3743,15 +3762,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - [[package]] name = "winnow" version = "0.6.18" diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix index ff65c83..1d3ec6a 100644 --- a/pkgs/jujutsu-openssh/default.nix +++ b/pkgs/jujutsu-openssh/default.nix @@ -16,13 +16,13 @@ rustPlatform.buildRustPackage rec { pname = "jujutsu-openssh"; - version = "0.23.0+pr3191.openssh"; + version = "0.24.0+pr3191.openssh"; src = fetchFromGitHub { owner = "dln"; repo = "jj"; - rev = "aa61f294708502d4faf120720252b4aa76157f2d"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-5U873EtczuQBysXmfhLh0wrZ7rdkszOKHlakROBckWI="; + rev = "b6608a03881542d6a8c98f659b80b57a27906096"; # https://github.com/dln/jj/tree/openssh + hash = "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg="; }; cargoLock.lockFile = ./Cargo.lock; From 2d5364c5de0166f9a763bdc5e62dd8c1a170bcd1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Dec 2024 23:00:45 +0100 Subject: [PATCH 504/656] nvim: blink-cmp 0.7.3 is in nixpkgs now --- home/common/nvim/default.nix | 2 +- pkgs/blink-cmp/default.nix | 45 ------------------------------------ pkgs/default.nix | 1 - 3 files changed, 1 insertion(+), 47 deletions(-) delete mode 100644 pkgs/blink-cmp/default.nix diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index b5599db..9f991b0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -60,7 +60,7 @@ } { - plugin = pkgs.blink-cmp; + plugin = blink-cmp; type = "lua"; config = '' require'blink-cmp'.setup({ diff --git a/pkgs/blink-cmp/default.nix b/pkgs/blink-cmp/default.nix deleted file mode 100644 index e9307e4..0000000 --- a/pkgs/blink-cmp/default.nix +++ /dev/null @@ -1,45 +0,0 @@ -{ - lib, - rustPlatform, - fetchFromGitHub, - stdenv, - vimUtils, -}: -let - version = "0.7.3"; - src = fetchFromGitHub { - owner = "Saghen"; - repo = "blink.cmp"; - rev = "refs/tags/v${version}"; - hash = "sha256-nxiODLKgGeXzN5sqkLWU0PcsuSSB1scSzTC5qyCxLCI="; - }; - libExt = if stdenv.hostPlatform.isDarwin then "dylib" else "so"; - blink-fuzzy-lib = rustPlatform.buildRustPackage { - inherit version src; - pname = "blink-fuzzy-lib"; - env = { - # TODO: remove this if plugin stops using nightly rust - RUSTC_BOOTSTRAP = true; - }; - useFetchCargoVendor = true; - cargoHash = "sha256-XXI2jEoD6XbFNk3O8B6+aLzl1ZcJq1VinQXb+AOw8Rw="; - }; -in -vimUtils.buildVimPlugin { - pname = "blink-cmp"; - inherit version src; - preInstall = '' - mkdir -p target/release - ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} - ''; - meta = { - description = "Performant, batteries-included completion plugin for Neovim"; - homepage = "https://github.com/saghen/blink.cmp"; - maintainers = with lib.maintainers; [ - balssh - redxtech - ]; - }; - doInstallCheck = true; - nvimRequireCheck = "blink-cmp"; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 1ee0f62..ab3485b 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,4 @@ pkgs: { - blink-cmp = pkgs.callPackage ./blink-cmp { }; gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; lazyjj = pkgs.callPackage ./lazyjj { }; From 264546666cb431d4747e4e093214d91775e032d5 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 8 Dec 2024 23:03:11 +0100 Subject: [PATCH 505/656] lazyjj: nixpkgs caught up and ran by --- flake.lock | 26 +++++++++++++------------- pkgs/default.nix | 1 - pkgs/lazyjj/default.nix | 30 ------------------------------ 3 files changed, 13 insertions(+), 44 deletions(-) delete mode 100644 pkgs/lazyjj/default.nix diff --git a/flake.lock b/flake.lock index 77d0531..2bd73e6 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733686035, - "narHash": "sha256-uhbYV9gdMAPgBFm5CiH3defxuzrVXD1HsxkZPUqMxoQ=", + "lastModified": 1733704542, + "narHash": "sha256-tGY+WuCTF/hoZpISys+jLaPXvQV4QyGmSTyecFV1R3I=", "ref": "refs/heads/main", - "rev": "40ad31deea3d236ad762f2c21f2834af3b767bdb", - "revCount": 8184, + "rev": "ae2cf8dc371c960aa0772065c7f2a741c8bdc91b", + "revCount": 8188, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -145,11 +145,11 @@ ] }, "locked": { - "lastModified": 1733318908, - "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", + "lastModified": 1733665616, + "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", + "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", "type": "github" }, "original": { @@ -232,11 +232,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1733618008, - "narHash": "sha256-8MM4WF1AapF9QWDJhoXGLcEKrLE3S75QA74YEQt0A18=", + "lastModified": 1733703025, + "narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b75d6c354368841ce4291142b79882362e574f61", + "rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a", "type": "github" }, "original": { @@ -248,11 +248,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733614558, - "narHash": "sha256-JcI4DL5fn0KGX5TxoSLIxwTfi6rikRHsG/gI/7SUDIg=", + "lastModified": 1733660965, + "narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=", "owner": "neovim", "repo": "neovim", - "rev": "4fcc5cd34a75df9a3088c83dc1a87aa6e37051e1", + "rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4", "type": "github" }, "original": { diff --git a/pkgs/default.nix b/pkgs/default.nix index ab3485b..068b02a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,4 @@ pkgs: { gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; - lazyjj = pkgs.callPackage ./lazyjj { }; } diff --git a/pkgs/lazyjj/default.nix b/pkgs/lazyjj/default.nix deleted file mode 100644 index c253e67..0000000 --- a/pkgs/lazyjj/default.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - stdenvNoCC, - fetchzip, -}: -let - version = "0.3.1"; -in -stdenvNoCC.mkDerivation { - name = "lazyjj"; - inherit version; - - src = fetchzip { - url = "https://github.com/Cretezy/lazyjj/releases/download/v0.3.1/lazyjj-v0.3.1-x86_64-unknown-linux-musl.tar.gz"; - hash = "sha256-6R4W6uyq8sns8WLoJxp06xAYaJ0Zn+pZLtwhVIPobmc="; - }; - - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -m755 -D $src/lazyjj $out/bin/lazyjj - runHook postInstall - ''; - - meta = { - homepage = "https://github.com/Cretezy/lazyjj"; - description = "TUI for jj"; - mainProgram = "lazyjj"; - platforms = [ "x86_64-linux" ]; - }; -} From 378fd7caa0ad8fc8a0661167c5f83d930605fe8a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 10 Dec 2024 15:30:04 +0100 Subject: [PATCH 506/656] patagia.dev -> patagia.net --- common/nix.nix | 1 - flake.lock | 74 ++++++++++++++++++++++++++--------------- hosts/dinky/default.nix | 10 +++--- hosts/nemo/default.nix | 6 ++-- hosts/pearl/default.nix | 4 +-- 5 files changed, 58 insertions(+), 37 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index 1d2bde9..b6362a3 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,7 +20,6 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - # "https://cache-nixos-org.aarn.shelman.io" "https://cache.nixos.org/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; diff --git a/flake.lock b/flake.lock index 2bd73e6..67742e2 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733704542, - "narHash": "sha256-tGY+WuCTF/hoZpISys+jLaPXvQV4QyGmSTyecFV1R3I=", + "lastModified": 1733867032, + "narHash": "sha256-2ddDF3j8aI70WdWIn+Gsef4XGM2+grIlaEtHlkZmWdY=", "ref": "refs/heads/main", - "rev": "ae2cf8dc371c960aa0772065c7f2a741c8bdc91b", - "revCount": 8188, + "rev": "59df17a699f6f13700823124cefaf91fb0c37d4f", + "revCount": 8196, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733484277, - "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", + "lastModified": 1733869277, + "narHash": "sha256-qFWxVV48wwiyvrAbGeSbZ5LAOv1Kv/lvDtibOhuc1/o=", "owner": "nix-community", "repo": "home-manager", - "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", + "rev": "8772bae58c0a1390727aaf13802debfa29757d67", "type": "github" }, "original": { @@ -229,14 +229,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs", + "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733703025, - "narHash": "sha256-lMWofhJTYhnqvd+QzeRb5J58cYGOEI+zzqcHybKxkWU=", + "lastModified": 1733846759, + "narHash": "sha256-Xp/rWqO4XXJAqh5c2xju4NCBRpi8lQIknLQmCYfrdWY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dae2f13b6d2a39d1e56df54fabe5c6452ddf6b2a", + "rev": "dcd1be4d5f9fa160d0c68c1967f4ecc458b01969", "type": "github" }, "original": { @@ -248,11 +249,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733660965, - "narHash": "sha256-Nm+9/OZfpb4hayCz/IpAzO2waQimlt+kM1fMOM1viWo=", + "lastModified": 1733731191, + "narHash": "sha256-Xtd0YLx6RKJMDu2GfE9geO48Dw3KnpVkfZjUqA51xDw=", "owner": "neovim", "repo": "neovim", - "rev": "84d9f4f9f9efbfc72630f01f5f837c50fd7020d4", + "rev": "3bb2d027597107a3d7f84ef61507104fd4dc050a", "type": "github" }, "original": { @@ -263,11 +264,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733376361, - "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", + "lastModified": 1733656523, + "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", + "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", "type": "github" }, "original": { @@ -279,11 +280,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733384649, - "narHash": "sha256-K5DJ2LpPqht7K76bsxetI+YHhGGRyVteTPRQaIIKJpw=", + "lastModified": 1733730953, + "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", "owner": "nixos", "repo": "nixpkgs", - "rev": "190c31a89e5eec80dd6604d7f9e5af3802a58a13", + "rev": "7109b680d161993918b0a126f38bc39763e5a709", "type": "github" }, "original": { @@ -295,11 +296,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733376361, - "narHash": "sha256-aLJxoTDDSqB+/3orsulE6/qdlX6MzDLIITLZqdgMpqo=", + "lastModified": 1733686850, + "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "929116e316068c7318c54eb4d827f7d9756d5e9c", + "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", "type": "github" }, "original": { @@ -311,11 +312,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733581040, - "narHash": "sha256-Qn3nPMSopRQJgmvHzVqPcE3I03zJyl8cSbgnnltfFDY=", + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "22c3f2cf41a0e70184334a958e6b124fb0ce3e01", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", "type": "github" }, "original": { @@ -351,6 +352,27 @@ "type": "github" } }, + "treefmt-nix": { + "inputs": { + "nixpkgs": [ + "neovim-nightly-overlay", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1733761991, + "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, "zig": { "inputs": { "flake-compat": [ diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 90f6d5a..5a5806a 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -78,10 +78,10 @@ networking = { hostName = "dinky"; - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; search = [ - "patagia.dev" - "aarn.patagia.dev" + "patagia.net" + "aarn.patagia.net" ]; useDHCP = lib.mkDefault true; }; @@ -120,7 +120,7 @@ nix.settings.trusted-users = [ "dln" ]; nix.buildMachines = [ { - hostName = "nemo.aarn.patagia.dev"; + hostName = "nemo.aarn.patagia.net"; sshUser = "nixremote"; sshKey = "/root/.ssh/id_ed25519"; system = "x86_64-linux"; @@ -138,7 +138,7 @@ nix.distributedBuilds = true; nix.settings.builders-use-substitutes = true; nix.settings.trusted-substituters = [ - "ssh-ng://nemo.aarn.patagia.dev" + "ssh-ng://nemo.aarn.patagia.net" ]; system.stateVersion = "24.05"; # Did you read the comment? diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index ada8496..748c8b2 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -87,7 +87,7 @@ networking = { hostName = "nemo"; # Define your hostname. - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; nameservers = [ "10.1.100.11" "10.1.100.12" @@ -143,8 +143,8 @@ services.resolved = { enable = true; domains = [ - "patagia.dev" - "aarn.patagia.dev" + "patagia.net" + "aarn.patagia.net" ]; llmnr = "false"; fallbackDns = [ "9.9.9.9" ]; diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix index a44a372..1120826 100644 --- a/hosts/pearl/default.nix +++ b/hosts/pearl/default.nix @@ -33,10 +33,10 @@ networking = { hostName = "pearl"; - domain = "aarn.patagia.dev"; + domain = "aarn.patagia.net"; search = [ "patagia.dev" - "aarn.patagia.dev" + "aarn.patagia.net" ]; useDHCP = lib.mkDefault true; }; From 4c259757dbd5e627c5f54d76c8b6e8779b60b619 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 507/656] nvim: add c-p binding --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index fbb6738..b94dc09 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -124,6 +124,7 @@ vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostic vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) +vim.keymap.set('n', '<c-p>', "<Leader>f", { remap = true }) vim.keymap.set('n', '<Leader>g', "<cmd>Pick oldfiles<cr>", opts("Open file picker history")) vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item under cursor")) vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) From 195a66d7bfff484417e469ad4043389f5c015f6d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 508/656] nvim: add direnv-vim plugin --- flake.lock | 50 ++++++++++++++++++------------------ home/common/nvim/default.nix | 1 + 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 67742e2..c6fc0c8 100644 --- a/flake.lock +++ b/flake.lock @@ -103,11 +103,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1733867032, - "narHash": "sha256-2ddDF3j8aI70WdWIn+Gsef4XGM2+grIlaEtHlkZmWdY=", + "lastModified": 1734275633, + "narHash": "sha256-/5Rnuouf4DrQWKc5sMjA/8Uiznp8/oCQe3YaYvp+fWU=", "ref": "refs/heads/main", - "rev": "59df17a699f6f13700823124cefaf91fb0c37d4f", - "revCount": 8196, + "rev": "ceef2900e24944b18a6aadf5e6dd40aeef64e85d", + "revCount": 8271, "type": "git", "url": "ssh://git@github.com/ghostty-org/ghostty" }, @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1733869277, - "narHash": "sha256-qFWxVV48wwiyvrAbGeSbZ5LAOv1Kv/lvDtibOhuc1/o=", + "lastModified": 1734093295, + "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "owner": "nix-community", "repo": "home-manager", - "rev": "8772bae58c0a1390727aaf13802debfa29757d67", + "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "type": "github" }, "original": { @@ -233,11 +233,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1733846759, - "narHash": "sha256-Xp/rWqO4XXJAqh5c2xju4NCBRpi8lQIknLQmCYfrdWY=", + "lastModified": 1734048484, + "narHash": "sha256-EtSEYNx19xzuEBJsT7yXG+nVx11CM3rvrAQAXcvG/5Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "dcd1be4d5f9fa160d0c68c1967f4ecc458b01969", + "rev": "044f9a36ad620a119ebe154c26ec571a09f75039", "type": "github" }, "original": { @@ -249,11 +249,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1733731191, - "narHash": "sha256-Xtd0YLx6RKJMDu2GfE9geO48Dw3KnpVkfZjUqA51xDw=", + "lastModified": 1734000357, + "narHash": "sha256-8FO5Ca9bLEiD649b5gkQCdjpTmbPenJHpN0JBhtLpjE=", "owner": "neovim", "repo": "neovim", - "rev": "3bb2d027597107a3d7f84ef61507104fd4dc050a", + "rev": "17383870dd3b7f04eddd48ed929cc25c7e102277", "type": "github" }, "original": { @@ -264,11 +264,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733656523, - "narHash": "sha256-w0FXPfpGhOihoJDiwMsyN1EzpsXi2F8VQ+NVZQSMtys=", + "lastModified": 1733749988, + "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "93dc9803a1ee435e590b02cde9589038d5cc3a4e", + "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733730953, - "narHash": "sha256-dlK7n82FEyZlHH7BFHQAM5tua+lQO1Iv7aAtglc1O5s=", + "lastModified": 1734017764, + "narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7109b680d161993918b0a126f38bc39763e5a709", + "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b", "type": "github" }, "original": { @@ -296,11 +296,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733686850, - "narHash": "sha256-NQEO/nZWWGTGlkBWtCs/1iF1yl2lmQ1oY/8YZrumn3I=", + "lastModified": 1734126203, + "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=", "owner": "nixos", "repo": "nixpkgs", - "rev": "dd51f52372a20a93c219e8216fe528a648ffcbf4", + "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1733759999, - "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", + "lastModified": 1734119587, + "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", + "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 9f991b0..fad4f3d 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -48,6 +48,7 @@ ]; plugins = with pkgs.vimPlugins; [ + direnv-vim friendly-snippets go-nvim targets-vim From 0ff88467e6e8fadadb70b05c8ea6629cba3717bc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 509/656] athens moved to athens.patagia.net --- home/common/devel.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/devel.nix b/home/common/devel.nix index c8e6c0a..21cffd0 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -29,6 +29,6 @@ ]; home.sessionVariables = { - GOPROXY = "https://athena.patagia.dev"; + GOPROXY = "https://athena.patagia.net"; }; } From f5af1628e716a722e3837e92d79fe8703cc6ccbc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 510/656] atuin: moved to atuin.patagia.net --- home/common/atuin.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/atuin.nix b/home/common/atuin.nix index 720459b..991dcec 100644 --- a/home/common/atuin.nix +++ b/home/common/atuin.nix @@ -13,7 +13,7 @@ search_mode_shell_up_key_binding = "prefix"; show_help = false; style = "compact"; - sync_address = "https://atuin.patagia.dev"; + sync_address = "https://atuin.patagia.net"; sync.records = true; daemon = { From f53cbba16fb02334d1842185884ec5a6fde0f91b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 511/656] Enable avahi --- common/base.nix | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/common/base.nix b/common/base.nix index 5eb3b4e..9207bf3 100644 --- a/common/base.nix +++ b/common/base.nix @@ -51,6 +51,18 @@ ''; }; + services.avahi = { + nssmdns4 = true; + enable = true; + ipv4 = true; + ipv6 = true; + publish = { + enable = true; + addresses = true; + workstation = true; + }; + }; + # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; From 1379ed01f0ea57b6a9e7e8b211a781eff6b14edd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 512/656] Use cache-nixos-org.aarn.patagia.net as cache --- common/nix.nix | 2 +- flake.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/nix.nix b/common/nix.nix index b6362a3..da49b67 100644 --- a/common/nix.nix +++ b/common/nix.nix @@ -20,7 +20,7 @@ # Workaround for https://github.com/NixOS/nix/issues/9574 nix-path = config.nix.nixPath; substituters = [ - "https://cache.nixos.org/" + "https://cache-nixos-org.aarn.patagia.net/" ]; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; extra-substituters = [ diff --git a/flake.nix b/flake.nix index 848f99f..c200102 100644 --- a/flake.nix +++ b/flake.nix @@ -3,7 +3,7 @@ nixConfig = { substituters = [ - "https://cache.nixos.org/" + "https://cache-nixos-org.aarn.patagia.net/" ]; extra-substituters = [ "https://nix-community.cachix.org" From fa7fce620a86ca9f1707a813725fe69ccd41b69a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 513/656] ghostty: Use official (now released + public) flake --- flake.nix | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index c200102..5f52e80 100644 --- a/flake.nix +++ b/flake.nix @@ -14,6 +14,7 @@ }; inputs = { + ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; @@ -21,14 +22,6 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - - ghostty = { - url = "git+ssh://git@github.com/ghostty-org/ghostty"; - inputs = { - nixpkgs-stable.follows = "nixpkgs"; - nixpkgs-unstable.follows = "nixpkgs"; - }; - }; ghostty-hm.url = "github:clo4/ghostty-hm-module"; }; From baaf51693925984288cbdfa338317950a9910811 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 514/656] nix: bump --- flake.nix | 2 +- hosts/nemo/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 5f52e80..ce544bd 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager"; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 748c8b2..c36cc1c 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -219,5 +219,5 @@ "nixremote" ]; - system.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion + system.stateVersion = "24.11"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion } From 49d4bbd7c12654af196b39bdeceeaa4562634009 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 515/656] gimp: skip plugins for now --- home/dln/desktop.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index ae7ded3..b783e5d 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -7,7 +7,7 @@ home.packages = with pkgs; [ cameractrls-gtk4 dynamic-wallpaper - gimp-with-plugins + gimp inkscape inputs.ghostty.packages.${pkgs.system}.default moonlight-qt From 8b46fa253d94fa764f939451cbec432bf0ec6ae1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 516/656] nvim fixings --- home/common/nvim/default.nix | 80 ++++++++++++++++++++---------------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index fad4f3d..1c9b4a7 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -72,30 +72,38 @@ }, completion = { accept = { - auto_brackets = { - enabled = true, - }, + auto_brackets = { enabled = true, }, }, documentation = { auto_show = true, auto_show_delay_ms = 800, - window = { - border = 'rounded', - }, - ghost_text = { - enabled = true, - }, + window = { border = 'rounded', }, }, - signature = { - enabled = true, - window = { - border = 'rounded', - }, - }, + ghost_text = { enabled = true }, + menu = { + auto_show = false, + }, }, + + fuzzy = { + prebuilt_binaries = { + download = false + }, + }, + + signature = { + enabled = true, + window = { border = 'rounded', }, + }, + + sources = { + default = { 'lsp', 'buffer', 'path', 'snippets' }, + cmdline = {}, + }, + }) ''; } @@ -106,8 +114,8 @@ src = pkgs.fetchFromGitHub { owner = "saghen"; repo = "blink.compat"; - rev = "78f3f7187ff4a1444e952548c556d936da8f72fc"; # v2.1.2 - hash = "sha256-aqHDwrzPOyOw9UbJlQX10/cVQwNHg4v6i9jSm+pNKZc="; + rev = "5ca8848c8cc32abdc980e5db4f0eb7bb8fbf84dc"; # Dec 25, 2024 + hash = "sha256-tFQeKyqdo3mvptYnWxKhTpI4ROFNQ6u3P8cLqtlsozw="; }; }; type = "lua"; @@ -143,25 +151,25 @@ ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "neocodeium"; - src = pkgs.fetchFromGitHub { - owner = "monkoose"; - repo = "neocodeium"; - rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; - }; - }; - type = "lua"; - config = '' - local neocodeium =require('neocodeium') - neocodeium.setup() - vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) - vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) - vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) - ''; - } + # { + # plugin = pkgs.vimUtils.buildVimPlugin { + # name = "neocodeium"; + # src = pkgs.fetchFromGitHub { + # owner = "monkoose"; + # repo = "neocodeium"; + # rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + # hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + # }; + # }; + # type = "lua"; + # config = '' + # local neocodeium =require('neocodeium') + # neocodeium.setup() + # vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) + # vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) + # vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) + # ''; + # } { plugin = pkgs.vimUtils.buildVimPlugin { From f26beb87bd3984aea595fd84eab299f445fb0251 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 517/656] nvim: nvim-tree-pairs appears broken right now --- home/common/nvim/treesitter.nix | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index d18b8ae..9c765c4 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -44,20 +44,6 @@ ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "nvim-tree-pairs"; # make % match in TS - src = pkgs.fetchFromGitHub { - owner = "yorickpeterse"; - repo = "nvim-tree-pairs"; - rev = "e7f7b6cc28dda6f3fa271ce63b0d371d5b7641da"; - hash = "sha256-fb4EsrWAbm8+dWAhiirCPuR44MEg+KYb9hZOIuEuT24="; - }; - }; - type = "lua"; - config = "require('tree-pairs').setup()"; - } - { plugin = nvim-treesitter-textobjects; type = "lua"; From b4550106246663506d8be8e78f668555252dc004 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 11 Dec 2024 20:15:15 +0100 Subject: [PATCH 518/656] nvim: blink-cmp goodness --- flake.lock | 141 +++++++++++++++++++++----------- home/common/nvim/blink-cmp.lua | 56 +++++++++++++ home/common/nvim/default.nix | 44 +--------- home/common/nvim/treesitter.nix | 2 +- 4 files changed, 151 insertions(+), 92 deletions(-) create mode 100644 home/common/nvim/blink-cmp.lua diff --git a/flake.lock b/flake.lock index c6fc0c8..086a183 100644 --- a/flake.lock +++ b/flake.lock @@ -1,6 +1,22 @@ { "nodes": { "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1733328505, @@ -16,7 +32,7 @@ "type": "github" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -94,26 +110,23 @@ }, "ghostty": { "inputs": { - "nixpkgs-stable": [ - "nixpkgs" - ], - "nixpkgs-unstable": [ - "nixpkgs" - ], + "flake-compat": "flake-compat", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", "zig": "zig" }, "locked": { - "lastModified": 1734275633, - "narHash": "sha256-/5Rnuouf4DrQWKc5sMjA/8Uiznp8/oCQe3YaYvp+fWU=", - "ref": "refs/heads/main", - "rev": "ceef2900e24944b18a6aadf5e6dd40aeef64e85d", - "revCount": 8271, - "type": "git", - "url": "ssh://git@github.com/ghostty-org/ghostty" + "lastModified": 1735271978, + "narHash": "sha256-y6Ony5eq4F4E76Y2ZhALSEzBZ4GbGRVQIEScPieCDGI=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "a8e5eef11cc67f87f445626f9ca2993373774bf8", + "type": "github" }, "original": { - "type": "git", - "url": "ssh://git@github.com/ghostty-org/ghostty" + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" } }, "ghostty-hm": { @@ -133,7 +146,7 @@ }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -145,11 +158,11 @@ ] }, "locked": { - "lastModified": 1733665616, - "narHash": "sha256-+XTFXYlFJBxohhMGLDpYdEnhUNdxN8dyTA8WAd+lh2A=", + "lastModified": 1734797603, + "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "d8c02f0ffef0ef39f6063731fc539d8c71eb463a", + "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", "type": "github" }, "original": { @@ -209,11 +222,11 @@ ] }, "locked": { - "lastModified": 1734093295, - "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", + "lastModified": 1735053786, + "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", "owner": "nix-community", "repo": "home-manager", - "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", + "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", "type": "github" }, "original": { @@ -224,7 +237,7 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -233,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734048484, - "narHash": "sha256-EtSEYNx19xzuEBJsT7yXG+nVx11CM3rvrAQAXcvG/5Q=", + "lastModified": 1735172062, + "narHash": "sha256-Ru+5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "044f9a36ad620a119ebe154c26ec571a09f75039", + "rev": "d05e1d754812bcd89925d845992f377faf6c4944", "type": "github" }, "original": { @@ -249,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1734000357, - "narHash": "sha256-8FO5Ca9bLEiD649b5gkQCdjpTmbPenJHpN0JBhtLpjE=", + "lastModified": 1735157560, + "narHash": "sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM=", "owner": "neovim", "repo": "neovim", - "rev": "17383870dd3b7f04eddd48ed929cc25c7e102277", + "rev": "487c48ec8689b865bad04fdb87b61f5ada25da97", "type": "github" }, "original": { @@ -264,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1733749988, - "narHash": "sha256-+5qdtgXceqhK5ZR1YbP1fAUsweBIrhL38726oIEAtDs=", + "lastModified": 1734988233, + "narHash": "sha256-Ucfnxq1rF/GjNP3kTL+uTfgdoE9a3fxDftSfeLIS8mA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bc27f0fde01ce4e1bfec1ab122d72b7380278e68", + "rev": "de1864217bfa9b5845f465e771e0ecb48b30e02d", "type": "github" }, "original": { @@ -280,27 +293,59 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1734017764, - "narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=", + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b", + "rev": "e36963a147267afc055f7cf65225958633e536bf", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.05", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { + "locked": { + "lastModified": 1735141468, + "narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1734126203, - "narHash": "sha256-0XovF7BYP50rTD2v4r55tR5MuBLet7q4xIz6Rgh3BBU=", + "lastModified": 1733229606, + "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "71a6392e367b08525ee710a93af2e80083b5b3e2", + "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1735268880, + "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", "type": "github" }, "original": { @@ -312,11 +357,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1734119587, - "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=", + "lastModified": 1735291276, + "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5", + "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", "type": "github" }, "original": { @@ -333,8 +378,8 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable" + "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unstable": "nixpkgs-unstable_2" } }, "systems": { @@ -360,11 +405,11 @@ ] }, "locked": { - "lastModified": 1733761991, - "narHash": "sha256-s4DalCDepD22jtKL5Nw6f4LP5UwoMcPzPZgHWjAfqbQ=", + "lastModified": 1735135567, + "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "0ce9d149d99bc383d1f2d85f31f6ebd146e46085", + "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", "type": "github" }, "original": { diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua new file mode 100644 index 0000000..b34b6fc --- /dev/null +++ b/home/common/nvim/blink-cmp.lua @@ -0,0 +1,56 @@ +require 'blink-cmp'.setup({ + keymap = { + preset = 'enter', + ["<PageDown>"] = { "scroll_documentation_down" }, + ["<PageUp>"] = { "scroll_documentation_up" }, + }, + completion = { + accept = { + auto_brackets = { enabled = true, }, + }, + + documentation = { + auto_show = true, + auto_show_delay_ms = 800, + window = { border = 'rounded', }, + }, + + ghost_text = { enabled = true }, + + list = { + selection = "manual", + }, + + menu = { + auto_show = true, + }, + }, + + fuzzy = { + prebuilt_binaries = { + download = false + }, + }, + + keymap = { + preset = 'super-tab', + }, + + signature = { + enabled = true, + window = { border = 'rounded', }, + }, + + sources = { + default = { 'lsp', 'codeium', 'buffer' }, + cmdline = {}, + providers = { + codeium = { + name = "codeium", + module = 'blink.compat.source', + score_offset = -100, + }, + }, + }, + +}) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 1c9b4a7..d6dd694 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -63,49 +63,7 @@ { plugin = blink-cmp; type = "lua"; - config = '' - require'blink-cmp'.setup({ - keymap = { - preset = 'enter', - ["<PageDown>"] = { "scroll_documentation_down" }, - ["<PageUp>"] = { "scroll_documentation_up" }, - }, - completion = { - accept = { - auto_brackets = { enabled = true, }, - }, - - documentation = { - auto_show = true, - auto_show_delay_ms = 800, - window = { border = 'rounded', }, - }, - - ghost_text = { enabled = true }, - - menu = { - auto_show = false, - }, - }, - - fuzzy = { - prebuilt_binaries = { - download = false - }, - }, - - signature = { - enabled = true, - window = { border = 'rounded', }, - }, - - sources = { - default = { 'lsp', 'buffer', 'path', 'snippets' }, - cmdline = {}, - }, - - }) - ''; + config = lib.fileContents ./blink-cmp.lua; } { diff --git a/home/common/nvim/treesitter.nix b/home/common/nvim/treesitter.nix index 9c765c4..25e15f8 100644 --- a/home/common/nvim/treesitter.nix +++ b/home/common/nvim/treesitter.nix @@ -11,9 +11,9 @@ ]; plugins = with pkgs.vimPlugins; [ - ts-comments-nvim nvim-ts-context-commentstring playground + ts-comments-nvim { plugin = nvim-treesitter-context; From 461f3a9a46d7d28b96d7074383a0c6b7a2f31a65 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 28 Dec 2024 10:22:29 +0100 Subject: [PATCH 519/656] nix update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index 086a183..de58e6d 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735271978, - "narHash": "sha256-y6Ony5eq4F4E76Y2ZhALSEzBZ4GbGRVQIEScPieCDGI=", + "lastModified": 1735508351, + "narHash": "sha256-hrmauluOxnJlvc49WeclJdoz24Nb7c/WHhyLGkmpde8=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a8e5eef11cc67f87f445626f9ca2993373774bf8", + "rev": "b3925b83ae4b24b02a9b268e88dffcf1af25734b", "type": "github" }, "original": { @@ -222,11 +222,11 @@ ] }, "locked": { - "lastModified": 1735053786, - "narHash": "sha256-Gm+0DcbUS338vvkwyYWms5jsWlx8z8MeQBzcnIDuIkw=", + "lastModified": 1735381016, + "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b98d20ca8f4ca1f6a2c30b8a2c8bb305a36d84", + "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735172062, - "narHash": "sha256-Ru+5fwMqXEoc6G1PbuTppAzxtqvj0322cBAWCb0Yhbo=", + "lastModified": 1735463474, + "narHash": "sha256-QTw0q1dJnoFygq9aiwjrXsX5cZEwruVzPz3VKg8KemQ=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d05e1d754812bcd89925d845992f377faf6c4944", + "rev": "3d6e49088eae842b6c0556fba66cfb14123f0d59", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735157560, - "narHash": "sha256-ndlWdGm61W3uObi8cowWqnPdJwq2FsH4GHGOQYeNSOM=", + "lastModified": 1735384850, + "narHash": "sha256-e1KLj+283Znt14U9DkKw+zPqShe0AkFPGpT44BhZ9KU=", "owner": "neovim", "repo": "neovim", - "rev": "487c48ec8689b865bad04fdb87b61f5ada25da97", + "rev": "2b07b14eacf3197754c63f42f9c880e85960eef2", "type": "github" }, "original": { @@ -277,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734988233, - "narHash": "sha256-Ucfnxq1rF/GjNP3kTL+uTfgdoE9a3fxDftSfeLIS8mA=", + "lastModified": 1735268880, + "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "de1864217bfa9b5845f465e771e0ecb48b30e02d", + "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735141468, - "narHash": "sha256-VIAjBr1qGcEbmhLwQJD6TABppPMggzOvqFsqkDoMsAY=", + "lastModified": 1735264675, + "narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4005c3ff7505313cbc21081776ad0ce5dfd7a3ce", + "rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966", "type": "github" }, "original": { From 714cbcb8a9f37c7c062d3d4c17e04e31d32eb9d3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 520/656] nvim: reformat --- home/common/nvim/mini.lua | 99 ++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 49 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index f1de03f..c6788f1 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -71,6 +71,7 @@ MiniPick.registry.files_root = function(local_opts) local_opts.tool = "rg" return MiniPick.builtin.files(local_opts, { source = { cwd = root_dir, tool = "rg" } }) end + MiniPick.registry.grep_live_root = function(local_opts) local root_patterns = { ".jj", ".git" } local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) @@ -79,56 +80,56 @@ MiniPick.registry.grep_live_root = function(local_opts) end require("mini.pick").registry.buffers = function(local_opts, opts) - local_opts = vim.tbl_deep_extend( - "force", - { sort_lastused = false, sort_mru = true, include_current = true, include_unlisted = false }, - local_opts or {} - ) - local buffers_output = vim.api.nvim_exec("buffers" .. (local_opts.include_unlisted and "!" or ""), true) - local cur_buf_id, include_current = vim.api.nvim_get_current_buf(), local_opts.include_current - local items = {} - local default_selection_idx = 1 - for _, l in ipairs(vim.split(buffers_output, "\n")) do - local buf_str, name = l:match("^%s*%d+"), l:match('"(.*)"') - local buf_id = tonumber(buf_str) - local flag = buf_id == vim.fn.bufnr("") and "%" or (buf_id == vim.fn.bufnr("#") and "#" or " ") - local item = { text = name, bufnr = buf_id, flag = flag } - if buf_id ~= cur_buf_id or include_current then - if local_opts.sort_lastused and not local_opts.ignore_current_buffer and flag == "#" then - default_selection_idx = 2 - end - if local_opts.sort_lastused and (flag == "#" or flag == "%") then - local idx = ((items[1] ~= nil and items[1].flag == "%") and 2 or 1) - table.insert(items, idx, item) - else - table.insert(items, item) - end - end - end - if local_opts.sort_mru then - table.sort(items, function(a, b) - return vim.fn.getbufinfo(a.bufnr)[1].lastused > vim.fn.getbufinfo(b.bufnr)[1].lastused - end) - end + local_opts = vim.tbl_deep_extend( + "force", + { sort_lastused = false, sort_mru = true, include_current = true, include_unlisted = false }, + local_opts or {} + ) + local buffers_output = vim.api.nvim_exec("buffers" .. (local_opts.include_unlisted and "!" or ""), true) + local cur_buf_id, include_current = vim.api.nvim_get_current_buf(), local_opts.include_current + local items = {} + local default_selection_idx = 1 + for _, l in ipairs(vim.split(buffers_output, "\n")) do + local buf_str, name = l:match("^%s*%d+"), l:match('"(.*)"') + local buf_id = tonumber(buf_str) + local flag = buf_id == vim.fn.bufnr("") and "%" or (buf_id == vim.fn.bufnr("#") and "#" or " ") + local item = { text = name, bufnr = buf_id, flag = flag } + if buf_id ~= cur_buf_id or include_current then + if local_opts.sort_lastused and not local_opts.ignore_current_buffer and flag == "#" then + default_selection_idx = 2 + end + if local_opts.sort_lastused and (flag == "#" or flag == "%") then + local idx = ((items[1] ~= nil and items[1].flag == "%") and 2 or 1) + table.insert(items, idx, item) + else + table.insert(items, item) + end + end + end + if local_opts.sort_mru then + table.sort(items, function(a, b) + return vim.fn.getbufinfo(a.bufnr)[1].lastused > vim.fn.getbufinfo(b.bufnr)[1].lastused + end) + end - local show = function(buf_id, items, query) - require("mini.pick").default_show(buf_id, items, query, { show_icons = true }) - end - local default_opts = { source = { name = "Buffers", show = show } } - opts = vim.tbl_deep_extend("force", default_opts, opts or {}, { source = { items = items } }) - if default_selection_idx > 1 then - vim.api.nvim_create_autocmd("User", { - pattern = "MiniPickStart", - once = true, - callback = function() - local mappings = require("mini.pick").get_picker_opts().mappings - local keys = vim.fn["repeat"](mappings.move_down, default_selection_idx - 1) - vim.api.nvim_input(vim.api.nvim_replace_termcodes(keys, true, true, true)) - end, - }) - end - return require("mini.pick").start(opts) - end + local show = function(buf_id, items, query) + require("mini.pick").default_show(buf_id, items, query, { show_icons = true }) + end + local default_opts = { source = { name = "Buffers", show = show } } + opts = vim.tbl_deep_extend("force", default_opts, opts or {}, { source = { items = items } }) + if default_selection_idx > 1 then + vim.api.nvim_create_autocmd("User", { + pattern = "MiniPickStart", + once = true, + callback = function() + local mappings = require("mini.pick").get_picker_opts().mappings + local keys = vim.fn["repeat"](mappings.move_down, default_selection_idx - 1) + vim.api.nvim_input(vim.api.nvim_replace_termcodes(keys, true, true, true)) + end, + }) + end + return require("mini.pick").start(opts) +end local miniclue = require('mini.clue') miniclue.setup({ -- cute prompts about bindings From c4a2a60fa6b4d520bbf8a9c20aaa86f4d3628960 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 521/656] nvim: implement projects picker --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index b94dc09..1330396 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -127,6 +127,7 @@ vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file pic vim.keymap.set('n', '<c-p>', "<Leader>f", { remap = true }) vim.keymap.set('n', '<Leader>g', "<cmd>Pick oldfiles<cr>", opts("Open file picker history")) vim.keymap.set("n", '<Leader>k', vim.lsp.buf.hover, opts("Show docs for item under cursor")) +vim.keymap.set('n', '<Leader>p', "<cmd>Pick projects<cr>", opts("Open projects picker")) vim.keymap.set('n', '<Leader>q', require('mini.bufremove').delete, opts("Delete buffer")) vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", opts("Open symbol picker")) vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index c6788f1..a572728 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -64,6 +64,45 @@ require('mini.pick').setup({ config = picker_win_config, }, }) + +MiniPick.registry.projects = function(local_opts) + local root = vim.fn.expand("~/src") + + local command = { + "fd", + "--max-depth=8", + "--one-file-system", + "--unrestricted", + "--full-path", + "/.jj/repo/store/type$|/.git/HEAD$", + root, + } + + local postprocess = function(paths) + local result = {} + for _, path in ipairs(paths) do + path = path:gsub("%/.jj/repo/store/type$", "") + path = path:gsub("%/.git/HEAD$", "") + local item = { + path = path, + text = path:gsub("%" .. root .. "/", " "), + } + table.insert(result, item) + end + return result + end + + local choose = function(item) + local_opts.cwd = item.path + vim.fn.chdir(item.path) + vim.schedule(function() + MiniPick.builtin.files(local_opts, { source = { cwd = item.path, tool = "rg" } }) + end) + end + + return MiniPick.builtin.cli({ command = command, postprocess = postprocess }, { source = { choose = choose } }) +end + MiniPick.registry.files_root = function(local_opts) local root_patterns = { ".jj", ".git" } local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, { upward = true })[1]) From 46c13deee715786d4ebc1d72b1bb56aa9419b231 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 30 Dec 2024 08:02:33 +0100 Subject: [PATCH 522/656] nix update --- flake.lock | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/flake.lock b/flake.lock index de58e6d..a2d4639 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735508351, - "narHash": "sha256-hrmauluOxnJlvc49WeclJdoz24Nb7c/WHhyLGkmpde8=", + "lastModified": 1735535921, + "narHash": "sha256-cfsHww91bRA2Frni54+blIGZGU9/269vaWzeGcNRNN0=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "b3925b83ae4b24b02a9b268e88dffcf1af25734b", + "rev": "87bd0bb744d6a1c45022aa39f21219d0b6ff3261", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735463474, - "narHash": "sha256-QTw0q1dJnoFygq9aiwjrXsX5cZEwruVzPz3VKg8KemQ=", + "lastModified": 1735517129, + "narHash": "sha256-ibHgAkr8OXAP8MRBo4Z7AIaVdOHywGR2J8R50vZCQjI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "3d6e49088eae842b6c0556fba66cfb14123f0d59", + "rev": "fd381a5a19f553c2466dc437fb94fcf799d77e82", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735384850, - "narHash": "sha256-e1KLj+283Znt14U9DkKw+zPqShe0AkFPGpT44BhZ9KU=", + "lastModified": 1735489459, + "narHash": "sha256-PMeWazyxGxpA6UeVrWH/ur8WuqliGxXlRjTTQdMiYVc=", "owner": "neovim", "repo": "neovim", - "rev": "2b07b14eacf3197754c63f42f9c880e85960eef2", + "rev": "e4bc8b5967d22840c1e52c97acab0f77107cd48c", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735264675, - "narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=", + "lastModified": 1735412871, + "narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d49da4c08359e3c39c4e27c74ac7ac9b70085966", + "rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735268880, - "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "lastModified": 1735523292, + "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b", "type": "github" }, "original": { @@ -357,11 +357,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735291276, - "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "634fd46801442d760e09493a794c4f15db2d0cbb", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", "type": "github" }, "original": { From be47c9500b802cb21bf383ebc73cbccd5aed05a0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 523/656] dinky is laptop --- home/common/default.nix | 1 + home/dln/dinky.nix | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/default.nix b/home/common/default.nix index e66ef79..26df1d8 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -19,5 +19,6 @@ ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; + options.patagia.laptop.enable = lib.mkEnableOption "Laptop"; options.patagia.oled.enable = lib.mkEnableOption "Darker darks on oled screens"; } diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index fd47c55..9b9e955 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -6,6 +6,7 @@ ]; patagia = { + laptop.enable = true; oled.enable = true; }; From 2497584fd0a2beff5fc1728501a3b1ab0cef2f66 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 524/656] Remove unused zed --- home/dln/desktop.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index b783e5d..95d3157 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -15,7 +15,6 @@ pavucontrol plexamp signal-desktop - zed-editor ]; xdg.desktopEntries = { From be8780d846b7d5ae5a62c23994404151169d5b14 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 1 Dec 2024 23:19:47 +0100 Subject: [PATCH 525/656] Experiment with having no system wide language tooling --- flake.lock | 12 ++++++------ flake.nix | 1 + home/common/devel.nix | 17 ----------------- home/common/nvim/default.nix | 33 ++++++++++++++++++--------------- 4 files changed, 25 insertions(+), 38 deletions(-) diff --git a/flake.lock b/flake.lock index a2d4639..0d72b93 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735535921, - "narHash": "sha256-cfsHww91bRA2Frni54+blIGZGU9/269vaWzeGcNRNN0=", + "lastModified": 1735589157, + "narHash": "sha256-s5fJn9LSwz3cfkKSvicQppCnXVs8F05OH96yaa5K2Dc=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "87bd0bb744d6a1c45022aa39f21219d0b6ff3261", + "rev": "ef542c6e63b40b3541dc5efd625c0b95f750bbc6", "type": "github" }, "original": { @@ -309,11 +309,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735412871, - "narHash": "sha256-Qoz0ow6jDGUIBHxduc7Y1cjYFS71tvEGJV5Src/mj98=", + "lastModified": 1735531152, + "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9f94733f93e4fe6e82f516efae007096e4ab5a21", + "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index ce544bd..170ca39 100644 --- a/flake.nix +++ b/flake.nix @@ -67,6 +67,7 @@ packages = with pkgs; [ just nh + nixd ]; }; diff --git a/home/common/devel.nix b/home/common/devel.nix index 21cffd0..910900e 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -2,30 +2,13 @@ { home.packages = with pkgs; [ age-plugin-fido2-hmac - bacon - cargo - clang - codeium comma dogdns file - gnumake - go just - ldns - minio-client - nil nix-output-monitor - nixd - nixfmt-rfc-style - nodejs_22 passage rage - prettierd - rust-analyzer - rustc - stylua - tree-sitter ]; home.sessionVariables = { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index d6dd694..ab9a1b0 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -24,36 +24,38 @@ extraLuaConfig = lib.fileContents ./init.lua; extraPackages = with pkgs; [ - black codeium - cue - go - gopls - gotools harper lua-language-server - nil nixd - nodePackages.prettier - nodePackages.typescript - nodePackages.typescript-language-server - nodePackages.bash-language-server - rust-analyzer - rustfmt shellcheck shfmt stylua - superhtml - vscode-langservers-extracted ]; plugins = with pkgs.vimPlugins; [ - direnv-vim friendly-snippets go-nvim targets-vim ts-comments-nvim + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "direnv-nvim"; + src = pkgs.fetchFromGitHub { + owner = "actionshrimp"; + repo = "direnv.nvim"; + rev = "main"; + hash = "sha256-7NcVskgAurbIuEVIXxHvXZfYQBOEXLURGzllfVEQKNE="; + }; + }; + type = "lua"; + config = '' + require('direnv-nvim').setup { + type = "dir" + } + ''; + } { plugin = nvim-lspconfig; type = "lua"; @@ -174,6 +176,7 @@ type = "lua"; config = lib.fileContents ./rust.lua; } + ]; }; } From c749caf2e9ddd6b810f7d7cdc48ab0c1e5b346fc Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:32:15 +0100 Subject: [PATCH 526/656] nvim: do not enable inlay hints by default --- home/common/nvim/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index ab9a1b0..5a76e67 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -90,14 +90,15 @@ src = pkgs.fetchFromGitHub { owner = "MysticalDevil"; repo = "inlay-hints.nvim"; - rev = "af84dee42cd118af6d592b06c1c0e45d6432a6c0"; # 2024-08-23 - hash = "sha256-DZVtFAUK9c8GInp+JdCQ1BKe0dkAheHKI67oxdMmA24="; + rev = "3259b54f3b954b4d8260f3ee49ceabe978ea5636"; + hash = "sha256-99KCGoPowa4PA1jkCm4ZbbgrFl84NWnKQMgkfy8KS5E="; }; }; type = "lua"; config = '' - require('inlay-hints').setup() - require("inlay-hints.utils").enable_inlay_hints() + require('inlay-hints').setup { + autocmd = { enable = false }, + } ''; } From cdc020ff0d54117a83c50dccf05ff72bb464d35b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:33:50 +0100 Subject: [PATCH 527/656] nvim: trying out just using blink cmp for neocodium as well --- home/common/nvim/default.nix | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 5a76e67..2731261 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -112,26 +112,6 @@ ''; } - # { - # plugin = pkgs.vimUtils.buildVimPlugin { - # name = "neocodeium"; - # src = pkgs.fetchFromGitHub { - # owner = "monkoose"; - # repo = "neocodeium"; - # rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - # hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; - # }; - # }; - # type = "lua"; - # config = '' - # local neocodeium =require('neocodeium') - # neocodeium.setup() - # vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) - # vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) - # vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) - # ''; - # } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "diagflow"; From 494bd5cad1b3a3eb96c8c19c86c259ceb03d9caf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 31 Dec 2024 14:42:32 +0100 Subject: [PATCH 528/656] nvim: <Leader>uw toggles line wrap --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 1330396..c32cefe 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -155,4 +155,5 @@ vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From be77222a9987bda6839a26ae303a2e488db8343f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 1 Jan 2025 13:12:48 +0100 Subject: [PATCH 529/656] Ditch tmux for ghostty tabs + a more stateless living --- home/common/fish.nix | 30 +++--------------------- home/common/ghostty.nix | 51 ++++------------------------------------- home/common/tmux.nix | 20 ++++++++-------- 3 files changed, 16 insertions(+), 85 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 4452d23..5fd6a55 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -43,40 +43,17 @@ body = ''confirm "⚠ Really shutdown $(hostname)?" && command shutdown $argv''; }; - tmux-refresh-env = { - description = "Refresh environment variables from tmux session"; - body = '' - for var in (tmux show-environment | string match -rv '^-') - set -l parts (string split -m 1 '=' $var) - if test (count $parts) -eq 2 - set -Ux $parts[1] $parts[2] - end - end - ''; - }; - kubectl = { description = "Wraps kubectl in grc"; wraps = "kubectl"; body = "grc.wrap kubectl $argv"; }; - edit = { - description = "Open a file in already running nvim and switch tab"; + e = { + description = "Open a file in already running nvim"; argumentNames = [ "file" ]; body = '' - set _file (readlink -f "$file") - if test -z "$file" - set _root (vcs_root) - set _file (fd --type f . "$_root" | sed -e "s#^$_root/##" | fzf --no-sort --layout=reverse) - set _file "$_root/$_file" - end - set _nvim_socket "$XDG_RUNTIME_DIR/nvim-persistent.sock" - if test -S "$_nvim_socket" && tmux select-window -t nvim 2>/dev/null - nvim --server "$_nvim_socket" --remote "$_file" - return 0 - end - tmux new-window -S -n nvim nvim --listen "$_nvim_socket" "$_file" + nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote (readlink -f "$file") ''; }; @@ -156,7 +133,6 @@ ]; shellAbbrs = { - e = "edit"; l = "bat"; ls = "eza"; tree = "eza --tree"; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 977eedc..7db5cca 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -34,8 +34,9 @@ shell-integration = "fish"; - window-decoration = false; - gtk-tabs-location = "bottom"; + window-decoration = true; + gtk-single-instance = true; + gtk-tabs-location = "hidden"; gtk-titlebar = false; window-padding-x = 12; window-padding-y = 0; @@ -49,16 +50,6 @@ "alt+shift+v=paste_from_clipboard" "ctrl+tab=goto_split:previous" "super+enter=toggle_fullscreen" - "ctrl+enter=unbind" - "alt+one=unbind" - "alt+two=unbind" - "alt+three=unbind" - "alt+four=unbind" - "alt+five=unbind" - "alt+six=unbind" - "alt+seven=unbind" - "alt+eight=unbind" - "alt+nine=unbind" ]; }; }; @@ -116,46 +107,12 @@ ''; xdg.desktopEntries = { - ghostty-local = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local -e "tmux new-session -A -D -s main -t main"''; - genericName = "Ghostty (local)"; - icon = "com.mitchellh.ghostty"; - name = "Ghostty (local)"; - settings = { - StartupWMClass = "com.mitchellh.ghostty-local"; - TryExec = "ghostty"; - }; - terminal = false; - type = "Application"; - }; - - ghostty-local-secondary = { - categories = [ - "System" - "TerminalEmulator" - ]; - exec = ''ghostty --class=com.mitchellh.ghostty-local-secondary -e "tmux new-session -A -D -s secondary -t main"''; - genericName = "Ghostty (local) Secondary"; - icon = "com.mitchellh.ghostty"; - name = "Ghostty (local) Secondary"; - settings = { - StartupWMClass = "com.mitchellh.ghostty-local-secondary"; - TryExec = "ghostty"; - }; - terminal = false; - type = "Application"; - }; - ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo -e "ssh -t nemo tmux new-session -A -D -s main -t main"''; + exec = ''ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo"''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/tmux.nix b/home/common/tmux.nix index d5b0687..a587338 100644 --- a/home/common/tmux.nix +++ b/home/common/tmux.nix @@ -25,7 +25,6 @@ set -g status-right '%F | %R' set -g status off set -g update-environment "SSH_AUTH_SOCK" - setenv -g "SSH_AUTH_SOCK" "$XDG_RUNTIME_DIR/ssh-agent" setw -g alternate-screen on setw -g automatic-rename off setw -g window-status-format "" @@ -34,16 +33,15 @@ set -s command-alias[1000] stty='run-shell "tmux send-keys \"stty cols #{pane_width} rows #{pane_height}\" Enter"' - bind -n M-1 if-shell 'tmux select-window -t nvim' refresh-client 'new-window -S -n nvim nvim --listen $XDG_RUNTIME_DIR/nvim-persistent.sock' - bind -n M-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' - bind -n M-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' - bind -n M-4 if-shell 'tmux select-window -t t3' refresh-client 'new-window -S -n t3' - bind -n M-5 if-shell 'tmux select-window -t t4' refresh-client 'new-window -S -n t4' - bind -n M-6 if-shell 'tmux select-window -t t5' refresh-client 'new-window -S -n t5' - bind -n M-7 if-shell 'tmux select-window -t t6' refresh-client 'new-window -S -n t6' - bind -n M-8 if-shell 'tmux select-window -t t7' refresh-client 'new-window -S -n t7' - bind -n M-9 if-shell 'tmux select-window -t t8' refresh-client 'new-window -S -n t8' - bind -n M-0 if-shell 'tmux select-window -t t9' refresh-client 'new-window -S -n t9' + bind -n C-2 if-shell 'tmux select-window -t t1' refresh-client 'new-window -S -n t1' + bind -n C-3 if-shell 'tmux select-window -t t2' refresh-client 'new-window -S -n t2' + bind -n C-4 if-shell 'tmux select-window -t t3' refresh-client 'new-window -S -n t3' + bind -n C-5 if-shell 'tmux select-window -t t4' refresh-client 'new-window -S -n t4' + bind -n C-6 if-shell 'tmux select-window -t t5' refresh-client 'new-window -S -n t5' + bind -n C-7 if-shell 'tmux select-window -t t6' refresh-client 'new-window -S -n t6' + bind -n C-8 if-shell 'tmux select-window -t t7' refresh-client 'new-window -S -n t7' + bind -n C-9 if-shell 'tmux select-window -t t8' refresh-client 'new-window -S -n t8' + bind -n C-0 if-shell 'tmux select-window -t t9' refresh-client 'new-window -S -n t9' bind -T copy-mode-vi WheelUpPane select-pane \; send-keys -X -N 1 scroll-up bind -T copy-mode-vi WheelDownPane select-pane \; send-keys -X -N 1 scroll-down bind C-s set-option -g status From 376fb67f48fff74d39b29dbbc9bae64d40e98ba9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 1 Jan 2025 16:55:29 +0100 Subject: [PATCH 530/656] nix update --- flake.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/flake.lock b/flake.lock index 0d72b93..2b181d7 100644 --- a/flake.lock +++ b/flake.lock @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735589157, - "narHash": "sha256-s5fJn9LSwz3cfkKSvicQppCnXVs8F05OH96yaa5K2Dc=", + "lastModified": 1735689283, + "narHash": "sha256-LOZRScnB8Q9ylmlXnt2j2v4Aj1b5JZTdSeKYaFL1RDw=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "ef542c6e63b40b3541dc5efd625c0b95f750bbc6", + "rev": "60611b8a4a1d5b3c1097cce85eb0311de0696cfa", "type": "github" }, "original": { @@ -222,11 +222,11 @@ ] }, "locked": { - "lastModified": 1735381016, - "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", + "lastModified": 1735735907, + "narHash": "sha256-/AOGn9qJMjrZQyWYbObHTKmWDUP0q9+0TAXOJnq6ik0=", "owner": "nix-community", "repo": "home-manager", - "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", + "rev": "59a4c43e9ba6db24698c112720a58a334117de83", "type": "github" }, "original": { @@ -246,11 +246,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735517129, - "narHash": "sha256-ibHgAkr8OXAP8MRBo4Z7AIaVdOHywGR2J8R50vZCQjI=", + "lastModified": 1735693090, + "narHash": "sha256-Axke90GBbocA48Lrb7ub/RycvHt1NcujkZW1RMF+Q7Q=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "fd381a5a19f553c2466dc437fb94fcf799d77e82", + "rev": "47e417b35d1ec8bf79deec3e96c90f1e41a9e1e4", "type": "github" }, "original": { @@ -262,11 +262,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735489459, - "narHash": "sha256-PMeWazyxGxpA6UeVrWH/ur8WuqliGxXlRjTTQdMiYVc=", + "lastModified": 1735686267, + "narHash": "sha256-gLa+1QOW7P5J4cAG34BW68tnf/yOx50rH6iZuSyoX1A=", "owner": "neovim", "repo": "neovim", - "rev": "e4bc8b5967d22840c1e52c97acab0f77107cd48c", + "rev": "59cbe640233eeb6ae96231e059449e73e15f9ea5", "type": "github" }, "original": { @@ -277,11 +277,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735268880, - "narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", + "lastModified": 1735554305, + "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", + "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", "type": "github" }, "original": { @@ -341,11 +341,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735523292, - "narHash": "sha256-opBsbR/nrGxiiF6XzlVluiHYb6yN/hEwv+lBWTy9xoM=", + "lastModified": 1735617354, + "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6d97d419e5a9b36e6293887a89a078cf85f5a61b", + "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", "type": "github" }, "original": { @@ -405,11 +405,11 @@ ] }, "locked": { - "lastModified": 1735135567, - "narHash": "sha256-8T3K5amndEavxnludPyfj3Z1IkcFdRpR23q+T0BVeZE=", + "lastModified": 1735653038, + "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "9e09d30a644c57257715902efbb3adc56c79cf28", + "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7", "type": "github" }, "original": { From 9ee84b89e6eaceffcc259e0812fffebc977dae9b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 00:30:54 +0100 Subject: [PATCH 531/656] nvim: color scheme tweaks --- home/common/nvim/dieter/lua/dieter/init.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e803a36..1a638dd 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -52,9 +52,14 @@ local colors = { highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), - string = hsl(96, 35, 60), + -- string = hsl(96, 35, 60), + -- string = hsl(80, 79, 83), + string = hsl(90, 45, 70), comment = hsl(2, 69, 68), comment_error = hsl(2, 85, 50), + func = hsl(40, 57, 87), + member = hsl(213, 45, 75), + punc = hsl(213, 45, 50), diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), @@ -97,13 +102,14 @@ local theme = { Constant = { link = "NormalNC" }, Delimiter = { link = "NormalNC" }, + Function = { fg = c.func }, Identifier = { link = "NormalNC" }, Keyword = { fg = c.foreground, bold = true }, Operator = { link = "NormalNC" }, Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, - String = { fg = c.string, italic = true }, + String = { fg = c.string }, Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, @@ -123,11 +129,13 @@ local theme = { GitSignsDeleteNr = { link = "DiffDelete" }, -- Treesitter - ["@function"] = { link = "NormalNC" }, + -- ["@function"] = { link = "NormalNC" }, + ["@punctuation.special"] = { fg = c.punc }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, + ["@variable.member"] = { fg = c.member }, ["@variable.parameter"] = { fg = c.accent2 }, - ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, + -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, From 311cd9042e5d22ce52980d02ade6b8c7e6152cd8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 10:55:43 +0100 Subject: [PATCH 532/656] nvim: wrapper script for persistent+remote control --- home/common/fish.nix | 2 +- home/common/ghostty.nix | 5 ++++- home/common/nvim/default.nix | 12 ++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 5fd6a55..253c701 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -53,7 +53,7 @@ description = "Open a file in already running nvim"; argumentNames = [ "file" ]; body = '' - nvim --server "$XDG_RUNTIME_DIR/nvim-persistent.sock" --remote (readlink -f "$file") + nvim-remote --remote (readlink -f "$file") ''; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 7db5cca..60174c8 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -33,6 +33,7 @@ unfocused-split-opacity = 1.0; shell-integration = "fish"; + initial-command = "nvim-remote"; window-decoration = true; gtk-single-instance = true; @@ -112,7 +113,9 @@ "System" "TerminalEmulator" ]; - exec = ''ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo"''; + exec = '' + ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; name = "Ghostty (nemo)"; diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 2731261..a67f7e3 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -4,11 +4,23 @@ pkgs, ... }: +let + nvim-remote = pkgs.writeShellApplication { + name = "nvim-remote"; + text = '' + _sess=$(echo -n "$USER@''${SSH_CONNECTION:-$HOSTNAME}" | tr -c '[:alnum:]@.' '_') + _nvim_sock="''${XDG_RUNTIME_DIR:-/tmp}/nvim.$_sess.sock" + exec nvim --listen "$_nvim_sock" --server "$_nvim_sock" "$@" + ''; + }; +in { imports = [ ./treesitter.nix ]; + home.packages = [ nvim-remote ]; + programs.man.generateCaches = false; programs.neovim = { From a603dd1cada3f589d3ea2d8a82ae4d419d8b1bca Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 16:19:21 +0100 Subject: [PATCH 533/656] ghostty: module has been merged to home-manager --- flake.lock | 64 ++++++++++++++++------------------------- flake.nix | 3 -- home/common/ghostty.nix | 7 ++--- home/dln/desktop.nix | 1 - 4 files changed, 26 insertions(+), 49 deletions(-) diff --git a/flake.lock b/flake.lock index 2b181d7..bb16977 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1735774679, + "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", "type": "github" }, "original": { @@ -116,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735689283, - "narHash": "sha256-LOZRScnB8Q9ylmlXnt2j2v4Aj1b5JZTdSeKYaFL1RDw=", + "lastModified": 1735765328, + "narHash": "sha256-f4LI34cXP8nOTi4Va6GPUFaJYf0qGbabk+OeUddsfuk=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "60611b8a4a1d5b3c1097cce85eb0311de0696cfa", + "rev": "94599102e9fb8247af08cbbbcb7ee25e3d31e1bd", "type": "github" }, "original": { @@ -129,21 +129,6 @@ "type": "github" } }, - "ghostty-hm": { - "locked": { - "lastModified": 1702368251, - "narHash": "sha256-hafrDmzGplzm+vdIo+LkOjRfA4qRcy5JmpGGksnht5c=", - "owner": "clo4", - "repo": "ghostty-hm-module", - "rev": "887e13a6e7acf5ffaab0119d96e476d84db90904", - "type": "github" - }, - "original": { - "owner": "clo4", - "repo": "ghostty-hm-module", - "type": "github" - } - }, "git-hooks": { "inputs": { "flake-compat": "flake-compat_3", @@ -202,11 +187,11 @@ ] }, "locked": { - "lastModified": 1733333617, - "narHash": "sha256-nMMQXREGvLOLvUa0ByhYFdaL0Jov0t1wzLbKjr05P2w=", + "lastModified": 1735695978, + "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "56f8ea8d502c87cf62444bec4ee04512e8ea24ea", + "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", "type": "github" }, "original": { @@ -222,11 +207,11 @@ ] }, "locked": { - "lastModified": 1735735907, - "narHash": "sha256-/AOGn9qJMjrZQyWYbObHTKmWDUP0q9+0TAXOJnq6ik0=", + "lastModified": 1735774425, + "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", "owner": "nix-community", "repo": "home-manager", - "rev": "59a4c43e9ba6db24698c112720a58a334117de83", + "rev": "5f6aa268e419d053c3d5025da740e390b12ac936", "type": "github" }, "original": { @@ -246,11 +231,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735693090, - "narHash": "sha256-Axke90GBbocA48Lrb7ub/RycvHt1NcujkZW1RMF+Q7Q=", + "lastModified": 1735801710, + "narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "47e417b35d1ec8bf79deec3e96c90f1e41a9e1e4", + "rev": "57a05ea557689b9d85dd594a9a26778b6842a18a", "type": "github" }, "original": { @@ -262,11 +247,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735686267, - "narHash": "sha256-gLa+1QOW7P5J4cAG34BW68tnf/yOx50rH6iZuSyoX1A=", + "lastModified": 1735771362, + "narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=", "owner": "neovim", "repo": "neovim", - "rev": "59cbe640233eeb6ae96231e059449e73e15f9ea5", + "rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9", "type": "github" }, "original": { @@ -277,11 +262,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735554305, - "narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=", + "lastModified": 1735617354, + "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd", + "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", "type": "github" }, "original": { @@ -309,11 +294,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735531152, - "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", + "lastModified": 1735669367, + "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", + "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", "type": "github" }, "original": { @@ -374,7 +359,6 @@ "root": { "inputs": { "ghostty": "ghostty", - "ghostty-hm": "ghostty-hm", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nixpkgs": "nixpkgs_2", diff --git a/flake.nix b/flake.nix index 170ca39..c19e910 100644 --- a/flake.nix +++ b/flake.nix @@ -22,14 +22,12 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - ghostty-hm.url = "github:clo4/ghostty-hm-module"; }; outputs = inputs@{ self, nixpkgs, - ghostty-hm, home-manager, ... }: @@ -55,7 +53,6 @@ inherit inputs outputs; }; modules = [ - ghostty-hm.homeModules.default ./home/common ] ++ modules; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 60174c8..165989a 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -7,13 +7,10 @@ }: { config = lib.mkIf config.patagia.desktop.enable { - - home.packages = with pkgs; [ - inputs.ghostty.packages.${pkgs.system}.default - ]; - programs.ghostty = { enable = true; + enableFishIntegration = true; + package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 14; font-family = "Berkeley Mono Variable"; diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 95d3157..783f875 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -9,7 +9,6 @@ dynamic-wallpaper gimp inkscape - inputs.ghostty.packages.${pkgs.system}.default moonlight-qt obsidian pavucontrol From 091442fcdf183fcc65f5799f59c663f2c3ffd367 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 17:04:16 +0100 Subject: [PATCH 534/656] ghostty: use berkeley mono v2 --- home/common/ghostty.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 165989a..3ff4a1e 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -13,11 +13,12 @@ package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 14; - font-family = "Berkeley Mono Variable"; + font-family = "TX-02"; font-family-bold-italic = "Monaspace Xenon"; + font-style-bold = "Bold"; + font-style-italic = "Light Oblique"; font-style-bold-italic = "ExtraLight Italic"; font-synthetic-style = false; - font-variation-italic = [ "wght=100" ]; adjust-cell-height = 1; adjust-cursor-thickness = 5; From 13348be8e987eac9e6555634fc71e120f7317551 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 19:46:32 +0100 Subject: [PATCH 535/656] nvim: Add dieter/dieter-nocolor variants. Switch with <Leader>uc --- home/common/nvim/default.nix | 2 +- .../nvim/dieter/colors/dieter-nocolor.lua | 2 + home/common/nvim/dieter/colors/dieter.lua | 2 +- home/common/nvim/dieter/lua/dieter/init.lua | 255 ++++++++++-------- home/common/nvim/init.lua | 7 + 5 files changed, 156 insertions(+), 112 deletions(-) create mode 100644 home/common/nvim/dieter/colors/dieter-nocolor.lua diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index a67f7e3..4312729 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -154,7 +154,7 @@ in }; type = "lua"; config = '' - vim.cmd.colorscheme "dieter" + vim.cmd.colorscheme "dieter-nocolor" ''; } diff --git a/home/common/nvim/dieter/colors/dieter-nocolor.lua b/home/common/nvim/dieter/colors/dieter-nocolor.lua new file mode 100644 index 0000000..6f016e4 --- /dev/null +++ b/home/common/nvim/dieter/colors/dieter-nocolor.lua @@ -0,0 +1,2 @@ +package.loaded["dieter"] = nil +require("dieter").setup_nocolor() diff --git a/home/common/nvim/dieter/colors/dieter.lua b/home/common/nvim/dieter/colors/dieter.lua index 38e858c..5dd7a50 100644 --- a/home/common/nvim/dieter/colors/dieter.lua +++ b/home/common/nvim/dieter/colors/dieter.lua @@ -1,2 +1,2 @@ package.loaded["dieter"] = nil -require("dieter") +require("dieter").setup() diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 1a638dd..4b4c55d 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -42,7 +42,7 @@ local colors = { background = "NONE", foreground = "NONE", - accent1 = hsl(202, 57, 57), -- Blue + accent1 = hsl(202, 57, 57), -- Blue accent2 = hsl(40, 57, 57), -- Yellow dimmed = hsl(212, 19, 25), @@ -93,136 +93,171 @@ local colors = { } -local c = colors[vim.o.background] -c.dialog_fg = c.foreground -c.dialog_bg = c.background +local setupGroups = function(c) + c.dialog_fg = c.foreground + c.dialog_bg = c.background -local theme = { - Normal = { fg = c.foreground, bg = c.background }, + return { + Normal = { fg = c.foreground, bg = c.background }, - Constant = { link = "NormalNC" }, - Delimiter = { link = "NormalNC" }, - Function = { fg = c.func }, - Identifier = { link = "NormalNC" }, - Keyword = { fg = c.foreground, bold = true }, - Operator = { link = "NormalNC" }, - Special = { link = "NormalNC" }, - Type = { link = "NormalNC" }, + Constant = { link = "NormalNC" }, + Delimiter = { link = "NormalNC" }, + Function = { fg = c.func }, + Identifier = { link = "NormalNC" }, + Keyword = { fg = c.foreground, bold = true }, + Operator = { link = "NormalNC" }, + Special = { link = "NormalNC" }, + Type = { link = "NormalNC" }, - String = { fg = c.string }, + String = { fg = c.string }, - Comment = { fg = c.comment, italic = true, bold = true }, - CommentError = { fg = c.comment_error, italic = true, bold = true }, - ["@comment.note"] = { link = "Comment" }, - ["@comment.todo"] = { link = "CommentError" }, - ["@comment.error"] = { link = "CommentError" }, - ["@comment.warning"] = { link = "CommentError" }, + Visual = { bg = c.selection }, - DiffAdd = { fg = c.add, bg = c.add_quarter }, - GitSignsAdd = { fg = c.add, bg = c.background }, - GitSignsAddNr = { link = "DiffAdd" }, - DiffChange = { fg = c.change, bg = c.change_quarter }, - GitSignsChange = { fg = c.change, bg = c.background }, - GitSignsChangeNr = { link = "DiffChange" }, - DiffDelete = { fg = c.delete, bg = c.delete_quarter }, - GitSignsDelete = { fg = c.delete, bg = c.background }, - GitSignsDeleteNr = { link = "DiffDelete" }, + Comment = { fg = c.comment, italic = true, bold = true }, + CommentError = { fg = c.comment_error, italic = true, bold = true }, + ["@comment.note"] = { link = "Comment" }, + ["@comment.todo"] = { link = "CommentError" }, + ["@comment.error"] = { link = "CommentError" }, + ["@comment.warning"] = { link = "CommentError" }, - -- Treesitter - -- ["@function"] = { link = "NormalNC" }, - ["@punctuation.special"] = { fg = c.punc }, - ["@special"] = { link = "NormalNC" }, - ["@variable"] = { link = "NormalNC" }, - ["@variable.member"] = { fg = c.member }, - ["@variable.parameter"] = { fg = c.accent2 }, - -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, + DiffAdd = { fg = c.add, bg = c.add_quarter }, + GitSignsAdd = { fg = c.add, bg = c.background }, + GitSignsAddNr = { link = "DiffAdd" }, + DiffChange = { fg = c.change, bg = c.change_quarter }, + GitSignsChange = { fg = c.change, bg = c.background }, + GitSignsChangeNr = { link = "DiffChange" }, + DiffDelete = { fg = c.delete, bg = c.delete_quarter }, + GitSignsDelete = { fg = c.delete, bg = c.background }, + GitSignsDeleteNr = { link = "DiffDelete" }, - -- UI Elements - CursorLine = { bg = c.highlight_subtle }, + -- Treesitter + -- ["@function"] = { link = "NormalNC" }, + ["@punctuation.special"] = { fg = c.punc }, + ["@special"] = { link = "NormalNC" }, + ["@variable"] = { link = "NormalNC" }, + ["@variable.member"] = { fg = c.member }, + ["@variable.parameter"] = { fg = c.accent2 }, + -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, - DiagnosticError = { fg = c.diagnostic_error, italic = true }, - DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, - DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, - DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, - DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, - DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + -- UI Elements + CursorLine = { bg = c.highlight_subtle }, - DiagnosticSignError = { fg = c.diagnostic_error }, - DiagnosticSignHint = { fg = c.diagnostic_hint }, - DiagnosticSignInfo = { fg = c.diagnostic_info }, - DiagnosticSignWarn = { fg = c.diagnostic_warning }, - LineNr = { fg = c.dimmed, italic = true }, - CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, + DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, + DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, + DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, - IndentLine = { fg = c.dimmed }, - IndentLineCurrent = { fg = c.dimmed_subtle }, - MiniIndentscopeSymbol = { link = "IndentLine" }, - MiniIndentscopeSymbolOff = { link = "IndentLine" }, + DiagnosticSignError = { fg = c.diagnostic_error }, + DiagnosticSignHint = { fg = c.diagnostic_hint }, + DiagnosticSignInfo = { fg = c.diagnostic_info }, + DiagnosticSignWarn = { fg = c.diagnostic_warning }, + LineNr = { fg = c.dimmed, italic = true }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, - TreesitterContext = { reverse = true }, - TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, - InclineNormal = { bg = c.background }, - InclineNormalNC = { bg = c.background }, + IndentLine = { fg = c.dimmed }, + IndentLineCurrent = { fg = c.dimmed_subtle }, + MiniIndentscopeSymbol = { link = "IndentLine" }, + MiniIndentscopeSymbolOff = { link = "IndentLine" }, - WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, - FloatBorder = { fg = c.doc_fg }, - FloatTitle = { fg = c.doc_fg, bold = true }, + TreesitterContext = { reverse = true }, + TreesitterContextLineNumber = { bg = c.dimmed, reverse = true, italic = true }, + InclineNormal = { bg = c.background }, + InclineNormalNC = { bg = c.background }, - Title = { fg = c.foreground, bold = true }, + WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, + NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, + FloatBorder = { fg = c.doc_fg }, + FloatTitle = { fg = c.doc_fg, bold = true }, - MiniPickNormal = { link = "Normal" }, - MiniPickBorder = { link = "MiniPickNormal" }, - MiniPickBorderText = { link = "MiniPickBorder" }, - MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + Title = { fg = c.foreground, bold = true }, - MiniClueBorder = { link = "MiniPickNormal" }, - MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, - MiniClueNextKey = { link = "MiniClueTitle" }, - MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueDescSingle = { bg = c.background, fg = c.foreground }, - MiniClueSeparator = { link = "MiniClueBorder" }, + MiniPickNormal = { link = "Normal" }, + MiniPickBorder = { link = "MiniPickNormal" }, + MiniPickBorderText = { link = "MiniPickBorder" }, + MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, - MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, + MiniClueBorder = { link = "MiniPickNormal" }, + MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, + MiniClueNextKey = { link = "MiniClueTitle" }, + MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, + MiniClueDescSingle = { bg = c.background, fg = c.foreground }, + MiniClueSeparator = { link = "MiniClueBorder" }, - BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, - BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, - BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg }, - BlinkCmpLabel = { link = 'BlinkCmpMenu' }, - BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, - BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground }, - BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg }, - BlinkCmpDocDetail = { link = 'BlinkCmpDoc' }, - BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, - BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, + BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpMenuSelection = { bg = c.cmp_selected_bg, fg = c.cmp_selected_fg, reverse = false }, + BlinkCmpMenuBorder = { bg = c.cmp_bg, fg = c.cmp_fg }, + BlinkCmpLabel = { link = 'BlinkCmpMenu' }, + BlinkCmpLabelMatch = { link = 'BlinkCmpMenu', underline = true }, - NeoCodeiumSuggestion = { fg = c.suggestion , bold = true, italic = true }, + BlinkCmpDoc = { bg = c.doc_bg, fg = c.foreground }, + BlinkCmpDocBorder = { bg = c.doc_bg, fg = c.doc_fg }, + BlinkCmpDocDetail = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, + BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, - NoiceMini = { fg = c.foreground, italic = true }, - - TelescopeNormal = { fg = c.foreground, bg = c.background }, - TelescopeBorder = { bold = true }, - TelescopeSelection = { bg = c.selection }, - TelescopeResultsNormal = { fg = c.foreground, bold = true }, - TelescopeResultsComment = { fg = c.dimmed_subtle, italic = true, bold = false }, - - Visual = { bg = c.selection }, - LspReferenceText = { fg = c.highlight_intense, undercurl = true }, - LspInlayHint = { fg = c.accent1, italic = true, bold = true }, -} - -vim.cmd("hi clear") - -if vim.fn.exists("syntax_on") == 1 then - vim.cmd("syntax reset") + NeoCodeiumSuggestion = { fg = c.suggestion, bold = true, italic = true }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, + LspInlayHint = { fg = c.accent1, italic = true, bold = true }, + } end -for group, hl in pairs(theme) do - vim.api.nvim_set_hl(0, group, hl) + +local setupGroupsNoColor = function(c) + local g = setupGroups(c) + local cl = { link = "NormalNC" } + g.Constant = cl + g.Delimiter = cl + g.Function = cl + g.Identifier = cl + g.Keyword = cl + g.Operator = cl + g["@punctuation.special"] = cl + g["@special"] = cl + g["@string"] = cl + g["@lsp.type.string"] = cl + g.Special = cl + g.String = cl + g.Type = cl + g.Variable = cl + g["@variable"] = cl + g["@variable.member"] = cl + g["@variable.parameter"] = cl + g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } + g.CommentError = { link = "Comment" } + return g end -vim.g.colors_name = "dieter" +local setup_common = function(groups) + vim.cmd("hi clear") + if vim.fn.exists("syntax_on") == 1 then + vim.cmd("syntax reset") + end + for group, hl in pairs(groups) do + vim.api.nvim_set_hl(0, group, hl) + end +end + +local T = {} + +T.setup = function() + local c = colors[vim.o.background] + local groups = setupGroups(c) + setup_common(groups) + vim.g.colors_name = "dieter" +end + +T.setup_nocolor = function() + local c = colors[vim.o.background] + local groups = setupGroupsNoColor(c) + setup_common(groups) + vim.g.colors_name = "dieter-nocolor" +end + +return T diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index c32cefe..7c3e600 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -154,6 +154,13 @@ vim.keymap.set("n", "K", function() vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") end, opts("Toggle dark/light background")) +vim.keymap.set("n", "<Leader>uc", function() + if vim.g.colors_name == "dieter-nocolor" then + vim.cmd [[colorscheme dieter]] + else + vim.cmd [[colorscheme dieter-nocolor]] + end +end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 37372a5c69bb1b8cae6b97283738c3a0e5c17a8d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 20:27:42 +0100 Subject: [PATCH 536/656] nvim: colors --- home/common/nvim/dieter/lua/dieter/init.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 4b4c55d..e8b7abd 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -52,6 +52,8 @@ local colors = { highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), + dialog_fg = hsl(191, 15, 75), + -- string = hsl(96, 35, 60), -- string = hsl(80, 79, 83), string = hsl(90, 45, 70), @@ -81,7 +83,7 @@ local colors = { selection = hsl(213, 60, 40), cmp_bg = hsl(218, 30, 13), - cmp_fg = hsl(218, 30, 60), + cmp_fg = hsl(218, 30, 80), cmp_selected_bg = hsl(218, 30, 25), cmp_selected_fg = hsl(218, 50, 80), @@ -94,7 +96,6 @@ local colors = { } local setupGroups = function(c) - c.dialog_fg = c.foreground c.dialog_bg = c.background return { @@ -176,12 +177,12 @@ local setupGroups = function(c) Title = { fg = c.foreground, bold = true }, - MiniPickNormal = { link = "Normal" }, + MiniPickNormal = { bg = c.dialog_bg, fg = c.dialog_fg }, MiniPickBorder = { link = "MiniPickNormal" }, MiniPickBorderText = { link = "MiniPickBorder" }, - MiniPickMatchCurrent = { bg = c.background, fg = c.foreground, reverse = true }, + MiniPickMatchCurrent = { bg = c.dialog_bg, fg = c.dialog_fg, reverse = true }, - MiniClueBorder = { link = "MiniPickNormal" }, + MiniClueBorder = { link = "MiniPicBorder" }, MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, MiniClueNextKey = { link = "MiniClueTitle" }, MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, From f8ad364bc9c9fa4b32dba3c7f7fe65889c8491a7 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 21:11:26 +0100 Subject: [PATCH 537/656] ghostty: color adjustments --- home/common/ghostty.nix | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3ff4a1e..d2dfb12 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -20,11 +20,9 @@ font-style-bold-italic = "ExtraLight Italic"; font-synthetic-style = false; - adjust-cell-height = 1; - adjust-cursor-thickness = 5; - adjust-font-baseline = 1; + adjust-cursor-thickness = 4; adjust-underline-position = 2; - adjust-underline-thickness = -1; + adjust-underline-thickness = -2; mouse-hide-while-typing = true; cursor-style = "block"; @@ -59,9 +57,9 @@ in '' background = "${background}" - foreground = "#d1d5db" - cursor-color = #00d992 - selection-background = #d7d7d7 + foreground = #b7bec7 + cursor-color = #e7e7b7 + selection-background = #84979f selection-foreground = #000000 palette = 0=#000000 palette = 1=#ff0035 @@ -70,7 +68,7 @@ palette = 4=#00a7ff palette = 5=#cb01ff palette = 6=#00e0ff - palette = 7=#f0f0f0 + palette = 7=#b7bec7 palette = 8=#444444 palette = 9=#ff8c88 palette = 10=#baff94 From f0710b34fba2fd30247b04bb3f9b9f3bcdd04a2c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 23:04:54 +0100 Subject: [PATCH 538/656] nvim: update Patagia logo --- home/common/nvim/mini.lua | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index a572728..297c1c6 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -239,11 +239,14 @@ require('mini.notify').setup({ require('mini.starter').setup({ header = - [[ ______ _ -(_____ \ _ (_) - _____) )___| |_ ____ ____ _ ____ -| ____/ _ | _)/ _ |/ _ | |/ _ | -| | ( ( | | |_( ( | ( ( | | ( ( | | -|_| \_||_|\___)_||_|\_|| |_|\_||_| - (_____|]] + [[ +████████▄ ▄▄ ▒▒ +██ ▀██ ██ +██ ▄██ ▄██████▄ ██████ ▄██████▄ ▄████▄██ ██ ▄██████▄ +████████▀ ▀▀ ██ ██ ▀▀ ██ ██▀ ▀██ ██ ▀▀ ██ +██ ▄███████ ██ ▄███████ ██ ██ ██ ▄███████ +██ ██ ██ ██ ██ ██ ██▄ ▄██ ██ ██ ██ +██ ▀████▀██ ▀███ ▀████▀██ ▀████▀██ ██ ▀████▀██ + ▄▄ ██ + ▀██████▀ ]] }) From 7e89879ae9f591fad9260030773206ca06a6a02a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 2 Jan 2025 23:08:15 +0100 Subject: [PATCH 539/656] lsjostro has his own home-manager setup now --- flake.nix | 1 - home/lsjostro/home.nix | 40 ---------------------------------------- home/lsjostro/nemo.nix | 6 ------ 3 files changed, 47 deletions(-) delete mode 100644 home/lsjostro/home.nix delete mode 100644 home/lsjostro/nemo.nix diff --git a/flake.nix b/flake.nix index c19e910..fc589f7 100644 --- a/flake.nix +++ b/flake.nix @@ -78,7 +78,6 @@ "dln@dinky" = mkHome [ ./home/dln/dinky.nix ]; "dln@nemo" = mkHome [ ./home/dln/nemo.nix ]; "dln@pearl" = mkHome [ ./home/dln/pearl.nix ]; - "lsjostro@nemo" = mkHome [ ./home/lsjostro/nemo.nix ]; }; }; } diff --git a/home/lsjostro/home.nix b/home/lsjostro/home.nix deleted file mode 100644 index f1d8a4d..0000000 --- a/home/lsjostro/home.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs, ... }: -{ - home = { - username = "lsjostro"; - homeDirectory = "/home/lsjostro"; - packages = with pkgs; [ openconnect ]; - }; - - programs.git = { - userName = "Lars Sjöstrom"; - userEmail = "lars@radicore.se"; - }; - - programs.ssh.matchBlocks = { - dev = { - hostname = "10.1.100.17"; - }; - - nemo = { - hostname = "10.1.100.20"; - forwardAgent = true; - localForwards = [ - { - bind.address = "localhost"; - bind.port = 8000; - host.address = "localhost"; - host.port = 8000; - } - { - bind.address = "localhost"; - bind.port = 8080; - host.address = "localhost"; - host.port = 8080; - } - ]; - }; - }; - - home.stateVersion = "24.05"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion -} diff --git a/home/lsjostro/nemo.nix b/home/lsjostro/nemo.nix deleted file mode 100644 index 0de2f39..0000000 --- a/home/lsjostro/nemo.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ ... }: -{ - imports = [ ./home.nix ]; - - # Host specific user config goes here -} From 70fec1c1f1369022103e6824399652ca0d444908 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 00:11:25 +0100 Subject: [PATCH 540/656] nvim: just color underlines for diagnostics --- home/common/nvim/dieter/lua/dieter/init.lua | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e8b7abd..e552e61 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -148,10 +148,10 @@ local setupGroups = function(c) DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticUnderlineError = { fg = c.diagnostic_error, undercurl = true }, - DiagnosticUnderlineWarn = { fg = c.diagnostic_warn, undercurl = true }, - DiagnosticUnderlineInfo = { fg = c.diagnostic_info, undercurl = true }, - DiagnosticUnderlinehint = { fg = c.diagnostic_hint, undercurl = true }, + DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, + DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, + DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, + DiagnosticUnderlinehint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticSignError = { fg = c.diagnostic_error }, DiagnosticSignHint = { fg = c.diagnostic_hint }, From 5a35ac9aeb78004ecdba79ce07c5cdcc19b12ae2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 00:11:25 +0100 Subject: [PATCH 541/656] nvim: absolute line numbers by default --- home/common/nvim/init.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 7c3e600..2372c92 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,7 +8,7 @@ vim.g.maplocalleader = "," vim.opt.cursorline = true vim.opt.laststatus = 0 vim.opt.number = true -vim.opt.relativenumber = true +vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" vim.opt.termguicolors = true From 6223f1e7c92ca7b1557f7a3ca3266314a0d3568c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 542/656] test-term: add ANSI color sets --- files/scripts/test-term.sh | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/files/scripts/test-term.sh b/files/scripts/test-term.sh index 822e174..e702886 100755 --- a/files/scripts/test-term.sh +++ b/files/scripts/test-term.sh @@ -186,3 +186,109 @@ for i in $(seq 255 -1 128); do echo -n " " done resetOutput + + +## Color test + +# Tom Hale, 2016. MIT Licence. +# Print out 256 colours, with each number printed in its corresponding colour +# See http://askubuntu.com/questions/821157/print-a-256-color-test-pattern-in-the-terminal/821163#821163 + +set -eu # Fail on errors or undeclared variables + +printable_colours=256 + +# Return a colour that contrasts with the given colour +# Bash only does integer division, so keep it integral +function contrast_colour { + local r g b luminance + colour="$1" + + if (( colour < 16 )); then # Initial 16 ANSI colours + (( colour == 0 )) && printf "15" || printf "0" + return + fi + + # Greyscale # rgb_R = rgb_G = rgb_B = (number - 232) * 10 + 8 + if (( colour > 231 )); then # Greyscale ramp + (( colour < 244 )) && printf "15" || printf "0" + return + fi + + # All other colours: + # 6x6x6 colour cube = 16 + 36*R + 6*G + B # Where RGB are [0..5] + # See http://stackoverflow.com/a/27165165/5353461 + + # r=$(( (colour-16) / 36 )) + g=$(( ((colour-16) % 36) / 6 )) + # b=$(( (colour-16) % 6 )) + + # If luminance is bright, print number in black, white otherwise. + # Green contributes 587/1000 to human perceived luminance - ITU R-REC-BT.601 + (( g > 2)) && printf "0" || printf "15" + return + + # Uncomment the below for more precise luminance calculations + + # # Calculate percieved brightness + # # See https://www.w3.org/TR/AERT#color-contrast + # # and http://www.itu.int/rec/R-REC-BT.601 + # # Luminance is in range 0..5000 as each value is 0..5 + # luminance=$(( (r * 299) + (g * 587) + (b * 114) )) + # (( $luminance > 2500 )) && printf "0" || printf "15" +} + +# Print a coloured block with the number of that colour +function print_colour { + local colour="$1" contrast + contrast=$(contrast_colour "$1") + printf "\e[48;5;%sm" "$colour" # Start block of colour + printf "\e[38;5;%sm%3d" "$contrast" "$colour" # In contrast, print number + printf "\e[0m " # Reset colour +} + +# Starting at $1, print a run of $2 colours +function print_run { + local i + for (( i = "$1"; i < "$1" + "$2" && i < printable_colours; i++ )) do + print_colour "$i" + done + printf " " +} + +# Print blocks of colours +function print_blocks { + local start="$1" i + local end="$2" # inclusive + local block_cols="$3" + local block_rows="$4" + local blocks_per_line="$5" + local block_length=$((block_cols * block_rows)) + + # Print sets of blocks + for (( i = start; i <= end; i += (blocks_per_line-1) * block_length )) do + printf "\n" # Space before each set of blocks + # For each block row + for (( row = 0; row < block_rows; row++ )) do + # Print block columns for all blocks on the line + for (( block = 0; block < blocks_per_line; block++ )) do + print_run $(( i + (block * block_length) )) "$block_cols" + done + (( i += block_cols )) # Prepare to print the next row + printf "\n" + done + done +} + +echo +echo "ANSI 4-bit colors:" +echo + +print_run 0 16 # The first 16 colours are spread over the whole spectrum + +echo +echo +echo "ANSI 8-bit colors:" + +print_blocks 16 231 6 6 3 # 6x6x6 colour cube between 16 and 231 inclusive +print_blocks 232 255 12 2 1 # Not 50, but 24 Shades of Grey From 243a4765256801190bb7fb6236644b8b7324e9b2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 543/656] ghostty: lower underline position --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index d2dfb12..3904d69 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -21,7 +21,7 @@ font-synthetic-style = false; adjust-cursor-thickness = 4; - adjust-underline-position = 2; + adjust-underline-position = 5; adjust-underline-thickness = -2; mouse-hide-while-typing = true; From a8adda373c4b323d99e6642fecfcc499c71a8fce Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 01:10:48 +0100 Subject: [PATCH 544/656] fish: bold prompt symbol instead of colored --- home/common/fish.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 253c701..1061926 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -107,12 +107,12 @@ fish_prompt.body = '' echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color yellow) ' ❯ ' (set_color normal) + string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold) ' ❯ ' (set_color normal) ''; transient_prompt_func.body = '' echo - string join "" -- (set_color yellow) '❯ ' (set_color normal) + string join "" -- (set_color --bold) '❯ ' (set_color normal) ''; rg.body = '' From 79e3ffbac30f471011aa4c9ae72e1d161cf8e975 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:05:08 +0100 Subject: [PATCH 545/656] nvim: more subtle mini cursor word --- home/common/nvim/dieter/lua/dieter/init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index e552e61..8fc4535 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -66,7 +66,7 @@ local colors = { diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), diagnostic_info = hsl(176, 80, 60), - diagnostic_hint = hsl(176, 80, 60), + diagnostic_hint = hsl(210, 74, 60), popup_error_bg = hsl(0, 95, 7), popup_warning_bg = hsl(27, 95, 7), @@ -189,6 +189,8 @@ local setupGroups = function(c) MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, + MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, + MiniStarterCurrent = { link = "MiniPickMatchCurrent" }, BlinkCmpMenu = { bg = c.cmp_bg, fg = c.cmp_fg }, From 9b9389592e0251da7f61ef604f0ea5ff36a58e59 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:02:44 +0100 Subject: [PATCH 546/656] eza: monochrome theme. use home-manager aliases. --- home/common/fish.nix | 2 -- home/common/utils.nix | 12 +++++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 1061926..53c9988 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -134,8 +134,6 @@ shellAbbrs = { l = "bat"; - ls = "eza"; - tree = "eza --tree"; top = "btm --basic --enable_cache_memory --battery"; ts = "TZ=Z date '+%Y%m%dT%H%M%SZ'"; w = "viddy $history[1]"; diff --git a/home/common/utils.nix b/home/common/utils.nix index d9b5abe..4b5bc1a 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -33,11 +33,6 @@ }; }; - eza = { - enable = true; - enableFishIntegration = true; - }; - fd.enable = true; fzf = { @@ -69,4 +64,11 @@ options = [ "--cmd=cd" ]; }; }; + + programs.eza = { + enable = true; + enableFishIntegration = true; + }; + home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + } From afa495919cf1dae0583d5eca458799726d633a18 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:48:33 +0100 Subject: [PATCH 547/656] nvim: colorings --- home/common/nvim/dieter/lua/dieter/init.lua | 13 +++++++++---- home/common/nvim/init.lua | 8 +++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 8fc4535..7a7d3a2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -29,7 +29,6 @@ local colors = { change = hsl(41, 80, 80), change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - delete_quarter = hsl(350, 100, 85), dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), @@ -80,7 +79,10 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - selection = hsl(213, 60, 40), + selection = hsl(218, 30, 20), + + search_bg = hsl(43, 100, 8), + search_fg = hsl(43, 100, 85), cmp_bg = hsl(218, 30, 13), cmp_fg = hsl(218, 30, 80), @@ -114,6 +116,9 @@ local setupGroups = function(c) Visual = { bg = c.selection }, + Search = { bg = c.search_bg, fg = c.search_fg }, + CurSearch = { link = "Search" }, + Comment = { fg = c.comment, italic = true, bold = true }, CommentError = { fg = c.comment_error, italic = true, bold = true }, ["@comment.note"] = { link = "Comment" }, @@ -157,8 +162,8 @@ local setupGroups = function(c) DiagnosticSignHint = { fg = c.diagnostic_hint }, DiagnosticSignInfo = { fg = c.diagnostic_info }, DiagnosticSignWarn = { fg = c.diagnostic_warning }, - LineNr = { fg = c.dimmed, italic = true }, - CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle, bold = true }, + LineNr = { fg = c.dimmed }, + CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle }, IndentLine = { fg = c.dimmed }, IndentLineCurrent = { fg = c.dimmed_subtle }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 2372c92..8682273 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -69,7 +69,6 @@ vim.o.timeoutlen = 10 vim.o.timeout = true vim.o.updatetime = 50 - -- Use rg vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } @@ -150,10 +149,10 @@ vim.keymap.set("n", "K", function() max_width = 80, offset_x = 2, } - end, {}) +end, {}) vim.keymap.set("n", "<Leader>ub", function() vim.o.background = (vim.o.background == "light" and "dark" or "light") - end, opts("Toggle dark/light background")) +end, opts("Toggle dark/light background")) vim.keymap.set("n", "<Leader>uc", function() if vim.g.colors_name == "dieter-nocolor" then vim.cmd [[colorscheme dieter]] @@ -162,5 +161,4 @@ vim.keymap.set("n", "<Leader>uc", function() end end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) -vim.keymap.set("n", "<Leader>uw","<cmd>set invwrap<cr>", opts("Toggle line wrapping")) - +vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 7954844ff624cb73fce3cfa0f450e35f2258cf8c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 12:48:33 +0100 Subject: [PATCH 548/656] fish: colorings --- files/config/fish/config.fish | 2 +- home/common/fish.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index e794e56..c3d902f 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -12,7 +12,7 @@ set fish_emoji_width 2 # Colors set fish_color_command --bold set fish_color_comment --italics --dim -set fish_color_autosuggestion --italics --bold red +set fish_color_autosuggestion --italics --bold --dim set fish_color_cancel set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/home/common/fish.nix b/home/common/fish.nix index 53c9988..9fd7a43 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -107,7 +107,7 @@ fish_prompt.body = '' echo -e "\033[s\033[$LINES;1H\033[1;2;38;5;238m$(string pad -c '┄' -w $COLUMNS (fish_jj_prompt || fish_vcs_prompt))\033[0m\033[u" - string join "" -- (set_color --italics) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold) ' ❯ ' (set_color normal) + string join "" -- (set_color --dim) (prompt_hostname) ':' (prompt_pwd --full-length-dirs=4) (set_color --bold normal) ' ❯ ' (set_color normal) ''; transient_prompt_func.body = '' From 5032e07ee90aa455e24d32473d39d700b4e9caef Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 14:01:39 +0100 Subject: [PATCH 549/656] zoxide: fzf clown vomit mitigation effort --- home/common/utils.nix | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 4b5bc1a..a8284c1 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -58,11 +58,6 @@ ]; }; - zoxide = { - enable = true; - enableFishIntegration = true; - options = [ "--cmd=cd" ]; - }; }; programs.eza = { @@ -71,4 +66,11 @@ }; home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + programs.zoxide = { + enable = true; + enableFishIntegration = true; + options = [ "--cmd=cd" ]; + }; + home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=none --no-info --no-separator --no-scrollbar --no-color"; + } From 6dd68098e0cfd4a3cfe030f44ca33cc94589cef0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 14:01:39 +0100 Subject: [PATCH 550/656] jj: use jj flake directly --- flake.lock | 159 +- flake.nix | 1 + home/common/vcs.nix | 4 +- pkgs/default.nix | 1 - pkgs/jujutsu-openssh/Cargo.lock | 3838 ------------------------------ pkgs/jujutsu-openssh/default.nix | 89 - 6 files changed, 125 insertions(+), 3967 deletions(-) delete mode 100644 pkgs/jujutsu-openssh/Cargo.lock delete mode 100644 pkgs/jujutsu-openssh/default.nix diff --git a/flake.lock b/flake.lock index bb16977..17a6d61 100644 --- a/flake.lock +++ b/flake.lock @@ -108,6 +108,24 @@ "type": "github" } }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -116,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735765328, - "narHash": "sha256-f4LI34cXP8nOTi4Va6GPUFaJYf0qGbabk+OeUddsfuk=", + "lastModified": 1735875799, + "narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "94599102e9fb8247af08cbbbcb7ee25e3d31e1bd", + "rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8", "type": "github" }, "original": { @@ -136,18 +154,14 @@ "nixpkgs": [ "neovim-nightly-overlay", "nixpkgs" - ], - "nixpkgs-stable": [ - "neovim-nightly-overlay", - "nixpkgs" ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1735882644, + "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", "type": "github" }, "original": { @@ -207,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735774425, - "narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=", + "lastModified": 1735900408, + "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", "owner": "nix-community", "repo": "home-manager", - "rev": "5f6aa268e419d053c3d5025da740e390b12ac936", + "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", "type": "github" }, "original": { @@ -220,6 +234,27 @@ "type": "github" } }, + "jujutsu": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1733685432, + "narHash": "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=", + "owner": "dln", + "repo": "jj", + "rev": "b6608a03881542d6a8c98f659b80b57a27906096", + "type": "github" + }, + "original": { + "owner": "dln", + "ref": "openssh", + "repo": "jj", + "type": "github" + } + }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -227,15 +262,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs", + "nixpkgs": "nixpkgs_2", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735801710, - "narHash": "sha256-Z6Pl8LWYbPnqSinpSxrylfCpa4XkEVhzpfnfqiD0Kv8=", + "lastModified": 1735908283, + "narHash": "sha256-00Cd/KACX7Mr4ixz8rXksT4wteIStuExZIS22sA21ls=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "57a05ea557689b9d85dd594a9a26778b6842a18a", + "rev": "54dd5a7c0384fdcd11830e52f9896e457f189cb6", "type": "github" }, "original": { @@ -247,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735771362, - "narHash": "sha256-+HxTD7TxeIySWsE++VKDWBMQK5OqTv391wADaZ8UDuo=", + "lastModified": 1735903221, + "narHash": "sha256-VrmQyDyR8y7x8QHSnX+Szs2ywZa7butk6lUdiNX5U3s=", "owner": "neovim", "repo": "neovim", - "rev": "6dc0eb9f41e6453fe003dd3a28c58b701fd003c9", + "rev": "c26951b1d6d4d7ff8fe431e8bfb16744ff56af1c", "type": "github" }, "original": { @@ -262,18 +297,15 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735617354, - "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", - "type": "github" + "lastModified": 1735471104, + "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "path": "/nix/store/8vz84mqgnm1gz5yk7hgnnb5gir5hjxas-source", + "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "type": "path" }, "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" + "id": "nixpkgs", + "type": "indirect" } }, "nixpkgs-stable": { @@ -326,11 +358,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735617354, - "narHash": "sha256-5zJyv66q68QZJZsXtmjDBazGnF0id593VSy+8eSckoo=", + "lastModified": 1735821806, + "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "69b9a8c860bdbb977adfa9c5e817ccb717884182", + "rev": "d6973081434f88088e5321f83ebafe9a1167c367", "type": "github" }, "original": { @@ -341,6 +373,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1735821806, + "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1735471104, "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", @@ -360,12 +408,34 @@ "inputs": { "ghostty": "ghostty", "home-manager": "home-manager", + "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "jujutsu", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735871325, + "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "a599f011db521766cbaf7c2f5874182485554f00", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, @@ -381,6 +451,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { "inputs": { "nixpkgs": [ @@ -389,11 +474,11 @@ ] }, "locked": { - "lastModified": 1735653038, - "narHash": "sha256-Q6xAmciTXDtZfUxf6c15QqtRR8BvX4edYPstF/uoqMk=", + "lastModified": 1735905407, + "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "56c0ecd79f7ba01a0ec027da015df751d6ca3ae7", + "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index fc589f7..25d23c1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; + jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 34ec497..17f1fb4 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, inputs, pkgs, ... }: { home.packages = with pkgs; [ @@ -169,6 +169,6 @@ programs.jujutsu = { enable = true; - package = pkgs.jujutsu-openssh; + package = inputs.jujutsu.packages.${pkgs.system}.default; }; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 068b02a..3d0d4d6 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,4 +1,3 @@ pkgs: { gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { }; - jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { }; } diff --git a/pkgs/jujutsu-openssh/Cargo.lock b/pkgs/jujutsu-openssh/Cargo.lock deleted file mode 100644 index 5146150..0000000 --- a/pkgs/jujutsu-openssh/Cargo.lock +++ /dev/null @@ -1,3838 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "adler2" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" - -[[package]] -name = "ahash" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" -dependencies = [ - "cfg-if", - "getrandom", - "once_cell", - "version_check", - "zerocopy", -] - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - -[[package]] -name = "android-tzdata" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" - -[[package]] -name = "android_system_properties" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" -dependencies = [ - "libc", -] - -[[package]] -name = "anes" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" - -[[package]] -name = "anstream" -version = "0.6.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is_terminal_polyfill", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" - -[[package]] -name = "anstyle-parse" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "anstyle-wincon" -version = "3.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" -dependencies = [ - "anstyle", - "windows-sys 0.52.0", -] - -[[package]] -name = "anyhow" -version = "1.0.94" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" - -[[package]] -name = "arc-swap" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" - -[[package]] -name = "arrayvec" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" - -[[package]] -name = "assert_cmd" -version = "2.0.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc1835b7f27878de8525dc71410b5a31cdcc5f230aed5ba5df968e09c201b23d" -dependencies = [ - "anstyle", - "bstr", - "doc-comment", - "libc", - "predicates", - "predicates-core", - "predicates-tree", - "wait-timeout", -] - -[[package]] -name = "assert_matches" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9" - -[[package]] -name = "async-trait" -version = "0.1.83" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" - -[[package]] -name = "backtrace" -version = "0.3.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide 0.7.4", - "object", - "rustc-demangle", -] - -[[package]] -name = "bitflags" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -dependencies = [ - "serde", -] - -[[package]] -name = "blake2" -version = "0.10.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" -dependencies = [ - "digest", -] - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "bstr" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a68f1f47cdf0ec8ee4b941b2eee2a80cb796db73118c0dd09ac63fbe405be22" -dependencies = [ - "memchr", - "regex-automata 0.4.8", - "serde", -] - -[[package]] -name = "bumpalo" -version = "3.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" -dependencies = [ - "serde", -] - -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - -[[package]] -name = "cast" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" - -[[package]] -name = "castaway" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0abae9be0aaf9ea96a3b1b8b1b55c602ca751eba1b1500220cea4ecbafe7c0d5" -dependencies = [ - "rustversion", -] - -[[package]] -name = "cc" -version = "1.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b" -dependencies = [ - "jobserver", - "libc", - "shlex", -] - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" -dependencies = [ - "android-tzdata", - "iana-time-zone", - "js-sys", - "num-traits", - "wasm-bindgen", - "windows-targets 0.52.6", -] - -[[package]] -name = "chrono-english" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f73d909da7eb4a7d88c679c3f5a1bc09d965754e0adb2e7627426cef96a00d6f" -dependencies = [ - "chrono", - "scanlex", -] - -[[package]] -name = "ciborium" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" -dependencies = [ - "ciborium-io", - "ciborium-ll", - "serde", -] - -[[package]] -name = "ciborium-io" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" - -[[package]] -name = "ciborium-ll" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" -dependencies = [ - "ciborium-io", - "half", -] - -[[package]] -name = "clap" -version = "4.5.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69371e34337c4c984bbe322360c2547210bf632eb2814bbe78a6e87a2935bd2b" -dependencies = [ - "clap_builder", - "clap_derive", -] - -[[package]] -name = "clap-markdown" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ebc67e6266e14f8b31541c2f204724fa2ac7ad5c17d6f5908fbb92a60f42cff" -dependencies = [ - "clap", -] - -[[package]] -name = "clap_builder" -version = "4.5.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e24c1b4099818523236a8ca881d2b45db98dadfb4625cf6608c12069fcbbde1" -dependencies = [ - "anstream", - "anstyle", - "clap_lex", - "strsim", - "terminal_size", -] - -[[package]] -name = "clap_complete" -version = "4.5.38" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9647a559c112175f17cf724dc72d3645680a883c58481332779192b0d8e7a01" -dependencies = [ - "clap", - "clap_lex", - "is_executable", - "shlex", -] - -[[package]] -name = "clap_complete_nushell" -version = "4.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "315902e790cc6e5ddd20cbd313c1d0d49db77f191e149f96397230fb82a17677" -dependencies = [ - "clap", - "clap_complete", -] - -[[package]] -name = "clap_derive" -version = "4.5.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "clap_lex" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" - -[[package]] -name = "clap_mangen" -version = "0.2.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17415fd4dfbea46e3274fcd8d368284519b358654772afb700dc2e8d2b24eeb" -dependencies = [ - "clap", - "roff", -] - -[[package]] -name = "clru" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59" - -[[package]] -name = "colorchoice" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" - -[[package]] -name = "compact_str" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f" -dependencies = [ - "castaway", - "cfg-if", - "itoa", - "ryu", - "static_assertions", -] - -[[package]] -name = "config" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23738e11972c7643e4ec947840fc463b6a571afcd3e735bdfce7d03c7a784aca" -dependencies = [ - "async-trait", - "lazy_static", - "nom", - "pathdiff", - "serde", - "toml", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" - -[[package]] -name = "cpufeatures" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "criterion" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2b12d017a929603d80db1831cd3a24082f8137ce19c69e6447f54f5fc8d692f" -dependencies = [ - "anes", - "cast", - "ciborium", - "clap", - "criterion-plot", - "is-terminal", - "itertools 0.10.5", - "num-traits", - "once_cell", - "oorandom", - "plotters", - "rayon", - "regex", - "serde", - "serde_derive", - "serde_json", - "tinytemplate", - "walkdir", -] - -[[package]] -name = "criterion-plot" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" -dependencies = [ - "cast", - "itertools 0.10.5", -] - -[[package]] -name = "crossbeam-channel" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-deque" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" -dependencies = [ - "crossbeam-epoch", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-epoch" -version = "0.9.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" - -[[package]] -name = "crossterm" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" -dependencies = [ - "bitflags", - "crossterm_winapi", - "libc", - "mio 0.8.11", - "parking_lot", - "signal-hook", - "signal-hook-mio", - "winapi", -] - -[[package]] -name = "crossterm_winapi" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b" -dependencies = [ - "winapi", -] - -[[package]] -name = "crunchy" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "dashmap" -version = "6.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" -dependencies = [ - "cfg-if", - "crossbeam-utils", - "hashbrown 0.14.5", - "lock_api", - "once_cell", - "parking_lot_core", -] - -[[package]] -name = "diff" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" - -[[package]] -name = "difflib" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", - "subtle", -] - -[[package]] -name = "dirs" -version = "5.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" -dependencies = [ - "dirs-sys", -] - -[[package]] -name = "dirs-sys" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" -dependencies = [ - "libc", - "option-ext", - "redox_users", - "windows-sys 0.48.0", -] - -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - -[[package]] -name = "either" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "encoding_rs" -version = "0.8.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "faster-hex" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" -dependencies = [ - "serde", -] - -[[package]] -name = "fastrand" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" - -[[package]] -name = "filetime" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.59.0", -] - -[[package]] -name = "fixedbitset" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" - -[[package]] -name = "flate2" -version = "1.0.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253" -dependencies = [ - "crc32fast", - "miniz_oxide 0.8.0", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures" -version = "0.1.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678" - -[[package]] -name = "futures" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" - -[[package]] -name = "futures-executor" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" - -[[package]] -name = "futures-macro" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" - -[[package]] -name = "futures-task" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" - -[[package]] -name = "futures-util" -version = "0.3.31" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" -dependencies = [ - "futures 0.1.31", - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "gen-protos" -version = "0.24.0" -dependencies = [ - "prost-build", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "gimli" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" - -[[package]] -name = "git2" -version = "0.19.0" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" -dependencies = [ - "bitflags", - "libc", - "libgit2-sys", - "log", - "openssl-probe", - "openssl-sys", - "url", -] - -[[package]] -name = "gix" -version = "0.68.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b04c66359b5e17f92395abc433861df0edf48f39f3f590818d1d7217327dd6a1" -dependencies = [ - "gix-actor", - "gix-attributes", - "gix-command", - "gix-commitgraph", - "gix-config", - "gix-date", - "gix-diff", - "gix-discover", - "gix-features", - "gix-filter", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-hashtable", - "gix-ignore", - "gix-index", - "gix-lock", - "gix-object", - "gix-odb", - "gix-pack", - "gix-path", - "gix-pathspec", - "gix-ref", - "gix-refspec", - "gix-revision", - "gix-revwalk", - "gix-sec", - "gix-submodule", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-url", - "gix-utils", - "gix-validate", - "gix-worktree", - "once_cell", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-actor" -version = "0.33.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b24171f514cef7bb4dfb72a0b06dacf609b33ba8ad2489d4c4559a03b7afb3" -dependencies = [ - "bstr", - "gix-date", - "gix-utils", - "itoa", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-attributes" -version = "0.23.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddf9bf852194c0edfe699a2d36422d2c1f28f73b7c6d446c3f0ccd3ba232cadc" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-quote", - "gix-trace", - "kstring", - "smallvec", - "thiserror 2.0.4", - "unicode-bom", -] - -[[package]] -name = "gix-bitmap" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48b897b4bbc881aea994b4a5bbb340a04979d7be9089791304e04a9fbc66b53" -dependencies = [ - "thiserror 2.0.4", -] - -[[package]] -name = "gix-chunk" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6ffbeb3a5c0b8b84c3fe4133a6f8c82fa962f4caefe8d0762eced025d3eb4f7" -dependencies = [ - "thiserror 2.0.4", -] - -[[package]] -name = "gix-command" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7d6b8f3a64453fd7e8191eb80b351eb7ac0839b40a1237cd2c137d5079fe53" -dependencies = [ - "bstr", - "gix-path", - "gix-trace", - "shell-words", -] - -[[package]] -name = "gix-commitgraph" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8da6591a7868fb2b6dabddea6b09988b0b05e0213f938dbaa11a03dd7a48d85" -dependencies = [ - "bstr", - "gix-chunk", - "gix-features", - "gix-hash", - "memmap2", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-config" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6649b406ca1f99cb148959cf00468b231f07950f8ec438cc0903cda563606f19" -dependencies = [ - "bstr", - "gix-config-value", - "gix-features", - "gix-glob", - "gix-path", - "gix-ref", - "gix-sec", - "memchr", - "once_cell", - "smallvec", - "thiserror 2.0.4", - "unicode-bom", - "winnow", -] - -[[package]] -name = "gix-config-value" -version = "0.14.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49aaeef5d98390a3bcf9dbc6440b520b793d1bf3ed99317dc407b02be995b28e" -dependencies = [ - "bitflags", - "bstr", - "gix-path", - "libc", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-date" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "691142b1a34d18e8ed6e6114bc1a2736516c5ad60ef3aa9bd1b694886e3ca92d" -dependencies = [ - "bstr", - "itoa", - "jiff", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-diff" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a327be31a392144b60ab0b1c863362c32a1c8f7effdfa2141d5d5b6b916ef3bf" -dependencies = [ - "bstr", - "gix-command", - "gix-filter", - "gix-fs", - "gix-hash", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-trace", - "gix-traverse", - "gix-worktree", - "imara-diff", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-discover" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bf6dfa4e266a4a9becb4d18fc801f92c3f7cc6c433dd86fdadbcf315ffb6ef" -dependencies = [ - "bstr", - "dunce", - "gix-fs", - "gix-hash", - "gix-path", - "gix-ref", - "gix-sec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-features" -version = "0.39.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d85d673f2e022a340dba4713bed77ef2cf4cd737d2f3e0f159d45e0935fd81f" -dependencies = [ - "crc32fast", - "crossbeam-channel", - "flate2", - "gix-hash", - "gix-trace", - "gix-utils", - "libc", - "once_cell", - "parking_lot", - "prodash", - "sha1_smol", - "thiserror 2.0.4", - "walkdir", -] - -[[package]] -name = "gix-filter" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5108cc58d58b27df10ac4de7f31b2eb96d588a33e5eba23739b865f5d8db7995" -dependencies = [ - "bstr", - "encoding_rs", - "gix-attributes", - "gix-command", - "gix-hash", - "gix-object", - "gix-packetline-blocking", - "gix-path", - "gix-quote", - "gix-trace", - "gix-utils", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-fs" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34740384d8d763975858fa2c176b68652a6fcc09f616e24e3ce967b0d370e4d8" -dependencies = [ - "fastrand", - "gix-features", - "gix-utils", -] - -[[package]] -name = "gix-glob" -version = "0.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf69a6bec0a3581567484bf99a4003afcaf6c469fd4214352517ea355cf3435" -dependencies = [ - "bitflags", - "bstr", - "gix-features", - "gix-path", -] - -[[package]] -name = "gix-hash" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b5eccc17194ed0e67d49285e4853307e4147e95407f91c1c3e4a13ba9f4e4ce" -dependencies = [ - "faster-hex", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-hashtable" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ef65b256631078ef733bc5530c4e6b1c2e7d5c2830b75d4e9034ab3997d18fe" -dependencies = [ - "gix-hash", - "hashbrown 0.14.5", - "parking_lot", -] - -[[package]] -name = "gix-ignore" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6b1fb24d2a4af0aa7438e2771d60c14a80cf2c9bd55c29cf1712b841f05bb8a" -dependencies = [ - "bstr", - "gix-glob", - "gix-path", - "gix-trace", - "unicode-bom", -] - -[[package]] -name = "gix-index" -version = "0.37.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "270645fd20556b64c8ffa1540d921b281e6994413a0ca068596f97e9367a257a" -dependencies = [ - "bitflags", - "bstr", - "filetime", - "fnv", - "gix-bitmap", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-traverse", - "gix-utils", - "gix-validate", - "hashbrown 0.14.5", - "itoa", - "libc", - "memmap2", - "rustix", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-lock" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5102acdf4acae2644e38dbbd18cdfba9597a218f7d85f810fe5430207e03c2de" -dependencies = [ - "gix-tempfile", - "gix-utils", - "thiserror 1.0.69", -] - -[[package]] -name = "gix-object" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65d93e2bbfa83a307e47f45e45de7b6c04d7375a8bd5907b215f4bf45237d879" -dependencies = [ - "bstr", - "gix-actor", - "gix-date", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-utils", - "gix-validate", - "itoa", - "smallvec", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-odb" -version = "0.65.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93bed6e1b577c25a6bb8e6ecbf4df525f29a671ddf5f2221821a56a8dbeec4e3" -dependencies = [ - "arc-swap", - "gix-date", - "gix-features", - "gix-fs", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-pack", - "gix-path", - "gix-quote", - "parking_lot", - "tempfile", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-pack" -version = "0.55.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b91fec04d359544fecbb8e85117ec746fbaa9046ebafcefb58cb74f20dc76d4" -dependencies = [ - "clru", - "gix-chunk", - "gix-features", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-path", - "memmap2", - "smallvec", - "thiserror 2.0.4", - "uluru", -] - -[[package]] -name = "gix-packetline-blocking" -version = "0.18.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce9004ce1bc00fd538b11c1ec8141a1558fb3af3d2b7ac1ac5c41881f9e42d2a" -dependencies = [ - "bstr", - "faster-hex", - "gix-trace", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-path" -version = "0.10.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc292ef1a51e340aeb0e720800338c805975724c1dfbd243185452efd8645b7" -dependencies = [ - "bstr", - "gix-trace", - "home", - "once_cell", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-pathspec" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c472dfbe4a4e96fcf7efddcd4771c9037bb4fdea2faaabf2f4888210c75b81e" -dependencies = [ - "bitflags", - "bstr", - "gix-attributes", - "gix-config-value", - "gix-glob", - "gix-path", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-quote" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a1e282216ec2ab2816cd57e6ed88f8009e634aec47562883c05ac8a7009a63" -dependencies = [ - "bstr", - "gix-utils", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-ref" -version = "0.49.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eae462723686272a58f49501015ef7c0d67c3e042c20049d8dd9c7eff92efde" -dependencies = [ - "gix-actor", - "gix-features", - "gix-fs", - "gix-hash", - "gix-lock", - "gix-object", - "gix-path", - "gix-tempfile", - "gix-utils", - "gix-validate", - "memmap2", - "thiserror 2.0.4", - "winnow", -] - -[[package]] -name = "gix-refspec" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00c056bb747868c7eb0aeb352c9f9181ab8ca3d0a2550f16470803500c6c413d" -dependencies = [ - "bstr", - "gix-hash", - "gix-revision", - "gix-validate", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-revision" -version = "0.31.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44488e0380847967bc3e3cacd8b22652e02ea1eb58afb60edd91847695cd2d8d" -dependencies = [ - "bstr", - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-object", - "gix-revwalk", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-revwalk" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "510026fc32f456f8f067d8f37c34088b97a36b2229d88a6a5023ef179fcb109d" -dependencies = [ - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-hashtable", - "gix-object", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-sec" -version = "0.10.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8b876ef997a955397809a2ec398d6a45b7a55b4918f2446344330f778d14fd6" -dependencies = [ - "bitflags", - "gix-path", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "gix-submodule" -version = "0.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2455f8c0fcb6ebe2a6e83c8f522d30615d763eb2ef7a23c7d929f9476e89f5c" -dependencies = [ - "bstr", - "gix-config", - "gix-path", - "gix-pathspec", - "gix-refspec", - "gix-url", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-tempfile" -version = "15.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2feb86ef094cc77a4a9a5afbfe5de626897351bbbd0de3cb9314baf3049adb82" -dependencies = [ - "dashmap", - "gix-fs", - "libc", - "once_cell", - "parking_lot", - "tempfile", -] - -[[package]] -name = "gix-trace" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bdde120c29f1fc23a24d3e115aeeea3d60d8e65bab92cc5f9d90d9302eb952" - -[[package]] -name = "gix-traverse" -version = "0.43.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ff2ec9f779680f795363db1c563168b32b8d6728ec58564c628e85c92d29faf" -dependencies = [ - "bitflags", - "gix-commitgraph", - "gix-date", - "gix-hash", - "gix-hashtable", - "gix-object", - "gix-revwalk", - "smallvec", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-url" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e09f97db3618fb8e473d7d97e77296b50aaee0ddcd6a867f07443e3e87391099" -dependencies = [ - "bstr", - "gix-features", - "gix-path", - "thiserror 2.0.4", - "url", -] - -[[package]] -name = "gix-utils" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba427e3e9599508ed98a6ddf8ed05493db114564e338e41f6a996d2e4790335f" -dependencies = [ - "fastrand", - "unicode-normalization", -] - -[[package]] -name = "gix-validate" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd520d09f9f585b34b32aba1d0b36ada89ab7fefb54a8ca3fe37fc482a750937" -dependencies = [ - "bstr", - "thiserror 2.0.4", -] - -[[package]] -name = "gix-worktree" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "756dbbe15188fa22540d5eab941f8f9cf511a5364d5aec34c88083c09f4bea13" -dependencies = [ - "bstr", - "gix-attributes", - "gix-features", - "gix-fs", - "gix-glob", - "gix-hash", - "gix-ignore", - "gix-index", - "gix-object", - "gix-path", - "gix-validate", -] - -[[package]] -name = "glob" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" - -[[package]] -name = "globset" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" -dependencies = [ - "aho-corasick", - "bstr", - "log", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "half" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" -dependencies = [ - "cfg-if", - "crunchy", -] - -[[package]] -name = "hashbrown" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" -dependencies = [ - "ahash", - "allocator-api2", -] - -[[package]] -name = "hashbrown" -version = "0.15.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" - -[[package]] -name = "heck" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "home" -version = "0.5.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" -dependencies = [ - "windows-sys 0.52.0", -] - -[[package]] -name = "iana-time-zone" -version = "0.1.60" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" -dependencies = [ - "android_system_properties", - "core-foundation-sys", - "iana-time-zone-haiku", - "js-sys", - "wasm-bindgen", - "windows-core", -] - -[[package]] -name = "iana-time-zone-haiku" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" -dependencies = [ - "cc", -] - -[[package]] -name = "idna" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "ignore" -version = "0.4.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" -dependencies = [ - "crossbeam-deque", - "globset", - "log", - "memchr", - "regex-automata 0.4.8", - "same-file", - "walkdir", - "winapi-util", -] - -[[package]] -name = "imara-diff" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc9da1a252bd44cd341657203722352efc9bc0c847d06ea6d2dc1cd1135e0a01" -dependencies = [ - "ahash", - "hashbrown 0.14.5", -] - -[[package]] -name = "indexmap" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f822373a4fe84d4bb149bf54e584a7f4abec90e072ed49cda0edea5b95471f" -dependencies = [ - "equivalent", - "hashbrown 0.15.2", -] - -[[package]] -name = "indoc" -version = "2.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" - -[[package]] -name = "insta" -version = "1.41.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9ffc4d4892617c50a928c52b2961cb5174b6fc6ebf252b2fac9d21955c48b8" -dependencies = [ - "console", - "lazy_static", - "linked-hash-map", - "regex", - "similar", -] - -[[package]] -name = "is-terminal" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "261f68e344040fbd0edea105bef17c66edf46f984ddb1115b775ce31be948f4b" -dependencies = [ - "hermit-abi 0.4.0", - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "is_executable" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4a1b5bad6f9072935961dfbf1cced2f3d129963d091b6f69f007fe04e758ae2" -dependencies = [ - "winapi", -] - -[[package]] -name = "is_terminal_polyfill" -version = "1.70.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" -dependencies = [ - "either", -] - -[[package]] -name = "itertools" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" - -[[package]] -name = "jiff" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "437651126da47900d4d70255ab15f5c69510ca4e0d88c9f01b5b8d41a45c3a9b" -dependencies = [ - "jiff-tzdb-platform", - "windows-sys 0.59.0", -] - -[[package]] -name = "jiff-tzdb" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05fac328b3df1c0f18a3c2ab6cb7e06e4e549f366017d796e3e66b6d6889abe6" - -[[package]] -name = "jiff-tzdb-platform" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8da387d5feaf355954c2c122c194d6df9c57d865125a67984bb453db5336940" -dependencies = [ - "jiff-tzdb", -] - -[[package]] -name = "jj-cli" -version = "0.24.0" -dependencies = [ - "anyhow", - "assert_cmd", - "assert_matches", - "async-trait", - "bstr", - "chrono", - "clap", - "clap-markdown", - "clap_complete", - "clap_complete_nushell", - "clap_mangen", - "config", - "criterion", - "crossterm", - "dirs", - "dunce", - "futures 0.3.31", - "git2", - "gix", - "glob", - "indexmap", - "indoc", - "insta", - "itertools 0.13.0", - "jj-cli", - "jj-lib", - "libc", - "maplit", - "minus", - "once_cell", - "pest", - "pest_derive", - "pollster", - "rayon", - "regex", - "rpassword", - "sapling-renderdag", - "scm-record", - "serde", - "serde_json", - "slab", - "strsim", - "tempfile", - "test-case", - "testutils", - "textwrap", - "thiserror 2.0.4", - "timeago", - "toml_edit", - "tracing", - "tracing-chrome", - "tracing-subscriber", - "unicode-width", -] - -[[package]] -name = "jj-lib" -version = "0.24.0" -dependencies = [ - "assert_matches", - "async-trait", - "blake2", - "bstr", - "chrono", - "chrono-english", - "clru", - "config", - "criterion", - "digest", - "either", - "futures 0.3.31", - "git2", - "gix", - "glob", - "hashbrown 0.15.2", - "hex", - "ignore", - "indexmap", - "indoc", - "insta", - "itertools 0.13.0", - "jj-lib-proc-macros", - "maplit", - "num_cpus", - "once_cell", - "pest", - "pest_derive", - "pollster", - "pretty_assertions", - "prost", - "rand", - "rand_chacha", - "rayon", - "ref-cast", - "regex", - "rustix", - "same-file", - "sapling-renderdag", - "serde", - "serde_json", - "smallvec", - "strsim", - "tempfile", - "test-case", - "testutils", - "thiserror 2.0.4", - "tokio", - "toml_edit", - "tracing", - "version_check", - "watchman_client", - "whoami", - "winreg", - "zstd", -] - -[[package]] -name = "jj-lib-proc-macros" -version = "0.24.0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "jobserver" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -dependencies = [ - "libc", -] - -[[package]] -name = "js-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "kstring" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "558bf9508a558512042d3095138b1f7b8fe90c5467d94f9f1da28b3731c5dbd1" -dependencies = [ - "static_assertions", -] - -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - -[[package]] -name = "libc" -version = "0.2.167" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09d6582e104315a817dff97f75133544b2e094ee22447d2acf4a74e189ba06fc" - -[[package]] -name = "libgit2-sys" -version = "0.17.0+1.8.1" -source = "git+https://github.com/bnjmnt4n/git2-rs.git?rev=60e29ff0d#60e29ff0d84cdffd9f366455d32606e582a4c378" -dependencies = [ - "cc", - "libc", - "libz-sys", - "openssl-sys", - "pkg-config", -] - -[[package]] -name = "libredox" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -dependencies = [ - "bitflags", - "libc", - "redox_syscall", -] - -[[package]] -name = "libz-sys" -version = "1.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linked-hash-map" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f" - -[[package]] -name = "linux-raw-sys" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" - -[[package]] -name = "lock_api" -version = "0.4.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" - -[[package]] -name = "lru" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" -dependencies = [ - "hashbrown 0.14.5", -] - -[[package]] -name = "maplit" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" - -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - -[[package]] -name = "memchr" -version = "2.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" - -[[package]] -name = "memmap2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" -dependencies = [ - "libc", -] - -[[package]] -name = "minimal-lexical" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" - -[[package]] -name = "miniz_oxide" -version = "0.7.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" -dependencies = [ - "adler", -] - -[[package]] -name = "miniz_oxide" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" -dependencies = [ - "adler2", -] - -[[package]] -name = "minus" -version = "5.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "093bd0520d2a37943566a73750e6d44094dac75d66a978d1f0d97ffc78686832" -dependencies = [ - "crossbeam-channel", - "crossterm", - "once_cell", - "parking_lot", - "regex", - "textwrap", - "thiserror 1.0.69", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "mio" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" -dependencies = [ - "hermit-abi 0.3.9", - "libc", - "wasi", - "windows-sys 0.52.0", -] - -[[package]] -name = "multimap" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defc4c55412d89136f966bbb339008b474350e5e6e78d2714439c386b3137a03" - -[[package]] -name = "nom" -version = "7.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" -dependencies = [ - "memchr", - "minimal-lexical", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi 0.3.9", - "libc", -] - -[[package]] -name = "object" -version = "0.36.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -dependencies = [ - "parking_lot_core", -] - -[[package]] -name = "oorandom" -version = "11.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-src" -version = "300.3.2+3.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a211a18d945ef7e648cc6e0058f4c548ee46aab922ea203e0d30e966ea23647b" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.103" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "option-ext" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parking_lot" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall", - "smallvec", - "windows-targets 0.52.6", -] - -[[package]] -name = "paste" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" - -[[package]] -name = "pathdiff" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" - -[[package]] -name = "percent-encoding" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" - -[[package]] -name = "pest" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879952a81a83930934cbf1786752d6dedc3b1f29e8f8fb2ad1d0a36f377cf442" -dependencies = [ - "memchr", - "thiserror 1.0.69", - "ucd-trie", -] - -[[package]] -name = "pest_derive" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d214365f632b123a47fd913301e14c946c61d1c183ee245fa76eb752e59a02dd" -dependencies = [ - "pest", - "pest_generator", -] - -[[package]] -name = "pest_generator" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb55586734301717aea2ac313f50b2eb8f60d2fc3dc01d190eefa2e625f60c4e" -dependencies = [ - "pest", - "pest_meta", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pest_meta" -version = "2.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b75da2a70cf4d9cb76833c990ac9cd3923c9a8905a8929789ce347c84564d03d" -dependencies = [ - "once_cell", - "pest", - "sha2", -] - -[[package]] -name = "petgraph" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" -dependencies = [ - "fixedbitset", - "indexmap", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "plotters" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" -dependencies = [ - "num-traits", - "plotters-backend", - "plotters-svg", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "plotters-backend" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" - -[[package]] -name = "plotters-svg" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" -dependencies = [ - "plotters-backend", -] - -[[package]] -name = "pollster" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" - -[[package]] -name = "ppv-lite86" -version = "0.2.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04" -dependencies = [ - "zerocopy", -] - -[[package]] -name = "predicates" -version = "3.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9086cc7640c29a356d1a29fd134380bee9d8f79a17410aa76e7ad295f42c97" -dependencies = [ - "anstyle", - "difflib", - "predicates-core", -] - -[[package]] -name = "predicates-core" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae8177bee8e75d6846599c6b9ff679ed51e882816914eec639944d7c9aa11931" - -[[package]] -name = "predicates-tree" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41b740d195ed3166cd147c8047ec98db0e22ec019eb8eeb76d343b795304fb13" -dependencies = [ - "predicates-core", - "termtree", -] - -[[package]] -name = "pretty_assertions" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" -dependencies = [ - "diff", - "yansi", -] - -[[package]] -name = "prettyplease" -version = "0.2.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro2" -version = "1.0.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "prodash" -version = "29.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a266d8d6020c61a437be704c5e618037588e1985c7dbb7bf8d265db84cffe325" -dependencies = [ - "log", - "parking_lot", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive", -] - -[[package]] -name = "prost-build" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4" -dependencies = [ - "bytes", - "heck", - "itertools 0.12.1", - "log", - "multimap", - "once_cell", - "petgraph", - "prettyplease", - "prost", - "prost-types", - "regex", - "syn", - "tempfile", -] - -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools 0.12.1", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "prost-types" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0" -dependencies = [ - "prost", -] - -[[package]] -name = "quote" -version = "1.0.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "ratatui" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16546c5b5962abf8ce6e2881e722b4e0ae3b6f1a08a26ae3573c55853ca68d3" -dependencies = [ - "bitflags", - "cassowary", - "compact_str", - "crossterm", - "itertools 0.13.0", - "lru", - "paste", - "stability", - "strum", - "strum_macros", - "unicode-segmentation", - "unicode-truncate", - "unicode-width", -] - -[[package]] -name = "rayon" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" -dependencies = [ - "either", - "rayon-core", -] - -[[package]] -name = "rayon-core" -version = "1.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" -dependencies = [ - "crossbeam-deque", - "crossbeam-utils", -] - -[[package]] -name = "redox_syscall" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43" -dependencies = [ - "getrandom", - "libredox", - "thiserror 1.0.69", -] - -[[package]] -name = "ref-cast" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf0a6f84d5f1d581da8b41b47ec8600871962f2a528115b542b362d4b744931" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcc303e793d3734489387d205e9b186fac9c6cfacedd98cbb2e8a5943595f3e6" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.8", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - -[[package]] -name = "roff" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88f8660c1ff60292143c98d08fc6e2f654d722db50410e3f3797d40baaf9d8f3" - -[[package]] -name = "rpassword" -version = "7.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80472be3c897911d0137b2d2b9055faf6eeac5b14e324073d83bc17b191d7e3f" -dependencies = [ - "libc", - "rtoolbox", - "windows-sys 0.48.0", -] - -[[package]] -name = "rtoolbox" -version = "0.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c247d24e63230cdb56463ae328478bd5eac8b8faa8c69461a77e8e323afac90e" -dependencies = [ - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustc-demangle" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" - -[[package]] -name = "rustix" -version = "0.38.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7f649912bc1495e167a6edee79151c84b1bad49748cb4f1f1167f459f6224f6" -dependencies = [ - "bitflags", - "errno", - "libc", - "linux-raw-sys", - "windows-sys 0.52.0", -] - -[[package]] -name = "rustversion" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" - -[[package]] -name = "ryu" -version = "1.0.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sapling-renderdag" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edffb89cab87bd0901c5749d576f5d37a1f34e05160e936f463f4e94cc447b61" -dependencies = [ - "bitflags", -] - -[[package]] -name = "scanlex" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088c5d71572124929ea7549a8ce98e1a6fd33d0a38367b09027b382e67c033db" - -[[package]] -name = "scm-record" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d344fd2a7dd1580458c344f977c64ce7b1b1ad1d4f959ab6d2ca2cbab44de69" -dependencies = [ - "cassowary", - "crossterm", - "num-traits", - "ratatui", - "serde", - "serde_json", - "thiserror 1.0.69", - "tracing", - "unicode-width", -] - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "serde" -version = "1.0.215" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6513c1ad0b11a9376da888e3e0baa0077f1aed55c17f50e7b2397136129fb88f" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bser" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56b4bcc15e42e5b5ae16c6f75582bef80d36c6ffe2c03b1b5317754b38f8717" -dependencies = [ - "anyhow", - "byteorder", - "bytes", - "serde", - "serde_bytes", - "thiserror 1.0.69", -] - -[[package]] -name = "serde_bytes" -version = "0.11.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.215" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad1e866f866923f252f05c889987993144fb74e722403468a4ebd70c3cd756c0" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.133" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" -dependencies = [ - "itoa", - "memchr", - "ryu", - "serde", -] - -[[package]] -name = "serde_spanned" -version = "0.6.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" -dependencies = [ - "serde", -] - -[[package]] -name = "sha1_smol" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d" - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "shell-words" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" - -[[package]] -name = "shlex" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" - -[[package]] -name = "signal-hook" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-mio" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd" -dependencies = [ - "libc", - "mio 0.8.11", - "signal-hook", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" -dependencies = [ - "libc", -] - -[[package]] -name = "similar" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e" - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "smawk" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" - -[[package]] -name = "socket2" -version = "0.5.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "stability" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d904e7009df136af5297832a3ace3370cd14ff1546a232f4f185036c2736fcac" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "static_assertions" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" - -[[package]] -name = "strsim" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" - -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn", -] - -[[package]] -name = "subtle" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" - -[[package]] -name = "syn" -version = "2.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cce251fcbc87fac86a866eeb0d6c2d536fc16d06f184bb61aeae11aa4cee0c" -dependencies = [ - "cfg-if", - "fastrand", - "once_cell", - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "terminal_size" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef" -dependencies = [ - "rustix", - "windows-sys 0.59.0", -] - -[[package]] -name = "termtree" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" - -[[package]] -name = "test-case" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb2550dd13afcd286853192af8601920d959b14c401fcece38071d53bf0768a8" -dependencies = [ - "test-case-macros", -] - -[[package]] -name = "test-case-core" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcb7fd841cd518e279be3d5a3eb0636409487998a4aff22f3de87b81e88384f" -dependencies = [ - "cfg-if", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "test-case-macros" -version = "3.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c89e72a01ed4c579669add59014b9a524d609c0c88c6a585ce37485879f6ffb" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "test-case-core", -] - -[[package]] -name = "testutils" -version = "0.24.0" -dependencies = [ - "async-trait", - "config", - "futures 0.3.31", - "git2", - "hex", - "itertools 0.13.0", - "jj-lib", - "pollster", - "rand", - "tempfile", -] - -[[package]] -name = "textwrap" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" -dependencies = [ - "smawk", - "unicode-linebreak", - "unicode-width", -] - -[[package]] -name = "thiserror" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -dependencies = [ - "thiserror-impl 1.0.69", -] - -[[package]] -name = "thiserror" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f49a1853cf82743e3b7950f77e0f4d622ca36cf4317cba00c767838bac8d490" -dependencies = [ - "thiserror-impl 2.0.4", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8381894bb3efe0c4acac3ded651301ceee58a15d47c2e34885ed1908ad667061" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "timeago" -version = "0.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1710e589de0a76aaf295cd47a6699f6405737dbfd3cf2b75c92d000b548d0e6" - -[[package]] -name = "tinytemplate" -version = "1.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" -dependencies = [ - "serde", - "serde_json", -] - -[[package]] -name = "tinyvec" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio 1.0.2", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.52.0", -] - -[[package]] -name = "tokio-macros" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-util" -version = "0.6.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "log", - "pin-project-lite", - "slab", - "tokio", -] - -[[package]] -name = "toml" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - -[[package]] -name = "toml_edit" -version = "0.22.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" -dependencies = [ - "indexmap", - "serde", - "serde_spanned", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-chrome" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf0a738ed5d6450a9fb96e86a23ad808de2b727fd1394585da5cdd6788ffe724" -dependencies = [ - "serde_json", - "tracing-core", - "tracing-subscriber", -] - -[[package]] -name = "tracing-core" -version = "0.1.33" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "ucd-trie" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" - -[[package]] -name = "uluru" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c8a2469e56e6e5095c82ccd3afb98dad95f7af7929aab6d8ba8d6e0f73657da" -dependencies = [ - "arrayvec", -] - -[[package]] -name = "unicode-bidi" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" - -[[package]] -name = "unicode-bom" -version = "2.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eec5d1121208364f6793f7d2e222bf75a915c19557537745b195b253dd64217" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-linebreak" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" - -[[package]] -name = "unicode-normalization" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-segmentation" -version = "1.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" - -[[package]] -name = "unicode-truncate" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" -dependencies = [ - "itertools 0.13.0", - "unicode-segmentation", - "unicode-width", -] - -[[package]] -name = "unicode-width" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" - -[[package]] -name = "url" -version = "2.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" - -[[package]] -name = "wait-timeout" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" -dependencies = [ - "libc", -] - -[[package]] -name = "walkdir" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" -dependencies = [ - "same-file", - "winapi-util", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasite" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - -[[package]] -name = "wasm-bindgen" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" -dependencies = [ - "cfg-if", - "once_cell", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.93" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" - -[[package]] -name = "watchman_client" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88bc4c9bb443a7aae10d4fa7807bffc397805315e2305288c90c80e2f66cfb52" -dependencies = [ - "anyhow", - "bytes", - "futures 0.3.31", - "maplit", - "serde", - "serde_bser", - "thiserror 1.0.69", - "tokio", - "tokio-util", - "winapi", -] - -[[package]] -name = "web-sys" -version = "0.3.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "whoami" -version = "1.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "372d5b87f58ec45c384ba03563b03544dc5fadc3983e434b286913f5b4a9bb6d" -dependencies = [ - "redox_syscall", - "wasite", - "web-sys", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" -dependencies = [ - "windows-sys 0.59.0", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-core" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-sys" -version = "0.59.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -dependencies = [ - "windows-targets 0.52.6", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -dependencies = [ - "windows_aarch64_gnullvm 0.52.6", - "windows_aarch64_msvc 0.52.6", - "windows_i686_gnu 0.52.6", - "windows_i686_gnullvm", - "windows_i686_msvc 0.52.6", - "windows_x86_64_gnu 0.52.6", - "windows_x86_64_gnullvm 0.52.6", - "windows_x86_64_msvc 0.52.6", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" - -[[package]] -name = "winnow" -version = "0.6.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" -dependencies = [ - "memchr", -] - -[[package]] -name = "winreg" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - -[[package]] -name = "yansi" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" - -[[package]] -name = "zerocopy" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" -dependencies = [ - "byteorder", - "zerocopy-derive", -] - -[[package]] -name = "zerocopy-derive" -version = "0.7.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "zstd" -version = "0.12.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" -dependencies = [ - "zstd-safe", -] - -[[package]] -name = "zstd-safe" -version = "6.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" -dependencies = [ - "libc", - "zstd-sys", -] - -[[package]] -name = "zstd-sys" -version = "2.0.13+zstd.1.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -dependencies = [ - "cc", - "pkg-config", -] diff --git a/pkgs/jujutsu-openssh/default.nix b/pkgs/jujutsu-openssh/default.nix deleted file mode 100644 index 1d3ec6a..0000000 --- a/pkgs/jujutsu-openssh/default.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ - lib, - fetchFromGitHub, - rustPlatform, - pkg-config, - openssl, - gzip, - libgit2, - openssh, - zstd, - installShellFiles, - nix-update-script, - testers, - jujutsu-openssh, -}: - -rustPlatform.buildRustPackage rec { - pname = "jujutsu-openssh"; - version = "0.24.0+pr3191.openssh"; - - src = fetchFromGitHub { - owner = "dln"; - repo = "jj"; - rev = "b6608a03881542d6a8c98f659b80b57a27906096"; # https://github.com/dln/jj/tree/openssh - hash = "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg="; - }; - - cargoLock.lockFile = ./Cargo.lock; - cargoLock.outputHashes = { - "git2-0.19.0" = "sha256-fV8dFChGeDhb20bMyqefpAD5/+raQQ2sMdkEtlA1jaE="; - }; - - cargoBuildFlags = [ - "--bin" - "jj" - ]; # don't install the fake editors - useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping - ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib - - nativeBuildInputs = [ - gzip - installShellFiles - pkg-config - ]; - - buildInputs = [ - openssl - zstd - libgit2 - openssh - ]; - - postInstall = '' - $out/bin/jj util mangen > ./jj.1 - installManPage ./jj.1 - - installShellCompletion --cmd jj \ - --bash <($out/bin/jj util completion bash) \ - --fish <($out/bin/jj util completion fish) \ - --zsh <($out/bin/jj util completion zsh) - ''; - - checkFlags = [ - # signing tests spin up an ssh-agent and do git checkouts - "--skip=test_ssh_signing" - ]; - - passthru = { - updateScript = nix-update-script { }; - tests = { - version = testers.testVersion { - package = jujutsu-openssh; - command = "jj --version"; - }; - }; - }; - - meta = with lib; { - description = "Git-compatible DVCS that is both simple and powerful"; - homepage = "https://github.com/martinvonz/jj"; - changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md"; - license = licenses.asl20; - maintainers = with maintainers; [ - _0x4A6F - thoughtpolice - ]; - mainProgram = "jj"; - }; -} From 4766311654b4130ab6874d8e3d76c3b7cbfec7cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 16:11:27 +0100 Subject: [PATCH 551/656] ghostty: add desktop entries for secondary (condensed) terminals --- home/common/ghostty.nix | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3904d69..cf72219 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -104,13 +104,32 @@ ''; xdg.desktopEntries = { + ghostty-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = '' + ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" + ''; + genericName = "Ghostty Secondary"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (nemo)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; + ghostty-nemo = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" ''; genericName = "Ghostty (nemo)"; icon = "com.mitchellh.ghostty"; @@ -122,6 +141,25 @@ terminal = false; type = "Application"; }; + + ghostty-nemo-secondary = { + categories = [ + "System" + "TerminalEmulator" + ]; + exec = '' + ghostty --class=com.mitchellh.ghostty-nemo-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ''; + genericName = "Ghostty Secondary (nemo)"; + icon = "com.mitchellh.ghostty"; + name = "Ghostty (nemo)"; + settings = { + StartupWMClass = "com.mitchellh.ghostty-nemo-secondary"; + TryExec = "ghostty"; + }; + terminal = false; + type = "Application"; + }; }; }; From 90b5b48d2a5fa286078d89905eee9a742cf1b651 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:22:16 +0100 Subject: [PATCH 552/656] vcs: remove unused lazyjj, gitui --- files/config/fish/vcs.fish | 10 ---------- home/common/vcs.nix | 38 -------------------------------------- 2 files changed, 48 deletions(-) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index 4859d3b..f3c179e 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -53,15 +53,6 @@ function vcs_log commandline -f repaint end -function vcs_ui - if __jj_in_repo - lazyjj - else - gitui - end - commandline -f repaint -end - # Abbreviations abbr -a d vcs_diff @@ -71,6 +62,5 @@ abbr -a s vcs_status bind \c_ vcs_jump bind \ea vcs_log bind \ee vcs_broot -bind \eg vcs_ui bind \eS vcs_diff bind \es vcs_status diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 17f1fb4..956612a 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -7,7 +7,6 @@ difftastic git-get git-graph - lazyjj tea ]; @@ -130,43 +129,6 @@ }; }; - programs.gitui = { - enable = true; - keyConfig = '' - ( - open_help: Some(( code: F(1), modifiers: "")), - move_left: Some(( code: Char('h'), modifiers: "")), - move_right: Some(( code: Char('l'), modifiers: "")), - move_up: Some(( code: Char('k'), modifiers: "")), - move_down: Some(( code: Char('j'), modifiers: "")), - popup_up: Some(( code: Char('p'), modifiers: "CONTROL")), - popup_down: Some(( code: Char('n'), modifiers: "CONTROL")), - page_up: Some(( code: Char('b'), modifiers: "CONTROL")), - page_down: Some(( code: Char('f'), modifiers: "CONTROL")), - home: Some(( code: Char('g'), modifiers: "")), - end: Some(( code: Char('G'), modifiers: "SHIFT")), - shift_up: Some(( code: Char('K'), modifiers: "SHIFT")), - shift_down: Some(( code: Char('J'), modifiers: "SHIFT")), - edit_file: Some(( code: Char('I'), modifiers: "SHIFT")), - status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")), - diff_reset_lines: Some(( code: Char('u'), modifiers: "")), - diff_stage_lines: Some(( code: Char('s'), modifiers: "")), - stashing_save: Some(( code: Char('w'), modifiers: "")), - stashing_toggle_index: Some(( code: Char('m'), modifiers: "")), - stash_open: Some(( code: Char('l'), modifiers: "")), - abort_merge: Some(( code: Char('M'), modifiers: "SHIFT")), - ) - ''; - theme = '' - ( - selection_bg: Some(Black), - selection_fg: Some(Reset), - cmdbar_bg: Some(Reset), - cmdbar_extra_lines_bg: Some(Reset), - ) - ''; - }; - programs.jujutsu = { enable = true; package = inputs.jujutsu.packages.${pkgs.system}.default; From 09694db3377d872b0c811022210bdd9ad66459ad Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:22:16 +0100 Subject: [PATCH 553/656] nix update --- flake.lock | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index 17a6d61..41ea256 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735875799, - "narHash": "sha256-EI6C+CRmfHqkjnp0aJxYb/pTImwb5FZOu1HWHnnZsOc=", + "lastModified": 1735924432, + "narHash": "sha256-OxI6QxoMsKBBTaH+RNFPIE7kiqYyv8DnO1y8zLWK36g=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "e2f9eb6a6f4dc2108f91293938374c0ed314dcb8", + "rev": "7eb35d72758a984c6c028272e6f53b7694e42b60", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735900408, - "narHash": "sha256-U+oZBQ3f5fF2hHsupKQH4ihgTKLHgcJh6jEmKDg+W10=", + "lastModified": 1735925111, + "narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c8d4c8d592e8fab4cff4397db5529ec6f078cf9", + "rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1", "type": "github" }, "original": { @@ -241,11 +241,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1733685432, - "narHash": "sha256-kUfwjdQGq0UcIlVnNf/z0iG+y7SHf/ZZLVKXDyvDkVg=", + "lastModified": 1735928141, + "narHash": "sha256-KN5rfdDj3vB/GNVw4YZU4tJv2BnUQiQdOz1kEQyketI=", "owner": "dln", "repo": "jj", - "rev": "b6608a03881542d6a8c98f659b80b57a27906096", + "rev": "cb103fb4692c4e2b90c4663804b81a5ff1e49c06", "type": "github" }, "original": { @@ -297,15 +297,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", - "path": "/nix/store/8vz84mqgnm1gz5yk7hgnnb5gir5hjxas-source", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", - "type": "path" + "lastModified": 1731890469, + "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5083ec887760adfe12af64830a66807423a859a7", + "type": "github" }, "original": { - "id": "nixpkgs", - "type": "indirect" + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -390,11 +393,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735471104, - "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=", + "lastModified": 1735834308, + "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4", + "rev": "6df24922a1400241dae323af55f30e4318a6ca65", "type": "github" }, "original": { @@ -423,11 +426,11 @@ ] }, "locked": { - "lastModified": 1735871325, - "narHash": "sha256-6Ta5E4mhSfCP6LdkzkG2+BciLOCPeLKuYTJ6lOHW+mI=", + "lastModified": 1732242723, + "narHash": "sha256-NWI8csIK0ujFlFuEXKnoc+7hWoCiEtINK9r48LUUMeU=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a599f011db521766cbaf7c2f5874182485554f00", + "rev": "a229311fcb45b88a95fdfa5cecd8349c809a272a", "type": "github" }, "original": { From 9ca1072e0035236056475afff4baab66f63f1882 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 3 Jan 2025 19:40:03 +0100 Subject: [PATCH 554/656] rename nemo -> devel for ghostty+ssh --- home/common/ghostty.nix | 22 +++++++++++----------- home/dln/home.nix | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index cf72219..11a8608 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -114,7 +114,7 @@ ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -123,38 +123,38 @@ type = "Application"; }; - ghostty-nemo = { + ghostty-devel = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" ''; - genericName = "Ghostty (nemo)"; + genericName = "Ghostty (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { - StartupWMClass = "com.mitchellh.ghostty-nemo"; + StartupWMClass = "com.mitchellh.ghostty-devel"; TryExec = "ghostty"; }; terminal = false; type = "Application"; }; - ghostty-nemo-secondary = { + ghostty-devel-secondary = { categories = [ "System" "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-nemo-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t nemo" --initial-command="ssh -t nemo nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" ''; - genericName = "Ghostty Secondary (nemo)"; + genericName = "Ghostty Secondary (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (nemo)"; + name = "Ghostty (devel)"; settings = { - StartupWMClass = "com.mitchellh.ghostty-nemo-secondary"; + StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; }; terminal = false; diff --git a/home/dln/home.nix b/home/dln/home.nix index 4ec8164..5e9a82d 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -164,12 +164,12 @@ in ''; programs.ssh.matchBlocks = { - dev = { + dev-old = { hostname = "10.1.100.16"; forwardAgent = true; }; - nemo = { + devel = { hostname = "10.1.100.20"; forwardAgent = true; localForwards = [ From 7152b0bf09f56410ad4f39e22ef5f717322b370c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 4 Jan 2025 13:00:29 +0100 Subject: [PATCH 555/656] nix: add nix-index --- flake.lock | 45 +++++++++++++++++++++++++++++++++------------ flake.nix | 5 +++++ 2 files changed, 38 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 41ea256..137b9cb 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735924432, - "narHash": "sha256-OxI6QxoMsKBBTaH+RNFPIE7kiqYyv8DnO1y8zLWK36g=", + "lastModified": 1735943291, + "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "7eb35d72758a984c6c028272e6f53b7694e42b60", + "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735925111, - "narHash": "sha256-/NptDI4njO5hH0ZVQ2yzbvTXmBOabZaGYkjhnMJ37TY=", + "lastModified": 1735979091, + "narHash": "sha256-WpFjt6+8UD81EP386c269ZTqpEmlGJgcPw+OB4b7EBs=", "owner": "nix-community", "repo": "home-manager", - "rev": "ef64efdbaca99f9960f75efab991e4c49e79a5f1", + "rev": "11ab08541e61ac3bbf2ab27229f68622629401df", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735908283, - "narHash": "sha256-00Cd/KACX7Mr4ixz8rXksT4wteIStuExZIS22sA21ls=", + "lastModified": 1735972534, + "narHash": "sha256-FUp+Pke5Cj/rSldEnbGBIQ2VCHolBIqHKTD0CnzJp44=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "54dd5a7c0384fdcd11830e52f9896e457f189cb6", + "rev": "71933af08d74fad918521fb72af61bad20bb8f70", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735903221, - "narHash": "sha256-VrmQyDyR8y7x8QHSnX+Szs2ywZa7butk6lUdiNX5U3s=", + "lastModified": 1735929980, + "narHash": "sha256-vtnUEiVt9QtwUJTi/Vr8fCy+yAhYjY9BdLlsaDVrObc=", "owner": "neovim", "repo": "neovim", - "rev": "c26951b1d6d4d7ff8fe431e8bfb16744ff56af1c", + "rev": "a09c7a5d57ba2aca58fbc00e0b04a1437555a3c0", "type": "github" }, "original": { @@ -295,6 +295,26 @@ "type": "github" } }, + "nix-index-database": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1735443188, + "narHash": "sha256-AydPpRBh8+NOkrLylG7vTsHrGO2b5L7XkMEL5HlzcA8=", + "owner": "nix-community", + "repo": "nix-index-database", + "rev": "55ab1e1df5daf2476e6b826b69a82862dcbd7544", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nix-index-database", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1731890469, @@ -413,6 +433,7 @@ "home-manager": "home-manager", "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", + "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" diff --git a/flake.nix b/flake.nix index 25d23c1..7e3b30d 100644 --- a/flake.nix +++ b/flake.nix @@ -21,6 +21,9 @@ nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nix-index-database.url = "github:nix-community/nix-index-database"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; @@ -28,6 +31,7 @@ outputs = inputs@{ self, + nix-index-database, nixpkgs, home-manager, ... @@ -55,6 +59,7 @@ }; modules = [ ./home/common + nix-index-database.hmModules.nix-index ] ++ modules; }; in From 4bb1fa1f40d3f46429b167e492fd482b46e56173 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 4 Jan 2025 19:00:32 +0100 Subject: [PATCH 556/656] ghostty: fix .desktop entries --- home/common/ghostty.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 11a8608..3a2f55e 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -110,11 +110,11 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" + ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" -e bash ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (devel)"; + name = "Ghostty Secondary"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -148,11 +148,11 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Ghostty Secondary (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty (devel)"; + name = "Ghostty Secondary (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; From b23bc6b9af2e64223438b7d0d3e0bad4a012fc68 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 00:10:20 +0100 Subject: [PATCH 557/656] nix: add nixfmt --- flake.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/flake.nix b/flake.nix index 7e3b30d..1bc8a36 100644 --- a/flake.nix +++ b/flake.nix @@ -71,6 +71,7 @@ just nh nixd + nixfmt-rfc-style ]; }; From 476542b69728368873e1d7904d60ff807e22c16a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 00:10:20 +0100 Subject: [PATCH 558/656] jj: colorific --- home/dln/home.nix | 151 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 132 insertions(+), 19 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 5e9a82d..e59ba81 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -1,4 +1,9 @@ -{ config, pkgs, ... }: +{ + config, + lib, + pkgs, + ... +}: let realName = "Daniel Lundin"; email = "dln@arity.se"; @@ -136,26 +141,134 @@ in "ready" = "open() ~ (wip::)"; }; - colors = { - "commit_id prefix" = { - bold = true; - }; + colors = + let + bold = { + bold = true; + }; + dim = { + fg = "bright black"; + }; + underline = { + fg = "default"; + underline = true; + }; + in + { + "error" = bold; + "warning" = bold; + "error heading" = bold; + "error_source heading" = bold; + "warning heading" = bold; + "hint heading" = bold; + "prefix" = bold; + "rest" = "bright black"; + "divergent prefix" = underline; + "bookmark" = "magenta"; + "bookmarks" = "magenta"; + "change_id" = "magenta"; + "local_bookmarks" = "magenta"; - "rest" = { - fg = "bright black"; - bold = false; - }; + "diff file_header" = bold; + "diff hunk_header" = "cyan"; + "diff removed" = "red"; + "diff removed token" = "red"; + "diff added" = "green"; + "diff added token" = "green"; + "diff modified" = "cyan"; + "diff untracked" = "magenta"; + "diff renamed" = "cyan"; + "diff copied" = "green"; + "diff access-denied" = { + bg = "red"; + }; + + "elided" = "blue"; + "node elided" = dim; + "node working_copy" = { + fg = "green"; + bold = true; + }; + "node current_operation" = bold; + "node immutable" = bold; + "node conflict" = { + fg = "red"; + bold = true; + }; + "operation id" = "blue"; + "operation current_operation" = bold; + "remote_bookmarks" = "magenta"; + "working_copy" = { + fg = "green"; + bold = true; + }; + "working_copy change_id" = "magenta"; + "working_copy description placeholder" = "green"; + "working_copy empty description placeholder" = "green"; + "working_copy bookmark" = "bright magenta"; + "working_copy bookmarks" = "bright magenta"; + "working_copy local_bookmarks" = "bright magenta"; + "working_copy remote_bookmarks" = "bright magenta"; + } + // lib.genAttrs [ + "author" + "branch" + "branches" + "commit_id" + "committer" + "config_list name" + "config_list overridden" + "config_list overridden name" + "config_list overridden value" + "config_list value" + "conflict" + "conflict_description" + "conflict_description difficult" + "description placeholder" + "diff token" + "divergent" + "divergent change_id" + "divergent rest" + "empty" + "empty description placeholder" + "error_source" + "git_head" + "git_refs" + "hidden prefix" + "hint" + "local_branches" + "operation current_operation id" + "operation current_operation time" + "operation current_operation user" + "operation time" + "operation user" + "placeholder" + "remote_branches" + "root" + "separator" + "tag" + "tags" + "timestamp" + "working_copies" + "working_copy author" + "working_copy branch" + "working_copy branches" + "working_copy commit_id" + "working_copy committer" + "working_copy conflict" + "working_copy divergent" + "working_copy divergent change_id" + "working_copy empty" + "working_copy git_refs" + "working_copy local_branches" + "working_copy placeholder" + "working_copy remote_branches" + "working_copy tag" + "working_copy tags" + "working_copy timestamp" + "working_copy working_copies" + ] (_: "default"); - "diff added token" = { - bg = "#002200"; - fg = "#66ffcc"; - underline = false; - }; - "diff removed token" = { - bg = "#220011"; - underline = true; - }; - }; }; }; From 6d3575087355bae62d0eb454049e494fb7f2cb0b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:08:02 +0100 Subject: [PATCH 559/656] hardware.pulseaudio -> services.pulseaudio --- common/desktop.nix | 2 +- hosts/pearl/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index ebf6c6d..263ab6e 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -93,7 +93,7 @@ in xkb.variant = "us"; }; - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/hosts/pearl/default.nix b/hosts/pearl/default.nix index 1120826..4696113 100644 --- a/hosts/pearl/default.nix +++ b/hosts/pearl/default.nix @@ -99,7 +99,7 @@ console.keyMap = "sv-latin1"; # Enable sound with pipewire. - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; From fac15cd4c5c56883bb1d8e2a9ca434bf18e9e532 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:08:02 +0100 Subject: [PATCH 560/656] nix: update --- flake.lock | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 137b9cb..87aea3c 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1735943291, - "narHash": "sha256-igXLrO0AtN7+k7VaR5zaHaPhDcS3go5NZr4liVqW9g4=", + "lastModified": 1736113571, + "narHash": "sha256-5viqX++mUONRNCHf393l26iZIvi2DlFLJR87Xrsod3s=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "1baf8928a0bd6ccc2f49e1e9478baab71d49a018", + "rev": "c9c5ad43a54e815e664569f5e5809a71369b99a2", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1735979091, - "narHash": "sha256-WpFjt6+8UD81EP386c269ZTqpEmlGJgcPw+OB4b7EBs=", + "lastModified": 1736066484, + "narHash": "sha256-uTstP36WaFrw+TEHb8nLF14hFPzQBOhmIxzioHCDaL8=", "owner": "nix-community", "repo": "home-manager", - "rev": "11ab08541e61ac3bbf2ab27229f68622629401df", + "rev": "5ad12b6ea06b84e48f6b677957c74f32d47bdee0", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1735972534, - "narHash": "sha256-FUp+Pke5Cj/rSldEnbGBIQ2VCHolBIqHKTD0CnzJp44=", + "lastModified": 1736035694, + "narHash": "sha256-hsJH+qsn3hdE2Axo+MGQv2oVPzAXoBTdVJEhmUIprzo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "71933af08d74fad918521fb72af61bad20bb8f70", + "rev": "75151f049969a87404442dbcf16e885875e29e72", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1735929980, - "narHash": "sha256-vtnUEiVt9QtwUJTi/Vr8fCy+yAhYjY9BdLlsaDVrObc=", + "lastModified": 1736023725, + "narHash": "sha256-ARpgwbA6wEHBFv4x6Cpv/sXHFkeBiZoYN0iBiI3fKQw=", "owner": "neovim", "repo": "neovim", - "rev": "a09c7a5d57ba2aca58fbc00e0b04a1437555a3c0", + "rev": "a8ace2c58a318552869462a36859aabf1cdfaa68", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1735443188, - "narHash": "sha256-AydPpRBh8+NOkrLylG7vTsHrGO2b5L7XkMEL5HlzcA8=", + "lastModified": 1736047960, + "narHash": "sha256-hutd85FA1jUJhhqBRRJ+u7UHO9oFGD/RVm2x5w8WjVQ=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "55ab1e1df5daf2476e6b826b69a82862dcbd7544", + "rev": "816a6ae88774ba7e74314830546c29e134e0dffb", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1735669367, - "narHash": "sha256-tfYRbFhMOnYaM4ippqqid3BaLOXoFNdImrfBfCp4zn0=", + "lastModified": 1736061677, + "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", "owner": "nixos", "repo": "nixpkgs", - "rev": "edf04b75c13c2ac0e54df5ec5c543e300f76f1c9", + "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735821806, - "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "lastModified": 1735915915, + "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735821806, - "narHash": "sha256-cuNapx/uQeCgeuhUhdck3JKbgpsml259sjUQnWM7zW8=", + "lastModified": 1735915915, + "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d6973081434f88088e5321f83ebafe9a1167c367", + "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", "type": "github" }, "original": { From 78d818056b1395ebc8062bba90942d08651809b3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:44:22 +0100 Subject: [PATCH 561/656] jj: use bright magenta for bookmarks --- home/dln/home.nix | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index e59ba81..0770df0 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -164,10 +164,10 @@ in "prefix" = bold; "rest" = "bright black"; "divergent prefix" = underline; - "bookmark" = "magenta"; - "bookmarks" = "magenta"; - "change_id" = "magenta"; - "local_bookmarks" = "magenta"; + "bookmark" = "bright magenta"; + "bookmarks" = "bright magenta"; + "change_id" = "bright magenta"; + "local_bookmarks" = "bright magenta"; "diff file_header" = bold; "diff hunk_header" = "cyan"; @@ -176,13 +176,14 @@ in "diff added" = "green"; "diff added token" = "green"; "diff modified" = "cyan"; - "diff untracked" = "magenta"; + "diff untracked" = "blue"; "diff renamed" = "cyan"; "diff copied" = "green"; "diff access-denied" = { bg = "red"; }; + "empty" = "green"; "elided" = "blue"; "node elided" = dim; "node working_copy" = { @@ -197,12 +198,16 @@ in }; "operation id" = "blue"; "operation current_operation" = bold; - "remote_bookmarks" = "magenta"; + "remote_bookmarks" = "bright magenta"; "working_copy" = { fg = "green"; bold = true; }; - "working_copy change_id" = "magenta"; + "working_copy empty" = { + fg = "green"; + bold = true; + }; + "working_copy change_id" = "bright magenta"; "working_copy description placeholder" = "green"; "working_copy empty description placeholder" = "green"; "working_copy bookmark" = "bright magenta"; @@ -229,7 +234,6 @@ in "divergent" "divergent change_id" "divergent rest" - "empty" "empty description placeholder" "error_source" "git_head" @@ -258,7 +262,6 @@ in "working_copy conflict" "working_copy divergent" "working_copy divergent change_id" - "working_copy empty" "working_copy git_refs" "working_copy local_branches" "working_copy placeholder" From 7a2d1a7e4e531368a1846cf0224fef22ab422236 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 5 Jan 2025 23:44:22 +0100 Subject: [PATCH 562/656] nemo: re-enable pam_rssh --- flake.lock | 54 +++++++++++++++++++++--------------------- hosts/nemo/default.nix | 39 +++++++++++++++++------------- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/flake.lock b/flake.lock index 87aea3c..4fa76dc 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1735774679, - "narHash": "sha256-soePLBazJk0qQdDVhdbM98vYdssfs3WFedcq+raipRI=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f2f7418ce0ab4a5309a4596161d154cfc877af66", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736113571, - "narHash": "sha256-5viqX++mUONRNCHf393l26iZIvi2DlFLJR87Xrsod3s=", + "lastModified": 1736210320, + "narHash": "sha256-QnDkQ/s1OWmPj1f+7MFNxQiAPJdHbI1Aft7yM5I+8gQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c9c5ad43a54e815e664569f5e5809a71369b99a2", + "rev": "a3837a1e4ee06a183f32d4a622c2cdcd51f73fb8", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736066484, - "narHash": "sha256-uTstP36WaFrw+TEHb8nLF14hFPzQBOhmIxzioHCDaL8=", + "lastModified": 1736204492, + "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", "owner": "nix-community", "repo": "home-manager", - "rev": "5ad12b6ea06b84e48f6b677957c74f32d47bdee0", + "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736035694, - "narHash": "sha256-hsJH+qsn3hdE2Axo+MGQv2oVPzAXoBTdVJEhmUIprzo=", + "lastModified": 1736233375, + "narHash": "sha256-I6fqKdaoKOVU33SyPv+MuxWRiOs+PXQTO94aCLA3rAc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "75151f049969a87404442dbcf16e885875e29e72", + "rev": "721f5f602b876a3ee21be04f68ab3cedf162e7f6", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736023725, - "narHash": "sha256-ARpgwbA6wEHBFv4x6Cpv/sXHFkeBiZoYN0iBiI3fKQw=", + "lastModified": 1736193797, + "narHash": "sha256-5S4RnwKfa5nn/r+8OsMtfgD6TEA5P6cWKti76A0zIMc=", "owner": "neovim", "repo": "neovim", - "rev": "a8ace2c58a318552869462a36859aabf1cdfaa68", + "rev": "b6ab294838421afb6932c52dd6e6d35d571e621d", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1735915915, - "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", + "lastModified": 1736134818, + "narHash": "sha256-30sOEZ8CFK2nTTMdkhaNrfVlIi3rWTNV0Z5z+NmpFNI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", + "rev": "3df3c47c19dc90fec35359e89ffb52b34d2b0e94", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1735915915, - "narHash": "sha256-Q4HuFAvoKAIiTRZTUxJ0ZXeTC7lLfC9/dggGHNXNlCw=", + "lastModified": 1736042175, + "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "a27871180d30ebee8aa6b11bf7fef8a52f024733", + "rev": "bf689c40d035239a489de5997a4da5352434632e", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1735834308, - "narHash": "sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk=", + "lastModified": 1736012469, + "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "6df24922a1400241dae323af55f30e4318a6ca65", + "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1735905407, - "narHash": "sha256-1hKMRIT+QZNWX46e4gIovoQ7H8QRb7803ZH4qSKI45o=", + "lastModified": 1736154270, + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29806abab803e498df96d82dd6f34b32eb8dd2c8", + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", "type": "github" }, "original": { diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index c36cc1c..d1df1d0 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -124,21 +124,20 @@ }; # FIXME: pam_rssh is broken from rust 1.80 upgrade - # environment.systemPackages = [ pkgs.pam_rssh ]; - # security = { - # pam.services.doas = - # { config, ... }: - # { - # rules.auth.rssh = { - # order = config.rules.auth.ssh_agent_auth.order - 1; - # control = "sufficient"; - # modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; - # settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' - # cat "/etc/ssh/authorized_keys.d/$1" - # ''; - # }; - # }; - # }; + security = { + pam.services.doas = + { config, ... }: + { + rules.auth.rssh = { + order = config.rules.auth.ssh_agent_auth.order - 1; + control = "sufficient"; + modulePath = "${pkgs.pam_rssh}/lib/libpam_rssh.so"; + settings.authorized_keys_command = pkgs.writeShellScript "get-authorized-keys" '' + cat "/etc/ssh/authorized_keys.d/$1" + ''; + }; + }; + }; services.resolved = { enable = true; @@ -175,7 +174,7 @@ ffado libcamera lm_sensors - # pkgs.pam_rssh + pam_rssh openconnect v4l-utils ]; @@ -213,6 +212,14 @@ }; users.groups.nixremote = { }; + nix.sshServe.enable = true; + nix.sshServe.keys = [ + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIHMAEZx02kbHrEygyPQYStiXlrIe6EIqBCv7anIkL0pAAAABHNzaDo= dln@dinky" + "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJ10mLOpInoqDaySyrxbzvcOrJfLw48Y6eWHa9501lw+hEEBXya3ib7nlvpCqEQJ8aPU5fVRqpkOW5zSimCiRbwAAAAEc3NoOg==" + "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLpoKvsZDIQQLfgzJhe1jAQubBNxjydkj8UfdUPaSXqgfB02OypMOC1m5ZuJYcQIxox0I+4Z8xstFhYP6s8zKZwAAAAEc3NoOg==" + ]; + nix.settings.trusted-users = [ "dln" "lsjostro" From 223bff63157618d7c7254514e3ff5e0086c4f64b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 7 Jan 2025 21:57:21 +0100 Subject: [PATCH 563/656] fish: remove grc --- home/common/fish.nix | 10 ---------- home/common/utils.nix | 1 - 2 files changed, 11 deletions(-) diff --git a/home/common/fish.nix b/home/common/fish.nix index 9fd7a43..03cf86f 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -5,10 +5,6 @@ plugins = [ - { - name = "grc"; - src = pkgs.fishPlugins.grc.src; - } { name = "transient"; src = pkgs.fishPlugins.transient-fish.src; @@ -43,12 +39,6 @@ body = ''confirm "⚠ Really shutdown $(hostname)?" && command shutdown $argv''; }; - kubectl = { - description = "Wraps kubectl in grc"; - wraps = "kubectl"; - body = "grc.wrap kubectl $argv"; - }; - e = { description = "Open a file in already running nvim"; argumentNames = [ "file" ]; diff --git a/home/common/utils.nix b/home/common/utils.nix index a8284c1..d2d07a4 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -1,7 +1,6 @@ { pkgs, ... }: { home.packages = with pkgs; [ - grc dust jless procs From b82010faf8fb757783fdea1786fe3fdfbfd53850 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 8 Jan 2025 15:37:19 +0100 Subject: [PATCH 564/656] nvim: add sqls --- home/common/nvim/lsp.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 164c0cb..1cd6e50 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -3,6 +3,7 @@ local servers = { cssls = {}, html = {}, jsonls = {}, + sqls = {}, superhtml = {}, ts_ls = {}, From 3ef41dd40078ba25a60d84a7e74f0b5c465f4fea Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 8 Jan 2025 18:58:16 +0100 Subject: [PATCH 565/656] nemo: set OTEL endpoint globally --- hosts/nemo/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index d1df1d0..be2b346 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -179,6 +179,10 @@ v4l-utils ]; + environment.variables = { + OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; + }; + programs.coolercontrol.enable = true; users.users.dln = { From 03e20d83e1be92fca6618a1d41313b3580d39ca1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:35:34 +0100 Subject: [PATCH 566/656] nemo: disable sunshine --- hosts/nemo/default.nix | 6 ------ 1 file changed, 6 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index be2b346..49cdaf0 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -158,12 +158,6 @@ }; }; - services.sunshine = { - enable = true; - openFirewall = true; - settings = { }; - }; - patagia = { desktop.enable = true; plymouth.enable = true; From 3ec86e59ba79852a0e7ce99f78e8178269af7022 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:35:34 +0100 Subject: [PATCH 567/656] nemo: disable coolercontrol + gnome vitals --- home/common/gnome.nix | 6 ------ hosts/nemo/default.nix | 2 -- 2 files changed, 8 deletions(-) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index de67eb7..75343f5 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -13,7 +13,6 @@ with lib.hm.gvariant; gnomeExtensions.desktop-clock gnomeExtensions.emoji-copy gnomeExtensions.just-perfection - gnomeExtensions.vitals ]; dconf.settings = { @@ -168,7 +167,6 @@ with lib.hm.gvariant; enabled-extensions = [ "emoji-copy@felipeftn" "just-perfection-desktop@just-perfection" - "Vitals@CoreCoding.com" ]; }; @@ -187,10 +185,6 @@ with lib.hm.gvariant; top-panel-position = 0; }; - "org/gnome/shell/extensions/vitals" = { - update-time = 15; - }; - "org/gnome/tweaks" = { show-extensions-notice = false; }; diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 49cdaf0..cc1db74 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -177,8 +177,6 @@ OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; }; - programs.coolercontrol.enable = true; - users.users.dln = { isNormalUser = true; description = "Daniel Lundin"; From c68bdd38183701f7a81851587711785b8a89ca87 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 568/656] nvim: blink-cmp changes --- home/common/nvim/blink-cmp.lua | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index b34b6fc..b59fe58 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -1,6 +1,7 @@ require 'blink-cmp'.setup({ keymap = { preset = 'enter', + -- preset = 'super-tab', ["<PageDown>"] = { "scroll_documentation_down" }, ["<PageUp>"] = { "scroll_documentation_up" }, }, @@ -18,11 +19,11 @@ require 'blink-cmp'.setup({ ghost_text = { enabled = true }, list = { - selection = "manual", + selection = { preselect = false, auto_insert = false }, }, menu = { - auto_show = true, + auto_show = false, }, }, @@ -32,10 +33,6 @@ require 'blink-cmp'.setup({ }, }, - keymap = { - preset = 'super-tab', - }, - signature = { enabled = true, window = { border = 'rounded', }, From f263c95f039cd2425c2938db351c31ad64022243 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 569/656] ghostty: don't start nvim automatically --- home/common/ghostty.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 3a2f55e..a05ca7f 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -29,7 +29,6 @@ unfocused-split-opacity = 1.0; shell-integration = "fish"; - initial-command = "nvim-remote"; window-decoration = true; gtk-single-instance = true; @@ -129,7 +128,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel nvim-remote" + ghostty --class=com.mitchellh.ghostty-devel --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From ccf59fbaee3ef7beb48f8869a8273c9d35b17034 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 570/656] zoxide: add fzf border and avoid sorting (which ruins zoxide weighting) --- home/common/utils.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index d2d07a4..1ae7cf9 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -70,6 +70,6 @@ enableFishIntegration = true; options = [ "--cmd=cd" ]; }; - home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=none --no-info --no-separator --no-scrollbar --no-color"; + home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; } From fec53f5ca0a36d3014b2ccb243a93ce909d3647f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 9 Jan 2025 14:52:31 +0100 Subject: [PATCH 571/656] nvim: re-enable neocodium. bink-cmp config --- flake.lock | 54 +++++++++++++++++----------------- flake.nix | 1 + home/common/nvim/blink-cmp.lua | 37 ++++++++++++++++++----- home/common/nvim/default.nix | 21 +++++++++++++ home/common/nvim/init.lua | 2 +- 5 files changed, 79 insertions(+), 36 deletions(-) diff --git a/flake.lock b/flake.lock index 4fa76dc..b4a05c0 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736210320, - "narHash": "sha256-QnDkQ/s1OWmPj1f+7MFNxQiAPJdHbI1Aft7yM5I+8gQ=", + "lastModified": 1736566108, + "narHash": "sha256-r+FXWU/hfgO3lAHYs9Q03iCShnC42mZd1pnmIIp8Z9k=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a3837a1e4ee06a183f32d4a622c2cdcd51f73fb8", + "rev": "918ccdba5cc65ccd1fb48a54c71306d869299441", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736204492, - "narHash": "sha256-CoBPRgkUex9Iz6qGSzi/BFVUQjndB0PmME2B6eEyeCs=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "20665c6efa83d71020c8730f26706258ba5c6b2a", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736233375, - "narHash": "sha256-I6fqKdaoKOVU33SyPv+MuxWRiOs+PXQTO94aCLA3rAc=", + "lastModified": 1736553940, + "narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "721f5f602b876a3ee21be04f68ab3cedf162e7f6", + "rev": "b2237869f288c278b6fd429445d460cb44a0e788", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736193797, - "narHash": "sha256-5S4RnwKfa5nn/r+8OsMtfgD6TEA5P6cWKti76A0zIMc=", + "lastModified": 1736553525, + "narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", "owner": "neovim", "repo": "neovim", - "rev": "b6ab294838421afb6932c52dd6e6d35d571e621d", + "rev": "fbe546e25d21f3184814d696c329d23d146bd615", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736047960, - "narHash": "sha256-hutd85FA1jUJhhqBRRJ+u7UHO9oFGD/RVm2x5w8WjVQ=", + "lastModified": 1736440205, + "narHash": "sha256-QJgTI//KEGuEJC6FDxuI9Dq8PewIpnxD2NVx2/OHbfc=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "816a6ae88774ba7e74314830546c29e134e0dffb", + "rev": "a2200b499efa01ca8646173e94cdfcc93188f2b8", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736061677, - "narHash": "sha256-DjkQPnkAfd7eB522PwnkGhOMuT9QVCZspDpJJYyOj60=", + "lastModified": 1736200483, + "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cbd8ec4de4469333c82ff40d057350c30e9f7d36", + "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736134818, - "narHash": "sha256-30sOEZ8CFK2nTTMdkhaNrfVlIi3rWTNV0Z5z+NmpFNI=", + "lastModified": 1736420959, + "narHash": "sha256-dMGNa5UwdtowEqQac+Dr0d2tFO/60ckVgdhZU9q2E2o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3df3c47c19dc90fec35359e89ffb52b34d2b0e94", + "rev": "32af3611f6f05655ca166a0b1f47b57c762b5192", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736042175, - "narHash": "sha256-jdd5UWtLVrNEW8K6u5sy5upNAFmF3S4Y+OIeToqJ1X8=", + "lastModified": 1736320768, + "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bf689c40d035239a489de5997a4da5352434632e", + "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736344531, + "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1bc8a36..35ccf56 100644 --- a/flake.nix +++ b/flake.nix @@ -70,6 +70,7 @@ packages = with pkgs; [ just nh + nil nixd nixfmt-rfc-style ]; diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index b59fe58..26531e4 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -1,9 +1,10 @@ require 'blink-cmp'.setup({ keymap = { preset = 'enter', - -- preset = 'super-tab', - ["<PageDown>"] = { "scroll_documentation_down" }, - ["<PageUp>"] = { "scroll_documentation_up" }, + ['<Tab>'] = { 'select_next', 'fallback' }, + ['<S-Tab>'] = { 'select_prev', 'fallback' }, + ['<PageDown>'] = { 'scroll_documentation_down', 'fallback' }, + ['<PageUp>'] = { 'scroll_documentation_up', 'fallback' }, }, completion = { accept = { @@ -16,15 +17,35 @@ require 'blink-cmp'.setup({ window = { border = 'rounded', }, }, - ghost_text = { enabled = true }, + ghost_text = { enabled = false }, list = { - selection = { preselect = false, auto_insert = false }, + selection = { + preselect = false, + auto_insert = false + }, }, menu = { - auto_show = false, - }, + auto_show = true, + direction_priority = { 'n' }, + draw = { + components = { + kind_icon = { + ellipsis = false, + text = function(ctx) + local kind_icon, _, _ = require('mini.icons').get('lsp', ctx.kind) + return kind_icon + end, + -- Optionally, you may also use the highlights from mini.icons + highlight = function(ctx) + local _, hl, _ = require('mini.icons').get('lsp', ctx.kind) + return hl + end, + } + } + } + } }, fuzzy = { @@ -39,7 +60,7 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp', 'codeium', 'buffer' }, + default = { 'lsp', 'codeium' }, cmdline = {}, providers = { codeium = { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 4312729..7056678 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -124,6 +124,27 @@ in ''; } + { + plugin = pkgs.vimUtils.buildVimPlugin { + name = "neocodeium"; + src = pkgs.fetchFromGitHub { + owner = "monkoose"; + repo = "neocodeium"; + rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 + hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + }; + doCheck = false; + }; + type = "lua"; + config = '' + local neocodeium =require('neocodeium') + neocodeium.setup() + vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) + vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) + ''; + } + { plugin = pkgs.vimUtils.buildVimPlugin { name = "diagflow"; diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8682273..4487604 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -65,7 +65,7 @@ vim.o.showcmd = false vim.o.showmode = false vim.o.smoothscroll = true vim.o.splitkeep = "screen" -vim.o.timeoutlen = 10 +vim.o.timeoutlen = 1 vim.o.timeout = true vim.o.updatetime = 50 From cea9b407c86945c2112f55621433f91dadcc47a1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:08:35 +0100 Subject: [PATCH 572/656] nvim: ruler format tweaks --- home/common/nvim/init.lua | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 4487604..03ae7d7 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -19,12 +19,31 @@ function GetIndicators() local counts = vim.diagnostic.count(bufnr) local errors = counts[vim.diagnostic.severity.ERROR] or 0 local warnings = counts[vim.diagnostic.severity.WARN] or 0 - local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or " " - local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or " " + local warn_string = warnings > 0 and "%#DiagnosticWarn# " .. warnings .. " " or "" + local error_string = errors > 0 and "%#DiagnosticError# " .. errors .. " " or "" return warn_string .. error_string end -vim.opt.rulerformat = "%40(%=%{%v:lua.GetIndicators()%}%#Label#│ %t %)" +function CondensedPath() + local path = vim.fn.expand("%:p") + -- path = vim.fn.fnamemodify(path, ':p') + local home = os.getenv("HOME") + if home then + path = vim.fn.substitute(path, '^' .. home, '~', '') + end + + local segments = vim.fn.split(path, '/') + if #segments <= 3 then + return path + end + + local early_path = table.concat(vim.list_slice(segments, 1, #segments - 2), '/') + local late_path = table.concat(vim.list_slice(segments, #segments - 1), '/') + + return vim.fn.pathshorten(early_path) .. '/' .. late_path +end + +vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#Label#%#MsgArea#| %{%v:lua.CondensedPath()%}%)" -- Search vim.opt.ignorecase = true From 2cd4b5c52a5538f8a966e8d2b5d6e3770cefeb73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:08:35 +0100 Subject: [PATCH 573/656] nvim: picker + cmp tweaks --- home/common/nvim/blink-cmp.lua | 1 + home/common/nvim/dieter/lua/dieter/init.lua | 10 ++++++---- home/common/nvim/init.lua | 5 ++--- home/common/nvim/mini.lua | 5 +++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 26531e4..f635cba 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -28,6 +28,7 @@ require 'blink-cmp'.setup({ menu = { auto_show = true, + border = 'rounded', direction_priority = { 'n' }, draw = { components = { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 7a7d3a2..24a3677 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -34,7 +34,6 @@ local colors = { selection = hsl(270, 75, 92), highlight_subtle = hsl(0, 0, 94), highlight_intense = hsl(42, 100, 30), - }, dark = { @@ -46,7 +45,7 @@ local colors = { dimmed = hsl(212, 19, 25), -- dimmed_subtle = hsl(212, 19, 70), - dimmed_subtle = hsl(212, 5, 65), + dimmed_subtle = hsl(212, 19, 50), highlight_subtle = hsl(212, 27, 11), highlight_intense = hsl(58, 100, 60), @@ -112,6 +111,8 @@ local setupGroups = function(c) Special = { link = "NormalNC" }, Type = { link = "NormalNC" }, + MsgArea = { fg = c.dimmed_subtle }, + String = { fg = c.string }, Visual = { bg = c.selection }, @@ -176,8 +177,8 @@ local setupGroups = function(c) InclineNormalNC = { bg = c.background }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.doc_bg, fg = c.doc_fg }, - FloatBorder = { fg = c.doc_fg }, + NormalFloat = { bg = c.background, fg = c.foreground }, + FloatBorder = { fg = c.foreground }, FloatTitle = { fg = c.doc_fg, bold = true }, Title = { fg = c.foreground, bold = true }, @@ -193,6 +194,7 @@ local setupGroups = function(c) MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, + MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 03ae7d7..9534e5a 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -84,9 +84,8 @@ vim.o.showcmd = false vim.o.showmode = false vim.o.smoothscroll = true vim.o.splitkeep = "screen" -vim.o.timeoutlen = 1 -vim.o.timeout = true -vim.o.updatetime = 50 +vim.o.timeout = false +vim.o.updatetime = 250 -- Use rg vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 297c1c6..f769f93 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -49,15 +49,16 @@ local picker_win_config = function() height = height, width = width, row = 2, - col = math.floor((vim.o.columns - width) / 2), + col = 5, } end require('mini.pick').setup({ mappings = { move_down = '<tab>', + move_up = '<S-tab>', toggle_info = '<C-k>', - toggle_preview = '<C-p>', + toggle_preview = 'p', }, options = { use_cache = true }, window = { From b5a3d0ec9e06cfa49ae5592c1680b0f737d6dc2b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 11 Jan 2025 23:29:02 +0100 Subject: [PATCH 574/656] nvim: colors --- home/common/nvim/dieter/lua/dieter/init.lua | 19 ++++++++----------- home/common/nvim/init.lua | 6 +++--- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 24a3677..9bf0a9d 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -44,18 +44,17 @@ local colors = { accent2 = hsl(40, 57, 57), -- Yellow dimmed = hsl(212, 19, 25), - -- dimmed_subtle = hsl(212, 19, 70), dimmed_subtle = hsl(212, 19, 50), highlight_subtle = hsl(212, 27, 11), + highlight = hsl(212, 27, 18), highlight_intense = hsl(58, 100, 60), dialog_fg = hsl(191, 15, 75), - -- string = hsl(96, 35, 60), - -- string = hsl(80, 79, 83), - string = hsl(90, 45, 70), - comment = hsl(2, 69, 68), + string = hsl(90, 30, 60), + -- comment = hsl(2, 69, 68), + comment = hsl(216, 30, 55), comment_error = hsl(2, 85, 50), func = hsl(40, 57, 87), member = hsl(213, 45, 75), @@ -78,7 +77,7 @@ local colors = { delete = hsl(350, 100, 40), delete_quarter = hsl(350, 100, 15), - selection = hsl(218, 30, 20), + selection = hsl(218, 90, 20), search_bg = hsl(43, 100, 8), search_fg = hsl(43, 100, 85), @@ -138,13 +137,11 @@ local setupGroups = function(c) GitSignsDeleteNr = { link = "DiffDelete" }, -- Treesitter - -- ["@function"] = { link = "NormalNC" }, ["@punctuation.special"] = { fg = c.punc }, ["@special"] = { link = "NormalNC" }, ["@variable"] = { link = "NormalNC" }, ["@variable.member"] = { fg = c.member }, ["@variable.parameter"] = { fg = c.accent2 }, - -- ["@lsp.type.variable"] = { fg = c.dimmed_subtle, italic = true }, -- UI Elements CursorLine = { bg = c.highlight_subtle }, @@ -166,8 +163,8 @@ local setupGroups = function(c) LineNr = { fg = c.dimmed }, CursorLineNr = { fg = c.dimmed_subtle, bg = c.highlight_subtle }, - IndentLine = { fg = c.dimmed }, - IndentLineCurrent = { fg = c.dimmed_subtle }, + IndentLine = { fg = c.highlight }, + IndentLineCurrent = { fg = c.highlight }, MiniIndentscopeSymbol = { link = "IndentLine" }, MiniIndentscopeSymbolOff = { link = "IndentLine" }, @@ -239,7 +236,7 @@ local setupGroupsNoColor = function(c) g["@variable"] = cl g["@variable.member"] = cl g["@variable.parameter"] = cl - g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } + -- g.Comment = { fg = c.dimmed_subtle, italic = true, bold = true } g.CommentError = { link = "Comment" } return g end diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 9534e5a..0885481 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -7,7 +7,7 @@ vim.g.maplocalleader = "," vim.opt.cursorline = true vim.opt.laststatus = 0 -vim.opt.number = true +vim.opt.number = false vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" @@ -26,7 +26,6 @@ end function CondensedPath() local path = vim.fn.expand("%:p") - -- path = vim.fn.fnamemodify(path, ':p') local home = os.getenv("HOME") if home then path = vim.fn.substitute(path, '^' .. home, '~', '') @@ -43,7 +42,7 @@ function CondensedPath() return vim.fn.pathshorten(early_path) .. '/' .. late_path end -vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#Label#%#MsgArea#| %{%v:lua.CondensedPath()%}%)" +vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#MsgArea#%{%v:lua.CondensedPath()%}%)%7(%l:%c%)" -- Search vim.opt.ignorecase = true @@ -179,4 +178,5 @@ vim.keymap.set("n", "<Leader>uc", function() end end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From a93861071d31515ba8fd970e412c9ed995f1ab54 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 575/656] nvim: cleanup --- home/common/nvim/dieter/lua/dieter/init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 9bf0a9d..08d75af 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -191,7 +191,6 @@ local setupGroups = function(c) MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, MiniClueDescSingle = { bg = c.background, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, - MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, From f8c7a5ecfe98082c97950043652f616548ec6c9c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 576/656] nvim: revert minipick preview key --- home/common/nvim/mini.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index f769f93..0499268 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -58,7 +58,7 @@ require('mini.pick').setup({ move_down = '<tab>', move_up = '<S-tab>', toggle_info = '<C-k>', - toggle_preview = 'p', + toggle_preview = '<C-p>', }, options = { use_cache = true }, window = { From 81f036c147226fab3efe1915149ca03ac1e4ee3f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 577/656] nvim: use mini.visits for history w/frecency --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0885481..258d834 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -133,6 +133,7 @@ vim.keymap.set({ "n", "v" }, "<Leader>a", vim.lsp.buf.code_action, { remap = tru vim.keymap.set("n", "<Leader>af", function() vim.lsp.buf.format({ async = true }) end, opts("Format Buffer")) +vim.keymap.set('n', '<Leader><Leader>', "<cmd>Pick visit_paths cwd=''<cr>", opts("Visits")) vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 0499268..215b734 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -10,6 +10,7 @@ require('mini.jump').setup() require('mini.surround').setup() require('mini.splitjoin').setup() require('mini.trailspace').setup() +require('mini.visits').setup() require('mini.cursorword').setup({ delay = 800 From 0b6313671c72aa81bb901764a15b38b4b9010897 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 578/656] ghostty: reduce font size a bit --- home/common/ghostty.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a05ca7f..99b7338 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -12,7 +12,7 @@ enableFishIntegration = true; package = inputs.ghostty.packages.${pkgs.system}.default; settings = { - font-size = 14; + font-size = 12.5; font-family = "TX-02"; font-family-bold-italic = "Monaspace Xenon"; font-style-bold = "Bold"; @@ -34,7 +34,7 @@ gtk-single-instance = true; gtk-tabs-location = "hidden"; gtk-titlebar = false; - window-padding-x = 12; + window-padding-x = 0; window-padding-y = 0; window-padding-balance = true; window-padding-color = "extend"; From 8e2d04365015032ca3db5d8eb0cc3c46990bab4e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 10:01:15 +0100 Subject: [PATCH 579/656] nvim: add mini.files --- home/common/nvim/init.lua | 1 + home/common/nvim/mini.lua | 1 + 2 files changed, 2 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 258d834..8ef82a3 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -150,6 +150,7 @@ vim.keymap.set('n', '<Leader>s', "<cmd>Pick lsp scope='document_symbol'<cr>", op vim.keymap.set('n', '<Leader>S', "<cmd>Pick lsp scope='workspace_symbol'<cr>", opts("Open workspace symbol picker")) vim.keymap.set("n", "<Leader>ws", "<C-w>s", opts("Horizontal split")) vim.keymap.set("n", "<Leader>wv", "<C-w>v", opts("Vertical split")) +vim.keymap.set("n", "<m-f>", require('mini.files').open, opts("Open file manager")) vim.keymap.set('n', '<tab>', "<cmd>Pick buffers include_current=false<cr>", opts("Buffers")) vim.keymap.set("n", "zz", "zt", { remap = true }) vim.keymap.set({ "n", "v" }, "<Leader>y", '"+y', opts("Yank to clipboard")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 215b734..a12b7cf 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -5,6 +5,7 @@ require('mini.bufremove').setup() require('mini.comment').setup() require('mini.diff').setup() require('mini.extra').setup() +require('mini.files').setup() require('mini.icons').setup() require('mini.jump').setup() require('mini.surround').setup() From 3b577407f7d7a73bc1e4d0390d1755b33f14110a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 17:18:51 +0100 Subject: [PATCH 580/656] nvim: remove codeium cmp source --- home/common/nvim/blink-cmp.lua | 10 ++-------- home/common/nvim/default.nix | 10 ---------- 2 files changed, 2 insertions(+), 18 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index f635cba..8ae4f6c 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -61,15 +61,9 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp', 'codeium' }, + default = { 'lsp' }, cmdline = {}, - providers = { - codeium = { - name = "codeium", - module = 'blink.compat.source', - score_offset = -100, - }, - }, + providers = {}, }, }) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 7056678..57e68e6 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -114,16 +114,6 @@ in ''; } - { - plugin = codeium-nvim; - type = "lua"; - config = '' - require'codeium'.setup { - enable_chat = false, - } - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "neocodeium"; From ad82eb1cbf1f3708c292253e60ccd2624781f084 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 22:54:28 +0100 Subject: [PATCH 581/656] nvim: Add autoformat on save w/toggle ui --- home/common/nvim/init.lua | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8ef82a3..ed4052d 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -118,6 +118,29 @@ vim.keymap.set({ "i", "s" }, "<Tab>", function() end, { expr = true }) +-- Autoformat + +vim.g.autoformat_enabled = true -- set to true by default + +vim.api.nvim_create_user_command('ToggleAutoFormat', function() + vim.g.autoformat_enabled = not vim.g.autoformat_enabled + print('Autoformatting ' .. (vim.g.autoformat_enabled and 'enabled' or 'disabled')) +end, {}) + +vim.api.nvim_create_augroup("AutoFormat", {}) + +vim.api.nvim_create_autocmd("BufWritePre", { + group = "AutoFormat", + callback = function() + if vim.g.autoformat_enabled then + vim.lsp.buf.format({ + async = false, + timeout_ms = 2000 -- Adjust timeout as needed + }) + end + end, +}) + -- Keymap local opts = function(label) return { noremap = true, silent = true, desc = label } @@ -179,6 +202,7 @@ vim.keymap.set("n", "<Leader>uc", function() vim.cmd [[colorscheme dieter-nocolor]] end end, opts("Toggle Dieter colors")) +vim.keymap.set("n", "<Leader>uf", "<cmd>ToggleAutoFormat<cr>", opts("Toggle autoformat on save")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From a6013523fa68fdfd9ae8c20379acb9f55a36cd88 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 12 Jan 2025 22:54:28 +0100 Subject: [PATCH 582/656] nvim: cleanup --- home/common/nvim/mini.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index a12b7cf..947528f 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -68,6 +68,7 @@ require('mini.pick').setup({ }, }) +local MiniPick = require('mini.pick') MiniPick.registry.projects = function(local_opts) local root = vim.fn.expand("~/src") From de6547851a5bfc6835a86cde694352e851beee1d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 583/656] fish: remove unused config --- files/config/fish/go-task.fish | 37 ---- files/config/fish/jj.fish | 338 --------------------------------- home/common/fish.nix | 67 ++++--- 3 files changed, 32 insertions(+), 410 deletions(-) delete mode 100644 files/config/fish/go-task.fish delete mode 100644 files/config/fish/jj.fish diff --git a/files/config/fish/go-task.fish b/files/config/fish/go-task.fish deleted file mode 100644 index 6c7e2cf..0000000 --- a/files/config/fish/go-task.fish +++ /dev/null @@ -1,37 +0,0 @@ -set GO_TASK_PROGNAME task - -function __task_get_tasks --description "Prints all available tasks with their description" - # Read the list of tasks (and potential errors) - $GO_TASK_PROGNAME --list-all 2>&1 | read -lz rawOutput - - # Return on non-zero exit code (for cases when there is no Taskfile found or etc.) - if test $status -ne 0 - return - end - - # Grab names and descriptions (if any) of the tasks - set -l output (echo $rawOutput | sed -e '1d; s/\* \(.*\):\s*\(.*\)\s*(aliases.*/\1\t\2/' -e 's/\* \(.*\):\s*\(.*\)/\1\t\2/'| string split0) - if test $output - echo $output - end -end - -complete -c $GO_TASK_PROGNAME -d 'Runs the specified task(s). Falls back to the "default" task if no task name was specified, or lists all tasks if an unknown task name was - specified.' -xa "(__task_get_tasks)" - -complete -c $GO_TASK_PROGNAME -s c -l color -d 'colored output (default true)' -complete -c $GO_TASK_PROGNAME -s d -l dir -d 'sets directory of execution' -complete -c $GO_TASK_PROGNAME -l dry -d 'compiles and prints tasks in the order that they would be run, without executing them' -complete -c $GO_TASK_PROGNAME -s f -l force -d 'forces execution even when the task is up-to-date' -complete -c $GO_TASK_PROGNAME -s h -l help -d 'shows Task usage' -complete -c $GO_TASK_PROGNAME -s i -l init -d 'creates a new Taskfile.yml in the current folder' -complete -c $GO_TASK_PROGNAME -s l -l list -d 'lists tasks with description of current Taskfile' -complete -c $GO_TASK_PROGNAME -s o -l output -d 'sets output style: [interleaved|group|prefixed]' -xa "interleaved group prefixed" -complete -c $GO_TASK_PROGNAME -s p -l parallel -d 'executes tasks provided on command line in parallel' -complete -c $GO_TASK_PROGNAME -s s -l silent -d 'disables echoing' -complete -c $GO_TASK_PROGNAME -l status -d 'exits with non-zero exit code if any of the given tasks is not up-to-date' -complete -c $GO_TASK_PROGNAME -l summary -d 'show summary about a task' -complete -c $GO_TASK_PROGNAME -s t -l taskfile -d 'choose which Taskfile to run. Defaults to "Taskfile.yml"' -complete -c $GO_TASK_PROGNAME -s v -l verbose -d 'enables verbose mode' -complete -c $GO_TASK_PROGNAME -l version -d 'show Task version' -complete -c $GO_TASK_PROGNAME -s w -l watch -d 'enables watch of the given task' diff --git a/files/config/fish/jj.fish b/files/config/fish/jj.fish deleted file mode 100644 index 9a6257e..0000000 --- a/files/config/fish/jj.fish +++ /dev/null @@ -1,338 +0,0 @@ -# TODO: passthru other args? E.g.. --at-operation, --repository -function __jj - command jj --ignore-working-copy --color=never --quiet $argv 2>/dev/null -end - -# Aliases -# Based on https://github.com/fish-shell/fish-shell/blob/cd71359c42f633d9d71a63591ae16d150407a2b2/share/completions/git.fish#L625. -# -# Aliases are stored in global variables. -# `__jj_aliases` is a list of all aliases and `__jj_alias_$alias` is the command line for the alias. -function __jj_add_alias - set -l alias $argv[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -g __jj_alias_$alias_escaped $argv - set --append -g __jj_aliases $alias -end - -__jj config list aliases -T 'concat(name, "\t", value, "\n")' --include-defaults | while read -l config_alias - set -l parsed (string match --regex '^aliases\.(.+)\t(.*)$' --groups-only -- $config_alias) - set -l alias $parsed[1] - set -l command $parsed[2] - set -l args $alias - # Replace wrapping `[]` if any - set -l command (string replace -r --all '^\[|]$' "" -- $command) - while test (string length -- $command) -gt 0 - set -l parsed (string match -r '^"((?:\\\"|[^"])*?)"(?:,\s)?(.*)$' --groups-only -- $command) - set --append args $parsed[1] - set command $parsed[2] - end - __jj_add_alias $args -end - -__jj_add_alias ci commit -__jj_add_alias desc describe -__jj_add_alias op operation -__jj_add_alias st status - -# Resolve aliases that call another alias. -for alias in $__jj_aliases - set -l handled $alias - - while true - set -l alias_escaped (string escape --style=var -- $alias) - set -l alias_varname __jj_alias_$alias_escaped - set -l aliased_command $$alias_varname[1][2] - set -l aliased_escaped (string escape --style=var -- $aliased_command) - set -l aliased_varname __jj_alias_$aliased_escaped - set -q $aliased_varname - or break - - # Prevent infinite recursion - contains $aliased_escaped $handled - and break - - # Expand alias in cmdline - set -l aliased_cmdline $$aliased_varname[1][2..-1] - set --append aliased_cmdline $$alias_varname[1][3..-1] - set -g $alias_varname $$alias_varname[1][1] $aliased_cmdline - set --append handled $aliased_escaped - end -end - -function __jj_aliases_with_descriptions - for alias in $__jj_aliases - set -l alias_escaped (string escape --style=var -- $alias) - set -l alias_varname __jj_alias_$alias_escaped - set -l aliased_cmdline (string join " " -- $$alias_varname[1][2..-1] | string replace -r --all '\\\"' '"') - printf "%s\talias: %s\n" $alias $aliased_cmdline - end -end - -# Based on https://github.com/fish-shell/fish-shell/blob/2d4e42ee93327b9cfd554a0d809f85e3d371e70e/share/functions/__fish_seen_subcommand_from.fish. -# Test to see if we've seen a subcommand from a list. -# This logic may seem backwards, but the commandline will often be much shorter than the list. -function __jj_seen_subcommand_from - set -l cmd (commandline -opc) - set -e cmd[1] - - # Check command line arguments first. - for i in $cmd - if contains -- $i $argv - return 0 - end - end - - # Check aliases. - set -l alias $cmd[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -l varname __jj_alias_$alias_escaped - set -q $varname - or return 1 - - for i in $$varname[1][2..-1] - if contains -- $i $argv - return 0 - end - end - - return 1 -end - -function __jj_changes - __jj log --no-graph --limit 1000 -r $argv[1] \ - -T 'separate("\t", change_id.shortest(), if(description, description.first_line(), "(no description set)")) ++ "\n"' -end - -function __jj_bookmarks - set -f filter $argv[1] - if string length --quiet -- $argv[2] - __jj bookmark list --all-remotes -r "$argv[2]" \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" - else - __jj bookmark list --all-remotes \ - -T "if($filter, name ++ if(remote, \"@\" ++ remote) ++ \"\t\" ++ if(normal_target, normal_target.change_id().shortest() ++ \": \" ++ if(normal_target.description(), normal_target.description().first_line(), \"(no description set)\"), \"(conflicted bookmark)\") ++ \"\n\")" - end -end - -function __jj_all_bookmarks - __jj_bookmarks '!remote || !remote.starts_with("git")' $argv[1] -end - -function __jj_local_bookmarks - __jj_bookmarks '!remote' '' -end - -function __jj_remote_bookmarks - __jj_bookmarks 'remote && !remote.starts_with("git")' '' -end - -function __jj_all_changes - if string length --quiet -- $argv[1] - set -f REV $argv[1] - else - set -f REV "all()" - end - __jj_changes $REV - __jj_all_bookmarks $REV -end - -function __jj_mutable_changes - set -f REV "mutable()" - __jj_changes $REV - __jj_all_bookmarks $REV -end - -function __jj_revision_modified_files - if test $argv[1] = "@" - set -f suffix "" - else - set -l change_id (__jj log --no-graph --limit 1 -T 'change_id.shortest()') - set -f suffix " in $change_id" - end - - __jj diff -r $argv[1] --summary | while read -l line - set -l file (string split " " -m 1 -- $line) - switch $file[1] - case M - set -f change Modified - case D - set -f change Deleted - case A - set -f change Added - end - printf "%s\t%s%s\n" $file[2] $change $suffix - end -end - -function __jj_remotes - __jj git remote list | while read -l remote - printf "%s\t%s\n" (string split " " -m 1 -- $remote) - end -end - -function __jj_operations - __jj operation log --no-graph --limit 1000 -T 'separate("\t", id.short(), description) ++ "\n"' -end - -function __jj_parse_revision - set -l cmd (commandline -opc) - set -e cmd[1] - set -l return_next false - set -l return_value 1 - - # Check aliases. - set -l alias $cmd[1] - set -l alias_escaped (string escape --style=var -- $alias) - set -l varname __jj_alias_$alias_escaped - - if set -q $varname - set cmd $$varname[1][2..-1] $cmd[2..-1] - end - - # Check command line arguments first. - for i in $cmd - if $return_next - echo $i - set return_value 0 - else if contains -- $i -r --revision --from - set return_next true - else - set -l match (string match --regex '^(?:-r=?|--revision=|--from=)(.+)\s*$' --groups-only -- $i) - if set -q match[1] - echo $match[1] - set return_value 0 - end - end - end - - return $return_value -end - -function __jj_revision_files - set -l description (__jj log --no-graph --limit 1 -r $argv[1] -T 'change_id.shortest() ++ ": " ++ coalesce(description.first_line().substr(0, 30), "(no description set)")') - __jj file list -r $argv[1] | while read -l file - printf "%s\t%s\n" $file $description - end -end - -function __jj_revision_conflicted_files - __jj resolve --list -r $argv[1] | while read -l line - set -l file (string split " " -m 1 -- $line) - printf "%s\t%s\n" $file[1] $file[2] - end -end - -function __jj_parse_revision_files - set -l rev (__jj_parse_revision) - if test $status -eq 1 - set rev "@" - end - __jj_revision_files $rev -end - -function __jj_parse_revision_conflicted_files - set -l rev (__jj_parse_revision) - if test $status -eq 1 - set rev "@" - end - __jj_revision_conflicted_files $rev -end - -function __jj_parse_revision_files_or_wc_modified_files - set -l revs (__jj_parse_revision) - if test $status -eq 1 - __jj_revision_modified_files "@" - else - for rev in $revs - __jj_revision_files $rev - end - end -end - -function __jj_parse_revision_modified_files_or_wc_modified_files - set -l revs (__jj_parse_revision) - if test $status -eq 1 - __jj_revision_modified_files "@" - else - for rev in $revs - __jj_revision_modified_files $rev - end - end -end - -# Aliases. -complete -f -c jj -n __fish_use_subcommand -a '(__jj_aliases_with_descriptions)' - -# Files. -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from chmod' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from commit' -ka '(__jj_revision_modified_files "@")' -complete -c jj -n '__jj_seen_subcommand_from diff' -ka '(__jj_parse_revision_files_or_wc_modified_files)' -complete -c jj -n '__jj_seen_subcommand_from interdiff' -ka '(__jj_parse_revision_files)' -complete -f -c jj -n '__jj_seen_subcommand_from resolve' -ka '(__jj_parse_revision_conflicted_files)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -ka '(__jj_parse_revision_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from split' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -ka '(__jj_parse_revision_modified_files_or_wc_modified_files)' -complete -f -c jj -n '__jj_seen_subcommand_from untrack' -ka '(__jj_parse_revision_files_or_wc_modified_files)' - -# Revisions. -complete -f -c jj -n '__jj_seen_subcommand_from abandon' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from backout' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from backout' -s d -l destination -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from show' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from chmod' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from describe' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diff' -l to -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from diffedit' -l to -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from duplicate' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from edit' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from file; and __jj_seen_subcommand_from list' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from interdiff' -l to -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from log' -s r -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -s A -l after -l insert-after -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from new' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from obslog' -s r -l revision -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from parallelize' -ka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s r -l revisions -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s s -l source -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s b -l bookmark -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s d -l destination -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s A -l after -l insert-after -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from rebase' -s B -l before -l insert-before -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from resolve' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -l from -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -l to -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from restore' -s c -l changes-in -rka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from show' -ka '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from split' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -s r -l revision -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -l from -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from squash' -l to -l into -rka '(__jj_mutable_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from unsquash' -s r -l revision -rka '(__jj_mutable_changes)' - -# Bookmarks -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from delete forget rename set d f r s' -ka '(__jj_local_bookmarks)' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from track t' -ka '(__jj_bookmarks "remote && !tracked" "")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from untrack' -ka '(__jj_bookmarks "remote && tracked && !remote.starts_with(\"git\")" "")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from create move set c m s' -s r -l revision -kra '(__jj_all_changes)' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l from -rka '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from bookmark; and __jj_seen_subcommand_from move' -l to -rka '(__jj_changes "all()")' - -# Git. -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s c -l change -kra '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from push' -s r -l revisions -kra '(__jj_changes "all()")' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -s b -l bookmark -rka '(__jj_local_bookmarks)' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from fetch push' -l remote -rka '(__jj_remotes)' -complete -f -c jj -n '__jj_seen_subcommand_from git; and __jj_seen_subcommand_from remote; and __jj_seen_subcommand_from remove rename set-url' -ka '(__jj_remotes)' - -# Operations. -complete -f -c jj -l at-op -l at-operation -rka '(__jj_operations)' -complete -f -c jj -n '__jj_seen_subcommand_from undo' -ka '(__jj_operations)' -complete -f -c jj -n '__jj_seen_subcommand_from operation; and __jj_seen_subcommand_from abandon undo restore' -ka '(__jj_operations)' diff --git a/home/common/fish.nix b/home/common/fish.nix index 03cf86f..e5d1c45 100644 --- a/home/common/fish.nix +++ b/home/common/fish.nix @@ -3,7 +3,6 @@ programs.fish = { enable = true; - plugins = [ { name = "transient"; @@ -57,42 +56,42 @@ ''; fish_jj_prompt.body = '' - if not command -sq jj || not jj root --quiet &>/dev/null - return 1 - end + if not command -sq jj || not jj root --quiet &>/dev/null + return 1 + end - jj log --ignore-working-copy --no-graph --color never -r @ -T ' - surround( - " \e[2;3m", - "\e[0m", - separate( - " ", - surround( - "\e[0;2;3m", - "\e[0m", - coalesce( - surround( - "\e[1;2;3m❝", - "❞\e[0m", - if( - description.first_line().substr(0, 80).starts_with(description.first_line()), - description.first_line().substr(0, 80), - description.first_line().substr(0, 79) ++ "…" - ) + jj log --ignore-working-copy --no-graph --color never -r @ -T ' + surround( + " \e[2;3m", + "\e[0m", + separate( + " ", + surround( + "\e[0;2;3m", + "\e[0m", + coalesce( + surround( + "\e[1;2;3m❝", + "❞\e[0m", + if( + description.first_line().substr(0, 80).starts_with(description.first_line()), + description.first_line().substr(0, 80), + description.first_line().substr(0, 79) ++ "…" + ) + ), + "…" ), - "…" ), - ), - surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), - surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), - surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), - if(conflict, ""), - if(empty, ""), - if(divergent, ""), - if(hidden, ""), + surround("\e[0;1;95m ", "\e[0;2;3m", change_id.shortest()), + surround("\e[0;35m ", "\e[0m", bookmarks.join("╱")), + surround("\e[0;34m ", "\e[0;2;3m", commit_id.shortest()), + if(conflict, ""), + if(empty, ""), + if(divergent, ""), + if(hidden, ""), + ) ) - ) - ' + ' ''; fish_prompt.body = '' @@ -117,8 +116,6 @@ interactiveShellInit = lib.concatStringsSep "\n" [ (builtins.readFile ../../files/config/fish/config.fish) (builtins.readFile ../../files/config/fish/semantic-prompt.fish) - (builtins.readFile ../../files/config/fish/go-task.fish) - (builtins.readFile ../../files/config/fish/jj.fish) (builtins.readFile ../../files/config/fish/vcs.fish) ]; From fac0a155e23b7e92c99b4678976d71a837aad4e9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 584/656] fish: jj dynamic completion --- files/config/fish/vcs.fish | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/files/config/fish/vcs.fish b/files/config/fish/vcs.fish index f3c179e..0fa3e43 100644 --- a/files/config/fish/vcs.fish +++ b/files/config/fish/vcs.fish @@ -64,3 +64,7 @@ bind \ea vcs_log bind \ee vcs_broot bind \eS vcs_diff bind \es vcs_status + +# jj completions + +COMPLETE=fish jj | source From eb06ace77da001eb7b5e102e0ebdfedf1a7cc29c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 585/656] nix: update --- flake.lock | 54 +++++++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/flake.lock b/flake.lock index b4a05c0..b723216 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736566108, - "narHash": "sha256-r+FXWU/hfgO3lAHYs9Q03iCShnC42mZd1pnmIIp8Z9k=", + "lastModified": 1736911212, + "narHash": "sha256-OLly4X2kN1tDb2gMYcWeim6uJECPoc52ltJsz1iD5Ug=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "918ccdba5cc65ccd1fb48a54c71306d869299441", + "rev": "ff9414d9ea7b16a375d41cde8f6f193de7e5db72", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736508663, - "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", "owner": "nix-community", "repo": "home-manager", - "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736553940, - "narHash": "sha256-xicqHwvq2S/Y36DwcY+xGy6+4jdFT78bclBhwjs4KJY=", + "lastModified": 1736924666, + "narHash": "sha256-1Mnw9hNMmsnfZuNbeTgmRev99vLZ9FsgrfCChjwnzSk=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "b2237869f288c278b6fd429445d460cb44a0e788", + "rev": "7e61ee6d94536d30888c2fbeb1e9d53f4aa3f8b8", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736553525, - "narHash": "sha256-Kfx1r0yVTTa83EdP7Ta5ValnXy4ak3F10hHCymDAU7o=", + "lastModified": 1736864394, + "narHash": "sha256-QEbgudJG4M9kVmuhGDEG2EP397zAbPmnZ5DX2GFwZCI=", "owner": "neovim", "repo": "neovim", - "rev": "fbe546e25d21f3184814d696c329d23d146bd615", + "rev": "e8a6c1b02122852da83dc52184e78369598d8240", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736440205, - "narHash": "sha256-QJgTI//KEGuEJC6FDxuI9Dq8PewIpnxD2NVx2/OHbfc=", + "lastModified": 1736652904, + "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a2200b499efa01ca8646173e94cdfcc93188f2b8", + "rev": "271e5bd7c57e1f001693799518b10a02d1123b12", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736200483, - "narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=", + "lastModified": 1736867362, + "narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751", + "rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736420959, - "narHash": "sha256-dMGNa5UwdtowEqQac+Dr0d2tFO/60ckVgdhZU9q2E2o=", + "lastModified": 1736848588, + "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "32af3611f6f05655ca166a0b1f47b57c762b5192", + "rev": "357cd3dfdb8993af11268d755d53357720675e66", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736320768, - "narHash": "sha256-nIYdTAiKIGnFNugbomgBJR+Xv5F1ZQU+HfaBqJKroC0=", + "lastModified": 1736848588, + "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4bc9c909d9ac828a039f288cf872d16d38185db8", + "rev": "357cd3dfdb8993af11268d755d53357720675e66", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736344531, - "narHash": "sha256-8YVQ9ZbSfuUk2bUf2KRj60NRraLPKPS0Q4QFTbc+c2c=", + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bffc22eb12172e6db3c5dde9e3e5628f8e3e7912", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", "type": "github" }, "original": { From 62246715bbfd985c3541b27657475aa5b74c27a0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 13 Jan 2025 18:40:36 +0100 Subject: [PATCH 586/656] jj: fancy 's' command as default MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit new `util exec` is very nice 😀 --- home/dln/home.nix | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index 0770df0..7c306b7 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -65,12 +65,7 @@ in }; ui = { - "default-command" = [ - "log" - "--limit=10" - "-T" - "builtin_log_comfortable" - ]; + "default-command" = [ "s" ]; pager = "delta"; }; @@ -112,23 +107,28 @@ in ]; d = [ "diff" - "--tool=difftu" + "--tool=difft" ]; dd = [ "diff" "--git" ]; - ds = [ + du = [ "diff" - "--tool=difft" - ]; - s = [ - "show" "--tool=difftu" ]; - ss = [ - "show" - "--tool=difft" + s = [ + "util" + "exec" + "--" + "bash" + "-c" + '' + printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' + jj show --stat + printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' + jj log --limit=15 -T builtin_log_comfortable + '' ]; }; From 6b1a4b5d043a126996001f1a4b41cefded4b184e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:40:47 +0100 Subject: [PATCH 587/656] jj: pass args to 's' alias --- home/dln/home.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/home/dln/home.nix b/home/dln/home.nix index 7c306b7..f64681d 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -124,11 +124,17 @@ in "bash" "-c" '' + #!/usr/bin/env bash + set -eo pipefail + if [ -n "$1" ]; then + exec jj show --stat --tool=difft "$@" + fi printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj show --stat printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj log --limit=15 -T builtin_log_comfortable '' + "" ]; }; From dcc102f9bf7a04b5cabc039c6629265888faad37 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 588/656] ghostty: keymap c-m + friends --- home/common/ghostty.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 99b7338..971ade9 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -44,7 +44,10 @@ keybind = [ "alt+shift+c=copy_to_clipboard" "alt+shift+v=paste_from_clipboard" + "ctrl+i=text:\\x09" + "ctrl+m=text:\\x0D" "ctrl+tab=goto_split:previous" + "ctrl+[=text:\\x1B" "super+enter=toggle_fullscreen" ]; }; From cc9fc76545fb8f00a9e824634693fc6bc98fe2cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 589/656] jj: fancier status --- home/common/ghostty.nix | 44 ++++++++++++++++++++--------------------- home/dln/home.nix | 9 +++++---- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 971ade9..6f9b5ea 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -58,28 +58,28 @@ background = if config.patagia.oled.enable then "#000000" else "#14151a"; in '' - background = "${background}" - foreground = #b7bec7 - cursor-color = #e7e7b7 - selection-background = #84979f - selection-foreground = #000000 - palette = 0=#000000 - palette = 1=#ff0035 - palette = 2=#85ff00 - palette = 3=#ffc900 - palette = 4=#00a7ff - palette = 5=#cb01ff - palette = 6=#00e0ff - palette = 7=#b7bec7 - palette = 8=#444444 - palette = 9=#ff8c88 - palette = 10=#baff94 - palette = 11=#ffe090 - palette = 12=#88ccff - palette = 13=#e38dff - palette = 14=#97eeff - palette = 15=#ffffff - ''; + background = "${background}" + foreground = #b7bec7 + cursor-color = #e7e7b7 + selection-background = #84979f + selection-foreground = #000000 + palette = 0=#000000 + palette = 1=#ff0035 + palette = 2=#85ff00 + palette = 3=#ffc900 + palette = 4=#00a7ff + palette = 5=#cb01ff + palette = 6=#00e0ff + palette = 7=#b7bec7 + palette = 8=#444444 + palette = 9=#ff8c88 + palette = 10=#baff94 + palette = 11=#ffe090 + palette = 12=#88ccff + palette = 13=#e38dff + palette = 14=#97eeff + palette = 15=#ffffff + ''; xdg.configFile."ghostty/themes/PatagiaLight".text = '' background = #fefeff diff --git a/home/dln/home.nix b/home/dln/home.nix index f64681d..8288f2c 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -126,13 +126,14 @@ in '' #!/usr/bin/env bash set -eo pipefail - if [ -n "$1" ]; then - exec jj show --stat --tool=difft "$@" - fi printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' jj show --stat printf '\e[38;5;240m\u2504%.0s\e[0m' $(seq 1 $(tput cols)) '\n' - jj log --limit=15 -T builtin_log_comfortable + if [ -n "$1" ]; then + jj diff --tool=difft -r "$@" + else + jj log --limit=15 -T builtin_log_comfortable + fi '' "" ]; From 1b367e232261a0b5c2fcc952992a4923583c3133 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 590/656] nemo: add tpm2 tooling + perms --- hosts/nemo/default.nix | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index cc1db74..3f0fa01 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -170,6 +170,7 @@ lm_sensors pam_rssh openconnect + tpm2-tools v4l-utils ]; @@ -177,10 +178,19 @@ OTEL_EXPORTER_OTLP_ENDPOINT = "https://otel.aarn.patagia.net"; }; + security.tpm2 = { + enable = true; + pkcs11.enable = true; + tctiEnvironment.enable = true; + }; + users.users.dln = { isNormalUser = true; description = "Daniel Lundin"; - extraGroups = [ "wheel" ]; + extraGroups = [ + "tss" + "wheel" + ]; openssh.authorizedKeys.keys = [ "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIHMAEZx02kbHrEygyPQYStiXlrIe6EIqBCv7anIkL0pAAAABHNzaDo= dln@dinky" "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIJNOBFoU7Cdsgi4KpYRcv7EhR/8kD4DYjEZnwk6urRx7AAAABHNzaDo= dln@nemo" @@ -190,7 +200,10 @@ users.users.lsjostro = { isNormalUser = true; description = "Lars Sjöström"; - extraGroups = [ "wheel" ]; + extraGroups = [ + "tss" + "wheel" + ]; openssh.authorizedKeys.keys = [ "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBJ10mLOpInoqDaySyrxbzvcOrJfLw48Y6eWHa9501lw+hEEBXya3ib7nlvpCqEQJ8aPU5fVRqpkOW5zSimCiRbwAAAAEc3NoOg==" "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBLpoKvsZDIQQLfgzJhe1jAQubBNxjydkj8UfdUPaSXqgfB02OypMOC1m5ZuJYcQIxox0I+4Z8xstFhYP6s8zKZwAAAAEc3NoOg==" From 48af3d54499494be6c3f2024b94e261abc4d547b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 591/656] ghostty: use window decorations --- home/common/ghostty.nix | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6f9b5ea..a25f6e8 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -25,17 +25,13 @@ adjust-underline-thickness = -2; mouse-hide-while-typing = true; - cursor-style = "block"; unfocused-split-opacity = 1.0; shell-integration = "fish"; - window-decoration = true; - gtk-single-instance = true; gtk-tabs-location = "hidden"; - gtk-titlebar = false; - window-padding-x = 0; - window-padding-y = 0; + gtk-titlebar = true; + gtk-titlebar-hide-when-maximized = true; window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; From a07cdcc95974006b32078ee86f77f99ab4d13d70 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 15 Jan 2025 14:54:28 +0100 Subject: [PATCH 592/656] desktop: add supersonic music player --- flake.lock | 78 ++++++++++++++++++++++---------------------- home/dln/desktop.nix | 1 + 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/flake.lock b/flake.lock index b723216..a6a4aa0 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1733312601, - "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", + "lastModified": 1736143030, + "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", + "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", "type": "github" }, "original": { @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1736911212, - "narHash": "sha256-OLly4X2kN1tDb2gMYcWeim6uJECPoc52ltJsz1iD5Ug=", + "lastModified": 1737085478, + "narHash": "sha256-EzdUQf1ljtGIWMmscVzoW3rUxxN3UKyNXOXbzUvz3BQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "ff9414d9ea7b16a375d41cde8f6f193de7e5db72", + "rev": "72d085525b22d66468c5969a4d507a0fa68d4a04", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1735882644, - "narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=", + "lastModified": 1737301351, + "narHash": "sha256-2UNmLCKORvdBRhPGI8Vx0b6l7M8/QBey/nHLIxOl4jE=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "a5a961387e75ae44cc20f0a57ae463da5e959656", + "rev": "15a87cedeb67e3dbc8d2f7b9831990dffcf4e69f", "type": "github" }, "original": { @@ -201,11 +201,11 @@ ] }, "locked": { - "lastModified": 1735695978, - "narHash": "sha256-cwk53OX1S1bCFY09zydubZNmmwcx9l5XEba8mVYuNE4=", + "lastModified": 1736917206, + "narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "f6233b5cfbada692d93a73d6ed35bdbfd0fdb9c4", + "rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1736785676, - "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", + "lastModified": 1737394973, + "narHash": "sha256-EW4oXMfnfA5sNM9Jqm+y98horWVvN66Gu7YIcEpFYZc=", "owner": "nix-community", "repo": "home-manager", - "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", + "rev": "9786661d57c476021c8a0c3e53bf9fa2b4f3328b", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736924666, - "narHash": "sha256-1Mnw9hNMmsnfZuNbeTgmRev99vLZ9FsgrfCChjwnzSk=", + "lastModified": 1737357364, + "narHash": "sha256-JhW46GBB1Nz2Dm1dn6ZX/fKYy8JDQUOUDLqabbQB06M=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7e61ee6d94536d30888c2fbeb1e9d53f4aa3f8b8", + "rev": "010ed547044c6926f746898d8876137515dd934e", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1736864394, - "narHash": "sha256-QEbgudJG4M9kVmuhGDEG2EP397zAbPmnZ5DX2GFwZCI=", + "lastModified": 1737321080, + "narHash": "sha256-0L6YAx41Yn0dzEJ/rWk1Th1EF8MSLEdNDMyEi0SMVCg=", "owner": "neovim", "repo": "neovim", - "rev": "e8a6c1b02122852da83dc52184e78369598d8240", + "rev": "5f527f24f0ea89e9071e065530cbed449507df5c", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1736652904, - "narHash": "sha256-8uolHABgroXqzs03QdulHp8H9e5kWQZnnhcda1MKbBM=", + "lastModified": 1737257306, + "narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "271e5bd7c57e1f001693799518b10a02d1123b12", + "rev": "744d330659e207a1883d2da0141d35e520eb87bd", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1736867362, - "narHash": "sha256-i/UJ5I7HoqmFMwZEH6vAvBxOrjjOJNU739lnZnhUln8=", + "lastModified": 1737299813, + "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9c6b49aeac36e2ed73a8c472f1546f6d9cf1addc", + "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1736848588, - "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", + "lastModified": 1737264083, + "narHash": "sha256-6QqSrHPN+ZD+7HuadVLuFNUaM8XnmZF3EO7QViM1b80=", "owner": "nixos", "repo": "nixpkgs", - "rev": "357cd3dfdb8993af11268d755d53357720675e66", + "rev": "aa6ae0afa6adeb5c202a168e51eda1d3da571117", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736848588, - "narHash": "sha256-9B6fQqphF3j9lpcxQnKyIUgp3NyGi7ikb9CjCYqixcY=", + "lastModified": 1737110817, + "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "357cd3dfdb8993af11268d755d53357720675e66", + "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1736798957, - "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", + "lastModified": 1737062831, + "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", + "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1736154270, - "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", + "lastModified": 1737103437, + "narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", + "rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899", "type": "github" }, "original": { diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 783f875..bb23ece 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -14,6 +14,7 @@ pavucontrol plexamp signal-desktop + supersonic-wayland ]; xdg.desktopEntries = { From 04fea5639d917b8c788c657012f07e2710d4b15a Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 10:29:47 +0100 Subject: [PATCH 593/656] ghostty: themes are supported in home-manager now --- home/common/ghostty.nix | 104 ++++++++++++++++++++-------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a25f6e8..ba36fa3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -47,60 +47,60 @@ "super+enter=toggle_fullscreen" ]; }; + themes = { + PatagiaDark = { + background = if config.patagia.oled.enable then "#000000" else "#14151a"; + foreground = "#b7bec7"; + cursor-color = "#e7e7b7"; + selection-background = "#84979f"; + selection-foreground = "#000000"; + palette = [ + "#000000" + "#ff0035" + "#85ff00" + "#ffc900" + "#00a7ff" + "#cb01ff" + "#00e0ff" + "#b7bec7" + "#444444" + "#ff8c88" + "#baff94" + "#ffe090" + "#88ccff" + "#e38dff" + "#97eeff" + "#ffffff" + ]; + }; + PatagiaLight = { + background = "#fefeff"; + foreground = "#222222"; + cursor-color = "#aa0000"; + selection-background = "#ffe6a4"; + selection-foreground = "#483600"; + palette = [ + "#000000" + "#9e001d" + "#306300" + "#deae00" + "#00669e" + "#7d009e" + "#008a9e" + "#f7f7f7" + "#b0b0b0" + "#ff0035" + "#509e00" + "#ffc900" + "#00a7ff" + "#cb01ff" + "#00e0ff" + "#ffffff" + ]; + }; + }; }; - xdg.configFile."ghostty/themes/PatagiaDark".text = - let - background = if config.patagia.oled.enable then "#000000" else "#14151a"; - in - '' - background = "${background}" - foreground = #b7bec7 - cursor-color = #e7e7b7 - selection-background = #84979f - selection-foreground = #000000 - palette = 0=#000000 - palette = 1=#ff0035 - palette = 2=#85ff00 - palette = 3=#ffc900 - palette = 4=#00a7ff - palette = 5=#cb01ff - palette = 6=#00e0ff - palette = 7=#b7bec7 - palette = 8=#444444 - palette = 9=#ff8c88 - palette = 10=#baff94 - palette = 11=#ffe090 - palette = 12=#88ccff - palette = 13=#e38dff - palette = 14=#97eeff - palette = 15=#ffffff - ''; - - xdg.configFile."ghostty/themes/PatagiaLight".text = '' - background = #fefeff - foreground = #222222 - cursor-color = #aa0000 - selection-background = #ffe6a4 - selection-foreground = #483600 - palette = 0=#000000 - palette = 1=#9e001d - palette = 2=#306300 - palette = 3=#deae00 - palette = 4=#00669e - palette = 5=#7d009e - palette = 6=#008a9e - palette = 7=#f7f7f7 - palette = 8=#b0b0b0 - palette = 9=#ff0035 - palette = 10=#509e00 - palette = 11=#ffc900 - palette = 12=#00a7ff - palette = 13=#cb01ff - palette = 14=#00e0ff - palette = 15=#ffffff - ''; - xdg.desktopEntries = { ghostty-secondary = { categories = [ From c56bb1882742dcd47f4544927c2d1e1006d71393 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 10:29:47 +0100 Subject: [PATCH 594/656] nix update --- flake.lock | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/flake.lock b/flake.lock index a6a4aa0..f1d99dd 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737085478, - "narHash": "sha256-EzdUQf1ljtGIWMmscVzoW3rUxxN3UKyNXOXbzUvz3BQ=", + "lastModified": 1737430029, + "narHash": "sha256-z55IQogW9z4HhVeT55LlCUFKbYD5O5aLMnU5cX1WTto=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "72d085525b22d66468c5969a4d507a0fa68d4a04", + "rev": "5cb2fa6f7594202b12a2603bf32094aa75b1bf0e", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737357364, - "narHash": "sha256-JhW46GBB1Nz2Dm1dn6ZX/fKYy8JDQUOUDLqabbQB06M=", + "lastModified": 1737444129, + "narHash": "sha256-RDwsCYHgjFf6iTi5JSfpOAnuQenDh8VFKU01XluVWM8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "010ed547044c6926f746898d8876137515dd934e", + "rev": "ac8238031094d5242da26947bfc7174369c12e33", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737321080, - "narHash": "sha256-0L6YAx41Yn0dzEJ/rWk1Th1EF8MSLEdNDMyEi0SMVCg=", + "lastModified": 1737414984, + "narHash": "sha256-A1ITJgtOOwhSC5wB/jfBV9ZuAftroeYRYFqA+aFKgac=", "owner": "neovim", "repo": "neovim", - "rev": "5f527f24f0ea89e9071e065530cbed449507df5c", + "rev": "855a2a75e6f7d08376c221a46e0179e5c76176ec", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1737264083, - "narHash": "sha256-6QqSrHPN+ZD+7HuadVLuFNUaM8XnmZF3EO7QViM1b80=", + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "aa6ae0afa6adeb5c202a168e51eda1d3da571117", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737110817, - "narHash": "sha256-DSenga8XjPaUV5KUFW/i3rNkN7jm9XmguW+qQ1ZJTR4=", + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "041c867bad68dfe34b78b2813028a2e2ea70a23c", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", "type": "github" }, "original": { From d8f97650e5c9af4607ed9ed72a7489b0220998c3 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 595/656] ghostty: use ultracondensed berkeley mono for secondary term --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index ba36fa3..9d44a86 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -108,7 +108,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Ghostty Secondary"; icon = "com.mitchellh.ghostty"; From d58bac33430c982d46f750edd7fd2952f1f066fd Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 596/656] nix: cleanup --- flake.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/flake.nix b/flake.nix index 35ccf56..6388658 100644 --- a/flake.nix +++ b/flake.nix @@ -17,33 +17,32 @@ ghostty.url = "github:ghostty-org/ghostty"; jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs-unstable"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs"; + home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; }; outputs = inputs@{ self, nix-index-database, - nixpkgs, + nixpkgs-unstable, home-manager, ... }: let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; + pkgs = nixpkgs-unstable.legacyPackages.${system}; mkHost = modules: - nixpkgs.lib.nixosSystem { + nixpkgs-unstable.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; From 8d7b072aaf4f777ebea3718565f9d3b14ffb2908 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 6 Jan 2025 19:03:55 +0100 Subject: [PATCH 597/656] nix: update --- flake.lock | 27 +++++---------------------- 1 file changed, 5 insertions(+), 22 deletions(-) diff --git a/flake.lock b/flake.lock index f1d99dd..d7a70d0 100644 --- a/flake.lock +++ b/flake.lock @@ -217,15 +217,15 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { - "lastModified": 1737394973, - "narHash": "sha256-EW4oXMfnfA5sNM9Jqm+y98horWVvN66Gu7YIcEpFYZc=", + "lastModified": 1737478403, + "narHash": "sha256-e6PJI4Bd+QdpukHyd5F/fQY8fRUiNfCwvCRU8WXMSk8=", "owner": "nix-community", "repo": "home-manager", - "rev": "9786661d57c476021c8a0c3e53bf9fa2b4f3328b", + "rev": "96dee79b178d295b716052feca3ee46abc085abe", "type": "github" }, "original": { @@ -298,7 +298,7 @@ "nix-index-database": { "inputs": { "nixpkgs": [ - "nixpkgs" + "nixpkgs-unstable" ] }, "locked": { @@ -411,22 +411,6 @@ "type": "github" } }, - "nixpkgs_3": { - "locked": { - "lastModified": 1737062831, - "narHash": "sha256-Tbk1MZbtV2s5aG+iM99U8FqwxU/YNArMcWAv6clcsBc=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "5df43628fdf08d642be8ba5b3625a6c70731c19c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "root": { "inputs": { "ghostty": "ghostty", @@ -434,7 +418,6 @@ "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } From c747fa6757a04e64804a3d971cbe47ebff01e35d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 20:08:31 +0100 Subject: [PATCH 598/656] ghostty: fix palette --- home/common/ghostty.nix | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 9d44a86..1be3b9c 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -54,24 +54,6 @@ cursor-color = "#e7e7b7"; selection-background = "#84979f"; selection-foreground = "#000000"; - palette = [ - "#000000" - "#ff0035" - "#85ff00" - "#ffc900" - "#00a7ff" - "#cb01ff" - "#00e0ff" - "#b7bec7" - "#444444" - "#ff8c88" - "#baff94" - "#ffe090" - "#88ccff" - "#e38dff" - "#97eeff" - "#ffffff" - ]; }; PatagiaLight = { background = "#fefeff"; @@ -79,24 +61,6 @@ cursor-color = "#aa0000"; selection-background = "#ffe6a4"; selection-foreground = "#483600"; - palette = [ - "#000000" - "#9e001d" - "#306300" - "#deae00" - "#00669e" - "#7d009e" - "#008a9e" - "#f7f7f7" - "#b0b0b0" - "#ff0035" - "#509e00" - "#ffc900" - "#00a7ff" - "#cb01ff" - "#00e0ff" - "#ffffff" - ]; }; }; }; From 8ccaf3b9d71ce70066e3d1ee25b0db89f6c11784 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 20:51:57 +0100 Subject: [PATCH 599/656] nix: nixpkgs-unstable -> nixpkgs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit that was a bad idea 😆 --- flake.lock | 40 ++++++++++++++++++++-------------------- flake.nix | 12 ++++++------ 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index d7a70d0..04ea1e1 100644 --- a/flake.lock +++ b/flake.lock @@ -217,7 +217,7 @@ "home-manager": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { @@ -298,7 +298,7 @@ "nix-index-database": { "inputs": { "nixpkgs": [ - "nixpkgs-unstable" + "nixpkgs" ] }, "locked": { @@ -379,22 +379,6 @@ "type": "github" } }, - "nixpkgs-unstable_2": { - "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "nixpkgs_2": { "locked": { "lastModified": 1737370608, @@ -411,6 +395,22 @@ "type": "github" } }, + "nixpkgs_3": { + "locked": { + "lastModified": 1737370608, + "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "ghostty": "ghostty", @@ -418,8 +418,8 @@ "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable_2" + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable_2" } }, "rust-overlay": { diff --git a/flake.nix b/flake.nix index 6388658..99e7a36 100644 --- a/flake.nix +++ b/flake.nix @@ -18,31 +18,31 @@ jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; - nix-index-database.inputs.nixpkgs.follows = "nixpkgs-unstable"; + nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; home-manager.url = "github:nix-community/home-manager"; - home-manager.inputs.nixpkgs.follows = "nixpkgs-unstable"; + home-manager.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nix-index-database, - nixpkgs-unstable, + nixpkgs, home-manager, ... }: let inherit (self) outputs; system = "x86_64-linux"; - pkgs = nixpkgs-unstable.legacyPackages.${system}; + pkgs = nixpkgs.legacyPackages.${system}; mkHost = modules: - nixpkgs-unstable.lib.nixosSystem { + nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs outputs; }; From dfde600c7a7f875a4e470aa8ea3fa72c972869d0 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 600/656] nvim: blink-compat is now in nixpkgs --- home/common/nvim/default.nix | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 57e68e6..b681cdc 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -46,6 +46,7 @@ in ]; plugins = with pkgs.vimPlugins; [ + blink-compat friendly-snippets go-nvim targets-vim @@ -80,22 +81,6 @@ in config = lib.fileContents ./blink-cmp.lua; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "blink.compat"; - src = pkgs.fetchFromGitHub { - owner = "saghen"; - repo = "blink.compat"; - rev = "5ca8848c8cc32abdc980e5db4f0eb7bb8fbf84dc"; # Dec 25, 2024 - hash = "sha256-tFQeKyqdo3mvptYnWxKhTpI4ROFNQ6u3P8cLqtlsozw="; - }; - }; - type = "lua"; - config = '' - require('blink.compat').setup() - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "inlay-hints"; From df7f12c94c1cb08a9507c63876b52dca3d1df4af Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 601/656] nvim: allow blink completion menu to go downward if there is not enough space north --- home/common/nvim/blink-cmp.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 8ae4f6c..a719718 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -29,7 +29,7 @@ require 'blink-cmp'.setup({ menu = { auto_show = true, border = 'rounded', - direction_priority = { 'n' }, + direction_priority = { 'n', 's' }, draw = { components = { kind_icon = { From fdb2fa86e4e004d879535f4eb8fc110760ace9be Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 21 Jan 2025 22:30:38 +0100 Subject: [PATCH 602/656] =?UTF-8?q?nvim:=20add=20blink-emoji=20completion?= =?UTF-8?q?=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- home/common/nvim/blink-cmp.lua | 15 ++++++++++++--- home/common/nvim/default.nix | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index a719718..113fda6 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -61,9 +61,18 @@ require 'blink-cmp'.setup({ }, sources = { - default = { 'lsp' }, + default = { + 'lsp', + 'emoji', + }, cmdline = {}, - providers = {}, + providers = { + emoji = { + module = "blink-emoji", + name = "Emoji", + score_offset = 1, + opts = { insert = true }, + } + }, }, - }) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index b681cdc..e5adcd9 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -47,6 +47,7 @@ in plugins = with pkgs.vimPlugins; [ blink-compat + blink-emoji-nvim friendly-snippets go-nvim targets-vim From 6a8c63cbd163ddfd75545a94608d95fbe99934bb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 603/656] ghostty: ditch the titlebar --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 1be3b9c..8635e63 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -30,7 +30,7 @@ shell-integration = "fish"; gtk-tabs-location = "hidden"; - gtk-titlebar = true; + gtk-titlebar = false; gtk-titlebar-hide-when-maximized = true; window-padding-balance = true; window-padding-color = "extend"; From e453256154599e59e3d04e3f04675c9e47d40489 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 604/656] home-manager: use nixpkgs-unstable channel instead of nixos-unstable We probably don't need to wait on nixos integration tests for user packages. --- flake.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 99e7a36..f72d553 100644 --- a/flake.nix +++ b/flake.nix @@ -18,7 +18,8 @@ jujutsu.url = "github:dln/jj/openssh"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; - nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nix-index-database.url = "github:nix-community/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; @@ -32,6 +33,7 @@ self, nix-index-database, nixpkgs, + nixpkgs-unstable, home-manager, ... }: @@ -52,7 +54,7 @@ mkHome = modules: home-manager.lib.homeManagerConfiguration { - inherit pkgs; + pkgs = nixpkgs-unstable.legacyPackages.${system}; extraSpecialArgs = { inherit inputs outputs; }; From cd59d774c4c7a58704957ac78fb7234ae1b93545 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 605/656] ghostty: retitle desktop entries for easier completion --- home/common/ghostty.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 8635e63..76e4031 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -74,9 +74,9 @@ exec = '' ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; - genericName = "Ghostty Secondary"; + genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; - name = "Ghostty Secondary"; + name = "Secondary Ghostty"; settings = { StartupWMClass = "com.mitchellh.ghostty-secondary"; TryExec = "ghostty"; @@ -112,9 +112,9 @@ exec = '' ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; - genericName = "Ghostty Secondary (devel)"; + genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; - name = "Ghostty Secondary (devel)"; + name = "Secondary Ghostty (devel)"; settings = { StartupWMClass = "com.mitchellh.ghostty-devel-secondary"; TryExec = "ghostty"; From a622850e2d86196e8f19283d5a0add16f45ac715 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 22 Jan 2025 09:43:58 +0100 Subject: [PATCH 606/656] nix: update --- flake.lock | 75 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 46 insertions(+), 29 deletions(-) diff --git a/flake.lock b/flake.lock index 04ea1e1..e181f4c 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737430029, - "narHash": "sha256-z55IQogW9z4HhVeT55LlCUFKbYD5O5aLMnU5cX1WTto=", + "lastModified": 1737699693, + "narHash": "sha256-Rs8KNdInnmqs0YNWvvauYlf2XcnA4EIdmRggvQGjmUQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "5cb2fa6f7594202b12a2603bf32094aa75b1bf0e", + "rev": "fd8cacaa674c93fb86751e8030af2b202133939e", "type": "github" }, "original": { @@ -157,11 +157,11 @@ ] }, "locked": { - "lastModified": 1737301351, - "narHash": "sha256-2UNmLCKORvdBRhPGI8Vx0b6l7M8/QBey/nHLIxOl4jE=", + "lastModified": 1737465171, + "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "15a87cedeb67e3dbc8d2f7b9831990dffcf4e69f", + "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1737478403, - "narHash": "sha256-e6PJI4Bd+QdpukHyd5F/fQY8fRUiNfCwvCRU8WXMSk8=", + "lastModified": 1737704314, + "narHash": "sha256-zta8jvOQ2wRCZmiwFEnS5iCulWAh8e+fLUlQxrgOBjM=", "owner": "nix-community", "repo": "home-manager", - "rev": "96dee79b178d295b716052feca3ee46abc085abe", + "rev": "a0428685572b134f6594e7d7f5db5e1febbab2d7", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737444129, - "narHash": "sha256-RDwsCYHgjFf6iTi5JSfpOAnuQenDh8VFKU01XluVWM8=", + "lastModified": 1737701591, + "narHash": "sha256-S71nENrb8kBrEvihDD+1mzn5sRrRr1sAaNMkjWDx1h0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "ac8238031094d5242da26947bfc7174369c12e33", + "rev": "c9248eec123e70ef1132bbedeae22e2af7011095", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737414984, - "narHash": "sha256-A1ITJgtOOwhSC5wB/jfBV9ZuAftroeYRYFqA+aFKgac=", + "lastModified": 1737675744, + "narHash": "sha256-2Q4SNciK6DHC5WknFSbk3aYjorayf9y4uz3tdtl/T1M=", "owner": "neovim", "repo": "neovim", - "rev": "855a2a75e6f7d08376c221a46e0179e5c76176ec", + "rev": "8bc28978b632362ae658f8d4a6327e07a8b371b2", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1737299813, - "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", "owner": "nixos", "repo": "nixpkgs", - "rev": "107d5ef05c0b1119749e381451389eded30fb0d5", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", "type": "github" }, "original": { @@ -379,13 +379,29 @@ "type": "github" } }, + "nixpkgs-unstable_2": { + "locked": { + "lastModified": 1737622296, + "narHash": "sha256-GWHH9ljsR0LR29IEruJnKVVk6veeQpo7kfolyDyCVGQ=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "055c50feaa548eadca66407630961b77f3ebb750", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_2": { "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "lastModified": 1737557748, + "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", "type": "github" }, "original": { @@ -397,16 +413,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1737370608, - "narHash": "sha256-hFA6SmioeqvGW/XvZa9bxniAeulksCOcj3kokdNT/YE=", + "lastModified": 1737469691, + "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "300081d0cc72df578b02d914df941b8ec62240e6", + "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixpkgs-unstable", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } @@ -419,7 +435,8 @@ "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_3", - "nixpkgs-stable": "nixpkgs-stable_2" + "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-unstable": "nixpkgs-unstable_2" } }, "rust-overlay": { @@ -481,11 +498,11 @@ ] }, "locked": { - "lastModified": 1737103437, - "narHash": "sha256-uPNWcYbhY2fjY3HOfRCR5jsfzdzemhfxLSxwjXYXqNc=", + "lastModified": 1737483750, + "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "d1ed3b385f8130e392870cfb1dbfaff8a63a1899", + "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", "type": "github" }, "original": { From cdbc6d6a9ec26ccf24437009e5f8593d329a6a5b Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 24 Jan 2025 11:37:41 +0100 Subject: [PATCH 607/656] Remove unused package --- home/dln/desktop.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index bb23ece..a168ac2 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -1,4 +1,4 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { patagia = { desktop.enable = true; @@ -14,7 +14,6 @@ pavucontrol plexamp signal-desktop - supersonic-wayland ]; xdg.desktopEntries = { From 444539ac0844d4ba38db2b5ad65685cd918da85f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 24 Jan 2025 11:37:41 +0100 Subject: [PATCH 608/656] gnome: keep background unmanaged --- home/common/gnome.nix | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 75343f5..e534c2a 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -16,23 +16,6 @@ with lib.hm.gvariant; ]; dconf.settings = { - "org/gnome/desktop/background" = { - color-shading-type = "solid"; - picture-options = "zoom"; - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; - primary-color = "#77767B"; - secondary-color = "#000000"; - }; - - "org/gnome/desktop/screensaver" = { - color-shading-type = "solid"; - picture-options = "zoom"; - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - primary-color = "#77767B"; - secondary-color = "#000000"; - }; - "org/gnome/desktop/wm/keybindings" = { close = [ "<Super>q" ]; toggle-on-all-workspaces = [ "<Super>s" ]; From 666736f87f9618e95c0584406f531fa3d5f18557 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 26 Jan 2025 20:34:25 +0100 Subject: [PATCH 609/656] nvim: only list unique entries in mini.projects --- home/common/nvim/mini.lua | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 947528f..339c471 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -58,7 +58,7 @@ end require('mini.pick').setup({ mappings = { move_down = '<tab>', - move_up = '<S-tab>', + move_up = '<S-tab>', toggle_info = '<C-k>', toggle_preview = '<C-p>', }, @@ -84,14 +84,18 @@ MiniPick.registry.projects = function(local_opts) local postprocess = function(paths) local result = {} + local seen = {} for _, path in ipairs(paths) do path = path:gsub("%/.jj/repo/store/type$", "") path = path:gsub("%/.git/HEAD$", "") - local item = { - path = path, - text = path:gsub("%" .. root .. "/", " "), - } - table.insert(result, item) + if not seen[path] then + local item = { + path = path, + text = path:gsub("%" .. root .. "/", " "), + } + table.insert(result, item) + seen[path] = true + end end return result end From 0c6e5eb86c2c017ad98fccbde161892e7c1014b4 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 26 Jan 2025 20:34:25 +0100 Subject: [PATCH 610/656] new glasses who dis --- flake.lock | 66 +++++++++++++++++++++---------------------- home/common/gnome.nix | 2 +- home/dln/nemo.nix | 2 +- 3 files changed, 35 insertions(+), 35 deletions(-) diff --git a/flake.lock b/flake.lock index e181f4c..2e7f2e6 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1737699693, - "narHash": "sha256-Rs8KNdInnmqs0YNWvvauYlf2XcnA4EIdmRggvQGjmUQ=", + "lastModified": 1738275804, + "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "fd8cacaa674c93fb86751e8030af2b202133939e", + "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3", "type": "github" }, "original": { @@ -201,11 +201,11 @@ ] }, "locked": { - "lastModified": 1736917206, - "narHash": "sha256-JTBWmyGf8K1Rwb+gviHIUzRJk/sITtT+72HXFkTZUjo=", + "lastModified": 1738237977, + "narHash": "sha256-oJN/yvRL7G0WlR/hTkQIjFbPkzCV+sFnNB/38Tb9RL4=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "afd0a42e8c61ebb56899315ee4084a8b2e4ff425", + "rev": "6d1b6d5d59758b4f5f05745f774fc13cdc59da43", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1737704314, - "narHash": "sha256-zta8jvOQ2wRCZmiwFEnS5iCulWAh8e+fLUlQxrgOBjM=", + "lastModified": 1738275749, + "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", "owner": "nix-community", "repo": "home-manager", - "rev": "a0428685572b134f6594e7d7f5db5e1febbab2d7", + "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1737701591, - "narHash": "sha256-S71nENrb8kBrEvihDD+1mzn5sRrRr1sAaNMkjWDx1h0=", + "lastModified": 1738310515, + "narHash": "sha256-qQ4/XFreahIZI5wIwlRcqDASP2EMGAUA0+qvufALdhI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c9248eec123e70ef1132bbedeae22e2af7011095", + "rev": "c7b97f4eeda08870059b20ec8d92ee76efda53b4", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1737675744, - "narHash": "sha256-2Q4SNciK6DHC5WknFSbk3aYjorayf9y4uz3tdtl/T1M=", + "lastModified": 1738241166, + "narHash": "sha256-bcVp2t49bUoca5Wro4Q9m+SHpPSLVB/jabUqWiGGz4s=", "owner": "neovim", "repo": "neovim", - "rev": "8bc28978b632362ae658f8d4a6327e07a8b371b2", + "rev": "e71d2c817d1a2475551f58a98e411f6b39a5be3f", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1737257306, - "narHash": "sha256-lEGgpA4kGafc76+Amnz+gh1L/cwUS2pePFlf22WEyh8=", + "lastModified": 1737861961, + "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "744d330659e207a1883d2da0141d35e520eb87bd", + "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1737569578, - "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", + "lastModified": 1738163270, + "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=", "owner": "nixos", "repo": "nixpkgs", - "rev": "47addd76727f42d351590c905d9d1905ca895b82", + "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1737622296, - "narHash": "sha256-GWHH9ljsR0LR29IEruJnKVVk6veeQpo7kfolyDyCVGQ=", + "lastModified": 1738297584, + "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", "owner": "nixos", "repo": "nixpkgs", - "rev": "055c50feaa548eadca66407630961b77f3ebb750", + "rev": "9189ac18287c599860e878e905da550aa6dec1cd", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1737557748, - "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1737469691, - "narHash": "sha256-nmKOgAU48S41dTPIXAq0AHZSehWUn6ZPrUKijHAMmIk=", + "lastModified": 1738142207, + "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9e4d5190a9482a1fb9d18adf0bdb83c6e506eaab", + "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1737483750, - "narHash": "sha256-5An1wq5U8sNycOBBg3nsDDgpwBmR9liOpDGlhliA6Xo=", + "lastModified": 1738070913, + "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "f2cc121df15418d028a59c9737d38e3a90fbaf8f", + "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", "type": "github" }, "original": { diff --git a/home/common/gnome.nix b/home/common/gnome.nix index e534c2a..e651f8a 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -135,7 +135,7 @@ with lib.hm.gvariant; }; "org/gnome/mutter" = { - center-new-windows = true; + center-new-windows = false; edge-tiling = true; }; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 1c38f16..df79854 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -6,7 +6,7 @@ ]; programs.ghostty.settings = { - font-size = lib.mkForce 18; + font-size = lib.mkForce 16; }; programs.obs-studio = { From 41985491ef35853ab3fcc6c0414f6a59b16147ac Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 25 Jan 2025 20:25:00 +0100 Subject: [PATCH 611/656] ghostty: font adjustments --- home/common/ghostty.nix | 17 ++++++++++------- home/common/gnome.nix | 1 + 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 76e4031..6cb81d3 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -12,12 +12,13 @@ enableFishIntegration = true; package = inputs.ghostty.packages.${pkgs.system}.default; settings = { - font-size = 12.5; - font-family = "TX-02"; - font-family-bold-italic = "Monaspace Xenon"; + font-size = 11; + font-family = "Berkeley Mono"; + font-family-bold-italic = "Monaspace Radon Var"; + font-style = "Regular"; font-style-bold = "Bold"; - font-style-italic = "Light Oblique"; - font-style-bold-italic = "ExtraLight Italic"; + font-style-italic = "SemiLight Oblique"; + font-style-bold-italic = "Italic"; font-synthetic-style = false; adjust-cursor-thickness = 4; @@ -25,7 +26,9 @@ adjust-underline-thickness = -2; mouse-hide-while-typing = true; - unfocused-split-opacity = 1.0; + unfocused-split-opacity = 0.85; + unfocused-split-fill = "#14151a"; + shell-integration = "fish"; @@ -49,7 +52,7 @@ }; themes = { PatagiaDark = { - background = if config.patagia.oled.enable then "#000000" else "#14151a"; + background = "#14151a"; foreground = "#b7bec7"; cursor-color = "#e7e7b7"; selection-background = "#84979f"; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index e651f8a..83fe87f 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -8,6 +8,7 @@ with lib.hm.gvariant; { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ + gnome-shell-extensions gnome-tweaks gnome-pomodoro gnomeExtensions.desktop-clock From 814d7e0e4b067cd9a641cbd14d38c81d67fdd5cf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 1 Feb 2025 15:10:32 +0100 Subject: [PATCH 612/656] nvim: red comments and blinky cursor --- home/common/nvim/dieter/lua/dieter/init.lua | 3 +-- home/common/nvim/init.lua | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 08d75af..2aa86d7 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -11,7 +11,7 @@ local colors = { dimmed_subtle = hsl(0, 0, 20), string = hsl(96, 50, 33), - comment = hsl(230, 66, 40), + comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), diagnostic_error = hsl(347, 80, 45), @@ -53,7 +53,6 @@ local colors = { dialog_fg = hsl(191, 15, 75), string = hsl(90, 30, 60), - -- comment = hsl(2, 69, 68), comment = hsl(216, 30, 55), comment_error = hsl(2, 85, 50), func = hsl(40, 57, 87), diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index ed4052d..8beaaaf 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -6,6 +6,7 @@ vim.g.maplocalleader = "," -- UI vim.opt.cursorline = true +vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false From 4df4b83d45b867e92ca313fd58096c53503d062f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 11:23:04 +0100 Subject: [PATCH 613/656] nemo: disabled onboard wifi in bios --- hosts/nemo/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index 3f0fa01..a20e460 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -117,7 +117,7 @@ systemd.network.enable = true; systemd.network.networks."10-wifi" = { - matchConfig.Name = "wlan1"; + matchConfig.Name = "wlan0"; address = [ "10.1.100.20/22" ]; gateway = [ "10.1.100.1" ]; linkConfig.RequiredForOnline = "routable"; From 6e81863ff6928a0b13fc32bd3dc0c82b1d20ff1e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 12:20:40 +0100 Subject: [PATCH 614/656] nvim: cursorline off by default, add ui toggle --- home/common/nvim/dieter/lua/dieter/init.lua | 22 ++++++++++++--------- home/common/nvim/init.lua | 6 ++++-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 2aa86d7..07a47f5 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -14,10 +14,12 @@ local colors = { comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), - diagnostic_error = hsl(347, 80, 45), - diagnostic_warning = hsl(30, 100, 50), - diagnostic_info = hsl(145, 80, 30), - diagnostic_hint = hsl(145, 80, 30), + suggestion = hsl(220, 95, 60), + + -- diagnostic_error = hsl(347, 80, 45), + -- diagnostic_warning = hsl(30, 100, 50), + -- diagnostic_info = hsl(145, 80, 30), + -- diagnostic_hint = hsl(145, 80, 30), popup_error_bg = hsl(0, 90, 99), popup_warning_bg = hsl(27, 90, 99), @@ -59,6 +61,8 @@ local colors = { member = hsl(213, 45, 75), punc = hsl(213, 45, 50), + suggestion = hsl(158, 66, 40), + diagnostic_error = hsl(353, 100, 45), diagnostic_warning = hsl(30, 100, 50), diagnostic_info = hsl(176, 80, 60), @@ -88,8 +92,6 @@ local colors = { doc_bg = hsl(220, 80, 10), doc_fg = hsl(200, 30, 60), - - suggestion = hsl(180, 55, 40), }, } @@ -118,8 +120,8 @@ local setupGroups = function(c) Search = { bg = c.search_bg, fg = c.search_fg }, CurSearch = { link = "Search" }, - Comment = { fg = c.comment, italic = true, bold = true }, - CommentError = { fg = c.comment_error, italic = true, bold = true }, + Comment = { fg = c.comment, italic = true }, + CommentError = { fg = c.comment_error, italic = true }, ["@comment.note"] = { link = "Comment" }, ["@comment.todo"] = { link = "CommentError" }, ["@comment.error"] = { link = "CommentError" }, @@ -207,7 +209,9 @@ local setupGroups = function(c) BlinkCmpSignatureHelp = { link = 'BlinkCmpDoc' }, BlinkCmpSignatureHelpBorder = { link = 'BlinkCmpDocBorder' }, - NeoCodeiumSuggestion = { fg = c.suggestion, bold = true, italic = true }, + BlinkCmpGhostText = { fg = c.suggestion, italic = true, bold = true }, + NeoCodeiumSuggestion = { link = 'BlinkCmpGhostText' }, + LspReferenceText = { fg = c.highlight_intense, undercurl = true }, LspInlayHint = { fg = c.accent1, italic = true, bold = true }, } diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 8beaaaf..67f0c25 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -5,8 +5,9 @@ vim.g.maplocalleader = "," -- UI -vim.opt.cursorline = true -vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" +vim.opt.cursorline = false +vim.opt.guicursor = +"n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false @@ -205,5 +206,6 @@ vim.keymap.set("n", "<Leader>uc", function() end, opts("Toggle Dieter colors")) vim.keymap.set("n", "<Leader>uf", "<cmd>ToggleAutoFormat<cr>", opts("Toggle autoformat on save")) vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inlay hints")) +vim.keymap.set("n", "<Leader>ul", "<cmd>set invcursorline<cr>", opts("Toggle cursor line")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) From 8fb4b727ba97a02c037296a07e509a873a020d04 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 12:20:40 +0100 Subject: [PATCH 615/656] nvim/ghostty: style suggestions and completions --- files/config/fish/config.fish | 2 +- flake.lock | 48 ++++++++++----------- home/common/nvim/dieter/lua/dieter/init.lua | 12 +++--- home/common/nvim/init.lua | 2 +- home/common/nvim/mini.lua | 2 +- 5 files changed, 34 insertions(+), 32 deletions(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index c3d902f..6572a0c 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -12,7 +12,7 @@ set fish_emoji_width 2 # Colors set fish_color_command --bold set fish_color_comment --italics --dim -set fish_color_autosuggestion --italics --bold --dim +set fish_color_autosuggestion 1f67f9 --italics --bold set fish_color_cancel set fish_color_command --bold set fish_color_comment --italics --dim diff --git a/flake.lock b/flake.lock index 2e7f2e6..5b2ffda 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738275749, - "narHash": "sha256-PM+cGduJ05EZ+YXulqAwUFjvfKpPmW080mcuN6R1POw=", + "lastModified": 1738448366, + "narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=", "owner": "nix-community", "repo": "home-manager", - "rev": "a8159195bfaef3c64df75d3b1e6a68d49d392be9", + "rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738310515, - "narHash": "sha256-qQ4/XFreahIZI5wIwlRcqDASP2EMGAUA0+qvufALdhI=", + "lastModified": 1738479528, + "narHash": "sha256-VmO/CQEQjIpfYot//PHDQuUm68r27zNuBiuANi6c5E4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c7b97f4eeda08870059b20ec8d92ee76efda53b4", + "rev": "1b82dbcbbcba812ad19f5c0601d1731731bf4ebe", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738241166, - "narHash": "sha256-bcVp2t49bUoca5Wro4Q9m+SHpPSLVB/jabUqWiGGz4s=", + "lastModified": 1738450845, + "narHash": "sha256-yK2ZOtTTT6BjNi98PZi0NpEbidY12JMjgkqqggjoyD8=", "owner": "neovim", "repo": "neovim", - "rev": "e71d2c817d1a2475551f58a98e411f6b39a5be3f", + "rev": "0985e784d8dce58748343207e176bf61303b7d68", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1737861961, - "narHash": "sha256-LIRtMvAwLGb8pBoamzgEF67oKlNPz4LuXiRPVZf+TpE=", + "lastModified": 1738466368, + "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "79b7b8eae3243fc5aa9aad34ba6b9bbb2266f523", + "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738163270, - "narHash": "sha256-B/7Y1v4y+msFFBW1JAdFjNvVthvNdJKiN6EGRPnqfno=", + "lastModified": 1738277201, + "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "59e618d90c065f55ae48446f307e8c09565d5ab0", + "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738136902, - "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", + "lastModified": 1738297584, + "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", + "rev": "9189ac18287c599860e878e905da550aa6dec1cd", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738142207, - "narHash": "sha256-NGqpVVxNAHwIicXpgaVqJEJWeyqzoQJ9oc8lnK9+WC4=", + "lastModified": 1738410390, + "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9d3ae807ebd2981d593cddd0080856873139aa40", + "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", "type": "github" }, "original": { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 07a47f5..f9fdcc2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -14,12 +14,12 @@ local colors = { comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), - suggestion = hsl(220, 95, 60), + suggestion = hsl(220, 95, 55), - -- diagnostic_error = hsl(347, 80, 45), - -- diagnostic_warning = hsl(30, 100, 50), - -- diagnostic_info = hsl(145, 80, 30), - -- diagnostic_hint = hsl(145, 80, 30), + diagnostic_error = hsl(347, 80, 45), + diagnostic_warning = hsl(30, 100, 50), + diagnostic_info = hsl(145, 80, 30), + diagnostic_hint = hsl(145, 80, 30), popup_error_bg = hsl(0, 90, 99), popup_warning_bg = hsl(27, 90, 99), @@ -35,6 +35,7 @@ local colors = { dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), highlight_subtle = hsl(0, 0, 94), + highlight = hsl(0, 0, 90), highlight_intense = hsl(42, 100, 30), }, @@ -174,6 +175,7 @@ local setupGroups = function(c) InclineNormal = { bg = c.background }, InclineNormalNC = { bg = c.background }, + EndOfBuffer = { fg = c.dimmed }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, NormalFloat = { bg = c.background, fg = c.foreground }, FloatBorder = { fg = c.foreground }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 67f0c25..00228b9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -76,7 +76,7 @@ vim.opt.foldexpr = "nvim_treesitter#foldexpr()" vim.o.autochdir = true vim.o.cia = 'kind,abbr,menu' -vim.o.fillchars = "stl: ,stlnc: ,eob:░,vert:│" +vim.o.fillchars = "stl: ,stlnc: ,eob:🮘,vert:│" vim.o.icm = "split" vim.o.list = false vim.o.scrolloff = 7 diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 339c471..1c8f41e 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -35,7 +35,7 @@ indentscope.setup({ delay = 10, animation = indentscope.gen_animation.none(), }, - symbol = '│', + symbol = '┆', }) require('mini.jump2d').setup({ From a82ffe7012b48660cb7638a8b9b312196c89b701 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 13:42:19 +0100 Subject: [PATCH 616/656] nvim: disable indentscope by default. add ui toggle --- home/common/nvim/init.lua | 4 ++++ home/common/nvim/mini.lua | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 00228b9..3eb3cb9 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -209,3 +209,7 @@ vim.keymap.set("n", "<Leader>uh", "<cmd>InlayHintsToggle<cr>", opts("Toggle inla vim.keymap.set("n", "<Leader>ul", "<cmd>set invcursorline<cr>", opts("Toggle cursor line")) vim.keymap.set("n", "<Leader>un", "<cmd>set invnumber<cr>", opts("Toggle line numbers")) vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrapping")) + +vim.keymap.set("n", "<Leader>ui", function() + vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable +end, opts("Toggle indent scope")) diff --git a/home/common/nvim/mini.lua b/home/common/nvim/mini.lua index 1c8f41e..3c7d129 100644 --- a/home/common/nvim/mini.lua +++ b/home/common/nvim/mini.lua @@ -35,8 +35,9 @@ indentscope.setup({ delay = 10, animation = indentscope.gen_animation.none(), }, - symbol = '┆', + symbol = '│', }) +vim.g.miniindentscope_disable = true require('mini.jump2d').setup({ mappings = { start_jumping = 'gw' } From 44bf38a4842e346a720533797b1eaf4e3a862700 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 2 Feb 2025 11:59:56 +0100 Subject: [PATCH 617/656] ghostty: fonts fontelifonts --- home/common/ghostty.nix | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 6cb81d3..5e11086 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -14,16 +14,17 @@ settings = { font-size = 11; font-family = "Berkeley Mono"; - font-family-bold-italic = "Monaspace Radon Var"; + font-family-italic = "Monaspace Radon Var"; + font-family-bold-italic = "Monaspace Krypton Var"; font-style = "Regular"; font-style-bold = "Bold"; - font-style-italic = "SemiLight Oblique"; - font-style-bold-italic = "Italic"; + font-style-italic = "Italic"; + font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; adjust-cursor-thickness = 4; - adjust-underline-position = 5; - adjust-underline-thickness = -2; + adjust-underline-position = 3; + adjust-underline-thickness = -1; mouse-hide-while-typing = true; unfocused-split-opacity = 0.85; @@ -75,7 +76,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.7 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; @@ -113,7 +114,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" + ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.7 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From 52789b71e75baaa5ad939840e646cda2694de8eb Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 618/656] jj: use upstream main w/git subprocess support --- flake.nix | 2 +- home/common/vcs.nix | 7 ++++++- home/dln/home.nix | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/flake.nix b/flake.nix index f72d553..d4de165 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:dln/jj/openssh"; + jujutsu.url = "github:jj-vcs/jj/main"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 956612a..4e3d18a 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -1,4 +1,9 @@ -{ config, inputs, pkgs, ... }: +{ + config, + inputs, + pkgs, + ... +}: { home.packages = with pkgs; [ diff --git a/home/dln/home.nix b/home/dln/home.nix index 8288f2c..b78fe99 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -43,7 +43,6 @@ in programs.helix = { enable = true; - # extraPackages = []; }; programs.jujutsu = { @@ -62,6 +61,7 @@ in git = { push-bookmark-prefix = "dln/push-"; + subprocess = true; }; ui = { From ebd723f125e6c4a1a768c9f3106f5bc0b8ef6474 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 619/656] chore(eza): underline instead of italics for symlinks --- home/common/utils.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/home/common/utils.nix b/home/common/utils.nix index 1ae7cf9..91b6130 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -60,16 +60,16 @@ }; programs.eza = { - enable = true; - enableFishIntegration = true; + enable = true; + enableFishIntegration = true; }; - home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=3:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=3:or=3"; + home.sessionVariables.EZA_COLORS = "reset:oc=0:ur=0:uw=0:ux=0:ue=0:gr=0:gw=0:gx=0:tr=0:tw=0:tx=0:su=0:sf=0:xa=0:sn=0:nb=0:nk=0:nm=0:ng=0:nt=0:sb=0:ub=0:uk=0:um=0:ug=0:ut=0:df=0:ds=0:uu=0:uR=0:un=0:gu=0:gR=0:gn=0:lc=0:lm=0:ga=0:gm=0:gd=0:gv=0:gt=0:gi=0:gc=0:Gm=0:Go=0:Gc=0:Gd=0:xx=0:da=0:in=0:bl=0:hd=0:lp=4:cc=0:bO=0:sp=0:mp=0:im=0:vi=0:mu=0:lo=0:cr=0:do=0:co=0:tm=0:cm=0:bu=0:sc=0:ic=0:Sn=0:Su=0:Sr=0:St=0:Sl=0:ff=0:di=1:ex=0:fi=0:pi=0:so=0:bd=0:cd=0:ln=4:or=4"; programs.zoxide = { enable = true; enableFishIntegration = true; options = [ "--cmd=cd" ]; }; - home.sessionVariables._ZO_FZF_OPTS="--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; + home.sessionVariables._ZO_FZF_OPTS = "--reverse --height=10 --border=rounded --no-info --no-separator --no-scrollbar --no-color --no-sort"; } From 51e2d9607f0ad7016d826fb79903952169174464 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 620/656] fish: normal style for strings --- files/config/fish/config.fish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/config/fish/config.fish b/files/config/fish/config.fish index 6572a0c..4bb823b 100644 --- a/files/config/fish/config.fish +++ b/files/config/fish/config.fish @@ -36,7 +36,7 @@ set fish_color_redirection set fish_color_search_match -r set fish_color_selection -r set fish_color_status normal -set fish_color_string --italics +set fish_color_string normal set fish_color_user normal set fish_color_valid_path set fish_pager_color_background From 964afe8841e15360cc2df645bf409a28e8ebf2b9 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 3 Feb 2025 15:32:23 +0100 Subject: [PATCH 621/656] nix update --- flake.lock | 72 ++++++++++++++++++++--------------------- home/common/ghostty.nix | 1 - 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index 5b2ffda..1f292d1 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738275804, - "narHash": "sha256-n9cSCLlWjc8Bc5QyZYLo5+c6MfTZjgDpUGx/FGxBiY8=", + "lastModified": 1738619868, + "narHash": "sha256-q4h4SY1kVkZG4t/59CmJvaKjlx+xjojhdU1HqxiQhrQ=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c5508e7d1922842ecd3160ea73b97da1282168b3", + "rev": "f0d276062b78658fc1f3857e9ea104788f1f4e58", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738448366, - "narHash": "sha256-4ATtQqBlgsGqkHTemta0ydY6f7JBRXz4Hf574NHQpkg=", + "lastModified": 1738667255, + "narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=", "owner": "nix-community", "repo": "home-manager", - "rev": "18fa9f323d8adbb0b7b8b98a8488db308210ed93", + "rev": "7abcf59a365430b36f84eaa452a466b11e469e33", "type": "github" }, "original": { @@ -241,16 +241,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1735928141, - "narHash": "sha256-KN5rfdDj3vB/GNVw4YZU4tJv2BnUQiQdOz1kEQyketI=", - "owner": "dln", + "lastModified": 1738692980, + "narHash": "sha256-Gngd9HFmROtjUE+LfN724gYbH5wgDH2fD9rHfR+MFKY=", + "owner": "jj-vcs", "repo": "jj", - "rev": "cb103fb4692c4e2b90c4663804b81a5ff1e49c06", + "rev": "227eccefdb220491bd25e9e51a316a85e6e6a0a1", "type": "github" }, "original": { - "owner": "dln", - "ref": "openssh", + "owner": "jj-vcs", + "ref": "main", "repo": "jj", "type": "github" } @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738479528, - "narHash": "sha256-VmO/CQEQjIpfYot//PHDQuUm68r27zNuBiuANi6c5E4=", + "lastModified": 1738652022, + "narHash": "sha256-gKPFP/hWRwR+rkpXMoDnXZDZMqKnUwIBDnYH8FpgNNU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1b82dbcbbcba812ad19f5c0601d1731731bf4ebe", + "rev": "9a95d2aa820df2b596af18f2a5ca37873a3d2695", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738450845, - "narHash": "sha256-yK2ZOtTTT6BjNi98PZi0NpEbidY12JMjgkqqggjoyD8=", + "lastModified": 1738626281, + "narHash": "sha256-aZUwhRP5jBEZ1AaafBQ7FjV8XicyAkWh6Vhx94j53Ik=", "owner": "neovim", "repo": "neovim", - "rev": "0985e784d8dce58748343207e176bf61303b7d68", + "rev": "5a7cf85c2c7e452563a4bce9195e9a3426ca3050", "type": "github" }, "original": { @@ -317,11 +317,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1731890469, - "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=", + "lastModified": 1737557748, + "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "5083ec887760adfe12af64830a66807423a859a7", + "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738277201, - "narHash": "sha256-6L+WXKCw5mqnUIExvqkD99pJQ41xgyCk6z/H9snClwk=", + "lastModified": 1738574474, + "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "666e1b3f09c267afd66addebe80fb05a5ef2b554", + "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738297584, - "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", + "lastModified": 1738678663, + "narHash": "sha256-uPdqVr8gN3oYYcueL/Rh7wM4Y8/D6p9IvRmoBf+uQa8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9189ac18287c599860e878e905da550aa6dec1cd", + "rev": "00769b0532199db4e1bda59865f00f3a86232c75", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738297584, - "narHash": "sha256-AYvaFBzt8dU0fcSK2jKD0Vg23K2eIRxfsVXIPCW9a0E=", + "lastModified": 1738553537, + "narHash": "sha256-HrrsuYIOl14dreCDUsXQGrWxdiU8LPKxcIo759jUk6Q=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9189ac18287c599860e878e905da550aa6dec1cd", + "rev": "2d31b9476b7c6f5b029e595586b0b112a7ad130b", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738410390, - "narHash": "sha256-xvTo0Aw0+veek7hvEVLzErmJyQkEcRk6PSR4zsRQFEc=", + "lastModified": 1738546358, + "narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3a228057f5b619feb3186e986dbe76278d707b6e", + "rev": "c6e957d81b96751a3d5967a0fd73694f303cc914", "type": "github" }, "original": { @@ -447,11 +447,11 @@ ] }, "locked": { - "lastModified": 1732242723, - "narHash": "sha256-NWI8csIK0ujFlFuEXKnoc+7hWoCiEtINK9r48LUUMeU=", + "lastModified": 1737685583, + "narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a229311fcb45b88a95fdfa5cecd8349c809a272a", + "rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a", "type": "github" }, "original": { diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 5e11086..c4f8493 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -30,7 +30,6 @@ unfocused-split-opacity = 0.85; unfocused-split-fill = "#14151a"; - shell-integration = "fish"; gtk-tabs-location = "hidden"; From 23bd9c3f484b4da06918c0bc0935e7fe8e8036c2 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 8 Feb 2025 10:39:22 +0100 Subject: [PATCH 622/656] jj: pin to latest stable --- flake.lock | 62 +++++++++++++++++++++++++++--------------------------- flake.nix | 2 +- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/flake.lock b/flake.lock index 1f292d1..1c84d94 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738619868, - "narHash": "sha256-q4h4SY1kVkZG4t/59CmJvaKjlx+xjojhdU1HqxiQhrQ=", + "lastModified": 1738954179, + "narHash": "sha256-6AOfdZrbQxQRDvU36gsclQl2t5FLcfSWveIpyw+GoM4=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "f0d276062b78658fc1f3857e9ea104788f1f4e58", + "rev": "f95f636f1fff1cf449efa79f3f42dcb8d9bbfce5", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1738667255, - "narHash": "sha256-sMMQb9NydZqQ/MvvtPp+Ny0W9P0Jk0moU7SrTBlO5Vo=", + "lastModified": 1739002622, + "narHash": "sha256-PtJV5OYQF7XO6XkDYypsYJS3+OsgYaYSmkO3I/A7lZo=", "owner": "nix-community", "repo": "home-manager", - "rev": "7abcf59a365430b36f84eaa452a466b11e469e33", + "rev": "947eef9e99c42346cf0aac2bebe1cd94924c173b", "type": "github" }, "original": { @@ -241,16 +241,16 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1738692980, - "narHash": "sha256-Gngd9HFmROtjUE+LfN724gYbH5wgDH2fD9rHfR+MFKY=", + "lastModified": 1738805560, + "narHash": "sha256-jGy+0VDxQrgNhj+eX06FRhPP31V8QZVAM4j4yBosAGE=", "owner": "jj-vcs", "repo": "jj", - "rev": "227eccefdb220491bd25e9e51a316a85e6e6a0a1", + "rev": "613742dfbbd89324b25672a75ef8ce9e671ae0d3", "type": "github" }, "original": { "owner": "jj-vcs", - "ref": "main", + "ref": "v0.26.0", "repo": "jj", "type": "github" } @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738652022, - "narHash": "sha256-gKPFP/hWRwR+rkpXMoDnXZDZMqKnUwIBDnYH8FpgNNU=", + "lastModified": 1738973121, + "narHash": "sha256-8Y58Pu9ijovxUFcyz+UIInWBPn12vAxXPyuDQKTO3y4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "9a95d2aa820df2b596af18f2a5ca37873a3d2695", + "rev": "80cd53ef3a60f1a4bf3c6a7cbc5a400816c8427a", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738626281, - "narHash": "sha256-aZUwhRP5jBEZ1AaafBQ7FjV8XicyAkWh6Vhx94j53Ik=", + "lastModified": 1738966259, + "narHash": "sha256-4TLVDIvtgPXkIDZbHKSBoICBTR8suhAOjSBsHZlXpsY=", "owner": "neovim", "repo": "neovim", - "rev": "5a7cf85c2c7e452563a4bce9195e9a3426ca3050", + "rev": "a9cdf76e3a142c78b2b5da58c428e15e31cb0a15", "type": "github" }, "original": { @@ -349,11 +349,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738574474, - "narHash": "sha256-rvyfF49e/k6vkrRTV4ILrWd92W+nmBDfRYZgctOyolQ=", + "lastModified": 1738843498, + "narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fecfeb86328381268e29e998ddd3ebc70bbd7f7c", + "rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738678663, - "narHash": "sha256-uPdqVr8gN3oYYcueL/Rh7wM4Y8/D6p9IvRmoBf+uQa8=", + "lastModified": 1738958807, + "narHash": "sha256-h0WKgHTLkjwjRNTkqByQquS7N/15SqIFMQ356Ww8uCA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "00769b0532199db4e1bda59865f00f3a86232c75", + "rev": "e8d0b02af0958823c955aaab3c82b03f54411d91", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738553537, - "narHash": "sha256-HrrsuYIOl14dreCDUsXQGrWxdiU8LPKxcIo759jUk6Q=", + "lastModified": 1738797219, + "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2d31b9476b7c6f5b029e595586b0b112a7ad130b", + "rev": "1da52dd49a127ad74486b135898da2cef8c62665", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738546358, - "narHash": "sha256-nLivjIygCiqLp5QcL7l56Tca/elVqM9FG1hGd9ZSsrg=", + "lastModified": 1738961098, + "narHash": "sha256-yWNBf6VDW38tl179FEuJ0qukthVfB02kv+mRsfUsWC0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c6e957d81b96751a3d5967a0fd73694f303cc914", + "rev": "a3eaf5e8eca7cab680b964138fb79073704aca75", "type": "github" }, "original": { @@ -498,11 +498,11 @@ ] }, "locked": { - "lastModified": 1738070913, - "narHash": "sha256-j6jC12vCFsTGDmY2u1H12lMr62fnclNjuCtAdF1a4Nk=", + "lastModified": 1738953846, + "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "bebf27d00f7d10ba75332a0541ac43676985dea3", + "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index d4de165..b1af46b 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:jj-vcs/jj/main"; + jujutsu.url = "github:jj-vcs/jj/v0.26.0"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; From 7a40103f75e276f571b4939d0ac79067a427938c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 4 Feb 2025 21:48:28 +0100 Subject: [PATCH 623/656] nix update --- flake.lock | 48 ++++++++++++++++++++--------------------- home/common/ghostty.nix | 4 ++-- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/flake.lock b/flake.lock index 1c84d94..635c99a 100644 --- a/flake.lock +++ b/flake.lock @@ -134,11 +134,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1738954179, - "narHash": "sha256-6AOfdZrbQxQRDvU36gsclQl2t5FLcfSWveIpyw+GoM4=", + "lastModified": 1739069316, + "narHash": "sha256-PscIOeOJwuBBbcaEGoyDrfnzxYI1UzZKIig/hJicKXo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "f95f636f1fff1cf449efa79f3f42dcb8d9bbfce5", + "rev": "2c06ce761b5daea6670ac78a2e2342d755705223", "type": "github" }, "original": { @@ -221,11 +221,11 @@ ] }, "locked": { - "lastModified": 1739002622, - "narHash": "sha256-PtJV5OYQF7XO6XkDYypsYJS3+OsgYaYSmkO3I/A7lZo=", + "lastModified": 1739051380, + "narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=", "owner": "nix-community", "repo": "home-manager", - "rev": "947eef9e99c42346cf0aac2bebe1cd94924c173b", + "rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491", "type": "github" }, "original": { @@ -266,11 +266,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1738973121, - "narHash": "sha256-8Y58Pu9ijovxUFcyz+UIInWBPn12vAxXPyuDQKTO3y4=", + "lastModified": 1739060572, + "narHash": "sha256-b66lHmfaZ4lKAG5VW8wC7fba2vUs6OMRlJumO4xMEfc=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "80cd53ef3a60f1a4bf3c6a7cbc5a400816c8427a", + "rev": "4452574d52632a36458cd9c80f6303f556460221", "type": "github" }, "original": { @@ -282,11 +282,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1738966259, - "narHash": "sha256-4TLVDIvtgPXkIDZbHKSBoICBTR8suhAOjSBsHZlXpsY=", + "lastModified": 1739058097, + "narHash": "sha256-QNlqRh8BnmSgJ6e5CRII9og+Z7fBfMAUbL3g66O8ZXg=", "owner": "neovim", "repo": "neovim", - "rev": "a9cdf76e3a142c78b2b5da58c428e15e31cb0a15", + "rev": "59edd7c88a13d793501b88c55803da8a0ba7c739", "type": "github" }, "original": { @@ -302,11 +302,11 @@ ] }, "locked": { - "lastModified": 1738466368, - "narHash": "sha256-PZhUjtvQZOH3PO0EYdTpQvcqkgkq1NkP2A6w9SPHYsk=", + "lastModified": 1739071773, + "narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "46a8f5fc9552b776bfc5c5c96ea3bede33f68f52", + "rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea", "type": "github" }, "original": { @@ -381,11 +381,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1738958807, - "narHash": "sha256-h0WKgHTLkjwjRNTkqByQquS7N/15SqIFMQ356Ww8uCA=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e8d0b02af0958823c955aaab3c82b03f54411d91", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -397,11 +397,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1738797219, - "narHash": "sha256-KRwX9Z1XavpgeSDVM/THdFd6uH8rNm/6R+7kIbGa+2s=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "1da52dd49a127ad74486b135898da2cef8c62665", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -413,11 +413,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1738961098, - "narHash": "sha256-yWNBf6VDW38tl179FEuJ0qukthVfB02kv+mRsfUsWC0=", + "lastModified": 1739020877, + "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a3eaf5e8eca7cab680b964138fb79073704aca75", + "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "type": "github" }, "original": { diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index c4f8493..a4e95bd 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -75,7 +75,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.7 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash + ghostty --class=com.mitchellh.ghostty-secondary --background-opacity=0.8 --font-style="UltraCondensed" --font-style-bold="Bold UltraCondensed" --font-style-italic="UltraCondensed Oblique" -e bash ''; genericName = "Secondary Ghostty"; icon = "com.mitchellh.ghostty"; @@ -113,7 +113,7 @@ "TerminalEmulator" ]; exec = '' - ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.7 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" + ghostty --class=com.mitchellh.ghostty-devel-secondary --background-opacity=0.8 --font-style="ExtraCondensed" --font-style-bold="Bold ExtraCondensed" --font-style-italic="ExtraCondensed Oblique" --command="ssh -t devel" --initial-command="ssh -t devel" ''; genericName = "Secondary Ghostty (devel)"; icon = "com.mitchellh.ghostty"; From 8f1ef592cde4f94aa3f9df41ed278201cd8f4c9c Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 14:08:55 +0100 Subject: [PATCH 624/656] nvim: Use new fancy built-in diagnostics --- home/common/nvim/default.nix | 23 ----------- home/common/nvim/dieter/lua/dieter/init.lua | 11 ++++-- home/common/nvim/init.lua | 42 ++++++++++++--------- 3 files changed, 32 insertions(+), 44 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index e5adcd9..f6deed1 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -121,29 +121,6 @@ in ''; } - { - plugin = pkgs.vimUtils.buildVimPlugin { - name = "diagflow"; - src = pkgs.fetchFromGitHub { - owner = "dgagn"; - repo = "diagflow.nvim"; - rev = "fc09d55d2e60edc8ed8f9939ba97b7b7e6488c99"; - hash = "sha256-2WNuaIEXcAgUl2Kb/cCHEOrtehw9alaoM96qb4MLArw="; - }; - }; - type = "lua"; - config = '' - require('diagflow').setup { - scope = "line", - gap_size = 0, - max_width = 50, - max_height = 20, - show_borders = true, - toggle_event = { "InsertEnter", "InsertLeave" }, - } - ''; - } - { plugin = pkgs.vimUtils.buildVimPlugin { name = "dieter-nvim"; diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index f9fdcc2..61946a2 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -149,14 +149,17 @@ local setupGroups = function(c) CursorLine = { bg = c.highlight_subtle }, DiagnosticError = { fg = c.diagnostic_error, italic = true }, + DiagnosticHint = { fg = c.diagnostic_hint, italic = true }, + DiagnosticInfo = { fg = c.diagnostic_info, italic = true }, + DiagnosticWarn = { fg = c.diagnostic_warn, italic = true }, DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, - DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, + DiagnosticUnderlineHint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, - DiagnosticUnderlinehint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, + DiagnosticUnderlineWarn = { fg = c.foreground, undercurl = true, sp = c.diagnostic_warn }, DiagnosticSignError = { fg = c.diagnostic_error }, DiagnosticSignHint = { fg = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 3eb3cb9..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -92,23 +92,31 @@ vim.o.updatetime = 250 vim.o.grepprg = [[rg --glob "!.jj" --glob "!.git" --no-heading --vimgrep --follow $*]] vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -vim.fn.sign_define( - "DiagnosticSignError", - { text = "", hl = "DiagnosticSignError", texthl = "DiagnosticSignError", culhl = "DiagnosticSignErrorLine" } -) -vim.fn.sign_define( - "DiagnosticSignWarn", - { text = "", hl = "DiagnosticSignWarn", texthl = "DiagnosticSignWarn", culhl = "DiagnosticSignWarnLine" } -) -vim.fn.sign_define( - "DiagnosticSignInfo", - { text = "", hl = "DiagnosticSignInfo", texthl = "DiagnosticSignInfo", culhl = "DiagnosticSignInfoLine" } -) -vim.fn.sign_define( - "DiagnosticSignHint", - { text = "", hl = "DiagnosticSignHint", texthl = "DiagnosticSignHint", culhl = "DiagnosticSignHintLine" } -) - +-- Diagnostics +vim.diagnostic.config { + severity_sort = true, + signs = { + linehl = { + [vim.diagnostic.severity.ERROR] = "DiagnosticSignErrorLine", + [vim.diagnostic.severity.WARN] = "DiagnosticSignWarnLine", + [vim.diagnostic.severity.INFO] = "DiagnosticSignInfoLine", + [vim.diagnostic.severity.HINT] = "DiagnostigSignHintLine", + }, + numhl = { + [vim.diagnostic.severity.ERROR] = "DiagnosticSignError", + [vim.diagnostic.severity.WARN] = "DiagnosticSignWarn", + [vim.diagnostic.severity.INFO] = "DiagnosticSignInfo", + [vim.diagnostic.severity.HINT] = "DiagnostigSignHint", + }, + text = { + [vim.diagnostic.severity.ERROR] = "", + [vim.diagnostic.severity.WARN] = "", + [vim.diagnostic.severity.INFO] = "", + [vim.diagnostic.severity.HINT] = "", + }, + }, + virtual_lines = true, +} -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() From 789704e91ffb52cb33407d41392566b33c7bfb73 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 625/656] nvim: upgrade neocodium to main --- home/common/nvim/default.nix | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index f6deed1..850caf2 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -106,15 +106,19 @@ in src = pkgs.fetchFromGitHub { owner = "monkoose"; repo = "neocodeium"; - rev = "4da81528468b33585c411f31eb390dce573ccb14"; # v1.8.0 - hash = "sha256-1n9nNqBNwNDSzbAkm8eB4HZLNy5HmMg25jPwQAnW5OU="; + rev = "a2b5257c736886ec3ccbd961766f8ab9c82b2a72"; # 2025-02-04 + hash = "sha256-mR2fzsdCVbh7nLcsSgQnhRivoKW6oFqJwuIYfz8OV0k="; }; doCheck = false; }; type = "lua"; config = '' local neocodeium =require('neocodeium') - neocodeium.setup() + neocodeium.setup({ + show_label = false, + debounce = true, + silent = false, + }) vim.keymap.set("i", "<C-j>", neocodeium.accept, { remap = true }) vim.keymap.set("i", "<A-f>", neocodeium.accept, { remap = true }) vim.keymap.set("i", "<C-h>", neocodeium.cycle_or_complete, { remap = true }) From f66de79c47026400cc9694e88cc1d761b07bd44e Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 626/656] nvim: try the new messageopts setting --- home/common/nvim/init.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..a99fcad 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -10,6 +10,7 @@ vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false +vim.opt.messagesopt = "wait:1000,history:50" vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" From 679c863cf80d4c3d222c66ff9283966c691a7b51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Feb 2025 20:40:37 +0100 Subject: [PATCH 627/656] jj: use nixpkgs package --- flake.lock | 126 ++++++-------------------------------------- flake.nix | 1 - home/common/vcs.nix | 1 - 3 files changed, 17 insertions(+), 111 deletions(-) diff --git a/flake.lock b/flake.lock index 635c99a..443e291 100644 --- a/flake.lock +++ b/flake.lock @@ -108,24 +108,6 @@ "type": "github" } }, - "flake-utils_2": { - "inputs": { - "systems": "systems_2" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "ghostty": { "inputs": { "flake-compat": "flake-compat", @@ -134,11 +116,11 @@ "zig": "zig" }, "locked": { - "lastModified": 1739069316, - "narHash": "sha256-PscIOeOJwuBBbcaEGoyDrfnzxYI1UzZKIig/hJicKXo=", + "lastModified": 1739143498, + "narHash": "sha256-85TvsfDdOBfthR44rRJV9KXpj415StJqVyq+BBlLCvM=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "2c06ce761b5daea6670ac78a2e2342d755705223", + "rev": "a3e462bbba724bcf312fcd5edd12bb5e0251c853", "type": "github" }, "original": { @@ -234,27 +216,6 @@ "type": "github" } }, - "jujutsu": { - "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs", - "rust-overlay": "rust-overlay" - }, - "locked": { - "lastModified": 1738805560, - "narHash": "sha256-jGy+0VDxQrgNhj+eX06FRhPP31V8QZVAM4j4yBosAGE=", - "owner": "jj-vcs", - "repo": "jj", - "rev": "613742dfbbd89324b25672a75ef8ce9e671ae0d3", - "type": "github" - }, - "original": { - "owner": "jj-vcs", - "ref": "v0.26.0", - "repo": "jj", - "type": "github" - } - }, "neovim-nightly-overlay": { "inputs": { "flake-compat": "flake-compat_2", @@ -262,15 +223,15 @@ "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", "neovim-src": "neovim-src", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs", "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739060572, - "narHash": "sha256-b66lHmfaZ4lKAG5VW8wC7fba2vUs6OMRlJumO4xMEfc=", + "lastModified": 1739145937, + "narHash": "sha256-1QL3KSEjc99+ISyzBHHaLGjRrPkLfsFiHZBc40kAiQ8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4452574d52632a36458cd9c80f6303f556460221", + "rev": "77482d0efef2807924c593947bdf16e303e79f42", "type": "github" }, "original": { @@ -282,11 +243,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739058097, - "narHash": "sha256-QNlqRh8BnmSgJ6e5CRII9og+Z7fBfMAUbL3g66O8ZXg=", + "lastModified": 1739136210, + "narHash": "sha256-lq/xXRuVSf2ohTRCEgstJJGQX50S5C12WbYL5qj3MBU=", "owner": "neovim", "repo": "neovim", - "rev": "59edd7c88a13d793501b88c55803da8a0ba7c739", + "rev": "59a171fd99a7452c8840eee55783fb6746994637", "type": "github" }, "original": { @@ -317,11 +278,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1737557748, - "narHash": "sha256-BaMuhctP1x00+8cBE2cJveJQb70/tWHI50MHj/ZrtOY=", + "lastModified": 1739019272, + "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "606996d74f6e2a12635d41c1bf58bfc7ea3bb5ec", + "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", "type": "github" }, "original": { @@ -349,11 +310,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1738843498, - "narHash": "sha256-7x+Q4xgFj9UxZZO9aUDCR8h4vyYut4zPUvfj3i+jBHE=", + "lastModified": 1739055578, + "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f5a32fa27df91dfc4b762671a0e0a859a8a0058f", + "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", "type": "github" }, "original": { @@ -396,22 +357,6 @@ } }, "nixpkgs_2": { - "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_3": { "locked": { "lastModified": 1739020877, "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", @@ -431,35 +376,13 @@ "inputs": { "ghostty": "ghostty", "home-manager": "home-manager", - "jujutsu": "jujutsu", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_2", "nixpkgs-stable": "nixpkgs-stable_2", "nixpkgs-unstable": "nixpkgs-unstable_2" } }, - "rust-overlay": { - "inputs": { - "nixpkgs": [ - "jujutsu", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1737685583, - "narHash": "sha256-p+NVABRpGi+pT+xxf9HcLcFVxG6L+vEEy+NwzB9T0f8=", - "owner": "oxalica", - "repo": "rust-overlay", - "rev": "eb64cbcc8eee0fa87ebded92805280d2ec97415a", - "type": "github" - }, - "original": { - "owner": "oxalica", - "repo": "rust-overlay", - "type": "github" - } - }, "systems": { "locked": { "lastModified": 1681028828, @@ -475,21 +398,6 @@ "type": "github" } }, - "systems_2": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, "treefmt-nix": { "inputs": { "nixpkgs": [ diff --git a/flake.nix b/flake.nix index b1af46b..0eb9df5 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,6 @@ inputs = { ghostty.url = "github:ghostty-org/ghostty"; - jujutsu.url = "github:jj-vcs/jj/v0.26.0"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/vcs.nix b/home/common/vcs.nix index 4e3d18a..bc74bb3 100644 --- a/home/common/vcs.nix +++ b/home/common/vcs.nix @@ -136,6 +136,5 @@ programs.jujutsu = { enable = true; - package = inputs.jujutsu.packages.${pkgs.system}.default; }; } From a48421ef4e011e83ae1becb74172d2ab2c9d2373 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 10 Feb 2025 12:21:51 +0100 Subject: [PATCH 628/656] gnome: font fixings --- common/desktop.nix | 3 +-- home/common/ghostty.nix | 2 ++ home/common/gnome.nix | 4 +--- home/dln/nemo.nix | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 263ab6e..2eaf91b 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -48,12 +48,12 @@ in allowBitmaps = false; antialias = true; defaultFonts = { + monospace = [ "Berkeley Mono" ]; serif = [ "Liberation Serif" ]; sansSerif = [ "Inter" ]; }; hinting.enable = true; hinting.style = "slight"; - subpixel.rgba = "rgb"; }; packages = with pkgs; [ inter @@ -63,7 +63,6 @@ in noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji - roboto ubuntu_font_family ]; }; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index a4e95bd..50f8cd5 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -22,6 +22,8 @@ font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; + freetype-load-flags = "no-force-autohint"; + adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 83fe87f..b8e949e 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -66,11 +66,9 @@ with lib.hm.gvariant; enable-animations = false; enable-hot-corners = false; show-battery-percentage = true; - font-antialiasing = "grayscale"; - font-hinting = "slight"; font-name = "Inter Variable 11"; document-font-name = "Inter Variable 11"; - monospace-font-name = "BerkeleyMono Nerd Font 11"; + monospace-font-name = "Berkeley Mono 11"; toolkit-accessibility = false; }; diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index df79854..988c04c 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -6,7 +6,7 @@ ]; programs.ghostty.settings = { - font-size = lib.mkForce 16; + font-size = lib.mkForce 15; }; programs.obs-studio = { From 57fb622f2d6b471633084316d52b18c8c5ada5bf Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 10 Feb 2025 12:21:51 +0100 Subject: [PATCH 629/656] nvim: dieter light colors --- home/common/nvim/dieter/lua/dieter/init.lua | 21 +++++++++++++++++---- home/common/nvim/init.lua | 1 - 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 61946a2..2d6c96a 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -10,6 +10,12 @@ local colors = { dimmed = hsl(0, 0, 80), dimmed_subtle = hsl(0, 0, 20), + highlight_subtle = hsl(0, 0, 94), + highlight = hsl(0, 0, 90), + highlight_intense = hsl(42, 100, 30), + + dialog_fg = hsl(230, 13, 10), + string = hsl(96, 50, 33), comment = hsl(360, 66, 40), comment_error = hsl(2, 85, 40), @@ -32,11 +38,18 @@ local colors = { change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - dialog_bg = hsl(224, 5, 92), selection = hsl(270, 75, 92), - highlight_subtle = hsl(0, 0, 94), - highlight = hsl(0, 0, 90), - highlight_intense = hsl(42, 100, 30), + + search_bg = hsl(43, 100, 8), + search_fg = hsl(43, 100, 85), + + cmp_bg = hsl(218, 30, 97), + cmp_fg = hsl(218, 30, 13), + cmp_selected_fg = hsl(218, 50, 8), + cmp_selected_bg = hsl(218, 30, 85), + + doc_bg = hsl(200, 30, 90), + doc_fg = hsl(220, 80, 10), }, dark = { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index a99fcad..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -10,7 +10,6 @@ vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" vim.opt.laststatus = 0 vim.opt.number = false -vim.opt.messagesopt = "wait:1000,history:50" vim.opt.relativenumber = false vim.opt.ruler = true vim.opt.syntax = "on" From 21b902d693dd9c6f48abf09562372a841e95046d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Feb 2025 12:47:36 +0100 Subject: [PATCH 630/656] gnome: apps --- common/desktop.nix | 19 ++++---- flake.lock | 113 +++++++++++++++++++++++++++++---------------- home/dln/nemo.nix | 6 ++- 3 files changed, 86 insertions(+), 52 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index 2eaf91b..cf16871 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -16,31 +16,30 @@ in environment.systemPackages = with pkgs; [ gnome-ssh-askpass4 ]; # Excluding some GNOME applications from the default install - environment.gnome.excludePackages = - (with pkgs; [ - gnome-connections - gnome-photos - gnome-tour - snapshot - ]) - ++ (with pkgs; [ + environment.gnome.excludePackages = ( + with pkgs; + [ atomix # puzzle game baobab # disk usage analyzer cheese # webcam tool epiphany # web browser geary # email reader gnome-clocks - gnome-contacts + gnome-connections gnome-disk-utility gnome-logs gnome-music + gnome-photos gnome-terminal + gnome-tour + snapshot hitori # sudoku game iagno # go game simple-scan tali # poker game yelp # help viewer - ]); + ] + ); fonts = { fontDir.enable = true; diff --git a/flake.lock b/flake.lock index 443e291..e562518 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1696426674, - "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "owner": "edolstra", "repo": "flake-compat", - "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "type": "github" }, "original": { @@ -95,11 +95,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1705309234, - "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -111,16 +111,18 @@ "ghostty": { "inputs": { "flake-compat": "flake-compat", + "flake-utils": "flake-utils", "nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig" + "zig": "zig", + "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739143498, - "narHash": "sha256-85TvsfDdOBfthR44rRJV9KXpj415StJqVyq+BBlLCvM=", + "lastModified": 1739322219, + "narHash": "sha256-nNnzAhNL3Oog0vm/C/XJvWhEJwACPfcJiQrLjBmtfZg=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "a3e462bbba724bcf312fcd5edd12bb5e0251c853", + "rev": "338a07ecadabf26b94448d64ceb4731df60dd21b", "type": "github" }, "original": { @@ -203,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739051380, - "narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=", + "lastModified": 1739314552, + "narHash": "sha256-ggVf2BclyIW3jexc/uvgsgJH4e2cuG6Nyg54NeXgbFI=", "owner": "nix-community", "repo": "home-manager", - "rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491", + "rev": "83bd3a26ac0526ae04fa74df46738bb44b89dcdd", "type": "github" }, "original": { @@ -227,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739145937, - "narHash": "sha256-1QL3KSEjc99+ISyzBHHaLGjRrPkLfsFiHZBc40kAiQ8=", + "lastModified": 1739348326, + "narHash": "sha256-T+LpQgJA1mVRcCkMO2kiQwTV+MdM9Wh1XvFeYuvlxT0=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "77482d0efef2807924c593947bdf16e303e79f42", + "rev": "db04408ca625de944a70ab0d69099e2f0af74f5e", "type": "github" }, "original": { @@ -243,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739136210, - "narHash": "sha256-lq/xXRuVSf2ohTRCEgstJJGQX50S5C12WbYL5qj3MBU=", + "lastModified": 1739317748, + "narHash": "sha256-WP2zIGrexV6P2Q1qR9q04GvLOO7jSAk/A/2v9vDI0S0=", "owner": "neovim", "repo": "neovim", - "rev": "59a171fd99a7452c8840eee55783fb6746994637", + "rev": "00d75a24cfb74e8f35d73ebb0e59a7b9248950c1", "type": "github" }, "original": { @@ -278,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", + "lastModified": 1739138025, + "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", + "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", "type": "github" }, "original": { @@ -294,11 +296,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1733423277, - "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "lastModified": 1738255539, + "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e36963a147267afc055f7cf65225958633e536bf", + "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", "type": "github" }, "original": { @@ -310,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739055578, - "narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=", + "lastModified": 1739206421, + "narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e", + "rev": "44534bc021b85c8d78e465021e21f33b856e2540", "type": "github" }, "original": { @@ -326,11 +328,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1733229606, - "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "lastModified": 1738136902, + "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", "type": "github" }, "original": { @@ -342,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739019272, - "narHash": "sha256-7Fu7oazPoYCbDzb9k8D/DdbKrC3aU1zlnc39Y8jy/s8=", + "lastModified": 1739138025, + "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fa35a3c8e17a3de613240fea68f876e5b4896aec", + "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", "type": "github" }, "original": { @@ -358,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739020877, - "narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", + "lastModified": 1739214665, + "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", + "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", "type": "github" }, "original": { @@ -424,18 +426,21 @@ "flake-compat": [ "ghostty" ], - "flake-utils": "flake-utils", + "flake-utils": [ + "ghostty", + "flake-utils" + ], "nixpkgs": [ "ghostty", "nixpkgs-stable" ] }, "locked": { - "lastModified": 1717848532, - "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "lastModified": 1738239110, + "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", "owner": "mitchellh", "repo": "zig-overlay", - "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "rev": "1a8fb6f3a04724519436355564b95fce5e272504", "type": "github" }, "original": { @@ -443,6 +448,32 @@ "repo": "zig-overlay", "type": "github" } + }, + "zig2nix": { + "inputs": { + "flake-utils": [ + "ghostty", + "flake-utils" + ], + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1738263917, + "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "owner": "jcollie", + "repo": "zig2nix", + "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "type": "github" + }, + "original": { + "owner": "jcollie", + "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "repo": "zig2nix", + "type": "github" + } } }, "root": "root", diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 988c04c..504e5cd 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -24,7 +24,11 @@ }; }; - home.packages = with pkgs; [ stable.calibre ]; + home.packages = with pkgs; [ + endeavour + picard + stable.calibre + ]; programs.gpg.enable = true; From 969047ff0246c874febc0b7289ddae794f0bbc45 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 09:07:29 +0100 Subject: [PATCH 631/656] gnome: add gnome-contacts --- flake.lock | 24 ++++++++++++------------ home/common/gnome.nix | 1 + 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index e562518..1a709d8 100644 --- a/flake.lock +++ b/flake.lock @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739322219, - "narHash": "sha256-nNnzAhNL3Oog0vm/C/XJvWhEJwACPfcJiQrLjBmtfZg=", + "lastModified": 1739409050, + "narHash": "sha256-9h1lQs/PGh0AsqnwE++utrnzyb1H88nPqBpHWtly438=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "338a07ecadabf26b94448d64ceb4731df60dd21b", + "rev": "432beac3151d84c78dfe7ab860c1c3f7957f4775", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739314552, - "narHash": "sha256-ggVf2BclyIW3jexc/uvgsgJH4e2cuG6Nyg54NeXgbFI=", + "lastModified": 1739416022, + "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", "owner": "nix-community", "repo": "home-manager", - "rev": "83bd3a26ac0526ae04fa74df46738bb44b89dcdd", + "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739348326, - "narHash": "sha256-T+LpQgJA1mVRcCkMO2kiQwTV+MdM9Wh1XvFeYuvlxT0=", + "lastModified": 1739405231, + "narHash": "sha256-Cdd+pLWebuEld9BZ0kmbBjZ2HftudKcv2A6oK5htO1E=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "db04408ca625de944a70ab0d69099e2f0af74f5e", + "rev": "c689a1c053b079dc95231ab4d800e7d3cf13c0ce", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739317748, - "narHash": "sha256-WP2zIGrexV6P2Q1qR9q04GvLOO7jSAk/A/2v9vDI0S0=", + "lastModified": 1739378622, + "narHash": "sha256-nJJYoMft/JxPwHvIW3mv/SVHlGBEsCeE7rnSJJsKBII=", "owner": "neovim", "repo": "neovim", - "rev": "00d75a24cfb74e8f35d73ebb0e59a7b9248950c1", + "rev": "8117db48ed5939dcb93e84f6e740c1b46317dd31", "type": "github" }, "original": { diff --git a/home/common/gnome.nix b/home/common/gnome.nix index b8e949e..0c07521 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -8,6 +8,7 @@ with lib.hm.gvariant; { config = lib.mkIf config.patagia.desktop.enable { home.packages = with pkgs; [ + gnome-contacts gnome-shell-extensions gnome-tweaks gnome-pomodoro From 098a6bc4f1af49378c1130da4fea23cc5f5b5f89 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 09:07:29 +0100 Subject: [PATCH 632/656] nvim: Add <Leader>us to toggle spellcheck --- home/common/nvim/init.lua | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..78d5db3 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -221,3 +221,14 @@ vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrap vim.keymap.set("n", "<Leader>ui", function() vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable end, opts("Toggle indent scope")) + +vim.keymap.set("n", "<Leader>us", function() + local filter = { name = "harper_ls" } --- @type vim.lsp.get_clients.Filter + local client = vim.lsp.get_clients(filter)[1] + local current_buffer = vim.api.nvim_get_current_buf() + if client.attached_buffers[current_buffer] then + vim.lsp.buf_detach_client(current_buffer, client.id) + else + vim.lsp.buf_attach_client(current_buffer, client.id) + end +end, opts("Toggle Harper spellcheck")) From 2ce298d9b37217da24b3610025cd290ccf4d5f51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 20:44:26 +0100 Subject: [PATCH 633/656] nvim: Remove harperls --- flake.lock | 24 ++++++++++++------------ home/common/nvim/default.nix | 1 - home/common/nvim/init.lua | 11 ----------- home/common/nvim/lsp.lua | 7 ------- 4 files changed, 12 insertions(+), 31 deletions(-) diff --git a/flake.lock b/flake.lock index 1a709d8..f3bd724 100644 --- a/flake.lock +++ b/flake.lock @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739409050, - "narHash": "sha256-9h1lQs/PGh0AsqnwE++utrnzyb1H88nPqBpHWtly438=", + "lastModified": 1739473144, + "narHash": "sha256-9+8b8DNzClO8A6mxY4wu9xsBLoXGOM+5JIXfusb+QrY=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "432beac3151d84c78dfe7ab860c1c3f7957f4775", + "rev": "c481bdf70461a8a4660678a819a69ac4f4934ac2", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739416022, - "narHash": "sha256-Af1CIT+XlXEb+Dk11sgPDzJoOUiada2Xoj5hA8TBvLY=", + "lastModified": 1739470101, + "narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=", "owner": "nix-community", "repo": "home-manager", - "rev": "c9d343cfa0565671cc7e8d5aefebaf61cc840abd", + "rev": "5031c6d2978109336637977c165f82aa49fa16a7", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739206421, - "narHash": "sha256-PwQASeL2cGVmrtQYlrBur0U20Xy07uSWVnFup2PHnDs=", + "lastModified": 1739357830, + "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", "owner": "nixos", "repo": "nixpkgs", - "rev": "44534bc021b85c8d78e465021e21f33b856e2540", + "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739138025, - "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", + "lastModified": 1739419412, + "narHash": "sha256-NCWZQg4DbYVFWg+MOFrxWRaVsLA7yvRWAf6o0xPR1hI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", + "rev": "2d55b4c1531187926c2a423f6940b3b1301399b5", "type": "github" }, "original": { diff --git a/home/common/nvim/default.nix b/home/common/nvim/default.nix index 850caf2..94a6c4a 100644 --- a/home/common/nvim/default.nix +++ b/home/common/nvim/default.nix @@ -37,7 +37,6 @@ in extraPackages = with pkgs; [ codeium - harper lua-language-server nixd shellcheck diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 78d5db3..0b30e4f 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -221,14 +221,3 @@ vim.keymap.set("n", "<Leader>uw", "<cmd>set invwrap<cr>", opts("Toggle line wrap vim.keymap.set("n", "<Leader>ui", function() vim.g.miniindentscope_disable = not vim.g.miniindentscope_disable end, opts("Toggle indent scope")) - -vim.keymap.set("n", "<Leader>us", function() - local filter = { name = "harper_ls" } --- @type vim.lsp.get_clients.Filter - local client = vim.lsp.get_clients(filter)[1] - local current_buffer = vim.api.nvim_get_current_buf() - if client.attached_buffers[current_buffer] then - vim.lsp.buf_detach_client(current_buffer, client.id) - else - vim.lsp.buf_attach_client(current_buffer, client.id) - end -end, opts("Toggle Harper spellcheck")) diff --git a/home/common/nvim/lsp.lua b/home/common/nvim/lsp.lua index 1cd6e50..f36bd30 100644 --- a/home/common/nvim/lsp.lua +++ b/home/common/nvim/lsp.lua @@ -23,13 +23,6 @@ local servers = { }, }, - harper_ls = { - filetypes = { - "asciidoc", "c", "gitcommit", "go", "html", "javascript", "just", "lua", "markdown", - "nix", "python", "ruby", "rust", "text", "toml", "typescript", "zig", - } - }, - lua_ls = { settings = { Lua = { From 46ecffdb0b1596bb1f895bbc14bfe7b6ac5dea04 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 13 Feb 2025 21:07:18 +0100 Subject: [PATCH 634/656] jj: remove difft deprecated arg --- home/dln/home.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index b78fe99..f0d23e4 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -72,7 +72,6 @@ in "merge-tools" = { difft."diff-args" = [ "--color=always" - "--missing-as-empty" "$left" "$right" ]; @@ -81,7 +80,6 @@ in "diff-args" = [ "--color=always" "--display=inline" - "--missing-as-empty" "$left" "$right" ]; From d6623cb2764e3448a4e711c374aab24e4afb0523 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Thu, 20 Feb 2025 08:37:18 +0100 Subject: [PATCH 635/656] update --- flake.lock | 72 +++++++++++++++++----------------- home/common/nvim/blink-cmp.lua | 5 ++- home/dln/desktop.nix | 1 + 3 files changed, 41 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index f3bd724..2eaef20 100644 --- a/flake.lock +++ b/flake.lock @@ -78,11 +78,11 @@ ] }, "locked": { - "lastModified": 1736143030, - "narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=", + "lastModified": 1738453229, + "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de", + "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739473144, - "narHash": "sha256-9+8b8DNzClO8A6mxY4wu9xsBLoXGOM+5JIXfusb+QrY=", + "lastModified": 1739918167, + "narHash": "sha256-6zdYjNKqMTKfHKlaz0kKqqSmoSCqEjv1vyIygqi3wCo=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "c481bdf70461a8a4660678a819a69ac4f4934ac2", + "rev": "38908e01268298ced33b7b6835e49b8c6d437e12", "type": "github" }, "original": { @@ -185,11 +185,11 @@ ] }, "locked": { - "lastModified": 1738237977, - "narHash": "sha256-oJN/yvRL7G0WlR/hTkQIjFbPkzCV+sFnNB/38Tb9RL4=", + "lastModified": 1739595404, + "narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "6d1b6d5d59758b4f5f05745f774fc13cdc59da43", + "rev": "06519cec8fb32d219006da6eacd255504a9996af", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739470101, - "narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=", + "lastModified": 1739992710, + "narHash": "sha256-9kEscmGnXHjSgcqyJR4TzzHhska4yz1inSQs6HuO9qU=", "owner": "nix-community", "repo": "home-manager", - "rev": "5031c6d2978109336637977c165f82aa49fa16a7", + "rev": "1c189f011447810af939a886ba7bee33532bb1f9", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1739405231, - "narHash": "sha256-Cdd+pLWebuEld9BZ0kmbBjZ2HftudKcv2A6oK5htO1E=", + "lastModified": 1740034565, + "narHash": "sha256-fuTCAi//E0WVGNjLk+9juJMfVmCMZXy66hOpXAbZX90=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c689a1c053b079dc95231ab4d800e7d3cf13c0ce", + "rev": "a56e9f2bfce06729a418081fda1dfa1c0dd18f81", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739378622, - "narHash": "sha256-nJJYoMft/JxPwHvIW3mv/SVHlGBEsCeE7rnSJJsKBII=", + "lastModified": 1739988796, + "narHash": "sha256-oldU5hcEGlMLknn/q0NFFnAUWfPYeJHRTlJtrLjpQQg=", "owner": "neovim", "repo": "neovim", - "rev": "8117db48ed5939dcb93e84f6e740c1b46317dd31", + "rev": "b0bbe25c4808158e8c806959e4d185244073647a", "type": "github" }, "original": { @@ -265,11 +265,11 @@ ] }, "locked": { - "lastModified": 1739071773, - "narHash": "sha256-/Ak+Quinhmdxa9m3shjm4lwwwqmzG8zzGhhhhgR1k9I=", + "lastModified": 1739676768, + "narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "895d81b6228bbd50a6ef22f5a58a504ca99763ea", + "rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739138025, - "narHash": "sha256-M4ilIfGxzbBZuURokv24aqJTbdjPA9K+DtKUzrJaES4=", + "lastModified": 1739863612, + "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b2243f41e860ac85c0b446eadc6930359b294e79", + "rev": "632f04521e847173c54fa72973ec6c39a371211c", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739357830, - "narHash": "sha256-9xim3nJJUFbVbJCz48UP4fGRStVW5nv4VdbimbKxJ3I=", + "lastModified": 1739923778, + "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "0ff09db9d034a04acd4e8908820ba0b410d7a33a", + "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739419412, - "narHash": "sha256-NCWZQg4DbYVFWg+MOFrxWRaVsLA7yvRWAf6o0xPR1hI=", + "lastModified": 1739863612, + "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", "owner": "nixos", "repo": "nixpkgs", - "rev": "2d55b4c1531187926c2a423f6940b3b1301399b5", + "rev": "632f04521e847173c54fa72973ec6c39a371211c", "type": "github" }, "original": { @@ -360,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739214665, - "narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=", + "lastModified": 1739866667, + "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a", + "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "type": "github" }, "original": { @@ -408,11 +408,11 @@ ] }, "locked": { - "lastModified": 1738953846, - "narHash": "sha256-yrK3Hjcr8F7qS/j2F+r7C7o010eVWWlm4T1PrbKBOxQ=", + "lastModified": 1739829690, + "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "4f09b473c936d41582dd744e19f34ec27592c5fd", + "rev": "3d0579f5cc93436052d94b73925b48973a104204", "type": "github" }, "original": { diff --git a/home/common/nvim/blink-cmp.lua b/home/common/nvim/blink-cmp.lua index 113fda6..ea0124d 100644 --- a/home/common/nvim/blink-cmp.lua +++ b/home/common/nvim/blink-cmp.lua @@ -60,12 +60,15 @@ require 'blink-cmp'.setup({ window = { border = 'rounded', }, }, + cmdline = { + sources = {}, + }, + sources = { default = { 'lsp', 'emoji', }, - cmdline = {}, providers = { emoji = { module = "blink-emoji", diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index a168ac2..80ac9ac 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -8,6 +8,7 @@ cameractrls-gtk4 dynamic-wallpaper gimp + gimpPlugins.bimp inkscape moonlight-qt obsidian From 0441301e12b9b84d53fd38bc6e613e6da2415e6d Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 24 Feb 2025 10:09:12 +0100 Subject: [PATCH 636/656] Add wezterm --- flake.lock | 74 ++++++++++++++++++++--------------------- home/common/default.nix | 1 + home/common/wezterm.nix | 72 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 37 deletions(-) create mode 100644 home/common/wezterm.nix diff --git a/flake.lock b/flake.lock index 2eaef20..ea297bf 100644 --- a/flake.lock +++ b/flake.lock @@ -56,11 +56,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1740872218, + "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "3876f6b87db82f33775b1ef5ea343986105db764", "type": "github" }, "original": { @@ -118,11 +118,11 @@ "zig2nix": "zig2nix" }, "locked": { - "lastModified": 1739918167, - "narHash": "sha256-6zdYjNKqMTKfHKlaz0kKqqSmoSCqEjv1vyIygqi3wCo=", + "lastModified": 1741376783, + "narHash": "sha256-vXlLil+0Cz6hznEX2GpwDlb8TM+Q8Cz0gLTebUhPtvE=", "owner": "ghostty-org", "repo": "ghostty", - "rev": "38908e01268298ced33b7b6835e49b8c6d437e12", + "rev": "4a215a9518c277780babe5d00e24784f456c80dd", "type": "github" }, "original": { @@ -141,11 +141,11 @@ ] }, "locked": { - "lastModified": 1737465171, - "narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=", + "lastModified": 1740915799, + "narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17", + "rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", "type": "github" }, "original": { @@ -205,11 +205,11 @@ ] }, "locked": { - "lastModified": 1739992710, - "narHash": "sha256-9kEscmGnXHjSgcqyJR4TzzHhska4yz1inSQs6HuO9qU=", + "lastModified": 1741378606, + "narHash": "sha256-ytDmwV93lZ1f6jswJkxEQz5cBlwje/2rH/yUZDADZNs=", "owner": "nix-community", "repo": "home-manager", - "rev": "1c189f011447810af939a886ba7bee33532bb1f9", + "rev": "95711f926676018d279ba09fe7530d03b5d5b3e2", "type": "github" }, "original": { @@ -229,11 +229,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1740034565, - "narHash": "sha256-fuTCAi//E0WVGNjLk+9juJMfVmCMZXy66hOpXAbZX90=", + "lastModified": 1741306000, + "narHash": "sha256-qaDw0TyUceZBLntPBOdd1642T/mBGMNtK5NBuv2gWiY=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "a56e9f2bfce06729a418081fda1dfa1c0dd18f81", + "rev": "c1855b306b8eeb70118b3ba70471188a65e694e7", "type": "github" }, "original": { @@ -245,11 +245,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1739988796, - "narHash": "sha256-oldU5hcEGlMLknn/q0NFFnAUWfPYeJHRTlJtrLjpQQg=", + "lastModified": 1741302428, + "narHash": "sha256-zcgucpL/rgEC/IIii6R4NvmtJsYT+/F0ub1FQOWVv0Q=", "owner": "neovim", "repo": "neovim", - "rev": "b0bbe25c4808158e8c806959e4d185244073647a", + "rev": "e46f07b1d2942c7b5c08fca9a4cac735ee2c0c71", "type": "github" }, "original": { @@ -265,11 +265,11 @@ ] }, "locked": { - "lastModified": 1739676768, - "narHash": "sha256-U1HQ7nzhJyVVXUgjU028UCkbLQLEIkg42+G7iIiBmlU=", + "lastModified": 1740886574, + "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "ae15068e79e22b76c344f0d7f8aed1bb1c5b0b63", + "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", "type": "github" }, "original": { @@ -280,11 +280,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1739863612, - "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", + "lastModified": 1741037377, + "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "632f04521e847173c54fa72973ec6c39a371211c", + "rev": "02032da4af073d0f6110540c8677f16d4be0117f", "type": "github" }, "original": { @@ -312,11 +312,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1739923778, - "narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=", + "lastModified": 1741332913, + "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1", + "rev": "20755fa05115c84be00b04690630cb38f0a203ad", "type": "github" }, "original": { @@ -344,11 +344,11 @@ }, "nixpkgs-unstable_2": { "locked": { - "lastModified": 1739863612, - "narHash": "sha256-UbtgxplOhFcyjBcNbTVO8+HUHAl/WXFDOb6LvqShiZo=", + "lastModified": 1741310760, + "narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "632f04521e847173c54fa72973ec6c39a371211c", + "rev": "de0fe301211c267807afd11b12613f5511ff7433", "type": "github" }, "original": { @@ -360,11 +360,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1739866667, - "narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", + "lastModified": 1741246872, + "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", + "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", "type": "github" }, "original": { @@ -461,16 +461,16 @@ ] }, "locked": { - "lastModified": 1738263917, - "narHash": "sha256-j/3fwe2pEOquHabP/puljOKwAZFjIE9gXZqA91sC48M=", + "lastModified": 1741368279, + "narHash": "sha256-WTaC8HmnIq6O71iK0g9as404BbmS+YyEP5qS85m2JBY=", "owner": "jcollie", "repo": "zig2nix", - "rev": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "rev": "672971b5b6911de21446ad4fc76dee677922eda0", "type": "github" }, "original": { "owner": "jcollie", - "ref": "c311d8e77a6ee0d995f40a6e10a89a3a4ab04f9a", + "ref": "672971b5b6911de21446ad4fc76dee677922eda0", "repo": "zig2nix", "type": "github" } diff --git a/home/common/default.nix b/home/common/default.nix index 26df1d8..c5112bd 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -16,6 +16,7 @@ ./utils.nix ./vcs.nix ./web.nix + ./wezterm.nix ]; options.patagia.desktop.enable = lib.mkEnableOption "Desktop environment"; diff --git a/home/common/wezterm.nix b/home/common/wezterm.nix new file mode 100644 index 0000000..121b8ca --- /dev/null +++ b/home/common/wezterm.nix @@ -0,0 +1,72 @@ +{ + config, + lib, + ... +}: +{ + config = lib.mkIf config.patagia.desktop.enable { + programs.wezterm = { + enable = true; + colorSchemes = { + patagiaLight = { + ansi = [ + "#222222" + "#D14949" + "#48874F" + "#AFA75A" + "#599797" + "#8F6089" + "#5C9FA8" + "#8C8C8C" + ]; + brights = [ + "#444444" + "#FF6D6D" + "#89FF95" + "#FFF484" + "#97DDFF" + "#FDAAF2" + "#85F5DA" + "#E9E9E9" + ]; + background = "#fefeff"; + foreground = "#222222"; + cursor_bg = "#aa0000"; + cursor_border = "#aa0000"; + cursor_fg = "#1B1B1B"; + selection_bg = "#ffe6a4"; + selection_fg = "#483600"; + }; + }; + + extraConfig = '' + return { + font = wezterm.font("Berkeley Mono", { weight = "Regular", stretch = "Normal" }), + font_size = 16, + -- freetype_load_target = "HorizontalLcd", + freetype_load_target = "Light", + -- font_size = 11, + -- font_size = 11, + -- freetype_load_target = "Normal", + freetype_load_flags = "NO_AUTOHINT", + color_scheme = "patagiaLight", + check_for_updates = false, + custom_block_glyphs = false, + warn_about_missing_glyphs = false, + bold_brightens_ansi_colors = false, + unicode_version = 14, + allow_square_glyphs_to_overflow_width = "Always", + xcursor_theme = "Adwaita", + hide_mouse_cursor_when_typing = false, + tab_bar_at_bottom = true, + use_fancy_tab_bar = false, + show_tab_index_in_tab_bar = true, + underline_position = -4, + underline_thickness = 2, + --line_height = 0.95, + } + ''; + + }; + }; +} From fcf9b318c44fa0bdd7292b4060f0a48f2ef454b1 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 637/656] ghostty: use package from nixpkgs --- flake.nix | 1 - home/common/ghostty.nix | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/flake.nix b/flake.nix index 0eb9df5..0918288 100644 --- a/flake.nix +++ b/flake.nix @@ -14,7 +14,6 @@ }; inputs = { - ghostty.url = "github:ghostty-org/ghostty"; neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 50f8cd5..e41df52 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -1,8 +1,6 @@ { config, - inputs, lib, - pkgs, ... }: { @@ -10,7 +8,7 @@ programs.ghostty = { enable = true; enableFishIntegration = true; - package = inputs.ghostty.packages.${pkgs.system}.default; + # package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 11; font-family = "Berkeley Mono"; From c1eb392528565e145457c932091c28e0ead7de90 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 638/656] jj: signing config --- home/dln/home.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/dln/home.nix b/home/dln/home.nix index f0d23e4..ae8681e 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -53,7 +53,7 @@ in }; signing = { - sign-all = true; + behavior = "own"; backend = "ssh"; backends.ssh.allowed-signers = "/home/dln/.ssh/authorized_keys"; key = "/home/dln/.ssh/git_signing_key.pub"; From 6b334b05e869b6cdd3aec159b253be92dc2d4e6f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 639/656] just: Remove boot recipe since it might break the system if not rebooted --- justfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/justfile b/justfile index 75763bf..ccf14df 100644 --- a/justfile +++ b/justfile @@ -4,9 +4,6 @@ set shell := ["/usr/bin/env", "bash", "-euo", "pipefail", "-c"] default: @just --list -boot: - nh os boot . - build: nh os build . From d0240503710bf640c244fad584187bd4d8669d12 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 9 Mar 2025 09:22:29 +0100 Subject: [PATCH 640/656] ghostty: tweaks --- flake.lock | 227 ++++++---------------------------------- home/common/ghostty.nix | 4 +- home/common/gnome.nix | 1 + 3 files changed, 38 insertions(+), 194 deletions(-) diff --git a/flake.lock b/flake.lock index ea297bf..f1e65c9 100644 --- a/flake.lock +++ b/flake.lock @@ -17,22 +17,6 @@ } }, "flake-compat_2": { - "flake": false, - "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", - "owner": "edolstra", - "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", - "type": "github" - }, - "original": { - "owner": "edolstra", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_3": { "flake": false, "locked": { "lastModified": 1696426674, @@ -56,11 +40,11 @@ ] }, "locked": { - "lastModified": 1740872218, - "narHash": "sha256-ZaMw0pdoUKigLpv9HiNDH2Pjnosg7NBYMJlHTIsHEUo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3876f6b87db82f33775b1ef5ea343986105db764", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -90,50 +74,9 @@ "type": "indirect" } }, - "flake-utils": { - "inputs": { - "systems": "systems" - }, - "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "ghostty": { - "inputs": { - "flake-compat": "flake-compat", - "flake-utils": "flake-utils", - "nixpkgs-stable": "nixpkgs-stable", - "nixpkgs-unstable": "nixpkgs-unstable", - "zig": "zig", - "zig2nix": "zig2nix" - }, - "locked": { - "lastModified": 1741376783, - "narHash": "sha256-vXlLil+0Cz6hznEX2GpwDlb8TM+Q8Cz0gLTebUhPtvE=", - "owner": "ghostty-org", - "repo": "ghostty", - "rev": "4a215a9518c277780babe5d00e24784f456c80dd", - "type": "github" - }, - "original": { - "owner": "ghostty-org", - "repo": "ghostty", - "type": "github" - } - }, "git-hooks": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_2", "gitignore": "gitignore", "nixpkgs": [ "neovim-nightly-overlay", @@ -141,11 +84,11 @@ ] }, "locked": { - "lastModified": 1740915799, - "narHash": "sha256-JvQvtaphZNmeeV+IpHgNdiNePsIpHD5U/7QN5AeY44A=", + "lastModified": 1741379162, + "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "42b1ba089d2034d910566bf6b40830af6b8ec732", + "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", "type": "github" }, "original": { @@ -205,11 +148,11 @@ ] }, "locked": { - "lastModified": 1741378606, - "narHash": "sha256-ytDmwV93lZ1f6jswJkxEQz5cBlwje/2rH/yUZDADZNs=", + "lastModified": 1741579508, + "narHash": "sha256-skRbH+UF2ES+msEa+KWi7AQFX73S+QsGlPsyCU6XyE0=", "owner": "nix-community", "repo": "home-manager", - "rev": "95711f926676018d279ba09fe7530d03b5d5b3e2", + "rev": "744f749dd6fbc1489591ea370b95156858629cb9", "type": "github" }, "original": { @@ -220,7 +163,7 @@ }, "neovim-nightly-overlay": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat", "flake-parts": "flake-parts", "git-hooks": "git-hooks", "hercules-ci-effects": "hercules-ci-effects", @@ -229,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741306000, - "narHash": "sha256-qaDw0TyUceZBLntPBOdd1642T/mBGMNtK5NBuv2gWiY=", + "lastModified": 1741565384, + "narHash": "sha256-J6i/A2XM0cctEUJH3p0jeDUg1jhzKriPjfkhvEc/THw=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c1855b306b8eeb70118b3ba70471188a65e694e7", + "rev": "7ecc342f01679cf4b275d8353bdcd192dfde4333", "type": "github" }, "original": { @@ -245,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1741302428, - "narHash": "sha256-zcgucpL/rgEC/IIii6R4NvmtJsYT+/F0ub1FQOWVv0Q=", + "lastModified": 1741563807, + "narHash": "sha256-KfhHApWCRoqzR3X529be2qeBRa7KY8gXh8C2204J1rE=", "owner": "neovim", "repo": "neovim", - "rev": "e46f07b1d2942c7b5c08fca9a4cac735ee2c0c71", + "rev": "b90f649ca2e240c1bfb22fe91247bc90314af1e1", "type": "github" }, "original": { @@ -265,11 +208,11 @@ ] }, "locked": { - "lastModified": 1740886574, - "narHash": "sha256-jN6kJ41B6jUVDTebIWeebTvrKP6YiLd1/wMej4uq4Sk=", + "lastModified": 1741490098, + "narHash": "sha256-/tjVMbMzxJXrJaEk9N5esnbLebIZrkS1fbDJce/RiQg=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "26a0f969549cf4d56f6e9046b9e0418b3f3b94a5", + "rev": "296a2c992a28b37427d062ade6e20d467e479e3f", "type": "github" }, "original": { @@ -280,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741037377, - "narHash": "sha256-SvtvVKHaUX4Owb+PasySwZsoc5VUeTf1px34BByiOxw=", + "lastModified": 1741402956, + "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "02032da4af073d0f6110540c8677f16d4be0117f", + "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", "type": "github" }, "original": { @@ -296,27 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1738255539, - "narHash": "sha256-hP2eOqhIO/OILW+3moNWO4GtdJFYCqAe9yJZgvlCoDQ=", + "lastModified": 1741445498, + "narHash": "sha256-F5Em0iv/CxkN5mZ9hRn3vPknpoWdcdCyR0e4WklHwiE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c3511a3b53b482aa7547c9d1626fd7310c1de1c5", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "release-24.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-stable_2": { - "locked": { - "lastModified": 1741332913, - "narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "20755fa05115c84be00b04690630cb38f0a203ad", + "rev": "52e3095f6d812b91b22fb7ad0bfc1ab416453634", "type": "github" }, "original": { @@ -328,27 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1738136902, - "narHash": "sha256-pUvLijVGARw4u793APze3j6mU1Zwdtz7hGkGGkD87qw=", + "lastModified": 1741402956, + "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9a5db3142ce450045840cc8d832b13b8a2018e0c", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs-unstable_2": { - "locked": { - "lastModified": 1741310760, - "narHash": "sha256-aizILFrPgq/W53Jw8i0a1h1GZAAKtlYOrG/A5r46gVM=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "de0fe301211c267807afd11b12613f5511ff7433", + "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", "type": "github" }, "original": { @@ -360,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741246872, - "narHash": "sha256-Q6pMP4a9ed636qilcYX8XUguvKl/0/LGXhHcRI91p0U=", + "lastModified": 1741379970, + "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", "owner": "nixos", "repo": "nixpkgs", - "rev": "10069ef4cf863633f57238f179a0297de84bd8d3", + "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", "type": "github" }, "original": { @@ -376,28 +287,12 @@ }, "root": { "inputs": { - "ghostty": "ghostty", "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-index-database": "nix-index-database", "nixpkgs": "nixpkgs_2", - "nixpkgs-stable": "nixpkgs-stable_2", - "nixpkgs-unstable": "nixpkgs-unstable_2" - } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable" } }, "treefmt-nix": { @@ -420,60 +315,6 @@ "repo": "treefmt-nix", "type": "github" } - }, - "zig": { - "inputs": { - "flake-compat": [ - "ghostty" - ], - "flake-utils": [ - "ghostty", - "flake-utils" - ], - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1738239110, - "narHash": "sha256-Y5i9mQ++dyIQr+zEPNy+KIbc5wjPmfllBrag3cHZgcE=", - "owner": "mitchellh", - "repo": "zig-overlay", - "rev": "1a8fb6f3a04724519436355564b95fce5e272504", - "type": "github" - }, - "original": { - "owner": "mitchellh", - "repo": "zig-overlay", - "type": "github" - } - }, - "zig2nix": { - "inputs": { - "flake-utils": [ - "ghostty", - "flake-utils" - ], - "nixpkgs": [ - "ghostty", - "nixpkgs-stable" - ] - }, - "locked": { - "lastModified": 1741368279, - "narHash": "sha256-WTaC8HmnIq6O71iK0g9as404BbmS+YyEP5qS85m2JBY=", - "owner": "jcollie", - "repo": "zig2nix", - "rev": "672971b5b6911de21446ad4fc76dee677922eda0", - "type": "github" - }, - "original": { - "owner": "jcollie", - "ref": "672971b5b6911de21446ad4fc76dee677922eda0", - "repo": "zig2nix", - "type": "github" - } } }, "root": "root", diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index e41df52..25765b6 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -8,7 +8,6 @@ programs.ghostty = { enable = true; enableFishIntegration = true; - # package = inputs.ghostty.packages.${pkgs.system}.default; settings = { font-size = 11; font-family = "Berkeley Mono"; @@ -35,6 +34,8 @@ gtk-tabs-location = "hidden"; gtk-titlebar = false; gtk-titlebar-hide-when-maximized = true; + window-height = 60; + window-width = 160; window-padding-balance = true; window-padding-color = "extend"; window-theme = "system"; @@ -46,6 +47,7 @@ "ctrl+i=text:\\x09" "ctrl+m=text:\\x0D" "ctrl+tab=goto_split:previous" + "alt+`=goto_split:previous" "ctrl+[=text:\\x1B" "super+enter=toggle_fullscreen" ]; diff --git a/home/common/gnome.nix b/home/common/gnome.nix index 0c07521..d92b7ac 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -26,6 +26,7 @@ with lib.hm.gvariant; minimize = [ "<Super>comma" ]; move-to-center = [ "<Super>c" ]; switch-applications = [ "<Super>Tab" ]; + switch-group = [ "<Super>Above_Tab" ]; switch-windows = [ "<Alt>Tab" ]; move-to-workspace-1 = [ "<Shift>F1" ]; move-to-workspace-2 = [ "<Shift>F2" ]; From 45054efd167da476a294b84a025dad70cd57f81f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 14:41:25 +0100 Subject: [PATCH 641/656] nvim: statusline --- home/common/nvim/dieter/lua/dieter/init.lua | 1 + home/common/nvim/init.lua | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 2d6c96a..0f69917 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -126,6 +126,7 @@ local setupGroups = function(c) Type = { link = "NormalNC" }, MsgArea = { fg = c.dimmed_subtle }, + StatusLine = { fg = c.dimmed, bg = c.dimmed_subtle }, String = { fg = c.string }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 0b30e4f..3d80450 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -8,7 +8,6 @@ vim.g.maplocalleader = "," vim.opt.cursorline = false vim.opt.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50,a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor,sm:block-blinkwait175-blinkoff150-blinkon175" -vim.opt.laststatus = 0 vim.opt.number = false vim.opt.relativenumber = false vim.opt.ruler = true @@ -44,7 +43,7 @@ function CondensedPath() return vim.fn.pathshorten(early_path) .. '/' .. late_path end -vim.opt.rulerformat = "%50(%=%{%v:lua.GetIndicators()%}%#MsgArea#%{%v:lua.CondensedPath()%}%)%7(%l:%c%)" +vim.opt.statusline = "%{%v:lua.CondensedPath()%}%=%{%v:lua.GetIndicators()%}%7(%l:%c%)" -- Search vim.opt.ignorecase = true From d0e5de27953bea580e2d920376d457844020e778 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 642/656] gnome: Add night-light-slider extension --- home/common/gnome.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/common/gnome.nix b/home/common/gnome.nix index d92b7ac..c2e64a7 100644 --- a/home/common/gnome.nix +++ b/home/common/gnome.nix @@ -15,6 +15,7 @@ with lib.hm.gvariant; gnomeExtensions.desktop-clock gnomeExtensions.emoji-copy gnomeExtensions.just-perfection + gnomeExtensions.night-light-slider ]; dconf.settings = { From e65cdf5e23d46f10cf31aa3400699df1867cd8e6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 643/656] ghostty: color --- home/common/ghostty.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index 25765b6..f9f52d7 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -26,8 +26,8 @@ adjust-underline-thickness = -1; mouse-hide-while-typing = true; - unfocused-split-opacity = 0.85; - unfocused-split-fill = "#14151a"; + unfocused-split-opacity = 0.8; + unfocused-split-fill = "#056157"; shell-integration = "fish"; From 996edfcce45397fae89bf0982371e8338d9cd1d8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 644/656] nemo: enable cups --- hosts/nemo/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hosts/nemo/default.nix b/hosts/nemo/default.nix index a20e460..7f7c70c 100644 --- a/hosts/nemo/default.nix +++ b/hosts/nemo/default.nix @@ -235,5 +235,8 @@ "nixremote" ]; + services.printing.enable = lib.mkForce true; + services.printing.drivers = [ pkgs.brlaser ]; + system.stateVersion = "24.11"; # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion } From c2d855850aed8110167d2e7618d3fa0767f9dffe Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 645/656] desktop: add libreoffice --- home/dln/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 80ac9ac..78177b4 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -10,6 +10,7 @@ gimp gimpPlugins.bimp inkscape + libreoffice moonlight-qt obsidian pavucontrol From 58ea91fac9a9f9b4a70a944585ec24773d2eaaa8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Wed, 12 Mar 2025 15:03:21 +0100 Subject: [PATCH 646/656] nvim: add <Space>ud to toggle virtual diagnostic lines --- flake.lock | 72 +++++++++++++++++++-------------------- home/common/nvim/init.lua | 10 +++++- 2 files changed, 45 insertions(+), 37 deletions(-) diff --git a/flake.lock b/flake.lock index f1e65c9..2f375d2 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1738453229, - "narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=", + "lastModified": 1741352980, + "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd", + "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1741379162, - "narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=", + "lastModified": 1742649964, + "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc", + "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1739595404, - "narHash": "sha256-0CjCfbq0yHWexOrpO06e2WU1r5JAqR6ffy1zgM3NksI=", + "lastModified": 1742014779, + "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "06519cec8fb32d219006da6eacd255504a9996af", + "rev": "524637ef84c177661690b924bf64a1ce18072a2c", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1741579508, - "narHash": "sha256-skRbH+UF2ES+msEa+KWi7AQFX73S+QsGlPsyCU6XyE0=", + "lastModified": 1743360001, + "narHash": "sha256-HtpS/ZdgWXw0y+aFdORcX5RuBGTyz3WskThspNR70SM=", "owner": "nix-community", "repo": "home-manager", - "rev": "744f749dd6fbc1489591ea370b95156858629cb9", + "rev": "b6fd653ef8fbeccfd4958650757e91767a65506d", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1741565384, - "narHash": "sha256-J6i/A2XM0cctEUJH3p0jeDUg1jhzKriPjfkhvEc/THw=", + "lastModified": 1743398899, + "narHash": "sha256-gJeoWpWv14MnLoiERpVhHWSDzujvg9UM2BvR7BZe6AI=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7ecc342f01679cf4b275d8353bdcd192dfde4333", + "rev": "4be99133c03920579de8c3fe7c05ff1de60a7fbe", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1741563807, - "narHash": "sha256-KfhHApWCRoqzR3X529be2qeBRa7KY8gXh8C2204J1rE=", + "lastModified": 1743368881, + "narHash": "sha256-CRORP8EaJ/Ajdx6WbUSjt9X4zNToyDLkzWz6VIthsaA=", "owner": "neovim", "repo": "neovim", - "rev": "b90f649ca2e240c1bfb22fe91247bc90314af1e1", + "rev": "ee143aaf65a0e662c42c636aa4a959682858b3e7", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1741490098, - "narHash": "sha256-/tjVMbMzxJXrJaEk9N5esnbLebIZrkS1fbDJce/RiQg=", + "lastModified": 1743306489, + "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "296a2c992a28b37427d062ade6e20d467e479e3f", + "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1743259260, + "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1741445498, - "narHash": "sha256-F5Em0iv/CxkN5mZ9hRn3vPknpoWdcdCyR0e4WklHwiE=", + "lastModified": 1743231893, + "narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52e3095f6d812b91b22fb7ad0bfc1ab416453634", + "rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1741402956, - "narHash": "sha256-y2hByvBM03s9T2fpeLjW6iprbxnhV9mJMmSwCHc41ZQ=", + "lastModified": 1743259260, + "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", "owner": "nixos", "repo": "nixpkgs", - "rev": "ed0b1881565c1ffef490c10d663d4f542031dad3", + "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1741379970, - "narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=", + "lastModified": 1743315132, + "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f", + "rev": "52faf482a3889b7619003c0daec593a1912fddc1", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1739829690, - "narHash": "sha256-mL1szCeIsjh6Khn3nH2cYtwO5YXG6gBiTw1A30iGeDU=", + "lastModified": 1743081648, + "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "3d0579f5cc93436052d94b73925b48973a104204", + "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", "type": "github" }, "original": { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 3d80450..cae84e0 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -114,8 +114,16 @@ vim.diagnostic.config { [vim.diagnostic.severity.HINT] = "", }, }, - virtual_lines = true, + virtual_lines = { current_line = true }, } +vim.keymap.set('n', '<Space>ud', function() + if vim.diagnostic.config().virtual_lines == true then + vim.diagnostic.config({ virtual_lines = { current_line = true } }) + else + vim.diagnostic.config({ virtual_lines = true }) + end +end, { desc = 'Toggle diagnostic virtual_lines' }) + -- Make <Tab> work for snippets vim.keymap.set({ "i", "s" }, "<Tab>", function() From 87a97f822add4ef67c032b863dab3bd5958760a6 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 1 Apr 2025 11:34:54 +0200 Subject: [PATCH 647/656] nix: update --- flake.lock | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/flake.lock b/flake.lock index 2f375d2..85c2258 100644 --- a/flake.lock +++ b/flake.lock @@ -40,11 +40,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1743360001, - "narHash": "sha256-HtpS/ZdgWXw0y+aFdORcX5RuBGTyz3WskThspNR70SM=", + "lastModified": 1744008831, + "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", "owner": "nix-community", "repo": "home-manager", - "rev": "b6fd653ef8fbeccfd4958650757e91767a65506d", + "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1743398899, - "narHash": "sha256-gJeoWpWv14MnLoiERpVhHWSDzujvg9UM2BvR7BZe6AI=", + "lastModified": 1744003175, + "narHash": "sha256-b0b/qxiqf2G2/UrmcyP9aYr0Ni5NpdCY6GEF8KgnmCU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "4be99133c03920579de8c3fe7c05ff1de60a7fbe", + "rev": "f7f5a474c38e3e41827b067f741e12ecbbe5cf18", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1743368881, - "narHash": "sha256-CRORP8EaJ/Ajdx6WbUSjt9X4zNToyDLkzWz6VIthsaA=", + "lastModified": 1743931206, + "narHash": "sha256-Dl6kHmsN6AZBWEgEbQGpKYy+qvg+oPbBrK/CFQsWmZM=", "owner": "neovim", "repo": "neovim", - "rev": "ee143aaf65a0e662c42c636aa4a959682858b3e7", + "rev": "2d11b981bfbb7816d88a69b43b758f3a3f515b96", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1743306489, - "narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=", + "lastModified": 1743911143, + "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d", + "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743259260, - "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", + "lastModified": 1743814133, + "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", + "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1743231893, - "narHash": "sha256-tpJsHMUPEhEnzySoQxx7+kA+KUtgWqvlcUBqROYNNt0=", + "lastModified": 1743813633, + "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", "owner": "nixos", "repo": "nixpkgs", - "rev": "c570c1f5304493cafe133b8d843c7c1c4a10d3a6", + "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743259260, - "narHash": "sha256-ArWLUgRm1tKHiqlhnymyVqi5kLNCK5ghvm06mfCl4QY=", + "lastModified": 1743938762, + "narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "eb0e0f21f15c559d2ac7633dc81d079d1caf5f5f", + "rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743315132, - "narHash": "sha256-6hl6L/tRnwubHcA4pfUUtk542wn2Om+D4UnDhlDW9BE=", + "lastModified": 1743827369, + "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "52faf482a3889b7619003c0daec593a1912fddc1", + "rev": "42a1c966be226125b48c384171c44c651c236c22", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1743081648, - "narHash": "sha256-WRAylyYptt6OX5eCEBWyTwOEqEtD6zt33rlUkr6u3cE=", + "lastModified": 1743748085, + "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "29a3d7b768c70addce17af0869f6e2bd8f5be4b7", + "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", "type": "github" }, "original": { From 98006874b86dca3e69e167de58d7474add82e685 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 7 Apr 2025 16:05:06 +0200 Subject: [PATCH 648/656] nvim: Nicer diagnostics --- flake.lock | 42 +++++++++++++++++++-------------------- home/common/nvim/init.lua | 15 ++++++++++---- home/dln/desktop.nix | 1 + 3 files changed, 33 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index 85c2258..b07d989 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744008831, - "narHash": "sha256-g3mHJLB8ShKuMaBBZxiGuoftJ22f7Boegiw5xBUnS8E=", + "lastModified": 1744400600, + "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", "owner": "nix-community", "repo": "home-manager", - "rev": "f463902a3f03e15af658e48bcc60b39188ddf734", + "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744003175, - "narHash": "sha256-b0b/qxiqf2G2/UrmcyP9aYr0Ni5NpdCY6GEF8KgnmCU=", + "lastModified": 1744447706, + "narHash": "sha256-8bkAMTy5A6IEEBrr8fGyBrpRNvHMBttsjmTS3IHO/3w=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "f7f5a474c38e3e41827b067f741e12ecbbe5cf18", + "rev": "8479d0e1c0b9274c25001432169c0056633bf63a", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1743931206, - "narHash": "sha256-Dl6kHmsN6AZBWEgEbQGpKYy+qvg+oPbBrK/CFQsWmZM=", + "lastModified": 1744372015, + "narHash": "sha256-Aith8tgE4jRYDpFa9JqPsA4beTimLmqgwl6PLNlJHyU=", "owner": "neovim", "repo": "neovim", - "rev": "2d11b981bfbb7816d88a69b43b758f3a3f515b96", + "rev": "4a706a70928231643e1a3f3fcf785de7aa930f8b", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1743814133, - "narHash": "sha256-drDyYyUmjeYGiHmwB9eOPTQRjmrq3Yz26knwmMPLZFk=", + "lastModified": 1744316434, + "narHash": "sha256-lzFCg/1C39pyY2hMB2gcuHV79ozpOz/Vu15hdjiFOfI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "250b695f41e0e2f5afbf15c6b12480de1fe0001b", + "rev": "d19cf9dfc633816a437204555afeb9e722386b76", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1743813633, - "narHash": "sha256-BgkBz4NpV6Kg8XF7cmHDHRVGZYnKbvG0Y4p+jElwxaM=", + "lastModified": 1744309437, + "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7819a0d29d1dd2bc331bec4b327f0776359b1fa6", + "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1743938762, - "narHash": "sha256-UgFYn8sGv9B8PoFpUfCa43CjMZBl1x/ShQhRDHBFQdI=", + "lastModified": 1744347518, + "narHash": "sha256-4Y0ByuP4NEz2Zyso9Ozob8yR6kKuaunJ5OARv+tFLPI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "74a40410369a1c35ee09b8a1abee6f4acbedc059", + "rev": "642c54c23609fefb5708b0e2be261446c59138f6", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1743827369, - "narHash": "sha256-rpqepOZ8Eo1zg+KJeWoq1HAOgoMCDloqv5r2EAa9TSA=", + "lastModified": 1744232761, + "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "42a1c966be226125b48c384171c44c651c236c22", + "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", "type": "github" }, "original": { diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index cae84e0..2e21cbf 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -93,6 +93,7 @@ vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -- Diagnostics vim.diagnostic.config { + float = { border = "rounded" }, severity_sort = true, signs = { linehl = { @@ -114,11 +115,12 @@ vim.diagnostic.config { [vim.diagnostic.severity.HINT] = "", }, }, - virtual_lines = { current_line = true }, + virtual_lines = false, } vim.keymap.set('n', '<Space>ud', function() if vim.diagnostic.config().virtual_lines == true then - vim.diagnostic.config({ virtual_lines = { current_line = true } }) + -- vim.diagnostic.config({ virtual_lines = { current_line = true } }) + vim.diagnostic.config({ virtual_lines = false }) else vim.diagnostic.config({ virtual_lines = true }) end @@ -176,8 +178,13 @@ end, opts("Format Buffer")) vim.keymap.set('n', '<Leader><Leader>', "<cmd>Pick visit_paths cwd=''<cr>", opts("Visits")) vim.keymap.set('n', '<Leader>b', "<cmd>Pick buffers<cr>", opts("Open buffer picker")) vim.keymap.set('n', '<Leader>/', "<cmd>Pick grep_live_root<cr>", opts("Search workspace files")) -vim.keymap.set('n', '<Leader>d', "<cmd>Pick diagnostic<cr>", opts("Open diagnostics picker")) -vim.keymap.set("n", "<Leader>D", vim.diagnostic.setloclist, { desc = "Diagnostics to location list" }) +vim.keymap.set('n', '<Leader>d', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<m-d>', vim.diagnostic.open_float, opts("Show diagnostics for line")) +vim.keymap.set('n', '<Leader>D', function() + local width = vim.o.columns - 8 + MiniExtra.pickers.diagnostic({ scope = "current" }, { window = { config = { width = width } } }) +end, opts("Open diagnostics picker")) + vim.keymap.set("n", "<Leader>r", vim.lsp.buf.rename, opts("Rename Symbol")) vim.keymap.set('n', '<Leader>F', "<cmd>Pick files<cr>", opts("Open file picker CWD")) vim.keymap.set('n', '<Leader>f', "<cmd>Pick files_root<cr>", opts("Open file picker")) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index 78177b4..e6f9326 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -16,6 +16,7 @@ pavucontrol plexamp signal-desktop + spotify ]; xdg.desktopEntries = { From 1daf5bc799e23fe0b28e8a8df523469744625191 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Mon, 14 Apr 2025 11:23:29 +0200 Subject: [PATCH 649/656] direnv: set log format --- flake.lock | 66 +++++++++++++++++++++---------------------- home/common/utils.nix | 2 ++ 2 files changed, 35 insertions(+), 33 deletions(-) diff --git a/flake.lock b/flake.lock index b07d989..7674623 100644 --- a/flake.lock +++ b/flake.lock @@ -62,11 +62,11 @@ ] }, "locked": { - "lastModified": 1741352980, - "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=", + "lastModified": 1743550720, + "narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9", + "rev": "c621e8422220273271f52058f618c94e405bb0f5", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1742014779, - "narHash": "sha256-I6fG1zrfdLFcp/imGZElig0BJO3YU0QEXLgvwWoOpJ8=", + "lastModified": 1744693102, + "narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "524637ef84c177661690b924bf64a1ce18072a2c", + "rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1744400600, - "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", + "lastModified": 1745810134, + "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", "owner": "nix-community", "repo": "home-manager", - "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", + "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1744447706, - "narHash": "sha256-8bkAMTy5A6IEEBrr8fGyBrpRNvHMBttsjmTS3IHO/3w=", + "lastModified": 1745798752, + "narHash": "sha256-0jiImtQNvlDqf0eWqWFGugNjhazNmaXMi2fM7/B/cd8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "8479d0e1c0b9274c25001432169c0056633bf63a", + "rev": "31a7206bdf9e0c01db2165e20a6082690c60b9c9", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1744372015, - "narHash": "sha256-Aith8tgE4jRYDpFa9JqPsA4beTimLmqgwl6PLNlJHyU=", + "lastModified": 1745795730, + "narHash": "sha256-7sPk1jScMqsTwXYYFKYILrE9xLk7CK+yCBqcK46HTv8=", "owner": "neovim", "repo": "neovim", - "rev": "4a706a70928231643e1a3f3fcf785de7aa930f8b", + "rev": "ce097c5091eab3550e1534fd111752577b5813ea", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1743911143, - "narHash": "sha256-4j4JPwr0TXHH4ZyorXN5yIcmqIQr0WYacsuPA4ktONo=", + "lastModified": 1745725746, + "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "a36f6a7148aec2c77d78e4466215cceb2f5f4bfb", + "rev": "187524713d0d9b2d2c6f688b81835114d4c2a7c6", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1744316434, - "narHash": "sha256-lzFCg/1C39pyY2hMB2gcuHV79ozpOz/Vu15hdjiFOfI=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d19cf9dfc633816a437204555afeb9e722386b76", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1744309437, - "narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=", + "lastModified": 1745742390, + "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7", + "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1744347518, - "narHash": "sha256-4Y0ByuP4NEz2Zyso9Ozob8yR6kKuaunJ5OARv+tFLPI=", + "lastModified": 1745377448, + "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "642c54c23609fefb5708b0e2be261446c59138f6", + "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1744232761, - "narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=", + "lastModified": 1745526057, + "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14", + "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1743748085, - "narHash": "sha256-uhjnlaVTWo5iD3LXics1rp9gaKgDRQj6660+gbUU3cE=", + "lastModified": 1745780832, + "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "815e4121d6a5d504c0f96e5be2dd7f871e4fd99d", + "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", "type": "github" }, "original": { diff --git a/home/common/utils.nix b/home/common/utils.nix index 91b6130..ff902b9 100644 --- a/home/common/utils.nix +++ b/home/common/utils.nix @@ -7,6 +7,8 @@ viddy ]; + home.sessionVariables.DIRENV_LOG_FORMAT = ''$(printf "\033[2mdirenv: %%s\033[0m")''; + programs = { bat = { enable = true; From 1e1285d62bf1e7040e7f804d1d8fa5825749117f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sat, 8 Mar 2025 16:29:34 +0100 Subject: [PATCH 650/656] ghostty: use defaults for hinting --- home/common/ghostty.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index f9f52d7..f2283cb 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -19,8 +19,6 @@ font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; - freetype-load-flags = "no-force-autohint"; - adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; From b7f67c62234748e6575c9714e5eff5e5dadd9f3f Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Fri, 2 May 2025 11:54:52 +0200 Subject: [PATCH 651/656] neovim: float colors --- flake.lock | 52 ++++++++++----------- home/common/nvim/dieter/lua/dieter/init.lua | 30 ++++++------ home/common/nvim/init.lua | 6 ++- 3 files changed, 47 insertions(+), 41 deletions(-) diff --git a/flake.lock b/flake.lock index 7674623..d48527d 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1745810134, - "narHash": "sha256-WfnYH/i7DFzn4SESQfWviXiNUZjohZhzODqLwKYHIPI=", + "lastModified": 1746169624, + "narHash": "sha256-oIAZDng5FYQXnmGJrK4WZX2tsQ1nmxHd9OrcySm/Jf4=", "owner": "nix-community", "repo": "home-manager", - "rev": "be7cf1709b469a2a2c62169172a167d1fed3509f", + "rev": "1298a3418be1a875e9ae6643770b0939814cd441", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1745798752, - "narHash": "sha256-0jiImtQNvlDqf0eWqWFGugNjhazNmaXMi2fM7/B/cd8=", + "lastModified": 1746168726, + "narHash": "sha256-ZkgW3U37lTwzqUo2rfko+utld5ChnYWDunJ2hAcJOQo=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "31a7206bdf9e0c01db2165e20a6082690c60b9c9", + "rev": "d4e6959d82e9e9dc609dcbf7a29fd293fad9c912", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1745795730, - "narHash": "sha256-7sPk1jScMqsTwXYYFKYILrE9xLk7CK+yCBqcK46HTv8=", + "lastModified": 1746141998, + "narHash": "sha256-CYxer9cRvlMySr76epuh5Ub3ryyDV94yVwDC1M/MPvw=", "owner": "neovim", "repo": "neovim", - "rev": "ce097c5091eab3550e1534fd111752577b5813ea", + "rev": "ce8b755a86c10496a81675c49b3bc9a42c79d80f", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1745725746, + "lastModified": 1746054057, "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "187524713d0d9b2d2c6f688b81835114d4c2a7c6", + "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746061036, + "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1745742390, - "narHash": "sha256-1rqa/XPSJqJg21BKWjzJZC7yU0l/YTVtjRi0RJmipus=", + "lastModified": 1746055187, + "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "26245db0cb552047418cfcef9a25da91b222d6c7", + "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1745377448, - "narHash": "sha256-jhZDfXVKdD7TSEGgzFJQvEEZ2K65UMiqW5YJ2aIqxMA=", + "lastModified": 1746123514, + "narHash": "sha256-UNO+MbVHLl4AkVWYqekk72/gqFNSLYNkBgto7h+7P3U=", "owner": "nixos", "repo": "nixpkgs", - "rev": "507b63021ada5fee621b6ca371c4fca9ca46f52c", + "rev": "b5dd9efc912ecabeafa4f082d31e19cb1c74266c", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1745526057, - "narHash": "sha256-ITSpPDwvLBZBnPRS2bUcHY3gZSwis/uTe255QgMtTLA=", + "lastModified": 1746141548, + "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f771eb401a46846c1aebd20552521b233dd7e18b", + "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1745780832, - "narHash": "sha256-jGzkZoJWx+nJnPe0Z2xQBUOqMKuR1slVFQrMjFTKgeM=", + "lastModified": 1745929750, + "narHash": "sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "b2b6c027d708fbf4b01c9c11f6e80f2800b5a624", + "rev": "82bf32e541b30080d94e46af13d46da0708609ea", "type": "github" }, "original": { diff --git a/home/common/nvim/dieter/lua/dieter/init.lua b/home/common/nvim/dieter/lua/dieter/init.lua index 0f69917..6c5eebb 100644 --- a/home/common/nvim/dieter/lua/dieter/init.lua +++ b/home/common/nvim/dieter/lua/dieter/init.lua @@ -15,6 +15,8 @@ local colors = { highlight_intense = hsl(42, 100, 30), dialog_fg = hsl(230, 13, 10), + dialog_bg = hsl(50, 15, 95), + dialog_border = hsl(50, 25, 75), string = hsl(96, 50, 33), comment = hsl(360, 66, 40), @@ -38,7 +40,7 @@ local colors = { change_quarter = hsl(224, 100, 85), delete = hsl(350, 100, 40), - selection = hsl(270, 75, 92), + selection = hsl(270, 45, 92), search_bg = hsl(43, 100, 8), search_fg = hsl(43, 100, 85), @@ -67,6 +69,7 @@ local colors = { highlight_intense = hsl(58, 100, 60), dialog_fg = hsl(191, 15, 75), + dialog_bg = "NONE", string = hsl(90, 30, 60), comment = hsl(216, 30, 55), @@ -111,7 +114,6 @@ local colors = { } local setupGroups = function(c) - c.dialog_bg = c.background return { Normal = { fg = c.foreground, bg = c.background }, @@ -166,10 +168,10 @@ local setupGroups = function(c) DiagnosticHint = { fg = c.diagnostic_hint, italic = true }, DiagnosticInfo = { fg = c.diagnostic_info, italic = true }, DiagnosticWarn = { fg = c.diagnostic_warn, italic = true }, - DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.popup_error_bg }, - DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.popup_hint_bg }, - DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.popup_info_bg }, - DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.popup_warning_bg }, + DiagnosticFloatingError = { fg = c.diagnostic_error, bg = c.dialog_bg }, + DiagnosticFloatingHint = { fg = c.diagnostic_hint, bg = c.dialog_bg }, + DiagnosticFloatingInfo = { fg = c.diagnostic_info, bg = c.dialog_bg }, + DiagnosticFloatingWarn = { fg = c.diagnostic_warning, bg = c.dialog_bg }, DiagnosticUnderlineError = { fg = c.foreground, undercurl = true, sp = c.diagnostic_error }, DiagnosticUnderlineHint = { fg = c.foreground, undercurl = true, sp = c.diagnostic_hint }, DiagnosticUnderlineInfo = { fg = c.foreground, undercurl = true, sp = c.diagnostic_info }, @@ -194,22 +196,22 @@ local setupGroups = function(c) EndOfBuffer = { fg = c.dimmed }, WinSeparator = { bg = c.dialog_bg, fg = c.dialog_fg }, - NormalFloat = { bg = c.background, fg = c.foreground }, - FloatBorder = { fg = c.foreground }, - FloatTitle = { fg = c.doc_fg, bold = true }, + NormalFloat = { bg = c.dialog_bg, fg = c.foreground }, + FloatBorder = { bg = c.dialog_bg, fg = c.dialog_border }, + FloatTitle = { bg = c.dialog_bg, fg = c.dialog_border, bold = true }, Title = { fg = c.foreground, bold = true }, MiniPickNormal = { bg = c.dialog_bg, fg = c.dialog_fg }, - MiniPickBorder = { link = "MiniPickNormal" }, + MiniPickBorder = { bg = c.dialog_bg, fg = c.dialog_border }, MiniPickBorderText = { link = "MiniPickBorder" }, MiniPickMatchCurrent = { bg = c.dialog_bg, fg = c.dialog_fg, reverse = true }, - MiniClueBorder = { link = "MiniPicBorder" }, - MiniClueTitle = { bg = c.background, fg = c.foreground, bold = true }, + MiniClueBorder = { link = "MiniPickBorder" }, + MiniClueTitle = { bg = c.dialog_bg, fg = c.dialog_border, bold = true }, MiniClueNextKey = { link = "MiniClueTitle" }, - MiniClueDescGroup = { bg = c.background, fg = c.foreground, italic = true }, - MiniClueDescSingle = { bg = c.background, fg = c.foreground }, + MiniClueDescGroup = { bg = c.dialog_bg, fg = c.foreground, italic = true }, + MiniClueDescSingle = { bg = c.dialog_bg, fg = c.foreground }, MiniClueSeparator = { link = "MiniClueBorder" }, MiniCursorWord = { underdotted = true, bold = true, sp = c.diagnostic_hint }, diff --git a/home/common/nvim/init.lua b/home/common/nvim/init.lua index 2e21cbf..cd34947 100644 --- a/home/common/nvim/init.lua +++ b/home/common/nvim/init.lua @@ -93,7 +93,11 @@ vim.opt.grepformat = vim.opt.grepformat ^ { "%f:%l:%c:%m" } -- Diagnostics vim.diagnostic.config { - float = { border = "rounded" }, + float = { + border = "rounded", + header = "", + source = "if_many", + }, severity_sort = true, signs = { linehl = { From db13d109f931026758ad917a9dbf9d4f5509fdaa Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 19:31:33 +0200 Subject: [PATCH 652/656] update --- common/desktop.nix | 1 + flake.lock | 74 ++++++++++++++++++++--------------------- flake.nix | 2 +- home/dln/dinky.nix | 8 +---- home/dln/home.nix | 3 +- home/dln/nemo.nix | 2 +- hosts/dinky/default.nix | 2 +- overlays/default.nix | 4 ++- 8 files changed, 46 insertions(+), 50 deletions(-) diff --git a/common/desktop.nix b/common/desktop.nix index cf16871..b8a467e 100644 --- a/common/desktop.nix +++ b/common/desktop.nix @@ -66,6 +66,7 @@ in ]; }; + programs.ssh.enableAskPassword = true; programs.ssh.askPassword = "${pkgs.gnome-ssh-askpass4}/bin/gnome-ssh-askpass4"; programs.ssh.startAgent = true; diff --git a/flake.lock b/flake.lock index d48527d..30757ec 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "flake-compat": { "flake": false, "locked": { - "lastModified": 1733328505, - "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "owner": "edolstra", "repo": "flake-compat", - "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "type": "github" }, "original": { @@ -84,11 +84,11 @@ ] }, "locked": { - "lastModified": 1742649964, - "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=", + "lastModified": 1747372754, + "narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82", + "rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "type": "github" }, "original": { @@ -128,11 +128,11 @@ ] }, "locked": { - "lastModified": 1744693102, - "narHash": "sha256-1Z4WPGVky4w3lrhrgs89OKsLzPdtkbi1bPLNFWsoLfY=", + "lastModified": 1748000383, + "narHash": "sha256-EaAJhwfJGBncgIV/0NlJviid2DP93cTMc9h0q6P6xXk=", "owner": "hercules-ci", "repo": "hercules-ci-effects", - "rev": "5b6cec51c9ec095a0d3fd4c8eeb53eb5c59ae33e", + "rev": "231726642197817d20310b9d39dd4afb9e899489", "type": "github" }, "original": { @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1746169624, - "narHash": "sha256-oIAZDng5FYQXnmGJrK4WZX2tsQ1nmxHd9OrcySm/Jf4=", + "lastModified": 1748134483, + "narHash": "sha256-5PBK1nV8X39K3qUj8B477Aa2RdbLq3m7wRxUKRtggX4=", "owner": "nix-community", "repo": "home-manager", - "rev": "1298a3418be1a875e9ae6643770b0939814cd441", + "rev": "c1e671036224089937e111e32ea899f59181c383", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1746168726, - "narHash": "sha256-ZkgW3U37lTwzqUo2rfko+utld5ChnYWDunJ2hAcJOQo=", + "lastModified": 1748070814, + "narHash": "sha256-UENoloiY25w0GmPsni8aswhks13qD1sT7XPQgmBd4tU=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d4e6959d82e9e9dc609dcbf7a29fd293fad9c912", + "rev": "1654f815b79267a32c0eb9feb5962089d855d287", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1746141998, - "narHash": "sha256-CYxer9cRvlMySr76epuh5Ub3ryyDV94yVwDC1M/MPvw=", + "lastModified": 1748041342, + "narHash": "sha256-gYkZbws7QEZ6o5Kh8IPotFAk1thbzzm3C8+vs/M32E4=", "owner": "neovim", "repo": "neovim", - "rev": "ce8b755a86c10496a81675c49b3bc9a42c79d80f", + "rev": "9784bc134624ff6dcf2e59e3c3998e206d2adad7", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1746054057, - "narHash": "sha256-iR+idGZJ191cY6NBXyVjh9QH8GVWTkvZw/w+1Igy45A=", + "lastModified": 1748145500, + "narHash": "sha256-t9fx0l61WOxtWxXCqlXPWSuG/0XMF9DtE2T7KXgMqJw=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "13ba07d54c6ccc5af30a501df669bf3fe3dd4db8", + "rev": "a98adbf54d663395df0b9929f6481d4d80fc8927", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1746061036, - "narHash": "sha256-OxYwCGJf9VJ2KnUO+w/hVJVTjOgscdDg/lPv8Eus07Y=", + "lastModified": 1747958103, + "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3afd19146cac33ed242fc0fc87481c67c758a59e", + "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", "type": "github" }, "original": { @@ -239,27 +239,27 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1746055187, - "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=", + "lastModified": 1748162331, + "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5", + "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", "type": "github" }, "original": { "owner": "nixos", - "ref": "nixos-24.11", + "ref": "nixos-25.05", "repo": "nixpkgs", "type": "github" } }, "nixpkgs-unstable": { "locked": { - "lastModified": 1746123514, - "narHash": "sha256-UNO+MbVHLl4AkVWYqekk72/gqFNSLYNkBgto7h+7P3U=", + "lastModified": 1747958103, + "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", "owner": "nixos", "repo": "nixpkgs", - "rev": "b5dd9efc912ecabeafa4f082d31e19cb1c74266c", + "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1746141548, - "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=", + "lastModified": 1748026106, + "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", "owner": "nixos", "repo": "nixpkgs", - "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78", + "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1745929750, - "narHash": "sha256-k5ELLpTwRP/OElcLpNaFWLNf8GRDq4/eHBmFy06gGko=", + "lastModified": 1747912973, + "narHash": "sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "82bf32e541b30080d94e46af13d46da0708609ea", + "rev": "020cb423808365fa3f10ff4cb8c0a25df35065a3", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 0918288..7ae9e86 100644 --- a/flake.nix +++ b/flake.nix @@ -15,7 +15,7 @@ inputs = { neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; - nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11"; + nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; diff --git a/home/dln/dinky.nix b/home/dln/dinky.nix index 9b9e955..b0b76b0 100644 --- a/home/dln/dinky.nix +++ b/home/dln/dinky.nix @@ -10,17 +10,11 @@ oled.enable = true; }; - dconf.settings = { - "org/gnome/shell" = { - enabled-extensions = [ "Battery-Health-Charging@maniacx.github.com" ]; - }; - }; - home.packages = with pkgs; [ ]; programs.gpg.enable = true; services.gpg-agent = { enable = true; - pinentryPackage = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-curses; }; } diff --git a/home/dln/home.nix b/home/dln/home.nix index ae8681e..26216e7 100644 --- a/home/dln/home.nix +++ b/home/dln/home.nix @@ -14,8 +14,8 @@ in homeDirectory = "/home/dln"; packages = with pkgs; [ asciinema - openconnect ouch + toolbox ]; }; @@ -61,7 +61,6 @@ in git = { push-bookmark-prefix = "dln/push-"; - subprocess = true; }; ui = { diff --git a/home/dln/nemo.nix b/home/dln/nemo.nix index 504e5cd..cffb9ca 100644 --- a/home/dln/nemo.nix +++ b/home/dln/nemo.nix @@ -35,6 +35,6 @@ services.gpg-agent = { enable = true; enableScDaemon = false; - pinentryPackage = pkgs.pinentry-curses; + pinentry.package = pkgs.pinentry-curses; }; } diff --git a/hosts/dinky/default.nix b/hosts/dinky/default.nix index 5a5806a..058294d 100644 --- a/hosts/dinky/default.nix +++ b/hosts/dinky/default.nix @@ -141,5 +141,5 @@ "ssh-ng://nemo.aarn.patagia.net" ]; - system.stateVersion = "24.05"; # Did you read the comment? + system.stateVersion = "25.05"; # Did you read the comment? } diff --git a/overlays/default.nix b/overlays/default.nix index 9dd6924..61457f5 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -7,7 +7,9 @@ # https://discourse.nixos.org/t/disable-ssh-agent-from-gnome-keyring-on-gnome/28176/5 gnome-keyring = prev.gnome-keyring.overrideAttrs (oldAttrs: { - configureFlags = oldAttrs.configureFlags or [ ] ++ [ "--disable-ssh-agent" ]; + mesonFlags = (builtins.filter (flag: flag != "-Dssh-agent=true") oldAttrs.mesonFlags) ++ [ + "-Dssh-agent=false" + ]; }); }; From 0a42495374eda6255b311370cc3105733984a752 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 May 2025 14:09:12 +0200 Subject: [PATCH 653/656] ghostty: use semicondensed font --- home/common/ghostty.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index f2283cb..b810daa 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -13,18 +13,20 @@ font-family = "Berkeley Mono"; font-family-italic = "Monaspace Radon Var"; font-family-bold-italic = "Monaspace Krypton Var"; - font-style = "Regular"; - font-style-bold = "Bold"; - font-style-italic = "Italic"; + font-style = "SemiCondensed"; + font-style-bold = "Bold SemiCondensed"; + font-style-italic = "ExtraLight Italic"; font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; + adjust-cell-height = 2; + adjust-font-baseline = 1; adjust-cursor-thickness = 4; adjust-underline-position = 3; adjust-underline-thickness = -1; mouse-hide-while-typing = true; - unfocused-split-opacity = 0.8; + unfocused-split-opacity = 0.9; unfocused-split-fill = "#056157"; shell-integration = "fish"; From 238cd231be606058d1a89e5e54ebfc03f40a95a8 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 20:28:50 +0200 Subject: [PATCH 654/656] install thunderbird --- home/dln/desktop.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/home/dln/desktop.nix b/home/dln/desktop.nix index e6f9326..0ef0500 100644 --- a/home/dln/desktop.nix +++ b/home/dln/desktop.nix @@ -17,6 +17,7 @@ plexamp signal-desktop spotify + thunderbird ]; xdg.desktopEntries = { From ff4c0d1842c4707c1e0d7b4a9ba176a9cf121d51 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Tue, 27 May 2025 14:09:12 +0200 Subject: [PATCH 655/656] ghostty: bolder bold --- home/common/ghostty.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/common/ghostty.nix b/home/common/ghostty.nix index b810daa..8946ddd 100644 --- a/home/common/ghostty.nix +++ b/home/common/ghostty.nix @@ -14,7 +14,7 @@ font-family-italic = "Monaspace Radon Var"; font-family-bold-italic = "Monaspace Krypton Var"; font-style = "SemiCondensed"; - font-style-bold = "Bold SemiCondensed"; + font-style-bold = "ExtraBold SemiCondensed"; font-style-italic = "ExtraLight Italic"; font-style-bold-italic = "ExtraLight"; font-synthetic-style = false; From c4c8fb322f9ceb3c95c2fe082aed005c3b72cc85 Mon Sep 17 00:00:00 2001 From: Daniel Lundin <dln@arity.se> Date: Sun, 25 May 2025 20:28:50 +0200 Subject: [PATCH 656/656] Add openssl --- flake.lock | 48 +++++++++++++++++++++---------------------- flake.nix | 1 + home/common/devel.nix | 1 + 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/flake.lock b/flake.lock index 30757ec..3157c71 100644 --- a/flake.lock +++ b/flake.lock @@ -148,11 +148,11 @@ ] }, "locked": { - "lastModified": 1748134483, - "narHash": "sha256-5PBK1nV8X39K3qUj8B477Aa2RdbLq3m7wRxUKRtggX4=", + "lastModified": 1748570847, + "narHash": "sha256-XU1a6wFctd+s3ZvBIFB6s4GhPJ+Oc6pkeOrEsbA2fMo=", "owner": "nix-community", "repo": "home-manager", - "rev": "c1e671036224089937e111e32ea899f59181c383", + "rev": "4e9efaa68b0be7e19127dad4f0506a9b89e28ef4", "type": "github" }, "original": { @@ -172,11 +172,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1748070814, - "narHash": "sha256-UENoloiY25w0GmPsni8aswhks13qD1sT7XPQgmBd4tU=", + "lastModified": 1748588826, + "narHash": "sha256-lfSvGRDpep7LVD4L/97Xjn3bglB247S4bgpfpMbqGP4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "1654f815b79267a32c0eb9feb5962089d855d287", + "rev": "2e9ad466d7b54245229087c980da0615f54e4b2f", "type": "github" }, "original": { @@ -188,11 +188,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1748041342, - "narHash": "sha256-gYkZbws7QEZ6o5Kh8IPotFAk1thbzzm3C8+vs/M32E4=", + "lastModified": 1748543356, + "narHash": "sha256-Xo3LBLzEMIdmT0s8UWfNUJvTBHxB5PSYKJyFPBcGx8w=", "owner": "neovim", "repo": "neovim", - "rev": "9784bc134624ff6dcf2e59e3c3998e206d2adad7", + "rev": "b28bbee539625f9bcbf128e8da400d1d55b499ff", "type": "github" }, "original": { @@ -223,11 +223,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1748475218, + "narHash": "sha256-zDYqMBDbQR4SU9vHFrvHRbI0qxv0RGAoog5idGLiOWQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "e80506de785dc48dcfbb636c443c5e2b0b5b2d7d", "type": "github" }, "original": { @@ -239,11 +239,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1748162331, - "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", + "lastModified": 1748437600, + "narHash": "sha256-hYKMs3ilp09anGO7xzfGs3JqEgUqFMnZ8GMAqI6/k04=", "owner": "nixos", "repo": "nixpkgs", - "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "rev": "7282cb574e0607e65224d33be8241eae7cfe0979", "type": "github" }, "original": { @@ -255,11 +255,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1747958103, - "narHash": "sha256-qmmFCrfBwSHoWw7cVK4Aj+fns+c54EBP8cGqp/yK410=", + "lastModified": 1748506378, + "narHash": "sha256-oS0Gxh63Df8b8r04lqEYDDLKhHIrVr9/JLOn2bn8JaI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "fe51d34885f7b5e3e7b59572796e1bcb427eccb1", + "rev": "3866ad91cfc172f08a6839def503d8fc2923c603", "type": "github" }, "original": { @@ -271,11 +271,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1748026106, - "narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=", + "lastModified": 1748370509, + "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", "owner": "nixos", "repo": "nixpkgs", - "rev": "063f43f2dbdef86376cc29ad646c45c46e93234c", + "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", "type": "github" }, "original": { @@ -303,11 +303,11 @@ ] }, "locked": { - "lastModified": 1747912973, - "narHash": "sha256-XgxghfND8TDypxsMTPU2GQdtBEsHTEc3qWE6RVEk8O0=", + "lastModified": 1748243702, + "narHash": "sha256-9YzfeN8CB6SzNPyPm2XjRRqSixDopTapaRsnTpXUEY8=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "020cb423808365fa3f10ff4cb8c0a25df35065a3", + "rev": "1f3f7b784643d488ba4bf315638b2b0a4c5fb007", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 7ae9e86..fd4ba17 100644 --- a/flake.nix +++ b/flake.nix @@ -68,6 +68,7 @@ devShell.${system} = pkgs.mkShell { packages = with pkgs; [ just + lua-language-server nh nil nixd diff --git a/home/common/devel.nix b/home/common/devel.nix index 910900e..70c3bcc 100644 --- a/home/common/devel.nix +++ b/home/common/devel.nix @@ -7,6 +7,7 @@ file just nix-output-monitor + openssl passage rage ];