Compare commits
19 Commits
0c131fdbfa
...
mininux
| Author | SHA1 | Date | |
|---|---|---|---|
|
91893fb986
|
|||
|
779fded05c
|
|||
|
42116f4fae
|
|||
|
d5c4d917df
|
|||
|
5adad59b39
|
|||
|
2a6eb125d6
|
|||
|
377f19c997
|
|||
|
750a43c708
|
|||
|
446a7a9e1e
|
|||
|
e5c35cde47
|
|||
|
b582b5daab
|
|||
|
37ba913453
|
|||
|
f5f394f8f7
|
|||
|
39e2301518
|
|||
|
c301c0c984
|
|||
|
244ccad598
|
|||
|
9baf9fe901
|
|||
|
4f5edb6932
|
|||
|
a009c1049b
|
4
bin/.bin/0x0
Executable file
4
bin/.bin/0x0
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
curl -F"file=@$@" https://0x0.st | tee >(xclip -sel clip)
|
||||||
|
|
||||||
8
bin/.bin/disc
Executable file
8
bin/.bin/disc
Executable 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
bin/.bin/emailbook
Executable file
141
bin/.bin/emailbook
Executable 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
|
||||||
9
bin/.bin/zoom_screen
Executable file
9
bin/.bin/zoom_screen
Executable 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
|
||||||
@ -1355,7 +1355,6 @@
|
|||||||
🈺 Japanese “open for business” button; U+1F23A
|
🈺 Japanese “open for business” button; U+1F23A
|
||||||
🈵 Japanese “no vacancy” button; U+1F235
|
🈵 Japanese “no vacancy” button; U+1F235
|
||||||
🔴 red circle; U+1F534
|
🔴 red circle; U+1F534
|
||||||
🟢 green circle; U+1F7E2
|
|
||||||
🔵 blue circle; U+1F535
|
🔵 blue circle; U+1F535
|
||||||
⚪ white circle; U+26AA
|
⚪ white circle; U+26AA
|
||||||
⚫ black circle; U+26AB
|
⚫ black circle; U+26AB
|
||||||
|
|||||||
@ -98,8 +98,6 @@ bspc rule -a Zathura state=tiled
|
|||||||
bspc rule -a arduino state=pseudo_tiled
|
bspc rule -a arduino state=pseudo_tiled
|
||||||
bspc rule -a Spotify desktop=VII follow=off focus=off
|
bspc rule -a Spotify desktop=VII follow=off focus=off
|
||||||
bspc rule -a discord desktop=VII follow=off focus=off
|
bspc rule -a discord desktop=VII follow=off focus=off
|
||||||
bspc rule -a steam_app_2666510 state=pseudo_tiled split_dir=south split_ratio 340 locked private layer=above rectangle=1920x340+0+740
|
|
||||||
#bspc rule -a steam_app_2666510 state=pseudo_tiling locked=on private=on split_dir=south split_ratio 296 layer=above rectangle=1920x296+0+784
|
|
||||||
|
|
||||||
## Autogap adjusts windowgap automatically according to the number of
|
## Autogap adjusts windowgap automatically according to the number of
|
||||||
## windows on the desktop. Using it disables negative window gap.
|
## windows on the desktop. Using it disables negative window gap.
|
||||||
|
|||||||
151
conky/.config/conky/conky.conf
Normal file
151
conky/.config/conky/conky.conf
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
-- 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 = 50,
|
||||||
|
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,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if hostname == "minitonitchtop" then
|
||||||
|
conky.config.gap_x = 20
|
||||||
|
conky.config.font = 'Fira Code:size=14'
|
||||||
|
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, 150} ${cpubar cpu2 8, 150}
|
||||||
|
${cpubar cpu3 8, 150} ${cpubar cpu4 8, 150}
|
||||||
|
]]
|
||||||
|
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
|
||||||
|
|
||||||
|
-- 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 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 grey}TODO $hr
|
||||||
|
$color${execi 60 pandoc -f markdown -t plain ~/todo.md}
|
||||||
|
]]
|
||||||
|
|
||||||
|
if hostname == "minitonitchtop" then
|
||||||
|
conky.config.gap_x = 10
|
||||||
|
end
|
||||||
@ -1,6 +1,6 @@
|
|||||||
[user]
|
[user]
|
||||||
email = tonitch@herisson.ovh
|
email = debucquoy.anthony@gmail.com
|
||||||
name = tonitch
|
name = Anthony Debucquoy
|
||||||
signingkey = 3D06B2E67463D272D769DF59A78D6421F083D42E
|
signingkey = 3D06B2E67463D272D769DF59A78D6421F083D42E
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = master
|
defaultBranch = master
|
||||||
@ -17,10 +17,3 @@
|
|||||||
fap = fetch --all --prune
|
fap = fetch --all --prune
|
||||||
[push]
|
[push]
|
||||||
autoSetupRemote = true
|
autoSetupRemote = true
|
||||||
[sendemail]
|
|
||||||
smtpServer = mail.herisson.ovh
|
|
||||||
smtpEncryption = tls
|
|
||||||
smtpServerPort = 587
|
|
||||||
smtpUser = tonitch
|
|
||||||
smtpPass = bateaux
|
|
||||||
annotate = yes
|
|
||||||
|
|||||||
@ -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'},
|
|
||||||
})
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
vim.lsp.start({
|
|
||||||
name = 'lua-language-server',
|
|
||||||
cmd = {'lua-language-server'},
|
|
||||||
})
|
|
||||||
1
nvim/.config/nvim/after/ftplugin/markdown.lua
Normal file
1
nvim/.config/nvim/after/ftplugin/markdown.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
vim.opt.textwidth = 100
|
||||||
@ -2,3 +2,9 @@ vim.lsp.start({
|
|||||||
name = 'jedi',
|
name = 'jedi',
|
||||||
cmd = {'jedi-language-server'},
|
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>")
|
||||||
|
|||||||
5
nvim/.config/nvim/after/ftplugin/racket.lua
Normal file
5
nvim/.config/nvim/after/ftplugin/racket.lua
Normal file
@ -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>")
|
||||||
@ -1,4 +0,0 @@
|
|||||||
vim.lsp.start({
|
|
||||||
name = 'bash-language-server',
|
|
||||||
cmd = {'bash-language-server'},
|
|
||||||
})
|
|
||||||
@ -1,4 +0,0 @@
|
|||||||
vim.lsp.start({
|
|
||||||
name = 'texlab',
|
|
||||||
cmd = {'texlab'},
|
|
||||||
})
|
|
||||||
10
nvim/.config/nvim/after/ftplugin/zig.lua
Normal file
10
nvim/.config/nvim/after/ftplugin/zig.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
vim.lsp.start({
|
||||||
|
name = 'zls',
|
||||||
|
cmd = {'zls'},
|
||||||
|
on_attach = function(client, bufnr)
|
||||||
|
vim.lsp.completion.enable(true, client.id, bufnr, {
|
||||||
|
autotrigger = true,
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.g.zig_fmt_autosave = 0
|
||||||
13
nvim/.config/nvim/init.lua
Normal file
13
nvim/.config/nvim/init.lua
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
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("clangd")
|
||||||
|
vim.lsp.enable("cmake")
|
||||||
|
vim.lsp.enable("lua_ls")
|
||||||
|
vim.lsp.enable('bashls')
|
||||||
|
vim.lsp.enable('jedi_language_server')
|
||||||
|
vim.lsp.enable('texlab')
|
||||||
@ -1,4 +0,0 @@
|
|||||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
|
||||||
let &packpath = &runtimepath
|
|
||||||
let g:python3_host_prog="/usr/bin/python"
|
|
||||||
source ~/.vimrc
|
|
||||||
51
nvim/.config/nvim/lua/plugin/dap/c.lua
Normal file
51
nvim/.config/nvim/lua/plugin/dap/c.lua
Normal 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
nvim/.config/nvim/lua/plugin/dap/zig.lua
Normal file
48
nvim/.config/nvim/lua/plugin/dap/zig.lua
Normal 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,
|
||||||
|
},
|
||||||
|
}
|
||||||
@ -1,2 +1,7 @@
|
|||||||
vim.g.vimtex_view_method="zathura"
|
vim.g.vimtex_view_method="zathura"
|
||||||
vim.opt.completeopt="menu,popup,noinsert,noselect"
|
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
nvim/.config/nvim/plugin/configs.vim
Normal file
3
nvim/.config/nvim/plugin/configs.vim
Normal 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
nvim/.config/nvim/plugin/dap_keybinds.lua
Normal file
26
nvim/.config/nvim/plugin/dap_keybinds.lua
Normal 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)
|
||||||
@ -21,7 +21,4 @@ do
|
|||||||
vim.keymap.set('i', '<C-S>', function()
|
vim.keymap.set('i', '<C-S>', function()
|
||||||
vim.lsp.buf.signature_help()
|
vim.lsp.buf.signature_help()
|
||||||
end, { desc = 'vim.lsp.buf.signature_help()' })
|
end, { desc = 'vim.lsp.buf.signature_help()' })
|
||||||
|
|
||||||
vim.keymap.set('n', ']g', vim.diagnostic.goto_next)
|
|
||||||
vim.keymap.set('n', '[g', vim.diagnostic.goto_prev)
|
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
active-opacity = 1.0;
|
active-opacity = 1.0;
|
||||||
inactive-opacity = 0.9;
|
inactive-opacity = 0.9;
|
||||||
backend = "glx";
|
|
||||||
shadow = true;
|
|
||||||
corner-radius = 10;
|
|
||||||
|
|
||||||
opacity-rule = [
|
opacity-rule = [
|
||||||
"100:name ~?= 'YouTube — Mozilla Firefox'",
|
"100:name ~?= 'YouTube — Mozilla Firefox'",
|
||||||
@ -10,8 +7,3 @@ opacity-rule = [
|
|||||||
"100:name ~?= 'Netflix — Mozilla Firefox'",
|
"100:name ~?= 'Netflix — Mozilla Firefox'",
|
||||||
"100:class_g = 'Zathura'"
|
"100:class_g = 'Zathura'"
|
||||||
]
|
]
|
||||||
|
|
||||||
animation = ({
|
|
||||||
triggers = ["open", "close"];
|
|
||||||
preset = "appear";
|
|
||||||
})
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
# bspwm hotkeys
|
# bspwm hotkeys
|
||||||
#
|
#
|
||||||
# Cleanly quit bspwm
|
# Cleanly quit bspwm
|
||||||
super + shift + a
|
super + shift + q
|
||||||
bspc quit 1 && pkill lemonpanel && pkill lemonbar
|
bspc quit 1
|
||||||
|
|
||||||
# Show keybindings
|
# Show keybindings
|
||||||
super + F1
|
super + F1
|
||||||
@ -96,7 +96,7 @@ super + Return
|
|||||||
# bspc node -n @/
|
# bspc node -n @/
|
||||||
|
|
||||||
# go (Shift=move) to desktop (and focus the monitor that the desktop is located on. Bspwm style)
|
# 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}
|
bspc {desktop -f,node -d} ^{1-9,10}
|
||||||
|
|
||||||
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
|
## Alternative: i3 style behavior (focus nth, desktop of the focused monitor)
|
||||||
@ -125,7 +125,7 @@ super + Tab
|
|||||||
WindowSelector
|
WindowSelector
|
||||||
|
|
||||||
#Focus windows by direction, works with multihead
|
#Focus windows by direction, works with multihead
|
||||||
super + {q,s,z,d}
|
super + {a,s,w,d}
|
||||||
focusmover {west,south,north,east}
|
focusmover {west,south,north,east}
|
||||||
|
|
||||||
super + {h,j,k,l}
|
super + {h,j,k,l}
|
||||||
@ -137,7 +137,7 @@ super + {Left,Down,Up,Right}
|
|||||||
# Move tiled windows. Moving a tiled window to
|
# Move tiled windows. Moving a tiled window to
|
||||||
# preselected one moves into preselection instead.
|
# preselected one moves into preselection instead.
|
||||||
# Moving out of the screen should move the window to next monitor if possible
|
# 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}
|
windowgrabber {west,south,north,east}
|
||||||
|
|
||||||
super + shift + {h,j,k,l}
|
super + shift + {h,j,k,l}
|
||||||
@ -148,7 +148,7 @@ super + shift + {Left,Down,Up,Right}
|
|||||||
euclid_mover {west,south,north,east}
|
euclid_mover {west,south,north,east}
|
||||||
|
|
||||||
#resize windows
|
#resize windows
|
||||||
super + ctrl + {q,s,z,d}
|
super + ctrl + {a,s,w,d}
|
||||||
bspwm_resize.sh {west,south,north,east}
|
bspwm_resize.sh {west,south,north,east}
|
||||||
|
|
||||||
super + ctrl + {h,j,k,l}
|
super + ctrl + {h,j,k,l}
|
||||||
@ -192,8 +192,7 @@ super + shift + {comma,period}
|
|||||||
# Change window gap
|
# Change window gap
|
||||||
|
|
||||||
super + g
|
super + g
|
||||||
{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 -d focused window_gap {$gap,$(($gap+$cgap)),$(($gap+$cgap+$gap))}
|
||||||
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}
|
super + button{4,5}
|
||||||
bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
|
bspc config -d focused window_gap $((`bspc config -d focused window_gap` {+,-} 2 ))
|
||||||
@ -335,6 +334,9 @@ super + ctrl + space
|
|||||||
{pkill picom ,\
|
{pkill picom ,\
|
||||||
picom -b }
|
picom -b }
|
||||||
|
|
||||||
|
ctrl + alt +t
|
||||||
|
pkill rotateScreen_au || rotateScreen_auto
|
||||||
|
|
||||||
# Remove receptacles
|
# Remove receptacles
|
||||||
super + BackSpace
|
super + BackSpace
|
||||||
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
|
for i in $(bspc query -N -n .leaf.!window.local); do bspc node $i -k; done
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
set -g mouse
|
set -g mouse
|
||||||
set -g set-clipboard on
|
set -g set-clipboard on
|
||||||
set -g focus-events on
|
|
||||||
|
|
||||||
bind h selectp -L
|
bind h selectp -L
|
||||||
bind j selectp -D
|
bind j selectp -D
|
||||||
|
|||||||
@ -20,14 +20,10 @@ $0
|
|||||||
clean:
|
clean:
|
||||||
rm -f *.o
|
rm -f *.o
|
||||||
rm -f $1
|
rm -f $1
|
||||||
rm -f tags compile_commands.json
|
|
||||||
|
|
||||||
bear: clean
|
bear: clean
|
||||||
bear -- make
|
bear -- make
|
||||||
|
|
||||||
tags:
|
|
||||||
ctags **.{c,h}
|
|
||||||
|
|
||||||
run: $1
|
run: $1
|
||||||
./$<
|
./$<
|
||||||
|
|
||||||
|
|||||||
@ -1,2 +1,3 @@
|
|||||||
set keywordprg=go\ doc
|
set keywordprg=go\ doc
|
||||||
|
unmap K
|
||||||
set makeprg=go\ run\ .
|
set makeprg=go\ run\ .
|
||||||
|
|||||||
1
vim/.vim/ftplugin/markdown.vim
Normal file
1
vim/.vim/ftplugin/markdown.vim
Normal file
@ -0,0 +1 @@
|
|||||||
|
set tw=120
|
||||||
Submodule vim/.vim/pack/autoload/start/loremipsum deleted from 39354ae1c8
Submodule vim/.vim/pack/autoload/start/vimspector deleted from ee3bd01205
@ -72,7 +72,6 @@ alias open="xdg-open"
|
|||||||
alias sxiv=nsxiv
|
alias sxiv=nsxiv
|
||||||
alias :q=exit
|
alias :q=exit
|
||||||
alias vim=nvim
|
alias vim=nvim
|
||||||
alias radio="mpv https://radio.freenode.net/radio.ogg --volume=30"
|
|
||||||
|
|
||||||
# Theming section
|
# Theming section
|
||||||
autoload -U compinit colors zcalc
|
autoload -U compinit colors zcalc
|
||||||
@ -189,7 +188,8 @@ bindkey '^[[B' history-substring-search-down
|
|||||||
# Apply different settigns for different terminals
|
# Apply different settigns for different terminals
|
||||||
case $(basename "$(cat "/proc/$PPID/comm")") in
|
case $(basename "$(cat "/proc/$PPID/comm")") in
|
||||||
login)
|
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
|
alias x='startx ~/.xinitrc' # Type name of desired desktop after x, xinitrc is configured for it
|
||||||
;;
|
;;
|
||||||
# 'tmux: server')
|
# 'tmux: server')
|
||||||
|
|||||||
Reference in New Issue
Block a user