Merge branch 'master' of ssh://git.olympuslab.net:522/afonso/dotfiles
This commit is contained in:
commit
b05d6c1442
37 changed files with 990 additions and 921 deletions
BIN
.config/eww/background
Normal file
BIN
.config/eww/background
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 MiB |
25
.config/eww/eww.scss
Normal file
25
.config/eww/eww.scss
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
border-radius: 5%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btns-box {
|
||||||
|
padding: 10px;
|
||||||
|
background-color: #282a36;
|
||||||
|
font-family: FiraCode Nerd Font Mono;
|
||||||
|
font-size: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button{
|
||||||
|
border-radius: 5%;
|
||||||
|
outline-style: solid;
|
||||||
|
outline-color: #44475a;
|
||||||
|
outline-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button:hover{
|
||||||
|
background-color: #44475a;
|
||||||
|
}
|
24
.config/eww/eww.yuck
Normal file
24
.config/eww/eww.yuck
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
(defwindow powermenu
|
||||||
|
:stacking "fg"
|
||||||
|
:windowtype "dialog"
|
||||||
|
:wm-ignore true
|
||||||
|
:monitor 0
|
||||||
|
:geometry (geometry :anchor "center" :width "50%" :height "25%")
|
||||||
|
(powermenu_layout))
|
||||||
|
|
||||||
|
(defwidget powermenu_layout []
|
||||||
|
(_buttons :sleep "systemctl suspend"
|
||||||
|
:sleep_icon "⏾"
|
||||||
|
:poweroff "poweroff"
|
||||||
|
:poweroff_icon "⏻"
|
||||||
|
:reboot "reboot"
|
||||||
|
:reboot_icon ""
|
||||||
|
:logout "loginctl kill-session self"
|
||||||
|
:logout_icon ""))
|
||||||
|
|
||||||
|
(defwidget _buttons [sleep sleep_icon poweroff poweroff_icon reboot reboot_icon logout logout_icon]
|
||||||
|
(box :class "btns-box"
|
||||||
|
(button :class "button" :onclick sleep sleep_icon)
|
||||||
|
(button :class "button" :onclick poweroff poweroff_icon)
|
||||||
|
(button :class "button" :onclick reboot reboot_icon)
|
||||||
|
(button :class "button" :onclick logout logout_icon)))
|
|
@ -20,6 +20,10 @@ function launch-term
|
||||||
docker exec -it core xterm -bg black -fg white -fa 'DejaVu Sans Mono' -fs 16 -e vcmd -c /tmp/pycore.1/$argv -- sh -c "cd /rust-cc && /bin/bash"
|
docker exec -it core xterm -bg black -fg white -fa 'DejaVu Sans Mono' -fs 16 -e vcmd -c /tmp/pycore.1/$argv -- sh -c "cd /rust-cc && /bin/bash"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function cat
|
||||||
|
bat $argv
|
||||||
|
end
|
||||||
|
|
||||||
function core
|
function core
|
||||||
xhost +local:root
|
xhost +local:root
|
||||||
sudo docker exec -it core core-gui
|
sudo docker exec -it core core-gui
|
||||||
|
@ -42,11 +46,15 @@ function mónade
|
||||||
end
|
end
|
||||||
|
|
||||||
set -gx EDITOR vim
|
set -gx EDITOR vim
|
||||||
|
set -gx TERM 'xterm-256color'
|
||||||
|
|
||||||
|
fish_add_path $HOME/.nix-profile/bin
|
||||||
fish_add_path /var/lib/snapd/snap/bin
|
fish_add_path /var/lib/snapd/snap/bin
|
||||||
fish_add_path $HOME/.local/share/nvim/mason/bin
|
fish_add_path $HOME/.local/share/nvim/mason/bin
|
||||||
set -q GHCUP_INSTALL_BASE_PREFIX[1]; or set GHCUP_INSTALL_BASE_PREFIX $HOME ; set -gx PATH $HOME/.cabal/bin /home/afonso/.ghcup/bin $PATH # ghcup-env
|
#set -q GHCUP_INSTALL_BASE_PREFIX[1]; or set GHCUP_INSTALL_BASE_PREFIX $HOME ; set -gx PATH $HOME/.cabal/bin /home/afonso/.ghcup/bin $PATH # ghcup-env
|
||||||
fish_add_path /home/afonso/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin
|
fish_add_path /home/afonso/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin
|
||||||
fish_add_path $HOME/.local/bin
|
fish_add_path $HOME/.local/bin
|
||||||
fish_add_path $HOME/.cargo/bin
|
fish_add_path $HOME/.cargo/bin
|
||||||
|
|
||||||
|
|
||||||
|
set -q GHCUP_INSTALL_BASE_PREFIX[1]; or set GHCUP_INSTALL_BASE_PREFIX $HOME ; set -gx PATH $HOME/.cabal/bin /home/afonso/.ghcup/bin $PATH # ghcup-env
|
||||||
|
|
190
.config/hypr/hyprland.conf
Normal file
190
.config/hypr/hyprland.conf
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
|
||||||
|
########################################################################################
|
||||||
|
AUTOGENERATED HYPR CONFIG.
|
||||||
|
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||||
|
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
########################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor = DP-1,2560x1440@144, 0x0, 1
|
||||||
|
workspace = DP-1,1
|
||||||
|
monitor = HDMI-A-1,1920x1080@144,2560x0,1
|
||||||
|
workspace = HDMI-A-1,2
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 20
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(00ff99ee)
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
layout = master
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
blur = yes
|
||||||
|
blur_size = 3
|
||||||
|
blur_passes = 1
|
||||||
|
blur_new_optimizations = on
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = false
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||||
|
device:epic mouse V1 {
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
windowrulev2 = float,class:^(Gimp)$
|
||||||
|
windowrulev2 = float,class:^(QjackCtl)$
|
||||||
|
windowrulev2 = float,class:^(Steam - News)$
|
||||||
|
windowrulev2 = float,class:^(Friends List)$
|
||||||
|
windowrulev2 = workspace 2,class:^(firefox)$
|
||||||
|
windowrulev2 = workspace 5,class:^(discord)$
|
||||||
|
windowrulev2 = workspace 6,class:^(Mailspring)$
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, X, exec, alacritty
|
||||||
|
bind = $mainMod, Q, killactive
|
||||||
|
bind = $mainMod, P, exec, rofi -show drun
|
||||||
|
bind = $mainMod, S, exec, "selected=$(ls ~/scripts/|rofi -dmenu -p \"Run: \") && bash ~/.config/rofi/scripts/$selected"
|
||||||
|
bind = $mainMod, B, exec, firefox
|
||||||
|
bind = $mainMod SHIFT, U , exit,
|
||||||
|
bind = $mainMod , Return, layoutmsg , swapwithmaster
|
||||||
|
bind = ,Print, exec, flameshot gui
|
||||||
|
|
||||||
|
#Special Fn Keys
|
||||||
|
bind = ,XF86AudioMute, exec, pamixer set --toggle-mute
|
||||||
|
bind = ,XF86AudioLowerVolume, exec, pamixer -d 5
|
||||||
|
bind = ,XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||||
|
bind = ,XF86MonBrightnessUp, exec, lux -a 10%
|
||||||
|
bind = ,XF86MonBrightnessDown, exec, lux -s 10%
|
||||||
|
|
||||||
|
# Move focus with mainMod + vim arrow keys
|
||||||
|
bind = $mainMod, j, layoutmsg, cycleprev
|
||||||
|
bind = $mainMod, k, layoutmsg, cyclenext
|
||||||
|
bind = $mainMod SHIFT, j, layoutmsg, swapprev
|
||||||
|
bind = $mainMod SHIFT, k, layoutmsg, swapnext
|
||||||
|
bind = $mainMod, h, resizeactive, -50 0
|
||||||
|
bind = $mainMod, l, resizeactive, 50 0
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, moveworkspacetomonitor, 1 current
|
||||||
|
bind = $mainMod, 2, moveworkspacetomonitor, 2 current
|
||||||
|
bind = $mainMod, 3, moveworkspacetomonitor, 3 current
|
||||||
|
bind = $mainMod, 4, moveworkspacetomonitor, 4 current
|
||||||
|
bind = $mainMod, 5, moveworkspacetomonitor, 5 current
|
||||||
|
bind = $mainMod, 6, moveworkspacetomonitor, 6 current
|
||||||
|
bind = $mainMod, 7, moveworkspacetomonitor, 7 current
|
||||||
|
bind = $mainMod, 8, moveworkspacetomonitor, 8 current
|
||||||
|
bind = $mainMod, 9, moveworkspacetomonitor, 9 current
|
||||||
|
bind = $mainMod, 0, moveworkspacetomonitor, 10 current
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
#Move windows between monitors
|
||||||
|
bind = $mainMod SHIFT, w, movewindow, mon:-1
|
||||||
|
bind = $mainMod SHIFT, e, movewindow, mon:+1
|
||||||
|
|
||||||
|
#Move focus to monitor
|
||||||
|
bind = $mainMod , w, focusmonitor, -1
|
||||||
|
bind = $mainMod , e, focusmonitor, +1
|
||||||
|
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
41
.config/kmonad/config.kbd
Normal file
41
.config/kmonad/config.kbd
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
(defcfg
|
||||||
|
input (device-file "/dev/input/by-id/usb-Kingston_HyperX_Alloy_FPS_Pro_Mechanical_Gaming_Keyboard-event-kbd")
|
||||||
|
output (uinput-sink "My KMonad output")
|
||||||
|
allow-cmd true
|
||||||
|
fallthrough true
|
||||||
|
)
|
||||||
|
|
||||||
|
#| SET DEFAULT LAYOUT |#
|
||||||
|
|
||||||
|
(defsrc
|
||||||
|
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
|
||||||
|
tab q w e r t y u i o p [ ] \ del end pgdn
|
||||||
|
caps a s d f g h j k l ; ' ret
|
||||||
|
lsft z x c v b n m , . / rsft up
|
||||||
|
lctl lmet lalt spc ralt rmet cmp rctl left down rght
|
||||||
|
)
|
||||||
|
|
||||||
|
#| SET KEY TO LAYOUT |#
|
||||||
|
|
||||||
|
(defalias esc (tap-hold 200 esc (layer-toggle numrow)))
|
||||||
|
|
||||||
|
#| LAYOUTS |#
|
||||||
|
|
||||||
|
(deflayer base
|
||||||
|
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 ssrq slck pause
|
||||||
|
grv 1 2 3 4 5 6 7 8 9 0 - = bspc ins home pgup
|
||||||
|
tab q w e r t y u i o p [ ] \ del end pgdn
|
||||||
|
@esc a s d f g h j k l ; ' ret
|
||||||
|
lsft z x c v b n m , . / rsft up
|
||||||
|
lctl lmet lalt spc ralt rmet cmp rctl left down rght
|
||||||
|
)
|
||||||
|
|
||||||
|
(deflayer numrow
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ 1 2 3 4 5 6 7 8 9 0 _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
||||||
|
_ _ _ _ _ _ _ _ _ _ _
|
||||||
|
)
|
|
@ -1,149 +0,0 @@
|
||||||
snippet templateHs "Start file with template"
|
|
||||||
\documentclass{article}
|
|
||||||
|
|
||||||
%imports
|
|
||||||
%include polycode.fmt
|
|
||||||
%format (cond (p) (f) (g)) = "\mcond{" p "}{" f "}{" g "}"
|
|
||||||
%format (div (x)(y)) = x "\div " y
|
|
||||||
%format succ = "\succ "
|
|
||||||
%format ==> = "\Longrightarrow "
|
|
||||||
%format map = "\map "
|
|
||||||
%format length = "\length "
|
|
||||||
%format fst = "\p1"
|
|
||||||
%format p1 = "\p1"
|
|
||||||
%format snd = "\p2"
|
|
||||||
%format p2 = "\p2"
|
|
||||||
%format Left = "i_1"
|
|
||||||
%format Right = "i_2"
|
|
||||||
%format i1 = "i_1"
|
|
||||||
%format i2 = "i_2"
|
|
||||||
%format >< = "\times"
|
|
||||||
%format >|< = "\bowtie "
|
|
||||||
%format |-> = "\mapsto"
|
|
||||||
%format . = "\comp "
|
|
||||||
%format .=?=. = "\mathbin{\stackrel{\mathrm{?}}{=}}"
|
|
||||||
%format (kcomp (f)(g)) = f "\kcomp " g
|
|
||||||
%format -|- = "+"
|
|
||||||
%format conc = "\mathsf{conc}"
|
|
||||||
%format summation = "{\sum}"
|
|
||||||
%format (either (a) (b)) = "\alt{" a "}{" b "}"
|
|
||||||
%format (frac (a) (b)) = "\frac{" a "}{" b "}"
|
|
||||||
%format (uncurry f) = "\uncurry{" f "}"
|
|
||||||
%format (const (f)) = "\underline{" f "}"
|
|
||||||
%format TLTree = "\mathsf{TLTree}"
|
|
||||||
%format (lcbr (x)(y)) = "\begin{lcbr}" x "\\" y "\end{lcbr}"
|
|
||||||
%format (split (x) (y)) = "\conj{" x "}{" y "}"
|
|
||||||
%format (for (f) (i)) = "\for{" f "}\ {" i "}"
|
|
||||||
%format B_tree = "\mathsf{B}\mbox{-}\mathsf{tree} "
|
|
||||||
\def\ana#1{\mathopen{[\!(}#1\mathclose{)\!]}}
|
|
||||||
%format <$> = "\mathbin{\mathopen{\langle}\$\mathclose{\rangle}}"
|
|
||||||
%format Either a b = a "+" b
|
|
||||||
%format fmap = "\mathsf{fmap}"
|
|
||||||
%format NA = "\textsc{na}"
|
|
||||||
%format NB = "\textsc{nb}"
|
|
||||||
%format inT = "\mathsf{in}"
|
|
||||||
%format outT = "\mathsf{out}"
|
|
||||||
%format outLTree = "\mathsf{out}"
|
|
||||||
%format inLTree = "\mathsf{in}"
|
|
||||||
%format inFTree = "\mathsf{in}"
|
|
||||||
%format outFTree = "\mathsf{out}"
|
|
||||||
%format Null = "1"
|
|
||||||
%format (Prod (a) (b)) = a >< b
|
|
||||||
%format fF = "\fun F "
|
|
||||||
%format k1 = "k_1 "
|
|
||||||
%format k2 = "k_2 "
|
|
||||||
%format h1 = "h_1 "
|
|
||||||
%format h2 = "h_2 "
|
|
||||||
%format f1 = "f_1 "
|
|
||||||
%format f2 = "f_2 "
|
|
||||||
%format l1 = "l_1 "
|
|
||||||
%format map1 = "map_1 "
|
|
||||||
%format map2 = "map_2 "
|
|
||||||
%format map3 = "map_3"
|
|
||||||
%format l2 = "l_2 "
|
|
||||||
%format Dist = "\fun{Dist}"
|
|
||||||
%format IO = "\fun{IO}"
|
|
||||||
%format LTree = "{\LTree}"
|
|
||||||
%format FTree = "{\FTree}"
|
|
||||||
%format inNat = "\mathsf{in}"
|
|
||||||
%format (cata (f)) = "\cata{" f "}"
|
|
||||||
%format (cataNat (g)) = "\cataNat{" g "}"
|
|
||||||
%format (cataList (g)) = "\cataList{" g "}"
|
|
||||||
%format (anaList (g)) = "\anaList{" g "}"
|
|
||||||
%format Nat0 = "\N_0"
|
|
||||||
%format Rational = "\Q "
|
|
||||||
%format toRational = " to_\Q "
|
|
||||||
%format fromRational = " from_\Q "
|
|
||||||
%format muB = "\mu "
|
|
||||||
%format (frac (n)(m)) = "\frac{" n "}{" m "}"
|
|
||||||
%format (fac (n)) = "{" n "!}"
|
|
||||||
%format (underbrace (t) (p)) = "\underbrace{" t "}_{" p "}"
|
|
||||||
%format matrix = "matrix"
|
|
||||||
%%format (bin (n) (k)) = "\Big(\vcenter{\xymatrix@R=1pt{" n "\\" k "}}\Big)"
|
|
||||||
%format `ominus` = "\mathbin{\ominus}"
|
|
||||||
%format % = "\mathbin{/}"
|
|
||||||
%format <-> = "{\,\leftrightarrow\,}"
|
|
||||||
%format <|> = "{\,\updownarrow\,}"
|
|
||||||
%format `minusNat`= "\mathbin{-}"
|
|
||||||
%format ==> = "\Rightarrow"
|
|
||||||
%format .==>. = "\Rightarrow"
|
|
||||||
%format .<==>. = "\Leftrightarrow"
|
|
||||||
%format .==. = "\equiv"
|
|
||||||
%format .<=. = "\leq"
|
|
||||||
%format .&&&. = "\wedge"
|
|
||||||
%format cdots = "\cdots "
|
|
||||||
%format pi = "\pi "
|
|
||||||
%format (curry (f)) = "\overline{" f "}"
|
|
||||||
%format (cataLTree (x)) = "\llparenthesis\, " x "\,\rrparenthesis"
|
|
||||||
%format (cataFTree (x)) = "\llparenthesis\, " x "\,\rrparenthesis"
|
|
||||||
%format (anaLTree (x)) = "\mathopen{[\!(}" x "\mathclose{)\!]}"
|
|
||||||
%format delta = "\Delta "
|
|
||||||
%format (plus (f)(g)) = "{" f "}\plus{" g "}"
|
|
||||||
%format ++ = "\mathbin{+\!\!\!+}"
|
|
||||||
%format Integer = "\mathbb{Z}"
|
|
||||||
\def\plus{\mathbin{\dagger}}
|
|
||||||
\usepackage[all]{xy}
|
|
||||||
\usepackage{mathtools}
|
|
||||||
\usepackage[a4paper,left=3cm,right=2cm,top=2.5cm,bottom=2.5cm]{geometry}
|
|
||||||
\usepackage{palatino}
|
|
||||||
\usepackage[colorlinks=true,linkcolor=blue,citecolor=blue]{hyperref}
|
|
||||||
\usepackage{graphicx}
|
|
||||||
\usepackage{cp2122t}
|
|
||||||
\usepackage{subcaption}
|
|
||||||
\usepackage{adjustbox}
|
|
||||||
\usepackage{color}
|
|
||||||
|
|
||||||
|
|
||||||
\title{\Huge{Some Class}}
|
|
||||||
\author{\huge{Afonso Franco}}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
|
|
||||||
\maketitle
|
|
||||||
\newpage
|
|
||||||
|
|
||||||
\tableofcontents
|
|
||||||
\pagebreak
|
|
||||||
|
|
||||||
$1
|
|
||||||
|
|
||||||
\end{document}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet rule "Add CP rule"
|
|
||||||
\equiv \\{\text{Propriedade ${1:Nome/Numero}}\\}\\\\
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet split "Add CP split"
|
|
||||||
\langle $1 \rangle
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet diagram "Create diagram template"
|
|
||||||
\xymatrix{
|
|
||||||
$1
|
|
||||||
}
|
|
||||||
endsnippet
|
|
||||||
|
|
||||||
snippet arrow "Create arrow in diagram"
|
|
||||||
\ar[${1:direction}]^{${2:functions}}
|
|
||||||
endsnippet
|
|
4
.config/nvim/ftdetect/hypr.vim
Normal file
4
.config/nvim/ftdetect/hypr.vim
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
augroup hypr_ftdetect
|
||||||
|
au!
|
||||||
|
au BufRead,BufNewFile *hypr/*.conf,*hypr/*/*.conf set ft=hypr
|
||||||
|
augroup END
|
1
.config/nvim/ftplugin/haskell.lua
Normal file
1
.config/nvim/ftplugin/haskell.lua
Normal file
|
@ -0,0 +1 @@
|
||||||
|
vim.opt_local.formatprg = "floskell --style chris-done"
|
1
.config/nvim/ftplugin/hypr.vim
Normal file
1
.config/nvim/ftplugin/hypr.vim
Normal file
|
@ -0,0 +1 @@
|
||||||
|
setlocal commentstring=#\ %s
|
|
@ -1,23 +1,3 @@
|
||||||
|
require("core.variables")
|
||||||
|
require('core.package_manager')
|
||||||
local install_path = vim.fn.stdpath("data").."/site/pack/packer/start/packer.nvim"
|
|
||||||
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
|
||||||
print("Downloading Packer ...")
|
|
||||||
vim.fn.system({"git", "clone", "https://github.com/wbthomason/packer.nvim", install_path})
|
|
||||||
vim.api.nvim_command("packadd packer.nvim")
|
|
||||||
require("plugins.packer")
|
|
||||||
require("packer").sync()
|
|
||||||
end
|
|
||||||
|
|
||||||
require('impatient')
|
require('impatient')
|
||||||
require('plugins.theme')
|
|
||||||
|
|
||||||
Config = {
|
|
||||||
theme="onedark",
|
|
||||||
statusline = {
|
|
||||||
minimal = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- Mapping
|
|
||||||
require("mappings")
|
|
||||||
|
|
37
.config/nvim/lazy-lock.json
Normal file
37
.config/nvim/lazy-lock.json
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
"LuaSnip": { "branch": "master", "commit": "3181cef8a5c6a71f263a28e61651233d7a7afeb2" },
|
||||||
|
"bufferline.nvim": { "branch": "main", "commit": "028a87933d99f8bb88f2f70a4def3ff9574f3594" },
|
||||||
|
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||||
|
"cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" },
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" },
|
||||||
|
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "d2768cb1b83de649d57d967085fe73c5e01f8fd7" },
|
||||||
|
"cmp-nvim-lua": { "branch": "main", "commit": "f3491638d123cfd2c8048aefaf66d246ff250ca6" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
|
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" },
|
||||||
|
"dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" },
|
||||||
|
"fidget.nvim": { "branch": "main", "commit": "44585a0c0085765195e6961c15529ba6c5a2a13b" },
|
||||||
|
"friendly-snippets": { "branch": "main", "commit": "046e4d3491baf664e0eef5231d28beb49333578b" },
|
||||||
|
"impatient.nvim": { "branch": "main", "commit": "c90e273f7b8c50a02f956c24ce4804a47f18162e" },
|
||||||
|
"kmonad-vim": { "branch": "master", "commit": "37978445197ab00edeb5b731e9ca90c2b141723f" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "15fe46a728b7473d4cae368838bbc1c79c3a3f48" },
|
||||||
|
"leap.nvim": { "branch": "main", "commit": "ff4c3663e5a0a0ecbb3fffbc8318825def35d2aa" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "c29f9a9f9b01528ca6a44cd14814f5af20778f7a" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "e7303a1632c004ebd2dcd0be1aaa4354586c030b" },
|
||||||
|
"null-ls.nvim": { "branch": "main", "commit": "2ff0a4ed1985d04bae3f21915ee0b1be3932c164" },
|
||||||
|
"nvim": { "branch": "main", "commit": "6368edcd0b5e5cb5d9fb7cdee9d62cffe3e14f0e" },
|
||||||
|
"nvim-autopairs": { "branch": "master", "commit": "31042a5823b55c4bfb30efcbba2fc1b5b53f90dc" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "11a95792a5be0f5a40bab5fc5b670e5b1399a939" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "1d3203b4c39ea5ec63cf1271d9e3b14a91706897" },
|
||||||
|
"nvim-treesitter": { "branch": "master", "commit": "d508f9aceb8f1e3138aaea60ca5610a24d6561b6" },
|
||||||
|
"nvim-treesitter-context": { "branch": "master", "commit": "cacee4828152dd3a83736169ae61bbcd29a3d213" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "3548363849878ef895ce54edda02421279b419d8" },
|
||||||
|
"onedark.vim": { "branch": "main", "commit": "b6b5ffe31a195a3077338d7a506b905e4a51590f" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "1c7e3e6b0f4dd5a174fcea9fda8a4d7de593b826" },
|
||||||
|
"startup.nvim": { "branch": "master", "commit": "b060480d2e647534faf70fa1263fe7623b77b0ce" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "b79cd6c88b3d96b0f49cb7d240807cd59b610cd8" },
|
||||||
|
"vim-surround": { "branch": "master", "commit": "3d188ed2113431cf8dac77be61b842acb64433d9" },
|
||||||
|
"vimtex": { "branch": "master", "commit": "c77ec4e15768ffcb97a96d1bf2df1ef58e94acdd" },
|
||||||
|
"yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" },
|
||||||
|
"zen-mode.nvim": { "branch": "main", "commit": "2c8f9f3758a4c430ff867e547741424ac16208bb" }
|
||||||
|
}
|
17
.config/nvim/lua/core/package_manager.lua
Normal file
17
.config/nvim/lua/core/package_manager.lua
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
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)
|
||||||
|
|
||||||
|
--Call lazy config here
|
||||||
|
require('plugins.lazy')
|
32
.config/nvim/lua/core/variables.lua
Normal file
32
.config/nvim/lua/core/variables.lua
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
--Leader
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
--termguicolors
|
||||||
|
vim.opt.termguicolors = true
|
||||||
|
--Relative line numbers
|
||||||
|
vim.wo.number=true
|
||||||
|
vim.wo.relativenumber= true
|
||||||
|
--Remove search highlight
|
||||||
|
vim.opt.hlsearch = false
|
||||||
|
vim.opt.incsearch = true
|
||||||
|
vim.opt.smartindent = true
|
||||||
|
--Move lines
|
||||||
|
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||||
|
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||||
|
--Remove Wrap
|
||||||
|
vim.opt.wrap = false
|
||||||
|
--Not let cursor go bellow 10 chars.
|
||||||
|
vim.opt.scrolloff = 10
|
||||||
|
--4 space indent
|
||||||
|
vim.opt.tabstop = 4
|
||||||
|
vim.opt.softtabstop = 4
|
||||||
|
vim.opt.shiftwidth = 4
|
||||||
|
vim.opt.expandtab = true
|
||||||
|
--quickfix keybinds
|
||||||
|
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
||||||
|
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
||||||
|
--Undo dir
|
||||||
|
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
||||||
|
vim.opt.undofile = true
|
||||||
|
--Org mode hide links
|
||||||
|
vim.opt.conceallevel = 2
|
||||||
|
vim.opt.concealcursor = 'nc'
|
|
@ -1,64 +0,0 @@
|
||||||
--Leader
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
--Relative line numbers
|
|
||||||
vim.wo.number=true
|
|
||||||
vim.wo.relativenumber= true
|
|
||||||
--Remove search highlight
|
|
||||||
vim.opt.hlsearch = false
|
|
||||||
vim.opt.incsearch = true
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
--Move lines
|
|
||||||
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
|
||||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
|
||||||
--Remove Wrap
|
|
||||||
vim.opt.wrap = false
|
|
||||||
--Not let cursor go bellow 10 chars.
|
|
||||||
vim.opt.scrolloff = 10
|
|
||||||
--4 space indent
|
|
||||||
vim.opt.tabstop = 4
|
|
||||||
vim.opt.softtabstop = 4
|
|
||||||
vim.opt.shiftwidth = 4
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
--quickfix keybinds
|
|
||||||
vim.keymap.set("n", "<C-k>", "<cmd>cnext<CR>zz")
|
|
||||||
vim.keymap.set("n", "<C-j>", "<cmd>cprev<CR>zz")
|
|
||||||
--Undo dir
|
|
||||||
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
|
|
||||||
vim.opt.undofile = true
|
|
||||||
--TAB KEYBINDINGS
|
|
||||||
local map = vim.api.nvim_set_keymap
|
|
||||||
local opts = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
-- Move to previous/next
|
|
||||||
map('n', '<A-,>', '<Cmd>BufferPrevious<CR>', opts)
|
|
||||||
map('n', '<A-.>', '<Cmd>BufferNext<CR>', opts)
|
|
||||||
-- Re-order to previous/next
|
|
||||||
map('n', '<A-<>', '<Cmd>BufferMovePrevious<CR>', opts)
|
|
||||||
map('n', '<A->>', '<Cmd>BufferMoveNext<CR>', opts)
|
|
||||||
-- Goto buffer in position...
|
|
||||||
map('n', '<A-1>', '<Cmd>BufferGoto 1<CR>', opts)
|
|
||||||
map('n', '<A-2>', '<Cmd>BufferGoto 2<CR>', opts)
|
|
||||||
map('n', '<A-3>', '<Cmd>BufferGoto 3<CR>', opts)
|
|
||||||
map('n', '<A-4>', '<Cmd>BufferGoto 4<CR>', opts)
|
|
||||||
map('n', '<A-5>', '<Cmd>BufferGoto 5<CR>', opts)
|
|
||||||
map('n', '<A-6>', '<Cmd>BufferGoto 6<CR>', opts)
|
|
||||||
map('n', '<A-7>', '<Cmd>BufferGoto 7<CR>', opts)
|
|
||||||
map('n', '<A-8>', '<Cmd>BufferGoto 8<CR>', opts)
|
|
||||||
map('n', '<A-9>', '<Cmd>BufferGoto 9<CR>', opts)
|
|
||||||
map('n', '<A-0>', '<Cmd>BufferLast<CR>', opts)
|
|
||||||
-- Pin/unpin buffer
|
|
||||||
map('n', '<A-p>', '<Cmd>BufferPin<CR>', opts)
|
|
||||||
-- Close buffer
|
|
||||||
map('n', '<A-c>', '<Cmd>BufferClose<CR>', opts)
|
|
||||||
-- Magic buffer-picking mode
|
|
||||||
map('n', '<C-p>', '<Cmd>BufferPick<CR>', opts)
|
|
||||||
-- Sort automatically by...
|
|
||||||
map('n', '<Space>bb', '<Cmd>BufferOrderByBufferNumber<CR>', opts)
|
|
||||||
map('n', '<Space>bd', '<Cmd>BufferOrderByDirectory<CR>', opts)
|
|
||||||
map('n', '<Space>bl', '<Cmd>BufferOrderByLanguage<CR>', opts)
|
|
||||||
map('n', '<Space>bw', '<Cmd>BufferOrderByWindowNumber<CR>', opts)
|
|
||||||
|
|
||||||
--NVimTree
|
|
||||||
map('n', '<C-n>', '<Cmd>NvimTreeToggle<CR>',opts)
|
|
||||||
|
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
-- Set barbar's options
|
|
||||||
require'bufferline'.setup {
|
|
||||||
-- Enable/disable animations
|
|
||||||
animation = true,
|
|
||||||
|
|
||||||
-- Enable/disable auto-hiding the tab bar when there is a single buffer
|
|
||||||
auto_hide = false,
|
|
||||||
|
|
||||||
-- Enable/disable current/total tabpages indicator (top right corner)
|
|
||||||
tabpages = true,
|
|
||||||
|
|
||||||
-- Enable/disable close button
|
|
||||||
closable = true,
|
|
||||||
|
|
||||||
-- Enables/disable clickable tabs
|
|
||||||
-- - left-click: go to buffer
|
|
||||||
-- - middle-click: delete buffer
|
|
||||||
clickable = true,
|
|
||||||
|
|
||||||
-- Excludes buffers from the tabline
|
|
||||||
exclude_ft = {'javascript'},
|
|
||||||
exclude_name = {'package.json'},
|
|
||||||
|
|
||||||
-- Show every buffer
|
|
||||||
hide = {current = false, inactive = false, visible = false},
|
|
||||||
|
|
||||||
|
|
||||||
-- Enable/disable icons
|
|
||||||
-- if set to 'numbers', will show buffer index in the tabline
|
|
||||||
-- if set to 'both', will show buffer index and icons in the tabline
|
|
||||||
icons = true,
|
|
||||||
|
|
||||||
-- If set, the icon color will follow its corresponding buffer
|
|
||||||
-- highlight group. By default, the Buffer*Icon group is linked to the
|
|
||||||
-- Buffer* group (see Highlighting below). Otherwise, it will take its
|
|
||||||
-- default value as defined by devicons.
|
|
||||||
icon_custom_colors = false,
|
|
||||||
|
|
||||||
-- Configure icons on the bufferline.
|
|
||||||
icon_separator_active = '▎',
|
|
||||||
icon_separator_inactive = '▎',
|
|
||||||
icon_close_tab = '',
|
|
||||||
icon_close_tab_modified = '●',
|
|
||||||
icon_pinned = '車',
|
|
||||||
|
|
||||||
-- If true, new buffers will be inserted at the start/end of the list.
|
|
||||||
-- Default is to insert after current buffer.
|
|
||||||
insert_at_end = false,
|
|
||||||
insert_at_start = false,
|
|
||||||
|
|
||||||
-- Sets the maximum padding width with which to surround each tab
|
|
||||||
maximum_padding = 1,
|
|
||||||
|
|
||||||
-- Sets the minimum padding width with which to surround each tab
|
|
||||||
minimum_padding = 1,
|
|
||||||
|
|
||||||
-- Sets the maximum buffer name length.
|
|
||||||
maximum_length = 30,
|
|
||||||
|
|
||||||
-- If set, the letters for each buffer in buffer-pick mode will be
|
|
||||||
-- assigned based on their name. Otherwise or in case all letters are
|
|
||||||
-- already assigned, the behavior is to assign letters in order of
|
|
||||||
-- usability (see order below)
|
|
||||||
semantic_letters = true,
|
|
||||||
|
|
||||||
-- New buffer letters are assigned in this order. This order is
|
|
||||||
-- optimal for the qwerty keyboard layout but might need adjustement
|
|
||||||
-- for other layouts.
|
|
||||||
letters = 'asdfjkl;ghnmxcvbziowerutyqpASDFJKLGHNMXCVBZIOWERUTYQP',
|
|
||||||
|
|
||||||
-- Sets the name of unnamed buffers. By default format is "[Buffer X]"
|
|
||||||
-- where X is the buffer number. But only a static string is accepted here.
|
|
||||||
no_name_title = nil,
|
|
||||||
}
|
|
76
.config/nvim/lua/plugins/bufferline.lua
Normal file
76
.config/nvim/lua/plugins/bufferline.lua
Normal file
|
@ -0,0 +1,76 @@
|
||||||
|
--KEYBINDINGS
|
||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
local opts = { noremap = true, silent = true }
|
||||||
|
|
||||||
|
-- Move to previous/next
|
||||||
|
map('n', '<A-,>', '<Cmd>BufferLineCyclePrev<CR>', opts)
|
||||||
|
map('n', '<A-.>', '<Cmd>BufferLineCycleNext<CR>', opts)
|
||||||
|
-- Re-order to previous/next
|
||||||
|
map('n', '<A-<>', '<Cmd>BufferLineMovePrevious<CR>', opts)
|
||||||
|
map('n', '<A->>', '<Cmd>BufferLineMoveNext<CR>', opts)
|
||||||
|
-- Goto buffer in position...
|
||||||
|
map('n', '<A-1>', '<Cmd>BufferLineGoToBuffer 1<CR>', opts)
|
||||||
|
map('n', '<A-2>', '<Cmd>BufferLineGoToBuffer 2<CR>', opts)
|
||||||
|
map('n', '<A-3>', '<Cmd>BufferLineGoToBuffer 3<CR>', opts)
|
||||||
|
map('n', '<A-4>', '<Cmd>BufferLineGoToBuffer 4<CR>', opts)
|
||||||
|
map('n', '<A-5>', '<Cmd>BufferLineGoToBuffer 5<CR>', opts)
|
||||||
|
map('n', '<A-6>', '<Cmd>BufferLineGoToBuffer 6<CR>', opts)
|
||||||
|
map('n', '<A-7>', '<Cmd>BufferLineGoToBuffer 7<CR>', opts)
|
||||||
|
map('n', '<A-8>', '<Cmd>BufferLineGoToBuffer 8<CR>', opts)
|
||||||
|
map('n', '<A-9>', '<Cmd>BufferLineGoToBuffer 9<CR>', opts)
|
||||||
|
-- Close buffer
|
||||||
|
map('n', '<A-c>', '<Cmd>BufferLinePickClose<CR>', opts)
|
||||||
|
|
||||||
|
-- Set bufferline's options
|
||||||
|
require("bufferline").setup({
|
||||||
|
options = {
|
||||||
|
mode = "buffers",
|
||||||
|
numbers = "none",
|
||||||
|
close_command = "bdelete! %d",
|
||||||
|
right_mouse_command = "bdelete! %d",
|
||||||
|
left_mouse_command = "buffer %d",
|
||||||
|
middle_mouse_command = "bdelete! %d",
|
||||||
|
indicator = {
|
||||||
|
icon = "▎",
|
||||||
|
style = "icon",
|
||||||
|
},
|
||||||
|
buffer_close_icon = '',
|
||||||
|
modified_icon = '●',
|
||||||
|
close_icon = '',
|
||||||
|
left_trunc_marker = '',
|
||||||
|
right_trunc_marker = '',
|
||||||
|
max_name_length = 18,
|
||||||
|
max_prefix_length = 15,
|
||||||
|
truncate_names = true,
|
||||||
|
tab_size = 18,
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
diagnostics_update_in_insert = true,
|
||||||
|
diagnostics_indicator = function(count, level, diagnostics_dict, context)
|
||||||
|
return "(" .. count .. ")"
|
||||||
|
end,
|
||||||
|
color_icons = true,
|
||||||
|
show_buffer_icons = true,
|
||||||
|
show_buffer_close_icons = true,
|
||||||
|
show_buffer_default_icon = true,
|
||||||
|
show_close_icon = true,
|
||||||
|
show_tab_indicators = true,
|
||||||
|
show_duplicate_prefix = true,
|
||||||
|
persist_buffer_sort = true,
|
||||||
|
separator_style = "slant",
|
||||||
|
enforce_regular_tabs = true,
|
||||||
|
always_show_bufferline = true,
|
||||||
|
hover = {
|
||||||
|
enabled = true,
|
||||||
|
delay = 200,
|
||||||
|
reveal = { 'close' }
|
||||||
|
},
|
||||||
|
sort_by = 'insert_after_current',
|
||||||
|
custom_filter = function(buf_number, buf_numbers)
|
||||||
|
-- filter out filetypes you don't want to see
|
||||||
|
if vim.bo[buf_number].filetype ~= "" then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
highlights = require("catppuccin.groups.integrations.bufferline").get()
|
||||||
|
})
|
41
.config/nvim/lua/plugins/catppuccin.lua
Normal file
41
.config/nvim/lua/plugins/catppuccin.lua
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
--local colorscheme = "onedark"
|
||||||
|
|
||||||
|
require("catppuccin").setup({
|
||||||
|
flavour = "frappe", -- latte, frappe, macchiato, mocha
|
||||||
|
styles = {
|
||||||
|
comments = { "italic" },
|
||||||
|
conditionals = { "italic" },
|
||||||
|
},
|
||||||
|
integrations = {
|
||||||
|
cmp = true,
|
||||||
|
treesitter = true,
|
||||||
|
treesitter_context = true,
|
||||||
|
fidget = true,
|
||||||
|
telescope = true,
|
||||||
|
leap = true,
|
||||||
|
mason = true,
|
||||||
|
native_lsp = {
|
||||||
|
enabled = true,
|
||||||
|
virtual_text = {
|
||||||
|
errors = { "italic" },
|
||||||
|
hints = { "italic" },
|
||||||
|
warnings = { "italic" },
|
||||||
|
information = { "italic" },
|
||||||
|
},
|
||||||
|
underlines = {
|
||||||
|
errors = { "underline" },
|
||||||
|
hints = { "underline" },
|
||||||
|
warnings = { "underline" },
|
||||||
|
information = { "underline" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
local colorscheme = "catppuccin"
|
||||||
|
|
||||||
|
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
|
||||||
|
if not status_ok then
|
||||||
|
return
|
||||||
|
end
|
|
@ -52,8 +52,6 @@ cmp.setup {
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
mapping = {
|
mapping = {
|
||||||
["<C-k>"] = cmp.mapping.select_prev_item(),
|
|
||||||
["<C-j>"] = cmp.mapping.select_next_item(),
|
|
||||||
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
|
||||||
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
|
||||||
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
|
||||||
|
@ -62,13 +60,10 @@ cmp.setup {
|
||||||
i = cmp.mapping.abort(),
|
i = cmp.mapping.abort(),
|
||||||
c = cmp.mapping.close(),
|
c = cmp.mapping.close(),
|
||||||
},
|
},
|
||||||
-- Accept currently selected item. If none selected, `select` first item.
|
-- Accept currently selected item. If none selected, do nothing.
|
||||||
-- Set `select` to `false` to only confirm explicitly selected items.
|
["<CR>"] = cmp.mapping.confirm { select = false },
|
||||||
["<CR>"] = cmp.mapping.confirm { select = true },
|
["<C-k>"] = cmp.mapping(function(fallback)
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
if luasnip.expandable() then
|
||||||
if cmp.visible() then
|
|
||||||
cmp.select_next_item()
|
|
||||||
elseif luasnip.expandable() then
|
|
||||||
luasnip.expand()
|
luasnip.expand()
|
||||||
elseif luasnip.expand_or_jumpable() then
|
elseif luasnip.expand_or_jumpable() then
|
||||||
luasnip.expand_or_jump()
|
luasnip.expand_or_jump()
|
||||||
|
@ -77,6 +72,21 @@ cmp.setup {
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
|
end),
|
||||||
|
["<C-j>"] = cmp.mapping(function(fallback)
|
||||||
|
if luasnip.jumpable(-1) then
|
||||||
|
luasnip.jump(-1)
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
),
|
||||||
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
if cmp.visible() then
|
||||||
|
cmp.select_next_item()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
end, {
|
end, {
|
||||||
"i",
|
"i",
|
||||||
"s",
|
"s",
|
||||||
|
@ -84,8 +94,6 @@ cmp.setup {
|
||||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
cmp.select_prev_item()
|
cmp.select_prev_item()
|
||||||
elseif luasnip.jumpable(-1) then
|
|
||||||
luasnip.jump(-1)
|
|
||||||
else
|
else
|
||||||
fallback()
|
fallback()
|
||||||
end
|
end
|
||||||
|
@ -125,8 +133,7 @@ cmp.setup {
|
||||||
local kind = entry:get_kind()
|
local kind = entry:get_kind()
|
||||||
local line = context.cursor_line
|
local line = context.cursor_line
|
||||||
local col = context.cursor.col
|
local col = context.cursor.col
|
||||||
local char_before_cursor = string.sub(line, col - 1, col)
|
local char_before_cursor = string.sub(line, col - 1, col - 1)
|
||||||
|
|
||||||
|
|
||||||
if char_before_cursor == "." then
|
if char_before_cursor == "." then
|
||||||
if kind == 2 or kind == 5 then
|
if kind == 2 or kind == 5 then
|
||||||
|
@ -144,13 +151,16 @@ cmp.setup {
|
||||||
|
|
||||||
},
|
},
|
||||||
{ name = 'nvim_lua' },
|
{ name = 'nvim_lua' },
|
||||||
{ name = 'luasnip'},
|
{ name = 'luasnip' },
|
||||||
{ name = 'nvim_lsp_signature_help' },
|
{ name = 'nvim_lsp_signature_help' },
|
||||||
{ name = "path" },
|
{ name = "path" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
--This sources will only show up if there aren't any sources from the other list
|
--This sources will only show up if there aren't any sources from the other list
|
||||||
{ name = "buffer", keyword_length = 5 },
|
{ name = "buffer", keyword_length = 5 },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
{ name = "orgmode" }
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
confirm_opts = {
|
confirm_opts = {
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
vim.g.coq_settings = {
|
|
||||||
auto_start = 'shut-up',
|
|
||||||
clients = {
|
|
||||||
tmux = { enabled = false },
|
|
||||||
},
|
|
||||||
}
|
|
153
.config/nvim/lua/plugins/lazy.lua
Normal file
153
.config/nvim/lua/plugins/lazy.lua
Normal file
|
@ -0,0 +1,153 @@
|
||||||
|
local lazy = require('lazy')
|
||||||
|
|
||||||
|
lazy.setup({
|
||||||
|
|
||||||
|
'lewis6991/impatient.nvim',
|
||||||
|
|
||||||
|
-------------------------------------------THEMES------------------------------------------
|
||||||
|
'joshdick/onedark.vim',
|
||||||
|
{ 'catppuccin/nvim',
|
||||||
|
lazy = false,
|
||||||
|
priority = 1000,
|
||||||
|
config = function()
|
||||||
|
require('plugins.catppuccin')
|
||||||
|
end
|
||||||
|
},
|
||||||
|
-------------------------------------------------------QOL---------------------------------
|
||||||
|
--better navigation with 's-letter'
|
||||||
|
{ 'ggandor/leap.nvim',
|
||||||
|
config = function()
|
||||||
|
require('leap').add_default_mappings()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'folke/zen-mode.nvim',
|
||||||
|
config = function()
|
||||||
|
require("zen-mode").setup {
|
||||||
|
vim.keymap.set('n', '<leader>z', '<Cmd> ZenMode <CR>',{noremap=true,silent=true})
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
--Change add and remove surroundings from words
|
||||||
|
'tpope/vim-surround',
|
||||||
|
|
||||||
|
-- Rename variable pop up
|
||||||
|
'stevearc/dressing.nvim',
|
||||||
|
|
||||||
|
{ 'windwp/nvim-autopairs',
|
||||||
|
config = function() require('nvim-autopairs').setup {}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
|
||||||
|
{
|
||||||
|
'nvim-lualine/lualine.nvim',
|
||||||
|
dependencies = { 'nvim-tree/nvim-web-devicons', opt = true },
|
||||||
|
config = function()
|
||||||
|
require 'plugins.lualine'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
-------------------------------------------------------LSP----------------------------------------------
|
||||||
|
{ 'hrsh7th/nvim-cmp',
|
||||||
|
dependencies = {
|
||||||
|
'hrsh7th/cmp-nvim-lsp', -- lsp
|
||||||
|
'hrsh7th/cmp-nvim-lua', -- Nvim API completions
|
||||||
|
'hrsh7th/cmp-nvim-lsp-signature-help', -- Show function signatures
|
||||||
|
'hrsh7th/cmp-buffer', --buffer completions
|
||||||
|
'hrsh7th/cmp-path', --path completions
|
||||||
|
'hrsh7th/cmp-cmdline', --cmdline completions
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require 'plugins.cmp'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
--LSP Status
|
||||||
|
{ 'j-hui/fidget.nvim',
|
||||||
|
config = function()
|
||||||
|
require('fidget').setup {
|
||||||
|
window = {
|
||||||
|
blend = 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'williamboman/mason.nvim',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.mason'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
'williamboman/mason-lspconfig.nvim',
|
||||||
|
|
||||||
|
{ 'neovim/nvim-lspconfig',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.lspconfig'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'jose-elias-alvarez/null-ls.nvim',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.null-ls'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
{ 'lervag/vimtex',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.vimtex'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
-------------------------------------------------------------------------------------------
|
||||||
|
-- Syntax Highlighting
|
||||||
|
{ 'nvim-treesitter/nvim-treesitter',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.treesitter'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
--Sticky headers
|
||||||
|
{ 'nvim-treesitter/nvim-treesitter-context',
|
||||||
|
config = function()
|
||||||
|
require 'plugins.treesitter-context'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
--Tabs
|
||||||
|
{ 'akinsho/bufferline.nvim',
|
||||||
|
version = 'v3.*',
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
config = function()
|
||||||
|
require("plugins.bufferline")
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
--does so much
|
||||||
|
{
|
||||||
|
'nvim-telescope/telescope.nvim', tag = '0.1.0',
|
||||||
|
-- or , branch = '0.1.x',
|
||||||
|
dependencies = { 'nvim-lua/plenary.nvim' },
|
||||||
|
config = function() require('plugins.telescope') end
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
--Main menu
|
||||||
|
{ 'startup-nvim/startup.nvim',
|
||||||
|
dependencies = { 'nvim-telescope/telescope.nvim', 'nvim-lua/plenary.nvim' },
|
||||||
|
config = function()
|
||||||
|
require('startup').setup { theme = 'dashboard' }
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
-------------------------------------------SYNTAX----------------------------------------------
|
||||||
|
'kmonad/kmonad-vim',
|
||||||
|
'elkowar/yuck.vim'
|
||||||
|
|
||||||
|
|
||||||
|
})
|
|
@ -1,7 +1,7 @@
|
||||||
require('lualine').setup {
|
require('lualine').setup {
|
||||||
options = {
|
options = {
|
||||||
icons_enabled = true,
|
icons_enabled = true,
|
||||||
theme = 'auto',
|
theme = 'catppuccin',
|
||||||
component_separators = { left = '', right = ''},
|
component_separators = { left = '', right = ''},
|
||||||
section_separators = { left = '', right = ''},
|
section_separators = { left = '', right = ''},
|
||||||
disabled_filetypes = {
|
disabled_filetypes = {
|
||||||
|
@ -21,7 +21,7 @@ require('lualine').setup {
|
||||||
lualine_a = {'mode'},
|
lualine_a = {'mode'},
|
||||||
lualine_b = {'branch', 'diff', 'diagnostics'},
|
lualine_b = {'branch', 'diff', 'diagnostics'},
|
||||||
lualine_c = {'filename'},
|
lualine_c = {'filename'},
|
||||||
lualine_x = {'encoding', 'fileformat', 'filetype'},
|
lualine_x = {'lsp', 'fileformat', 'filetype'},
|
||||||
lualine_y = {'progress'},
|
lualine_y = {'progress'},
|
||||||
lualine_z = {'location'}
|
lualine_z = {'location'}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,162 +0,0 @@
|
||||||
local packer = require("packer")
|
|
||||||
|
|
||||||
local plugins = packer.startup({ function(use)
|
|
||||||
|
|
||||||
use {
|
|
||||||
"wbthomason/packer.nvim",
|
|
||||||
config = [[require("plugins.packer")]]
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "lewis6991/impatient.nvim" }
|
|
||||||
|
|
||||||
|
|
||||||
use { "lervag/vimtex",
|
|
||||||
config = function()
|
|
||||||
require "plugins.vimtex"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
-------------------------------------------------------QOL----------------------------------------------
|
|
||||||
|
|
||||||
use { "ggandor/leap.nvim",
|
|
||||||
config = function()
|
|
||||||
require('leap').add_default_mappings()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "stevearc/dressing.nvim" } -- Rename variable pop up
|
|
||||||
|
|
||||||
use { "windwp/nvim-autopairs",
|
|
||||||
config = function() require("nvim-autopairs").setup {}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "kyazdani42/nvim-web-devicons" }
|
|
||||||
|
|
||||||
use {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
requires = { "kyazdani42/nvim-web-devicons", opt = true },
|
|
||||||
config = function()
|
|
||||||
require 'plugins.lualine'
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use {"j-hui/fidget.nvim",
|
|
||||||
config = function ()
|
|
||||||
require("fidget").setup{}
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use {"voldikss/vim-floaterm"}
|
|
||||||
|
|
||||||
--------------------------------------------------SUGGESTION BOX-----------------------------------------
|
|
||||||
use { "hrsh7th/nvim-cmp",
|
|
||||||
requires = {
|
|
||||||
"hrsh7th/cmp-nvim-lsp", -- lsp
|
|
||||||
"hrsh7th/cmp-nvim-lua", -- Nvim API completions
|
|
||||||
"hrsh7th/cmp-nvim-lsp-signature-help", -- Show function signatures
|
|
||||||
"hrsh7th/cmp-buffer", --buffer completions
|
|
||||||
"hrsh7th/cmp-path", --path completions
|
|
||||||
"hrsh7th/cmp-cmdline" --cmdline completions
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require "plugins.cmp"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "L3MON4D3/LuaSnip",
|
|
||||||
requires = {
|
|
||||||
"saadparwaiz1/cmp_luasnip"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
-------------------------------------------------------LSP----------------------------------------------
|
|
||||||
|
|
||||||
use { "williamboman/mason.nvim",
|
|
||||||
config = function()
|
|
||||||
require "plugins.mason"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "williamboman/mason-lspconfig.nvim" }
|
|
||||||
|
|
||||||
use { "neovim/nvim-lspconfig",
|
|
||||||
config = function()
|
|
||||||
require "plugins.lspconfig"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "jose-elias-alvarez/null-ls.nvim",
|
|
||||||
config = function()
|
|
||||||
require "plugins.null-ls"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
use { "nvim-tree/nvim-tree.lua",
|
|
||||||
requires = {
|
|
||||||
"nvim-tree/nvim-web-devicons", -- optional, for file icons
|
|
||||||
},
|
|
||||||
config = function()
|
|
||||||
require("nvim-tree").setup()
|
|
||||||
end
|
|
||||||
}
|
|
||||||
use { "feline-nvim/feline.nvim" }
|
|
||||||
-------------------------------------------THEMES------------------------------------------
|
|
||||||
|
|
||||||
use { "joshdick/onedark.vim" }
|
|
||||||
use { "catppuccin/nvim" }
|
|
||||||
-------------------------------------------------------------------------------------------
|
|
||||||
use { "nvim-treesitter/nvim-treesitter",
|
|
||||||
config = function()
|
|
||||||
require "plugins.treesitter"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "nvim-treesitter/nvim-treesitter-context",
|
|
||||||
config = function()
|
|
||||||
require "plugins.treesitter-context"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
--Tabs
|
|
||||||
use { "romgrk/barbar.nvim",
|
|
||||||
requires = "kyazdani42/nvim-web-devicons",
|
|
||||||
config = function()
|
|
||||||
require "plugins.barbar"
|
|
||||||
end
|
|
||||||
}
|
|
||||||
|
|
||||||
--fuzzy file finding
|
|
||||||
use {
|
|
||||||
"nvim-telescope/telescope.nvim", tag = '0.1.0',
|
|
||||||
-- or , branch = '0.1.x',
|
|
||||||
requires = { { "nvim-lua/plenary.nvim" } },
|
|
||||||
config = function() require('plugins.telescope') end
|
|
||||||
}
|
|
||||||
|
|
||||||
use { "tpope/vim-surround" }
|
|
||||||
|
|
||||||
use { "startup-nvim/startup.nvim",
|
|
||||||
requires = { "nvim-telescope/telescope.nvim", "nvim-lua/plenary.nvim" },
|
|
||||||
config = function()
|
|
||||||
require("startup").setup { theme = "dashboard" }
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
end,
|
|
||||||
|
|
||||||
config = {
|
|
||||||
auto_clean = true,
|
|
||||||
compile_on_sync = true,
|
|
||||||
git = { clone_timeout = 6000 },
|
|
||||||
display = {
|
|
||||||
working_sym = "ﲊ",
|
|
||||||
error_sym = "✗ ",
|
|
||||||
done_sym = " ",
|
|
||||||
removed_sym = " ",
|
|
||||||
moved_sym = "",
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -1,23 +0,0 @@
|
||||||
|
|
||||||
--local colorscheme = "onedark"
|
|
||||||
|
|
||||||
require("catppuccin").setup({
|
|
||||||
flavour = "frappe", -- latte, frappe, macchiato, mocha
|
|
||||||
styles = {
|
|
||||||
comments = { "italic" },
|
|
||||||
conditionals = { "italic" },
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
cmp = true,
|
|
||||||
nvimtree = true,
|
|
||||||
telescope = true,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
local colorscheme = "catppuccin"
|
|
||||||
|
|
||||||
local status_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
|
|
||||||
if not status_ok then
|
|
||||||
return
|
|
||||||
end
|
|
|
@ -8,13 +8,13 @@ if not present then
|
||||||
end
|
end
|
||||||
|
|
||||||
local options = {
|
local options = {
|
||||||
ensure_installed = {"lua", "haskell", "rust", },
|
ensure_installed = { "c", "lua", "haskell", "rust", "markdown", "markdown_inline" , "org"},
|
||||||
|
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
use_languagetree = true,
|
use_languagetree = true,
|
||||||
|
additional_vim_regex_highlighting = { "markdown" , "org"},
|
||||||
},
|
},
|
||||||
|
|
||||||
indent = {
|
indent = {
|
||||||
enable = true,
|
enable = true,
|
||||||
},
|
},
|
||||||
|
|
67
.config/nvim/syntax/hypr.vim
Normal file
67
.config/nvim/syntax/hypr.vim
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
|
||||||
|
" Vim syntax file
|
||||||
|
" Language: Hyprland config file
|
||||||
|
" Maintainer: Gabriel Carneiro
|
||||||
|
" Latest Revision: 26 October 2022
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Strings
|
||||||
|
syn match Path "\(\.\|\~\)\/.*" display
|
||||||
|
syn match Symbol "=" skipwhite display nextgroup=Value
|
||||||
|
syn match Str "[a-zA-Z _ .-\"\'?]\+$" contained display
|
||||||
|
syn match Num "\d\+\(\.\d\+\)\?" contained display
|
||||||
|
syn match Num "e[+-]\d\+" contained display
|
||||||
|
syn match Num "[+-]\d\+\(\.\d\+\)\?" contained display
|
||||||
|
syn match ShellVar "\$\w\+" contained display
|
||||||
|
syn keyword Logical on off true false no yes contained display
|
||||||
|
syn region HyprSimpleString keepend start='[^ \t]' end='$\|#' contained contains=HyprVar,HyprComment
|
||||||
|
syn match HyprQuotedString '"[^"]\+"' contained
|
||||||
|
syn cluster HyprString contains=HyprSimpleString,HyprQuotedString
|
||||||
|
|
||||||
|
" Settings
|
||||||
|
syn keyword Block input general animations decoration gestures misc dwindle master
|
||||||
|
syn region OptBlock start="{" end="}" fold transparent display contains=HyprVar,Value,OptBlock,Num,Str,HyprComment,Disp,ShellVar
|
||||||
|
syn match HyprVar '\s[a-z _ .]\+ ' skipwhite contained display nextgroup=Symbol
|
||||||
|
syn region Value start="=" end="$\|," transparent display contains=Str,Num,Logical,ShellVar,Path,HyprComment,Disp,Dispatchers
|
||||||
|
syn match Disp '[a-zA-Z][a-zA-Z0-9 _.]\+,' contained display contains=Num
|
||||||
|
syn match N ', [a-zA-Z][a-zA-Z0-9 _.]\+,' contained skipwhite
|
||||||
|
|
||||||
|
" Commands
|
||||||
|
syn region Command start='^[a-zA-Z][a-zA-Z_. -]\+ =' end='$' skipwhite transparent contains=HyprKeyModifier,ShellVar,HyprConfigCommand,Dispatchers,HyprComment,Str,Disp,Path,Num
|
||||||
|
syn keyword HyprKeyModifier SUPER SHIFT CTRL ALT Mod1 Mod2 Mod3 Mod4 Mod5 Mode_switch nextgroup=N
|
||||||
|
syn keyword HyprConfigCommand bind bindm monitor source windowrule nextgroup=Symbol contained
|
||||||
|
|
||||||
|
" Comments
|
||||||
|
syn keyword HyprTodo contained TODO FIXME XXX NOTE
|
||||||
|
syn match HyprComment "\(#\|\/\/\).*$" contains=HyprTodo
|
||||||
|
|
||||||
|
|
||||||
|
highlight link Dispatchers Special
|
||||||
|
highlight link Windowrules Special
|
||||||
|
highlight link Disp Special
|
||||||
|
|
||||||
|
highlight link Num Constant
|
||||||
|
highlight link NumRule Constant
|
||||||
|
|
||||||
|
highlight link HyprVar Identifier
|
||||||
|
highlight link HyprConfigCommand Identifier
|
||||||
|
|
||||||
|
highlight link HyprKeyModifier Constant
|
||||||
|
highlight link KeyBind Constant
|
||||||
|
highlight link Logical Constant
|
||||||
|
|
||||||
|
highlight link Str String
|
||||||
|
highlight link BindCmd String
|
||||||
|
highlight link Path String
|
||||||
|
highlight link HyprSimpleString String
|
||||||
|
highlight link HyprQuotedString String
|
||||||
|
|
||||||
|
highlight link Block Define
|
||||||
|
|
||||||
|
highlight link ShellVar Define
|
||||||
|
|
||||||
|
highlight link HyprTodo Todo
|
||||||
|
highlight link HyprComment Comment
|
2
.config/xmobar/.gitignore
vendored
2
.config/xmobar/.gitignore
vendored
|
@ -1 +1,3 @@
|
||||||
|
.stack-work
|
||||||
|
stack.*
|
||||||
xmobar-git
|
xmobar-git
|
||||||
|
|
4
.config/xmonad/.gitignore
vendored
4
.config/xmonad/.gitignore
vendored
|
@ -3,7 +3,7 @@
|
||||||
.ghc.*
|
.ghc.*
|
||||||
.stack-work
|
.stack-work
|
||||||
stack.*
|
stack.*
|
||||||
xmonad
|
xmonad-git
|
||||||
xmonad-contrib
|
xmonad-contrib-git
|
||||||
xmonad.hi
|
xmonad.hi
|
||||||
xmonad.o
|
xmonad.o
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# ~/.config/xmonad/build
|
# ~/.config/xmonad/build
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
exec stack ghc -- \
|
exec stack ghc -- \
|
||||||
--make xmonad.lhs \
|
--make xmonad.hs \
|
||||||
-i \
|
-i \
|
||||||
-ilib \
|
-ilib \
|
||||||
-fforce-recomp \
|
-fforce-recomp \
|
||||||
|
|
BIN
.config/xmonad/lib/Colors/Teal.hi
Normal file
BIN
.config/xmonad/lib/Colors/Teal.hi
Normal file
Binary file not shown.
BIN
.config/xmonad/lib/Colors/Teal.o
Normal file
BIN
.config/xmonad/lib/Colors/Teal.o
Normal file
Binary file not shown.
209
.config/xmonad/xmonad.hs
Normal file
209
.config/xmonad/xmonad.hs
Normal file
|
@ -0,0 +1,209 @@
|
||||||
|
{-# OPTIONS_GHC -Wno-deprecations #-}
|
||||||
|
|
||||||
|
import XMonad
|
||||||
|
|
||||||
|
--Utils
|
||||||
|
import XMonad.Util.EZConfig (additionalKeysP,removeKeysP)
|
||||||
|
import XMonad.Util.Loggers (logLayoutOnScreen, logTitleOnScreen, shortenL, wrapL, xmobarColorL)
|
||||||
|
import XMonad.Util.Run
|
||||||
|
import XMonad.Util.SpawnOnce
|
||||||
|
import XMonad.Util.NamedScratchpad as NS
|
||||||
|
|
||||||
|
--Hooks
|
||||||
|
import XMonad.Hooks.DynamicLog
|
||||||
|
import XMonad.Hooks.SetWMName
|
||||||
|
import XMonad.Hooks.StatusBar
|
||||||
|
import XMonad.Hooks.EwmhDesktops
|
||||||
|
import XMonad.Hooks.ManageDocks
|
||||||
|
import XMonad.Hooks.ManageHelpers
|
||||||
|
import XMonad.Hooks.WindowSwallowing
|
||||||
|
|
||||||
|
--Actions
|
||||||
|
import XMonad.Actions.SpawnOn
|
||||||
|
import XMonad.Actions.UpdateFocus (focusUnderPointer)
|
||||||
|
|
||||||
|
--Layouts
|
||||||
|
import XMonad.Layout.NoBorders
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
|
||||||
|
--Miscellaneous
|
||||||
|
import qualified XMonad.StackSet as W
|
||||||
|
import qualified Data.Map as M
|
||||||
|
import System.Exit
|
||||||
|
|
||||||
|
--Color Scheme
|
||||||
|
import Colors.Teal
|
||||||
|
|
||||||
|
myTerminal = "alacritty"
|
||||||
|
myTextEditor = "nvim"
|
||||||
|
myWebBrowser = "firefox"
|
||||||
|
myModMask = mod4Mask
|
||||||
|
|
||||||
|
myFocusFollowsMouse :: Bool
|
||||||
|
myFocusFollowsMouse = True
|
||||||
|
|
||||||
|
myClickJustFocuses :: Bool
|
||||||
|
myClickJustFocuses = False
|
||||||
|
|
||||||
|
windowCount :: X (Maybe String)
|
||||||
|
windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
||||||
|
|
||||||
|
myNormalBorderColor = "#008080"
|
||||||
|
myFocusedBorderColor = "#01F9C6"
|
||||||
|
|
||||||
|
myBorderWidth = 2
|
||||||
|
|
||||||
|
myWorkspaces = ["main","web","text","code","social","mail"]
|
||||||
|
myWorkspaceIndices = zip myWorkspaces [1..]
|
||||||
|
|
||||||
|
myScratchPads :: [NamedScratchpad]
|
||||||
|
myScratchPads = [NS "terminal" spawnTerm findTerm manageTerm]
|
||||||
|
where
|
||||||
|
spawnTerm = myTerminal ++ " -t scratchpad"
|
||||||
|
findTerm = title =? "scratchpad"
|
||||||
|
manageTerm = customFloating $ W.RationalRect l t w h
|
||||||
|
where
|
||||||
|
h = 0.6
|
||||||
|
w = 0.6
|
||||||
|
t = 0.7 -h
|
||||||
|
l = 0.8 -w
|
||||||
|
|
||||||
|
|
||||||
|
myKeys :: [(String, X ())]
|
||||||
|
myKeys =
|
||||||
|
[ ("M-x" ,spawn myTerminal )
|
||||||
|
, ("M-S-x", namedScratchpadAction myScratchPads "terminal")
|
||||||
|
, ("M-p", spawn "rofi -show drun")
|
||||||
|
, ("M-S-p", spawn "eww open --toggle powermenu")
|
||||||
|
, ("M-s", spawn "selected=$(ls ~/scripts/|rofi -dmenu -p \"Run: \") && bash ~/.config/rofi/scripts/$selected")
|
||||||
|
, ("M-b", spawn myWebBrowser)
|
||||||
|
, ("<Print>", spawn "flameshot gui")
|
||||||
|
, ("<XF86AudioMute>", spawn "pamixer set --toggle-mute")
|
||||||
|
, ("<XF86AudioLowerVolume>", spawn "pamixer -d 5")
|
||||||
|
, ("<XF86AudioRaiseVolume>", spawn "pamixer -i 5")
|
||||||
|
, ("<XF86MonBrightnessUp>", spawn "lux -a 10%")
|
||||||
|
, ("<XF86MonBrightnessDown>", spawn "lux -s 10%")
|
||||||
|
, ("M-n", spawn $ myTerminal ++ " -e nmtui")
|
||||||
|
, ("M-q", kill)
|
||||||
|
, ("M-S-<Space>", sendMessage NextLayout)
|
||||||
|
, ("M-<Down>", windows W.focusDown)
|
||||||
|
, ("M-<Up>", windows W.focusUp )
|
||||||
|
, ("M-m", windows W.focusMaster )
|
||||||
|
, ("M-<Return>", windows W.swapMaster)
|
||||||
|
, ("M-h", sendMessage Shrink)
|
||||||
|
, ("M-l", sendMessage Expand)
|
||||||
|
, ("M-t", withFocused $ windows . W.sink)
|
||||||
|
, ("M-S-u", io (exitWith ExitSuccess))
|
||||||
|
, ("M-u", spawn "xmonad --recompile; xmonad --restart")
|
||||||
|
]
|
||||||
|
++
|
||||||
|
[("M-" ++ m ++ (show k), windows $ f i)
|
||||||
|
| (i, k) <- myWorkspaceIndices
|
||||||
|
, (f, m) <- [(W.greedyView, "0"), (W.shift, "S-")]]
|
||||||
|
++
|
||||||
|
[("M-" ++ m ++ key, screenWorkspace sc >>= flip whenJust (windows . f))
|
||||||
|
| (key, sc) <- zip ["w", "e", "r"] [0..]
|
||||||
|
, (f, m) <- [(W.view, "0"), (W.shift, "S-")]]
|
||||||
|
|
||||||
|
myRemoveKeys = ["M-S-<Return>","M-S-p","M-S-c","M-<Space>","M-n","M-S-q"]
|
||||||
|
|
||||||
|
myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $
|
||||||
|
[ ((modm, button1), (\w -> focus w >> mouseMoveWindow w
|
||||||
|
>> windows W.shiftMaster))
|
||||||
|
, ((modm, button2), (\w -> focus w >> windows W.shiftMaster))
|
||||||
|
, ((modm, button3), (\w -> focus w >> mouseResizeWindow w
|
||||||
|
>> windows W.shiftMaster))]
|
||||||
|
|
||||||
|
myLayout = avoidStruts(tiled ||| Mirror tiled ||| Full)
|
||||||
|
where
|
||||||
|
tiled = Tall nmaster delta ratio
|
||||||
|
nmaster = 1
|
||||||
|
ratio = 1/2
|
||||||
|
delta = 3/100
|
||||||
|
|
||||||
|
myManageHook = composeAll
|
||||||
|
[ className =? "MPlayer" --> doFloat
|
||||||
|
, className =? "Gimp" --> doFloat
|
||||||
|
, resource =? "desktop_window" --> doIgnore
|
||||||
|
, className =? "QjackCtl" --> doFloat
|
||||||
|
, resource =? "kdesktop" --> doIgnore
|
||||||
|
, className =? "firefox" --> doShift (myWorkspaces !! 1)
|
||||||
|
, className =? "Code" --> doShift (myWorkspaces !! 3)
|
||||||
|
, className =? "discord" --> doShift (myWorkspaces !! 4)
|
||||||
|
, title =? "JetBrains Toolbox" --> doShift (myWorkspaces !! 3)
|
||||||
|
, className =? "main" --> doFloat
|
||||||
|
, className =? "Mailspring" --> doShift (myWorkspaces !! 5)
|
||||||
|
, className =? "Xmessage" --> doFloat
|
||||||
|
, title =? "Steam - News" --> doFloat
|
||||||
|
, title =? "Friends List" --> doFloat
|
||||||
|
, title =? "scratchpad" --> doFloat
|
||||||
|
, isFullscreen --> doFullFloat]
|
||||||
|
|
||||||
|
myEventHook = ewmhDesktopsEventHook
|
||||||
|
myStartupHook = do
|
||||||
|
spawnOnce "pasystray"
|
||||||
|
spawnOnce "nitrogen --restore &"
|
||||||
|
spawnOnce "playerctld"
|
||||||
|
spawnOnce "picom &"
|
||||||
|
spawnOnce "optimus-manager-qt"
|
||||||
|
setWMName "LG3D"
|
||||||
|
spawnOnce "nm-applet"
|
||||||
|
spawnOnce "mailspring"
|
||||||
|
spawnOnce("xsetroot -cursor_name left_ptr")
|
||||||
|
spawn ("killall trayer ;sleep 1 && trayer --monitor 0 --edge top --align right --widthtype request --padding 7 --iconspacing 12 --SetDockType true --SetPartialStrut true --expand true --transparent true --alpha 0 --tint 0x2B2E37 --height 26 --distance 5 &")
|
||||||
|
spawnOn "web" myWebBrowser
|
||||||
|
spawnOn "main" myTerminal
|
||||||
|
|
||||||
|
myStatusBarSpawner :: Applicative f => ScreenId -> f StatusBarConfig
|
||||||
|
myStatusBarSpawner (S s) = do
|
||||||
|
pure $ statusBarPropTo ("_XMONAD_LOG_" ++ show s)
|
||||||
|
("xmobar -x " ++ show s ++ " ~/.config/xmobar/xmobarrc" ++ show s)
|
||||||
|
(pure $ myXmobarPP (S s))
|
||||||
|
|
||||||
|
|
||||||
|
myXmobarPP :: ScreenId -> PP
|
||||||
|
myXmobarPP s = def
|
||||||
|
{ ppSep = ""
|
||||||
|
, ppWsSep = ""
|
||||||
|
, ppCurrent = xmobarColor cyan "" . const wsIconFull
|
||||||
|
, ppVisible = xmobarColor grey4 "" . const wsIconFull
|
||||||
|
, ppVisibleNoWindows = Just (xmobarColor grey4 "" . const wsIconFull)
|
||||||
|
, ppHidden = xmobarColor grey2 "" . const wsIconHidden
|
||||||
|
, ppHiddenNoWindows = xmobarColor grey2 "" . const wsIconEmpty
|
||||||
|
, ppUrgent = xmobarColor orange "" . const wsIconFull
|
||||||
|
, ppOrder = \(ws : _ : _ : extras) -> ws : extras
|
||||||
|
, ppExtras = [ wrapL " " " " $ layoutColorIsActive s (logLayoutOnScreen s)
|
||||||
|
,titleColorIsActive s (shortenL 81 $ logTitleOnScreen s)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
where
|
||||||
|
wsIconFull = " <fn=2>\xf111</fn> "
|
||||||
|
wsIconHidden = " <fn=2>\xf111</fn> "
|
||||||
|
wsIconEmpty = " <fn=2>\xf10c</fn> "
|
||||||
|
titleColorIsActive n l = do
|
||||||
|
c <- withWindowSet $ return . W.screen . W.current
|
||||||
|
if n == c then xmobarColorL cyan "" l else xmobarColorL grey3 "" l
|
||||||
|
layoutColorIsActive n l = do
|
||||||
|
c <- withWindowSet $ return . W.screen . W.current
|
||||||
|
if n == c then wrapL "<icon=/home/afonso/.config/xmobar/xpm/" "_selected.xpm/>" l else wrapL "<icon=/home/afonso/.config/xmobar/xpm/" ".xpm/>" l
|
||||||
|
|
||||||
|
|
||||||
|
myConfig = def
|
||||||
|
{
|
||||||
|
terminal = myTerminal,
|
||||||
|
focusFollowsMouse = myFocusFollowsMouse,
|
||||||
|
clickJustFocuses = myClickJustFocuses,
|
||||||
|
borderWidth = myBorderWidth,
|
||||||
|
modMask = myModMask,
|
||||||
|
workspaces = myWorkspaces,
|
||||||
|
normalBorderColor = myNormalBorderColor,
|
||||||
|
focusedBorderColor = myFocusedBorderColor,
|
||||||
|
-- keys = myKeys,
|
||||||
|
layoutHook = smartBorders . spacingWithEdge 10 $ myLayout,
|
||||||
|
manageHook = manageSpawn <+> myManageHook <+> manageHook def,
|
||||||
|
handleEventHook = myEventHook <+> fullscreenEventHook <+> swallowEventHook (className=?"Alacritty") (return True) ,
|
||||||
|
startupHook = myStartupHook
|
||||||
|
}
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = xmonad . ewmh . ewmhFullscreen . dynamicSBs myStatusBarSpawner . docks $ additionalKeysP (removeKeysP myConfig myRemoveKeys) myKeys
|
|
@ -1,390 +0,0 @@
|
||||||
\documentclass[a4paper]{article}
|
|
||||||
\usepackage[a4paper,left=3cm,right=2cm,top=2.5cm,bottom=2.5cm]{geometry}
|
|
||||||
%include polycode.fmt
|
|
||||||
\title{\Huge{XMonad config}}
|
|
||||||
\author{\Huge{Afonso Franco}}
|
|
||||||
|
|
||||||
\begin{document}
|
|
||||||
\maketitle
|
|
||||||
\newpage
|
|
||||||
\tableofcontents
|
|
||||||
\pagebreak
|
|
||||||
|
|
||||||
\subsection{Imports}
|
|
||||||
\begin{code}
|
|
||||||
{-# OPTIONS_GHC -Wno-deprecations #-}
|
|
||||||
|
|
||||||
import XMonad
|
|
||||||
import XMonad.Util.EZConfig (additionalKeysP,removeKeysP)
|
|
||||||
import XMonad.Hooks.DynamicLog
|
|
||||||
import XMonad.Util.Loggers (logLayoutOnScreen, logTitleOnScreen, shortenL, wrapL, xmobarColorL)
|
|
||||||
import XMonad.Hooks.SetWMName
|
|
||||||
import XMonad.Actions.SpawnOn
|
|
||||||
import XMonad.Hooks.StatusBar
|
|
||||||
import qualified XMonad.StackSet as W
|
|
||||||
import XMonad.Hooks.EwmhDesktops
|
|
||||||
import XMonad.Util.Run
|
|
||||||
import Data.Maybe (fromJust)
|
|
||||||
import XMonad.Hooks.ManageDocks
|
|
||||||
import XMonad.Hooks.ManageHelpers
|
|
||||||
import Data.Monoid
|
|
||||||
import Colors.Teal
|
|
||||||
import System.Exit
|
|
||||||
import XMonad.Util.SpawnOnce
|
|
||||||
import XMonad.Layout.Spacing
|
|
||||||
import XMonad.Hooks.WindowSwallowing
|
|
||||||
import qualified XMonad.StackSet as W
|
|
||||||
import qualified Data.Map as M
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
\subsection{Config Values}
|
|
||||||
\subsubsection{App Variables}
|
|
||||||
\begin{code}
|
|
||||||
myTerminal = "alacritty"
|
|
||||||
myTextEditor = "nvim"
|
|
||||||
myWebBrowser = "firefox"
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
\subsubsection{Window/Workspace Variables}
|
|
||||||
Whether focus follows the mouse pointer.
|
|
||||||
|
|
||||||
>myFocusFollowsMouse :: Bool
|
|
||||||
>myFocusFollowsMouse = True
|
|
||||||
|
|
||||||
Whether clicking on a window to focus also passes the click to the window
|
|
||||||
|
|
||||||
>myClickJustFocuses :: Bool
|
|
||||||
>myClickJustFocuses = False
|
|
||||||
|
|
||||||
>windowCount :: X (Maybe String)
|
|
||||||
>windowCount = gets $ Just . show . length . W.integrate' . W.stack . W.workspace . W.current . windowset
|
|
||||||
|
|
||||||
>myNormalBorderColor = "#008080"
|
|
||||||
>myFocusedBorderColor = "#01F9C6"
|
|
||||||
|
|
||||||
>myBorderWidth = 2
|
|
||||||
|
|
||||||
>myWorkspaces = ["main","web","text","code","social","mail"]
|
|
||||||
>myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..]
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Keybindings}
|
|
||||||
|
|
||||||
>myModMask = mod4Mask
|
|
||||||
>myKeys :: [(String, X ())]
|
|
||||||
>myKeys =
|
|
||||||
|
|
||||||
launch a terminal
|
|
||||||
|
|
||||||
> [ ("M-x" ,spawn myTerminal )
|
|
||||||
|
|
||||||
launch rofi
|
|
||||||
|
|
||||||
> , ("M-p", spawn "rofi -show drun")
|
|
||||||
|
|
||||||
launch web browser
|
|
||||||
|
|
||||||
> , ("M-b", spawn myWebBrowser)
|
|
||||||
|
|
||||||
|
|
||||||
Screenshot
|
|
||||||
|
|
||||||
> , ("<Print>", spawn "flameshot screen")
|
|
||||||
> , ("S-<Print>", spawn "flameshot gui")
|
|
||||||
|
|
||||||
AUDIO CONTROLS
|
|
||||||
|
|
||||||
> , ("<XF86AudioMute>", spawn "pamixer set --toggle-mute")
|
|
||||||
> , ("<XF86AudioLowerVolume>", spawn "pamixer -d 5")
|
|
||||||
> , ("<XF86AudioRaiseVolume>", spawn "pamixer -i 5")
|
|
||||||
|
|
||||||
brightness controls
|
|
||||||
|
|
||||||
> ,("<XF86MonBrightnessUp>", spawn "lux -a 10%")
|
|
||||||
> ,("<XF86MonBrightnessDown>", spawn "lux -s 10%")
|
|
||||||
|
|
||||||
network manager
|
|
||||||
|
|
||||||
> ,("M-n", spawn $ myTerminal ++ " -e nmtui")
|
|
||||||
|
|
||||||
close focused window
|
|
||||||
|
|
||||||
> , ("M-q", kill)
|
|
||||||
|
|
||||||
Reset the layouts on the current workspace to default
|
|
||||||
|
|
||||||
> , ("M-S-<Space>", sendMessage NextLayout)
|
|
||||||
|
|
||||||
Move focus to the next window
|
|
||||||
|
|
||||||
> , ("M-<Down>", windows W.focusDown)
|
|
||||||
|
|
||||||
Move focus to the previous window
|
|
||||||
|
|
||||||
> , ("M-<Up>", windows W.focusUp )
|
|
||||||
|
|
||||||
Move focus to the master window
|
|
||||||
|
|
||||||
> , ("M-m", windows W.focusMaster )
|
|
||||||
|
|
||||||
Swap the focused window and the master window
|
|
||||||
|
|
||||||
> , ("M-<Return>", windows W.swapMaster)
|
|
||||||
|
|
||||||
Shrink the master area
|
|
||||||
|
|
||||||
> , ("M-h", sendMessage Shrink)
|
|
||||||
|
|
||||||
Expand the master area
|
|
||||||
|
|
||||||
> , ("M-l", sendMessage Expand)
|
|
||||||
|
|
||||||
Push window back into tiling
|
|
||||||
|
|
||||||
> , ("M-t", withFocused $ windows . W.sink)
|
|
||||||
|
|
||||||
Quit xmonad
|
|
||||||
|
|
||||||
> , ("M-S-u", io (exitWith ExitSuccess))
|
|
||||||
|
|
||||||
Restart xmonad
|
|
||||||
|
|
||||||
> , ("M-u", spawn "xmonad --recompile; xmonad --restart")
|
|
||||||
> ]
|
|
||||||
> ++
|
|
||||||
|
|
||||||
Switch Worskapce with Windows + [1..6]. Shift window adding Shift key.
|
|
||||||
|
|
||||||
> [("M-" ++ m ++ (show k), windows $ f i)
|
|
||||||
> | (i, k) <- zip myWorkspaces [1..]
|
|
||||||
> , (f, m) <- [(W.greedyView, "0"), (W.shift, "S-")]]
|
|
||||||
> ++
|
|
||||||
|
|
||||||
Switch Screen with Windows + [w,e,r]. Shift window adding Shift key.
|
|
||||||
|
|
||||||
> [("M-" ++ m ++ key, screenWorkspace sc >>= flip whenJust (windows . f))
|
|
||||||
> | (key, sc) <- zip ["w", "e", "r"] [0..]
|
|
||||||
> , (f, m) <- [(W.view, "0"), (W.shift, "S-")]]
|
|
||||||
|
|
||||||
Default Keys to be removed
|
|
||||||
|
|
||||||
>myRemoveKeys = ["M-S-<Return>","M-S-p","M-S-c","M-<Space>","M-n","M-S-q"]
|
|
||||||
|
|
||||||
Mouse bindings: default actions bound to mouse events
|
|
||||||
|
|
||||||
>myMouseBindings (XConfig {XMonad.modMask = modm}) = M.fromList $
|
|
||||||
|
|
||||||
mod-button1, Set the window to floating mode and move by dragging
|
|
||||||
|
|
||||||
> [ ((modm, button1), (\w -> focus w >> mouseMoveWindow w
|
|
||||||
> >> windows W.shiftMaster))
|
|
||||||
|
|
||||||
mod-button2, Raise the window to the top of the stack
|
|
||||||
|
|
||||||
> , ((modm, button2), (\w -> focus w >> windows W.shiftMaster))
|
|
||||||
|
|
||||||
mod-button3, Set the window to floating mode and resize by dragging
|
|
||||||
|
|
||||||
> , ((modm, button3), (\w -> focus w >> mouseResizeWindow w
|
|
||||||
> >> windows W.shiftMaster))]
|
|
||||||
|
|
||||||
|
|
||||||
\subsubsection{Mousebindings}
|
|
||||||
|
|
||||||
>myLayout = avoidStruts(tiled ||| Mirror tiled ||| Full)
|
|
||||||
> where
|
|
||||||
|
|
||||||
default tiling algorithm partitions the screen into two panes
|
|
||||||
|
|
||||||
> tiled = Tall nmaster delta ratio
|
|
||||||
|
|
||||||
The default number of windows in the master pane
|
|
||||||
|
|
||||||
> nmaster = 1
|
|
||||||
|
|
||||||
Default proportion of screen occupied by master pane
|
|
||||||
|
|
||||||
> ratio = 1/2
|
|
||||||
|
|
||||||
Percent of screen to increment by when resizing panes
|
|
||||||
|
|
||||||
> delta = 3/100
|
|
||||||
|
|
||||||
\subsubsection{Manage Windows Hook}
|
|
||||||
\begin{code}
|
|
||||||
myManageHook = composeAll
|
|
||||||
[ className =? "MPlayer" --> doFloat
|
|
||||||
, className =? "Gimp" --> doFloat
|
|
||||||
, resource =? "desktop_window" --> doIgnore
|
|
||||||
, className =? "QjackCtl" --> doFloat
|
|
||||||
, resource =? "kdesktop" --> doIgnore
|
|
||||||
, className =? "firefox" --> doShift (myWorkspaces !! 1)
|
|
||||||
, className =? "Code" --> doShift (myWorkspaces !! 3)
|
|
||||||
, className =? "discord" --> doShift (myWorkspaces !! 4)
|
|
||||||
, title =? "JetBrains Toolbox" --> doShift (myWorkspaces !! 3)
|
|
||||||
, className =? "main" --> doFloat
|
|
||||||
, className =? "Mailspring" --> doShift (myWorkspaces !! 5)
|
|
||||||
, className =? "Xmessage" --> doFloat
|
|
||||||
, title =? "Steam - News" --> doFloat
|
|
||||||
, title =? "Friends List" --> doFloat
|
|
||||||
, isFullscreen --> doFullFloat]
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
\subsubsection{Event Hook}
|
|
||||||
|
|
||||||
>myEventHook = ewmhDesktopsEventHook
|
|
||||||
|
|
||||||
\subsubsection{Startup Hook}
|
|
||||||
\begin{code}
|
|
||||||
myStartupHook = do
|
|
||||||
spawnOnce "pasystray"
|
|
||||||
spawnOnce "nitrogen --restore &"
|
|
||||||
spawnOnce "playerctld"
|
|
||||||
spawnOnce "picom &"
|
|
||||||
spawnOnce "optimus-manager-qt"
|
|
||||||
setWMName "LG3D"
|
|
||||||
spawnOnce "nm-applet"
|
|
||||||
spawnOnce "mailspring"
|
|
||||||
spawnOnce("xsetroot -cursor_name left_ptr")
|
|
||||||
spawn ("killall trayer ;sleep 1 && trayer --monitor 0 --edge top --align right --widthtype request --padding 7 --iconspacing 12 --SetDockType true --SetPartialStrut true --expand true --transparent true --alpha 0 --tint 0x2B2E37 --height 26 --distance 5 &")
|
|
||||||
spawnOn "web" myWebBrowser
|
|
||||||
spawnOn "main" myTerminal
|
|
||||||
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Xmobar}
|
|
||||||
|
|
||||||
|
|
||||||
\begin{code}
|
|
||||||
|
|
||||||
actionPrefix, actionButton, actionSuffix :: [Char]
|
|
||||||
actionPrefix = "<action=`xdotool key super+"
|
|
||||||
actionButton = "` button="
|
|
||||||
actionSuffix = "</action>"
|
|
||||||
|
|
||||||
addActions :: [(String, Int)] -> String -> String
|
|
||||||
addActions [] ws = ws
|
|
||||||
addActions (x:xs) ws = addActions xs (actionPrefix ++ k ++ actionButton ++ show b ++ ">" ++ ws ++ actionSuffix)
|
|
||||||
where k = fst x
|
|
||||||
b = snd x
|
|
||||||
|
|
||||||
clickable :: [Char] -> [Char] -> [Char]
|
|
||||||
clickable icon ws = addActions [ (show i, 1), ("q", 2), ("Left", 4), ("Right", 5) ] icon
|
|
||||||
where i = fromJust $ M.lookup ws myWorkspaceIndices
|
|
||||||
|
|
||||||
myStatusBarSpawner :: Applicative f => ScreenId -> f StatusBarConfig
|
|
||||||
myStatusBarSpawner (S s) = do
|
|
||||||
pure $ statusBarPropTo ("_XMONAD_LOG_" ++ show s)
|
|
||||||
("xmobar -x " ++ show s ++ " ~/.config/xmobar/xmobarrc" ++ show s)
|
|
||||||
(pure $ myXmobarPP (S s))
|
|
||||||
|
|
||||||
|
|
||||||
myXmobarPP :: ScreenId -> PP
|
|
||||||
myXmobarPP s = def
|
|
||||||
{ ppSep = ""
|
|
||||||
, ppWsSep = ""
|
|
||||||
, ppCurrent = xmobarColor cyan "" . clickable wsIconFull
|
|
||||||
, ppVisible = xmobarColor grey4 "" . clickable wsIconFull
|
|
||||||
, ppVisibleNoWindows = Just (xmobarColor grey4 "" . clickable wsIconFull)
|
|
||||||
, ppHidden = xmobarColor grey2 "" . clickable wsIconHidden
|
|
||||||
, ppHiddenNoWindows = xmobarColor grey2 "" . clickable wsIconEmpty
|
|
||||||
, ppUrgent = xmobarColor orange "" . clickable wsIconFull
|
|
||||||
, ppOrder = \(ws : _ : _ : extras) -> ws : extras
|
|
||||||
, ppExtras = [ wrapL " " " " $ layoutColorIsActive s (logLayoutOnScreen s)
|
|
||||||
,titleColorIsActive s (shortenL 81 $ logTitleOnScreen s)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
where
|
|
||||||
wsIconFull = " <fn=2>\xf111</fn> "
|
|
||||||
wsIconHidden = " <fn=2>\xf111</fn> "
|
|
||||||
wsIconEmpty = " <fn=2>\xf10c</fn> "
|
|
||||||
titleColorIsActive n l = do
|
|
||||||
c <- withWindowSet $ return . W.screen . W.current
|
|
||||||
if n == c then xmobarColorL cyan "" l else xmobarColorL grey3 "" l
|
|
||||||
layoutColorIsActive n l = do
|
|
||||||
c <- withWindowSet $ return . W.screen . W.current
|
|
||||||
if n == c then wrapL "<icon=/home/afonso/.config/xmobar/xpm/" "_selected.xpm/>" l else wrapL "<icon=/home/afonso/.config/xmobar/xpm/" ".xpm/>" l
|
|
||||||
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Config Binding}
|
|
||||||
\begin{code}
|
|
||||||
myConfig = def
|
|
||||||
{
|
|
||||||
terminal = myTerminal,
|
|
||||||
focusFollowsMouse = myFocusFollowsMouse,
|
|
||||||
clickJustFocuses = myClickJustFocuses,
|
|
||||||
borderWidth = myBorderWidth,
|
|
||||||
modMask = myModMask,
|
|
||||||
workspaces = myWorkspaces,
|
|
||||||
normalBorderColor = myNormalBorderColor,
|
|
||||||
focusedBorderColor = myFocusedBorderColor,
|
|
||||||
-- keys = myKeys,
|
|
||||||
layoutHook = spacingWithEdge 10 $ myLayout,
|
|
||||||
manageHook = manageSpawn <+> myManageHook <+> manageHook def,
|
|
||||||
handleEventHook = myEventHook <+> fullscreenEventHook <+> swallowEventHook (className=?"Alacritty") (return True) ,
|
|
||||||
startupHook = myStartupHook}
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
\subsection{Main}
|
|
||||||
\begin{code}
|
|
||||||
main :: IO ()
|
|
||||||
main = do
|
|
||||||
xmonad . ewmh . ewmhFullscreen . dynamicSBs myStatusBarSpawner . docks $ additionalKeysP (removeKeysP myConfig myRemoveKeys) myKeys
|
|
||||||
\end{code}
|
|
||||||
|
|
||||||
\subsection{Default Bindings}
|
|
||||||
\begin{code}
|
|
||||||
help :: String
|
|
||||||
help = unlines ["The default modifier key is 'alt'. Default keybindings:",
|
|
||||||
"",
|
|
||||||
"-- launching and killing programs",
|
|
||||||
"mod-Shift-Enter Launch xterminal",
|
|
||||||
"mod-p Launch dmenu",
|
|
||||||
"mod-Shift-p Launch gmrun",
|
|
||||||
"mod-Shift-c Close/kill the focused window",
|
|
||||||
"mod-Space Rotate through the available layout algorithms",
|
|
||||||
"mod-Shift-Space Reset the layouts on the current workSpace to default",
|
|
||||||
"mod-n Resize/refresh viewed windows to the correct size",
|
|
||||||
"",
|
|
||||||
"-- move focus up or down the window stack",
|
|
||||||
"mod-Tab Move focus to the next window",
|
|
||||||
"mod-Shift-Tab Move focus to the previous window",
|
|
||||||
"mod-j Move focus to the next window",
|
|
||||||
"mod-k Move focus to the previous window",
|
|
||||||
"mod-m Move focus to the master window",
|
|
||||||
"",
|
|
||||||
"-- modifying the window order",
|
|
||||||
"mod-Return Swap the focused window and the master window",
|
|
||||||
"mod-Shift-j Swap the focused window with the next window",
|
|
||||||
"mod-Shift-k Swap the focused window with the previous window",
|
|
||||||
"",
|
|
||||||
"-- resizing the master/slave ratio",
|
|
||||||
"mod-h Shrink the master area",
|
|
||||||
"mod-l Expand the master area",
|
|
||||||
"",
|
|
||||||
"-- floating layer support",
|
|
||||||
"mod-t Push window back into tiling; unfloat and re-tile it",
|
|
||||||
"",
|
|
||||||
"-- increase or decrease number of windows in the master area",
|
|
||||||
"mod-comma (mod-,) Increment the number of windows in the master area",
|
|
||||||
"mod-period (mod-.) Deincrement the number of windows in the master area",
|
|
||||||
"",
|
|
||||||
"-- quit, or restart",
|
|
||||||
"mod-Shift-q Quit xmonad",
|
|
||||||
"mod-q Restart xmonad",
|
|
||||||
"mod-[1..9] Switch to workSpace N",
|
|
||||||
"",
|
|
||||||
"-- Workspaces & screens",
|
|
||||||
"mod-Shift-[1..9] Move client to workspace N",
|
|
||||||
"mod-{w,e,r} Switch to physical/Xinerama screens 1, 2, or 3",
|
|
||||||
"mod-Shift-{w,e,r} Move client to screen 1, 2, or 3",
|
|
||||||
"",
|
|
||||||
"-- Mouse bindings: default actions bound to mouse events",
|
|
||||||
"mod-button1 Set the window to floating mode and move by dragging",
|
|
||||||
"mod-button2 Raise the window to the top of the stack",
|
|
||||||
"mod-button3 Set the window to floating mode and resize by dragging"]
|
|
||||||
\end{code}
|
|
||||||
\end{document}
|
|
14
.local/bin/wrappedhl
Executable file
14
.local/bin/wrappedhl
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
cd ~
|
||||||
|
|
||||||
|
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||||
|
export XCURSOR_SIZE=24
|
||||||
|
export LIBVA_DRIVER_NAME=nvidia
|
||||||
|
export XDG_SESSION_TYPE=wayland
|
||||||
|
export XDG_CURRENT_DESKTOP=sway
|
||||||
|
export GBM_BACKEND=nvidia-drm
|
||||||
|
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||||
|
export WLR_NO_HARDWARE_CURSORS=1
|
||||||
|
|
||||||
|
exec Hyprland
|
|
@ -1,7 +1,7 @@
|
||||||
IdentityFile ~/.ssh/id_ecdsa_sk
|
IdentityFile ~/.ssh/id_ecdsa_sk
|
||||||
IdentityFile ~/.ssh/id_ecdsa_sk_backup
|
IdentityFile ~/.ssh/id_ecdsa_sk_backup
|
||||||
|
|
||||||
Host gitea.olympuslab.net github.com
|
Host git.olympuslab.net github.com
|
||||||
ControlMaster auto
|
ControlMaster auto
|
||||||
ControlPath ~/.ssh/session.%r@%h:%p
|
ControlPath ~/.ssh/session.%r@%h:%p
|
||||||
ControlPersist 1d
|
ControlPersist 1d
|
||||||
|
|
2
.xinitrc
2
.xinitrc
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
export XDG_SESSION_TYPE=x11
|
||||||
|
export XDG_CURRENT_DESKTOP=X-Generic
|
||||||
userresources=$HOME/.Xresources
|
userresources=$HOME/.Xresources
|
||||||
usermodmap=$HOME/.Xmodmap
|
usermodmap=$HOME/.Xmodmap
|
||||||
sysresources=/etc/X11/xinit/.Xresources
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
|
3
scripts/projects
Normal file
3
scripts/projects
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
selected=$(ls ~/projects/ | rofi -dmenu -p "Open: ")
|
||||||
|
alacritty -e fish -c "cd ~/projects/$selected && nvim . && fish"
|
Loading…
Reference in a new issue