Initial commit for dotfiles
Setting up dotfiles with yadm
This commit is contained in:
commit
27e3b132a8
80
.config/alacritty/alacritty.yml
Normal file
80
.config/alacritty/alacritty.yml
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
# SFMono Nerd Fonts
|
||||||
|
font:
|
||||||
|
normal:
|
||||||
|
family: SFMono Nerd Font
|
||||||
|
style: Regular
|
||||||
|
|
||||||
|
bold:
|
||||||
|
family: SFMono Nerd Font
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
italic:
|
||||||
|
family: SFMono Nerd Font
|
||||||
|
style: Italic
|
||||||
|
|
||||||
|
bold_italic:
|
||||||
|
family: SFMono Nerd Font
|
||||||
|
style: Bold Italic
|
||||||
|
|
||||||
|
size: 10
|
||||||
|
|
||||||
|
# Dracula theme for Alacritty
|
||||||
|
# https://draculatheme.com/alacritty
|
||||||
|
#
|
||||||
|
# Color palette
|
||||||
|
# https://spec.draculatheme.com
|
||||||
|
#
|
||||||
|
# Template
|
||||||
|
# https://github.com/alacritty/alacritty/blob/master/alacritty.yml
|
||||||
|
colors:
|
||||||
|
primary:
|
||||||
|
background: '#282a36'
|
||||||
|
foreground: '#f8f8f2'
|
||||||
|
bright_foreground: '#ffffff'
|
||||||
|
cursor:
|
||||||
|
text: CellBackground
|
||||||
|
cursor: CellForeground
|
||||||
|
vi_mode_cursor:
|
||||||
|
text: CellBackground
|
||||||
|
cursor: CellForeground
|
||||||
|
search:
|
||||||
|
matches:
|
||||||
|
foreground: '#44475a'
|
||||||
|
background: '#50fa7b'
|
||||||
|
focused_match:
|
||||||
|
foreground: '#44475a'
|
||||||
|
background: '#ffb86c'
|
||||||
|
footer_bar:
|
||||||
|
background: '#282a36'
|
||||||
|
foreground: '#f8f8f2'
|
||||||
|
hints:
|
||||||
|
start:
|
||||||
|
foreground: '#282a36'
|
||||||
|
background: '#f1fa8c'
|
||||||
|
end:
|
||||||
|
foreground: '#f1fa8c'
|
||||||
|
background: '#282a36'
|
||||||
|
line_indicator:
|
||||||
|
foreground: None
|
||||||
|
background: None
|
||||||
|
selection:
|
||||||
|
text: CellForeground
|
||||||
|
background: '#44475a'
|
||||||
|
normal:
|
||||||
|
black: '#21222c'
|
||||||
|
red: '#ff5555'
|
||||||
|
green: '#50fa7b'
|
||||||
|
yellow: '#f1fa8c'
|
||||||
|
blue: '#bd93f9'
|
||||||
|
magenta: '#ff79c6'
|
||||||
|
cyan: '#8be9fd'
|
||||||
|
white: '#f8f8f2'
|
||||||
|
bright:
|
||||||
|
black: '#6272a4'
|
||||||
|
red: '#ff6e6e'
|
||||||
|
green: '#69ff94'
|
||||||
|
yellow: '#ffffa5'
|
||||||
|
blue: '#d6acff'
|
||||||
|
magenta: '#ff92df'
|
||||||
|
cyan: '#a4ffff'
|
||||||
|
white: '#ffffff'
|
||||||
11
.config/bat/config
Normal file
11
.config/bat/config
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# Set the theme to "TwoDark"
|
||||||
|
--theme="TwoDark"
|
||||||
|
|
||||||
|
# Show line numbers, Git modifications and file header (but no grid)
|
||||||
|
--style="changes,header"
|
||||||
|
|
||||||
|
# Use italic text on the terminal (not supported on all terminals)
|
||||||
|
--italic-text=always
|
||||||
|
|
||||||
|
# Use C++ syntax for .ino files
|
||||||
|
--map-syntax "*.ino:C++"
|
||||||
321
.config/i3/config
Normal file
321
.config/i3/config
Normal file
@ -0,0 +1,321 @@
|
|||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
#set $term xfce4-terminal
|
||||||
|
set $term alacritty
|
||||||
|
set $termalt urxvt
|
||||||
|
set $web firefox
|
||||||
|
set $file ranger
|
||||||
|
set $lock slock
|
||||||
|
set $code codium
|
||||||
|
set $guieditor geany
|
||||||
|
set $calc /home/ben/.local/bin/bc-launcher
|
||||||
|
set $music /home/ben/.local/bin/ncmpcpp-launcher
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 8
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||||
|
# they are included here as an example. Modify as you see fit.
|
||||||
|
|
||||||
|
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||||
|
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||||
|
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||||
|
|
||||||
|
# network manager applet: manage wifi, ethernet and vpns
|
||||||
|
exec --no-startup-id nm-applet
|
||||||
|
|
||||||
|
# bluetooth manager applet: manage bluetooth pairing and connections
|
||||||
|
#exec --no-startup-id blueman-applet
|
||||||
|
|
||||||
|
# udiskie: manage usb storage devices
|
||||||
|
exec --no-startup-id udiskie -a -n -t
|
||||||
|
|
||||||
|
# dunst: a notification daemon
|
||||||
|
exec --no-startup-id dunst
|
||||||
|
|
||||||
|
# Use pactl to adjust volume in PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
||||||
|
|
||||||
|
bindsym $mod+greater exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
|
||||||
|
bindsym $mod+less exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
|
||||||
|
|
||||||
|
# backlight brightness
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl set 5%- # decrease screen brightness
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl set +5% # increase screen brightness
|
||||||
|
bindsym $mod+F8 exec brightnessctl set 5-% # decrease screen brightness
|
||||||
|
bindsym $mod+F9 exec brightnessctl set +5% # increase screen brightness
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
bindsym $mod+Shift+Return exec $termalt
|
||||||
|
|
||||||
|
# start a web browser
|
||||||
|
bindsym $mod+F1 exec $web
|
||||||
|
|
||||||
|
# start a file manager
|
||||||
|
bindsym $mod+F2 exec $file
|
||||||
|
|
||||||
|
# start an ide
|
||||||
|
bindsym $mod+F3 exec $code
|
||||||
|
|
||||||
|
# start a gui notepad
|
||||||
|
bindsym $mod+F4 exec $guieditor
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start rofi in drun mode (a program launcher)
|
||||||
|
bindsym $mod+d exec --no-startup-id "rofi -show drun -font \\"DejaVu 9\\" -run-shell-command '{terminal} -e \\" {cmd}; read -n 1 -s\\"'"
|
||||||
|
#bindsym $mod+shift+d exec selected=$(ls ~/rdp/ntschools/|rofi -dmenu -p "Run: ")&&zsh ~/rdp/ntschools/$selected
|
||||||
|
|
||||||
|
|
||||||
|
# A more modern dmenu replacement is rofi:
|
||||||
|
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||||
|
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||||
|
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||||
|
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split v ;; exec $term
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split h ;; exec $term
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+Shift+a focus child
|
||||||
|
|
||||||
|
# calculator scratchpad
|
||||||
|
bindsym $mod+c [title="calc-launcher"] scratchpad show; [title="calc-launcher"] move position center
|
||||||
|
for_window [title="calc-launcher"] floating enable
|
||||||
|
for_window [title="calc-launcher"] resize set 800 600
|
||||||
|
for_window [title="calc-launcher"] move scratchpad
|
||||||
|
for_window [title="calc-launcher"] border pixel 5
|
||||||
|
#exec --no-startup-id $term -T "calc-launcher" -e "$calc"
|
||||||
|
exec --no-startup-id $term -t "calc-launcher" -e "$calc"
|
||||||
|
|
||||||
|
# dropdown scratchpad
|
||||||
|
bindsym $mod+x [title="dropdown"] scratchpad show; [title="dropdown"] move position center
|
||||||
|
for_window [title="dropdown"] floating enable
|
||||||
|
for_window [title="dropdown"] resize set 1280 800
|
||||||
|
for_window [title="dropdown"] move scratchpad
|
||||||
|
for_window [title="dropdown"] border pixel 5
|
||||||
|
#exec --no-startup-id $term -T "dropdown"
|
||||||
|
exec --no-startup-id $term -t "dropdown"
|
||||||
|
|
||||||
|
# music scratchpad
|
||||||
|
bindsym $mod+m [title="music-launcher"] scratchpad show; [title="music-launcher"] move position center
|
||||||
|
for_window [title="music-launcher"] floating enable
|
||||||
|
for_window [title="music-launcher"] resize set 800 600
|
||||||
|
for_window [title="music-launcher"] move scratchpad
|
||||||
|
for_window [title="music-launcher"] border pixel 5
|
||||||
|
#exec --no-startup-id $term -T "music-launcher" -e "$music"
|
||||||
|
exec --no-startup-id $term -t "music-launcher" -e "$music"
|
||||||
|
|
||||||
|
# f5vpn scratchpad
|
||||||
|
bindsym $mod+F10 [title="F5 VPN"] scratchpad show; [title="F5 VPN"] move position center
|
||||||
|
for_window [title="F5 VPN"] floating enable
|
||||||
|
for_window [title="F5 VPN"] resize set 800 600
|
||||||
|
for_window [title="F5 VPN"] move scratchpad
|
||||||
|
for_window [title="F5 VPN"] border pixel 5
|
||||||
|
|
||||||
|
# restore scratchpads
|
||||||
|
#bindsym $mod+F11 exec --no-startup-id $term -T "music-launcher" -e "$music"
|
||||||
|
bindsym $mod+F11 exec --no-startup-id $term -t "music-launcher" -e "$music"
|
||||||
|
#bindsym $mod+F12 exec --no-startup-id $term -T "calc-launcher" -e "$calc"
|
||||||
|
bindsym $mod+F12 exec --no-startup-id $term -t "calc-launcher" -e "$calc"
|
||||||
|
|
||||||
|
# mpd/mpc commands
|
||||||
|
bindsym $mod+p exec mpc --host $HOME/.config/mpd/socket toggle
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1: shell"
|
||||||
|
set $ws2 "2: web"
|
||||||
|
set $ws3 "3: code"
|
||||||
|
set $ws4 "4: rdp"
|
||||||
|
set $ws5 "5: games"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2; layout tabbed
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4; layout tabbed
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
# move focused workspace between monitors
|
||||||
|
bindsym $mod+Ctrl+greater move workspace to output right
|
||||||
|
bindsym $mod+Ctrl+less move workspace to output left
|
||||||
|
|
||||||
|
# print screen
|
||||||
|
bindsym --release Print exec "spectacle"
|
||||||
|
bindsym --release $mod+Print exec "maim -s $HOME/Pictures/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||||
|
bindsym --release $mod+Shift+Print exec "maim -s | xclip -selection clipboard -t image/png"
|
||||||
|
bindsym --release $mod+Shift+s exec "maim -s | xclip -selection clipboard -t image/png"
|
||||||
|
bindsym --release $mod+Alt+Print exec "maim $HOME/Pictures/screenshots/$(date +%Y-%m-%d_%H-%M-%S).png"
|
||||||
|
#bindsym --release $mod+Alt+Print exec "maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png"
|
||||||
|
|
||||||
|
# lock screen
|
||||||
|
#bindsym $mod+l --release exec $lock
|
||||||
|
bindsym $mod+l --release exec betterlockscreen -l dim
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
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'"
|
||||||
|
|
||||||
|
# for_windows settings
|
||||||
|
for_window [class="urxvt"] border pixel 5
|
||||||
|
for_window [title="Mozilla Firefox"] move container to workspace $ws2
|
||||||
|
for_window [title="Chromium"] move container to workspace $ws2
|
||||||
|
for_window [class="VSCodium"] move container to workspace $ws3
|
||||||
|
for_window [title="Visual Studio Code"] move container to workspace $ws3
|
||||||
|
for_window [class="xfreerdp"] floating disable move container to workspace $ws4
|
||||||
|
for_window [class="Steam"] floating disable move container to workspace $ws5
|
||||||
|
for_window [title="Picture-in-Picture"] sticky enable
|
||||||
|
for_window [title="noVNC"] sticky enable floating enable
|
||||||
|
for_window [title="Proxmox Console"] sticky enable floating enable
|
||||||
|
for_window [title="feh"] sticky enable floating enable
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
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
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# monitor-mode settings
|
||||||
|
mode "monitor-mode" {
|
||||||
|
# external-only (1), laptop-only (2) or both (3)
|
||||||
|
bindsym 1 exec ~/.local/bin/screen-external.sh
|
||||||
|
bindsym 2 exec ~/.local/bin/screen-laptop.sh
|
||||||
|
bindsym 3 exec ~/.local/bin/screen-dual.sh
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+t mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+t mode "monitor-mode"
|
||||||
|
|
||||||
|
# class border bground text indicator child_border
|
||||||
|
client.focused #6272A4 #6272A4 #F8F8F2 #6272A4 #6272A4
|
||||||
|
client.focused_inactive #44475A #44475A #F8F8F2 #44475A #44475A
|
||||||
|
client.unfocused #282A36 #282A36 #BFBFBF #282A36 #282A36
|
||||||
|
client.urgent #44475A #FF5555 #F8F8F2 #FF5555 #FF5555
|
||||||
|
client.placeholder #282A36 #282A36 #F8F8F2 #282A36 #282A36
|
||||||
|
|
||||||
|
client.background #F8F8F2
|
||||||
|
|
||||||
|
|
||||||
|
#exec_always --no-startup-id $HOME/.config/polybar/start
|
||||||
|
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
colors {
|
||||||
|
background #282A36
|
||||||
|
statusline #F8F8F2
|
||||||
|
separator #44475A
|
||||||
|
|
||||||
|
focused_workspace #44475A #44475A #F8F8F2
|
||||||
|
active_workspace #282A36 #44475A #F8F8F2
|
||||||
|
inactive_workspace #282A36 #282A36 #BFBFBF
|
||||||
|
urgent_workspace #FF5555 #FF5555 #F8F8F2
|
||||||
|
binding_mode #FF5555 #FF5555 #F8F8F2
|
||||||
|
}
|
||||||
|
}
|
||||||
58
.config/i3status/config
Normal file
58
.config/i3status/config
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# i3status configuration file.
|
||||||
|
# see "man i3status" for documentation.
|
||||||
|
|
||||||
|
# It is important that this file is edited as UTF-8.
|
||||||
|
# The following line should contain a sharp s:
|
||||||
|
# ß
|
||||||
|
# If the above line is not correctly displayed, fix your editor first!
|
||||||
|
|
||||||
|
general {
|
||||||
|
colors = true
|
||||||
|
interval = 5
|
||||||
|
output_format = "i3bar"
|
||||||
|
colors = true
|
||||||
|
color_good = "#50FA7B"
|
||||||
|
color_degraded = "#F1FA8C"
|
||||||
|
color_bad = "#FF5555"
|
||||||
|
}
|
||||||
|
|
||||||
|
order += "ipv6"
|
||||||
|
order += "wireless _first_"
|
||||||
|
order += "ethernet _first_"
|
||||||
|
order += "battery all"
|
||||||
|
order += "disk /"
|
||||||
|
order += "load"
|
||||||
|
order += "memory"
|
||||||
|
order += "tztime local"
|
||||||
|
|
||||||
|
wireless _first_ {
|
||||||
|
format_up = "W: (%quality at %essid) %ip"
|
||||||
|
format_down = "W: down"
|
||||||
|
}
|
||||||
|
|
||||||
|
ethernet _first_ {
|
||||||
|
format_up = "E: %ip (%speed)"
|
||||||
|
format_down = "E: down"
|
||||||
|
}
|
||||||
|
|
||||||
|
battery all {
|
||||||
|
format = "%status %percentage %remaining"
|
||||||
|
}
|
||||||
|
|
||||||
|
disk "/" {
|
||||||
|
format = "%avail"
|
||||||
|
}
|
||||||
|
|
||||||
|
load {
|
||||||
|
format = "%1min"
|
||||||
|
}
|
||||||
|
|
||||||
|
memory {
|
||||||
|
format = "%used | %available"
|
||||||
|
threshold_degraded = "1G"
|
||||||
|
format_degraded = "MEMORY < %available"
|
||||||
|
}
|
||||||
|
|
||||||
|
tztime local {
|
||||||
|
format = "%Y-%m-%d %H:%M:%S"
|
||||||
|
}
|
||||||
415
.config/mpd/mpd.conf
Normal file
415
.config/mpd/mpd.conf
Normal file
@ -0,0 +1,415 @@
|
|||||||
|
# An example configuration file for MPD.
|
||||||
|
# Read the user manual for documentation: http://www.musicpd.org/doc/user/
|
||||||
|
|
||||||
|
|
||||||
|
# Files and directories #######################################################
|
||||||
|
#
|
||||||
|
# This setting controls the top directory which MPD will search to discover the
|
||||||
|
# available audio files and add them to the daemon's online database. This
|
||||||
|
# setting defaults to the XDG directory, otherwise the music directory will be
|
||||||
|
# be disabled and audio files will only be accepted over ipc socket (using
|
||||||
|
# file:// protocol) or streaming files over an accepted protocol.
|
||||||
|
#
|
||||||
|
music_directory "~/Music"
|
||||||
|
#
|
||||||
|
# This setting sets the MPD internal playlist directory. The purpose of this
|
||||||
|
# directory is storage for playlists created by MPD. The server will use
|
||||||
|
# playlist files not created by the server but only if they are in the MPD
|
||||||
|
# format. This setting defaults to playlist saving being disabled.
|
||||||
|
#
|
||||||
|
playlist_directory "~/.config/mpd/playlists"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the MPD database. This file is used to
|
||||||
|
# load the database at server start up and store the database while the
|
||||||
|
# server is not up. This setting defaults to disabled which will allow
|
||||||
|
# MPD to accept files over ipc socket (using file:// protocol) or streaming
|
||||||
|
# files over an accepted protocol.
|
||||||
|
#
|
||||||
|
db_file "~/.config/mpd/mpd.db"
|
||||||
|
#
|
||||||
|
# These settings are the locations for the daemon log files for the daemon.
|
||||||
|
# These logs are great for troubleshooting, depending on your log_level
|
||||||
|
# settings.
|
||||||
|
#
|
||||||
|
# The special value "syslog" makes MPD use the local syslog daemon. This
|
||||||
|
# setting defaults to logging to syslog.
|
||||||
|
#
|
||||||
|
log_file "~/.config/mpd/mpd.log"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the file which stores the process ID
|
||||||
|
# for use of mpd --kill and some init scripts. This setting is disabled by
|
||||||
|
# default and the pid file will not be stored.
|
||||||
|
#
|
||||||
|
#pid_file "~/.mpd/pid"
|
||||||
|
#
|
||||||
|
# This setting sets the location of the file which contains information about
|
||||||
|
# most variables to get MPD back into the same general shape it was in before
|
||||||
|
# it was brought down. This setting is disabled by default and the server
|
||||||
|
# state will be reset on server start up.
|
||||||
|
#
|
||||||
|
state_file "~/.config/mpd/mpdstate"
|
||||||
|
#
|
||||||
|
# The location of the sticker database. This is a database which
|
||||||
|
# manages dynamic information attached to songs.
|
||||||
|
#
|
||||||
|
#sticker_file "~/.mpd/sticker.sql"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# General music daemon options ################################################
|
||||||
|
#
|
||||||
|
# This setting specifies the user that MPD will run as. MPD should never run as
|
||||||
|
# root and you may use this setting to make MPD change its user ID after
|
||||||
|
# initialization. This setting is disabled by default and MPD is run as the
|
||||||
|
# current user.
|
||||||
|
#
|
||||||
|
user "ben"
|
||||||
|
#
|
||||||
|
# This setting specifies the group that MPD will run as. If not specified
|
||||||
|
# primary group of user specified with "user" setting will be used (if set).
|
||||||
|
# This is useful if MPD needs to be a member of group such as "audio" to
|
||||||
|
# have permission to use sound card.
|
||||||
|
#
|
||||||
|
#group "nogroup"
|
||||||
|
#
|
||||||
|
# This setting sets the address for the daemon to listen on. Careful attention
|
||||||
|
# should be paid if this is assigned to anything other than the default, any.
|
||||||
|
# This setting can deny access to control of the daemon. Not effective if
|
||||||
|
# systemd socket activiation is in use.
|
||||||
|
#
|
||||||
|
# For network
|
||||||
|
#bind_to_address "any"
|
||||||
|
#
|
||||||
|
# And for Unix Socket
|
||||||
|
bind_to_address "~/.config/mpd/socket"
|
||||||
|
#
|
||||||
|
# This setting is the TCP port that is desired for the daemon to get assigned
|
||||||
|
# to.
|
||||||
|
#
|
||||||
|
#port "6600"
|
||||||
|
#
|
||||||
|
# Suppress all messages below the given threshold. Use "verbose" for
|
||||||
|
# troubleshooting. Available setting arguments are "notice", "info", "verbose",
|
||||||
|
# "warning" and "error".
|
||||||
|
#
|
||||||
|
#log_level "notice"
|
||||||
|
#
|
||||||
|
# Setting "restore_paused" to "yes" puts MPD into pause mode instead
|
||||||
|
# of starting playback after startup.
|
||||||
|
#
|
||||||
|
#restore_paused "no"
|
||||||
|
#
|
||||||
|
# This setting enables MPD to create playlists in a format usable by other
|
||||||
|
# music players.
|
||||||
|
#
|
||||||
|
#save_absolute_paths_in_playlists "no"
|
||||||
|
#
|
||||||
|
# This setting defines a list of tag types that will be extracted during the
|
||||||
|
# audio file discovery process. The complete list of possible values can be
|
||||||
|
# found in the user manual.
|
||||||
|
#metadata_to_use "artist,album,title,track,name,genre,date,composer,performer,disc"
|
||||||
|
#
|
||||||
|
# This example just enables the "comment" tag without disabling all
|
||||||
|
# the other supported tags:
|
||||||
|
#metadata_to_use "+comment"
|
||||||
|
#
|
||||||
|
# This setting enables automatic update of MPD's database when files in
|
||||||
|
# music_directory are changed.
|
||||||
|
#
|
||||||
|
#auto_update "yes"
|
||||||
|
#
|
||||||
|
# Limit the depth of the directories being watched, 0 means only watch
|
||||||
|
# the music directory itself. There is no limit by default.
|
||||||
|
#
|
||||||
|
#auto_update_depth "3"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Symbolic link behavior ######################################################
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", MPD will discover audio files by following
|
||||||
|
# symbolic links outside of the configured music_directory.
|
||||||
|
#
|
||||||
|
#follow_outside_symlinks "yes"
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", MPD will discover audio files by following
|
||||||
|
# symbolic links inside of the configured music_directory.
|
||||||
|
#
|
||||||
|
#follow_inside_symlinks "yes"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Zeroconf / Avahi Service Discovery ##########################################
|
||||||
|
#
|
||||||
|
# If this setting is set to "yes", service information will be published with
|
||||||
|
# Zeroconf / Avahi.
|
||||||
|
#
|
||||||
|
#zeroconf_enabled "yes"
|
||||||
|
#
|
||||||
|
# The argument to this setting will be the Zeroconf / Avahi unique name for
|
||||||
|
# this MPD server on the network. %h will be replaced with the hostname.
|
||||||
|
#
|
||||||
|
#zeroconf_name "Music Player @ %h"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Permissions #################################################################
|
||||||
|
#
|
||||||
|
# If this setting is set, MPD will require password authorization. The password
|
||||||
|
# setting can be specified multiple times for different password profiles.
|
||||||
|
#
|
||||||
|
#password "password@read,add,control,admin"
|
||||||
|
#
|
||||||
|
# This setting specifies the permissions a user has who has not yet logged in.
|
||||||
|
#
|
||||||
|
#default_permissions "read,add,control,admin"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Database #######################################################################
|
||||||
|
#
|
||||||
|
# An example of a database section instead of the old 'db_file' setting.
|
||||||
|
# It enables mounting other storages into the music directory.
|
||||||
|
#
|
||||||
|
#database {
|
||||||
|
# plugin "simple"
|
||||||
|
# path "~/.local/share/mpd/db
|
||||||
|
# cache_directory "~/.local/share/mpd/cache"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of database config for a sattelite setup
|
||||||
|
#
|
||||||
|
#music_directory "/var/lib/mpd/music"
|
||||||
|
#database {
|
||||||
|
# plugin "proxy"
|
||||||
|
# host "other.mpd.host"
|
||||||
|
# port "6600"
|
||||||
|
#}
|
||||||
|
|
||||||
|
# Input #######################################################################
|
||||||
|
#
|
||||||
|
input {
|
||||||
|
plugin "curl"
|
||||||
|
# proxy "proxy.isp.com:8080"
|
||||||
|
# proxy_user "user"
|
||||||
|
# proxy_password "password"
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Audio Output ################################################################
|
||||||
|
#
|
||||||
|
# MPD supports various audio output types, as well as playing through multiple
|
||||||
|
# audio outputs at the same time, through multiple audio_output settings
|
||||||
|
# blocks. Setting this block is optional, though the server will only attempt
|
||||||
|
# autodetection for one sound card.
|
||||||
|
#
|
||||||
|
# An example of an ALSA output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "alsa"
|
||||||
|
# name "My ALSA Device"
|
||||||
|
## device "hw:0,0" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
## mixer_device "default" # optional
|
||||||
|
## mixer_control "PCM" # optional
|
||||||
|
## mixer_index "0" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an OSS output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "oss"
|
||||||
|
# name "My OSS Device"
|
||||||
|
## device "/dev/dsp" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
## mixer_device "/dev/mixer" # optional
|
||||||
|
## mixer_control "PCM" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a shout output (for streaming to Icecast):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "shout"
|
||||||
|
# encoder "vorbis" # optional
|
||||||
|
# name "My Shout Stream"
|
||||||
|
# host "localhost"
|
||||||
|
# port "8000"
|
||||||
|
# mount "/mpd.ogg"
|
||||||
|
# password "hackme"
|
||||||
|
# quality "5.0"
|
||||||
|
# bitrate "128"
|
||||||
|
# format "44100:16:1"
|
||||||
|
## protocol "icecast2" # optional
|
||||||
|
## user "source" # optional
|
||||||
|
## description "My Stream Description" # optional
|
||||||
|
## url "http://example.com" # optional
|
||||||
|
## genre "jazz" # optional
|
||||||
|
## public "no" # optional
|
||||||
|
## timeout "2" # optional
|
||||||
|
## mixer_type "software" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a recorder output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "recorder"
|
||||||
|
# name "My recorder"
|
||||||
|
# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# path "/var/lib/mpd/recorder/mpd.ogg"
|
||||||
|
## quality "5.0" # do not define if bitrate is defined
|
||||||
|
# bitrate "128" # do not define if quality is defined
|
||||||
|
# format "44100:16:1"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a httpd output (built-in HTTP streaming server):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "httpd"
|
||||||
|
# name "My HTTP Stream"
|
||||||
|
# encoder "vorbis" # optional, vorbis or lame
|
||||||
|
# port "8000"
|
||||||
|
# bind_to_address "0.0.0.0" # optional, IPv4 or IPv6
|
||||||
|
## quality "5.0" # do not define if bitrate is defined
|
||||||
|
# bitrate "128" # do not define if quality is defined
|
||||||
|
# format "44100:16:1"
|
||||||
|
# max_clients "0" # optional 0=no limit
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a pulseaudio output (streaming to a remote pulseaudio server)
|
||||||
|
#
|
||||||
|
audio_output {
|
||||||
|
type "pulse"
|
||||||
|
name "My Pulse Output"
|
||||||
|
## server "remote_server" # optional
|
||||||
|
## sink "remote_server_sink" # optional
|
||||||
|
## media_role "media_role" #optional
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# An example of a winmm output (Windows multimedia API).
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "winmm"
|
||||||
|
# name "My WinMM output"
|
||||||
|
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||||
|
# or
|
||||||
|
## device "0" # optional
|
||||||
|
## mixer_type "hardware" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of a wasapi output (Windows multimedia API).
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "wasapi"
|
||||||
|
# name "My WASAPI output"
|
||||||
|
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||||
|
# or
|
||||||
|
## device "0" # optional
|
||||||
|
## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
|
||||||
|
## exclusive "no" # optional
|
||||||
|
## Enumerate all devices in log.
|
||||||
|
## enumerate "no" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an openal output.
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "openal"
|
||||||
|
# name "My OpenAL output"
|
||||||
|
## device "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an sndio output.
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "sndio"
|
||||||
|
# name "sndio output"
|
||||||
|
# mixer_type "hardware"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
# An example of an OS X output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "osx"
|
||||||
|
# name "My OS X Device"
|
||||||
|
## device "Built-in Output" # optional
|
||||||
|
## channel_map "-1,-1,0,1" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## Example "pipe" output:
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "pipe"
|
||||||
|
# name "my pipe"
|
||||||
|
# command "aplay -f cd 2>/dev/null"
|
||||||
|
## Or if you're want to use AudioCompress
|
||||||
|
# command "AudioCompress -m | aplay -f cd 2>/dev/null"
|
||||||
|
## Or to send raw PCM stream through PCM:
|
||||||
|
# command "nc example.org 8765"
|
||||||
|
# format "44100:16:2"
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
## An example of a null output (for no audio output):
|
||||||
|
#
|
||||||
|
#audio_output {
|
||||||
|
# type "null"
|
||||||
|
# name "My Null Output"
|
||||||
|
# mixer_type "none" # optional
|
||||||
|
#}
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
# Normalization automatic volume adjustments ##################################
|
||||||
|
#
|
||||||
|
# This setting specifies the type of ReplayGain to use. This setting can have
|
||||||
|
# the argument "off", "album", "track" or "auto". "auto" is a special mode that
|
||||||
|
# chooses between "track" and "album" depending on the current state of
|
||||||
|
# random playback. If random playback is enabled then "track" mode is used.
|
||||||
|
# See <https://wiki.hydrogenaud.io/index.php?title=Replaygain> for
|
||||||
|
# more details about ReplayGain.
|
||||||
|
# This setting is off by default.
|
||||||
|
#
|
||||||
|
#replaygain "album"
|
||||||
|
#
|
||||||
|
# This setting sets the pre-amp used for files that have ReplayGain tags. By
|
||||||
|
# default this setting is disabled.
|
||||||
|
#
|
||||||
|
#replaygain_preamp "0"
|
||||||
|
#
|
||||||
|
# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
|
||||||
|
# By default this setting is disabled.
|
||||||
|
#
|
||||||
|
#replaygain_missing_preamp "0"
|
||||||
|
#
|
||||||
|
# This setting enables or disables ReplayGain limiting.
|
||||||
|
# MPD calculates actual amplification based on the ReplayGain tags
|
||||||
|
# and replaygain_preamp / replaygain_missing_preamp setting.
|
||||||
|
# If replaygain_limit is enabled MPD will never amplify audio signal
|
||||||
|
# above its original level. If replaygain_limit is disabled such amplification
|
||||||
|
# might occur. By default this setting is enabled.
|
||||||
|
#
|
||||||
|
#replaygain_limit "yes"
|
||||||
|
#
|
||||||
|
# This setting enables on-the-fly normalization volume adjustment. This will
|
||||||
|
# result in the volume of all playing audio to be adjusted so the output has
|
||||||
|
# equal "loudness". This setting is disabled by default.
|
||||||
|
#
|
||||||
|
#volume_normalization "no"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
# Character Encoding ##########################################################
|
||||||
|
#
|
||||||
|
# If file or directory names do not display correctly for your locale then you
|
||||||
|
# may need to modify this setting.
|
||||||
|
#
|
||||||
|
#filesystem_charset "UTF-8"
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
8
.config/ncmpcpp/config
Normal file
8
.config/ncmpcpp/config
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Connect to MPD running on specified host/unix socket. When HOST starts with a '/', it is assumed to be a unix socket. Note: MPD_HOST environment variable overrides this setting.
|
||||||
|
mpd_host = $HOME/.config/mpd/socket
|
||||||
|
|
||||||
|
# Connect to MPD on the specified port. Note: MPD_PORT environment variable overrides this setting.
|
||||||
|
#mpd_port = PORT
|
||||||
|
|
||||||
|
# Search for files in specified directory. This is needed for tag editor to work.
|
||||||
|
mpd_music_dir = $HOME/Music
|
||||||
157
.config/nvim/init.lua
Normal file
157
.config/nvim/init.lua
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
--[[ init.lua ]]
|
||||||
|
|
||||||
|
-- LEADER
|
||||||
|
-- These keybindings need to be defined before the first /
|
||||||
|
-- is called; otherwise, it will default to "\"
|
||||||
|
vim.g.mapleader = "\\"
|
||||||
|
vim.g.localleader = "\\"
|
||||||
|
|
||||||
|
-- IMPORTS
|
||||||
|
require('vars') -- Variables
|
||||||
|
require('opts') -- Options
|
||||||
|
require('keys') -- Keymaps
|
||||||
|
require('auto') -- Automaps
|
||||||
|
require('plug') -- Plugins
|
||||||
|
|
||||||
|
-- nvim-tree
|
||||||
|
require("nvim-tree").setup({
|
||||||
|
sort_by = "case_sensitive",
|
||||||
|
view = {
|
||||||
|
adaptive_size = true,
|
||||||
|
mappings = {
|
||||||
|
list = {
|
||||||
|
{ key = "u", action = "dir_up" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
renderer = {
|
||||||
|
group_empty = true,
|
||||||
|
},
|
||||||
|
filters = {
|
||||||
|
dotfiles = true,
|
||||||
|
custom = { "^.git$" },
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- mason
|
||||||
|
require("mason").setup()
|
||||||
|
|
||||||
|
-- lspconfig
|
||||||
|
require('lspconfig')['pyright'].setup {
|
||||||
|
on_attach = on_attach,
|
||||||
|
flags = lsp_flags,
|
||||||
|
}
|
||||||
|
require('lspconfig')['ansiblels'].setup{}
|
||||||
|
require('lspconfig')['bashls'].setup{}
|
||||||
|
require('lspconfig')['sumneko_lua'].setup{
|
||||||
|
settings = {
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
globals = { 'vim', 'on_attach', 'lsp_flags'}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
require('lspconfig')['yamlls'].setup{
|
||||||
|
settings = {
|
||||||
|
yaml = {
|
||||||
|
customTags = { '!vault'}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
require('lspconfig')['intelephense'].setup{}
|
||||||
|
require('lspconfig')['grammarly'].setup{}
|
||||||
|
require('lspconfig')['terraformls'].setup{}
|
||||||
|
|
||||||
|
-- Completion Plugin Setup
|
||||||
|
local cmp = require'cmp'
|
||||||
|
cmp.setup({
|
||||||
|
-- Enable LSP snippets
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = {
|
||||||
|
['<C-p>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<C-n>'] = cmp.mapping.select_next_item(),
|
||||||
|
-- Add tab support
|
||||||
|
['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
||||||
|
['<Tab>'] = cmp.mapping.select_next_item(),
|
||||||
|
['<C-S-f>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.close(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({
|
||||||
|
behavior = cmp.ConfirmBehavior.Insert,
|
||||||
|
select = true,
|
||||||
|
})
|
||||||
|
},
|
||||||
|
-- Installed sources:
|
||||||
|
sources = {
|
||||||
|
{ name = 'path' }, -- file paths
|
||||||
|
{ name = 'nvim_lsp', keyword_length = 3 }, -- from language server
|
||||||
|
{ name = 'nvim_lsp_signature_help'}, -- display function signatures with current parameter emphasized
|
||||||
|
{ name = 'nvim_lua', keyword_length = 2}, -- complete neovim's Lua runtime API such vim.lsp.*
|
||||||
|
{ name = 'buffer', keyword_length = 2 }, -- source current buffer
|
||||||
|
{ name = 'vsnip', keyword_length = 2 }, -- nvim-cmp source for vim-vsnip
|
||||||
|
{ name = 'calc'}, -- source for math calculation
|
||||||
|
},
|
||||||
|
window = {
|
||||||
|
completion = cmp.config.window.bordered(),
|
||||||
|
documentation = cmp.config.window.bordered(),
|
||||||
|
},
|
||||||
|
formatting = {
|
||||||
|
fields = {'menu', 'abbr', 'kind'},
|
||||||
|
format = function(entry, item)
|
||||||
|
local menu_icon ={
|
||||||
|
nvim_lsp = 'λ',
|
||||||
|
vsnip = '⋗',
|
||||||
|
buffer = 'Ω',
|
||||||
|
path = '🖫',
|
||||||
|
}
|
||||||
|
item.menu = menu_icon[entry.source.name]
|
||||||
|
return item
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- treesitter
|
||||||
|
require('nvim-treesitter.configs').setup {
|
||||||
|
ensure_installed = { "lua", "toml", "python", "bash", "yaml" },
|
||||||
|
auto_install = true,
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
additional_vim_regex_highlighting=false,
|
||||||
|
},
|
||||||
|
ident = { enable = true },
|
||||||
|
rainbow = {
|
||||||
|
enable = true,
|
||||||
|
extended_mode = true,
|
||||||
|
max_file_lines = nil,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- fterm
|
||||||
|
require'FTerm'.setup({
|
||||||
|
auto_close = true,
|
||||||
|
border = 'double',
|
||||||
|
dimensions = {
|
||||||
|
height = 0.7,
|
||||||
|
width = 0.7,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- autopairs
|
||||||
|
require('nvim-autopairs').setup{} -- Add this line
|
||||||
|
|
||||||
|
-- lualine
|
||||||
|
require('lualine').setup {
|
||||||
|
options = {
|
||||||
|
theme = 'onedark',
|
||||||
|
icons_enabled = true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- onedark
|
||||||
|
require('onedark').load()
|
||||||
9
.config/nvim/lua/auto.lua
Normal file
9
.config/nvim/lua/auto.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
--[[ auto.lua ]]
|
||||||
|
|
||||||
|
-- run PackerInstall when plugins file saved
|
||||||
|
vim.cmd([[
|
||||||
|
augroup packer_user_config
|
||||||
|
autocmd!
|
||||||
|
autocmd BufWritePost plug.lua source <afile> | PackerInstall
|
||||||
|
augroup end
|
||||||
|
]])
|
||||||
49
.config/nvim/lua/keys.lua
Normal file
49
.config/nvim/lua/keys.lua
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
--[[ keys.lua ]]
|
||||||
|
--
|
||||||
|
-- This function takes in four parameters:
|
||||||
|
--
|
||||||
|
-- mode: the mode you want the key bind to apply to (e.g., insert mode, normal mode, command mode, visual mode).
|
||||||
|
-- sequence: the sequence of keys to press.
|
||||||
|
-- command: the command you want the keypresses to execute.
|
||||||
|
-- options: an optional Lua table of options to configure (e.g., silent or noremap).
|
||||||
|
|
||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
-- remap the key used to leave insert mode
|
||||||
|
map('i', 'jk', '', {})
|
||||||
|
|
||||||
|
-- movement mappings
|
||||||
|
map('', '<C-t><up>', 'tabr<cr>', {})
|
||||||
|
map('', '<C-t><down>', 'tabl<cr>', {})
|
||||||
|
map('', '<C-t><left>', 'tabp<cr>', {})
|
||||||
|
map('', '<C-t><right>', 'tabn<cr>', {})
|
||||||
|
|
||||||
|
-- swap between split windows
|
||||||
|
map('n', '<A-Up>', ':wincmd k<CR>', {})
|
||||||
|
map('n', '<A-Down>', ':wincmd j<CR>', {})
|
||||||
|
map('n', '<A-Left>', ':wincmd h<CR>', {})
|
||||||
|
map('n', '<A-Right>', ':wincmd l<CR>', {})
|
||||||
|
|
||||||
|
-- rewrite tabs to spaces
|
||||||
|
map('' ,'<F2>' ,'%retab!' , {})
|
||||||
|
|
||||||
|
-- press 'enter' after searching to clear highlighting until the next search
|
||||||
|
map('n', '<CR>', ':noh<CR><CR>', {noremap = true})
|
||||||
|
|
||||||
|
-- copy/paste between vim instances
|
||||||
|
map('v' ,'<leader>y' ,':w! ~/.cache/nvim/vitmp<CR>' , {})
|
||||||
|
map('n' ,'<leader>p' ,':r ~/.cache/nvim/vitmp<CR>' , {})
|
||||||
|
|
||||||
|
-- save as sudo
|
||||||
|
map('c', 'w!!', ':w !sudo tee > /dev/null %', {})
|
||||||
|
|
||||||
|
-- quickly edit/reload this configuration file
|
||||||
|
map('n', 'gev', ':e $MYVIMRC<CR>', {noremap = true})
|
||||||
|
map('n', 'gsv', ':so $MYVIMRC<CR>', {noremap = true})
|
||||||
|
|
||||||
|
-- plugin mappings
|
||||||
|
map('', '<C-n>', ':NvimTreeToggle<CR>', {})
|
||||||
|
map('n', 'l', ':IndentLinesToggle<CR>', {})
|
||||||
|
map('n', 't', ':TagbarToggle<CR>', {})
|
||||||
|
map('n', 'ff', [[:Telescope find_files]], {})
|
||||||
|
map('n', 'T', ':lua require("FTerm").toggle()<CR>', {})
|
||||||
104
.config/nvim/lua/opts.lua
Normal file
104
.config/nvim/lua/opts.lua
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
--[[ opts.lua ]]
|
||||||
|
-- vim.o: maps to vim.api.nvim_set_option; equivalent to :set.
|
||||||
|
-- vim.go: maps to vim.api.nvim_set_option; equivalent to :setglobal.
|
||||||
|
-- vim.bo; maps to vim.api.nvim_buf_set_option; equivalent to :setlocal for buffer options.
|
||||||
|
-- vim.wo: maps to vim.api.nvim_win_set_option; equivalent to :setlocal for window options.
|
||||||
|
|
||||||
|
local opt = vim.opt
|
||||||
|
local optg = vim.go
|
||||||
|
local optb = vim.bo
|
||||||
|
local optw = vim.wo
|
||||||
|
local cmd = vim.api.nvim_command
|
||||||
|
|
||||||
|
-- [[ Context ]]
|
||||||
|
-- opt.colorcolumn = '80' -- str: Show col for max line length
|
||||||
|
opt.number = true -- bool: Show line numbers
|
||||||
|
opt.relativenumber = false -- bool: Show relative line numbers
|
||||||
|
opt.scrolloff = 4 -- int: Min num lines of context
|
||||||
|
opt.signcolumn = "yes" -- str: Show the sign column
|
||||||
|
opt.cursorline = true -- bool: highlight current line
|
||||||
|
opt.cursorcolumn = true -- boot: highlight current column
|
||||||
|
|
||||||
|
-- [[ Filetypes ]]
|
||||||
|
opt.encoding = 'utf8' -- str: String encoding to use
|
||||||
|
opt.fileencoding = 'utf8' -- str: File encoding to use
|
||||||
|
|
||||||
|
-- [[ Theme ]]
|
||||||
|
opt.syntax = "ON" -- str: Allow syntax highlighting
|
||||||
|
opt.termguicolors = true -- bool: If term supports ui color then enable
|
||||||
|
cmd('colorscheme onedark') -- cmd: Set the colorscheme
|
||||||
|
|
||||||
|
-- [[ Search ]]
|
||||||
|
opt.ignorecase = true -- bool: Ignore case in search patterns
|
||||||
|
opt.smartcase = true -- bool: Override ignorecase if search contains capitals
|
||||||
|
opt.incsearch = true -- bool: Use incremental search
|
||||||
|
opt.hlsearch = true -- bool: Highlight search matches
|
||||||
|
|
||||||
|
-- [[ Whitespace ]]
|
||||||
|
opt.expandtab = true -- bool: Use spaces instead of tabs
|
||||||
|
opt.shiftwidth = 2 -- num: Size of an indent
|
||||||
|
opt.softtabstop = 2 -- num: Number of spaces tabs count for in insert mode
|
||||||
|
opt.tabstop = 2 -- num: Number of spaces tabs count for
|
||||||
|
opt.autoindent = true -- bool: enable auto-indent
|
||||||
|
opt.foldmethod = "indent"
|
||||||
|
opt.foldlevel = 99
|
||||||
|
|
||||||
|
-- [[ Splits ]]
|
||||||
|
opt.splitright = true -- bool: Place new window to right of current one
|
||||||
|
opt.splitbelow = true -- bool: Place new window below the current one
|
||||||
|
|
||||||
|
-- [[ Other ]]
|
||||||
|
opt.ruler = true
|
||||||
|
opt.complete = 'i'
|
||||||
|
opt.laststatus = 2 -- num: show status line
|
||||||
|
opt.autoindent = true -- bool: enable auto-indent
|
||||||
|
opt.backspace = "indent,eol,start" -- str: backspace through anything in insert mode
|
||||||
|
opt.wildmenu = true
|
||||||
|
opt.maxmempattern = 5000 -- num: increase memory used for pattern matching
|
||||||
|
opt.modelines = 5
|
||||||
|
|
||||||
|
-- highlighting
|
||||||
|
vim.cmd[[highlight Search ctermbg=LightYellow]]
|
||||||
|
vim.cmd[[highlight Search ctermfg=Red]]
|
||||||
|
vim.cmd[[highlight BadWhitespace ctermbg=red guibg=darkred]]
|
||||||
|
|
||||||
|
--Set completeopt to have a better completion experience
|
||||||
|
-- :help completeopt
|
||||||
|
-- menuone: popup even when there's only one match
|
||||||
|
-- noinsert: Do not insert text until a selection is made
|
||||||
|
-- noselect: Do not select, force to select one from the menu
|
||||||
|
-- shortness: avoid showing extra messages when using completion
|
||||||
|
-- updatetime: set updatetime for CursorHold
|
||||||
|
opt.completeopt = {'menuone', 'noselect', 'noinsert'}
|
||||||
|
opt.shortmess = vim.opt.shortmess + { c = true}
|
||||||
|
vim.api.nvim_set_option('updatetime', 300)
|
||||||
|
|
||||||
|
-- Fixed column for diagnostics to appear
|
||||||
|
-- Show autodiagnostic popup on cursor hover_range
|
||||||
|
-- Goto previous / next diagnostic warning / error
|
||||||
|
-- Show inlay_hints more frequently
|
||||||
|
vim.cmd([[
|
||||||
|
set signcolumn=yes
|
||||||
|
autocmd CursorHold * lua vim.diagnostic.open_float(nil, { focusable = false })
|
||||||
|
]])
|
||||||
|
|
||||||
|
-- configure fterm
|
||||||
|
vim.api.nvim_create_user_command('FTermOpen', require('FTerm').open, { bang = true })
|
||||||
|
vim.api.nvim_create_user_command('FTermClose', require('FTerm').close, { bang = true })
|
||||||
|
vim.api.nvim_create_user_command('FTermExit', require('FTerm').exit, { bang = true })
|
||||||
|
vim.api.nvim_create_user_command('FTermToggle', require('FTerm').toggle, { bang = true })
|
||||||
|
|
||||||
|
local fterm = require("FTerm")
|
||||||
|
local gitui = fterm:new({
|
||||||
|
ft = 'fterm_gitui',
|
||||||
|
cmd = "gitui",
|
||||||
|
dimensions = {
|
||||||
|
height = 0.9,
|
||||||
|
width = 0.9
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Use this to toggle gitui in a floating terminal
|
||||||
|
vim.keymap.set('n', '<A-g>', function()
|
||||||
|
gitui:toggle()
|
||||||
|
end)
|
||||||
62
.config/nvim/lua/plug.lua
Normal file
62
.config/nvim/lua/plug.lua
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
--[[ plug.lua ]]
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
-- Packer can manage itself
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- nvim-tree
|
||||||
|
use {'kyazdani42/nvim-tree.lua',
|
||||||
|
requires = {
|
||||||
|
'kyazdani42/nvim-web-devicons',
|
||||||
|
},
|
||||||
|
tag = 'nightly'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- mason
|
||||||
|
use 'williamboman/mason.nvim'
|
||||||
|
use 'williamboman/mason-lspconfig.nvim'
|
||||||
|
use 'neovim/nvim-lspconfig'
|
||||||
|
|
||||||
|
-- treesitter
|
||||||
|
use 'nvim-treesitter/nvim-treesitter'
|
||||||
|
|
||||||
|
-- Completion framework:
|
||||||
|
use 'hrsh7th/nvim-cmp'
|
||||||
|
|
||||||
|
-- LSP completion source:
|
||||||
|
use 'hrsh7th/cmp-nvim-lsp'
|
||||||
|
|
||||||
|
-- Useful completion sources:
|
||||||
|
use 'hrsh7th/cmp-nvim-lua'
|
||||||
|
use 'hrsh7th/cmp-nvim-lsp-signature-help'
|
||||||
|
use 'hrsh7th/cmp-vsnip'
|
||||||
|
use 'hrsh7th/cmp-path'
|
||||||
|
use 'hrsh7th/cmp-buffer'
|
||||||
|
use 'hrsh7th/vim-vsnip'
|
||||||
|
|
||||||
|
-- telescope
|
||||||
|
use {
|
||||||
|
'nvim-telescope/telescope.nvim', -- fuzzy finder
|
||||||
|
requires = { {'nvim-lua/plenary.nvim'} }
|
||||||
|
}
|
||||||
|
|
||||||
|
-- quality-addons
|
||||||
|
use { 'majutsushi/tagbar' } -- code structure
|
||||||
|
use { 'Yggdroot/indentLine' } -- see indentation
|
||||||
|
use { 'tpope/vim-fugitive' } -- git integration
|
||||||
|
use { 'junegunn/gv.vim' } -- commit history
|
||||||
|
use { 'windwp/nvim-autopairs' } -- auto close brackets, etc.
|
||||||
|
use { 'numToStr/FTerm.nvim' } -- floating terminal
|
||||||
|
|
||||||
|
|
||||||
|
-- theme
|
||||||
|
use { 'mhinz/vim-startify' } -- start screen
|
||||||
|
use { 'DanilaMihailov/beacon.nvim' } -- cursor jump
|
||||||
|
use {
|
||||||
|
'nvim-lualine/lualine.nvim', -- statusline
|
||||||
|
requires = {'kyazdani42/nvim-web-devicons',
|
||||||
|
opt = true}
|
||||||
|
}
|
||||||
|
use { 'navarasu/onedark.nvim' }
|
||||||
|
|
||||||
|
end)
|
||||||
9
.config/nvim/lua/vars.lua
Normal file
9
.config/nvim/lua/vars.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
--[[ vars.lua ]]
|
||||||
|
|
||||||
|
local g = vim.g
|
||||||
|
g.t_co = 256
|
||||||
|
g.background = "dark"
|
||||||
|
|
||||||
|
-- Update the packpath
|
||||||
|
local packer_path = vim.fn.stdpath('config') .. '/site'
|
||||||
|
vim.o.packpath = vim.o.packpath .. ',' .. packer_path
|
||||||
1
.config/nvim/site/pack/packer/start/packer.nvim
Submodule
1
.config/nvim/site/pack/packer/start/packer.nvim
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 3a9f9801f683946b9f1047d8f4bf9946c29e927d
|
||||||
1
.config/ohmyzsh
Submodule
1
.config/ohmyzsh
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 18e7e5d0339f3491a6c0324e2443415309b56173
|
||||||
84
.config/shell/aliases
Normal file
84
.config/shell/aliases
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
# vim: set filetype=zsh
|
||||||
|
|
||||||
|
alias dos2unix='sed "s/$//"'
|
||||||
|
|
||||||
|
alias tmux='tmux -2'
|
||||||
|
|
||||||
|
# list command
|
||||||
|
if command -v exa >/dev/null 2>&1; then
|
||||||
|
alias ls='exa'
|
||||||
|
else
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
fi
|
||||||
|
alias grep='grep --color=auto'
|
||||||
|
alias fgrep='fgrep --color=auto'
|
||||||
|
alias egrep='egrep --color=auto'
|
||||||
|
|
||||||
|
alias ll='\ls -lh'
|
||||||
|
alias lla='\ls -lha'
|
||||||
|
alias lt='\ls --color=auto -lhFart'
|
||||||
|
if command -v lsd >/dev/null 2>&1; then
|
||||||
|
alias ls='lsd'
|
||||||
|
alias ll='lsd -l'
|
||||||
|
alias lla='lsd -la'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# editor
|
||||||
|
if command -v vim >/dev/null 2>&1; then
|
||||||
|
alias vi='vim'
|
||||||
|
fi
|
||||||
|
if command -v nvim >/dev/null 2>&1; then
|
||||||
|
alias vim='nvim'
|
||||||
|
alias vi='nvim'
|
||||||
|
fi
|
||||||
|
alias purevim='vim -u NONE'
|
||||||
|
|
||||||
|
# tmux
|
||||||
|
if [[ -n $TMUX ]]; then
|
||||||
|
alias fzf='fzf-tmux'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ansible
|
||||||
|
alias restart-bind='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml restart-bind.yml'
|
||||||
|
alias update-bind='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml site-setup.yml -l proddns01 -t bind'
|
||||||
|
alias update-squid='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml site-setup.yml -l prodinf02 -t squid'
|
||||||
|
alias update-certbot='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml site-setup.yml -l prodinf01 -t certbot'
|
||||||
|
alias update-haproxy='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml site-setup.yml -l prodhlb -t haproxy'
|
||||||
|
alias update-firewalls='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml site-setup.yml -t firewall'
|
||||||
|
alias run-envpatching='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml update-hosts.yml'
|
||||||
|
alias run-envreboot='cd ~/src/ansible-playbooks-prod; ansible-playbook -i inventory.yaml restart-hosts.yml'
|
||||||
|
|
||||||
|
# configs
|
||||||
|
alias zshconfig="$EDITOR ~/.zshrc"
|
||||||
|
alias i3config="$EDITOR ~/.config/i3/config"
|
||||||
|
alias sshconfig="$EDITOR ~/.ssh/config"
|
||||||
|
alias edithosts="sudoedit /etc/hosts"
|
||||||
|
alias vimrc="cd ~/.config/nvim/; $EDITOR"
|
||||||
|
|
||||||
|
# fix commands
|
||||||
|
alias ipcalc='~/.local/bin/ipcalc -n'
|
||||||
|
alias mpv="mpv -hwdec=vdpau"
|
||||||
|
alias ifstat="/usr/bin/ifstat"
|
||||||
|
alias snapper="sudo /usr/bin/snapper"
|
||||||
|
alias ap="~/.local/bin/ansible-playbook"
|
||||||
|
|
||||||
|
# LVM
|
||||||
|
alias lvs='sudo lvs'
|
||||||
|
alias vgs='sudo vgs'
|
||||||
|
alias pvs='sudo pvs'
|
||||||
|
alias lvcreate='sudo lvcreate'
|
||||||
|
alias lvresize='sudo lvresize'
|
||||||
|
|
||||||
|
# BTRFS
|
||||||
|
alias snapshot_home="sudo btrfs subvol snapshot /mnt/btrfsroot/home /.snaps/home@$(date '+%Y-%m-%d_%H-%M-%S')"
|
||||||
|
alias snapshot_rootfs="sudo btrfs subvol snapshot /mnt/btrfsroot/rootfs /.snaps/rootfs@$(date '+%Y-%m-%d_%H-%M-%S')"
|
||||||
|
|
||||||
|
# youtube-dl
|
||||||
|
alias soundcloud-dl='youtube-dlc --extract-audio --audio-format vorbis --audio-quality 2'
|
||||||
|
alias ytdl-playlist='youtube-dlc --ignore-errors --extract-audio --audio-format vorbis --format bestaudio --audio-quality 160K --output "%(title)s.%(ext)s" --yes-playlist'
|
||||||
|
|
||||||
|
# python web server
|
||||||
|
alias websvr='python3 -m http.server 8000'
|
||||||
|
|
||||||
|
# powershell
|
||||||
|
alias powershell='pwsh'
|
||||||
50
.config/shell/common
Normal file
50
.config/shell/common
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
# vim: set filetype=zsh
|
||||||
|
|
||||||
|
# Set pager
|
||||||
|
export PAGER='less'
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
export EDITOR='nvim'
|
||||||
|
else
|
||||||
|
export EDITOR='nvim'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ansible Settings
|
||||||
|
export ANSIBLE_NOCOWS=1
|
||||||
|
export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/.local/bin/ansible-vault-pass-client
|
||||||
|
|
||||||
|
# set MPD host
|
||||||
|
export MPD_HOST="$HOME/.config/mpd/socket"
|
||||||
|
|
||||||
|
# pass passwordstore
|
||||||
|
PASSWORD_STORE_DIR=$HOME/.config/password-store
|
||||||
|
PASSWORD_STORE_KEY=$HOME/.config/password-store/.gpg-id
|
||||||
|
|
||||||
|
|
||||||
|
# unzip to directory of same name, minus .zip
|
||||||
|
unzipd () {
|
||||||
|
zipfile="$1"
|
||||||
|
zipdir=${1%.zip}
|
||||||
|
unzip -d "$zipdir" "$zipfile"
|
||||||
|
}
|
||||||
|
|
||||||
|
zshreload () {
|
||||||
|
source ~/.zshrc
|
||||||
|
}
|
||||||
|
|
||||||
|
winget () {
|
||||||
|
wget $1 --header="User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
|
||||||
|
}
|
||||||
|
|
||||||
|
myip () {curl https://ipinfo.io/ip}
|
||||||
|
|
||||||
|
removespaces () {
|
||||||
|
mv "$1" `echo $1 | tr ' ' '_'`
|
||||||
|
}
|
||||||
|
|
||||||
|
pdf () {xpdf $1 &}
|
||||||
|
|
||||||
|
# download youtube playlist to create batchfile
|
||||||
|
# $1 is the playlist
|
||||||
|
ytpl-export () {yt-dlp -j --flat-playlist "$1" | jq -r '.id' | sed 's_^_https://youtu.be/_'}
|
||||||
0
.config/yadm/config
Normal file
0
.config/yadm/config
Normal file
61
.gitconfig
Normal file
61
.gitconfig
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# vim: set sw=2 sts=2 ts=2 noexpandtab :
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
branch = auto
|
||||||
|
diff = auto
|
||||||
|
grep = auto
|
||||||
|
interactive = auto
|
||||||
|
status = auto
|
||||||
|
|
||||||
|
[user]
|
||||||
|
email = ben@unkin.net
|
||||||
|
name = Ben Vincent
|
||||||
|
|
||||||
|
[core]
|
||||||
|
autocrlf = false
|
||||||
|
excludesfile = ~/.config/git/global_ignore
|
||||||
|
whitespace = blank-at-eol,blank-at-eof,space-before-tab
|
||||||
|
|
||||||
|
[init]
|
||||||
|
defaultBranch = master
|
||||||
|
|
||||||
|
[push]
|
||||||
|
default = simple
|
||||||
|
|
||||||
|
[rerere]
|
||||||
|
enabled = true
|
||||||
|
autoupdate = true
|
||||||
|
|
||||||
|
[rebase]
|
||||||
|
# Automatically stash before a rebase and unstash afterwards.
|
||||||
|
autoStash = true
|
||||||
|
|
||||||
|
[commit]
|
||||||
|
# Show diff when preparing commit message
|
||||||
|
verbose = true
|
||||||
|
template = ~/.config/git/gitmessage
|
||||||
|
|
||||||
|
###
|
||||||
|
### Github specific
|
||||||
|
###
|
||||||
|
[github]
|
||||||
|
user = neoloc
|
||||||
|
|
||||||
|
# read from given uri
|
||||||
|
# push to writable one
|
||||||
|
# http://bit.ly/g9c9Y2
|
||||||
|
#
|
||||||
|
[url "http://github.com/"]
|
||||||
|
insteadOf = "gh:"
|
||||||
|
|
||||||
|
[url "git@github.com:"]
|
||||||
|
pushInsteadOf = "https://github.com/"
|
||||||
|
pushInsteadOf = "http://github.com/"
|
||||||
|
pushInsteadOf = "gh:"
|
||||||
|
|
||||||
|
[credential]
|
||||||
|
helper = store
|
||||||
|
|
||||||
|
[pack]
|
||||||
|
threads = 2
|
||||||
9
.gitmodules
vendored
Normal file
9
.gitmodules
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[submodule ".config/nvim/site/pack/packer/start/packer.nvim"]
|
||||||
|
path = .config/nvim/site/pack/packer/start/packer.nvim
|
||||||
|
url = https://github.com/wbthomason/packer.nvim
|
||||||
|
[submodule ".password-store"]
|
||||||
|
path = .password-store
|
||||||
|
url = https://git.unkin.net/unkinben/pass.git
|
||||||
|
[submodule ".config/ohmyzsh"]
|
||||||
|
path = .config/ohmyzsh
|
||||||
|
url = https://github.com/ohmyzsh/ohmyzsh.git
|
||||||
BIN
.local/share/yadm/archive
Normal file
BIN
.local/share/yadm/archive
Normal file
Binary file not shown.
1
.password-store
Symbolic link
1
.password-store
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/home/ben/.config/password-store
|
||||||
158
.zshrc
Normal file
158
.zshrc
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
export PATH=$HOME/.local/bin:$HOME/.cargo/bin:$PATH
|
||||||
|
|
||||||
|
# set term
|
||||||
|
export TERM=xterm-256color
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH="/home/$(whoami)/.config/ohmyzsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
|
||||||
|
ZSH_THEME="fishy"
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in $ZSH/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
# DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to automatically update without prompting.
|
||||||
|
DISABLE_UPDATE_PROMPT="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
export UPDATE_ZSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# Caution: this setting can cause issues with multiline prompts (zsh 5.7.1 and newer seem to work)
|
||||||
|
# See https://github.com/ohmyzsh/ohmyzsh/issues/5765
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in $ZSH/plugins/
|
||||||
|
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git dnf nmap pass rsync tmux poetry)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
# export LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
HIST_STAMPS="yyyy-mm-dd"
|
||||||
|
SAVEHIST=10000 # Number of entries
|
||||||
|
HISTSIZE=10000
|
||||||
|
HISTFILE=~/.zsh_history # Where the history is stored
|
||||||
|
setopt APPEND_HISTORY # Don't erase history
|
||||||
|
setopt EXTENDED_HISTORY # Add additional data to history like timestamp
|
||||||
|
setopt INC_APPEND_HISTORY # Add immediately
|
||||||
|
setopt HIST_FIND_NO_DUPS # Don't show duplicates in search
|
||||||
|
setopt HIST_IGNORE_SPACE # Don't preserve spaces. You may want to turn it off
|
||||||
|
setopt NO_HIST_BEEP # Don't beep
|
||||||
|
setopt SHARE_HISTORY # Share history between session/terminals
|
||||||
|
|
||||||
|
# set fpath
|
||||||
|
fpath=(~/.zsh/completion $fpath)
|
||||||
|
|
||||||
|
# load the OMZ config
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
# passes the unexpanded glob to the app if it doesnt match (the 'bash ' way of doing things with rsync/scp)
|
||||||
|
setopt nonomatch
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
export LANG=en_AU.UTF-8
|
||||||
|
|
||||||
|
# set XDG_ vars
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_RUNTIME_DIR=/run/user/$(id -u $(whoami))
|
||||||
|
|
||||||
|
# load ssh-agent
|
||||||
|
eval $(systemctl --user show-environment | grep SSH_AUTH_SOCK)
|
||||||
|
export SSH_AUTH_SOCK
|
||||||
|
|
||||||
|
# gpg-agent
|
||||||
|
#GPG_TTY=$(tty)
|
||||||
|
#export GPG_TTY
|
||||||
|
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# ssh
|
||||||
|
# export SSH_KEY_PATH="~/.ssh/rsa_id"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
|
||||||
|
# load shell settings
|
||||||
|
test -r $XDG_CONFIG_HOME/shell/common && source $XDG_CONFIG_HOME/shell/common
|
||||||
|
test -r $XDG_CONFIG_HOME/shell/aliases && source $XDG_CONFIG_HOME/shell/aliases
|
||||||
Loading…
Reference in New Issue
Block a user