119 Commits

Author SHA1 Message Date
1a00736e35 nvim: Add lsp files; Update plugins 2025-10-28 15:59:16 +01:00
b9f7601210 nvim: Change telescope keymaps 2025-10-28 14:07:54 +01:00
42c0ee17ab nvim: Add TodoTroube keymap (xt) 2025-10-28 14:07:01 +01:00
a29e798b3a nvim: Code style 2025-10-28 14:06:37 +01:00
448bb7a748 nvim: Add grr keymap 2025-10-28 14:06:22 +01:00
fccfac8e73 Change sway keyboard layout 2025-10-28 14:05:59 +01:00
2fb9f3f9e6 nvim: Fix LSP formatting messing up alternate file 2025-07-25 15:00:06 -04:00
6f1910c323 Add pytorch to win+p python window 2025-07-25 14:57:55 -04:00
2fd4ea36cc Add csvview plugin 2025-07-25 14:57:47 -04:00
b433bf4f67 Add mdformat-myst formatter as lsp 2025-07-25 10:17:09 -04:00
2dbc45f106 nvim: Add gd keyboard shortcut 2025-07-25 10:16:44 -04:00
c8a8f61a9f nvim: Add texlab LSP; Clean up ruff config 2025-06-26 10:30:30 -04:00
d95aefb166 nvim: Fix LSP tab/enter; Fix multi-LSP formatting; Add ruff and neocmakelsp 2025-06-26 00:20:42 -04:00
17b700c910 Remove exisint lsp config; Start adding LSPs with new config 2025-06-18 10:10:58 -04:00
b963d7746e nvim: Update plugins 2025-06-17 22:15:51 -04:00
067c6aa2ee nvim: Change formatter config 2025-06-17 22:15:04 -04:00
de6447fe19 nvim: Comment out matlab lsp config 2025-06-17 22:14:10 -04:00
516b187060 nvim: Disable copilot by default 2025-06-17 22:13:04 -04:00
7cfdf63c01 nvim: Reenable pastify with different keymap 2025-06-17 22:12:23 -04:00
192b290e4a nvim: Change markdown_preview build process 2025-06-17 22:11:51 -04:00
3c76341341 nvim: Remove nvim-tree; Add oil.nvim 2025-06-17 22:10:58 -04:00
efeca2ff10 nvim: Fix overseer task name 2025-06-17 22:10:23 -04:00
c7819c793f nvim: Enable exrc 2025-06-17 22:08:48 -04:00
d9671f74c7 Add latex snippets 2025-06-17 22:08:34 -04:00
b56400c12c sway: Enable dwt; Change workspace names; Change workspace display naming 2025-06-17 22:07:41 -04:00
7472a05642 Add nvim QQ remap 2025-06-17 22:07:10 -04:00
ed605f580e Remove Kinemic screen config, add Bell labs 2025-06-17 22:05:24 -04:00
2e0cc89584 Change source paths in zshrc 2025-06-17 22:04:53 -04:00
300a13d443 nvim: Update plugins 2025-03-10 09:04:34 +01:00
fa809f6273 nvim: Remove killersheep plugin 2025-03-10 09:03:17 +01:00
4bc2809648 nvim: Add avante and pastify to disabled_plugins 2025-03-10 09:03:00 +01:00
ac9058d3e3 nvim: Modify jupyter notebook config 2025-03-10 09:02:07 +01:00
99fc6ec017 nvim: Remove barbecue plugin 2025-03-10 09:01:03 +01:00
3955038a6a nvim: Add markdown-toc plugin 2025-03-10 08:59:47 +01:00
76266a78a6 zathura: Add config 2025-03-10 08:56:31 +01:00
b44abad337 Add flashfocus and sway window transparency 2025-03-10 08:55:32 +01:00
373651b9ee kanshi: Remove non working options from config 2025-03-10 08:48:07 +01:00
72fb89da48 kitty: Disable transparent background 2025-03-10 08:47:31 +01:00
522c655086 nvim: Make recording indicator visible 2025-03-10 08:45:37 +01:00
0756d4281c Make zathura default vimtex viewer 2025-03-10 08:43:27 +01:00
ffb8c5a5f0 Change neovim c++ comment string 2025-03-10 08:42:51 +01:00
a897ada9b5 Disable touchpad drag lock 2025-03-10 08:42:33 +01:00
0f2979d97f Add allow-passthrough option to tmux config 2025-03-10 08:42:03 +01:00
144212e33e Add/modify zsh aliases 2025-03-10 08:39:41 +01:00
e63a60efca Change copilot to lua version; Change zsh completion shortcut 2025-01-14 03:00:32 +01:00
1ad8d13b23 zsh: Change zsh-autosuggestions.zsh path 2024-10-17 04:44:07 +02:00
62c556f898 sway: Change i3-msg to swaymsg in config 2024-10-17 04:43:00 +02:00
85d2139be6 Specify font in kitty config 2024-10-17 04:42:32 +02:00
e4c6d3b5a4 Add papis config 2024-10-16 20:40:54 +02:00
4037fe4c36 nvim: Update plugins 2024-10-16 17:44:49 +02:00
ec628cd17f Add kanshi config 2024-10-16 17:39:33 +02:00
c54fe574c0 Add 'lazy=false' in auto_session conf 2024-10-16 17:35:30 +02:00
b9eed4c40f nvim: Add time tracker plugin 2024-10-16 17:20:02 +02:00
d1f835ff1c Update whichkey config to new version 2024-10-16 17:14:35 +02:00
9b2d29a3a3 Add matlab path to lsp config 2024-10-16 17:13:12 +02:00
13a9467abd Remove duplicate keymap 2024-10-16 17:12:42 +02:00
2c87ad3a67 Add custom mason registry 2024-10-16 17:12:31 +02:00
44395835e6 Format changes 2024-10-16 17:11:35 +02:00
3e5ad2225a change neoformat markdown spec 2024-10-16 16:50:32 +02:00
8d6c988661 Change clang format 2024-10-16 16:48:08 +02:00
156e36053e Make Release default version in overseer cmake action 2024-10-16 16:47:50 +02:00
f2d9534fba Change trouble symbol list width 2024-10-16 16:47:16 +02:00
83b264f678 Remove useless keymap 2024-10-16 16:45:46 +02:00
18aa4bc748 Fix waybar clock 2024-10-16 16:45:17 +02:00
b4b1e5cdf7 Add zsh completion 2024-10-16 16:44:53 +02:00
1223893f49 Fix flog alias 2024-08-25 16:04:12 +02:00
a2e83bbe00 Change z command in zshrc to cd 2024-08-25 16:02:04 +02:00
eb7fabbb48 Update aliases in zshrc 2024-08-25 15:57:16 +02:00
30e2b8a052 Update neovim plugins 2024-08-25 15:47:24 +02:00
b7fa096c90 Automatically import numpy and sympy when starting python shell 2024-08-25 15:46:42 +02:00
92d2e7118a Don't start blueman-applet in sway config 2024-08-25 15:46:19 +02:00
b99e5a5ec3 Add brightness control scripts 2024-08-25 15:45:28 +02:00
ef74b0e660 Enable interactive comments on zsh 2024-08-25 15:44:41 +02:00
bb2311dd43 Update workspace configuration 2024-08-25 15:44:21 +02:00
949e930a56 Add new neovim welcome screen and change probability definitions 2024-06-18 01:48:01 +02:00
1ea00e644d Check out newest version of trouble and modify keymaps 2024-06-18 01:47:35 +02:00
be256e882b Fix monitor config 2024-06-18 01:47:12 +02:00
478ded7f6e Add 'c' alias for config 2024-06-18 01:46:50 +02:00
1d299f2e43 Update neovim plugins lazy-lock 2024-06-11 00:40:33 +02:00
c812148917 Update trouble to version 3.3.0 2024-06-11 00:40:19 +02:00
e690f17ff8 Add cd .. aliases to zshrc 2024-06-11 00:33:17 +02:00
89257b28ec Add zsh-autosuggestions config to .zshrc 2024-06-06 01:50:55 +02:00
f9617088f8 Fix trouble config 2024-06-06 01:50:46 +02:00
b6a2fa03c3 Add hostname to zsh prompt 2024-06-06 01:22:27 +02:00
3ee58eb2e2 Update neovim plugins 2024-06-06 01:03:02 +02:00
b00d82b7c9 Fix cargo quickfix error parsing 2024-06-06 01:02:25 +02:00
bbb673e7e2 Add overseer cargo jobs 2024-06-06 00:59:14 +02:00
dafec71c57 Merge pull request 'Move from i3 to sway' (#1) from feature/sway into main
Reviewed-on: https://git.mercurial-manifold.eu/an.tsouchlos/dotfiles/pulls/1
2024-06-05 22:57:01 +00:00
19c943abbe Add kitty scroll multiplier 2024-06-03 11:01:22 +02:00
0976aa378b Update lazy-lock 2024-05-15 20:44:09 +02:00
0043e6c6fd Tidy some stuff up 2024-05-15 20:43:08 +02:00
478544b7d9 Fix sway setup for multiple monitors 2024-05-15 20:42:13 +02:00
16d6ba467d Disable left-handed mode 2024-05-05 11:27:33 +02:00
188ae38be4 Add screenshot shortcut 2024-05-04 22:40:33 +02:00
276ac34da1 Remove '--no-startup-id' flag 2024-05-04 20:47:50 +02:00
d6bc329c85 Increase zsh history size 2024-05-04 20:30:34 +02:00
a49d728b4b Reduce gaps 2024-05-04 20:30:25 +02:00
c5d88a5943 Lock screen on lid close 2024-05-04 01:21:21 +02:00
af2bfb7032 Configure locking 2024-05-04 00:47:28 +02:00
a79c078b80 Add language to waybar; Remove useless config 2024-05-04 00:46:56 +02:00
0afcfdd7cc Clean up navigation.conf 2024-05-03 19:33:00 +02:00
8403882027 Add other keyboard layouts 2024-05-03 19:22:23 +02:00
ea90e4950b Add README.md 2024-05-03 18:46:13 +02:00
a270b45c6f Change ll alias for zsh 2024-05-03 18:42:41 +02:00
6438e2b385 Finish refactoring directory 2024-05-03 18:38:25 +02:00
2ef96e965b Change directory structure 2024-05-03 18:28:51 +02:00
b8d625f85e Remove .bashrc 2024-05-03 18:22:48 +02:00
3fed6c5c51 Remove .Xresources 2024-05-03 18:22:33 +02:00
7dfa5289a7 Remove picom, polybar and rofi configs 2024-05-03 18:21:21 +02:00
978bd04156 Add waybar and wofi configs 2024-05-03 18:18:16 +02:00
e033e31c0d Add sway config alias to zshrc 2024-05-03 18:16:10 +02:00
1274c62cd0 Remove i3 config; Create sway config 2024-05-03 18:15:51 +02:00
6d43613a77 Add matlab lsp 2024-05-03 18:14:02 +02:00
834fc7fcdf Make cmake_build overseer action use 16 threads 2024-05-03 18:13:44 +02:00
73cee5d646 Fix polybar battery setting for framework 2024-05-03 18:12:45 +02:00
e0c6ada3a6 Fix i3 monitor config 2024-04-17 22:15:14 +02:00
134fdac492 Update i3 config 2024-04-17 22:15:04 +02:00
26a6a66b77 Update zshrc 2024-04-17 22:04:15 +02:00
adfa9bdf16 Parallelize neovim overseer cmake build conf 2024-04-17 21:33:32 +02:00
119 changed files with 1687 additions and 1571 deletions

View File

@@ -1 +0,0 @@
Xcursor.size: 24

96
.bashrc
View File

@@ -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

View File

@@ -1,37 +0,0 @@
set $mod Mod4
exec_always --no-startup-id "setxkbmap -layout 'de,gr,de' -variant 'nodeadkeys,basic,neo' -option caps:escape"
include ~/.config/i3/config.d/*
bindsym $mod+d exec --no-startup-id rofi -show run -config ~/.config/rofi/config.rasi
bindsym $mod+Return exec --no-startup-id 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 --no-startup-id i3-msg exit
bindsym r exec --no-startup-id systemctl reboot
bindsym s exec --no-startup-id 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 --no-startup-id playerctl play-pause
bindsym XF86AudioPause exec --no-startup-id playerctl play-pause
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-

View File

@@ -1,5 +0,0 @@
exec --no-startup-id dex --autostart --environment i3
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
exec_always --no-startup-id nm-applet &
exec_always --no-startup-id blueman-applet &

View File

@@ -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

View File

@@ -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 eDP-1 DP-1-3
workspace $ws3 output eDP-1 DP-1-3
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

View File

@@ -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

View File

@@ -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")

View File

@@ -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,
}
}

View File

@@ -1,6 +0,0 @@
return {
{
"GCBallesteros/jupytext.nvim",
config = true
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -1,179 +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 = {
-- LuaFormatter off
{ name = 'path' },
{ name = 'nvim_lsp' },
{ name = 'nvim_lua' },
{ name = 'luasnip', keyword_length = 2 },
{ name = 'buffer', keyword_length = 3 },
{ name = 'nvim_lsp_signature_help' }
-- LuaFormatter on
},
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', {
-- LuaFormatter off
sources = cmp.config.sources(
{ { name = 'git' } },
{ { name = 'buffer' } }
)
-- LuaFormatter on
})
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"
},
config = function()
local lsp_zero = require('lsp-zero')
lsp_zero.extend_lspconfig()
lsp_zero.on_attach(function(client, bufnr)
vim.keymap.set("n", "<leader>ld", function() vim.lsp.buf.definition() end, {
desc = "Go to definition"
})
vim.keymap.set("n", "<leader>lh", function() vim.lsp.buf.hover() end, {
desc = "Hover"
})
vim.keymap.set("n", "<leader>lr", ":Trouble lsp_references<CR>", {
desc = "Show references"
})
vim.keymap.set("n", "<leader>ln", function() vim.lsp.buf.rename() end, {
desc = "Rename"
})
vim.keymap.set("n", "<leader>ls", function() vim.lsp.buf.signature_help() end, {
desc = "Signature help"
})
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, {
desc = "Code actions"
})
vim.keymap.set("n", "<leader>la", function() vim.lsp.buf.code_action() end, {
desc = "Code actions"
})
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",
"--background-index",
"--clang-tidy",
"--completion-style=bundled",
"--cross-file-rename",
"--header-insertion=iwyu",
-- Required for embedded system compilers
"--query-driver=/**/*g++",
"--offset-encoding=utf-16"
-- "-j=8",
-- "--malloc-trim",
-- "--pch-storage=memory"
}
}
end
}
}
}

