Compare commits

...

8 Commits

Author SHA1 Message Date
Henrik Bakken 5c052509c4 yazi fix config 2026-05-29 11:26:21 +02:00
Henrik Bakken 03a9ca5060 vesktop->discord, heif image support 2026-05-27 09:50:29 +02:00
Henrik Bakken 9f17fbcb37 btop update 2026-05-23 00:34:36 +02:00
Henrik Bakken c42475c571 nvim better completeopt 2026-05-23 00:33:52 +02:00
Henrik Bakken 0d1702456e nvim stop ftplugin hijacking omnifunc 2026-05-09 02:01:23 +02:00
Henrik Bakken 2914b79ded nvim ty disable autoimports 2026-05-09 02:01:18 +02:00
Henrik Bakken 1c8d5284ca nvim lspconfig 2026-05-09 02:01:18 +02:00
Henrik Bakken 640379c105 sway+tmux added bash emergency brakes 2026-05-06 13:43:03 +02:00
7 changed files with 84 additions and 63 deletions
+18 -4
View File
@@ -1,4 +1,4 @@
#? Config file for btop v.1.4.6
#? Config file for btop v.1.4.7
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
@@ -14,6 +14,11 @@ truecolor = true
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
force_tty = false
#* Option to disable presets. Either the default preset, custom presets, or all presets.
#* "Off" All presets are enabled.
#* "Default" preset is disabled.#* "Custom" presets are disabled.#* "All" presets are disabled.
disable_presets = "Off"
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use whitespace " " as separator between different presets.
@@ -24,6 +29,9 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
vim_keys = false
#* Disable all mouse events.
disable_mouse = false
#* Rounded corners on boxes, is ignored if TTY mode is ON.
rounded_corners = true
@@ -53,14 +61,14 @@ graph_symbol_net = "default"
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "cpu mem net proc gpu0"
shown_boxes = "gpu0 cpu mem net proc"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "cpu lazy"
proc_sorting = "memory"
#* Reverse sorting order, True or False.
proc_reversed = false
@@ -92,6 +100,9 @@ proc_left = false
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = false
#* Should the process list follow the selected process when detailed view is open.
proc_follow_detailed = true
#* In tree-view, always accumulate child process resources in the parent process.
proc_aggregate = false
@@ -208,6 +219,9 @@ io_graph_combined = false
#* Example: "/mnt/media:100 /:20 /boot:1".
io_graph_speeds = ""
#* Swap the positions of the upload and download speed graphs. When true, upload will be on top.
swap_upload_download = false
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
net_download = 100
@@ -250,7 +264,7 @@ rsmi_measure_pcie_speeds = true
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = true
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
#* Set which GPU vendors to show. Available values are "nvidia amd intel apple"
shown_gpus = "nvidia amd intel"
#* Custom gpu0 model name, empty string to disable.
+2 -1
View File
@@ -28,7 +28,7 @@ application/x-bittorrent=org.qbittorrent.qBittorrent.desktop;
inode/directory=yazi.desktop;
x-scheme-handler/msteams=teams.desktop;
text/calendar=userapp-khalimport.desktop;
x-scheme-handler/discord=vesktop.desktop;
x-scheme-handler/discord=discord.desktop
application/vnd.openxmlformats-officedocument.wordprocessingml.document=org.kde.okular.desktop;
text/markdown=org.kde.okular.desktop;
application/zip=userapp-file-roller.desktop;
@@ -38,6 +38,7 @@ x-scheme-handler/vnc=org.remmina.Remmina.desktop;
x-scheme-handler/remmina=org.remmina.Remmina.desktop;
application/x-remmina=org.remmina.Remmina.desktop;
application/vnd.openxmlformats-officedocument.wordprocessingml.document=libreoffice-writer.desktop;
image/heif=qimgv.desktop
[Added Associations]
+44 -41
View File
@@ -42,7 +42,7 @@ vim.opt.smartindent = false
vim.opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize", "help", "globals", "skiprtp", "folds" }
-- Completion Window/Popup settings
vim.opt.completeopt = { "menu", "popup", "preview" }
vim.opt.completeopt = { "menu", "menuone", "longest", "noselect", "noinsert", "popup", "preview" }
vim.opt.pumblend = 10
vim.opt.pumheight = 10
vim.opt.winminwidth = 5
@@ -228,30 +228,6 @@ map("n", "]e", diagnostic_goto(1, "ERROR"), { desc = "Next Error" })
map("n", "]w", diagnostic_goto(1, "WARN"), { desc = "Next Warning" })
map("n", "gl", vim.diagnostic.setloclist, { desc = "Diagnostics to Location List" })
-- Buffer-local LSP mappings
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
callback = function(ev)
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
local bmap = function(mode, keys, func, desc) vim.keymap.set(mode, keys, func, { buffer = ev.buf, desc = desc }) end
bmap("n", "gd", vim.lsp.buf.definition, "Goto Definition")
bmap("n", "gD", vim.lsp.buf.declaration, "Goto Declaration")
bmap("n", "gy", vim.lsp.buf.type_definition, "Goto Type Definition")
bmap({ "n", "i" }, "<M-x>", vim.lsp.buf.signature_help, "Signature Help")
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client and client.server_capabilities.inlayHintProvider and vim.lsp.inlay_hint then
bmap(
"n",
"<leader>uh",
function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
"Toggle Inlay Hints"
)
end
end,
})
-- ----------------------------------------
-- AUTOCMD
-- ----------------------------------------
@@ -345,17 +321,8 @@ local function makespecs_themes()
end
local function makespec_lspconfig()
local rootdirfix = function(root_markers)
return function(bufnr, on_dir)
on_dir(require("lspconfig").util.root_pattern(unpack(root_markers))(vim.fn.bufname(bufnr)))
end
end
return {
"neovim/nvim-lspconfig",
lazy = false,
event = { "BufReadPost", "BufNewFile" },
keys = { { "<F4>", "<cmd>checkhealth vim.lsp<cr>", noremap = true, desc = "LSP Info" } },
config = function()
-- Lua
vim.lsp.config("lua_ls", {
@@ -405,17 +372,17 @@ local function makespec_lspconfig()
vim.lsp.config("ty", {
cmd = { "ty", "server" },
filetypes = { "python" },
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg" }),
settings = { ty = { experimental = { rename = true } } },
root_markers = { ".git" },
settings = { ty = { completions = { autoImport = false }, experimental = { rename = true } } },
})
vim.lsp.config("pyrefly", {
cmd = { "pyrefly", "lsp" },
filetypes = { "python" },
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg", "pyrefly.toml" }),
root_markers = { ".git" },
})
vim.lsp.config("pylsp", {
filetypes = { "python" },
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg" }),
root_markers = { ".git" },
settings = {
pylsp = {
plugins = {
@@ -429,7 +396,7 @@ local function makespec_lspconfig()
vim.lsp.config("basedpyright", {
cmd = { "basedpyright-langserver", "--stdio", "--threads", "20" },
filetypes = { "python" },
root_dir = rootdirfix({ ".git", "pyproject.toml", "setup.py", "setup.cfg", "pyrightconfig.json" }),
root_markers = { ".git" },
settings = {
python = {
analysis = {
@@ -482,13 +449,13 @@ local function makespec_lspconfig()
vim.lsp.config("tinymist", {
cmd = { "tinymist" },
filetypes = { "typst" },
root_dir = rootdirfix({ ".git", "typst.toml" }),
root_markers = { ".git", "typst.toml" },
})
vim.lsp.config("bashls", {
cmd = { "bash-language-server", "start" },
filetypes = { "sh", "bash" },
root_dir = rootdirfix({ ".git" }),
root_markers = { ".git" },
})
vim.lsp.enable("bashls")
@@ -502,6 +469,42 @@ local function makespec_lspconfig()
vim.lsp.enable("tinymist")
vim.lsp.enable("vtsls")
vim.lsp.enable("yamlls")
vim.api.nvim_create_autocmd("FileType", {
group = vim.api.nvim_create_augroup("DefeatFtpluginOmnifunc", { clear = true }),
pattern = { "python" },
callback = function(ev)
vim.schedule(function()
if vim.api.nvim_buf_is_valid(ev.buf) then vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc" end
end)
end,
})
vim.api.nvim_create_autocmd("LspAttach", {
group = vim.api.nvim_create_augroup("UserLspConfig", { clear = true }),
callback = function(ev)
local bmap = function(mode, keys, func, desc)
vim.keymap.set(mode, keys, func, { buffer = ev.buf, desc = desc, silent = true })
end
bmap("n", "gd", vim.lsp.buf.definition, "Goto Definition")
bmap("n", "gD", vim.lsp.buf.declaration, "Goto Declaration")
bmap("n", "gy", vim.lsp.buf.type_definition, "Goto Type Definition")
bmap({ "n", "i" }, "<M-x>", vim.lsp.buf.signature_help, "Signature Help")
bmap("i", "<C-Space>", "<C-x><C-o>", "Trigger LSP Completion")
bmap("i", "<C-l>", "<C-n>", "Buffer/Keyword Completion")
bmap("i", "<C-f>", "<C-x><C-f>", "File Path Completion")
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client and client.server_capabilities.inlayHintProvider and vim.lsp.inlay_hint then
bmap(
"n",
"<leader>uh",
function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end,
"Toggle Inlay Hints"
)
end
end,
})
end,
}
end
+1 -1
View File
@@ -67,7 +67,7 @@ set $powermenu ~/.config/sway/scripts/power_menu.sh
# ------------------------------------------
# Launch the terminal
bindsym $mod+Return exec $term
bindsym $mod+Shift+Return exec foot
bindsym Mod4+Shift+Return exec foot bash
# Kill focused window
bindsym $mod+Shift+q kill
# Lock screen
+2
View File
@@ -126,6 +126,8 @@ bind v split-window -h -c "#{pane_current_path}"
bind s split-window -v -c "#{pane_current_path}"
bind V split-window -fh -c "#{pane_current_path}"
bind S split-window -fv -c "#{pane_current_path}"
bind x split-window -fh bash
# Change layouts
bind o rotate-window
+15 -15
View File
@@ -12,7 +12,7 @@ max_height = 1500
[open]
prepend_rules = [
{ name = "*.csv", use = "text" },
{ url = "*.csv", use = "text" },
]
[opener]
@@ -24,36 +24,36 @@ text = [
[input]
cursor_blink = true
[[plugin.append_previewers]]
url = "*"
run = "file-extra-metadata"
[[plugin.prepend_fetchers]]
id = "git"
name = "*"
group = "git"
url = "*"
run = "git"
[[plugin.prepend_fetchers]]
id = "git"
name = "*/"
group = "git"
url = "*/"
run = "git"
[[plugin.prepend_previewers]]
name = "*.tar*"
url = "*.tar*"
run = 'piper --format=url -- tar tf "$1"'
[[plugin.prepend_previewers]]
name = "*.csv"
url = "*.csv"
run = 'piper -- bat -p --color=always "$1"'
[[plugin.prepend_previewers]]
name = "*.md"
url = "*.md"
run = 'piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'
[[plugin.prepend_previewers]]
name = "*/"
url = "*/"
run = 'piper -- eza -TL=3 --color=always --icons=always --group-directories-first --no-quotes "$1"'
[[plugin.append_previewers]]
name = "*"
run = 'file-extra-metadata'
[[plugin.prepend_spotters]]
name = "*"
run = 'file-extra-metadata'
url = "*"
run = "file-extra-metadata"
+2 -1
View File
@@ -88,6 +88,7 @@ installmap = dict(
"v4l-utils",
# photos
"qimgv",
"kimageformats5", # heif support
"digikam",
# music
"quodlibet",
@@ -139,7 +140,7 @@ installmap = dict(
"bandwhich", # network
"sysstat",
),
apps=("keepassxc", "bitwarden", "qalculate-gtk", "vesktop"),
apps=("keepassxc", "bitwarden", "qalculate-gtk", "discord"),
sway=(
"xdg-terminal-exec",
# visuals