Compare commits
129 Commits
e474805aad
...
feature/ne
| Author | SHA1 | Date | |
|---|---|---|---|
| 65abac9adb | |||
| 22139468f9 | |||
| 1a00736e35 | |||
| b9f7601210 | |||
| 42c0ee17ab | |||
| a29e798b3a | |||
| 448bb7a748 | |||
| fccfac8e73 | |||
| 2fb9f3f9e6 | |||
| 6f1910c323 | |||
| 2fd4ea36cc | |||
| b433bf4f67 | |||
| 2dbc45f106 | |||
| c8a8f61a9f | |||
| d95aefb166 | |||
| 17b700c910 | |||
| b963d7746e | |||
| 067c6aa2ee | |||
| de6447fe19 | |||
| 516b187060 | |||
| 7cfdf63c01 | |||
| 192b290e4a | |||
| 3c76341341 | |||
| efeca2ff10 | |||
| c7819c793f | |||
| d9671f74c7 | |||
| b56400c12c | |||
| 7472a05642 | |||
| ed605f580e | |||
| 2e0cc89584 | |||
| 300a13d443 | |||
| fa809f6273 | |||
| 4bc2809648 | |||
| ac9058d3e3 | |||
| 99fc6ec017 | |||
| 3955038a6a | |||
| 76266a78a6 | |||
| b44abad337 | |||
| 373651b9ee | |||
| 72fb89da48 | |||
| 522c655086 | |||
| 0756d4281c | |||
| ffb8c5a5f0 | |||
| a897ada9b5 | |||
| 0f2979d97f | |||
| 144212e33e | |||
| e63a60efca | |||
| 1ad8d13b23 | |||
| 62c556f898 | |||
| 85d2139be6 | |||
| e4c6d3b5a4 | |||
| 4037fe4c36 | |||
| ec628cd17f | |||
| c54fe574c0 | |||
| b9eed4c40f | |||
| d1f835ff1c | |||
| 9b2d29a3a3 | |||
| 13a9467abd | |||
| 2c87ad3a67 | |||
| 44395835e6 | |||
| 3e5ad2225a | |||
| 8d6c988661 | |||
| 156e36053e | |||
| f2d9534fba | |||
| 83b264f678 | |||
| 18aa4bc748 | |||
| b4b1e5cdf7 | |||
| 1223893f49 | |||
| a2e83bbe00 | |||
| eb7fabbb48 | |||
| 30e2b8a052 | |||
| b7fa096c90 | |||
| 92d2e7118a | |||
| b99e5a5ec3 | |||
| ef74b0e660 | |||
| bb2311dd43 | |||
| 949e930a56 | |||
| 1ea00e644d | |||
| be256e882b | |||
| 478ded7f6e | |||
| 1d299f2e43 | |||
| c812148917 | |||
| e690f17ff8 | |||
| 89257b28ec | |||
| f9617088f8 | |||
| b6a2fa03c3 | |||
| 3ee58eb2e2 | |||
| b00d82b7c9 | |||
| bbb673e7e2 | |||
| dafec71c57 | |||
| 19c943abbe | |||
| 0976aa378b | |||
| 0043e6c6fd | |||
| 478544b7d9 | |||
| 16d6ba467d | |||
| 188ae38be4 | |||
| 276ac34da1 | |||
| d6bc329c85 | |||
| a49d728b4b | |||
| c5d88a5943 | |||
| af2bfb7032 | |||
| a79c078b80 | |||
| 0afcfdd7cc | |||
| 8403882027 | |||
| ea90e4950b | |||
| a270b45c6f | |||
| 6438e2b385 | |||
| 2ef96e965b | |||
| b8d625f85e | |||
| 3fed6c5c51 | |||
| 7dfa5289a7 | |||
| 978bd04156 | |||
| e033e31c0d | |||
| 1274c62cd0 | |||
| 6d43613a77 | |||
| 834fc7fcdf | |||
| 73cee5d646 | |||
| e0c6ada3a6 | |||
| 134fdac492 | |||
| 26a6a66b77 | |||
| adfa9bdf16 | |||
| 98b5e08f7a | |||
| 6a2054b203 | |||
| b86f268e9a | |||
| 0709c23757 | |||
| 167534d65f | |||
| 6226776f8e | |||
| 4c79955e8c | |||
| f6521ee10b |
96
.bashrc
96
.bashrc
@@ -1,96 +0,0 @@
|
||||
#
|
||||
# ~/.bashrc
|
||||
#
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
PS1='[\u@\h \W]\$ '
|
||||
alias ll='ls -alF'
|
||||
alias cls="printf '\033[2J\033[3J\033[1;1H'"
|
||||
|
||||
export PATH=$PATH:/home/andreas/ext_sw/flutter/bin
|
||||
export PATH=$PATH:/home/andreas/.local/bin
|
||||
|
||||
alias get-idf='. $HOME/git/esp-idf/export.sh'
|
||||
alias clang-idf='export IDF_TOOLCHAIN=clang && . $HOME/git/esp-idf/export.sh'
|
||||
|
||||
alias ic='cd ~/.config/i3'
|
||||
alias nc='cd ~/.config/nvim'
|
||||
alias ebc='nvim ~/.bashrc'
|
||||
|
||||
alias ait='cd ~/Documents/kit/AIT'
|
||||
alias kit='cd ~/Documents/kit'
|
||||
alias eml='cd ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate'
|
||||
alias let='cd ~/git/ba-letter'
|
||||
|
||||
alias hyp='cd ~/git/HyperLink_SW'
|
||||
|
||||
source /usr/share/git/completion/git-completion.bash
|
||||
|
||||
eval "$(thefuck --alias)"
|
||||
|
||||
export VISUAL=nvim
|
||||
export EDITOR="$VISUAL"
|
||||
|
||||
function pym {
|
||||
python -m $@
|
||||
}
|
||||
|
||||
function _pym_complete {
|
||||
|
||||
local executable current previous options
|
||||
executable=${COMP_WORDS[0]}
|
||||
current="${COMP_WORDS[COMP_CWORD]}"
|
||||
previous="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
|
||||
COMPREPLY=()
|
||||
if [[ ( "$executable" == python* && "$previous" == "-m" ) ||
|
||||
( "$executable" == pym && ! "$current" == -* ) ]]; then
|
||||
|
||||
options="`python <<EOF
|
||||
import os
|
||||
import pkgutil
|
||||
import sys
|
||||
current = '$current'
|
||||
if '.' in current:
|
||||
package_name = current.rsplit('.', 1)[0]
|
||||
try:
|
||||
package = __import__(package_name, fromlist=['__name__'])
|
||||
except:
|
||||
exit()
|
||||
else:
|
||||
package_name = ''
|
||||
package = None
|
||||
def walk_packages(paths, match, prefix=''):
|
||||
for loader, name, ispkg in pkgutil.iter_modules(paths, prefix):
|
||||
if not name.startswith(match):
|
||||
continue
|
||||
yield loader, name, ispkg
|
||||
if ispkg:
|
||||
for x in walk_packages([os.path.join(loader.path, name.split('.')[-1])], match, name + '.'):
|
||||
yield x
|
||||
for loader, name, ispkg in walk_packages(
|
||||
package and getattr(package, '__path__', ()),
|
||||
current,
|
||||
package_name and (package_name + '.'),
|
||||
):
|
||||
if ispkg:
|
||||
continue
|
||||
if name.endswith('.__main__'):
|
||||
print(name.rsplit('.', 1)[0])
|
||||
else:
|
||||
print(name)
|
||||
EOF
|
||||
`"
|
||||
COMPREPLY=( $(compgen -W "${options}") )
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
complete -F _pym_complete -o nospace -o bashdefault -o default pym
|
||||
complete -F _pym_complete -o nospace -o bashdefault -o default python
|
||||
|
||||
source /usr/share/fzf/key-bindings.bash
|
||||
@@ -1,37 +0,0 @@
|
||||
set $mod Mod4
|
||||
exec_always "setxkbmap -layout 'de,gr,de' -variant 'nodeadkeys,basic,neo'"
|
||||
|
||||
include ~/.config/i3/config.d/*
|
||||
|
||||
bindsym $mod+d exec --no-startup-id rofi -show run -config ~/.config/rofi/config.rasi
|
||||
bindsym $mod+Return exec kitty
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
bindsym $mod+Shift+c reload
|
||||
bindsym $mod+Shift+r restart
|
||||
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||
|
||||
mode "exit: [l]ogout, [r]eboot, [s]hutdown" {
|
||||
bindsym l exec i3-msg exit
|
||||
bindsym r exec systemctl reboot
|
||||
bindsym s exec systemctl shutdown
|
||||
bindsym Escape mode "default"
|
||||
bindsym Return mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+x mode "exit: [l]ogout, [r]eboot, [s]hutdown"
|
||||
bindsym $mod+Shift+x exec i3lock
|
||||
|
||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +5 --max-volume 100 #increase sound volume
|
||||
bindsym XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -5 --max-volume 100 #decrease sound volume
|
||||
bindsym Shift+XF86AudioRaiseVolume exec --no-startup-id pulsemixer --change-volume +5 --max-volume 300 #increase sound volume
|
||||
bindsym Shift+XF86AudioLowerVolume exec --no-startup-id pulsemixer --change-volume -5 --max-volume 300 #decrease sound volume
|
||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle # mute sound
|
||||
|
||||
bindsym XF86AudioPlay exec playerctl play-pause
|
||||
bindsym XF86AudioPause exec playerctl play-pause
|
||||
bindsym XF86AudioNext exec playerctl next
|
||||
bindsym XF86AudioPrev exec playerctl previous
|
||||
|
||||
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
|
||||
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
|
||||
@@ -1,5 +0,0 @@
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
exec --no-startup-id nm-applet &
|
||||
exec --no-startup-id blueman-applet &
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
bindsym $mod+h focus left
|
||||
bindsym $mod+j focus down
|
||||
bindsym $mod+k focus up
|
||||
bindsym $mod+l focus right
|
||||
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
bindsym $mod+Shift+h move left
|
||||
bindsym $mod+Shift+j move down
|
||||
bindsym $mod+Shift+k move up
|
||||
bindsym $mod+Shift+l move right
|
||||
|
||||
bindsym $mod+Shift+Left move left
|
||||
bindsym $mod+Shift+Down move down
|
||||
bindsym $mod+Shift+Up move up
|
||||
bindsym $mod+Shift+Right move right
|
||||
|
||||
bindsym $mod+p split h
|
||||
bindsym $mod+v split v
|
||||
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
mode "resize" {
|
||||
bindsym h resize shrink width 10 px or 10 ppt
|
||||
bindsym j resize grow height 10 px or 10 ppt
|
||||
bindsym k resize shrink height 10 px or 10 ppt
|
||||
bindsym l resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
bindsym $mod+a focus parent
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
floating_modifier $mod
|
||||
@@ -1,71 +0,0 @@
|
||||
# Workspaces
|
||||
|
||||
set $ws1 "1: Dev"
|
||||
set $ws2 "2: Firefox"
|
||||
set $ws3 "3: Management"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
set $ws6 "6"
|
||||
set $ws7 "7: Music"
|
||||
set $ws8 "8"
|
||||
set $ws9 "9"
|
||||
set $ws10 "10"
|
||||
|
||||
bindsym $mod+1 workspace number $ws1
|
||||
bindsym $mod+2 workspace number $ws2
|
||||
bindsym $mod+3 workspace number $ws3
|
||||
bindsym $mod+4 workspace number $ws4
|
||||
bindsym $mod+5 workspace number $ws5
|
||||
bindsym $mod+6 workspace number $ws6
|
||||
bindsym $mod+7 workspace number $ws7
|
||||
bindsym $mod+8 workspace number $ws8
|
||||
bindsym $mod+9 workspace number $ws9
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
|
||||
# assign [class="firefox"] $ws2
|
||||
assign [class="Spotify"] $ws7
|
||||
|
||||
exec --no-startup-id i3-msg 'workspace $ws2; exec firefox'
|
||||
exec --no-startup-id i3-msg 'workspace $ws1; exec kitty; $ws1'
|
||||
|
||||
# Multiple monitors
|
||||
|
||||
workspace $ws1 output DP-1-3 eDP-1
|
||||
workspace $ws2 output DP-1-3 eDP-1
|
||||
workspace $ws3 output DP-1-3 eDP-1
|
||||
workspace $ws4 output DP-1-3 eDP-1
|
||||
workspace $ws5 output eDP-1
|
||||
workspace $ws6 output eDP-1
|
||||
workspace $ws7 output eDP-1
|
||||
workspace $ws8 output eDP-1
|
||||
|
||||
exec_always --no-startup-id xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1920x903 --rotate normal --output DP-1-3 --mode 1920x1200 --pos 0x0 --rotate normal
|
||||
bindsym $mod+m exec --no-startup-id xrandr --output eDP-1 --primary --mode 1920x1080 --pos 1920x903 --rotate normal --output DP-1-3 --mode 1920x1200 --pos 0x0 --rotate normal
|
||||
# bindsym $mod+m exec --no-startup-id xrandr --output HDMI2 --auto --right-of eDP1
|
||||
|
||||
|
||||
# Normal stuff
|
||||
|
||||
exec_always --no-startup-id "picom --config ~/.config/picom/picom.conf"
|
||||
exec_always --no-startup-id ~/.config/polybar/launch.sh &
|
||||
|
||||
exec_always --no-startup-id feh --bg-scale ~/.config/i3/wallpapers/mountains.jpg
|
||||
|
||||
for_window [class="^.*"] border pixel 3
|
||||
default_floating_border none
|
||||
default_floating_border normal 0
|
||||
hide_edge_borders smart
|
||||
|
||||
gaps inner 20
|
||||
smart_gaps on
|
||||
@@ -1,7 +0,0 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# Gruvbox Dark Hard
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
#
|
||||
background_opacity 0.87
|
||||
enable_audio_bell no
|
||||
@@ -1,17 +0,0 @@
|
||||
require("set")
|
||||
require("remap")
|
||||
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup("plugins")
|
||||
@@ -1,11 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"utilyre/barbecue.nvim",
|
||||
name = "barbecue",
|
||||
version = "*",
|
||||
dependencies = {"SmiteshP/nvim-navic", "nvim-tree/nvim-web-devicons"},
|
||||
config = function()
|
||||
require("barbecue").setup()
|
||||
end,
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"GCBallesteros/jupytext.nvim",
|
||||
config = true
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"seandewar/killersheep.nvim",
|
||||
config = function()
|
||||
require("killersheep").setup {
|
||||
gore = true, -- Enables/disables blood and gore.
|
||||
keymaps = {
|
||||
move_left = "h", -- Keymap to move cannon to the left.
|
||||
move_right = "l", -- Keymap to move cannon to the right.
|
||||
shoot = "<Space>" -- Keymap to shoot the cannon.
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
opts = {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"github/copilot.vim",
|
||||
event = {
|
||||
"BufReadPost",
|
||||
"BufNewFile"
|
||||
},
|
||||
cmd = {
|
||||
"Copilot"
|
||||
},
|
||||
init = function()
|
||||
vim.g.copilot_no_tab_map = true
|
||||
vim.g.copilot_assume_mapped = true
|
||||
vim.api.nvim_set_keymap("i", "<C-y>", 'copilot#Accept("<CR>")', {
|
||||
silent = true,
|
||||
expr = true
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -1,182 +0,0 @@
|
||||
return {
|
||||
{
|
||||
{
|
||||
'VonHeikemen/lsp-zero.nvim',
|
||||
branch = 'v3.x',
|
||||
lazy = true,
|
||||
config = false,
|
||||
init = function()
|
||||
-- Disable automatic setup, we are doing it manually
|
||||
vim.g.lsp_zero_extend_cmp = 0
|
||||
vim.g.lsp_zero_extend_lspconfig = 0
|
||||
end
|
||||
},
|
||||
{
|
||||
'williamboman/mason.nvim',
|
||||
lazy = false,
|
||||
config = true
|
||||
},
|
||||
|
||||
-- Autocompletion
|
||||
{
|
||||
'hrsh7th/nvim-cmp',
|
||||
event = 'InsertEnter',
|
||||
dependencies = {
|
||||
'L3MON4D3/LuaSnip',
|
||||
'hrsh7th/cmp-buffer',
|
||||
'hrsh7th/cmp-path',
|
||||
'hrsh7th/cmp-cmdline',
|
||||
'hrsh7th/cmp-nvim-lsp-signature-help',
|
||||
'saadparwaiz1/cmp_luasnip'
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_cmp()
|
||||
|
||||
local cmp = require('cmp')
|
||||
|
||||
cmp.setup({
|
||||
sources = {
|
||||
{
|
||||
name = 'path'
|
||||
},
|
||||
{
|
||||
name = 'nvim_lsp'
|
||||
},
|
||||
{
|
||||
name = 'nvim_lua'
|
||||
},
|
||||
{
|
||||
name = 'luasnip',
|
||||
keyword_length = 2
|
||||
},
|
||||
{
|
||||
name = 'buffer',
|
||||
keyword_length = 3
|
||||
},
|
||||
{
|
||||
name = 'nvim_lsp_signature_help'
|
||||
}
|
||||
},
|
||||
formatting = lsp_zero.cmp_format(),
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
|
||||
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
|
||||
['<Tab>'] = cmp.mapping.confirm({
|
||||
select = true
|
||||
}),
|
||||
['<C-Space>'] = cmp.mapping.complete()
|
||||
}),
|
||||
snippet = {
|
||||
expand = function(args) require('luasnip').lsp_expand(args.body) end
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup.filetype('gitcommit', {
|
||||
sources = cmp.config.sources({
|
||||
{
|
||||
name = 'git'
|
||||
}
|
||||
}, {
|
||||
{
|
||||
name = 'buffer'
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
cmp.setup.cmdline({
|
||||
'/',
|
||||
'?'
|
||||
}, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{
|
||||
name = 'buffer'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{
|
||||
name = 'path'
|
||||
}
|
||||
}, {
|
||||
{
|
||||
name = 'cmdline'
|
||||
}
|
||||
})
|
||||
})
|
||||
end
|
||||
},
|
||||
|
||||
-- LSP
|
||||
{
|
||||
'neovim/nvim-lspconfig',
|
||||
cmd = {
|
||||
'LspInfo',
|
||||
'LspInstall',
|
||||
'LspStart'
|
||||
},
|
||||
event = {
|
||||
'BufReadPre',
|
||||
'BufNewFile'
|
||||
},
|
||||
dependencies = {
|
||||
'hrsh7th/cmp-nvim-lsp',
|
||||
'williamboman/mason-lspconfig.nvim',
|
||||
'folke/trouble.nvim' -- required for the current config
|
||||
},
|
||||
config = function()
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_lspconfig()
|
||||
|
||||
lsp_zero.on_attach(function(client, bufnr)
|
||||
local opts = {
|
||||
buffer = bufnr,
|
||||
remap = false
|
||||
}
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
|
||||
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
|
||||
vim.keymap.set("n", "<leader>vws", function() vim.lsp.buf.workspace_symbol() end, opts)
|
||||
vim.keymap.set("n", "<leader>vd", function() vim.diagnostic.open_float() end, opts)
|
||||
vim.keymap.set("n", "[d", function() vim.diagnostic.goto_next() end, opts)
|
||||
vim.keymap.set("n", "]d", function() vim.diagnostic.goto_prev() end, opts)
|
||||
vim.keymap.set("n", "<leader>vca", function() vim.lsp.buf.code_action() end, opts)
|
||||
-- vim.keymap.set("n", "<leader>vrr", function() vim.lsp.buf.references() end, opts)
|
||||
vim.keymap.set("n", "<leader>vrr", "<cmd>Trouble lsp_references<CR>", opts)
|
||||
vim.keymap.set("n", "<leader>vrn", function() vim.lsp.buf.rename() end, opts)
|
||||
vim.keymap.set("i", "<C-p>", function() vim.lsp.buf.signature_help() end, opts)
|
||||
vim.keymap.set("n", "<M-cr>", function() vim.lsp.buf.code_action() end, opts)
|
||||
vim.keymap.set("i", "<M-cr>", function() vim.lsp.buf.code_action() end, opts)
|
||||
end)
|
||||
|
||||
require('mason-lspconfig').setup({
|
||||
ensure_installed = {
|
||||
'clangd',
|
||||
'pyright',
|
||||
'cmake',
|
||||
'texlab'
|
||||
},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
lua_ls = function()
|
||||
local lua_opts = lsp_zero.nvim_lua_ls()
|
||||
require('lspconfig').lua_ls.setup(lua_opts)
|
||||
end
|
||||
}
|
||||
})
|
||||
|
||||
require('lspconfig')['clangd'].setup {
|
||||
cmd = {
|
||||
"clangd",
|
||||
"--query-driver=/**/*g++",
|
||||
"--offset-encoding=utf-16"
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = {
|
||||
"MarkdownPreviewToggle",
|
||||
"MarkdownPreview",
|
||||
"MarkdownPreviewStop"
|
||||
},
|
||||
ft = {
|
||||
"markdown"
|
||||
},
|
||||
build = function() vim.fn["mkdp#util#install"]() end
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"benlubas/molten-nvim",
|
||||
build = ":UpdateRemotePlugins",
|
||||
version = "v1.7.0",
|
||||
init = function()
|
||||
vim.keymap.set("n", "<localleader>mi", ":MoltenInit<CR>", {
|
||||
silent = true,
|
||||
desc = "Initialize the plugin"
|
||||
})
|
||||
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>", {
|
||||
silent = true,
|
||||
desc = "run operator selection"
|
||||
})
|
||||
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>", {
|
||||
silent = true,
|
||||
desc = "evaluate line"
|
||||
})
|
||||
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>", {
|
||||
silent = true,
|
||||
desc = "re-evaluate cell"
|
||||
})
|
||||
vim.keymap.set("v", "<localleader>r", ":<C-u>MoltenEvaluateVisual<CR>gv", {
|
||||
silent = true,
|
||||
desc = "evaluate visual selection"
|
||||
})
|
||||
|
||||
vim.g.molten_auto_open_output = false
|
||||
vim.g.molten_virt_text_output = true
|
||||
vim.g.molten_virt_text_max_lines = 32
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'sbdchd/neoformat',
|
||||
event = {
|
||||
"BufReadPost",
|
||||
"BufNewFile"
|
||||
},
|
||||
init = function()
|
||||
vim.cmd([[
|
||||
let g:neoformat_enabled_python = ['autopep8']
|
||||
let g:neoformat_enabled_cpp = ['clangformat']
|
||||
let g:neoformat_enabled_c = ['clangformat']
|
||||
let g:neoformat_enable_lua = ['luaformatter']
|
||||
let g:neoformat_enabled_cmake = ['cmakeformat']
|
||||
|
||||
let g:neoformat_markdown_mdformat = {
|
||||
\ 'exe': 'mdformat',
|
||||
\ 'args': ['--wrap=79'],
|
||||
\ 'replace': 1,
|
||||
\ }
|
||||
let g:neoformat_enabled_markdown = ['mdformat']
|
||||
|
||||
let g:neoformat_enabled_latex = ['latexindent']
|
||||
let g:latexindent_opt="-m -l -g=/dev/null"
|
||||
]])
|
||||
|
||||
vim.api.nvim_set_keymap('n', '<M-L>', '<cmd>Neoformat<cr>', {
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
vim.api.nvim_set_keymap('i', '<M-L>', '<cmd>Neoformat<cr>', {
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
return {
|
||||
-- {'doums/darcula', config = function() vim.cmd('colorscheme darcula') end}
|
||||
-- {
|
||||
-- "folke/tokyonight.nvim",
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- opts = {},
|
||||
-- config = function() vim.cmd('colorscheme tokyonight-moon') end
|
||||
-- }
|
||||
-- {
|
||||
-- 'rose-pine/neovim',
|
||||
-- config = function() vim.cmd('colorscheme rose-pine-moon') end
|
||||
-- }
|
||||
-- {
|
||||
-- 'AlexvZyl/nordic.nvim',
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- init = function()
|
||||
-- require('nordic').setup {
|
||||
-- telescope = {
|
||||
-- style = 'classic'
|
||||
-- -- style = 'flat'
|
||||
-- }
|
||||
-- }
|
||||
-- require'nordic'.load()
|
||||
-- end
|
||||
-- }
|
||||
-- {
|
||||
-- "briones-gabriel/darcula-solid.nvim",
|
||||
-- dependencies = "rktjmp/lush.nvim",
|
||||
-- config = function()
|
||||
-- vim.cmd 'colorscheme darcula-solid'
|
||||
-- vim.cmd 'set termguicolors'
|
||||
-- end
|
||||
-- }
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
config = true,
|
||||
opts = {
|
||||
contrast = "hard"
|
||||
},
|
||||
init = function() vim.cmd("colorscheme gruvbox") end
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
return {
|
||||
{
|
||||
'vimpostor/vim-tpipeline'
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
dependencies = {
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
{
|
||||
'folke/lsp-colors.nvim'
|
||||
},
|
||||
{
|
||||
'nvim-telescope/telescope.nvim'
|
||||
}
|
||||
},
|
||||
cmd = {
|
||||
"Trouble",
|
||||
"TroubleClose",
|
||||
"TroubleToggle",
|
||||
"TroubleRefresh"
|
||||
},
|
||||
init = function()
|
||||
vim.keymap.set("n", "<leader>xx", function() require("trouble").toggle() end)
|
||||
vim.keymap.set("n", "<leader>xw", function() require("trouble").toggle("workspace_diagnostics") end)
|
||||
vim.keymap.set("n", "<leader>xd", function() require("trouble").toggle("document_diagnostics") end)
|
||||
vim.keymap.set("n", "<leader>xq", function() require("trouble").toggle("quickfix") end)
|
||||
vim.keymap.set("n", "<leader>xl", function() require("trouble").toggle("loclist") end)
|
||||
vim.keymap.set("n", "gR", function() require("trouble").toggle("lsp_references") end)
|
||||
end,
|
||||
config = function()
|
||||
local trouble_provider = require("trouble.providers.telescope")
|
||||
local telescope = require("telescope")
|
||||
|
||||
telescope.setup {
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = {
|
||||
["<c-t>"] = trouble_provider.open_with_trouble
|
||||
},
|
||||
n = {
|
||||
["<c-t>"] = trouble_provider.open_with_trouble
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
vim.g.mapleader = " "
|
||||
|
||||
vim.opt.nu = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = true
|
||||
|
||||
vim.opt.wrap = false
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "yes"
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
@@ -1,415 +0,0 @@
|
||||
#################################
|
||||
# Shadows #
|
||||
#################################
|
||||
|
||||
|
||||
# Enabled client-side shadows on windows. Note desktop windows
|
||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||
# unless explicitly requested using the wintypes option.
|
||||
#
|
||||
# shadow = false
|
||||
shadow = true;
|
||||
|
||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
||||
# shadow-radius = 12
|
||||
shadow-radius = 7;
|
||||
|
||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
||||
# shadow-opacity = .75
|
||||
|
||||
# The left offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-x = -15
|
||||
shadow-offset-x = -7;
|
||||
|
||||
# The top offset for shadows, in pixels. (defaults to -15)
|
||||
# shadow-offset-y = -15
|
||||
shadow-offset-y = -7;
|
||||
|
||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-red = 0
|
||||
|
||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-green = 0
|
||||
|
||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
||||
# shadow-blue = 0
|
||||
|
||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
||||
# shadow-color = "#000000"
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow.
|
||||
#
|
||||
# examples:
|
||||
# shadow-exclude = "n:e:Notification";
|
||||
#
|
||||
# shadow-exclude = []
|
||||
shadow-exclude = [
|
||||
"name = 'Notification'",
|
||||
"class_g = 'Conky'",
|
||||
"class_g ?= 'Notify-osd'",
|
||||
"class_g = 'Cairo-clock'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
||||
# clip-shadow-above = []
|
||||
|
||||
# Specify a X geometry that describes the region in which shadow should not
|
||||
# be painted in, such as a dock window region. Use
|
||||
# shadow-exclude-reg = "x10+0+0"
|
||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
||||
#
|
||||
# shadow-exclude-reg = ""
|
||||
|
||||
# Crop shadow of a window fully on a particular Xinerama screen to the screen.
|
||||
# xinerama-shadow-crop = false
|
||||
|
||||
|
||||
#################################
|
||||
# Fading #
|
||||
#################################
|
||||
|
||||
|
||||
# Fade windows in/out when opening/closing and when opacity changes,
|
||||
# unless no-fading-openclose is used.
|
||||
# fading = false
|
||||
fading = true;
|
||||
|
||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||
# fade-in-step = 0.028
|
||||
fade-in-step = 0.045;
|
||||
|
||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||
# fade-out-step = 0.03
|
||||
fade-out-step = 0.045;
|
||||
|
||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||
# fade-delta = 10
|
||||
|
||||
# Specify a list of conditions of windows that should not be faded.
|
||||
# fade-exclude = []
|
||||
|
||||
# Do not fade on window open/close.
|
||||
# no-fading-openclose = false
|
||||
|
||||
# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
|
||||
# no-fading-destroyed-argb = false
|
||||
|
||||
|
||||
#################################
|
||||
# Transparency / Opacity #
|
||||
#################################
|
||||
|
||||
|
||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
||||
# inactive-opacity = 1
|
||||
inactive-opacity = 1;
|
||||
|
||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
||||
# frame-opacity = 1.0
|
||||
frame-opacity = 1;
|
||||
|
||||
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
||||
# inactive-opacity-override = true
|
||||
inactive-opacity-override = false;
|
||||
|
||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
||||
# active-opacity = 1.0
|
||||
|
||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
||||
# inactive-dim = 0.0
|
||||
|
||||
# Specify a list of conditions of windows that should never be considered focused.
|
||||
# focus-exclude = []
|
||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
||||
|
||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||
# inactive-dim-fixed = 1.0
|
||||
|
||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
||||
# Note we don't make any guarantee about possible conflicts with other
|
||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
||||
# example:
|
||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
||||
#
|
||||
# opacity-rule = []
|
||||
|
||||
|
||||
#################################
|
||||
# Corners #
|
||||
#################################
|
||||
|
||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||
# round the corners of windows. Does not interact well with
|
||||
# `transparent-clipping`.
|
||||
corner-radius = 0
|
||||
round_borders = 1
|
||||
|
||||
# Exclude conditions for rounded corners.
|
||||
rounded-corners-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'"
|
||||
];
|
||||
|
||||
|
||||
#################################
|
||||
# Background-Blurring #
|
||||
#################################
|
||||
|
||||
|
||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
||||
# blur-method =
|
||||
# blur-size = 12
|
||||
#
|
||||
# blur-deviation = false
|
||||
#
|
||||
blur-strength = 7
|
||||
blur-method = "dual_kawase";
|
||||
|
||||
# Blur background of semi-transparent / ARGB windows.
|
||||
# Bad in performance, with driver-dependent behavior.
|
||||
# The name of the switch may change without prior notifications.
|
||||
#
|
||||
# blur-background = false
|
||||
|
||||
# Blur background of windows when the window frame is not opaque.
|
||||
# Implies:
|
||||
# blur-background
|
||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
||||
#
|
||||
# blur-background-frame = false
|
||||
|
||||
|
||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||
# blur-background-fixed = false
|
||||
|
||||
|
||||
# Specify the blur convolution kernel, with the following format:
|
||||
# example:
|
||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||
#
|
||||
# blur-kern = ""
|
||||
blur-kern = "3x3box";
|
||||
|
||||
|
||||
# Exclude conditions for background blur.
|
||||
# blur-background-exclude = []
|
||||
blur-background-exclude = [
|
||||
"window_type = 'dock'",
|
||||
"window_type = 'desktop'",
|
||||
"_GTK_FRAME_EXTENTS@:c"
|
||||
];
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||
# daemon = false
|
||||
|
||||
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
|
||||
# `xrender` is the default one.
|
||||
#
|
||||
backend = "glx"
|
||||
#backend = "xrender";
|
||||
|
||||
# Enable/disable VSync.
|
||||
# vsync = false
|
||||
vsync = true;
|
||||
|
||||
# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
|
||||
# dbus = false
|
||||
|
||||
# Try to detect WM windows (a non-override-redirect window with no
|
||||
# child that has 'WM_STATE') and mark them as active.
|
||||
#
|
||||
# mark-wmwin-focused = false
|
||||
mark-wmwin-focused = true;
|
||||
|
||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
||||
# mark-ovredir-focused = false
|
||||
mark-ovredir-focused = true;
|
||||
|
||||
# Try to detect windows with rounded corners and don't consider them
|
||||
# shaped windows. The accuracy is not very high, unfortunately.
|
||||
#
|
||||
# detect-rounded-corners = false
|
||||
detect-rounded-corners = true;
|
||||
|
||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||
#
|
||||
# detect-client-opacity = false
|
||||
detect-client-opacity = true;
|
||||
|
||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
||||
# provided that the WM supports it.
|
||||
#
|
||||
# use-ewmh-active-win = false
|
||||
|
||||
# Unredirect all windows if a full-screen opaque window is detected,
|
||||
# to maximize performance for full-screen windows. Known to cause flickering
|
||||
# when redirecting/unredirecting windows.
|
||||
#
|
||||
# unredir-if-possible = false
|
||||
|
||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
||||
# unredir-if-possible-delay = 0
|
||||
|
||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
||||
# unredir-if-possible-exclude = []
|
||||
|
||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||
# in the same group focused at the same time.
|
||||
#
|
||||
# detect-transient = false
|
||||
detect-transient = true;
|
||||
|
||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||
# group focused at the same time. This usually means windows from the same application
|
||||
# will be considered focused or unfocused at the same time.
|
||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||
#
|
||||
# detect-client-leader = false
|
||||
|
||||
# Resize damaged region by a specific number of pixels.
|
||||
# A positive value enlarges it while a negative one shrinks it.
|
||||
# If the value is positive, those additional pixels will not be actually painted
|
||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
||||
# Primarily used to fix the line corruption issues of blur,
|
||||
# in which case you should use the blur radius value here
|
||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
||||
#
|
||||
# resize-damage = 1
|
||||
|
||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
||||
# Resource-hogging, and is not well tested.
|
||||
#
|
||||
# invert-color-include = []
|
||||
|
||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
||||
# Might cause incorrect opacity when rendering transparent content (but never
|
||||
# practically happened) and may not work with blur-background.
|
||||
# My tests show a 15% performance boost. Recommended.
|
||||
#
|
||||
glx-no-stencil = true;
|
||||
|
||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
||||
# Probably could improve performance on rapid window content changes,
|
||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
||||
# Recommended if it works.
|
||||
#
|
||||
# glx-no-rebind-pixmap = false
|
||||
|
||||
# Disable the use of damage information.
|
||||
# This cause the whole screen to be redrawn everytime, instead of the part of the screen
|
||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
||||
# The opposing option is use-damage
|
||||
#
|
||||
# no-use-damage = false
|
||||
use-damage = true;
|
||||
|
||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
||||
# with GLX backend for some users.
|
||||
#
|
||||
# xrender-sync-fence = false
|
||||
|
||||
# GLX backend: Use specified GLSL fragment shader for rendering window contents.
|
||||
# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
|
||||
# in the source tree for examples.
|
||||
#
|
||||
# glx-fshader-win = ""
|
||||
|
||||
# Force all windows to be painted with blending. Useful if you
|
||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
||||
#
|
||||
# force-win-blend = false
|
||||
|
||||
# Do not use EWMH to detect fullscreen windows.
|
||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||
#
|
||||
# no-ewmh-fullscreen = false
|
||||
|
||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||
# so this could comes with a performance hit.
|
||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
||||
#
|
||||
# max-brightness = 1.0
|
||||
|
||||
# Make transparent windows clip other windows like non-transparent windows do,
|
||||
# instead of blending on top of them.
|
||||
#
|
||||
# transparent-clipping = false
|
||||
|
||||
# Set the log level. Possible values are:
|
||||
# "trace", "debug", "info", "warn", "error"
|
||||
# in increasing level of importance. Case doesn't matter.
|
||||
# If using the "TRACE" log level, it's better to log into a file
|
||||
# using *--log-file*, since it can generate a huge stream of logs.
|
||||
#
|
||||
# log-level = "debug"
|
||||
log-level = "warn";
|
||||
|
||||
# Set the log file.
|
||||
# If *--log-file* is never specified, logs will be written to stderr.
|
||||
# Otherwise, logs will to written to the given file, though some of the early
|
||||
# logs might still be written to the stderr.
|
||||
# When setting this option from the config file, it is recommended to use an absolute path.
|
||||
#
|
||||
# log-file = "/path/to/your/log/file"
|
||||
|
||||
# Show all X errors (for debugging)
|
||||
# show-all-xerrors = false
|
||||
|
||||
# Write process ID to a file.
|
||||
# write-pid-path = "/path/to/your/log/file"
|
||||
|
||||
# Window type settings
|
||||
#
|
||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
||||
# "tooltip", "notification", "combo", and "dnd".
|
||||
#
|
||||
# Following per window-type options are available: ::
|
||||
#
|
||||
# fade, shadow:::
|
||||
# Controls window-type-specific shadow and fade settings.
|
||||
#
|
||||
# opacity:::
|
||||
# Controls default opacity of the window type.
|
||||
#
|
||||
# focus:::
|
||||
# Controls whether the window of this type is to be always considered focused.
|
||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
||||
#
|
||||
# full-shadow:::
|
||||
# Controls whether shadow is drawn under the parts of the window that you
|
||||
# normally won't be able to see. Useful when the window has parts of it
|
||||
# transparent, and you want shadows in those areas.
|
||||
#
|
||||
# clip-shadow-above:::
|
||||
# Controls wether shadows that would have been drawn above the window should
|
||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
||||
#
|
||||
# redir-ignore:::
|
||||
# Controls whether this type of windows should cause screen to become
|
||||
# redirected again after been unredirected. If you have unredir-if-possible
|
||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
||||
# you can set this to `true`.
|
||||
#
|
||||
wintypes:
|
||||
{
|
||||
tooltip = { fade = false; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
||||
dock = { shadow = false; clip-shadow-above = true; }
|
||||
dnd = { shadow = false; }
|
||||
popup_menu = { opacity = 0.8; }
|
||||
dropdown_menu = { opacity = 0.8; }
|
||||
}
|
||||
@@ -1,220 +0,0 @@
|
||||
[colors]
|
||||
background = #282828
|
||||
background-alt = #282828
|
||||
gray = #928374
|
||||
foreground = #ebdbb2
|
||||
;primary = #d5c4a1
|
||||
;secondary = #8ABEB7
|
||||
alert = #cc241d
|
||||
;disabled = #707880
|
||||
green = #98971a
|
||||
yellow = #d79921
|
||||
blue = #458588
|
||||
purple = #b16286
|
||||
aqua = #689d6a
|
||||
aqualight= #8ec07c
|
||||
red = #fb4934
|
||||
orange = #fe8019
|
||||
|
||||
[bar/bar]
|
||||
width = 100%
|
||||
;offset-x = 15%
|
||||
height = 24pt
|
||||
radius = 0
|
||||
; dpi = 96
|
||||
|
||||
background = ${colors.background}
|
||||
foreground = ${colors.foreground}
|
||||
|
||||
line-size = 3pt
|
||||
|
||||
border-size = 0
|
||||
border-color = #00000000
|
||||
|
||||
padding-left = 1
|
||||
padding-right = 1
|
||||
|
||||
module-margin = 1
|
||||
|
||||
;separator = |
|
||||
separator-foreground = ${colors.disabled}
|
||||
|
||||
font-0 = "Hack Nerd Font:size=10;2"
|
||||
font-1 = "Hack Nerd Font:size=10;2"
|
||||
|
||||
modules-left = xwindow xworkspaces
|
||||
modules-center = date
|
||||
modules-right = pulseaudio memory cpu cpu-temp xkeyboard battery wifi
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
|
||||
enable-ipc = true
|
||||
|
||||
tray-position = right
|
||||
|
||||
; wm-restack = generic
|
||||
; wm-restack = bspwm
|
||||
; wm-restack = i3
|
||||
|
||||
; override-redirect = true
|
||||
|
||||
[module/xworkspaces]
|
||||
type = internal/xworkspaces
|
||||
|
||||
label-active = %name%
|
||||
label-active-background = ${colors.background-alt}
|
||||
label-active-foreground = ${colors.foreground}
|
||||
label-active-underline= ${colors.yellow}
|
||||
label-active-padding = 1
|
||||
|
||||
label-occupied = %name%
|
||||
label-occupied-padding = 1
|
||||
label-occupied-foreground = ${colors.gray}
|
||||
|
||||
label-urgent = %name%
|
||||
label-urgent-background = ${colors.alert}
|
||||
label-urgent-padding = 1
|
||||
|
||||
label-empty = %name%
|
||||
label-empty-foreground = ${colors.disabled}
|
||||
label-empty-padding = 1
|
||||
|
||||
[module/xwindow]
|
||||
type = internal/xwindow
|
||||
label = %title:0:60:...%
|
||||
|
||||
[module/filesystem]
|
||||
type = internal/fs
|
||||
interval = 25
|
||||
|
||||
mount-0 = /
|
||||
|
||||
label-mounted = %{F#F0C674}%mountpoint%%{F-} %percentage_used%%
|
||||
|
||||
label-unmounted = %mountpoint% not mounted
|
||||
label-unmounted-foreground = ${colors.disabled}
|
||||
|
||||
[module/pulseaudio]
|
||||
type = internal/pulseaudio
|
||||
|
||||
format-volume-prefix = " "
|
||||
format-volume-foreground = ${colors.foreground}
|
||||
format-volume-prefix-foreground = ${colors.yellow}
|
||||
format-volume = <label-volume>
|
||||
|
||||
label-volume = %percentage%%
|
||||
|
||||
label-muted = muted
|
||||
label-muted-foreground = ${colors.disabled}
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
blacklist-0 = num lock
|
||||
|
||||
label-layout = %layout%
|
||||
label-layout-foreground = ${colors.primary}
|
||||
|
||||
label-indicator-padding = 2
|
||||
label-indicator-margin = 1
|
||||
label-indicator-foreground = ${colors.background}
|
||||
label-indicator-background = ${colors.secondary}
|
||||
|
||||
[module/memory]
|
||||
type = internal/memory
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.green}
|
||||
label = %percentage_used:2%%
|
||||
|
||||
[module/cpu]
|
||||
type = internal/cpu
|
||||
interval = 2
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.aqualight}
|
||||
format-foreground = ${colors.foreground}
|
||||
label = %percentage:2%%
|
||||
|
||||
[network-base]
|
||||
type = internal/network
|
||||
interval = 5
|
||||
format-connected = <label-connected>
|
||||
format-disconnected = <label-disconnected>
|
||||
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
|
||||
|
||||
[module/wlan]
|
||||
inherit = network-base
|
||||
interface-type = wireless
|
||||
label-connected = %{F#F0C674}%ifname%%{F-} %essid% %local_ip%
|
||||
|
||||
[module/eth]
|
||||
inherit = network-base
|
||||
interface-type = wired
|
||||
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
|
||||
|
||||
[module/date]
|
||||
type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %a, %d %B %Y | %H:%M
|
||||
;date = %H:%M
|
||||
;date-alt = %d-%m-%Y %r
|
||||
;%H:%M:%S
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.foreground}
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.orange}
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
pseudo-transparency = true
|
||||
|
||||
[module/battery]
|
||||
;https://github.com/jaagr/polybar/wiki/Module:-battery
|
||||
type = internal/battery
|
||||
battery = BAT0
|
||||
adapter = AC0
|
||||
full-at = 100
|
||||
|
||||
format-charging = <animation-charging> <label-charging>
|
||||
label-charging = %percentage%%
|
||||
format-charging-foreground = ${colors.foreground}
|
||||
format-charging-background = ${colors.background}
|
||||
;format-chaging-underline = #a3c725
|
||||
|
||||
format-discharging = <ramp-capacity> <label-discharging>
|
||||
label-discharging = %percentage%%
|
||||
;format-discharging-underline = #c7ae25
|
||||
format-discharging-foreground = ${colors.foreground}
|
||||
format-discharging-background = ${colors.background}
|
||||
|
||||
format-full-prefix = " "
|
||||
format-full-prefix-foreground = #a3c725
|
||||
;format-full-underline = #a3c725
|
||||
format-full-foreground = ${colors.foreground}
|
||||
format-full-background = ${colors.background}
|
||||
|
||||
ramp-capacity-0 =
|
||||
ramp-capacity-1 =
|
||||
ramp-capacity-2 =
|
||||
ramp-capacity-3 =
|
||||
ramp-capacity-4 =
|
||||
ramp-capacity-foreground = ${colors.aqua}
|
||||
|
||||
animation-charging-0 =
|
||||
animation-charging-1 =
|
||||
animation-charging-2 =
|
||||
animation-charging-3 =
|
||||
animation-charging-4 =
|
||||
animation-charging-foreground = ${colors.green}
|
||||
animation-charging-framerate = 750
|
||||
|
||||
[module/cpu-temp]
|
||||
type = custom/script
|
||||
exec = sensors| grep temp1 | awk '{print $2}' | sort -n | tail -n 1
|
||||
;/home/zaid/.config/custom-scripts/cputemp.sh
|
||||
format-prefix = " "
|
||||
format-prefix-foreground = ${colors.red}
|
||||
interval = 1
|
||||
|
||||
;vim:ft=dosini
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Terminate already running bar instances
|
||||
# If all your bars have ipc enabled, you can use
|
||||
polybar-msg cmd quit
|
||||
# Otherwise you can use the nuclear option:
|
||||
# killall -q polybar
|
||||
|
||||
# Launch bar1 and bar2
|
||||
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log
|
||||
polybar bar 2>&1 | tee -a /tmp/polybar1.log & disown
|
||||
#polybar bar2 2>&1 | tee -a /tmp/polybar2.log & disown
|
||||
|
||||
echo "Bars launched..."
|
||||
@@ -1,35 +0,0 @@
|
||||
/*******************************************************
|
||||
* ROFI Arch Dark Transparent colors for EndeavourOS
|
||||
* Maintainer: joekamprad <joekamprad@endeavouros.com>
|
||||
*******************************************************/
|
||||
* {
|
||||
selected-normal-foreground: rgba ( 40, 40, 40, 100 % );
|
||||
foreground: rgba ( 174, 139, 138, 100 % );
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: rgba ( 45, 48, 59, 1 % );
|
||||
red: rgba ( 220, 50, 47, 100 % );
|
||||
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
|
||||
blue: rgba ( 38, 139, 210, 100 % );
|
||||
urgent-foreground: rgba ( 204, 102, 102, 100 % );
|
||||
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
|
||||
active-foreground: rgba ( 101, 172, 255, 100 % );
|
||||
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
|
||||
alternate-active-background: rgba ( 45, 48, 59, 88 % );
|
||||
background: rgba ( 40, 40, 40, 88 % );
|
||||
alternate-normal-foreground: @foreground;
|
||||
normal-background: rgba ( 45, 48, 59, 1 % );
|
||||
lightfg: rgba ( 88, 104, 117, 100 % );
|
||||
selected-normal-background: rgba ( 254, 128, 25, 100 % );
|
||||
border-color: rgba ( 124, 131, 137, 100 % );
|
||||
spacing: 2;
|
||||
separatorcolor: rgba ( 45, 48, 59, 1 % );
|
||||
urgent-background: rgba ( 45, 48, 59, 15 % );
|
||||
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
background-color: rgba ( 0, 0, 0, 0 % );
|
||||
alternate-active-foreground: @active-foreground;
|
||||
active-background: rgba ( 29, 31, 33, 17 % );
|
||||
selected-active-background: rgba ( 26, 28, 35, 100 % );
|
||||
}
|
||||
|
||||
111
.zshrc
111
.zshrc
@@ -1,111 +0,0 @@
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.histfile
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
setopt extendedglob
|
||||
unsetopt beep
|
||||
bindkey -v
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/andreas/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
# End of lines added by compinstall
|
||||
|
||||
bindkey -v '^?' backward-delete-char
|
||||
|
||||
autoload -Uz vcs_info
|
||||
precmd() { vcs_info }
|
||||
zstyle ':vcs_info:git:*' formats '%b '
|
||||
setopt PROMPT_SUBST
|
||||
PROMPT='%F{blue}%~%f %F{red}${vcs_info_msg_0_}%f$ '
|
||||
|
||||
source /usr/share/fzf/key-bindings.zsh
|
||||
|
||||
alias ssh='kitty +kitten ssh'
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
alias grep='grep --color=auto'
|
||||
alias ll='ls -alF'
|
||||
|
||||
export PATH=$PATH:/home/andreas/.local/bin
|
||||
|
||||
alias get-idf='. $HOME/git/esp-idf/export.sh'
|
||||
|
||||
alias ic='cd ~/.config/i3'
|
||||
alias nc='cd ~/.config/nvim'
|
||||
alias ezc='nvim ~/.zshrc'
|
||||
|
||||
alias ait='cd ~/Documents/kit/AIT'
|
||||
alias kit='cd ~/Documents/kit'
|
||||
alias eml='cd ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate'
|
||||
alias let='cd ~/git/ba-letter'
|
||||
|
||||
alias hyp='cd ~/git/HyperLink_SW'
|
||||
|
||||
#source /usr/share/git/completion/git-completion.zsh
|
||||
#
|
||||
#eval "$(thefuck --alias)"
|
||||
#
|
||||
#export VISUAL=nvim
|
||||
#export EDITOR="$VISUAL"
|
||||
#
|
||||
#function pym {
|
||||
# python -m $@
|
||||
#}
|
||||
#
|
||||
#function _pym_complete {
|
||||
#
|
||||
# local executable current previous options
|
||||
# executable=${COMP_WORDS[0]}
|
||||
# current="${COMP_WORDS[COMP_CWORD]}"
|
||||
# previous="${COMP_WORDS[COMP_CWORD-1]}"
|
||||
#
|
||||
# COMPREPLY=()
|
||||
# if [[ ( "$executable" == python* && "$previous" == "-m" ) ||
|
||||
# ( "$executable" == pym && ! "$current" == -* ) ]]; then
|
||||
#
|
||||
# options="`python <<EOF
|
||||
#import os
|
||||
#import pkgutil
|
||||
#import sys
|
||||
#current = '$current'
|
||||
#if '.' in current:
|
||||
# package_name = current.rsplit('.', 1)[0]
|
||||
# try:
|
||||
# package = __import__(package_name, fromlist=['__name__'])
|
||||
# except:
|
||||
# exit()
|
||||
#else:
|
||||
# package_name = ''
|
||||
# package = None
|
||||
#def walk_packages(paths, match, prefix=''):
|
||||
# for loader, name, ispkg in pkgutil.iter_modules(paths, prefix):
|
||||
# if not name.startswith(match):
|
||||
# continue
|
||||
# yield loader, name, ispkg
|
||||
# if ispkg:
|
||||
# for x in walk_packages([os.path.join(loader.path, name.split('.')[-1])], match, name + '.'):
|
||||
# yield x
|
||||
#for loader, name, ispkg in walk_packages(
|
||||
# package and getattr(package, '__path__', ()),
|
||||
# current,
|
||||
# package_name and (package_name + '.'),
|
||||
#):
|
||||
# if ispkg:
|
||||
# continue
|
||||
# if name.endswith('.__main__'):
|
||||
# print(name.rsplit('.', 1)[0])
|
||||
# else:
|
||||
# print(name)
|
||||
#EOF
|
||||
# `"
|
||||
# COMPREPLY=( $(compgen -W "${options}") )
|
||||
# return 0
|
||||
# fi
|
||||
#}
|
||||
#
|
||||
#complete -F _pym_complete -o nospace -o bashdefault -o default pym
|
||||
#complete -F _pym_complete -o nospace -o bashdefault -o default python
|
||||
#
|
||||
8
README.md
Normal file
8
README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Dotfiles
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
$ stow -S clang-format kitty nvim sway tmux waybar wofi zsh kanshi papis flashfocus zathura
|
||||
```
|
||||
|
||||
@@ -9,6 +9,7 @@ PointerAlignment: Left
|
||||
AccessModifierOffset: -4
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
LambdaBodyIndentation: Signature
|
||||
AllowShortLambdasOnASingleLine: None
|
||||
|
||||
MaxEmptyLinesToKeep: 3
|
||||
#ColumnLimit: 128
|
||||
99
flashfocus/.config/flashfocus/flashfocus.yml
Normal file
99
flashfocus/.config/flashfocus/flashfocus.yml
Normal file
@@ -0,0 +1,99 @@
|
||||
## @@@@@@@@@@@@@@@@@@@@@@
|
||||
## Flashfocus config file
|
||||
## @@@@@@@@@@@@@@@@@@@@@@
|
||||
|
||||
# Opacity of window during flash.
|
||||
flash-opacity: 0.8
|
||||
|
||||
# Windows are restored to this opacity value at the end of a flash.
|
||||
default-opacity: 1
|
||||
|
||||
# Length of flash in milliseconds.
|
||||
time: 500
|
||||
|
||||
# If true, flashes are not faded out. This will improve performance but flashes
|
||||
# won't be smooth.
|
||||
simple: false
|
||||
|
||||
# Number of animation frames in a flash.
|
||||
ntimepoints: 10
|
||||
|
||||
# Set this to false if you don't want windows to flash on focus.
|
||||
flash-on-focus: true
|
||||
|
||||
# Set this to false if you don't want fullscreen windows to flash.
|
||||
flash-fullscreen: true
|
||||
|
||||
# Whether or not to flash windows if they are the only window on the desktop.
|
||||
# Possible values:
|
||||
# 'always':
|
||||
# Always flash lone windows
|
||||
# 'never':
|
||||
# Never flash lone windows
|
||||
# 'on_open_close':
|
||||
# Lone windows will be flashed only if a) if they were just opened and b)
|
||||
# if another window was just closed.
|
||||
# 'on_switch':
|
||||
# Lone windows will be flashed only upon switching desktops.
|
||||
flash-lone-windows: 'always'
|
||||
|
||||
|
||||
# Defining window-specific flash rules
|
||||
#
|
||||
# X11-based window managers (e.g i3, bspwm)
|
||||
# -----------------------------------------
|
||||
# Flash rules are defined by matching the WM_CLASS property of a window. To get
|
||||
# the WM_CLASS property use 'xprop WM_CLASS' and click on a window. The
|
||||
# property is a tuple of the form (window-id, window-class). The window-class
|
||||
# is usually the name of the application, but not always.
|
||||
#
|
||||
#
|
||||
# Say I'd like to set all 'termite' windows to 80% opacity but leave other
|
||||
# windows at full opacity:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: Termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# I also would prefer that firefox windows are not flashed on focus:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: firefox
|
||||
# flash-on-focus: False
|
||||
# - window-class: Termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# For more complicated rules, you can use (python-style) regexes:
|
||||
#
|
||||
# rules:
|
||||
# - window-id: ^(?!termite)$
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
#
|
||||
# Sway
|
||||
# ----
|
||||
# Native wayland apps can be matched using the app_id and window name. These
|
||||
# can be found using `swaymsg -t get_tree`. XWayland apps are matched with
|
||||
# using WM_CLASS as above (this can also be found with `swaymsg`)
|
||||
#
|
||||
# Given that termite is wayland native and firefox is not, the rules above
|
||||
# could instead be written:
|
||||
#
|
||||
# rules:
|
||||
# - window-class: firefox
|
||||
# flash-on-focus: False
|
||||
# - app-id: termite
|
||||
# default-opacity: 0.8
|
||||
#
|
||||
# rules:
|
||||
# - window-name: ^(?!termite)$
|
||||
# default-opacity: 0.8
|
||||
rules:
|
||||
- app-id: kitty
|
||||
flash-opacity: 0.85
|
||||
default-opacity: 0.94
|
||||
- app-id: org.pwmt.zathura
|
||||
flash-opacity: 0.85
|
||||
default-opacity: 0.94
|
||||
9
kanshi/.config/kanshi/config
Normal file
9
kanshi/.config/kanshi/config
Normal file
@@ -0,0 +1,9 @@
|
||||
profile Home {
|
||||
output "eDP-1" mode 2256x1504@59.999Hz position 1920,875 transform normal scale 1.399999976158142
|
||||
output "DP-11" mode 1920x1200@59.95Hz position 0,0 transform normal scale 1.0
|
||||
}
|
||||
|
||||
profile Bell {
|
||||
output "eDP-1" mode 2256x1504@59.999Hz position 2137,425 transform normal scale 1.399999976158142
|
||||
output "DP-3" mode 1920x1080@59.951Hz position 0,0 transform normal scale 0.9
|
||||
}
|
||||
15
kitty/.config/kitty/kitty.conf
Normal file
15
kitty/.config/kitty/kitty.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
# BEGIN_KITTY_THEME
|
||||
# Gruvbox Dark Hard
|
||||
include current-theme.conf
|
||||
# END_KITTY_THEME
|
||||
#
|
||||
enable_audio_bell no
|
||||
touch_scroll_multiplier 8.0
|
||||
|
||||
|
||||
# BEGIN_KITTY_FONTS
|
||||
font_family family="Liberation Mono"
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
# END_KITTY_FONTS
|
||||
7
nvim/.config/nvim/.luarc.json
Normal file
7
nvim/.config/nvim/.luarc.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"runtime.version": "LuaJIT",
|
||||
"rutime.path": ["lua/?.lua", "lua/?/init.lua"],
|
||||
"diagnostics.globals": ["vim"],
|
||||
"workspace.checkThirdParty": false,
|
||||
"workspace.library": ["$VIMRUNTIME"]
|
||||
}
|
||||
20
nvim/.config/nvim/init.lua
Normal file
20
nvim/.config/nvim/init.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
require("set")
|
||||
require("remap")
|
||||
require("lsp")
|
||||
|
||||
-- Set up lazy
|
||||
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup("plugins")
|
||||
48
nvim/.config/nvim/lazy-lock.json
Normal file
48
nvim/.config/nvim/lazy-lock.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
|
||||
"alpha-nvim": { "branch": "main", "commit": "2b3cbcdd980cae1e022409289245053f62fb50f6" },
|
||||
"auto-session": { "branch": "main", "commit": "f0eb3d69848389869572b82b336d7a6887e88e43" },
|
||||
"cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" },
|
||||
"copilot.lua": { "branch": "master", "commit": "93adf9844dcbe09a37e7a72eaa286d33d38bf628" },
|
||||
"csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" },
|
||||
"dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"harpoon": { "branch": "master", "commit": "1bc17e3e42ea3c46b33c0bbad6a880792692a1b3" },
|
||||
"image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" },
|
||||
"jupytext.nvim": { "branch": "main", "commit": "c8baf3ad344c59b3abd461ecc17fc16ec44d0f7b" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "db067881fff0fd4be8c00e5bde7492e0e1c77a2f" },
|
||||
"lsp-colors.nvim": { "branch": "main", "commit": "2bbe7541747fd339bdd8923fc45631a09bb4f1e5" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"markdown-toc.nvim": { "branch": "main", "commit": "869af35bce0c27e2006f410fa3f706808db4843d" },
|
||||
"mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" },
|
||||
"molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" },
|
||||
"noice.nvim": { "branch": "main", "commit": "d14d02cb709e3bb2da88363c32f8b4250bced52d" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" },
|
||||
"oil.nvim": { "branch": "master", "commit": "7e1cd7703ff2924d7038476dcbc04b950203b902" },
|
||||
"otter.nvim": { "branch": "main", "commit": "fc0aa35b1985077d11a20ddf4006bf40f2cd7397" },
|
||||
"overseer.nvim": { "branch": "master", "commit": "c77c78b35d0b4d244e1cd77c25ec93a16fbbfc94" },
|
||||
"pastify.nvim": { "branch": "main", "commit": "4a1d1e03c3ae725ee4af796deca8c7c169ef626e" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"quarto-nvim": { "branch": "main", "commit": "0e9491509b38efbd83d3f41dbfacc7fc4bd40191" },
|
||||
"session-lens": { "branch": "main", "commit": "eae46b472b3150f5ec0f977556e8085683d49eb0" },
|
||||
"sqlite.nvim": { "branch": "master", "commit": "a8466c830a89794c2eafa41b41dd11fdf4a0d7ca" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"time-tracker.nvim": { "branch": "master", "commit": "4127c4b5fecaf5f5cb3aa840707e58bb88eb9bf0" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "3609bb9a82bbab1ef95cf2c27ce7e52267a7d40d" },
|
||||
"undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" },
|
||||
"vim-doge": { "branch": "master", "commit": "03a84072ef21b205237c77986c78914395d646c3" },
|
||||
"vim-flog": { "branch": "master", "commit": "665b16ac8915f746bc43c9572b4581a5e9047216" },
|
||||
"vim-fugitive": { "branch": "master", "commit": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4" },
|
||||
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||
"vimtex": { "branch": "master", "commit": "be9deac3a23eeb145ccf11dd09080795838496ce" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "b4177e3eaf15fe5eb8357ebac2286d488be1ed00" }
|
||||
}
|
||||
13
nvim/.config/nvim/lsp/clangd.lua
Normal file
13
nvim/.config/nvim/lsp/clangd.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
return {
|
||||
cmd = {
|
||||
'clangd'
|
||||
},
|
||||
root_markers = {
|
||||
'.clangd',
|
||||
'compile_commands.json'
|
||||
},
|
||||
filetypes = {
|
||||
'c',
|
||||
'cpp'
|
||||
}
|
||||
}
|
||||
9
nvim/.config/nvim/lsp/dockerls.lua
Normal file
9
nvim/.config/nvim/lsp/dockerls.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
cmd = { 'docker-langserver', '--stdio' },
|
||||
filetypes = {
|
||||
'dockerfile'
|
||||
},
|
||||
root_markers = {
|
||||
'Dockerfile',
|
||||
},
|
||||
}
|
||||
20
nvim/.config/nvim/lsp/luals.lua
Normal file
20
nvim/.config/nvim/lsp/luals.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
cmd = {
|
||||
'lua-language-server'
|
||||
},
|
||||
filetypes = {
|
||||
'lua'
|
||||
},
|
||||
root_markers = {
|
||||
'.luarc.json',
|
||||
'.luarc.jsonc',
|
||||
'.git'
|
||||
},
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = 'LuaJIT'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5
nvim/.config/nvim/lsp/neocmakelsp.lua
Normal file
5
nvim/.config/nvim/lsp/neocmakelsp.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
cmd = { "neocmakelsp", "--stdio" },
|
||||
filetypes = { "cmake" },
|
||||
root_markers = { ".git", "README.md" }
|
||||
}
|
||||
20
nvim/.config/nvim/lsp/pyright.lua
Normal file
20
nvim/.config/nvim/lsp/pyright.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
return {
|
||||
cmd = {
|
||||
'pyright-langserver', '--stdio'
|
||||
},
|
||||
settings = {
|
||||
python = {
|
||||
analysis = {
|
||||
typeCheckingMode = "basic", -- or "strict", "off"
|
||||
autoSearchPaths = true,
|
||||
useLibraryCodeForTypes = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
root_markers = {
|
||||
'pyproject.toml', 'setup.py', 'setup.cfg', 'requirements.txt', '.git'
|
||||
},
|
||||
filetypes = {
|
||||
'python'
|
||||
},
|
||||
}
|
||||
11
nvim/.config/nvim/lsp/ruff.lua
Normal file
11
nvim/.config/nvim/lsp/ruff.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
cmd = {
|
||||
'ruff', 'server'
|
||||
},
|
||||
filetypes = {
|
||||
'python'
|
||||
},
|
||||
root_markers = {
|
||||
'setup.py', 'setup.cfg', 'requirements.txt', '.git', 'ruff.toml'
|
||||
}
|
||||
}
|
||||
19
nvim/.config/nvim/lsp/rust-analyzer.lua
Normal file
19
nvim/.config/nvim/lsp/rust-analyzer.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
return {
|
||||
cmd = { 'rust-analyzer' },
|
||||
filetypes = { 'rust' },
|
||||
root_markers = { "Cargo.toml", ".git" },
|
||||
-- single_file_support = true,
|
||||
-- settings = {
|
||||
-- ['rust-analyzer'] = {
|
||||
-- diagnostics = {
|
||||
-- enable = false,
|
||||
-- }
|
||||
-- }
|
||||
-- },
|
||||
before_init = function(init_params, config)
|
||||
-- See https://github.com/rust-lang/rust-analyzer/blob/eb5da56d839ae0a9e9f50774fa3eb78eb0964550/docs/dev/lsp-extensions.md?plain=1#L26
|
||||
if config.settings and config.settings['rust-analyzer'] then
|
||||
init_params.initializationOptions = config.settings['rust-analyzer']
|
||||
end
|
||||
end,
|
||||
}
|
||||
27
nvim/.config/nvim/lsp/texlab.lua
Normal file
27
nvim/.config/nvim/lsp/texlab.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return {
|
||||
cmd = { 'texlab' },
|
||||
filetypes = { 'tex' },
|
||||
root_markers = { '.git', '.latexmkrc' },
|
||||
settings = {
|
||||
texlab = {
|
||||
rootDirectory = nil,
|
||||
build = {
|
||||
executable = 'latexmk',
|
||||
args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '%f' },
|
||||
onSave = false,
|
||||
forwardSearchAfter = false,
|
||||
},
|
||||
forwardSearch = {
|
||||
executable = nil,
|
||||
args = {},
|
||||
},
|
||||
chktex = {
|
||||
onOpenAndSave = false,
|
||||
onEdit = false,
|
||||
},
|
||||
diagnosticsDelay = 300,
|
||||
latexFormatter = 'tex-fmt',
|
||||
bibtexFormatter = 'tex-fmt',
|
||||
},
|
||||
},
|
||||
}
|
||||
19
nvim/.config/nvim/lua/disabled_plugins/avante.lua
Normal file
19
nvim/.config/nvim/lua/disabled_plugins/avante.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
return {
|
||||
"yetone/avante.nvim",
|
||||
event = "VeryLazy",
|
||||
lazy = false,
|
||||
version = false, -- set this if you want to always pull the latest change
|
||||
opts = {
|
||||
provider = "copilot"
|
||||
},
|
||||
build = "make",
|
||||
dependencies = {
|
||||
"stevearc/dressing.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
--- The below dependencies are optional,
|
||||
"hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions
|
||||
"nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons
|
||||
"zbirenbaum/copilot.lua" -- for providers='copilot'
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,11 @@ return {
|
||||
},
|
||||
init = function()
|
||||
vim.opt.termguicolors = true
|
||||
vim.keymap.set('n', '<leader>t', '<cmd>NvimTreeToggle<cr>', {noremap = true, silent = true})
|
||||
vim.keymap.set('n', '<leader>e', '<cmd>NvimTreeToggle<cr>', {
|
||||
noremap = true,
|
||||
silent = true,
|
||||
desc = "Explorer"
|
||||
})
|
||||
end,
|
||||
config = function() require("nvim-tree").setup() end
|
||||
}
|
||||
96
nvim/.config/nvim/lua/lsp.lua
Normal file
96
nvim/.config/nvim/lua/lsp.lua
Normal file
@@ -0,0 +1,96 @@
|
||||
-- Set up LSP
|
||||
|
||||
local lsp_configs = {}
|
||||
|
||||
for _, f in pairs(vim.api.nvim_get_runtime_file('lsp/*.lua', true)) do
|
||||
local server_name = vim.fn.fnamemodify(f, ':t:r')
|
||||
table.insert(lsp_configs, server_name)
|
||||
end
|
||||
|
||||
vim.lsp.enable(lsp_configs)
|
||||
|
||||
|
||||
vim.o.completeopt = "menu,menuone,noinsert,fuzzy"
|
||||
vim.api.nvim_set_keymap("i", "<C-Space>", "<C-x><C-o>", { noremap = true })
|
||||
|
||||
|
||||
-- TODO: Put this somewhere sensible
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
group = vim.api.nvim_create_augroup('my.lsp', {}),
|
||||
callback = function(args)
|
||||
local client = assert(vim.lsp.get_client_by_id(args.data.client_id))
|
||||
|
||||
-- Make Tab accept the selected completion
|
||||
vim.keymap.set('i', '<Tab>', function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return '<C-y>'
|
||||
else
|
||||
return '<Tab>'
|
||||
end
|
||||
end, { expr = true })
|
||||
|
||||
-- Make Enter just insert a newline (don't accept completion)
|
||||
vim.keymap.set('i', '<CR>', function()
|
||||
if vim.fn.pumvisible() == 1 then
|
||||
return '<C-e><CR>'
|
||||
else
|
||||
return '<CR>'
|
||||
end
|
||||
end, { expr = true })
|
||||
|
||||
-- Enable auto-completion. Note: Use CTRL-Y to select an item. |complete_CTRL-Y|
|
||||
if client:supports_method('textDocument/completion') then
|
||||
-- Trigger autocompletion on EVERY keypress. May be slow!
|
||||
local chars = {}; for i = 32, 126 do table.insert(chars, string.char(i)) end
|
||||
client.server_capabilities.completionProvider.triggerCharacters = chars
|
||||
|
||||
vim.lsp.completion.enable(true, client.id, args.buf, { autotrigger = true })
|
||||
end
|
||||
|
||||
vim.keymap.set('n', '<M-L>',
|
||||
function() vim.lsp.buf.format() end,
|
||||
{
|
||||
desc = "Format",
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
vim.keymap.set('i', '<M-L>',
|
||||
function() vim.lsp.buf.format() end,
|
||||
{
|
||||
desc = "Format",
|
||||
noremap = true,
|
||||
silent = true
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, {
|
||||
desc = "Go to definition"
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "grr", ":Trouble lsp_references<CR>", {
|
||||
desc = "Show references"
|
||||
})
|
||||
|
||||
-- if client:supports_method('textDocument/implementation') then
|
||||
-- -- Create a keymap for vim.lsp.buf.implementation ...
|
||||
-- end
|
||||
|
||||
-- -- Auto-format ("lint") on save.
|
||||
-- -- Usually not needed if server supports "textDocument/willSaveWaitUntil".
|
||||
-- if not client:supports_method('textDocument/willSaveWaitUntil')
|
||||
-- and client:supports_method('textDocument/formatting') then
|
||||
-- vim.api.nvim_create_autocmd('BufWritePre', {
|
||||
-- group = vim.api.nvim_create_augroup('my.lsp', { clear = false }),
|
||||
-- buffer = args.buf,
|
||||
-- callback = function()
|
||||
-- vim.lsp.buf.format({ bufnr = args.buf, id = client.id, timeout_ms = 1000 })
|
||||
-- end,
|
||||
-- })
|
||||
-- end
|
||||
end,
|
||||
})
|
||||
|
||||
-- vim.diagnostic.config({
|
||||
-- virtual_lines = {
|
||||
-- current_line = true,
|
||||
-- },
|
||||
-- })
|
||||
25
nvim/.config/nvim/lua/overseer/template/user/cargo_build.lua
Normal file
25
nvim/.config/nvim/lua/overseer/template/user/cargo_build.lua
Normal file
@@ -0,0 +1,25 @@
|
||||
return {
|
||||
name = "Cargo Build",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"cargo"
|
||||
},
|
||||
args = {
|
||||
"build"
|
||||
},
|
||||
components = {
|
||||
{
|
||||
"on_output_quickfix"
|
||||
},
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"rust",
|
||||
}
|
||||
}
|
||||
}
|
||||
22
nvim/.config/nvim/lua/overseer/template/user/cargo_clean.lua
Normal file
22
nvim/.config/nvim/lua/overseer/template/user/cargo_clean.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
return {
|
||||
name = "Cargo Clean",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"cargo"
|
||||
},
|
||||
args = {
|
||||
"clean",
|
||||
},
|
||||
components = {
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"rust",
|
||||
}
|
||||
}
|
||||
}
|
||||
22
nvim/.config/nvim/lua/overseer/template/user/cargo_run.lua
Normal file
22
nvim/.config/nvim/lua/overseer/template/user/cargo_run.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
return {
|
||||
name = "Cargo Run",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"cargo"
|
||||
},
|
||||
args = {
|
||||
"run"
|
||||
},
|
||||
components = {
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"rust"
|
||||
}
|
||||
}
|
||||
}
|
||||
24
nvim/.config/nvim/lua/overseer/template/user/cargo_test.lua
Normal file
24
nvim/.config/nvim/lua/overseer/template/user/cargo_test.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
name = "Cargo Test",
|
||||
builder = function()
|
||||
return {
|
||||
cmd = {
|
||||
"cargo"
|
||||
},
|
||||
args = {
|
||||
"test",
|
||||
},
|
||||
components = {
|
||||
{
|
||||
"on_output_quickfix"
|
||||
},
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"rust",
|
||||
}
|
||||
}
|
||||
}
|
||||
28
nvim/.config/nvim/lua/overseer/template/user/cmake_build.lua
Normal file
28
nvim/.config/nvim/lua/overseer/template/user/cmake_build.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
name = "CMake Build",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"cmake"
|
||||
},
|
||||
args = {
|
||||
"--build",
|
||||
"build",
|
||||
"-j16"
|
||||
},
|
||||
components = {
|
||||
{
|
||||
"on_output_quickfix"
|
||||
},
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"cmake",
|
||||
"cpp"
|
||||
}
|
||||
}
|
||||
}
|
||||
24
nvim/.config/nvim/lua/overseer/template/user/cmake_clean.lua
Normal file
24
nvim/.config/nvim/lua/overseer/template/user/cmake_clean.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
name = "CMake Clean",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"rm"
|
||||
},
|
||||
args = {
|
||||
"-r",
|
||||
"build",
|
||||
},
|
||||
components = {
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"cmake",
|
||||
"cpp"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
return {
|
||||
name = "CMake Generate",
|
||||
params = {
|
||||
build_type = {
|
||||
type = "enum",
|
||||
choices = {
|
||||
"Debug",
|
||||
"Release",
|
||||
"RelWithDebInfo",
|
||||
"MinSizeRel"
|
||||
},
|
||||
default = "Release"
|
||||
},
|
||||
generator = {
|
||||
type = "enum",
|
||||
choices = {
|
||||
"Ninja",
|
||||
"Unix Makefiles"
|
||||
},
|
||||
default = "Ninja"
|
||||
},
|
||||
compiler = {
|
||||
type = "enum",
|
||||
choices = {
|
||||
"g++",
|
||||
"clang++"
|
||||
},
|
||||
default = "g++"
|
||||
}
|
||||
},
|
||||
builder = function(params)
|
||||
return {
|
||||
cmd = {
|
||||
"cmake"
|
||||
},
|
||||
args = {
|
||||
"-B",
|
||||
"build",
|
||||
"-S",
|
||||
".",
|
||||
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON",
|
||||
"-DCMAKE_BUILD_TYPE=" .. params.build_type,
|
||||
"-DCMAKE_CXX_COMPILER=" .. params.compiler,
|
||||
"-G",
|
||||
params.generator
|
||||
},
|
||||
components = {
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"cmake",
|
||||
"cpp"
|
||||
}
|
||||
}
|
||||
}
|
||||
27
nvim/.config/nvim/lua/overseer/template/user/cmake_test.lua
Normal file
27
nvim/.config/nvim/lua/overseer/template/user/cmake_test.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return {
|
||||
name = "CMake Test",
|
||||
builder = function()
|
||||
return {
|
||||
cmd = {
|
||||
"ctest"
|
||||
},
|
||||
args = {
|
||||
"--test-dir",
|
||||
"build",
|
||||
"--output-on-failure",
|
||||
},
|
||||
components = {
|
||||
{
|
||||
"on_output_quickfix"
|
||||
},
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"cmake",
|
||||
"cpp"
|
||||
}
|
||||
}
|
||||
}
|
||||
22
nvim/.config/nvim/lua/overseer/template/user/python_run.lua
Normal file
22
nvim/.config/nvim/lua/overseer/template/user/python_run.lua
Normal file
@@ -0,0 +1,22 @@
|
||||
return {
|
||||
name = "Python Run",
|
||||
builder = function()
|
||||
local file = vim.fn.expand("%:p")
|
||||
return {
|
||||
cmd = {
|
||||
"python"
|
||||
},
|
||||
args = {
|
||||
file
|
||||
},
|
||||
components = {
|
||||
"default"
|
||||
}
|
||||
}
|
||||
end,
|
||||
condition = {
|
||||
filetype = {
|
||||
"python"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
local function clamp(x, min, max) return math.max(math.min(x, max), min) end
|
||||
|
||||
local function get_random_image()
|
||||
images = {
|
||||
local images = {
|
||||
{
|
||||
[[██╗ █████╗ ██████╗██╗ ██╗███████╗]],
|
||||
[[██║ ██╔══██╗██╔════╝██║ ██║██╔════╝]],
|
||||
@@ -29,12 +29,53 @@ local function get_random_image()
|
||||
[[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]],
|
||||
[[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]],
|
||||
[[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]]
|
||||
},
|
||||
{
|
||||
[[ ▄ ]],
|
||||
[[ ▟█▙ ]],
|
||||
[[ ▟███▙ ]],
|
||||
[[ ▟█████▙ ]],
|
||||
[[ ▟███████▙ ]],
|
||||
[[ ▂▔▀▜██████▙ ]],
|
||||
[[ ▟██▅▂▝▜█████▙ ]],
|
||||
[[ ▟█████████████▙ ]],
|
||||
[[ ▟███████████████▙ ]],
|
||||
[[ ▟█████████████████▙ ]],
|
||||
[[ ▟███████████████████▙ ]],
|
||||
[[ ▟█████████▛▀▀▜████████▙ ]],
|
||||
[[ ▟████████▛ ▜███████▙ ]],
|
||||
[[ ▟█████████ ████████▙ ]],
|
||||
[[ ▟██████████ █████▆▅▄▃▂ ]],
|
||||
[[ ▟██████████▛ ▜█████████▙ ]],
|
||||
[[ ▟██████▀▀▀ ▀▀██████▙ ]],
|
||||
[[ ▟███▀▘ ▝▀███▙ ]],
|
||||
[[▟▛▀ ▀▜▙]],
|
||||
[[ btw ]]
|
||||
}
|
||||
}
|
||||
|
||||
-- local i = math.random(#images)
|
||||
local i = clamp(math.random(1, 40), 1, #images)
|
||||
return images[i]
|
||||
local pmf = {0.25, 0.25, 0.25, 0.25}
|
||||
local cdf = {}
|
||||
|
||||
cdf[1] = 0
|
||||
for j = 2, #pmf+1 do
|
||||
cdf[j] = cdf[j - 1] + pmf[j - 1]
|
||||
end
|
||||
|
||||
if math.abs(cdf[#cdf] - 1) > 0.01 then
|
||||
error("Probabilities do not add up to 1")
|
||||
elseif #images ~= #pmf then
|
||||
error("Number of images and probabilities do not match")
|
||||
end
|
||||
|
||||
math.randomseed(os.time())
|
||||
local r = math.random(100)
|
||||
|
||||
for j = 2, #cdf do
|
||||
if r <= cdf[j] * 100 then
|
||||
return images[j-1]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-----------------
|
||||
@@ -1,6 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"rmagatti/auto-session",
|
||||
lazy = false,
|
||||
dependencies = {
|
||||
"nvim-lualine/lualine.nvim"
|
||||
},
|
||||
@@ -8,8 +9,12 @@ return {
|
||||
init = function()
|
||||
vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
||||
|
||||
vim.keymap.set('n', '<leader><C-s>', '<cmd>SessionSave<CR>')
|
||||
vim.keymap.set('n', '<leader><C-d>', '<cmd>SessionDelete<CR>')
|
||||
vim.keymap.set('n', '<leader>ss', '<cmd>SessionSave<CR>', {
|
||||
desc = "Save"
|
||||
})
|
||||
vim.keymap.set('n', '<leader>sd', '<cmd>SessionDelete<CR>', {
|
||||
desc = "Delete"
|
||||
})
|
||||
end,
|
||||
opts = {
|
||||
log_level = "error",
|
||||
@@ -27,11 +32,13 @@ return {
|
||||
'nvim-telescope/telescope.nvim'
|
||||
},
|
||||
init = function()
|
||||
vim.keymap.set('n', '<leader>p', function() require('session-lens').search_session() end)
|
||||
vim.keymap.set('n', '<leader>sf', function() require('session-lens').search_session() end, {
|
||||
desc = "Find"
|
||||
})
|
||||
end,
|
||||
config = function()
|
||||
require('session-lens').setup({
|
||||
prompt_title = 'Projects'
|
||||
prompt_title = 'Sessions'
|
||||
})
|
||||
end
|
||||
}
|
||||
26
nvim/.config/nvim/lua/plugins/csvview.lua
Normal file
26
nvim/.config/nvim/lua/plugins/csvview.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
return {
|
||||
"hat0uma/csvview.nvim",
|
||||
---@module "csvview"
|
||||
---@type CsvView.Options
|
||||
opts = {
|
||||
parser = { comments = { "#", "//" } },
|
||||
keymaps = {
|
||||
-- Text objects for selecting fields
|
||||
textobject_field_inner = { "if", mode = { "o", "x" } },
|
||||
textobject_field_outer = { "af", mode = { "o", "x" } },
|
||||
-- Excel-like navigation:
|
||||
-- Use <Tab> and <S-Tab> to move horizontally between fields.
|
||||
-- Use <Enter> and <S-Enter> to move vertically between rows and place the cursor at the end of the field.
|
||||
-- Note: In terminals, you may need to enable CSI-u mode to use <S-Tab> and <S-Enter>.
|
||||
jump_next_field_end = { "<Tab>", mode = { "n", "v" } },
|
||||
jump_prev_field_end = { "<S-Tab>", mode = { "n", "v" } },
|
||||
jump_next_row = { "<Enter>", mode = { "n", "v" } },
|
||||
jump_prev_row = { "<S-Enter>", mode = { "n", "v" } },
|
||||
},
|
||||
},
|
||||
cmd = { "CsvViewEnable", "CsvViewDisable", "CsvViewToggle" },
|
||||
init = function()
|
||||
vim.keymap.set("n", "<leader>ce", ":CsvViewEnable display_mode=border header_lnum=1<CR>")
|
||||
vim.keymap.set("n", "<leader>cd", ":CsvViewDisable<CR>")
|
||||
end
|
||||
}
|
||||
154
nvim/.config/nvim/lua/plugins/dap.lua
Normal file
154
nvim/.config/nvim/lua/plugins/dap.lua
Normal file
@@ -0,0 +1,154 @@
|
||||
return {
|
||||
{
|
||||
'mfussenegger/nvim-dap',
|
||||
config = function()
|
||||
local dap = require("dap")
|
||||
dap.adapters.gdb = {
|
||||
type = "executable",
|
||||
command = "gdb",
|
||||
args = {
|
||||
"-i",
|
||||
"dap"
|
||||
}
|
||||
}
|
||||
dap.adapters.python = function(cb, config)
|
||||
if config.request == 'attach' then
|
||||
local port = (config.connect or config).port
|
||||
local host = (config.connect or config).host or '127.0.0.1'
|
||||
cb({
|
||||
type = 'server',
|
||||
port = assert(port, '`connect.port` is required for a python `attach` configuration'),
|
||||
host = host,
|
||||
options = {
|
||||
source_filetype = 'python'
|
||||
}
|
||||
})
|
||||
else
|
||||
cb({
|
||||
type = 'executable',
|
||||
command = 'python',
|
||||
args = {
|
||||
'-m',
|
||||
'debugpy.adapter'
|
||||
},
|
||||
options = {
|
||||
source_filetype = 'python'
|
||||
}
|
||||
})
|
||||
end
|
||||
end
|
||||
dap.configurations.c = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "gdb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = "${workspaceFolder}",
|
||||
stopAtBeginningOfMainSubprogram = false
|
||||
}
|
||||
}
|
||||
dap.configurations.cpp = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "gdb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = "${workspaceFolder}",
|
||||
stopAtBeginningOfMainSubprogram = false
|
||||
}
|
||||
}
|
||||
dap.configurations.python = {
|
||||
{
|
||||
type = 'python',
|
||||
request = 'launch',
|
||||
name = "Launch file",
|
||||
|
||||
program = "${file}",
|
||||
pythonPath = function()
|
||||
local cwd = vim.fn.getcwd()
|
||||
if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
|
||||
return cwd .. '/venv/bin/python'
|
||||
elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
|
||||
return cwd .. '/.venv/bin/python'
|
||||
else
|
||||
return '/usr/bin/python'
|
||||
end
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
vim.keymap.set("n", "<leader>db", "<cmd>DapToggleBreakpoint<cr>", {
|
||||
desc = "Toggle breakpoint"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>dc", "<cmd>DapContinue<cr>", {
|
||||
desc = "Continue"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>dt", "<cmd>DapTerminate<cr>", {
|
||||
desc = "Terminate"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>di", "<cmd>DapStepInto<cr>", {
|
||||
desc = "Step into"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>dn", "<cmd>DapStepOver<cr>", {
|
||||
desc = "Step over"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>do", "<cmd>DapStepOut<cr>", {
|
||||
desc = "Step out"
|
||||
})
|
||||
vim.keymap.set("n", '<Leader>dh', function() require('dap.ui.widgets').hover() end, {
|
||||
desc = "Hover"
|
||||
})
|
||||
end
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
"nvim-neotest/nvim-nio"
|
||||
},
|
||||
config = function()
|
||||
require("dapui").setup({
|
||||
controls = {
|
||||
enabled = false
|
||||
},
|
||||
layouts = {
|
||||
{
|
||||
elements = {
|
||||
{
|
||||
id = "scopes",
|
||||
size = 0.33
|
||||
},
|
||||
{
|
||||
id = "breakpoints",
|
||||
size = 0.33
|
||||
},
|
||||
{
|
||||
id = "stacks",
|
||||
size = 0.33
|
||||
}
|
||||
},
|
||||
position = "left",
|
||||
size = 60
|
||||
},
|
||||
{
|
||||
elements = {
|
||||
{
|
||||
id = "repl",
|
||||
size = 1
|
||||
}
|
||||
},
|
||||
position = "bottom",
|
||||
size = 15
|
||||
}
|
||||
}
|
||||
})
|
||||
vim.keymap.set("n", "<leader>du", function() require("dapui").toggle() end, {
|
||||
desc = " Toggle UI"
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -3,9 +3,13 @@ return {
|
||||
'kkoomen/vim-doge',
|
||||
build = ':call doge#install()',
|
||||
init = function()
|
||||
vim.g.doge_enable_mappings = 0
|
||||
vim.g.doge_doc_standard_cpp = 'doxygen_cpp_comment_slash'
|
||||
vim.g.doge_mapping_comment_jump_forward = '<c-j>'
|
||||
vim.g.doge_mapping_comment_jump_backward = '<c-k>'
|
||||
|
||||
vim.keymap.set('n', '<leader>gd', '<Plug>(doge-generate)', { silent = true, desc = "Generate doc"})
|
||||
-- nmap <silent> <Leader>d <Plug>(doge-generate)
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -8,8 +8,8 @@ return {
|
||||
}
|
||||
},
|
||||
init = function()
|
||||
vim.keymap.set("n", "<C-e>", function() require("harpoon.ui").toggle_quick_menu() end)
|
||||
vim.keymap.set("n", "<leader>a", function() require("harpoon.mark").add_file() end)
|
||||
vim.keymap.set("n", "<C-e>", function() require("harpoon.ui").toggle_quick_menu() end, {desc = "Toggle harpoon ui"})
|
||||
vim.keymap.set("n", "<leader>a", function() require("harpoon.mark").add_file() end, {desc = "Add to harpoon list"})
|
||||
|
||||
vim.keymap.set("n", "<C-h>", function() require("harpoon.ui").nav_file(1) end)
|
||||
vim.keymap.set("n", "<C-t>", function() require("harpoon.ui").nav_file(2) end)
|
||||
19
nvim/.config/nvim/lua/plugins/lua_copilot.lua
Normal file
19
nvim/.config/nvim/lua/plugins/lua_copilot.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
return {
|
||||
"zbirenbaum/copilot.lua",
|
||||
cmd = "Copilot",
|
||||
-- event = "InsertEnter",
|
||||
opts = {
|
||||
suggestion = {
|
||||
enabled = true,
|
||||
auto_trigger = true,
|
||||
keymap = {
|
||||
accept = "<C-l>"
|
||||
-- accept_word = false,
|
||||
-- accept_line = false,
|
||||
-- next = "<M-]>",
|
||||
-- prev = "<M-[>",
|
||||
-- dismiss = "<C-]>"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,17 @@ return {
|
||||
'mason',
|
||||
'lazy',
|
||||
'toggleterm'
|
||||
},
|
||||
sections = {
|
||||
lualine_x = {
|
||||
{
|
||||
require("noice").api.statusline.mode.get,
|
||||
cond = require("noice").api.statusline.mode.has,
|
||||
color = {
|
||||
fg = "#ff9e64"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
27
nvim/.config/nvim/lua/plugins/markdown_preview.lua
Normal file
27
nvim/.config/nvim/lua/plugins/markdown_preview.lua
Normal file
@@ -0,0 +1,27 @@
|
||||
return {
|
||||
-- Install markdown preview, use npx if available.
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = {
|
||||
"MarkdownPreviewToggle",
|
||||
"MarkdownPreview",
|
||||
"MarkdownPreviewStop"
|
||||
},
|
||||
ft = {
|
||||
"markdown"
|
||||
},
|
||||
build = function(plugin)
|
||||
if vim.fn.executable "npx" then
|
||||
vim.cmd("!cd " .. plugin.dir .. " && cd app && npx --yes yarn install")
|
||||
else
|
||||
vim.cmd [[Lazy load markdown-preview.nvim]]
|
||||
vim.fn["mkdp#util#install"]()
|
||||
end
|
||||
end,
|
||||
init = function()
|
||||
if vim.fn.executable "npx" then
|
||||
vim.g.mkdp_filetypes = {
|
||||
"markdown"
|
||||
}
|
||||
end
|
||||
end
|
||||
}
|
||||
7
nvim/.config/nvim/lua/plugins/markdown_toc.lua
Normal file
7
nvim/.config/nvim/lua/plugins/markdown_toc.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"hedyhli/markdown-toc.nvim",
|
||||
cmd = {
|
||||
"Mtoc"
|
||||
}, -- Or, lazy load on "Mtoc" command
|
||||
opts = {}
|
||||
}
|
||||
10
nvim/.config/nvim/lua/plugins/mason.lua
Normal file
10
nvim/.config/nvim/lua/plugins/mason.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
'williamboman/mason.nvim',
|
||||
lazy = false,
|
||||
opts = {
|
||||
registries = {
|
||||
"github:antsouchlos/mason-registry",
|
||||
"github:mason-org/mason-registry"
|
||||
}
|
||||
}
|
||||
}
|
||||
90
nvim/.config/nvim/lua/plugins/molten.lua
Normal file
90
nvim/.config/nvim/lua/plugins/molten.lua
Normal file
@@ -0,0 +1,90 @@
|
||||
return {
|
||||
{ -- Ability to show images in the output
|
||||
"3rd/image.nvim",
|
||||
opts = {}
|
||||
}, { -- Use LSP in markdown files
|
||||
"quarto-dev/quarto-nvim",
|
||||
dependencies = {"jmbuhr/otter.nvim", "nvim-treesitter/nvim-treesitter"},
|
||||
ft = {"quarto", "markdown"},
|
||||
init = function()
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'markdown',
|
||||
callback = function()
|
||||
require("quarto").activate()
|
||||
end
|
||||
})
|
||||
|
||||
-- local runner = require("quarto.runner")
|
||||
-- vim.keymap.set("n", "<localleader>rc", runner.run_cell, {
|
||||
-- desc = "run cell",
|
||||
-- silent = true
|
||||
-- })
|
||||
-- vim.keymap.set("n", "<localleader>ra", runner.run_above, {
|
||||
-- desc = "run cell and above",
|
||||
-- silent = true
|
||||
-- })
|
||||
-- vim.keymap.set("n", "<localleader>rA", runner.run_all, {
|
||||
-- desc = "run all cells",
|
||||
-- silent = true
|
||||
-- })
|
||||
-- vim.keymap.set("n", "<localleader>rl", runner.run_line, {
|
||||
-- desc = "run line",
|
||||
-- silent = true
|
||||
-- })
|
||||
-- vim.keymap.set("v", "<localleader>r", runner.run_range, {
|
||||
-- desc = "run visual range",
|
||||
-- silent = true
|
||||
-- })
|
||||
-- vim.keymap.set("n", "<localleader>RA", function() runner.run_all(true) end, {
|
||||
-- desc = "run all cells of all languages",
|
||||
-- silent = true
|
||||
-- })
|
||||
end,
|
||||
opts = {
|
||||
lspFeatures = {
|
||||
languages = {"r", "python", "rust", "julia"},
|
||||
chunks = "all",
|
||||
diagnostics = {enabled = true, triggers = {"BufWritePost"}},
|
||||
completion = {enabled = true}
|
||||
},
|
||||
keymap = {
|
||||
hover = "H",
|
||||
definition = "gd",
|
||||
rename = "<leader>rn",
|
||||
references = "gr",
|
||||
format = "<leader>gf"
|
||||
},
|
||||
codeRunner = {enabled = true, default_method = "molten"}
|
||||
}
|
||||
}, { -- Convert ipynb to markdown and back
|
||||
"GCBallesteros/jupytext.nvim",
|
||||
opts = {
|
||||
style = "markdown",
|
||||
output_extension = "md",
|
||||
force_ft = "markdown"
|
||||
}
|
||||
}, { -- Interactive code evaluation
|
||||
"benlubas/molten-nvim",
|
||||
version = "^1.0.0", -- use version <2.0.0 to avoid breaking changes
|
||||
build = ":UpdateRemotePlugins",
|
||||
init = function()
|
||||
vim.keymap.set("n", "<localleader>mi", ":MoltenInit<CR>",
|
||||
{silent = true, desc = "Initialize the plugin"})
|
||||
vim.keymap.set("n", "<localleader>e", ":MoltenEvaluateOperator<CR>",
|
||||
{silent = true, desc = "run operator selection"})
|
||||
vim.keymap.set("n", "<localleader>rl", ":MoltenEvaluateLine<CR>",
|
||||
{silent = true, desc = "evaluate line"})
|
||||
vim.keymap.set("n", "<localleader>rr", ":MoltenReevaluateCell<CR>",
|
||||
{silent = true, desc = "re-evaluate cell"})
|
||||
vim.keymap.set("v", "<localleader>r",
|
||||
":<C-u>MoltenEvaluateVisual<CR>gv",
|
||||
{silent = true, desc = "evaluate visual selection"})
|
||||
|
||||
vim.g.molten_image_provider = "image.nvim"
|
||||
|
||||
vim.g.molten_auto_open_output = false
|
||||
vim.g.molten_virt_text_output = true
|
||||
vim.g.molten_virt_text_max_lines = 32
|
||||
end
|
||||
}
|
||||
}
|
||||
38
nvim/.config/nvim/lua/plugins/noice.lua
Normal file
38
nvim/.config/nvim/lua/plugins/noice.lua
Normal file
@@ -0,0 +1,38 @@
|
||||
-- lazy.nvim
|
||||
return {
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
lsp = {
|
||||
signature = {
|
||||
enabled = false
|
||||
},
|
||||
hover = {
|
||||
enabled = false
|
||||
}
|
||||
},
|
||||
views = {
|
||||
cmdline_popup = {
|
||||
backend = "popup",
|
||||
relative = "editor",
|
||||
position = {
|
||||
row = -1,
|
||||
col = "0%"
|
||||
},
|
||||
border = {
|
||||
style = "none"
|
||||
}
|
||||
},
|
||||
cmdline_popupmenu = {
|
||||
relative = "editor",
|
||||
position = {
|
||||
row = -2,
|
||||
col = "0%"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim"
|
||||
}
|
||||
}
|
||||
13
nvim/.config/nvim/lua/plugins/oil.lua
Normal file
13
nvim/.config/nvim/lua/plugins/oil.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
return {
|
||||
'stevearc/oil.nvim',
|
||||
opts = {},
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
init = function()
|
||||
vim.keymap.set("n", "-", "<CMD>Oil<CR>", {
|
||||
desc = "Open parent directory"
|
||||
})
|
||||
end,
|
||||
lazy = false
|
||||
}
|
||||
32
nvim/.config/nvim/lua/plugins/overseer.lua
Normal file
32
nvim/.config/nvim/lua/plugins/overseer.lua
Normal file
@@ -0,0 +1,32 @@
|
||||
return {
|
||||
"stevearc/overseer.nvim",
|
||||
config = function()
|
||||
require("overseer").setup({
|
||||
templates = {
|
||||
-- "builtin",
|
||||
"user.cargo_build",
|
||||
"user.cargo_clean",
|
||||
"user.cargo_run",
|
||||
"user.cargo_test",
|
||||
"user.cmake_generate",
|
||||
"user.cmake_build",
|
||||
"user.cmake_clean",
|
||||
"user.cmake_test",
|
||||
"user.python_run"
|
||||
}
|
||||
})
|
||||
|
||||
vim.keymap.set("n", "<leader>oo", function() require("overseer").toggle() end, {
|
||||
desc = "Toggle"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>or", ":OverseerRun<CR>", {
|
||||
desc = "Run"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>oq", ":OverseerQuickAction<CR>", {
|
||||
desc = "Quick Action"
|
||||
})
|
||||
vim.keymap.set("n", "<leader>of", ":OverseerQuickAction open float<CR>", {
|
||||
desc = "Open Float"
|
||||
})
|
||||
end
|
||||
}
|
||||
41
nvim/.config/nvim/lua/plugins/pastify.lua
Normal file
41
nvim/.config/nvim/lua/plugins/pastify.lua
Normal file
@@ -0,0 +1,41 @@
|
||||
return {
|
||||
'TobinPalmer/pastify.nvim',
|
||||
cmd = {
|
||||
'Pastify',
|
||||
'PastifyAfter'
|
||||
},
|
||||
-- event = {
|
||||
-- 'BufReadPost'
|
||||
-- }, -- Load after the buffer is read, I like to be able to paste right away
|
||||
keys = {
|
||||
{
|
||||
noremap = true,
|
||||
mode = "x",
|
||||
'<leader>v',
|
||||
"<cmd>PastifyAfter<CR>"
|
||||
},
|
||||
{
|
||||
noremap = true,
|
||||
mode = "n",
|
||||
'<leader>v',
|
||||
"<cmd>PastifyAfter<CR>"
|
||||
},
|
||||
{
|
||||
noremap = true,
|
||||
mode = "n",
|
||||
'<leader>V',
|
||||
"<cmd>Pastify<CR>"
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
require('pastify').setup {
|
||||
opts = {
|
||||
local_path = '/res/'
|
||||
},
|
||||
ft = {
|
||||
markdown = ""
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
@@ -30,21 +30,38 @@ return {
|
||||
version = '0.1.5',
|
||||
dependencies = {
|
||||
{
|
||||
'nvim-lua/plenary.nvim'
|
||||
'nvim-lua/plenary.nvim',
|
||||
'folke/trouble.nvim',
|
||||
}
|
||||
},
|
||||
cmd = "Telescope",
|
||||
init = function()
|
||||
-- LuaFormatter off
|
||||
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,{desc = "Telescope find files"})
|
||||
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end,{desc = "Telescope live grep"})
|
||||
-- Set up keymaps
|
||||
|
||||
vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,
|
||||
{ desc = "Files" })
|
||||
vim.keymap.set('n', '<leader>fg', function() require("telescope.builtin").live_grep() end, { desc = "grep" })
|
||||
vim.keymap.set('n', '<leader>fa', function()
|
||||
require("telescope.builtin").find_files({ hidden = true })
|
||||
end, {desc = "Telescope find all files"})
|
||||
end, { desc = "All files" })
|
||||
|
||||
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, {desc = "Telescope buffers"})
|
||||
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end, {desc = "Telescope help tags"})
|
||||
-- LuaFormatter on
|
||||
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, { desc = "Buffers" })
|
||||
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end,
|
||||
{ desc = "Help tags" })
|
||||
|
||||
-- Set up trouble
|
||||
|
||||
local open_with_trouble = require("trouble.sources.telescope").open
|
||||
local telescope = require("telescope")
|
||||
|
||||
telescope.setup({
|
||||
defaults = {
|
||||
mappings = {
|
||||
i = { ["<c-t>"] = open_with_trouble },
|
||||
n = { ["<c-t>"] = open_with_trouble },
|
||||
},
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
63
nvim/.config/nvim/lua/plugins/themes.lua
Normal file
63
nvim/.config/nvim/lua/plugins/themes.lua
Normal file
@@ -0,0 +1,63 @@
|
||||
return {
|
||||
-- {'doums/darcula', config = function() vim.cmd('colorscheme darcula') end}
|
||||
-- {
|
||||
-- "folke/tokyonight.nvim",
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- opts = {},
|
||||
-- config = function() vim.cmd('colorscheme tokyonight-moon') end
|
||||
-- }
|
||||
-- {
|
||||
-- 'rose-pine/neovim',
|
||||
-- config = function()
|
||||
-- vim.cmd('colorscheme rose-pine-moon')
|
||||
|
||||
-- -- LuaFormatter off
|
||||
-- vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
-- vim.api.nvim_set_hl(0, "FloatBorder", { bg = "none", fg = "none" })
|
||||
-- vim.api.nvim_set_hl(0, "TelescopeNormal", { bg = "none" })
|
||||
-- vim.api.nvim_set_hl(0, "TelescopeBorder", { bg = "none" })
|
||||
-- -- LuaFormatter on
|
||||
-- end
|
||||
-- }
|
||||
-- {
|
||||
-- 'AlexvZyl/nordic.nvim',
|
||||
-- lazy = false,
|
||||
-- priority = 1000,
|
||||
-- init = function()
|
||||
-- require('nordic').setup {
|
||||
-- telescope = {
|
||||
-- style = 'classic'
|
||||
-- -- style = 'flat'
|
||||
-- }
|
||||
-- }
|
||||
-- require'nordic'.load()
|
||||
-- end
|
||||
-- }
|
||||
-- {
|
||||
-- "briones-gabriel/darcula-solid.nvim",
|
||||
-- dependencies = "rktjmp/lush.nvim",
|
||||
-- config = function()
|
||||
-- vim.cmd 'colorscheme darcula-solid'
|
||||
-- vim.cmd 'set termguicolors'
|
||||
-- end
|
||||
-- }
|
||||
{
|
||||
"ellisonleao/gruvbox.nvim",
|
||||
priority = 1000,
|
||||
config = true,
|
||||
opts = {
|
||||
contrast = "hard"
|
||||
},
|
||||
init = function()
|
||||
vim.cmd("colorscheme gruvbox")
|
||||
|
||||
-- LuaFormatter off
|
||||
vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" })
|
||||
vim.api.nvim_set_hl(0, "NoiceCmdlineIcon", { bg = "#1d2021" })
|
||||
vim.api.nvim_set_hl(0, "NoiceCmdlinePopupBorder", { bg = "#1d2021" })
|
||||
vim.api.nvim_set_hl(0, "NoiceCmdlinePopupTitle", { bg = "#1d2021" })
|
||||
-- LuaFormatter on
|
||||
end
|
||||
}
|
||||
}
|
||||
10
nvim/.config/nvim/lua/plugins/time_tracker.lua
Normal file
10
nvim/.config/nvim/lua/plugins/time_tracker.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
return {
|
||||
"3rd/time-tracker.nvim",
|
||||
dependencies = {
|
||||
"3rd/sqlite.nvim"
|
||||
},
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
data_file = vim.fn.stdpath("data") .. "/time-tracker.db"
|
||||
}
|
||||
}
|
||||
64
nvim/.config/nvim/lua/plugins/trouble.lua
Normal file
64
nvim/.config/nvim/lua/plugins/trouble.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
return {
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
tag="v3.4.1",
|
||||
dependencies = {
|
||||
{
|
||||
"nvim-tree/nvim-web-devicons"
|
||||
},
|
||||
{
|
||||
'folke/lsp-colors.nvim'
|
||||
},
|
||||
{
|
||||
'nvim-telescope/telescope.nvim'
|
||||
}
|
||||
},
|
||||
opts = {
|
||||
modes = {
|
||||
symbols = {
|
||||
win = {
|
||||
size = 50,
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xw",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xd",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xt",
|
||||
"<cmd>Trouble todo toggle focus=true<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
-- {
|
||||
-- "<leader>cl",
|
||||
-- "<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
-- desc = "LSP Definitions / references / ... (Trouble)",
|
||||
-- },
|
||||
-- {
|
||||
-- "<leader>xl",
|
||||
-- "<cmd>Trouble loclist toggle<cr>",
|
||||
-- desc = "Location List (Trouble)",
|
||||
-- },
|
||||
{
|
||||
"<leader>xq",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,10 @@ return {
|
||||
"UndotreeFocus",
|
||||
"UndotreePersistUndo"
|
||||
},
|
||||
init = function() vim.keymap.set("n", "<leader>u", "<cmd>UndotreeToggle<CR>") end
|
||||
init = function()
|
||||
vim.keymap.set("n", "<leader>u", "<cmd>UndotreeToggle<CR>", {
|
||||
desc = "Undotree"
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -21,7 +21,7 @@ return {
|
||||
}
|
||||
}
|
||||
|
||||
vim.g.vimtex_view_general_viewer = 'sioyek'
|
||||
vim.g.vimtex_view_method = 'zathura'
|
||||
vim.g.vimtex_quickfix_mode = 0
|
||||
|
||||
-- Concealment
|
||||
46
nvim/.config/nvim/lua/plugins/whichkey.lua
Normal file
46
nvim/.config/nvim/lua/plugins/whichkey.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
return {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
opts = {
|
||||
defaults = {
|
||||
["<leader>x"] = {
|
||||
name = "+Trouble"
|
||||
}
|
||||
}
|
||||
},
|
||||
config = function()
|
||||
local wk = require("which-key")
|
||||
wk.add({
|
||||
{
|
||||
"<leader>d",
|
||||
group = "Debug"
|
||||
},
|
||||
{
|
||||
"<leader>f",
|
||||
group = "Find"
|
||||
},
|
||||
{
|
||||
"<leader>l",
|
||||
group = "LSP"
|
||||
},
|
||||
{
|
||||
"<leader>o",
|
||||
group = "Overseer"
|
||||
},
|
||||
{
|
||||
"<leader>s",
|
||||
group = "Session"
|
||||
},
|
||||
{
|
||||
"<leader>x",
|
||||
group = "Trouble"
|
||||
}
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
@@ -9,7 +9,6 @@ vim.keymap.set("n", "n", "nzzzv")
|
||||
vim.keymap.set("n", "N", "Nzzzv")
|
||||
|
||||
vim.keymap.set("x", "<leader>p", "\"_dP")
|
||||
vim.keymap.set("n", "<leader>d", "\"_d")
|
||||
vim.keymap.set("v", "<leader>d", "\"_d")
|
||||
|
||||
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||
@@ -20,10 +19,6 @@ vim.keymap.set("n", "Q", "<nop>")
|
||||
vim.keymap.set("n", "q:", "<nop>")
|
||||
vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]]
|
||||
|
||||
vim.keymap.set("n", "<leader>s", [[:%s/\<<C-r><C-w>\>/<C-r><C-w>/gI<Left><Left><Left>]])
|
||||
vim.keymap.set("n", "QQ", ":q!<CR>")
|
||||
|
||||
vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]])
|
||||
|
||||
-- vim.keymap.set('n', '<leader><C-s>', '<cmd>mksession! .nvim_session<CR>', {})
|
||||
-- vim.keymap
|
||||
-- .set('n', '<leader><C-l>', '<cmd>silent! source .nvim_session<CR>', {})
|
||||
-- vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]])
|
||||
64
nvim/.config/nvim/lua/set.lua
Normal file
64
nvim/.config/nvim/lua/set.lua
Normal file
@@ -0,0 +1,64 @@
|
||||
vim.g.mapleader = " "
|
||||
|
||||
vim.opt.nu = true
|
||||
vim.opt.relativenumber = true
|
||||
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.smartindent = true
|
||||
|
||||
vim.opt.wrap = false
|
||||
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
|
||||
vim.opt.termguicolors = true
|
||||
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "yes"
|
||||
|
||||
vim.opt.updatetime = 50
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'cpp',
|
||||
callback = function() vim.bo.commentstring = '// %s' end
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd('FileType', {
|
||||
pattern = 'rust',
|
||||
callback = function()
|
||||
vim.cmd [[
|
||||
let &efm = ''
|
||||
" Random non issue stuff
|
||||
let &efm .= '%-G%.%#aborting due to previous error%.%#,'
|
||||
let &efm .= '%-G%.%#test failed, to rerun pass%.%#,'
|
||||
" Capture enter directory events for doc tests
|
||||
let &efm .= '%D%*\sDoc-tests %f%.%#,'
|
||||
" Doc Tests
|
||||
let &efm .= '%E---- %f - %o (line %l) stdout ----,'
|
||||
let &efm .= '%Cerror%m,'
|
||||
let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
||||
" Unit tests && `tests/` dir failures
|
||||
" This pattern has to come _after_ the doc test one
|
||||
let &efm .= '%E---- %o stdout ----,'
|
||||
let &efm .= '%Zthread %.%# panicked at %m\, %f:%l:%c,'
|
||||
let &efm .= '%Cthread %.%# panicked at %m,'
|
||||
let &efm .= '%+C%*\sleft: %.%#,'
|
||||
let &efm .= '%+Z%*\sright: %.%#\, %f:%l:%c,'
|
||||
" Compiler Errors and Warnings
|
||||
let &efm .= '%Eerror%m,'
|
||||
let &efm .= '%Wwarning: %m,'
|
||||
let &efm .= '%-Z%*\s--> %f:%l:%c,'
|
||||
]]
|
||||
end
|
||||
})
|
||||
|
||||
vim.opt.exrc = true
|
||||
@@ -13,7 +13,7 @@ local d = ls.dynamic_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local rep = require("luasnip.extras").rep
|
||||
local line_begin = require("luasnip.extras.expand_conditions").line_begin
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
|
||||
---------------
|
||||
-- Environments
|
||||
@@ -90,7 +90,7 @@ s({trig="notes"},
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="beg"},
|
||||
s({trig="beg", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
|
||||
fmta(
|
||||
[[
|
||||
\begin{<>}
|
||||
@@ -105,6 +105,46 @@ s({trig="beg"},
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="item", wordTrig=true, snippetType="autosnippet",
|
||||
condition = function(line_to_cursor, matched_trigger, captures)
|
||||
return tex_utils.in_env("itemize") and conds.line_begin(line_to_cursor, matched_trigger, captures)
|
||||
end},
|
||||
fmta(
|
||||
[[
|
||||
\item <>
|
||||
]],
|
||||
{
|
||||
i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="item", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
|
||||
fmta(
|
||||
[[
|
||||
\begin{itemize}
|
||||
\item <>
|
||||
\end{itemize}
|
||||
]],
|
||||
{
|
||||
i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="frame", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
|
||||
fmta(
|
||||
[[
|
||||
\begin{frame}
|
||||
\frametitle{<>}
|
||||
\end{frame}
|
||||
]],
|
||||
{
|
||||
i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s({trig="sec"},
|
||||
fmta(
|
||||
[[
|
||||
@@ -13,6 +13,7 @@ local d = ls.dynamic_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local fmta = require("luasnip.extras.fmt").fmta
|
||||
local rep = require("luasnip.extras").rep
|
||||
local conds = require("luasnip.extras.expand_conditions")
|
||||
|
||||
|
||||
---------------
|
||||
@@ -56,7 +57,7 @@ end
|
||||
return {
|
||||
|
||||
|
||||
s({trig="ali", snippetType="autosnippet"},
|
||||
s({trig="ali", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
|
||||
fmta(
|
||||
[[
|
||||
\begin{align*}
|
||||
@@ -113,6 +114,21 @@ s({trig="matp"},
|
||||
{condition = tex_utils.in_mathzone}
|
||||
),
|
||||
|
||||
s({trig="([^%a])array", regTrig=true, wordTrig=false, snippetType="autosnippet"},
|
||||
fmta(
|
||||
[[
|
||||
<>\begin{array}{c}
|
||||
<>
|
||||
\end{array}
|
||||
]],
|
||||
{
|
||||
f( function(_, snip) return snip.captures[1] end ),
|
||||
i(0),
|
||||
}
|
||||
),
|
||||
{condition = tex_utils.in_mathzone}
|
||||
),
|
||||
|
||||
s({trig='([^%a])int', regTrig=true, wordTrig=false, snippetType="autosnippet"},
|
||||
fmta(
|
||||
[[<>\int_{<>}^{<>} <> d<> ]],
|
||||
@@ -228,13 +244,13 @@ s({trig="([^%a])tt", regTrig=true, wordTrig=false, snippetType="autosnippet"},
|
||||
{condition = tex_utils.in_mathzone}
|
||||
),
|
||||
|
||||
s({trig=".", snippetType="autosnippet"},
|
||||
fmta(
|
||||
[[\cdot ]],
|
||||
{}
|
||||
),
|
||||
{condition = tex_utils.in_mathzone}
|
||||
),
|
||||
-- s({trig=".", snippetType="autosnippet"},
|
||||
-- fmta(
|
||||
-- [[\cdot ]],
|
||||
-- {}
|
||||
-- ),
|
||||
-- {condition = tex_utils.in_mathzone}
|
||||
-- ),
|
||||
|
||||
s({trig="$$", snippetType="autosnippet"},
|
||||
fmta(
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user