View File

@@ -1,15 +0,0 @@
return {
{
"iamcco/markdown-preview.nvim",
cmd = {
"MarkdownPreviewToggle",
"MarkdownPreview",
"MarkdownPreviewStop"
},
ft = {
"markdown"
},
build = function() vim.fn["mkdp#util#install"]() end
}
}

View File

@@ -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
}
}

View File

@@ -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
}
}

View File

@@ -1,59 +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, {
desc = "Toggle"
})
vim.keymap.set("n", "<leader>xw", function() require("trouble").toggle("workspace_diagnostics") end, {
desc = "Workspace diagnostics"
})
vim.keymap.set("n", "<leader>xd", function() require("trouble").toggle("document_diagnostics") end, {
desc = "Document diagnostics"
})
vim.keymap.set("n", "<leader>xq", function() require("trouble").toggle("quickfix") end, {
desc = "Quickfix"
})
vim.keymap.set("n", "<leader>xl", function() require("trouble").toggle("loclist") end, {
desc = "Loclist"
})
-- vim.keymap.set("n", "<leader>xr", function() require("trouble").toggle("lsp_references") end, {
-- desc = "LSP references"
-- })
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
}
}

View File

@@ -1,42 +0,0 @@
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.register({
["<leader>"] = {
l = {
name = "+LSP"
},
x = {
name = "+Trouble"
},
o = {
name = "+Overseer"
},
d = {
name = "+Debug"
},
f = {
name = "+Find"
},
s = {
name = "+Session"
},
}
})
end
}
}

