Updated config

This commit is contained in:
Eduard Urbach 2025-05-28 16:39:25 +02:00
parent 8fcda55cbd
commit 0943589dd7
Signed by: eduard
GPG key ID: 49226B848C78F6C8
21 changed files with 155 additions and 199 deletions

View file

@ -2,7 +2,7 @@ color_theme = "Default"
theme_background = False
truecolor = True
force_tty = False
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
presets = "proc:0:default,cpu:1:default mem:0:default net:0:tty"
vim_keys = False
rounded_corners = True
graph_symbol = "braille"
@ -48,7 +48,7 @@ mem_below_net = False
zfs_arc_cached = True
show_swap = True
swap_disk = True
show_disks = True
show_disks = False
only_physical = True
use_fstab = True
zfs_hide_datasets = False

View file

@ -3,6 +3,7 @@ if command -q git
alias g "git"
alias gc "git clone"
alias gd "git diff --ignore-space-at-eol"
alias gds "git diff --ignore-space-at-eol --compact-summary"
alias gl "git log --oneline"
alias gp "git pull"
alias gs "git status"
@ -11,6 +12,7 @@ if command -q git
alias h "home"
alias hs "home status"
alias hd "home diff --ignore-space-at-eol"
alias hds "home diff --ignore-space-at-eol --compact-summary"
alias hp "home pull"
end
@ -49,9 +51,8 @@ if command -q lsof
end
# Neovim
if command -q nvim
alias e "nvim"
alias n "nvim"
if command -q $EDITOR
alias e $EDITOR
end
# Pacman
@ -59,9 +60,9 @@ if command -q apk
alias p "apk"
alias pi "sudo apk add"
alias pr "sudo apk del"
alias pu "sudo apk update"
alias pu "sudo apk update && sudo apk upgrade"
alias pl "apk info"
alias powner "apk info --who-owns"
alias po "apk info --who-owns"
else if command -q pacman
alias p "pacman"
alias pi "sudo pacman -S"
@ -73,7 +74,7 @@ else if command -q pacman
alias paur "pacman -Qm"
alias pfiles "pacman -Ql"
alias porphan "pacman -Qtdq"
alias powner "pacman -Qo"
alias po "pacman -Qo"
end
# Sudo

View file

@ -1,8 +1,3 @@
# Interactive mode
if status is-interactive
source $HOME/.config/fish/alias.fish
end
# Set environment variables from .env
while read -la line
set -l keyval (string split -m1 "=" $line)
@ -12,10 +7,7 @@ while read -la line
set -xg $key $value
end < ~/.env
# Add scripts to PATH
fish_add_path $XDG_CONFIG_HOME/fish/scripts
# Add Go binaries to PATH
if command -q go
fish_add_path (go env GOPATH)/bin
# Interactive mode aliases
if status is-interactive
source $HOME/.config/fish/alias.fish
end

View file

@ -41,5 +41,4 @@ SETUVAR fish_pager_color_selected_background:\x2d\x2dbackground\x3dFFCC66
SETUVAR fish_pager_color_selected_completion:\x1d
SETUVAR fish_pager_color_selected_description:\x1d
SETUVAR fish_pager_color_selected_prefix:\x1d
SETUVAR fish_prompt_pwd_dir_length:0
SETUVAR fish_user_paths:/home/eduard/\x2econfig/fish/scripts\x1e/home/eduard/\x2elocal/share/go/bin\x1e/home/eduard/\x2elocal/bin
SETUVAR fish_prompt_pwd_dir_length:0

View file

@ -1,4 +1,4 @@
#!/bin/fish
#!/usr/bin/fish
set DIRECTORIES documents music pictures projects videos
set EXCLUDES node_modules .cache .godot .svelte-kit
set FLAGS --archive --compress --delete --quiet

View file

@ -1,4 +1,4 @@
#!/bin/fish
#!/usr/bin/fish
echo "This will modify your git repository to count the lines of code for each commit."
read -l -P "Do you want to continue? [y/N] " CONFIRM

