Compare commits

..

23 Commits

Author SHA1 Message Date
d522dcd5ab Add lldb debug config 2025-07-25 11:15:01 +02:00
c3bf8c8e49 Add copilot keymaps 2025-07-25 09:52:19 +02:00
5876cf4564 Add nvim copilot chat 2025-07-24 21:52:28 +02:00
af49129b2a Add nvim render markdown 2025-07-24 19:50:58 +02:00
2021268b73 Nvim 2025-07-24 19:11:41 +02:00
b432d26028 Add relative line numbers 2025-07-22 20:32:50 +02:00
5e4e0050dd Merge work 2025-07-22 20:06:22 +02:00
206ca73ee5 Add luasnip instead of vsnip 2025-07-20 18:29:36 +02:00
1824ed760d Configure conform 2025-07-16 20:15:34 +02:00
c52452dbf4 Merge work 2025-07-16 19:08:18 +02:00
4321d6bba5 Add lsp keymaps 2025-07-16 19:05:30 +02:00
db7bba461a Fix lsp 2025-07-12 19:33:38 +02:00
966a3cea5c Sync changes from work 2025-07-11 14:42:26 +02:00
4d7caf0abe Sync config for all systems 2025-07-10 20:03:17 +02:00
2517fd0269 Configure nvim obsidian 2025-07-09 21:21:25 +02:00
1e9873bae4 Refactor filetypes 2025-06-30 22:29:01 +02:00
ff4743a0db Minor things 2025-06-26 19:27:56 +02:00
3e3941a9f3 Add cli tools 2025-06-24 20:59:47 +02:00
dd7709d9e4 Configure nvim debugging 2025-06-23 21:39:25 +02:00
c494611b05 Take steps to a more IDE experience with neovim 2025-06-22 19:58:50 +02:00
4e69d65a8a Update flake 2025-06-18 21:54:29 +02:00
35af981c83 Merge changes from work 2025-06-18 21:53:08 +02:00
85450dd973 Add rust zsh config 2025-06-18 21:47:19 +02:00
10 changed files with 111 additions and 153 deletions

18
nix/flake.lock generated
View File

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1768798936,
"narHash": "sha256-eHld4id3TeD9Sxx5vgv58BnTl1fz+ewIKspz/kEoAE8=",
"lastModified": 1750275572,
"narHash": "sha256-upC/GIlsIgtdtWRGd1obzdXWYQptNkfzZeyAFWgsgf0=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "2954aa29441a1a98901362e4d35515875761ad65",
"rev": "0f355844e54e4c70906b1ef5cc35a0047d666c04",
"type": "github"
},
"original": {
@ -27,11 +27,11 @@
]
},
"locked": {
"lastModified": 1768764703,
"narHash": "sha256-5ulSDyOG1U+1sJhkJHYsUOWEsmtLl97O0NTVMvgIVyc=",
"lastModified": 1749873626,
"narHash": "sha256-1Mc/D/1RwwmDKY59f4IpDBgcQttxffm+4o0m67lQ8hc=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "0fc4e7ac670a0ed874abacf73c4b072a6a58064b",
"rev": "2f140d6ac8840c6089163fb43ba95220c230f22b",
"type": "github"
},
"original": {
@ -42,11 +42,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1768564909,
"narHash": "sha256-Kell/SpJYVkHWMvnhqJz/8DqQg2b6PguxVWOuadbHCc=",
"lastModified": 1750134718,
"narHash": "sha256-v263g4GbxXv87hMXMCpjkIxd/viIF7p3JpJrwgKdNiI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e4bae1bd10c9c57b2cf517953ab70060a828ee6f",
"rev": "9e83b64f727c88a7711a2c463a7b16eedb69a84c",
"type": "github"
},
"original": {

View File

@ -13,8 +13,7 @@
outputs = { self, nix-darwin, nixpkgs, home-manager, ... }:
let
#system = "x86_64-darwin";
system = "x86_64-linux";
system = "x86_64-darwin";
pkgs = nixpkgs.legacyPackages.${system};
configuration = { pkgs, ... }: {
@ -61,7 +60,6 @@
./user/task_home.nix
];
};
"martin" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
@ -71,7 +69,6 @@
./user/task_home.nix
];
};
"pan" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
@ -79,9 +76,6 @@
./user/profiles/work.nix
./common.nix
./user/task.nix
{
nixpkgs.config.allowUnfree = true;
}
];
};
};