View File

@@ -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

View File

@@ -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; }
}

View File

@@ -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

View File

@@ -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..."

View File

@@ -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 % );
}

114
.zshrc
View File

@@ -1,114 +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
export EDITOR=nvim
alias get-idf='. $HOME/git/esp-idf/export.sh'
alias ic='z ~/.config/i3'
alias nc='z ~/.config/nvim'
alias ezc='nvim ~/.zshrc'
alias ait='z ~/Documents/kit/AIT && clear'
alias kit='z ~/Documents/kit && clear'
alias eml='z ~/Documents/kit/EMLLAB/emllab-challenge && . venv/bin/activate && clear'
alias let='z ~/git/ba-letter && clear'
alias hyp='z ~/git/HyperLink_SW && clear'
eval "$(zoxide init zsh)"
#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
View File

@@ -0,0 +1,8 @@
# Dotfiles
## Usage
```bash
$ stow -S clang-format kitty nvim sway tmux waybar wofi zsh kanshi papis flashfocus zathura
```

View File

@@ -9,6 +9,7 @@ PointerAlignment: Left
AccessModifierOffset: -4 AccessModifierOffset: -4
AlwaysBreakTemplateDeclarations: true AlwaysBreakTemplateDeclarations: true
LambdaBodyIndentation: Signature LambdaBodyIndentation: Signature
AllowShortLambdasOnASingleLine: None
MaxEmptyLinesToKeep: 3 MaxEmptyLinesToKeep: 3
#ColumnLimit: 128 #ColumnLimit: 128

