fix: fixes for laptop install

main
Sofus Albert Høgsbro Rose 2025-02-13 08:58:49 +01:00
parent 8cc7b55dab
commit 79089250f6
Signed by: so-rose
GPG Key ID: AD901CB0F3701434
13 changed files with 250 additions and 205 deletions

12
.stylua.toml 100644
View File

@ -0,0 +1,12 @@
syntax = "All"
column_width = 120
line_endings = "Unix"
indent_type = "Tabs"
indent_width = 4
quote_style = "AutoPreferSingle"
call_parentheses = "Always"
collapse_simple_statement = "Never"
space_after_function_names = "Never"
[sort_requires]
enabled = false

View File

@ -23,6 +23,7 @@ cargo install --force fd-find
cargo install --force bat cargo install --force bat
cargo install --force git-delta cargo install --force git-delta
cargo install --force skim cargo install --force skim
cargo install --force stylua
# Python # Python
## - FIRST, install uv ## - FIRST, install uv
@ -52,3 +53,7 @@ uv init --no-readme --python 3.12 remote-python
cd remote-python cd remote-python
uv add pynvim jupyter_client requests websocket-client plotly kaleido==0.2.1 uv add pynvim jupyter_client requests websocket-client plotly kaleido==0.2.1
``` ```
INSTALLATION EXPERIENCES:
- need libreadline-dev and libmagickwand-dev

View File

@ -8,6 +8,7 @@
"fzf-lua": { "branch": "main", "commit": "e3fefd97875827e47dc4bbf1074ee464b2d8e6a8" }, "fzf-lua": { "branch": "main", "commit": "e3fefd97875827e47dc4bbf1074ee464b2d8e6a8" },
"fzf-lua-projections.nvim": { "branch": "main", "commit": "411672ab6f7c38d3a4a51916fda1a01c1618ae04" }, "fzf-lua-projections.nvim": { "branch": "main", "commit": "411672ab6f7c38d3a4a51916fda1a01c1618ae04" },
"gitsigns.nvim": { "branch": "main", "commit": "9b36d497495436c135659902054ee637e0ba6021" }, "gitsigns.nvim": { "branch": "main", "commit": "9b36d497495436c135659902054ee637e0ba6021" },
"hererocks": { "branch": "master", "commit": "c9c5444dea1e07e005484014a8231aa667be30b6" },
"image.nvim": { "branch": "master", "commit": "7704e1d03d952393774dc7d00a98d8e127086ba4" }, "image.nvim": { "branch": "master", "commit": "7704e1d03d952393774dc7d00a98d8e127086ba4" },
"img-clip.nvim": { "branch": "main", "commit": "5ded6f468d633ccfb315905fe8901d6c95ae8f29" }, "img-clip.nvim": { "branch": "main", "commit": "5ded6f468d633ccfb315905fe8901d6c95ae8f29" },
"lazy.nvim": { "branch": "main", "commit": "f15a93907ddad3d9139aea465ae18336d87f5ce6" }, "lazy.nvim": { "branch": "main", "commit": "f15a93907ddad3d9139aea465ae18336d87f5ce6" },

View File