View file

@ -1,5 +1,10 @@
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = waypaper --restore
# Autostart
exec-once = swaybg -i ~/pictures/wallpapers/01.png
exec-once = wl-paste --watch cliphist store
exec-once = $statusbar
exec-once = /usr/libexec/pipewire-launcher
exec-once = $statusbar
# Disabled
#exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
#exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
#exec-once = waypaper --restore

View file

@ -46,6 +46,7 @@ misc {
vfr = true
animate_manual_resizes = false
render_ahead_of_time = false
disable_hyprland_qtutils_check = true
}
cursor {
@ -67,6 +68,10 @@ ecosystem {
no_donation_nag = true
}
xwayland {
enabled = false
}
debug {
overlay = false
}

View file

@ -5,15 +5,16 @@ $logout = wlogout
$lockscreen = swaylock
$menu = fuzzel
$screenshot = IMG=~/pictures/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png && grim -g "$(slurp -d)" $IMG && wl-copy < $IMG
$shell = fish
$statusbar = waybar
$terminal = foot
$wallpaper = waypaper
# Terminal based
$editor = $terminal -e nvim
$files = $terminal -e yazi
$files = $terminal -e nnn
$center = [float;size 960 540;center]
$floating = $center $terminal
$systeminfo = $center $terminal --hold -e fastfetch
$processmonitor = $terminal -e btop
$update = $floating -e sudo pacman -Syu
$systeminfo = $floating --hold -e fastfetch
$processmonitor = $floating -e btop
$update = $floating -e fish

View file

@ -1,6 +1,6 @@
require("boot")
require("settings")
require("lsp")
require("keys")
require("autocmds")
require("usercmds")
require("events")
require("commands")
require("languages")

View file

@ -1,5 +1,5 @@
return {
cmd = { "clangd", "--background-index" },
root_markers = { "meson_options.txt", "CMakePresets.json" },
root_markers = { "meson_options.txt", "CMakePresets.json", "compile_commands.json" },
filetypes = { "c", "cpp" },
}

View file

@ -13,34 +13,19 @@ end
-- Disable plugins
local disabled_plugins = {
"2html_plugin",
"tohtml",
"getscript",
"getscriptPlugin",
"gzip",
"logipat",
"netrw",
"netrwPlugin",
"netrwSettings",
"netrwFileHandlers",
"matchit",
"tar",
"tarPlugin",
"rrhelper",
"spellfile_plugin",
"vimball",
"vimballPlugin",
"zip",
"zipPlugin",
"tutor",
"rplugin",
"syntax",
"synmenu",
"optwin",
"compiler",
"bugreport",
"ftplugin",
"gzip",
"man",
"netrw",
"matchit",
"remote_plugins",
"spellfile_plugin",
"shada_plugin",
"tarPlugin",
"tutor_mode_plugin",
"zipPlugin",
}
for _, plugin in ipairs(disabled_plugins) do
vim.g["loaded_" .. plugin] = 1
vim.g["loaded_" .. plugin] = 0
end

View file

@ -11,6 +11,7 @@ vim.api.nvim_create_user_command("ToggleWord", function()
["yes"] = "no",
["Yes"] = "No",
["YES"] = "NO",
["y"] = "n",
["1"] = "0",
["<"] = ">",
["("] = ")",

View file

@ -1,35 +1,18 @@
local on = vim.api.nvim_create_autocmd
local group = vim.api.nvim_create_augroup("autocmds", {clear = true})
on({ "BufNewFile", "BufRead" }, {
desc = "Enable word wrap in text files and markdown documents",
group = group,
pattern = { "*.txt", "*.md" },
callback = function()
vim.opt_local.wrap = true
vim.opt_local.signcolumn = "no"
end,
})
on({ "LspAttach" }, {
desc = "LSP completion",
group = group,
callback = function(ev)
local client = vim.lsp.get_client_by_id(ev.data.client_id)
if client:supports_method("textDocument/completion") then
vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true })
end
end,
})
on({ "TermOpen", "TermEnter" }, {
desc = "Disable sign column in terminals",
group = group,
callback = function()
vim.opt_local.signcolumn = "no"
end,
})
on({ "TextYankPost" }, {
desc = "Highlight when copying text",
group = group,
@ -38,33 +21,20 @@ on({ "TextYankPost" }, {
end,
})
on({ "VimEnter" }, {
desc = "Allow opening a directory and jumping to project root",
on({ "BufNewFile", "BufRead" }, {
desc = "Enable word wrap in text files and markdown documents",
group = group,
pattern = { "*.txt", "*.md" },
callback = function()
vim.opt_local.wrap = true
vim.opt_local.signcolumn = "no"
end,
})
on({ "TermOpen", "TermEnter" }, {
desc = "Disable sign column in terminals",
group = group,
callback = function()
-- Change file to its directory if needed
local name = vim.api.nvim_buf_get_name(0)
local is_directory = vim.fn.isdirectory(name)
if is_directory == 0 then
name = vim.fs.dirname(name)
end
-- Switch to root directory of the project
local root_patterns = { ".git", "go.mod", "init.lua" }
local root_dir = vim.fs.dirname(vim.fs.find(root_patterns, {
upward = true,
path = name,
})[1])
if root_dir then
vim.api.nvim_set_current_dir(root_dir)
else
vim.api.nvim_set_current_dir(name)
end
if is_directory ~= 0 then
--require("telescope.builtin").find_files()
end
vim.opt_local.signcolumn = "no"
end,
})

View file

@ -4,41 +4,37 @@ local function map(mode, lhs, rhs, info)
vim.keymap.set(mode, lhs, rhs, { desc = info })
end
-- Enter command mode without pressing shift
map("n", ";", ":", "Command mode")
-- Undo with u, Redo with U
map("n", "U", "<cmd>redo<cr>", "Redo")
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
map("n", "<C-q>", "<cmd>close<cr>", "Close window")
-- Quit with q like any other terminal app
map({"n", "v"}, "q", "<cmd>qa<cr>", "Quit all")
map({"n", "v"}, "<leader>q", "<cmd>qa!<cr>", "Quit all")
map({"n", "v"}, "Q", "<cmd>qa!<cr>", "Force quit")
-- Clear search with Esc
map({"n", "i"}, "<esc>", "<cmd>noh<cr><esc>", "Clear search")
-- Ctrl S to save the file from any mode
map({"n", "i", "s", "v"}, "<C-s>", "<cmd>w<cr><esc>", "Save file")
-- Add or delete empty lines
-- Grab the line and move it up/down
map("n", "<C-j>", "<cmd>set paste<cr>m`O<esc>``<cmd>set nopaste<cr>", "Add empty line above")
map("n", "<C-k>", "m`<cmd>-g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line above")
-- Grab the line below and move it up/down
map("n", "<A-j>", "<cmd>set paste<cr>m`o<esc>``<cmd>set nopaste<cr>", "Add empty line below")
map("n", "<A-k>", "m`<cmd>+g/\\m^\\s*$/d<cr>``<cmd>noh<cr>", "Delete empty line below")
-- Quick movement
map("n", "J", "}", "Next paragraph")
map("n", "K", "{", "Previous paragraph")
-- Horizontal movement
map({"n", "v"}, "H", "^", "Beginning of line")
map({"n", "v"}, "L", "<end>", "End of line")
-- Editing multiple instances
map("n", "<f2>", "*#:%s//<C-r><C-w>/g<left><left>", "Replace word under cursor")
map("v", "<f2>", "y/<C-r>\"<cr>N:%s//<C-r>\"/g<left><left>", "Replace selection")
map("n", "<f3>", "#*", "Search word under cursor")
map("v", "<f3>", "y/<C-r>\"<cr>N", "Search selection")
-- Line movement
map({"n", "v"}, "<C-b>", "^", "Beginning of line")
map("i", "<C-b>", "<esc>^i", "Beginning of line")
map({"i", "n", "v"}, "<C-e>", "<end>", "End of line")
-- Increasing and decreasing numbers
map("n", "+", "<C-a>", "Increase number")
map("n", "-", "<C-x>", "Decrease number")
map("n", "<kPlus>", "<C-a>", "Increase number")
map("n", "<kMinus>", "<C-x>", "Decrease number")
-- Vertical movement
map({"n", "v"}, "J", "}", "Next paragraph")
map({"n", "v"}, "K", "{", "Previous paragraph")
-- Indenting
map("n", "<Tab>", "V>gv<esc>")
@ -46,24 +42,26 @@ map("n", "<S-Tab>", "V<gv<esc>")
map("v", "<Tab>", ">gv")
map("v", "<S-Tab>", "<gv")
-- Shift arrow selection
map("n", "<S-Up>", "v<Up>")
map("n", "<S-Down>", "v<Down>")
map("n", "<S-Left>", "v<Left>")
map("n", "<S-Right>", "v<Right>")
-- Toggle word
map("n", "<Bslash>", "<cmd>ToggleWord<cr>", "Toggle word")
map("v", "<S-Up>", "<Up>")
map("v", "<S-Down>", "<Down>")
map("v", "<S-Left>", "<Left>")
map("v", "<S-Right>", "<Right>")
-- Increasing and decreasing numbers
map("n", "+", "<C-a>", "Increase number")
map("n", "-", "<C-x>", "Decrease number")
map("n", "<kPlus>", "<C-a>", "Increase number")
map("n", "<kMinus>", "<C-x>", "Decrease number")
map("i", "<S-Up>", "<Esc>v<Up>")
map("i", "<S-Down>", "<Esc>v<Down>")
map("i", "<S-Left>", "<Esc>v<Left>")
map("i", "<S-Right>", "<Esc>v<Right>")
-- Replace all instances
map("n", "<f2>", "*#:%s//<C-r><C-w>/g<left><left>", "Replace word under cursor")
map("v", "<f2>", "y/<C-r>\"<cr>N:%s//<C-r>\"/g<left><left>", "Replace selection")
-- Window switching
-- Search all instances
map("n", "<f3>", "#*", "Search word under cursor")
map("v", "<f3>", "y/<C-r>\"<cr>N", "Search selection")
-- Window management
map("n", "<A-Up>", "<C-w>k", "Move to the window above")
map("n", "<A-Down>", "<C-w>j", "Move to the window below")
map("n", "<A-Left>", "<C-w>h", "Move to the window on the left")
map("n", "<A-Right>", "<C-w>l", "Move to the window on the right")
map("n", "<A-Right>", "<C-w>l", "Move to the window on the right")
map("n", "<A-q>", "<cmd>close<cr>", "Close window")

View file

@ -1,7 +1,9 @@
-- Virtual text
vim.diagnostic.config({
virtual_lines = true,
})
-- LSP
vim.lsp.enable({
"clangd",
"gopls",

View file

@ -43,8 +43,4 @@ opt.statusline = "%{repeat('─',winwidth('.'))}"
-- Undo
opt.undofile = true
opt.undolevels = 10000
-- Virtual text
vim.diagnostic.config({ virtual_lines = true })
vim.lsp.enable({"clangd", "gopls", "rust-analyzer"})
opt.undolevels = 10000

View file

@ -1,7 +1,7 @@
{
"layer": "top",
"position": "top",
"modules-left": ["cpu", "custom/gpu", "memory", "disk"],
"modules-left": ["cpu", "memory", "disk"],
"modules-center": ["hyprland/workspaces"],
"modules-right": ["wireplumber", "clock"],
"include": "~/.config/waybar/modules.jsonc",

View file

@ -1,9 +1,52 @@
{
"cpu": {
"interval": 2,
"format": "{icon} {usage}%",
"format-icons": ["󰾆 ", "󰾅 ", "󰓅 "],
"on-click": "$TERMINAL -- btop",
"format": " {usage}%",
"on-click": "$TERMINAL -- btop --preset 1",
},
"memory": {
"interval": 2,
"format": " {used} G",
"on-click": "$TERMINAL -- btop --preset 2",
},
"disk": {
"interval": 30,
"format": "󰋊 {specific_used:0.0f} G",
"path": "/",
"unit": "GiB",
"on-click": "$TERMINAL -- nnn -Td /",
},
"hyprland/workspaces": {
"format": "{icon}",
"persistent-workspaces": {
"*": 9
},
"format-icons": {
"default": " ",
"empty": " ",
"active": " ",
"urgent": " ",
},
"sort-by-number": true,
"on-click": "activate",
},
"wireplumber": {
"format": "{icon} {volume}%",
"format-muted": " ",
"format-icons": [" ", " ", " "],
"scroll-step": 2,
"on-click": "easyeffects",
},
"clock": {
"interval": 60,
"format": " {:%H:%M}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"format": {
"today": "<span color='#fAfBfC'><b>{}</b></span>"
}
},
"on-click": "date -u +'%Y-%m-%dT%H:%M:%SZ' | wl-copy",
},
"custom/gpu": {
"interval": 2,
@ -12,18 +55,6 @@
"return-type": "",
"on-click": "$TERMINAL -- nvtop",
},
"memory": {
"interval": 2,
"format": " {used} G",
"on-click": "$TERMINAL -- btop",
},
"disk": {
"interval": 30,
"format": "󰋊 {specific_used:0.0f} G",
"path": "/",
"unit": "GiB",
"on-click": "$TERMINAL -- dua i /",
},
"custom/pacman": {
"format": " {}",
"interval": 30,
@ -57,36 +88,4 @@
"tooltip-format": "Number of processes with UDP connections",
"on-click": "$TERMINAL -- bandwhich",
},
"hyprland/workspaces": {
"format": "{icon}",
"persistent-workspaces": {
"*": 9
},
"format-icons": {
"default": " ",
"empty": " ",
"active": " ",
"urgent": " ",
},
"sort-by-number": true,
"on-click": "activate",
},
"wireplumber": {
"format": "{icon} {volume}%",
"format-muted": " ",
"format-icons": [" ", " ", " "],
"scroll-step": 2,
"on-click": "easyeffects",
},
"clock": {
"interval": 60,
"format": " {:%H:%M}",
"tooltip-format": "<tt>{calendar}</tt>",
"calendar": {
"format": {
"today": "<span color='#fAfBfC'><b>{}</b></span>"
}
},
"on-click": "date -u +'%Y-%m-%dT%H:%M:%SZ' | wl-copy",
},
}

View file

@ -6,13 +6,13 @@
}
{
"label" : "shutdown",
"action" : "systemctl poweroff",
"action" : "doas poweroff",
"text" : "Shutdown",
"keybind" : "s"
}
{
"label" : "reboot",
"action" : "systemctl reboot",
"action" : "doas reboot",
"text" : "Reboot",
"keybind" : "r"
}

4
.env
View file

@ -15,9 +15,11 @@ NUGET_PACKAGES=$XDG_CACHE_HOME/nuget
RUSTUP_HOME=$XDG_DATA_HOME/rustup
W3M_DIR=$XDG_DATA_HOME/w3m
WINEPREFIX=$XDG_DATA_HOME/wine
GOAMD64=v3
BROWSER=firefox
EDITOR=nvim
LANG=en_US.UTF-8
PAGER=less
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
TERMINAL=foot
TERMINAL=foot
PATH=$XDG_CONFIG_HOME/fish/scripts:$XDG_BIN_HOME:$CARGO_HOME/bin:$GOPATH/bin:/usr/lib/ccache/bin:/usr/sbin:/usr/bin:/sbin:/bin