View 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

View 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
}

View 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

View 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")

View 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" }
}

View File

@@ -0,0 +1,13 @@
return {
cmd = {
'clangd'
},
root_markers = {
'.clangd',
'compile_commands.json'
},
filetypes = {
'c',
'cpp'
}
}

View File

@@ -0,0 +1,9 @@
return {
cmd = { 'docker-langserver', '--stdio' },
filetypes = {
'dockerfile'
},
root_markers = {
'Dockerfile',
},
}

View File

@@ -0,0 +1,20 @@
return {
cmd = {
'lua-language-server'
},
filetypes = {
'lua'
},
root_markers = {
'.luarc.json',
'.luarc.jsonc',
'.git'
},
settings = {
Lua = {
runtime = {
version = 'LuaJIT'
}
}
}
}

View File

@@ -0,0 +1,5 @@
return {
cmd = { "neocmakelsp", "--stdio" },
filetypes = { "cmake" },
root_markers = { ".git", "README.md" }
}

View 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'
},
}

View File

@@ -0,0 +1,11 @@
return {
cmd = {
'ruff', 'server'
},
filetypes = {
'python'
},
root_markers = {
'setup.py', 'setup.cfg', 'requirements.txt', '.git', 'ruff.toml'
}
}

View 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,
}

View 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',
},
},
}