View File

@ -9,8 +9,5 @@
home.packages = with pkgs; [
visidata
claude-code
opencode
# crush
];
}

View File

@ -3,20 +3,23 @@
{
programs.git = {
enable = true;
settings = {
alias = {
st = "status";
ci = "commit";
co = "checkout";
br = "branch";
pl = "pull";
ps = "push";
sw = "switch";
mno =" merge --no-ff";
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit";
cleanup = "!git fetch --prune && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D";
};
aliases = {
st = "status";
ci = "commit";
co = "checkout";
br = "branch";
pl = "pull";
ps = "push";
sw = "switch";
mno =" merge --no-ff";
lg = "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%C(bold blue)<%an>%Creset' --abbrev-commit";
cleanup = "!git fetch --prune && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D";
};
difftastic.enable = true;
extraConfig = {
column.ui = "auto";
branch.sort = "-committerdate";
tag.sort = "version:refname";
@ -59,11 +62,6 @@
];
};
programs.difftastic = {
enable = true;
git.enable = true;
};
programs.lazygit = {
enable = true;
settings = {

View File

@ -6,15 +6,15 @@
home.stateVersion = "23.11"; # Please read the comment before changing.
programs.git.settings.user = {
name = "Martin Pander";
email = "martin.pander@knowtion.de";
programs.git = {
userName = "Martin Pander";
userEmail = "martin.pander@knowtion.de";
};
home.packages = with pkgs; [
yaml-language-server
marksman
dockerfile-language-server
dockerfile-language-server-nodejs
];
programs.zsh.profileExtra = ''

View File

@ -89,15 +89,13 @@
home.packages = with pkgs; [
fd
dust
du-dust
glow
ripgrep-all
viddy
duf
# (llm.withPlugins (ps: [
# ps.llm-gemini
# ps.llm-claude
# ]))
(python3.withPackages(ps: [ ps.llm ps.llm-gemini ]))
#nerdfonts
];
home.sessionVariables = lib.mkMerge [ {

View File

@ -8,6 +8,9 @@
config = {
weekstart = "monday";
context.today.read = "(prio:H or +next)";
context.today.write = "prio:H +next";
uda.energy.type="string";
uda.energy.label="Energy";
uda.energy.values="h,m,l";
@ -17,16 +20,11 @@
urgency.uda.priority.L.coefficient = -0.5;
urgency.user.tag.deferred.coefficient = -15.0;
urgency.user.tag.cust.coefficient = 5.0;
urgency.user.tag.fixed.coefficient = -100.0;
report.next.columns="id,start.age,entry.age,depends,priority,energy,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
report.next.labels="ID,Active,Age,Deps,P,E,Project,Tag,Recur,S,Due,Until,Description,Urg";
report.next.filter="status:pending -WAITING -deferred";
report.time.columns="id,start.age,entry.age,depends,priority,energy,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
report.time.labels="ID,Active,Age,Deps,P,E,Project,Tag,Recur,S,Due,Until,Description,Urg";
report.time.filter="status:pending -WAITING -deferred +fixed";
report.deferred.columns="id,start.age,entry.age,depends,priority,energy,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description,urgency";
report.deferred.context="1";
report.deferred.description="Deferred and waiting tasks";
@ -41,8 +39,6 @@
report.low.labels="ID,Active,Age,Deps,P,E,Project,Tag,Recur,S,Due,Until,Description,Urg";
report.low.sort="energy+,urgency-";
context.today.read = "(prio:H or +next)";
context.today.write = "prio:H +next";
context.deferred.read = "+deferred";
context.deferred.write = "+deferred";
context.customer.read = "+cust";

View File

@ -28,8 +28,8 @@
bind C-s display-popup -E "zsh ~/bin/tmuxp_selector.sh"
bind C-g display-popup -E -d "#{pane_current_path}" -xC -yC -w 95% -h 95% "lazygit"
bind C-t display-popup -E -xC -yC -w 95% -h 95% "tasksquire"
bind C-n display-popup -E -xC -yC -w 95% -h 95% -d "/mnt/c/Users/marti/Documents/notes/Work/" "vim quick_notes.md"
bind C-p display-popup -E -xC -yC -w 95% -h 95% -d "/mnt/c/Users/marti/Documents/notes/Work/development/" "vim mbpr.md"
bind C-n display-popup -E -xC -yC -w 95% -h 95% "vim /mnt/c/Users/marti/Documents/notes/Work/quick_notes.md"
bind C-m display-popup -E -xC -yC -w 95% -h 95% "vim /mnt/c/Users/marti/Documents/notes/Work/mbpr.md"
#######################################
# status line

View File

@ -1,4 +1,5 @@
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
vim.api.nvim_create_augroup('FileTypeConfigs', { clear = true })
@ -21,37 +22,26 @@ vim.api.nvim_create_autocmd('FileType', {
-- require('dap-python').setup()
-- require('dap-go').setup()
vim.lsp.enable('ruff')
vim.lsp.enable('gopls')
vim.lsp.enable('marksman')
vim.lsp.enable('rust_analyzer')
vim.lsp.enable('dockerls')
vim.lsp.enable('docker_compose_language_service')
vim.lsp.enable('clangd')
vim.lsp.enable('sqls')
vim.lsp.enable('zls')
vim.lsp.enable('omnisharp')
vim.lsp.enable('yamlls')
-- lspconfig.gopls.setup({ capabilities = capabilities })
-- lspconfig.marksman.setup({ capabilities = capabilities })
-- lspconfig.rust_analyzer.setup({
-- capabilities = capabilities,
-- settings = {
-- ["rust-analyzer"] = {
-- checkOnSave = {
-- command = "clippy",
-- },
-- },
-- },
-- })
-- lspconfig.dockerls.setup({ capabilities = capabilities })
-- lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
-- lspconfig.clangd.setup({ capabilities = capabilities })
-- lspconfig.sqls.setup({ capabilities = capabilities })
-- lspconfig.zls.setup({ capabilities = capabilities })
-- lspconfig.omnisharp.setup({ capabilities = capabilities })
-- lspconfig.yamlls.setup({ capabilities = capabilities })
lspconfig.ruff.setup({ capabilities = capabilities })
lspconfig.gopls.setup({ capabilities = capabilities })
lspconfig.marksman.setup({ capabilities = capabilities })
lspconfig.rust_analyzer.setup({
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
checkOnSave = {
command = "clippy",
},
},
},
})
lspconfig.dockerls.setup({ capabilities = capabilities })
lspconfig.docker_compose_language_service.setup({ capabilities = capabilities })
lspconfig.clangd.setup({ capabilities = capabilities })
lspconfig.sqls.setup({ capabilities = capabilities })
lspconfig.zls.setup({ capabilities = capabilities })
lspconfig.omnisharp.setup({ capabilities = capabilities })
lspconfig.yamlls.setup({ capabilities = capabilities })
require("conform").setup({
go = {"gofmt"},

View File

@ -138,6 +138,10 @@ cmp.setup.cmdline(':', {
})
local capabilities = require('cmp_nvim_lsp').default_capabilities()
local lspconfig = require("lspconfig")
-- lspconfig.svelte.setup({ capabilities = capabilities })
-- lspconfig.flow.setup({ capabilities = capabilities })
-- lspconfig.nil_ls.setup({ capabilities = capabilities })
capabilities.textDocument.foldingRange = {
dynamicRegistration = false,
@ -146,12 +150,10 @@ capabilities.textDocument.foldingRange = {
local language_servers = vim.lsp.get_clients() -- or list servers manually like {'gopls', 'clangd'}
for _, ls in ipairs(language_servers) do
if ls ~= nil then
vim.lsp.config(ls).setup({
capabilities = capabilities
-- you can add other fields for setting up lsp server in this table
require('lspconfig')[ls].setup({
capabilities = capabilities
-- you can add other fields for setting up lsp server in this table
})
end
end
require('ufo').setup()
@ -181,27 +183,27 @@ require("telescope").setup {
require("telescope").load_extension("ui-select")
require("telescope").load_extension("yank_history")
-- require'nvim-treesitter.configs'.setup {
-- -- ensure_installed = { "lua", "vim", "help" },
-- ensure_installed = {},
-- sync_install = false,
-- auto_install = false,
--
--
-- highlight = {
-- enable = true,
--
-- disable = function(lang, buf)
-- local max_filesize = 100 * 1024 -- 100 KB
-- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
-- if ok and stats and stats.size > max_filesize then
-- return true
-- end
-- end,
--
-- additional_vim_regex_highlighting = false,
-- },
-- }
require'nvim-treesitter.configs'.setup {
-- ensure_installed = { "lua", "vim", "help" },
ensure_installed = {},
sync_install = false,
auto_install = false,
highlight = {
enable = true,
disable = function(lang, buf)
local max_filesize = 100 * 1024 -- 100 KB
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
if ok and stats and stats.size > max_filesize then
return true
end
end,
additional_vim_regex_highlighting = false,
},
}
require('lualine').setup({
options = {
@ -421,34 +423,38 @@ require("obsidian").setup({
date_format = "%Y-%m-%d %a",
time_format = "%H:%M",
},
checkbox = {
order = { " ", ">", "x", "!", "~" },
ui = {
checkboxes = {
[" "] = { char = "󰄱", hl_group = "ObsidianTodo" },
[">"] = { char = "", hl_group = "ObsidianRightArrow" },
["x"] = { char = "", hl_group = "ObsidianDone" },
["~"] = { char = "󰰱", hl_group = "ObsidianTilde" },
["!"] = { char = "", hl_group = "ObsidianImportant" },
["?"] = { char = "?", hl_group = "ObsidianImportant" }
},
},
frontmatter = {
enabled = true,
func = function(note)
-- Add the title of the note as an alias.
if note.title then
note:add_alias(note.title)
disable_frontmatter = false,
note_frontmatter_func = function(note)
-- Add the title of the note as an alias.
if note.title then
note:add_alias(note.title)
end
local out = { id = note.id, tags = note.tags }
if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
for k, v in pairs(note.metadata) do
out[k] = v
end
end
local out = { id = note.id, tags = note.tags }
if note.metadata ~= nil and not vim.tbl_isempty(note.metadata) then
for k, v in pairs(note.metadata) do
out[k] = v
end
end
return out
end,
},
return out
end,
note_path_func = function(spec)
local path = spec.dir / spec.title
return path:with_suffix(".md")
end,
daily_notes = daily_notes,
legacy_commands = false,
})
require('render-markdown').setup({
@ -456,25 +462,4 @@ require('render-markdown').setup({
file_types = { 'markdown'},
completions = { lsp = { enabled = true } },
render_modes = { 'n', 'c', 't' },
checkbox = {
enabled = true,
render_modes = false,
bullet = false,
right_pad = 1,
unchecked = {
icon = '󰄱 ',
highlight = 'RenderMarkdownUnchecked',
scope_highlight = nil,
},
checked = {
icon = '󰱒 ',
highlight = 'RenderMarkdownChecked',
scope_highlight = nil,
},
custom = {
next = { raw = '[!]', rendered = '', highlight = 'RenderMarkdownNext', scope_highlight = nil },
ongoing = { raw = '[>]', rendered = '', highlight = 'RenderMarkdownOngoing', scope_highlight = nil },
waiting = { raw = '[~]', rendered = '󰥔 ', highlight = 'RenderMarkdownWaiting', scope_highlight = nil },
},
},
})