summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/guiscripts/linkhandler9
-rwxr-xr-xbin/guiscripts/newwal4
-rwxr-xr-xbin/menuscripts/mpower2
-rw-r--r--config/X/xmonad/xmonad.hs2
-rw-r--r--config/common/newsboat/config4
-rw-r--r--config/essentials/nvim/after/plugin/dap.lua39
-rw-r--r--config/essentials/nvim/after/plugin/dapui.lua94
-rw-r--r--config/essentials/nvim/ftplugin/telekasten.lua18
-rw-r--r--config/essentials/nvim/lua/user/aucommands.vim1
-rw-r--r--config/essentials/nvim/lua/user/cmp/init.lua7
-rw-r--r--config/essentials/nvim/lua/user/cmp/php.lua1
-rw-r--r--config/essentials/nvim/lua/user/cmp/rust.lua173
-rw-r--r--config/essentials/nvim/lua/user/packer.lua4
-rw-r--r--config/essentials/nvim/lua/user/zk.lua43
-rw-r--r--config/essentials/zsh/.zshrc38
-rw-r--r--config/essentials/zsh/aliases.sh5
-rw-r--r--config/essentials/zsh/functions.zsh12
-rw-r--r--config/home/.zshenv3
-rw-r--r--config/hyprland/hypr/binds.conf35
-rw-r--r--config/hyprland/hypr/hyprland.conf1
-rwxr-xr-xconfig/hyprland/hypr/startup.sh2
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 &