View 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'
}
}

View File

@@ -0,0 +1,90 @@
-- 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"
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,
})

View 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",
}
}
}

View 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",
}
}
}

View 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"
}
}
}

View 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",
}
}
}

View File

@@ -8,7 +8,8 @@ return {
}, },
args = { args = {
"--build", "--build",
"build" "build",
"-j16"
}, },
components = { components = {
{ {

View File

@@ -9,7 +9,7 @@ return {
"RelWithDebInfo", "RelWithDebInfo",
"MinSizeRel" "MinSizeRel"
}, },
default = "Debug" default = "Release"
}, },
generator = { generator = {
type = "enum", type = "enum",

View File

@@ -4,7 +4,7 @@
local function clamp(x, min, max) return math.max(math.min(x, max), min) end local function clamp(x, min, max) return math.max(math.min(x, max), min) end
local function get_random_image() local function get_random_image()
images = { local images = {
{ {
[[██╗ █████╗ ██████╗██╗ ██╗███████╗]], [[██╗ █████╗ ██████╗██╗ ██╗███████╗]],
[[██║ ██╔══██╗██╔════╝██║ ██║██╔════╝]], [[██║ ██╔══██╗██╔════╝██║ ██║██╔════╝]],
@@ -29,21 +29,53 @@ local function get_random_image()
[[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]], [[██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║]],
[[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]], [[██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║]],
[[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]] [[╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝]]
},
{
[[ ▄ ]],
[[ ▟█▙ ]],
[[ ▟███▙ ]],
[[ ▟█████▙ ]],
[[ ▟███████▙ ]],
[[ ▂▔▀▜██████▙ ]],
[[ ▟██▅▂▝▜█████▙ ]],
[[ ▟█████████████▙ ]],
[[ ▟███████████████▙ ]],
[[ ▟█████████████████▙ ]],
[[ ▟███████████████████▙ ]],
[[ ▟█████████▛▀▀▜████████▙ ]],
[[ ▟████████▛ ▜███████▙ ]],
[[ ▟█████████ ████████▙ ]],
[[ ▟██████████ █████▆▅▄▃▂ ]],
[[ ▟██████████▛ ▜█████████▙ ]],
[[ ▟██████▀▀▀ ▀▀██████▙ ]],
[[ ▟███▀▘ ▝▀███▙ ]],
[[▟▛▀ ▀▜▙]],
[[ btw ]]
} }
} }
local i = 3 local pmf = {0.25, 0.25, 0.25, 0.25}
local cdf = {}
math.randomseed(os.time()) cdf[1] = 0
if math.fmod(math.random(100), 5) == 0 then for j = 2, #pmf+1 do
if math.random(0, 1) == 0 then cdf[j] = cdf[j - 1] + pmf[j - 1]
i = 1
else
i = 2
end
end end
return images[i] 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 end
----------------- -----------------

View File

@@ -1,6 +1,7 @@
return { return {
{ {
"rmagatti/auto-session", "rmagatti/auto-session",
lazy = false,
dependencies = { dependencies = {
"nvim-lualine/lualine.nvim" "nvim-lualine/lualine.nvim"
}, },

View 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
}

View 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-]>"
}
}
}
}

View File

@@ -15,6 +15,17 @@ return {
'mason', 'mason',
'lazy', 'lazy',
'toggleterm' 'toggleterm'
},
sections = {
lualine_x = {
{
require("noice").api.statusline.mode.get,
cond = require("noice").api.statusline.mode.has,
color = {
fg = "#ff9e64"
}
}
}
} }
} }
} }