@ -4,6 +4,9 @@ return {
root_markers = { '.luarc.json', '.luarc.jsonc' }, root_markers = { '.luarc.json', '.luarc.jsonc' },
settings = { settings = {
Lua = { Lua = {
format = {
enable = false,
},
runtime = { runtime = {
version = 'LuaJIT', version = 'LuaJIT',
}, },

View File

@ -6,6 +6,10 @@ vim.keymap.del('n', 'gri')
vim.keymap.del('n', 'gO') vim.keymap.del('n', 'gO')
vim.keymap.del('i', '<c-s>') vim.keymap.del('i', '<c-s>')
local startswith = function(text, prefix)
return text:find(prefix, 1, true) == 1
end
vim.api.nvim_create_autocmd('LspAttach', { vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args) callback = function(args)
-- See: https://neovim.io/doc/user/lsp.html#lsp-defaults -- See: https://neovim.io/doc/user/lsp.html#lsp-defaults
@ -44,7 +48,7 @@ vim.api.nvim_create_autocmd('LspAttach', {
end end
-- LSP Action: Formatting -- LSP Action: Formatting
if lsp_client:supports_method('textDocument/formatting') or lsp_client.name == 'otter-ls[1]' then if lsp_client:supports_method('textDocument/formatting') or startswith(lsp_client.name, 'otter-ls') then
vim.keymap.set( vim.keymap.set(
'n', 'n',
'<leader>lf', '<leader>lf',
@ -75,7 +79,7 @@ vim.api.nvim_create_autocmd('LspAttach', {
-- LSP Action: Inlay Hint -- LSP Action: Inlay Hint
--- WORKAROUND: otter-ls seems to crash with inlayHint. --- WORKAROUND: otter-ls seems to crash with inlayHint.
if lsp_client:supports_method('textDocument/inlayHint') and not lsp_client.name == 'otter-ls[1]' then if lsp_client:supports_method('textDocument/inlayHint') and not startswith(lsp_client.name, 'otter-ls') then
vim.lsp.inlay_hint.enable(true, { bufnr = buf }) vim.lsp.inlay_hint.enable(true, { bufnr = buf })
vim.keymap.set( vim.keymap.set(

View File

@ -1,17 +1,17 @@
-- Install Lazy -- Install Lazy
--- Update Lazy.nvim by manually deleting 'lazy_path' and restarting nvim --- Update Lazy.nvim by manually deleting 'lazy_path' and restarting nvim
local lazy_repo = "https://github.com/folke/lazy.nvim.git" local lazy_repo = 'https://github.com/folke/lazy.nvim.git'
local lazy_tag = "v11.16.2" local lazy_tag = 'v11.16.2'
local lazy_path = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" local lazy_path = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazy_path) then if not vim.loop.fs_stat(lazy_path) then
vim.fn.system({ vim.fn.system({
"git", 'git',
"clone", 'clone',
"--filter=blob:none", '--filter=blob:none',
lazy_repo, lazy_repo,
"https://github.com/folke/lazy.nvim.git", 'https://github.com/folke/lazy.nvim.git',
"--branch=" .. lazy_tag, '--branch=' .. lazy_tag,
lazy_path, lazy_path,
}) })
end end
@ -31,7 +31,7 @@ require('lazy').setup({
require('plugins/libs/nvim-nio'), require('plugins/libs/nvim-nio'),
--require('plugins/libs/nui'), --require('plugins/libs/nui'),
--require('plugins/libs/nvim-notify'), --require('plugins/libs/nvim-notify'),
require('plugins/libs/image-nvim'), --require('plugins/libs/image-nvim'),
-- TODO: Some kind of image display library. -- TODO: Some kind of image display library.
-- Search: telescope (for now) -- Search: telescope (for now)
@ -75,7 +75,6 @@ require('lazy').setup({
require('plugins/ux/flatten'), require('plugins/ux/flatten'),
-- Workflow -- Workflow
--require('plugins/workflow/neovim-project'),
require('plugins/workflow/projections'), require('plugins/workflow/projections'),
require('plugins/workflow/mini-files'), require('plugins/workflow/mini-files'),
--require('plugins/workflow/git-dev'), --require('plugins/workflow/git-dev'),
@ -92,11 +91,11 @@ require('lazy').setup({
require('plugins/langs/md_quarto/otter'), require('plugins/langs/md_quarto/otter'),
require('plugins/langs/md_quarto/quarto-nvim'), require('plugins/langs/md_quarto/quarto-nvim'),
require('plugins/langs/md_quarto/img-clip'), require('plugins/langs/md_quarto/img-clip'),
require('plugins/langs/md_quarto/mdmath'), --require('plugins/langs/md_quarto/mdmath'),
require('plugins/langs/md_quarto/nabla'), require('plugins/langs/md_quarto/nabla'),
--require('plugins/langs/md_quarto/mkdnflow') --require('plugins/langs/md_quarto/mkdnflow')
--require('plugins/langs/md_quarto/easytables'), --require('plugins/langs/md_quarto/easytables'),
require('plugins/langs/md_quarto/render-markdown-nvim'), --require('plugins/langs/md_quarto/render-markdown-nvim'),
-- Lang: Python -- Lang: Python
--require('plugins/langs/python/f-string-toggle'), --require('plugins/langs/python/f-string-toggle'),
@ -152,7 +151,6 @@ require('lazy').setup({
lazy = '💤 ', lazy = '💤 ',
}, },
}, },
}, {
rocks = { rocks = {
hererocks = true, hererocks = true,
}, },

View File

@ -1,17 +1,18 @@
return { return {
'stevearc/conform.nvim', 'stevearc/conform.nvim',
commit = "363243c03102a531a8203311d4f2ae704c620d9b", commit = '363243c03102a531a8203311d4f2ae704c620d9b',
lazy = true, lazy = true,
cmd = { "ConformInfo" }, cmd = { 'ConformInfo' },
init = function() init = function()
vim.treesitter.language.register("markdown", { "quarto", "rmd" }) vim.treesitter.language.register('markdown', { 'quarto', 'rmd' })
end, end,
opts = { opts = {
formatters_by_ft = { formatters_by_ft = {
python = { 'ruff_format', 'ruff_organize_imports' }, python = { 'ruff_format', 'ruff_organize_imports' },
lua = { 'stylua' },
--python = { 'ruff_format' }, --python = { 'ruff_format' },
quarto = { 'injected' }, quarto = { 'injected' },
}, },

View File

@ -18,30 +18,30 @@ return {
}, },
}, },
build = ':TSUpdate all', -- Update lang parsers unconditionally on build build = ':TSUpdate all', -- Update lang parsers unconditionally on build
lazy = vim.fn.argc(-1) == 0, -- Load early only when opening file w/cmdline lazy = vim.fn.argc(-1) == 0, -- Load early only when opening file w/cmdline
event = { event = {
'VeryLazy', 'VeryLazy',
}, },
cmd = { cmd = {
"TSUpdateSync", 'TSUpdateSync',
"TSUpdate", 'TSUpdate',
"TSInstall", 'TSInstall',
}, },
init = function(plugin) init = function(plugin)
--- Many plugins apparently no longer require("nvim-treesitter"). --- Many plugins apparently no longer require("nvim-treesitter").
--- This messes with the lazy-loading logic. --- This messes with the lazy-loading logic.
--- However, such plugins only otherwise use custom queries (seems to be called "RTP"). --- However, such plugins only otherwise use custom queries (seems to be called "RTP").
--- We therefore register treesitter w/RTP, so such queries will load treesitter. --- We therefore register treesitter w/RTP, so such queries will load treesitter.
require("lazy.core.loader").add_to_rtp(plugin) require('lazy.core.loader').add_to_rtp(plugin)
require("nvim-treesitter.query_predicates") require('nvim-treesitter.query_predicates')
end, end,
opts = { opts = {
-- Grammer-Aware Syntax Highlighting -- Grammer-Aware Syntax Highlighting
highlight = { highlight = {
enable = true enable = true,
}, },
-- Grammer-Aware Indentation -- Grammer-Aware Indentation
@ -54,193 +54,193 @@ return {
lookahead = false, lookahead = false,
keymaps = { keymaps = {
-- You can use the capture groups defined in textobjects.scm -- You can use the capture groups defined in textobjects.scm
["af"] = { ['af'] = {
query = "@function.outer", query = '@function.outer',
desc = "Select [A]round [F]unction", desc = 'Select [A]round [F]unction',
}, },
["if"] = { ['if'] = {
query = "@function.inner", query = '@function.inner',
desc = "Select [I]nside [F]unction", desc = 'Select [I]nside [F]unction',
}, },
["al"] = { ['al'] = {
query = "@class.outer", query = '@class.outer',
desc = "Select [A]round C[L]ass", desc = 'Select [A]round C[L]ass',
}, },
["il"] = { ['il'] = {
query = "@class.outer", query = '@class.outer',
desc = "Select [I]nside C[L]ass", desc = 'Select [I]nside C[L]ass',
}, },
["ac"] = { ['ac'] = {
query = "@cell.outer", query = '@cell.outer',
desc = "Select [A]round [C]ell", desc = 'Select [A]round [C]ell',
}, },
["ic"] = { ['ic'] = {
query = "@cell.inner", query = '@cell.inner',
desc = "Select [I]nside [C]ell", desc = 'Select [I]nside [C]ell',
}, },
}, },
}, },
move = { move = {
enable = true, enable = true,
set_jumps = true, set_jumps = true,
} },
}, },
-- Always Install Parsers for Languages -- Always Install Parsers for Languages
ensure_installed = { ensure_installed = {
"ada", 'ada',
"arduino", 'arduino',
"asm", 'asm',
"awk", 'awk',
"bash", 'bash',
"bibtex", 'bibtex',
"c", 'c',
"c_sharp", 'c_sharp',
"clojure", 'clojure',
"cmake", 'cmake',
"comment", 'comment',
"commonlisp", 'commonlisp',
"cpp", 'cpp',
"css", 'css',
"csv", 'csv',
"cuda", 'cuda',
"d", 'd',
"dart", 'dart',
"diff", 'diff',
"disassembly", 'disassembly',
"dockerfile", 'dockerfile',
"dot", 'dot',
"doxygen", 'doxygen',
"dtd", 'dtd',
"editorconfig", 'editorconfig',
"eex", 'eex',
"elixir", 'elixir',
"elm", 'elm',
"erlang", 'erlang',
"fennel", 'fennel',
"fish", 'fish',
"forth", 'forth',
"fortran", 'fortran',
"fsh", 'fsh',
"fsharp", 'fsharp',
"gap", 'gap',
"gdscript", 'gdscript',
"gdshader", 'gdshader',
"git_config", 'git_config',
"git_rebase", 'git_rebase',
"gitattributes", 'gitattributes',
"gitcommit", 'gitcommit',
"gitignore", 'gitignore',
"gleam", 'gleam',
"glsl", 'glsl',
"gnuplot", 'gnuplot',
"go", 'go',
"gpg", 'gpg',
"graphql", 'graphql',
"haskell", 'haskell',
"hcl", 'hcl',
"hlsl", 'hlsl',
"hlsplaylist", 'hlsplaylist',
"html", 'html',
"htmldjango", 'htmldjango',
"hyprlang", 'hyprlang',
"ini", 'ini',
"java", 'java',
"javascript", 'javascript',
"jq", 'jq',
"jsdoc", 'jsdoc',
"json", 'json',
"json5", 'json5',
"jsonc", 'jsonc',
"jsonnet", 'jsonnet',
"julia", 'julia',
"just", 'just',
"kconfig", 'kconfig',
"kdl", 'kdl',
"latex", 'latex',
"llvm", 'llvm',
"lua", 'lua',
"luadoc", 'luadoc',
"luap", 'luap',
"luau", 'luau',
"m68k", 'm68k',
"make", 'make',
"markdown", 'markdown',
"markdown_inline", 'markdown_inline',
"matlab", 'matlab',
"meson", 'meson',
"mlir", 'mlir',
"nasm", 'nasm',
"nginx", 'nginx',
"nix", 'nix',
"objc", 'objc',
"objdump", 'objdump',
"ocaml", 'ocaml',
"pascal", 'pascal',
"pem", 'pem',
"perl", 'perl',
"php", 'php',
"phpdoc", 'phpdoc',
"po", 'po',
"pod", 'pod',
"powershell", 'powershell',
"printf", 'printf',
"prisma", 'prisma',
"prolog", 'prolog',
"promql", 'promql',
"proto", 'proto',
"puppet", 'puppet',
"pymanifest", 'pymanifest',
"python", 'python',
"qmldir", 'qmldir',
"qmljs", 'qmljs',
"r", 'r',
"readline", 'readline',
"regex", 'regex',
"requirements", 'requirements',
"robots", 'robots',
"rst", 'rst',
"ruby", 'ruby',
"rust", 'rust',
"scala", 'scala',
"scss", 'scss',
"sflog", 'sflog',
"smithy", 'smithy',
"sql", 'sql',
"ssh_config", 'ssh_config',
"starlark", 'starlark',
"strace", 'strace',
"svelte", 'svelte',
"swift", 'swift',
"t32", 't32',
"tablegen", 'tablegen',
"tcl", 'tcl',
"teal", 'teal',
"terraform", 'terraform',
"tmux", 'tmux',
"todotxt", 'todotxt',
"toml", 'toml',
"tsv", 'tsv',
"tsx", 'tsx',
"turtle", 'turtle',
"typescript", 'typescript',
"typespec", 'typespec',
"typst", 'typst',
"udev", 'udev',
"unison", 'unison',
"usd", 'usd',
"vala", 'vala',
"verilog", 'verilog',
"vim", 'vim',
"vimdoc", 'vimdoc',
"vue", 'vue',
"wgsl", 'wgsl',
"wgsl_bevy", 'wgsl_bevy',
"xml", 'xml',
"xresources", 'xresources',
"yaml", 'yaml',
"zathurarc", 'zathurarc',
"zig", 'zig',
}, },
}, },
config = function(_, opts) config = function(_, opts)
@ -249,5 +249,16 @@ return {
-- Use Treesitter as the Folding Method -- Use Treesitter as the Folding Method
--vim.opt.foldmethod = "expr" --vim.opt.foldmethod = "expr"
--vim.opt.foldexpr = "nvim_treesitter#foldexpr()" --vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
--
require('vim.treesitter.query').set(
'markdown',
'highlights',
[[
;From MDeiml/tree-sitter-markdown
[
(fenced_code_block_delimiter)
] @punctuation.delimiter
]]
)
end, end,
} }

View File

@ -1,11 +1,8 @@
return { return {
'Thiago4532/mdmath.nvim', 'Thiago4532/mdmath.nvim',
commit = '699acb27fd34bfdf92a43ce0abdd17f0c7a948fe', commit = '699acb27fd34bfdf92a43ce0abdd17f0c7a948fe',
opts = {
filetypes = { 'markdown', 'quarto' }, enabled = not vim.g.neovide,
dynamic = true,
dynamic_scale = 0.75,
},
cmd = { cmd = {
'MdMath', 'MdMath',
@ -29,4 +26,10 @@ return {
desc = 'Disable [U]I [E]quations', desc = 'Disable [U]I [E]quations',
}, },
}, },
opts = {
filetypes = { 'markdown', 'quarto' },
dynamic = true,
dynamic_scale = 0.75,
},
} }

View File

@ -61,7 +61,11 @@ return {
init = function() init = function()
-- Configuration -- Configuration
vim.g.molten_image_provider = "image.nvim" if vim.g.neovide then
vim.g.molten_image_provider = "image.nvim"
else
vim.g.molten_image_provider = "none"
end
vim.g.molten_output_win_max_height = 12 vim.g.molten_output_win_max_height = 12
--vim.g.molten_auto_open_output = false --vim.g.molten_auto_open_output = false
vim.g.molten_auto_init_behavior = 'raise' vim.g.molten_auto_init_behavior = 'raise'

View File

@ -1,7 +1,7 @@
return { return {
--"quarto-dev/quarto-nvim", --"quarto-dev/quarto-nvim",
dir = vim.env.HOME .. '/comps/neovim/quarto-nvim', dir = vim.env.HOME .. '/comps/neovim/quarto-nvim',
commit = "f98937b5be953b27757088e392ce6ccdb16898e5", commit = "bfc191b2c9f973fd405e703bd0dfe11fb327a149",
lazy = true, lazy = true,
cmd = { cmd = {

View File

@ -2,6 +2,8 @@ return {
'MeanderingProgrammer/render-markdown.nvim', 'MeanderingProgrammer/render-markdown.nvim',
commit = '17a77463f945c4b9e4f371c752efd90e3e1bf604', commit = '17a77463f945c4b9e4f371c752efd90e3e1bf604',
enabled = false,
ft = { 'markdown', 'quarto' }, ft = { 'markdown', 'quarto' },
opts = { opts = {

View File

@ -1,9 +1,10 @@
return { return {
"3rd/image.nvim", "3rd/image.nvim",
commit = "7704e1d03d952393774dc7d00a98d8e127086ba4", commit = "7704e1d03d952393774dc7d00a98d8e127086ba4",
--commit = "301de7919b2c0378cb7a782663f67abbcb198b17",
lazy = false, lazy = false,
enabled = not vim.g.neovide,
cmd = { cmd = {
'ImageReport', 'ImageReport',
}, },