Compare commits

26 Commits

Author SHA1 Message Date
tonitch ee120c3a46 removing enhancd 2026-09-12 16:23:45 +02:00
tonitch bf19d1c5a8 conky 2026-09-12 16:18:14 +02:00
tonitch daddd6b4db keyboard modifications 2026-09-12 16:16:33 +02:00
Anthony Debucquoy 6c6a364e23 ranger nesting in zsh 2026-02-06 12:47:59 +01:00
Anthony Debucquoy 9c1b6ba696 nvim upgrade 2026-02-06 12:46:17 +01:00
tonitch 5588769e41 sxhkd super + g 2025-12-01 14:12:46 +01:00
Anthony Debucquoy 9ee640b13e gpu to conky 2025-10-15 08:24:06 +02:00
tonitch 91893fb986 conky general 2025-10-14 11:01:22 +02:00
Anthony Debucquoy 779fded05c lsp now uses lspconfig 2025-10-14 08:55:39 +02:00
Anthony Debucquoy 42116f4fae conky 2025-10-14 08:32:26 +02:00
Anthony Debucquoy d5c4d917df bin 2025-04-17 18:12:16 +02:00
tonitch 5adad59b39 adding dunst 2024-10-17 16:53:35 +02:00
tonitch 2a6eb125d6 configured 2024-10-15 09:55:29 +02:00
tonitch 377f19c997 Merge remote-tracking branch 'origin/master' into mininux 2024-10-15 09:53:18 +02:00
tonitch 750a43c708 vim to neovim 2024-08-24 12:21:51 +02:00
tonitch 446a7a9e1e Merge remote-tracking branch 'origin/master' into mininux 2024-06-21 17:58:27 +02:00
tonitch e5c35cde47 Merge branch 'master' into mininux 2024-06-20 14:54:00 +02:00
tonitch b582b5daab notification toggler 2024-04-19 20:55:24 +02:00
tonitch 37ba913453 lombok 2024-04-16 12:29:05 +02:00
tonitch f5f394f8f7 adding tmux 2024-04-15 17:06:49 +02:00
tonitch 39e2301518 logiscool 2024-03-08 08:12:36 +01:00
tonitch c301c0c984 fap and dog commands 2024-03-08 08:10:57 +01:00
tonitch 244ccad598 vim 2024-02-29 14:49:05 +01:00
Debucquoy 9baf9fe901 Merge branch 'master' into mininux 2024-01-24 08:56:41 +01:00
tonitch 4f5edb6932 Adding submodules 2024-01-24 08:55:17 +01:00
Debucquoy a009c1049b Mininux specials 2024-01-24 08:40:04 +01:00
41 changed files with 1085 additions and 47 deletions
+27
View File
@@ -103,3 +103,30 @@
[submodule "vim/.vim/pack/autoload/start/vim-textidote"]
path = vim/.vim/pack/autoload/start/vim-textidote
url = https://github.com/PatrBal/vim-textidote
[submodule "nvim/.config/nvim/pack/autoload/start/nvim-dap"]
path = nvim/.config/nvim/pack/autoload/start/nvim-dap
url = git@github.com:mfussenegger/nvim-dap
[submodule "nvim/.config/nvim/pack/autoload/start/LanguageTool.nvim"]
path = nvim/.config/nvim/pack/autoload/start/LanguageTool.nvim
url = git@github.com:vigoux/LanguageTool.nvim
[submodule "nvim/.config/nvim/pack/autoload/start/nvim-dap-ui"]
path = nvim/.config/nvim/pack/autoload/start/nvim-dap-ui
url = git@github.com:rcarriga/nvim-dap-ui
[submodule "nvim/.config/nvim/pack/autoload/start/nvim-jdtls"]
path = nvim/.config/nvim/pack/autoload/start/nvim-jdtls
url = git@github.com:mfussenegger/nvim-jdtls
[submodule "nvim/.config/nvim/pack/autoload/start/nvim-lspconfig"]
path = nvim/.config/nvim/pack/autoload/start/nvim-lspconfig
url = git@github.com:neovim/nvim-lspconfig
[submodule "nvim/.config/nvim/pack/autoload/start/nvim-nio"]
path = nvim/.config/nvim/pack/autoload/start/nvim-nio
url = git@github.com:nvim-neotest/nvim-nio
[submodule "nvim/.config/nvim/pack/autoload/start/ranger.vim"]
path = nvim/.config/nvim/pack/autoload/start/ranger.vim
url = git@github.com:francoiscabrol/ranger.vim
[submodule "nvim/.config/nvim/pack/autoload/start/reply.vim"]
path = nvim/.config/nvim/pack/autoload/start/reply.vim
url = git@github.com:rhysd/reply.vim
[submodule "nvim/.config/nvim/pack/autoload/start/vim-dispatch"]
path = nvim/.config/nvim/pack/autoload/start/vim-dispatch
url = git@github.com:tpope/vim-dispatch
Executable
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
curl -F"file=@$@" https://0x0.st | tee >(xclip -sel clip)
Executable
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
tmux ls -F \#S | grep disc && \
tmux attach -t disc \
|| \
tmux new-session -s disc 'scli --save-history' \; \
split-window -h -l 75% 'aerc' \; \
split-window -v 'weechat' \; \
+141
View File
@@ -0,0 +1,141 @@
#!/bin/sh
VERSION="0.2.1"
usage() {
echo "emailbook $VERSION"'
A minimalistic address book for e-mails only.
Usage: emailbook FILE [OPTIONS]
Prints all values in FILE if no option is given.
Options:
-a, --add [KEY] VALUE Add KEY/VALUE pair to FILE. If KEY is omitted,
VALUE is used as key, too.
[-s, --search] QUERY Search FILE for entries with keys or values containing QUERY.
-k, --key QUERY Like `--search` but limit search to keys/aliases.
-v, --value QUERY Like `--search` but limit search to values.
-p, --parse SOURCE Parse stdin for e-mail addresses in header and add them to FILE.
SOURCE might be either --from, --to , --cc, --bcc, or --all.
-h, --help Show this help.
-V, --version Print version.
'
}
checkfilename() {
[ $QUIET ] || [ -e "$filename" ] \
|| echo "File $filename not found. Creating it." 1>&2
}
keyexists() {
escaped=$(echo "$*" | sed 's/[][\.|$(){}?+*^]/\\&/g')
# also check display name with/without double quotes
quotestoggled=$(echo "$*" | sed -E 's/^"([^"]+)"( +<[^>]+>)/\1\2/;t;s/^([^"]+?)( +<[^>]+>)/"\1"\2/')
quotestoggledescaped=$(echo "$quotestoggled" | sed 's/[][\.|$(){}?+*^]/\\&/g')
grep -q -E "^$escaped( :|\$)" "$filename" 2> /dev/null \
|| grep -q -E "^$quotestoggledescaped( :|\$)" "$filename" 2> /dev/null
}
addentry() {
if keyexists "$1"; then
[ $QUIET ] || echo "! $1 (skipped)"
else
[ "$2" ] && line="$1 : $2" || line="$1"
[ $QUIET ] || echo "+ $line"
echo "$line" >> "$filename"
fi
}
add() {
checkfilename
case $# in
1|2) addentry "$@" ;;
*) echo "Expected one or two arguments after -a!"; exit 1 ;;
esac
}
addfromstdin() {
# Skip lines without "@", skip lines containing no-reply (or similar),
# strip \r, strip leading spaces, do the following replacements:
# "'John Doe'" <xxx> → "John Doe" <xxx>
# 'John Doe' <xxx> → John Doe <xxx>
# "john.doe@example.com" <john.doe@example.com> → <john.doe@example.com>
# "<john.doe@example.com>" <john.doe@example.com> → <john.doe@example.com>
# john.doe@example.com → <john.doe@example.com>
grep '@' \
| grep -v -i -E '\bnot?[_-]?reply' \
| sed 's/\r$//' \
| sed -E 's/^ +//g' \
| sed -E "s/(\"?)'([^'\"]+)'(\"?)/\1\2\3/" \
| sed -E 's/^"<?([^">]*)>?" +<\1>/<\1>/' \
| sed -E 's/^[^<>@ ]*@[^<>@ ]+$/<\0>/' \
| sort -u \
| while read -r line; do addentry "$line"; done
}
searchall() {
# show entries with matching alias first
searchbyalias "$*"
searchbyvalueonly "$*"
}
searchbyalias() {
grep -i -E "$* :" "$filename" | sed -E 's/^[^:]+:\s*//'
}
searchbyvalue() {
sed -E 's/^[^:]+:\s*//' "$filename" | grep -i -E "$*"
}
searchbyvalueonly() {
# exclude matches found by searchbyalias
grep -i -E -v "$* :" "$filename" | sed -E 's/^[^:]+:\s*//' | grep -i -E "$*"
}
parsefields() {
# Find header fields starting with $1 (p.e. 'To:') plus following lines
# starting with a space. Split entries at commas except when quoted. Skip
# empty lines. Decode encoded strings. Squeeze double spaces.
sed -E '/^\r?$/Q' - \
| sed -E -n "/^$1:/{:a ; \$!N ; s/\n\s+/ / ; ta ; P ; D}" \
| sed -E "s/^$1:\\s*//" \
| grep -v -P '[\x80-\xFF]' \
| awk -vFPAT='([^,"]*)("[^"]+")?([^,]*)?' -vOFS='\n' \
'{for(i=1;i<=NF;i++) printf("%s\n",$i)}' \
| sed -E -e '/^ *$/d' \
| perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' \
| sed -E -e 's/ +/ /g' \
| addfromstdin
}
parse() {
checkfilename
case "$1" in
--all) parsefields '(From|To|Cc|CC|Bcc)' ;;
# TODO: Include References, In-Reply-To, Reply-To, Return-Path?
--from) parsefields 'From' ;;
--to) parsefields 'To' ;;
--cc) parsefields '(Cc|CC)' ;;
--bcc) parsefields 'Bcc' ;;
esac
}
case "$1" in
-h|--help|'') usage; exit ;;
-V|--version) echo "$VERSION"; exit ;;
esac
filename="$1"; shift
case "$1" in
-q|--quiet) shift; QUIET=1 ;;
esac
case "$1" in
-a|--add) shift; add "$@" ;;
-s|--search) shift; searchall "$*" ;;
-k|--key) shift; searchbyalias "$*" ;;
-v|--value) shift; searchbyvalue "$*" ;;
-p|--parse) shift; parse "$@" ;;
*) searchall "$*" ;;
esac
+3 -4
View File
@@ -2,16 +2,15 @@
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
if [[ $key = "fr" ]]; then
if [[ $key = "be" ]]; then
setxkbmap us
elif [[ $key = "us" ]]; then
setxkbmap us -variant dvorak
setxkbmap us -variant dvp
elif [[ $key = "us dvorak" ]]; then
setxkbmap fr
setxkbmap be
else
setxkbmap fr
fi
key=`setxkbmap -query | grep "layout\|variant" | awk '{print $2}' | xargs`
notify-send "Keyboard Layout: $key"
+9
View File
@@ -0,0 +1,9 @@
current_resolution=$(xrandr | awk '/DSI1/ {print $4}')
if [[ $current_resolution == 1920x1200* ]];
then
xrandr --size 600x960
else
xrandr --size 1200x1920
fi
chwp
+168
View File
@@ -0,0 +1,168 @@
-- Conky, a system monitor https://github.com/brndnmtthws/conky
--
-- This configuration file is Lua code. You can write code in here, and it will
-- execute when Conky loads. You can use it to generate your own advanced
-- configurations.
--
-- Try this (remove the `--`):
--
-- print("Loading Conky config")
--
-- For more on Lua, see:
-- https://www.lua.org/pil/contents.html
--
-- Conky Lua API: https://conky.cc/lua
-- Configuration settings: https://conky.cc/config_settings
io.input("/etc/hostname")
hostname = io.read()
conky.config = {
alignment = 'top_right',
background = false,
border_width = 1,
cpu_avg_samples = 2,
double_buffer = true,
update_interval = 1.0,
default_color = 'green',
default_outline_color = 'green',
default_shade_color = 'dark green',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = true,
extra_newline = false,
font = 'Fira Code:size=10',
gap_x = -1800,
gap_y = 40,
minimum_height = 950,
minimum_width = 300,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_ncurses = false,
out_to_stderr = false,
out_to_wayland = false,
out_to_x = true,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
own_window_hints = 'undecorated,sticky,below,skip_taskbar,skip_pager',
own_window_argb_visual = true,
own_window_argb_value = 200,
own_window_colour = "#222222",
show_graph_range = false,
show_graph_scale = false,
stippled_borders = 0,
uppercase = false,
use_spacer = 'none',
use_xft = true,
}
mailpath = "/disks/TwoTO/Mails"
if hostname == "minitonitchtop" then
conky.config.gap_x = 20
conky.config.font = 'Fira Code:size=14'
mailpath = "$HOME/Mails"
end
function disksbars()
if hostname == "minitonitchtop" then
return [[
${color grey}root $color${fs_bar 6 /}
]]
else
return [[
${color grey}root $color${fs_bar 6 /}
${color grey}home $color${fs_bar 6 /home}
${color grey}OneT $color${fs_bar 6 /disks/OneTO/}
${color grey}TwoT $color${fs_bar 6 /disks/TwoTO/}
]]
end
end
function cpubars()
if hostname == "minitonitchtop" then
return [[
${color}${cpubar cpu1 8, 220} ${cpubar cpu2 8, 220}
${cpubar cpu3 8, 220} ${cpubar cpu4 8, 220}
]]
else
return [[
${color}${cpubar cpu1 8, 120} ${cpubar cpu2 8, 120} ${cpubar cpu3 8, 120}
${cpubar cpu4 8, 120} ${cpubar cpu5 8, 120} ${cpubar cpu6 8, 120}
${cpubar cpu7 8, 120} ${cpubar cpu8 8, 120} ${cpubar cpu9 8, 120}
${cpubar cpu10 8, 120} ${cpubar cpu11 8, 120} ${cpubar cpu12 8, 120}
]]
end
end
function networks()
if hostname == "minitonitchtop" then
return [[
IP: $color${addrs wlo1}
${color grey}UP $color${upspeedgraph wlo1 -x -t}
${color grey}DOWN $color${downspeedgraph wlo1 -x -t }
]]
else
return [[
IP: $color${addrs enp3s0}
${color grey}UP $color${upspeedgraph enp3s0 -x -t}
${color grey}DOWN $color${downspeedgraph enp3s0 -x -t }
]]
end
end
function gpu()
if hostname == "minitonitchtop" then
return [[
${color red} Todo
]]
else
return [[
${color gray}Temp: ${nvidia temp}°
${color gray}GPU: $color%${nvidia gpuutil} ${nvidiabar gpuutil}
${color gray}Mem: $color%${nvidia memperc} ${nvidiabar mem}
${color gray}Fan: $color%${nvidia fanlevel} ${nvidiabar fanlevel}
]]
end
end
-- Variables: https://conky.cc/variables
conky.text = [[
${color gray}Date: $color${time %a %d %b %Y %H:%M}
${color gray}Uptime: $color$uptime on $kernel
${color gray}RAM + SWAP $hr
${color gray}$color$memperc% ${membar 6}
${color gray}$color$swapperc% ${swapbar 6}
${color gray}CPU $hr
]]..cpubars()..[[
${color gray}GPU $hr
]]..gpu()..[[
${color grey}File systems $hr
]]..disksbars()..[[
${color grey}Networking $hr
]]..networks()..[[
${color grey}Processes $hr
${color grey}Name PID CPU% MEM%
${color}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color gray}Count: $color$processes
${color grey}Infos $hr
$color${font FiraCode Nerd Font:size=10}${execi 1800 curl -s 'wttr.in/?format=4'}$font
${color gray}mto $color${new_mails ]]..mailpath..[[/minecraftonitch/INBOX/ 900} / ${mails ]]..mailpath..[[/minecraftonitch/INBOX/ 900} | ${color gray}d.t $color${new_mails ]]..mailpath..[[/d.tonitch/INBOX/ 900} / ${mails ]]..mailpath..[[/d.tonitch/INBOX/ 900} | ${color gray}d.a $color${new_mails ]]..mailpath..[[/debucquoy.anthony/INBOX/ 900} / ${mails ]]..mailpath..[[/debucquoy.anthony/INBOX/ 900}
${color grey}TODO $hr
$color${execi 60 pandoc -f markdown -t plain ~/todo.md}
]]
+258
View File
@@ -0,0 +1,258 @@
[global]
font =Fira Code 14
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
markup = yes
plain_text = no
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# Markup is allowed
format = "<b>%s</b>\n%b"
# Sort messages by urgency.
sort = no
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = center
# The frequency with wich text that is longer than the notification
# window allows bounces back and forth.
# This option conflicts with "word_wrap".
# Set to 0 to disable.
bounce_freq = 0
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = -1
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = yes
# Ignore newlines '\n' in notifications.
ignore_newline = no
# Hide duplicate's count and stack them
stack_duplicates = yes
hide_duplicates_count = yes
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectevly.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
#geometry = "250x50-40+40"
geometry = "300x50-15+49"
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = no
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 5
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
idle_threshold = 0
# Which monitor should the notifications be displayed on.
monitor = 1
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = none
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 15
# Display indicators for URLs (U) and actions (A).
show_indicators = no
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
# This adds empty space above and under the text.
line_height = 3
# Draw a line of "separatpr_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 2
# Padding between text and separator.
padding = 6
# Horizontal padding.
horizontal_padding = 6
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = auto
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = /usr/bin/qutebrowser -t
# Align icons left/right/off
icon_position = off
max_icon_size = 80
# Paths to default icons.
icon_path = /usr/share/icons/Paper/16x16/mimetypes/:/usr/share/icons/Paper/48x48/status/:/usr/share/icons/Paper/16x16/devices/:/usr/share/icons/Paper/48x48/notifications/:/usr/share/icons/Paper/48x48/emblems/
frame_width = 1
frame_color = "#8EC07C"
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = ctrl+space
# Close all notifications.
close_all = ctrl+shift+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1".
history = ctrl+grave
# Context menu.
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
frame_color = "#3B7C87"
foreground = "#3B7C87"
background = "#191311"
#background = "#2B313C"
timeout = 4
[urgency_normal]
frame_color = "#5B8234"
foreground = "#5B8234"
background = "#191311"
#background = "#2B313C"
timeout = 6
[urgency_critical]
frame_color = "#B7472A"
foreground = "#B7472A"
background = "#191311"
#background = "#2B313C"
timeout = 8
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg
-5
View File
@@ -1,5 +0,0 @@
vim.lsp.start({
name = 'clangd',
cmd = {'clangd'},
-- root_dir = vim.fs.root(args.buf, {'Makefile'})
})
@@ -1,4 +0,0 @@
vim.lsp.start({
name = 'cmake-language-server',
cmd = {'cmake-language-server'},
})
-4
View File
@@ -1,4 +0,0 @@
vim.lsp.start({
name = 'lua-language-server',
cmd = {'lua-language-server'},
})
@@ -0,0 +1 @@
vim.opt.textwidth = 100
+5 -4
View File
@@ -1,4 +1,5 @@
vim.lsp.start({
name = 'jedi',
cmd = {'jedi-language-server'},
})
vim.keymap.set('n', '<F12>', ":Repl<cr>")
vim.keymap.set('v', '<F12>', ":'<,'>Repl<cr>")
vim.keymap.set('n', '<F11>', ":ReplSend<cr>")
vim.keymap.set('v', '<F11>', ":'<,'>ReplSend<cr>")
@@ -0,0 +1,5 @@
vim.keymap.set('n', '<F12>', ":Repl<cr>")
vim.keymap.set('v', '<F12>', ":'<,'>Repl<cr>")
vim.keymap.set('n', '<F11>', ":ReplSend<cr>")
vim.keymap.set('v', '<F11>', ":'<,'>ReplSend<cr>")
-4
View File
@@ -1,4 +0,0 @@
vim.lsp.start({
name = 'bash-language-server',
cmd = {'bash-language-server'},
})
-4
View File
@@ -1,4 +0,0 @@
vim.lsp.start({
name = 'texlab',
cmd = {'texlab'},
})
+1
View File
@@ -0,0 +1 @@
vim.g.zig_fmt_autosave = 0
+50
View File
@@ -0,0 +1,50 @@
vim.cmd('set runtimepath^=~/.vim runtimepath+=~/.vim/after')
vim.cmd('let &packpath = &runtimepath')
vim.cmd('let g:python3_host_prog="/usr/bin/python"')
vim.cmd('source ~/.vimrc"')
-- Enable LSPs
vim.lsp.enable('bashls')
vim.lsp.enable('clangd')
vim.lsp.enable('cmake')
vim.lsp.enable('jdtls')
vim.lsp.enable('jedi_language_server')
vim.lsp.enable('lua_ls')
vim.lsp.enable('texlab')
vim.lsp.enable('zls')
-- LSPs config
vim.lsp.config("lua_ls", {
settings = {
Lua = {
diagnostics = {
globals = { "vim" }
},
workspace = {
checkThirdParty = "Apply",
telemetry = { enable = false },
library = {
-- vim.env.VIMRUNTIME,
"${3rd}/love2d/library"
}
}
},
}
})
vim.lsp.config("zls", {
on_attach = function(client, bufnr)
vim.lsp.completion.enable(true, client.id, bufnr, {
autotrigger = true,
})
end
})
-- vim.lsp.config("jdtls", {
-- settings = {
-- java = {
--
-- }
-- }
-- })
-4
View File
@@ -1,4 +0,0 @@
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
let g:python3_host_prog="/usr/bin/python"
source ~/.vimrc
+51
View File
@@ -0,0 +1,51 @@
local dap = require('dap')
dap.adapters.gdb = {
id = 'gdb',
type = 'executable',
command = 'gdb',
args = { '--quiet', '--interpreter=dap' },
}
dap.configurations.c = {
{
name = 'Run executable (GDB)',
type = 'gdb',
request = 'launch',
program = function()
local path = vim.fn.input({
prompt = 'Path to executable: ',
default = vim.fn.getcwd() .. '/',
completion = 'file',
})
return (path and path ~= '') and path or dap.ABORT
end,
},
{
name = 'Run executable with arguments (GDB)',
type = 'gdb',
request = 'launch',
program = function()
local path = vim.fn.input({
prompt = 'Path to executable: ',
default = vim.fn.getcwd() .. '/',
completion = 'file',
})
return (path and path ~= '') and path or dap.ABORT
end,
args = function()
local args_str = vim.fn.input({
prompt = 'Arguments: ',
})
return vim.split(args_str, ' +')
end
},
{
name = 'Attach to process (GDB)',
type = 'gdb',
request = 'gdb',
processId = require('dap.utils').pick_process,
},
}
dap.configurations.rust = dap.configurations.c
+48
View File
@@ -0,0 +1,48 @@
local dap = require('dap')
dap.adapters.lldb = {
id = 'lldb',
type = 'executable',
command = 'lldb-dap',
}
dap.configurations.zig = {
{
name = 'Run executable (lldb)',
type = 'lldb',
request = 'launch',
program = function()
local path = vim.fn.input({
prompt = 'Path to executable: ',
default = vim.fn.getcwd() .. '/',
completion = 'file',
})
return (path and path ~= '') and path or dap.ABORT
end,
},
{
name = 'Run executable with arguments (lldb)',
type = 'lldb',
request = 'launch',
program = function()
local path = vim.fn.input({
prompt = 'Path to executable: ',
default = vim.fn.getcwd() .. '/',
completion = 'file',
})
return (path and path ~= '') and path or dap.ABORT
end,
args = function()
local args_str = vim.fn.input({
prompt = 'Arguments: ',
})
return vim.split(args_str, ' +')
end
},
{
name = 'Attach to process (lldb)',
type = 'lldb',
request = 'lldb',
processId = require('dap.utils').pick_process,
},
}
+5
View File
@@ -1,2 +1,7 @@
vim.g.vimtex_view_method="zathura"
vim.opt.completeopt="menu,popup,noinsert,noselect"
vim.g.python3_host_prog="/bin/python"
require("dapui").setup()
require("plugin.dap.c")
require("plugin.dap.zig")
+3
View File
@@ -0,0 +1,3 @@
nnoremap sd :lua vim.diagnostic.open_float()<CR>
nnoremap <c-t> :FloatermToggle<CR>
let g:neomake_open_list = 2
+26
View File
@@ -0,0 +1,26 @@
vim.keymap.set('n', '<F5>', function() require('dap').continue() end)
vim.keymap.set('n', '<F10>', function() require('dap').step_over() end)
vim.keymap.set('n', '<F11>', function() require('dap').step_into() end)
vim.keymap.set('n', '<F12>', function() require('dap').step_out() end)
vim.keymap.set('n', '<Leader>b', function() require('dap').toggle_breakpoint() end)
vim.keymap.set('n', '<Leader>B', function() require('dap').set_breakpoint() end)
vim.keymap.set('n', '<Leader>lp', function() require('dap').set_breakpoint(nil, nil, vim.fn.input('Log point message: ')) end)
vim.keymap.set('n', '<Leader>dr', function() require('dap').repl.open() end)
vim.keymap.set('n', '<Leader>dl', function() require('dap').run_last() end)
vim.keymap.set({'n', 'v'}, '<Leader>dh', function()
require('dap.ui.widgets').hover()
end)
vim.keymap.set({'n', 'v'}, '<Leader>dp', function()
require('dap.ui.widgets').preview()
end)
vim.keymap.set('n', '<Leader>df', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.frames)
end)
vim.keymap.set('n', '<Leader>ds', function()
local widgets = require('dap.ui.widgets')
widgets.centered_float(widgets.scopes)
end)
vim.keymap.set('n', '<F9>', function() require("dapui").toggle() end)
vim.keymap.set('n', '<M-k>', function() require("dapui").eval() end)
vim.keymap.set('v', '<M-k>', function() require("dapui").eval() end)
+8
View File
@@ -5,3 +5,11 @@ function! OpenCompletion()
endfunction
autocmd InsertCharPre * if &omnifunc != "" | call OpenCompletion() | endif
" https://github.com/mfussenegger/nvim-jdtls?tab=readme-ov-file
nnoremap <A-o> <Cmd>lua require'jdtls'.organize_imports()<CR>
nnoremap crv <Cmd>lua require('jdtls').extract_variable()<CR>
vnoremap crv <Esc><Cmd>lua require('jdtls').extract_variable(true)<CR>
nnoremap crc <Cmd>lua require('jdtls').extract_constant()<CR>
vnoremap crc <Esc><Cmd>lua require('jdtls').extract_constant(true)<CR>
vnoremap crm <Esc><Cmd>lua require('jdtls').extract_method(true)<CR>
+1
View File
@@ -1,6 +1,7 @@
bin
bspwm
dmenu
dunst
feh
git
nvim
+11 -7
View File
@@ -1,8 +1,8 @@
# bspwm hotkeys
#
# Cleanly quit bspwm
super + shift + a
bspc quit 1 && pkill lemonpanel && pkill lemonbar
super + shift + q
bspc quit 1
# Show keybindings
super + F1
@@ -96,7 +96,7 @@ super + Return
# bspc node -n @/
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
super + {_,shift + }{ampersand,eacute,quotedbl,apostrophe,parenleft,minus,egrave,underscore,ccedilla,agrave}
super + {_,shift + }{1,2,3,4,5,6,7,8,9,0}
bspc {desktop -f,node -d} ^{1-9,10}
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
@@ -125,7 +125,7 @@ super + Tab
WindowSelector
#Focus windows by direction, works with multihead
super + {q,s,z,d}
super + {a,s,w,d}
focusmover {west,south,north,east}
super + {h,j,k,l}
@@ -137,7 +137,7 @@ super + {Left,Down,Up,Right}
# Move tiled windows. Moving a tiled window to
# preselected one moves into preselection instead.
# Moving out of the screen should move the window to next monitor if possible
super + shift + {q,s,z,d}
super + shift + {q,s,w,d}
windowgrabber {west,south,north,east}
super + shift + {h,j,k,l}
@@ -148,7 +148,7 @@ super + shift + {Left,Down,Up,Right}
euclid_mover {west,south,north,east}
#resize windows
super + ctrl + {q,s,z,d}
super + ctrl + {a,s,w,d}
bspwm_resize.sh {west,south,north,east}
super + ctrl + {h,j,k,l}
@@ -192,7 +192,8 @@ super + shift + {comma,period}
# Change window gap
super + g
bspc config -d focused window_gap {$gap,$(($gap+$cgap)),$(($gap+$cgap+$gap))}
{bspc config window_gap 0 && bspc config top_padding 0 && bspc config bottom_padding 0 && bspc config right_padding 0 && bspc config left_padding 0,\
bspc config window_gap $(($gap+$cgap)) && bspc config top_padding $(($PANEL_HEIGHT-($gap-$cgap))) && bspc config bottom_padding -$gap && bspc config right_padding -$gap && bspc config left_padding -$gap}
super + button{4,5}
bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
@@ -334,6 +335,9 @@ super + ctrl + space
{pkill picom ,\
picom -b }
ctrl + alt +t
pkill rotateScreen_au || rotateScreen_auto
# Remove receptacles
super + BackSpace
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
+1
View File
@@ -0,0 +1 @@
set tw=120
+12 -5
View File
@@ -20,7 +20,7 @@ zstyle ':completion:*' cache-path ~/.zsh/cache
HISTFILE=~/.zhistory
HISTSIZE=1000
SAVEHIST=500
export EDITOR=/usr/bin/vim
#export EDITOR=/usr/bin/vim
#export VISUAL=/usr/bin/gvim
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
@@ -72,6 +72,8 @@ alias open="xdg-open"
alias sxiv=nsxiv
alias :q=exit
alias vim=nvim
alias radio="mpv https://radio.freenode.net/radio.ogg --volume=30"
alias calc="calcurse-caldav && calcurse && calcurse-caldav"
# Theming section
autoload -U compinit colors zcalc
@@ -177,8 +179,8 @@ zmodload zsh/terminfo
# Enabling fzf capabilities
source /usr/share/fzf/*.zsh
source /usr/share/enhancd/init.sh
export ENHANCD_ENABLE_DOUBLE_DOT=false
# source /usr/share/enhancd/init.sh
# export ENHANCD_ENABLE_DOUBLE_DOT=false
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
@@ -188,7 +190,8 @@ bindkey '^[[B' history-substring-search-down
# Apply different settigns for different terminals
case $(basename "$(cat "/proc/$PPID/comm")") in
login)
RPROMPT="%{$fg[red]%} %(?..[%?])"
RPROMPT="%(?.%{$fg[green]%} %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
# RPROMPT="%{$fg[red]%} %(?..[%?])"
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
;;
# 'tmux: server')
@@ -217,4 +220,8 @@ case $(basename "$(cat "/proc/$PPID/comm")") in
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
;;
esac
# PROG=tea _CLI_ZSH_AUTOCOMPLETE_HACK=1 source "/home/tonitch/.config/tea/autocomplete.zsh"
# Add level of ranger nesting if in ranger
if [ -n "$RANGER_LEVEL" ]; then
export RPROMPT="[r$RANGER_LEVEL]$RPROMPT";
fi
+230
View File
@@ -0,0 +1,230 @@
## Options section
setopt CORRECT # Auto correct mistakes
setopt EXTENDED_GLOB # Extended globbing. Allows using regular expressions with *
setopt NO_CASE_GLOB # Case insensitive globbing
setopt RC_EXPAND_PARAM # Array expension with parameters
setopt NO_CHECK_JOBS # Don't warn about running processes when exiting
setopt NUMERIC_GLOB_SORT # Sort filenames numerically when it makes sense
setopt NO_BEEP # No beep
setopt APPEND_HISTORY # Immediately append history instead of overwriting
setopt HIST_IGNORE_ALL_DUPS # If a new command is a duplicate, remove the older one
setopt AUTO_CD # if only directory path is entered, cd there.
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc)
zstyle ':completion:*' rehash true # automatically find new executables in path
# Speed up completions
zstyle ':completion:*' accept-exact '*(N)'
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
HISTFILE=~/.zhistory
HISTSIZE=1000
SAVEHIST=500
#export EDITOR=/usr/bin/vim
#export VISUAL=/usr/bin/gvim
WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word
## Keybindings section
bindkey -v
# bindkey '^[[7~' beginning-of-line # Home key
# bindkey '^[[H' beginning-of-line # Home key
# if [[ "${terminfo[khome]}" != "" ]]; then
# bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line
# fi
# bindkey '^[[8~' end-of-line # End key
# bindkey '^[[F' end-of-line # End key
# if [[ "${terminfo[kend]}" != "" ]]; then
# bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line
# fi
# bindkey '^[[2~' overwrite-mode # Insert key
# bindkey '^[[3~' delete-char # Delete key
bindkey '^[[C' forward-char # Right key
bindkey '^[[D' backward-char # Left key
bindkey '^[[5~' history-beginning-search-backward # Page up key
bindkey '^[[6~' history-beginning-search-forward # Page down key
# Edit line in vim with ctrl-e
autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-line
# Navigate words with ctrl+arrow keys
bindkey '^[Oc' forward-word #
bindkey '^[Od' backward-word #
bindkey '^[[1;5D' backward-word #
bindkey '^[[1;5C' forward-word #
bindkey '^H' backward-kill-word # delete previous word with ctrl+backspace
bindkey '^[[Z' undo # Shift+tab undo last action
## Alias section
alias cp="cp -i" # Confirm before overwriting something
alias rm="rm -i"
alias df='df -h' # Human-readable sizes
alias free='free -m' # Show sizes in MB
alias gitu='git add . && git commit && git push'
alias ls='ls --color=auto'
alias cal='cal -m'
alias dotfiles='git --git-dir=$HOME/.config/dotfiles --work-tree=$HOME'
alias findfiles="find . -name "
alias rofi="rofi -show combi"
alias get_idf='source /opt/esp-idf/export.sh'
alias open="xdg-open"
alias sxiv=nsxiv
alias :q=exit
alias vim=nvim
<<<<<<< HEAD
=======
alias radio="mpv https://radio.freenode.net/radio.ogg --volume=30"
alias calc="calcurse-caldav && calcurse && calcurse-caldav"
>>>>>>> 5bc0e97 (ranger nesting in zsh)
# Theming section
autoload -U compinit colors zcalc
compinit -d
colors
# enable substitution for prompt
setopt prompt_subst
# Prompt (on left side) similar to default bash prompt, or redhat zsh prompt with colors
#PROMPT="%(!.%{$fg[red]%}[%n@%m %1~]%{$reset_color%}# .%{$fg[green]%}[%n@%m %1~]%{$reset_color%}$ "
# Maia prompt
PROMPT="%B%{$fg[cyan]%}%(4~|%-1~/.../%2~|%~)%u%b >%{$fg[cyan]%}>%B%(?.%{$fg[cyan]%}.%{$fg[red]%})>%{$reset_color%}%b " # Print some system information when the shell is first started
# Print a greeting message when shell is started
echo $USER@$HOST $(uname -srm) $(source /etc/os-release && echo "$BUILD_ID")
## Prompt on right side:
# - shows status of git when in git repository (code adapted from https://techanic.net/2012/12/30/my_git_prompt_for_zsh.html)
# - shows exit status of previous command (if previous command finished with an error)
# - is invisible, if neither is the case
# Modify the colors and symbols in these variables as desired.
GIT_PROMPT_SYMBOL="%{$fg[blue]%}±" # plus/minus - clean repo
GIT_PROMPT_PREFIX="%{$fg[green]%}[%{$reset_color%}"
GIT_PROMPT_SUFFIX="%{$fg[green]%}]%{$reset_color%}"
GIT_PROMPT_AHEAD="%{$fg[red]%}ANUM%{$reset_color%}" # A"NUM" - ahead by "NUM" commits
GIT_PROMPT_BEHIND="%{$fg[cyan]%}BNUM%{$reset_color%}" # B"NUM" - behind by "NUM" commits
GIT_PROMPT_MERGING="%{$fg_bold[magenta]%}⚡︎%{$reset_color%}" # lightning bolt - merge conflict
GIT_PROMPT_UNTRACKED="%{$fg_bold[red]%}●%{$reset_color%}" # red circle - untracked files
GIT_PROMPT_MODIFIED="%{$fg_bold[yellow]%}●%{$reset_color%}" # yellow circle - tracked files modified
GIT_PROMPT_STAGED="%{$fg_bold[green]%}●%{$reset_color%}" # green circle - staged changes present = ready for "git push"
parse_git_branch() {
# Show Git branch/tag, or name-rev if on detached head
( git symbolic-ref -q HEAD || git name-rev --name-only --no-undefined --always HEAD ) 2> /dev/null
}
parse_git_state() {
# Show different symbols as appropriate for various Git repository states
# Compose this value via multiple conditional appends.
local GIT_STATE=""
local NUM_AHEAD="$(git log --oneline @{u}.. 2> /dev/null | wc -l | tr -d ' ')"
if [ "$NUM_AHEAD" -gt 0 ]; then
GIT_STATE=$GIT_STATE${GIT_PROMPT_AHEAD//NUM/$NUM_AHEAD}
fi
local NUM_BEHIND="$(git log --oneline ..@{u} 2> /dev/null | wc -l | tr -d ' ')"
if [ "$NUM_BEHIND" -gt 0 ]; then
GIT_STATE=$GIT_STATE${GIT_PROMPT_BEHIND//NUM/$NUM_BEHIND}
fi
local GIT_DIR="$(git rev-parse --git-dir 2> /dev/null)"
if [ -n $GIT_DIR ] && test -r $GIT_DIR/MERGE_HEAD; then
GIT_STATE=$GIT_STATE$GIT_PROMPT_MERGING
fi
if [[ -n $(git ls-files --other --exclude-standard 2> /dev/null) ]]; then
GIT_STATE=$GIT_STATE$GIT_PROMPT_UNTRACKED
fi
if ! git diff --quiet 2> /dev/null; then
GIT_STATE=$GIT_STATE$GIT_PROMPT_MODIFIED
fi
if ! git diff --cached --quiet 2> /dev/null; then
GIT_STATE=$GIT_STATE$GIT_PROMPT_STAGED
fi
if [[ -n $GIT_STATE ]]; then
echo "$GIT_PROMPT_PREFIX$GIT_STATE$GIT_PROMPT_SUFFIX"
fi
}
git_prompt_string() {
local git_where="$(parse_git_branch)"
# If inside a Git repository, print its branch and state
[ -n "$git_where" ] && echo "$GIT_PROMPT_SYMBOL$(parse_git_state)$GIT_PROMPT_PREFIX%{$fg[yellow]%}${git_where#(refs/heads/|tags/)}$GIT_PROMPT_SUFFIX"
# If not inside the Git repo, print exit codes of last command (only if it failed)
[ ! -n "$git_where" ] && echo "%{$fg[red]%} %(?..[%?])"
}
# Right prompt with exit status of previous command if not successful
#RPROMPT="%{$fg[red]%} %(?..[%?])"
# Right prompt with exit status of previous command marked with ✓ or ✗
#RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
# Color man pages
export LESS_TERMCAP_mb=$'\E[01;32m'
export LESS_TERMCAP_md=$'\E[01;32m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;47;34m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
export LESS=-r
## Plugins section: Enable fish style features
# Use syntax highlighting
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Use history substring search
source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
# Use Vim mode
source /usr/share/zsh/plugins/zsh-vi-mode/zsh-vi-mode.plugin.zsh
# bind UP and DOWN arrow keys to history substring search
zmodload zsh/terminfo
# Enabling fzf capabilities
source /usr/share/fzf/*.zsh
source /usr/share/enhancd/init.sh
export ENHANCD_ENABLE_DOUBLE_DOT=false
bindkey "$terminfo[kcuu1]" history-substring-search-up
bindkey "$terminfo[kcud1]" history-substring-search-down
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
# Apply different settigns for different terminals
case $(basename "$(cat "/proc/$PPID/comm")") in
login)
RPROMPT="%(?.%{$fg[green]%}✓ %{$reset_color%}.%{$fg[red]%}✗ %{$reset_color%})"
# RPROMPT="%{$fg[red]%} %(?..[%?])"
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
;;
# 'tmux: server')
# RPROMPT='$(git_prompt_string)'
# ## Base16 Shell color themes.
# #possible themes: 3024, apathy, ashes, atelierdune, atelierforest, atelierhearth,
# #atelierseaside, bespin, brewer, chalk, codeschool, colors, default, eighties,
# #embers, flat, google, grayscale, greenscreen, harmonic16, isotope, londontube,
# #marrakesh, mocha, monokai, ocean, paraiso, pop (dark only), railscasts, shapesifter,
# #solarized, summerfruit, tomorrow, twilight
# #theme="eighties"
# #Possible variants: dark and light
# #shade="dark"
# #BASE16_SHELL="/usr/share/zsh/scripts/base16-shell/base16-$theme.$shade.sh"
# #[[ -s $BASE16_SHELL ]] && source $BASE16_SHELL
# # Use autosuggestion
# source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
# ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
# ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
# ;;
*)
RPROMPT='$(git_prompt_string)'
# Use autosuggestion
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
;;
esac
# Add level of ranger nesting if in ranger
if [ -n "$RANGER_LEVEL" ]; then
export RPROMPT="[r$RANGER_LEVEL]$RPROMPT";
fi