View 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
}

View File

@@ -0,0 +1,7 @@
return {
"hedyhli/markdown-toc.nvim",
cmd = {
"Mtoc"
}, -- Or, lazy load on "Mtoc" command
opts = {}
}

View File

@@ -0,0 +1,10 @@
return {
'williamboman/mason.nvim',
lazy = false,
opts = {
registries = {
"github:antsouchlos/mason-registry",
"github:mason-org/mason-registry"
}
}
}

View 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
}
}

View 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
}

View File

@@ -3,7 +3,11 @@ return {
config = function() config = function()
require("overseer").setup({ require("overseer").setup({
templates = { templates = {
"builtin", -- "builtin",
"user.cargo_build",
"user.cargo_clean",
"user.cargo_run",
"user.cargo_test",
"user.cmake_generate", "user.cmake_generate",
"user.cmake_build", "user.cmake_build",
"user.cmake_clean", "user.cmake_clean",

View 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 = "![image]($IMG$)"
}
}
end
}

View File

@@ -6,19 +6,19 @@
-- local function execute_in_repo_root(func) -- local function execute_in_repo_root(func)
-- local function is_git_repo() -- local function is_git_repo()
-- vim.fn.system("git rev-parse --is-inside-work-tree") -- vim.fn.system("git rev-parse --is-inside-work-tree")
-- --
-- return vim.v.shell_error == 0 -- return vim.v.shell_error == 0
-- end -- end
-- --
-- local function get_git_root() -- local function get_git_root()
-- local dot_git_path = vim.fn.finddir(".git", ".;") -- local dot_git_path = vim.fn.finddir(".git", ".;")
-- return vim.fn.fnamemodify(dot_git_path, ":h") -- return vim.fn.fnamemodify(dot_git_path, ":h")
-- end -- end
-- --
-- local opts = {} -- local opts = {}
-- --
-- if is_git_repo() then opts = {cwd = get_git_root()} end -- if is_git_repo() then opts = {cwd = get_git_root()} end
-- --
-- func(opts) -- func(opts)
-- end -- end
----------------------- -----------------------
@@ -30,21 +30,38 @@ return {
version = '0.1.5', version = '0.1.5',
dependencies = { dependencies = {
{ {
'nvim-lua/plenary.nvim' 'nvim-lua/plenary.nvim',
'folke/trouble.nvim',
} }
}, },
cmd = "Telescope", cmd = "Telescope",
init = function() init = function()
-- LuaFormatter off -- 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 = "All files"})
vim.keymap.set('n', '<leader>fb', function() require("telescope.builtin").buffers() end, {desc = "Buffers"}) vim.keymap.set('n', '<leader>ff', function() require("telescope.builtin").find_files() end,
vim.keymap.set('n', '<leader>fh', function() require("telescope.builtin").help_tags() end, {desc = "Help tags"}) { desc = "Files" })
-- LuaFormatter on 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 = "All files" })
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 end
} }
} }

