diff options
author | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-01 12:07:35 +0200 |
---|---|---|
committer | Raymaekers Luca <raymaekers.luca@gmail.com> | 2023-10-01 12:07:35 +0200 |
commit | dad6249cae8d5d66e0a6b174ed30d78dbbb3a064 (patch) | |
tree | 28fc4a4c2501cf5bb35bfe9984ab19e256f64763 | |
parent | 70c673a75bf98b1db7b637c9a6d4bd1e336c33d4 (diff) | |
parent | a6d421ed5d752ad4ce945c8de07ecb1e3d16037f (diff) |
Merge branch 'main' of db:dotfiles
-rwxr-xr-x | bin/guiscripts/linkhandler | 9 | ||||
-rwxr-xr-x | bin/guiscripts/newwal | 4 | ||||
-rwxr-xr-x | bin/menuscripts/mpower | 2 | ||||
-rw-r--r-- | config/X/xmonad/xmonad.hs | 2 | ||||
-rw-r--r-- | config/common/newsboat/config | 4 | ||||
-rw-r--r-- | config/essentials/nvim/after/plugin/dap.lua | 39 | ||||
-rw-r--r-- | config/essentials/nvim/after/plugin/dapui.lua | 94 | ||||
-rw-r--r-- | config/essentials/nvim/ftplugin/telekasten.lua | 18 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/aucommands.vim | 1 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/init.lua | 7 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/php.lua | 1 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/cmp/rust.lua | 173 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/packer.lua | 4 | ||||
-rw-r--r-- | config/essentials/nvim/lua/user/zk.lua | 43 | ||||
-rw-r--r-- | config/essentials/zsh/.zshrc | 38 | ||||
-rw-r--r-- | config/essentials/zsh/aliases.sh | 5 | ||||
-rw-r--r-- | config/essentials/zsh/functions.zsh | 12 | ||||
-rw-r--r-- | config/home/.zshenv | 3 | ||||
-rw-r--r-- | config/hyprland/hypr/binds.conf | 35 | ||||
-rw-r--r-- | config/hyprland/hypr/hyprland.conf | 1 | ||||
-rwxr-xr-x | config/hyprland/hypr/startup.sh | 2 |
21 files changed, 411 insertions, 86 deletions
diff --git a/bin/guiscripts/linkhandler b/bin/guiscripts/linkhandler index 084b952..aeec202 100755 --- a/bin/guiscripts/linkhandler +++ b/bin/guiscripts/linkhandler @@ -14,11 +14,14 @@ case "$url" in *mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtube.com/shorts*|*youtu.be*|*hooktube.com*|*bitchute.com*|*videos.lukesmith.xyz*|*odysee.com*) setsid -f mpv --quiet --ytdl --ytdl-raw-options="format-sort=res:720" "$url" > /dev/null 2>&1 ;; *png|*jpg|*jpe|*jpeg|*gif) - curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && sxiv -a "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; + curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && $IMAGE -a "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; *pdf|*cbz|*cbr) - curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && evince "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; + curl -sL "$url" > "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" && $VIEWER "/tmp/$(echo "$url" | sed "s/.*\///;s/%20/ /g")" >/dev/null 2>&1 & ;; *mp3|*flac|*opus|*mp3?source*) qndl "$url" 'curl -LO' >/dev/null 2>&1 ;; *) - [ -f "$url" ] && setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1 || setsid -f "$BROWSER" "$url" >/dev/null 2>&1 + if [ -f "$url" ] + then setsid -f "$TERMINAL" -e "$EDITOR" "$url" >/dev/null 2>&1 + else setsid -f "$BROWSER" "$url" >/dev/null 2>&1 + fi esac diff --git a/bin/guiscripts/newwal b/bin/guiscripts/newwal index b913552..32d3db6 100755 --- a/bin/guiscripts/newwal +++ b/bin/guiscripts/newwal @@ -10,8 +10,8 @@ res="1920x1080" # if no (valid) argument, use find any image with $res resolution # and take a random one test -f "${wal:=$(realpath "$1")}" || - wal="$(find "$walls" -type f | - xargs identify | + wal="$(find "$walls" -type f -print0 | + xargs -0 identify | grep "$res" | awk '{print $1}' | shuf -n 1)" diff --git a/bin/menuscripts/mpower b/bin/menuscripts/mpower index 3b66824..00fb96c 100755 --- a/bin/menuscripts/mpower +++ b/bin/menuscripts/mpower @@ -3,6 +3,6 @@ choice="$(printf 'poweroff suspend hibernate reboot -' | commander -c -d)" +' | commander -c)" [ "$choice" ] && systemctl "$choice" diff --git a/config/X/xmonad/xmonad.hs b/config/X/xmonad/xmonad.hs index bc1115d..858b39b 100644 --- a/config/X/xmonad/xmonad.hs +++ b/config/X/xmonad/xmonad.hs @@ -244,7 +244,7 @@ defaults = ewmh def { , ("M-S-<L>", CWS.shiftToPrev >> CWS.prevWS) , ("M-m", spawn "emacs") -- launch firefox - , ("M-b", spawn "firefox") + , ("M-b", spawn "$BROWSER") -- take screenshots , ("M-s", spawn "maim ~/pictures/screenshot-$(date +%y%m%d_%H_%M_%S).png") , ("M-C-s", spawn "maim -i $(xdotool getactivewindow) ~/pictures/screenshot-$(date +%y%m%d_%H_%M_%S).png") diff --git a/config/common/newsboat/config b/config/common/newsboat/config index 84e6490..874e7ae 100644 --- a/config/common/newsboat/config +++ b/config/common/newsboat/config @@ -1,4 +1,4 @@ -browser firefox +browser linkhandler # from contrib color background color15 default @@ -29,5 +29,3 @@ bind-key a toggle-article-read show-keymap-hint no swap-title-and-hints yes - -browser linkhandler diff --git a/config/essentials/nvim/after/plugin/dap.lua b/config/essentials/nvim/after/plugin/dap.lua new file mode 100644 index 0000000..8c0a739 --- /dev/null +++ b/config/essentials/nvim/after/plugin/dap.lua @@ -0,0 +1,39 @@ +local dap = require('dap') + +dap.adapters.coreclr = { + type = 'executable', + command = 'netcoredbg', + args = {'--interpreter=vscode'} +} + +dap.configurations.cs = { + { + type = "coreclr", + name = "launch - netcoredbg", + request = "launch", + program = function() + return vim.fn.input('Path to dll', vim.fn.getcwd() .. '/bin/Debug/', 'file') + end, + }, +} + +local function nnoremap(rhs, lhs, bufopts, desc) + bufopts.desc = desc + vim.keymap.set("n", rhs, lhs, bufopts) +end +local bufopts = { noremap=true, silent=true } + + +nnoremap('<F5>' , dap.continue, bufopts, "Continue") +nnoremap('<F10>' , dap.step_over, bufopts, "Step over") +nnoremap('<F11>' , dap.step_into, bufopts, "Step into") +nnoremap('<F12>' , dap.step_out, bufopts, "Step out") +nnoremap('<Leader>b' , dap.toggle_breakpoint, bufopts, "Toggle breakpoint") + +nnoremap('<Leader>B' , function() dap.set_breakpoint(vim.fn.input('Breakpoint condition: ')) + end, bufopts, "Set breakpoint") +nnoremap('<Leader>lp' , function() dap.set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) + end, bufopts, "set breakpoint with log point message") + +nnoremap('<Leader>dr' , dap.repl.open, bufopts, "Reply open") +nnoremap('<Leader>dl' , dap.run_last, bufopts, "Run las") diff --git a/config/essentials/nvim/after/plugin/dapui.lua b/config/essentials/nvim/after/plugin/dapui.lua new file mode 100644 index 0000000..faec590 --- /dev/null +++ b/config/essentials/nvim/after/plugin/dapui.lua @@ -0,0 +1,94 @@ +local dap, dapui = require("dap"), require("dapui") + +dapui.setup({ + icons = { expanded = "▾", collapsed = "▸", current_frame = "▸" }, + mappings = { + -- Use a table to apply multiple mappings + expand = { "<CR>", "<2-LeftMouse>" }, + open = "o", + remove = "d", + edit = "e", + repl = "r", + toggle = "t", + }, + -- Use this to override mappings for specific elements + element_mappings = { + -- Example: + -- stacks = { + -- open = "<CR>", + -- expand = "o", + -- } + }, + -- Expand lines larger than the window + -- Requires >= 0.7 + expand_lines = vim.fn.has("nvim-0.7") == 1, + -- Layouts define sections of the screen to place windows. + -- The position can be "left", "right", "top" or "bottom". + -- The size specifies the height/width depending on position. It can be an Int + -- or a Float. Integer specifies height/width directly (i.e. 20 lines/columns) while + -- Float value specifies percentage (i.e. 0.3 - 30% of available lines/columns) + -- Elements are the elements shown in the layout (in order). + -- Layouts are opened in order so that earlier layouts take priority in window sizing. + layouts = { + { + elements = { + -- Elements can be strings or table with id and size keys. + { id = "scopes", size = 0.25 }, + "breakpoints", + "stacks", + "watches", + }, + size = 40, -- 40 columns + position = "left", + }, + { + elements = { + "repl", + "console", + }, + size = 0.25, -- 25% of total lines + position = "bottom", + }, + }, + controls = { + -- Requires Neovim nightly (or 0.8 when released) + enabled = true, + -- Display controls in this element + element = "repl", + icons = { + pause = "", + play = "", + step_into = "", + step_over = "", + step_out = "", + step_back = "", + run_last = "↻", + terminate = "□", + }, + }, + floating = { + max_height = nil, -- These can be integers or a float between 0 and 1. + max_width = nil, -- Floats will be treated as percentage of your screen. + border = "single", -- Border style. Can be "single", "double" or "rounded" + mappings = { + close = { "q", "<Esc>" }, + }, + }, + windows = { indent = 1 }, + render = { + max_type_length = nil, -- Can be integer or nil. + max_value_lines = 100, -- Can be integer or nil. + } +}) + + +dap.listeners.after.event_initialized["dapui_config"] = function() + dapui.open() +end +dap.listeners.before.event_terminated["dapui_config"] = function() + dapui.close() +end +dap.listeners.before.event_exited["dapui_config"] = function() + dapui.close() +end + diff --git a/config/essentials/nvim/ftplugin/telekasten.lua b/config/essentials/nvim/ftplugin/telekasten.lua index 622972f..9454cc1 100644 --- a/config/essentials/nvim/ftplugin/telekasten.lua +++ b/config/essentials/nvim/ftplugin/telekasten.lua @@ -10,17 +10,17 @@ vim.cmd("hi link CalNavi CalRuler") vim.cmd("hi tkTagSep ctermfg=gray guifg=gray") vim.cmd("hi tkTag ctermfg=175 guifg=#d3869B") -vim.keymap.set("n", "<LocalLeader>a", "<cmd>Telekasten show_tags<cr>") -vim.keymap.set("n", "<LocalLeader>b", "<cmd>Telekasten show_backlinks<cr>") -vim.keymap.set("n", "<LocalLeader>c", "<cmd>Telekasten show_calendar<cr>") +vim.keymap.set("n", "<LocalLeader>a", require("telekasten").show_tags) +vim.keymap.set("n", "<LocalLeader>b", require("telekasten").show_backlinks) +vim.keymap.set("n", "<LocalLeader>c", require("telekasten").show_calendar) vim.keymap.set("n", "<LocalLeader>C", "<cmd>CalendarT<cr>") vim.keymap.set({"n", "i"}, "<LocalLeader>i", "<Esc><cmd>Telekasten insert_link<cr>") -vim.keymap.set({"n", "i"}, "<LocalLeader>I", "<cmd>Telekasten insert_img_link<cr>") -vim.keymap.set("n", "<LocalLeader>F", "<cmd>Telekasten find_friends<cr>") -vim.keymap.set("n", "<LocalLeader>r", "<cmd>Telekasten rename_note<cr>") -vim.keymap.set("n", "<LocalLeader>t", "<cmd>Telekasten toggle_todo<cr>") +vim.keymap.set({"n", "i"}, "<LocalLeader>I", require("telekasten").insert_img_link) +vim.keymap.set("n", "<LocalLeader>F", require("telekasten").find_friends) +vim.keymap.set("n", "<LocalLeader>r", require("telekasten").rename_note) +vim.keymap.set("n", "<LocalLeader>t", require("telekasten").toggle_todo) vim.keymap.set("i", "<LocalLeader>t", "<cmd>Telekasten toggle_todo<cr><Esc>A") -vim.keymap.set("n", "<LocalLeader>y", "<cmd>Telekasten yank_notelink<cr>") -vim.keymap.set("n", "<LocalLeader>z", "<cmd>Telekasten follow_link<cr>") +vim.keymap.set("n", "<LocalLeader>y", require("telekasten").yank_notelink) +vim.keymap.set("n", "<LocalLeader>z", require("telekasten").follow_link) vim.keymap.set("i", "<LocalLeader>l", "<esc>I[<esc>A]()<left><C-r>+<esc>A") diff --git a/config/essentials/nvim/lua/user/aucommands.vim b/config/essentials/nvim/lua/user/aucommands.vim index 873f9c9..cdd0ae7 100644 --- a/config/essentials/nvim/lua/user/aucommands.vim +++ b/config/essentials/nvim/lua/user/aucommands.vim @@ -8,7 +8,6 @@ augroup END " terminal specific layout augroup neovim_terminal autocmd! autocmd TermOpen * startinsert - autocmd TermOpen * :GitGutterBufferDisable autocmd TermOpen * :set nonumber norelativenumber signcolumn=no autocmd TermOpen * nnoremap <buffer> <C-c> i<C-c> augroup END diff --git a/config/essentials/nvim/lua/user/cmp/init.lua b/config/essentials/nvim/lua/user/cmp/init.lua index d40a67c..1ca0a10 100644 --- a/config/essentials/nvim/lua/user/cmp/init.lua +++ b/config/essentials/nvim/lua/user/cmp/init.lua @@ -4,11 +4,12 @@ require("user.cmp.arduino") require("user.cmp.bash") require("user.cmp.clangd") require("user.cmp.cs") -require("user.cmp.html") require("user.cmp.css") +require("user.cmp.emmet") +require("user.cmp.html") require("user.cmp.java") require("user.cmp.js") -require("user.cmp.emmet") require("user.cmp.lua") +require("user.cmp.php") require("user.cmp.python") -require("user.cmp.cs") +require("user.cmp.rust") diff --git a/config/essentials/nvim/lua/user/cmp/php.lua b/config/essentials/nvim/lua/user/cmp/php.lua new file mode 100644 index 0000000..9b2fa18 --- /dev/null +++ b/config/essentials/nvim/lua/user/cmp/php.lua @@ -0,0 +1 @@ +require'lspconfig'.phpactor.setup{} diff --git a/config/essentials/nvim/lua/user/cmp/rust.lua b/config/essentials/nvim/lua/user/cmp/rust.lua new file mode 100644 index 0000000..46a97eb --- /dev/null +++ b/config/essentials/nvim/lua/user/cmp/rust.lua @@ -0,0 +1,173 @@ +require'lspconfig'.rust_analyzer.setup{ + settings = { + ['rust-analyzer'] = { + diagnostics = { + enable = false; + } + } + }, + capabilities = + { + experimental = { + serverStatusNotification = true + }, + general = { + positionEncodings = { "utf-16" } + }, + textDocument = { + callHierarchy = { + dynamicRegistration = false + }, + codeAction = { + codeActionLiteralSupport = { + codeActionKind = { + valueSet = { "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" } + } + }, + dataSupport = true, + dynamicRegistration = true, + isPreferredSupport = true, + resolveSupport = { + properties = { "edit" } + } + }, + completion = { + completionItem = { + commitCharactersSupport = false, + deprecatedSupport = false, + documentationFormat = { "markdown", "plaintext" }, + preselectSupport = false, + snippetSupport = false + }, + completionItemKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 } + }, + contextSupport = false, + dynamicRegistration = false + }, + declaration = { + linkSupport = true + }, + definition = { + dynamicRegistration = true, + linkSupport = true + }, + diagnostic = { + dynamicRegistration = false + }, + documentHighlight = { + dynamicRegistration = false + }, + documentSymbol = { + dynamicRegistration = false, + hierarchicalDocumentSymbolSupport = true, + symbolKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } + } + }, + formatting = { + dynamicRegistration = true + }, + hover = { + contentFormat = { "markdown", "plaintext" }, + dynamicRegistration = true + }, + implementation = { + linkSupport = true + }, + inlayHint = { + dynamicRegistration = true, + resolveSupport = { + properties = {} + } + }, + publishDiagnostics = { + dataSupport = true, + relatedInformation = true, + tagSupport = { + valueSet = { 1, 2 } + } + }, + rangeFormatting = { + dynamicRegistration = true + }, + references = { + dynamicRegistration = false + }, + rename = { + dynamicRegistration = true, + prepareSupport = true + }, + semanticTokens = { + augmentsSyntaxTokens = true, + dynamicRegistration = false, + formats = { "relative" }, + multilineTokenSupport = false, + overlappingTokenSupport = true, + requests = { + full = { + delta = true + }, + range = false + }, + serverCancelSupport = false, + tokenModifiers = { "declaration", "definition", "readonly", "static", "deprecated", "abstract", "async", "modification", "documentation", "defaultLibrary" }, + tokenTypes = { "namespace", "type", "class", "enum", "interface", "struct", "typeParameter", "parameter", "variable", "property", "enumMember", "event", "function", "method", "macro", "keyword", "modifier", "comment", "string", "number", "regexp", "operator", "decorator" } + }, + signatureHelp = { + dynamicRegistration = false, + signatureInformation = { + activeParameterSupport = true, + documentationFormat = { "markdown", "plaintext" }, + parameterInformation = { + labelOffsetSupport = true + } + } + }, + synchronization = { + didSave = true, + dynamicRegistration = false, + willSave = true, + willSaveWaitUntil = true + }, + typeDefinition = { + linkSupport = true + } + }, + window = { + showDocument = { + support = true + }, + showMessage = { + messageActionItem = { + additionalPropertiesSupport = false + } + }, + workDoneProgress = true + }, + workspace = { + applyEdit = true, + configuration = true, + didChangeWatchedFiles = { + dynamicRegistration = true, + relativePatternSupport = true + }, + inlayHint = { + refreshSupport = true + }, + semanticTokens = { + refreshSupport = true + }, + symbol = { + dynamicRegistration = false, + symbolKind = { + valueSet = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 } + } + }, + workspaceEdit = { + resourceOperations = { "rename", "create", "delete" } + }, + workspaceFolders = true + } + } +} diff --git a/config/essentials/nvim/lua/user/packer.lua b/config/essentials/nvim/lua/user/packer.lua index 605c0e2..94d4dff 100644 --- a/config/essentials/nvim/lua/user/packer.lua +++ b/config/essentials/nvim/lua/user/packer.lua @@ -49,7 +49,7 @@ return require('packer').startup(function(use) use('ojroques/vim-oscyank', {branch = "main"}) use("potamides/pantran.nvim") use('alx741/vinfo') - use('github/copilot.vim') + -- use('github/copilot.vim') -- objects use('michaeljsmith/vim-indent-object') @@ -65,7 +65,9 @@ return require('packer').startup(function(use) use('hrsh7th/cmp-nvim-lsp-signature-help') use('alvan/vim-closetag') + -- debugging use('mfussenegger/nvim-dap') + use { "rcarriga/nvim-dap-ui", requires = {"mfussenegger/nvim-dap"} } -- java use('mfussenegger/nvim-jdtls') diff --git a/config/essentials/nvim/lua/user/zk.lua b/config/essentials/nvim/lua/user/zk.lua index ee055d6..db022cb 100644 --- a/config/essentials/nvim/lua/user/zk.lua +++ b/config/essentials/nvim/lua/user/zk.lua @@ -1,5 +1,6 @@ local home = vim.fn.expand("~/docs/zk") -require('telekasten').setup({ + +require("telekasten").setup({ home = home, take_over_my_home = true, auto_set_filetype = true, @@ -65,8 +66,8 @@ require('telekasten').setup({ template_new_note = home .. "/" .. "templates/new_note.md", new_note_filename = "title", }, - dotNetEssentials = { - home = home .. "/" .. "dotNetEssentials", + NETEssentials = { + home = home .. "/" .. "NETEssentials", template_new_note = home .. "/" .. "templates/new_note.md", new_note_filename = "title", }, @@ -88,21 +89,21 @@ require('telekasten').setup({ } }) -vim.keymap.set("n", "<leader>z", "<cmd>Telekasten panel<cr>") -vim.keymap.set("n", "<leader>zb", "<cmd>Telekasten show_backlinks<cr>") -vim.keymap.set("n", "<leader>zz", "<cmd>Telekasten follow_link<cr>") -vim.keymap.set("n", "<leader>zN", "<cmd>Telekasten new_templated_note<cr>") -vim.keymap.set("n", "<leader>zT", "<cmd>Telekasten goto_today<cr>") -vim.keymap.set("n", "<leader>zW", "<cmd>Telekasten goto_thisweek<cr>") -vim.keymap.set("n", "<leader>zd", "<cmd>Telekasten find_daily_notes<cr>") -vim.keymap.set("n", "<leader>zf", "<cmd>Telekasten find_notes<cr>") -vim.keymap.set("n", "<leader>zg", "<cmd>Telekasten search_notes<cr>") -vim.keymap.set("n", "<leader>zm", "<cmd>Telekasten browse_media<cr>") -vim.keymap.set("n", "<leader>zn", "<cmd>Telekasten new_note<cr>") -vim.keymap.set("n", "<leader>zp", "<cmd>Telekasten preview_img<cr>") -vim.keymap.set("n", "<leader>zr", "<cmd>Telekasten rename_note<cr>") -vim.keymap.set("n", "<leader>zs", "<cmd>Telekasten switch_vault<cr>") -vim.keymap.set("n", "<leader>zS", "<cmd>Telekasten search_notes<cr>") -vim.keymap.set("n", "<leader>zt", "<cmd>Telekasten panel<cr>") -vim.keymap.set("n", "<leader>zw", "<cmd>Telekasten find_weekly_notes<cr>") -vim.keymap.set("n", "<leader>z#", "<cmd>Telekasten show_tags<cr>") +vim.keymap.set("n", "<leader>z", require("telekasten").panel) +vim.keymap.set("n", "<leader>zb", require("telekasten").show_backlinks) +vim.keymap.set("n", "<leader>zz", require("telekasten").follow_link) +vim.keymap.set("n", "<leader>zN", require("telekasten").new_templated_note) +vim.keymap.set("n", "<leader>zT", require("telekasten").goto_today) +vim.keymap.set("n", "<leader>zW", require("telekasten").goto_thisweek) +vim.keymap.set("n", "<leader>zd", require("telekasten").find_daily_notes) +vim.keymap.set("n", "<leader>zf", require("telekasten").find_notes) +vim.keymap.set("n", "<leader>zg", require("telekasten").search_notes) +vim.keymap.set("n", "<leader>zm", require("telekasten").browse_media) +vim.keymap.set("n", "<leader>zn", require("telekasten").new_note) +vim.keymap.set("n", "<leader>zp", require("telekasten").preview_img) +vim.keymap.set("n", "<leader>zr", require("telekasten").rename_note) +vim.keymap.set("n", "<leader>zs", require("telekasten").switch_vault) +vim.keymap.set("n", "<leader>zS", require("telekasten").search_notes) +vim.keymap.set("n", "<leader>zt", require("telekasten").panel) +vim.keymap.set("n", "<leader>zw", require("telekasten").find_weekly_notes) +vim.keymap.set("n", "<leader>z#", require("telekasten").show_backlinks) diff --git a/config/essentials/zsh/.zshrc b/config/essentials/zsh/.zshrc index 1260bb0..9b6fa48 100644 --- a/config/essentials/zsh/.zshrc +++ b/config/essentials/zsh/.zshrc @@ -25,24 +25,9 @@ zle -N add-surround surround zle -N change-surround surround compinit -if grep -qi "debian\|ubuntu" /usr/lib/os-release /etc/os-release 2>/dev/null -then - sfiles=( - /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh - /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh - ) -else - sfiles=( - /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh - /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh) -fi -sfiles+=( - ~/.config/zsh/functions.zsh - ~/.config/zsh/aliases.sh -) -for f in "${sfiles[@]}"; do - test -f "$f" && source "$f" -done +# Source files +. $ZDOTDIR/functions.zsh +. $ZDOTDIR/aliases.sh bindkey -v bindkey -a cs change-surround @@ -137,6 +122,23 @@ parse_git_status() { git status --short 2> /dev/null | head -n1 | awk '{print $1 " "}' } +# Completion +_dotnet_zsh_complete() +{ + local completions=("$(dotnet complete "$words")") + + # If the completion list is empty, just continue with filename selection + if [ -z "$completions" ] + then + _arguments '*::arguments: _normal' + return + fi + + # This is not a variable assignment, don't remove spaces! + _values = "${(ps:\n:)completions}" +} +compdef _dotnet_zsh_complete dotnet + export REPORTTIME=2 export TIMEFMT="-> %*E" # override built-in time command diff --git a/config/essentials/zsh/aliases.sh b/config/essentials/zsh/aliases.sh index ea1c719..a1a6723 100644 --- a/config/essentials/zsh/aliases.sh +++ b/config/essentials/zsh/aliases.sh @@ -206,6 +206,7 @@ alias est='$EDITOR ~/proj/suckless/st/config.def.h' alias esl='$EDITOR ~/proj/suckless/slock/config.def.h' alias esls='$EDITOR ~/proj/suckless/slstatus/config.def.h' alias ehy='$EDITOR ~/.config/hypr/hyprland.conf' +alias ehyb='$EDITOR ~/.config/hypr/binds.conf' alias ewbj='$EDITOR ~/src/dotfiles/config/hyprland/waybar/config.jsonc' alias ewbs='$EDITOR ~/src/dotfiles/config/hyprland/waybar/style.css' alias cfd='$EDITOR config.def.h' @@ -213,6 +214,7 @@ alias cfd='$EDITOR config.def.h' alias cdl='cd ~/dl' alias cdoc='cd ~/docs' alias cda='cd ~/docs/android/projects' +alias csv='cd ~/docs/school/Vakken' alias cdm='cd ~/music' alias cdp='cd ~/pics' alias cdpa='cd ~/pics/ai-outputs/' @@ -241,7 +243,8 @@ alias cdng='cd /etc/nginx' alias cdrs='cd /srv/' # fzf aliases -alias ppj='cd ~/proj/personal/"$(find ~/proj/personal -mindepth 1 -maxdepth 1 -type d -printf "%f\n"| fzf)"' +alias ppj='cd ~/proj/personal/"$(find ~/proj/personal -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | fzf)"' +alias ppjs='cd ~/proj/personal/scripts/"$(find ~/proj/personal/scripts -mindepth 1 -maxdepth 1 -type d -printf "%f\n" | fzf)"' alias fil='$EDITOR ~/docs/filios/"$(find ~/docs/filios -type f -printf "%f\n" | fzf)"' alias cfg='find -L ~/src/dotfiles -type f 2> /dev/null | fzf | xargs -r $EDITOR' alias fzps='ps aux | tail +2 | fzf | tee /dev/stderr | awk '\''{print $2}'\'' | clipp' diff --git a/config/essentials/zsh/functions.zsh b/config/essentials/zsh/functions.zsh index 35aaf58..fda80fb 100644 --- a/config/essentials/zsh/functions.zsh +++ b/config/essentials/zsh/functions.zsh @@ -32,6 +32,7 @@ ranger() { test -z "$RANGER_LEVEL" && /usr/bin/ranger "$@" || exit } # googoo aliases _googoo_fzf_opt() { + unset dest opt if [ "$1" ] then [ -d "$1" ] && dest="$1" || opt="-q $1" @@ -99,9 +100,7 @@ clip() { } unzipp() { - file=$1 - shift - unzip $file $@ || exit 1 + unzip -- "$(readlink -f -- "$1")" || return 1 rm $file } @@ -243,10 +242,9 @@ pacsize() mime-default () { logn "Setting '$1' as default for its mimetypes" - grep "MimeType=" /usr/share/applications/"$1" | - cut -d '=' -f 2- | - tr ';' '\n' | - xargs -I {} xdg-mime default "$1" "{}" + grep "MimeType=" /usr/share/applications/"$1".desktop | + cut -d '=' -f 2- | tr ';' '\0' | + xargs -0I{} xdg-mime default "$1".desktop "{}" logn "Done." } diff --git a/config/home/.zshenv b/config/home/.zshenv index 32c92f4..cfaef9c 100644 --- a/config/home/.zshenv +++ b/config/home/.zshenv @@ -2,7 +2,7 @@ export EDITOR="nvim" export VISUAL="nvim" -export BROWSER="firefox" +export BROWSER="librewolf" export VIEWER="zathura" export PLAYER="mpv" @@ -69,3 +69,4 @@ export PATH="$HOME/bin:$PATH" export PATH="$HOME/go/bin:$PATH" export PATH="$XDG_CONFIG_HOME/cargo/bin:$PATH" export PATH="$PATH:./node_modules/.bin" +export PATH="$PATH:$HOME/.dotnet/tools" diff --git a/config/hyprland/hypr/binds.conf b/config/hyprland/hypr/binds.conf index d52392c..de4c90e 100644 --- a/config/hyprland/hypr/binds.conf +++ b/config/hyprland/hypr/binds.conf @@ -13,19 +13,6 @@ bind = $mainMod, F, togglefloating, bind = $mainMod SHIFT, P, pseudo bind = $mainMod, S, togglesplit -bind = $mainMod, A, submap, applications -submap = applications -bind = $mainMod, B, exec, firefox -bind = , B, exec, firefox -bind = $mainMod, T, exec, $term -e tmux a || tmux -bind = , T, exec, $term -e tmux a || tmux -bind = $mainMod, D, exec, foot -e ssh -t db tmux a -bind = , D, exec, foot -e ssh -t db tmux a -bind = $mainMod, M, exec, gamelaunch -bind = , M, exec, gamelaunch -source = ./reset-submap.conf -submap = reset - bind = $mainMod, E, focusmonitor, +1 bind = $mainMod, W, focusmonitor, -1 binde = $mainMod, H, movefocus, l @@ -84,6 +71,28 @@ bind = $mainMod, mouse_up, workspace, e-1 bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow +bind = $mainMod, A, submap, apps +submap = apps +bind = $mainMod, D, exec, discord +bind = , D, exec, discord +bind = $mainMod, B, exec, $BROWSER +bind = , B, exec, $BROWSER +bind = $mainMod, G, exec, lutris +bind = , G, exec, lutris +bind = $mainMod, M, exec, mclaunch +bind = , M, exec, mclaunch +source = ./reset-submap.conf +submap = reset + +bind = $mainMod, T, submap, termapps +submap = termapps +bind = $mainMod, T, exec, $term -e tmux a || tmux +bind = , T, exec, $term -e tmux a || tmux +bind = $mainMod, D, exec, foot -e ssh -t db tmux a +bind = , D, exec, foot -e ssh -t db tmux a +source = ./reset-submap.conf +submap = reset + bind = $mainMod, M, submap, menuscripts submap = menuscripts bind = $mainMod, A, exec, dmask diff --git a/config/hyprland/hypr/hyprland.conf b/config/hyprland/hypr/hyprland.conf index 2b5a48b..ed932e0 100644 --- a/config/hyprland/hypr/hyprland.conf +++ b/config/hyprland/hypr/hyprland.conf @@ -88,6 +88,7 @@ windowrulev2 = noanim, class:^(.*[Pp]inentry.*)$ windowrulev2 = float, class:^(.*[Pp]inentry.*)$ windowrulev2 = float, class:^(feh|imv)$ windowrulev2 = noanim, class:dmenu +windowrulev2 = float, class:^(imv)$ layerrule = noanim, launcher diff --git a/config/hyprland/hypr/startup.sh b/config/hyprland/hypr/startup.sh index 6d5957f..c758b71 100755 --- a/config/hyprland/hypr/startup.sh +++ b/config/hyprland/hypr/startup.sh @@ -5,4 +5,4 @@ gammastep & wl-paste --watch cliphist store & keyadd id_rsa & swayidle 300 locker & -$TERMINAL & +$TERMINAL -e tmux a || tmux & |