View 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"
}
}

View 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)",
},
},
}
}

View File

@@ -21,7 +21,7 @@ return {
} }
} }
vim.g.vimtex_view_general_viewer = 'sioyek' vim.g.vimtex_view_method = 'zathura'
vim.g.vimtex_quickfix_mode = 0 vim.g.vimtex_quickfix_mode = 0
-- Concealment -- Concealment

View 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
}
}

View File

@@ -9,7 +9,6 @@ vim.keymap.set("n", "n", "nzzzv")
vim.keymap.set("n", "N", "Nzzzv") vim.keymap.set("n", "N", "Nzzzv")
vim.keymap.set("x", "<leader>p", "\"_dP") vim.keymap.set("x", "<leader>p", "\"_dP")
vim.keymap.set("n", "<leader>d", "\"_d")
vim.keymap.set("v", "<leader>d", "\"_d") vim.keymap.set("v", "<leader>d", "\"_d")
vim.keymap.set("n", "<leader>y", "\"+y") vim.keymap.set("n", "<leader>y", "\"+y")
@@ -20,4 +19,6 @@ vim.keymap.set("n", "Q", "<nop>")
vim.keymap.set("n", "q:", "<nop>") vim.keymap.set("n", "q:", "<nop>")
vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]] vim.cmd [[call nvim_create_user_command('W', 'w', {'nargs': 0})]]
vim.keymap.set("n", "QQ", ":q!<CR>")
-- vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]]) -- vim.keymap.set("n", "<leader>cb", [[:up | %bd | e#<CR>]])

View 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

View File

@@ -13,7 +13,7 @@ local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep local rep = require("luasnip.extras").rep
local line_begin = require("luasnip.extras.expand_conditions").line_begin local conds = require("luasnip.extras.expand_conditions")
--------------- ---------------
-- Environments -- Environments
@@ -90,7 +90,7 @@ s({trig="notes"},
) )
), ),
s({trig="beg"}, s({trig="beg", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta( fmta(
[[ [[
\begin{<>} \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"}, s({trig="sec"},
fmta( fmta(
[[ [[

View File

@@ -13,6 +13,7 @@ local d = ls.dynamic_node
local fmt = require("luasnip.extras.fmt").fmt local fmt = require("luasnip.extras.fmt").fmt
local fmta = require("luasnip.extras.fmt").fmta local fmta = require("luasnip.extras.fmt").fmta
local rep = require("luasnip.extras").rep local rep = require("luasnip.extras").rep
local conds = require("luasnip.extras.expand_conditions")
--------------- ---------------
@@ -56,7 +57,7 @@ end
return { return {
s({trig="ali", snippetType="autosnippet"}, s({trig="ali", wordTrig=true, snippetType="autosnippet", condition=conds.line_begin},
fmta( fmta(
[[ [[
\begin{align*} \begin{align*}
@@ -113,6 +114,21 @@ s({trig="matp"},
{condition = tex_utils.in_mathzone} {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"}, s({trig='([^%a])int', regTrig=true, wordTrig=false, snippetType="autosnippet"},
fmta( fmta(
[[<>\int_{<>}^{<>} <> d<> ]], [[<>\int_{<>}^{<>} <> d<> ]],
@@ -228,13 +244,13 @@ s({trig="([^%a])tt", regTrig=true, wordTrig=false, snippetType="autosnippet"},
{condition = tex_utils.in_mathzone} {condition = tex_utils.in_mathzone}
), ),
s({trig=".", snippetType="autosnippet"}, -- s({trig=".", snippetType="autosnippet"},
fmta( -- fmta(
[[\cdot ]], -- [[\cdot ]],
{} -- {}
), -- ),
{condition = tex_utils.in_mathzone} -- {condition = tex_utils.in_mathzone}
), -- ),
s({trig="$$", snippetType="autosnippet"}, s({trig="$$", snippetType="autosnippet"},
fmta( fmta(

View File

@@ -0,0 +1,9 @@
[books]
dir = ~/Documents/literature/books
[keyboard]
dir = ~/Documents/literature/keyboard
[settings]
default-library = keyboard

79
sway/.config/sway/config Normal file
View File

@@ -0,0 +1,79 @@
set $mod Mod4
set $term kitty
set $menu dmenu_path | wofi --show=run --matching | xargs swaymsg exec --
set $lock swaylock --screenshot --effect-blur 10x10 --effect-vignette 0.5:1 --ring-color 3c3836 --key-hl-color d65e0e -f
output * bg ~/.config/sway/wallpapers/mountains.jpg fill
output eDP-1 scale 1.4
bindswitch --reload --locked lid:on exec $lock
exec sway-audio-idle-inhibit
exec swayidle -w \
timeout 10 $lock \
timeout 20 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
before-sleep $lock
bindsym Control+Mod1+l exec $lock
bindsym Print exec grim -g "$(slurp -d)" - | wl-copy
bindsym $mod+p exec kitty -e /usr/bin/expect -c "spawn python; expect \\"*>>> \\"; send \\"import numpy as np\n\\"; send \\"import sympy as sp\n\\"; send \\"import torch\n\\"; interact"
bindsym $mod+Return exec $term
bindsym $mod+Shift+q kill
bindsym $mod+d exec $menu
floating_modifier $mod normal
bindsym $mod+Shift+c reload
bindsym $mod+Shift+e exec swaymsg exit
bar {
swaybar_command waybar
position top
}
bindsym XF86AudioRaiseVolume exec pulsemixer --change-volume +5 --max-volume 100 #increase sound volume
bindsym XF86AudioLowerVolume exec pulsemixer --change-volume -5 --max-volume 100 #decrease sound volume
bindsym Shift+XF86AudioRaiseVolume exec pulsemixer --change-volume +5 --max-volume 300 #increase sound volume
bindsym Shift+XF86AudioLowerVolume exec pulsemixer --change-volume -5 --max-volume 300 #decrease sound volume
bindsym XF86AudioMute exec 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 /bin/sh -c ~/.config/sway/scripts/increase_brightness
bindsym XF86MonBrightnessDown exec /bin/sh -c ~/.config/sway/scripts/decrease_brightness
bindsym $mod+c exec kitty -e python
for_window [title="blueman-manager"] floating enable
for_window [class="^.*"] border pixel 0
default_floating_border none
default_floating_border normal 0
hide_edge_borders smart
for_window [app_id="org.pwmt.zathura"] opacity 0.94
for_window [app_id="kitty"] opacity 0.94
exec_always --no-startup-id bash -c "killall flashfocus; flashfocus --flash-opacity 0.92 -l never"
gaps inner 15
smart_gaps on
bindsym $mod+g exec swaymsg gaps inner current toggle 15
# blur enable
# blur_radius 1
# blur_passes 4
# blur_noise 0.1
exec dbus-update-activation-environment DISPLAY
include ~/.config/sway/config.d/*

Some files were not shown because too many files have changed in this diff Show More