* initial commit - dotfiles based on DoomHammer
This commit is contained in:
3
.bash_logout
Normal file
3
.bash_logout
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# ~/.bash_logout: executed by bash(1) when login shell exits.
|
||||||
|
|
||||||
|
test -r ~/.shell-logout && source ~/.shell-logout
|
14
.bash_profile
Normal file
14
.bash_profile
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Via https://tanguy.ortolo.eu/blog/article25/shrc
|
||||||
|
#
|
||||||
|
# At startup, depending on the case:
|
||||||
|
# - run as a login shell (or with the option --login), it executes profile (or
|
||||||
|
# bash_profile instead if it exists (only user-specific version));
|
||||||
|
# - run as an interactive, non-login shell, it executes bashrc (the system-wide
|
||||||
|
# version is called bash.bashrc).
|
||||||
|
#
|
||||||
|
# At exit, it executes ~/.bash_logout (the system-wide version is called
|
||||||
|
# bash.bash_logout).
|
||||||
|
# Note the funny (read: insane) non-login condition for executing bashrc: it is
|
||||||
|
# often worked around by having the profile execute bashrc anyway.
|
||||||
|
|
||||||
|
[[ -f ~/.profile ]] && . ~/.profile
|
75
.bashrc
Normal file
75
.bashrc
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
# Via https://tanguy.ortolo.eu/blog/article25/shrc
|
||||||
|
#
|
||||||
|
# At startup, depending on the case:
|
||||||
|
# - run as a login shell (or with the option --login), it executes profile (or
|
||||||
|
# bash_profile instead if it exists (only user-specific version));
|
||||||
|
# - run as an interactive, non-login shell, it executes bashrc (the system-wide
|
||||||
|
# version is called bash.bashrc).
|
||||||
|
#
|
||||||
|
# At exit, it executes ~/.bash_logout (the system-wide version is called
|
||||||
|
# bash.bash_logout).
|
||||||
|
# Note the funny (read: insane) non-login condition for executing bashrc: it is
|
||||||
|
# often worked around by having the profile execute bashrc anyway.
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[ -z "$PS1" ] && return
|
||||||
|
|
||||||
|
# Source global definitions
|
||||||
|
test -r /etc/bashrc && . /etc/bashrc
|
||||||
|
|
||||||
|
test -r ~/.shell-env && . ~/.shell-env
|
||||||
|
test -r ~/.shell-aliases && . ~/.shell-aliases
|
||||||
|
test -r ~/.shell-common && . ~/.shell-common
|
||||||
|
|
||||||
|
# don't put duplicate lines in the history. See bash(1) for more options
|
||||||
|
# ... or force ignoredups and ignorespace
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
export HISTIGNORE="&:ls:[bf]g:pwd:exit:cd .."
|
||||||
|
|
||||||
|
# append to the history file, don't overwrite it
|
||||||
|
shopt -s histappend
|
||||||
|
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
|
||||||
|
|
||||||
|
# Store multiline commands as one line.
|
||||||
|
shopt -s cmdhist
|
||||||
|
|
||||||
|
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||||
|
HISTSIZE=10000
|
||||||
|
HISTFILESIZE=20000
|
||||||
|
|
||||||
|
# check the window size after each command and, if necessary,
|
||||||
|
# update the values of LINES and COLUMNS.
|
||||||
|
shopt -s checkwinsize
|
||||||
|
|
||||||
|
# Spellcheck directories
|
||||||
|
shopt -s dirspell
|
||||||
|
|
||||||
|
# enable programmable completion features (you don't need to enable
|
||||||
|
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||||
|
# sources /etc/bash.bashrc).
|
||||||
|
test -f /usr/share/bash-completion/bash_completion && . /usr/share/bash-completion/bash_completion
|
||||||
|
test -f /etc/bash_completion && . /etc/bash_completion
|
||||||
|
test -f $BREW_PREFIX/etc/bash_completion && . $BREW_PREFIX/etc/bash_completion
|
||||||
|
|
||||||
|
test -r ~/.bashrc.local && . ~/.bashrc.local
|
||||||
|
|
||||||
|
if command -v fzf-share >/dev/null; then
|
||||||
|
source "$(fzf-share)/key-bindings.bash"
|
||||||
|
source "$(fzf-share)/completion.bash"
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$(direnv hook bash)"
|
||||||
|
|
||||||
|
function right_prompt(){
|
||||||
|
RIGHT_PROMPT="$(starship prompt --right)"
|
||||||
|
RIGHT_PROMPT_RENDERED="${RIGHT_PROMPT@P}"
|
||||||
|
# For some reason this one is less accurate, while the other method below
|
||||||
|
# gives better precision, but also throws errors. Curious!
|
||||||
|
#RIGHT_PROMPT_RENDERED_stripped=$(sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" <<<"$RIGHT_PROMPT_RENDERED")
|
||||||
|
RIGHT_PROMPT_RENDERED_stripped="$(sed -r 's:\\\[([^\\]|\\[^]])*\\\]::g' <<<$RIGHT_PROMPT_RENDERED)"
|
||||||
|
RIGHT_PROMPT_RENDERED_stripped="$(eval echo -e $RIGHT_PROMPT_RENDERED_stripped 2>/dev/null)"
|
||||||
|
printf "\033[50D\033[$((${COLUMNS:-$(tput cols)}-${#RIGHT_PROMPT_RENDERED_stripped}))C$RIGHT_PROMPT_RENDERED\n"
|
||||||
|
}
|
||||||
|
starship_precmd_user_func="right_prompt"
|
||||||
|
|
||||||
|
eval "$(starship init bash)"
|
134
.config/alacritty/alacritty.yml
Normal file
134
.config/alacritty/alacritty.yml
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
font:
|
||||||
|
normal:
|
||||||
|
family: Iosevka Nerd Font Mono
|
||||||
|
style: Regular
|
||||||
|
bold:
|
||||||
|
family: Iosevka Nerd Font Mono
|
||||||
|
style: Bold
|
||||||
|
italic:
|
||||||
|
family: Iosevka Nerd Font Mono
|
||||||
|
style: Italic
|
||||||
|
size: 14
|
||||||
|
use_thin_strokes: true
|
||||||
|
|
||||||
|
selection:
|
||||||
|
save_to_clipboard: true
|
||||||
|
|
||||||
|
key_bindings:
|
||||||
|
- { key: V, mods: Control|Shift, action: Paste }
|
||||||
|
# Support for Meta(Alt/Option)+key {{
|
||||||
|
# from: https://github.com/alacritty/alacritty/issues/62
|
||||||
|
- { key: A, mods: Alt, chars: "\x1ba" }
|
||||||
|
- { key: B, mods: Alt, chars: "\x1bb" }
|
||||||
|
- { key: C, mods: Alt, chars: "\x1bc" }
|
||||||
|
- { key: D, mods: Alt, chars: "\x1bd" }
|
||||||
|
- { key: E, mods: Alt, chars: "\x1be" }
|
||||||
|
- { key: F, mods: Alt, chars: "\x1bf" }
|
||||||
|
- { key: G, mods: Alt, chars: "\x1bg" }
|
||||||
|
- { key: H, mods: Alt, chars: "\x1bh" }
|
||||||
|
- { key: I, mods: Alt, chars: "\x1bi" }
|
||||||
|
- { key: J, mods: Alt, chars: "\x1bj" }
|
||||||
|
- { key: K, mods: Alt, chars: "\x1bk" }
|
||||||
|
- { key: L, mods: Alt, chars: "\x1bl" }
|
||||||
|
- { key: M, mods: Alt, chars: "\x1bm" }
|
||||||
|
- { key: N, mods: Alt, chars: "\x1bn" }
|
||||||
|
- { key: O, mods: Alt, chars: "\x1bo" }
|
||||||
|
- { key: P, mods: Alt, chars: "\x1bp" }
|
||||||
|
- { key: Q, mods: Alt, chars: "\x1bq" }
|
||||||
|
- { key: R, mods: Alt, chars: "\x1br" }
|
||||||
|
- { key: S, mods: Alt, chars: "\x1bs" }
|
||||||
|
- { key: T, mods: Alt, chars: "\x1bt" }
|
||||||
|
- { key: U, mods: Alt, chars: "\x1bu" }
|
||||||
|
- { key: V, mods: Alt, chars: "\x1bv" }
|
||||||
|
- { key: W, mods: Alt, chars: "\x1bw" }
|
||||||
|
- { key: X, mods: Alt, chars: "\x1bx" }
|
||||||
|
- { key: Y, mods: Alt, chars: "\x1by" }
|
||||||
|
- { key: Z, mods: Alt, chars: "\x1bz" }
|
||||||
|
- { key: A, mods: Alt|Shift, chars: "\x1bA" }
|
||||||
|
- { key: B, mods: Alt|Shift, chars: "\x1bB" }
|
||||||
|
- { key: C, mods: Alt|Shift, chars: "\x1bC" }
|
||||||
|
- { key: D, mods: Alt|Shift, chars: "\x1bD" }
|
||||||
|
- { key: E, mods: Alt|Shift, chars: "\x1bE" }
|
||||||
|
- { key: F, mods: Alt|Shift, chars: "\x1bF" }
|
||||||
|
- { key: G, mods: Alt|Shift, chars: "\x1bG" }
|
||||||
|
- { key: H, mods: Alt|Shift, chars: "\x1bH" }
|
||||||
|
- { key: I, mods: Alt|Shift, chars: "\x1bI" }
|
||||||
|
- { key: J, mods: Alt|Shift, chars: "\x1bJ" }
|
||||||
|
- { key: K, mods: Alt|Shift, chars: "\x1bK" }
|
||||||
|
- { key: L, mods: Alt|Shift, chars: "\x1bL" }
|
||||||
|
- { key: M, mods: Alt|Shift, chars: "\x1bM" }
|
||||||
|
- { key: N, mods: Alt|Shift, chars: "\x1bN" }
|
||||||
|
- { key: O, mods: Alt|Shift, chars: "\x1bO" }
|
||||||
|
- { key: P, mods: Alt|Shift, chars: "\x1bP" }
|
||||||
|
- { key: Q, mods: Alt|Shift, chars: "\x1bQ" }
|
||||||
|
- { key: R, mods: Alt|Shift, chars: "\x1bR" }
|
||||||
|
- { key: S, mods: Alt|Shift, chars: "\x1bS" }
|
||||||
|
- { key: T, mods: Alt|Shift, chars: "\x1bT" }
|
||||||
|
- { key: U, mods: Alt|Shift, chars: "\x1bU" }
|
||||||
|
- { key: V, mods: Alt|Shift, chars: "\x1bV" }
|
||||||
|
- { key: W, mods: Alt|Shift, chars: "\x1bW" }
|
||||||
|
- { key: X, mods: Alt|Shift, chars: "\x1bX" }
|
||||||
|
- { key: Y, mods: Alt|Shift, chars: "\x1bY" }
|
||||||
|
- { key: Z, mods: Alt|Shift, chars: "\x1bZ" }
|
||||||
|
- { key: Key1, mods: Alt, chars: "\x1b1" }
|
||||||
|
- { key: Key2, mods: Alt, chars: "\x1b2" }
|
||||||
|
- { key: Key3, mods: Alt, chars: "\x1b3" }
|
||||||
|
- { key: Key4, mods: Alt, chars: "\x1b4" }
|
||||||
|
- { key: Key5, mods: Alt, chars: "\x1b5" }
|
||||||
|
- { key: Key6, mods: Alt, chars: "\x1b6" }
|
||||||
|
- { key: Key7, mods: Alt, chars: "\x1b7" }
|
||||||
|
- { key: Key8, mods: Alt, chars: "\x1b8" }
|
||||||
|
- { key: Key9, mods: Alt, chars: "\x1b9" }
|
||||||
|
- { key: Key0, mods: Alt, chars: "\x1b0" }
|
||||||
|
- { key: Space, mods: Control, chars: "\x00" }
|
||||||
|
- { key: Grave, mods: Alt, chars: "\x1b`" }
|
||||||
|
- { key: Grave, mods: Alt|Shift, chars: "\x1b~" }
|
||||||
|
- { key: Period, mods: Alt, chars: "\x1b." }
|
||||||
|
- { key: Key8, mods: Alt|Shift, chars: "\x1b*" }
|
||||||
|
- { key: Key3, mods: Alt|Shift, chars: "\x1b#" }
|
||||||
|
- { key: Period, mods: Alt|Shift, chars: "\x1b>" }
|
||||||
|
- { key: Comma, mods: Alt|Shift, chars: "\x1b<" }
|
||||||
|
- { key: Minus, mods: Alt|Shift, chars: "\x1b_" }
|
||||||
|
- { key: Key5, mods: Alt|Shift, chars: "\x1b%" }
|
||||||
|
- { key: Key6, mods: Alt|Shift, chars: "\x1b^" }
|
||||||
|
- { key: Backslash, mods: Alt, chars: "\x1b\\" }
|
||||||
|
- { key: Backslash, mods: Alt|Shift, chars: "\x1b|" }
|
||||||
|
# Support for Meta(Alt/Option)+key {{
|
||||||
|
# from: https://github.com/alacritty/alacritty/issues/62
|
||||||
|
|
||||||
|
# Base16 Solarized Light - alacritty color config
|
||||||
|
# Ethan Schoonover (modified by aramisgithub)
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0xfdf6e3'
|
||||||
|
foreground: '0x586e75'
|
||||||
|
|
||||||
|
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||||
|
cursor:
|
||||||
|
text: '0xfdf6e3'
|
||||||
|
cursor: '0x586e75'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0xfdf6e3'
|
||||||
|
red: '0xdc322f'
|
||||||
|
green: '0x859900'
|
||||||
|
yellow: '0xb58900'
|
||||||
|
blue: '0x268bd2'
|
||||||
|
magenta: '0x6c71c4'
|
||||||
|
cyan: '0x2aa198'
|
||||||
|
white: '0x586e75'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0x839496'
|
||||||
|
red: '0xcb4b16'
|
||||||
|
green: '0xeee8d5'
|
||||||
|
yellow: '0x93a1a1'
|
||||||
|
blue: '0x657b83'
|
||||||
|
magenta: '0x073642'
|
||||||
|
cyan: '0xd33682'
|
||||||
|
white: '0x002b36'
|
||||||
|
|
||||||
|
draw_bold_text_with_bright_colors: false
|
200
.config/btop/btop.conf
Normal file
200
.config/btop/btop.conf
Normal file
@ -0,0 +1,200 @@
|
|||||||
|
#? Config file for btop v. 1.2.5
|
||||||
|
|
||||||
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
color_theme = "solarized_dark"
|
||||||
|
|
||||||
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
|
theme_background = True
|
||||||
|
|
||||||
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
|
truecolor = True
|
||||||
|
|
||||||
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
|
force_tty = False
|
||||||
|
|
||||||
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
#* Use withespace " " as separator between different presets.
|
||||||
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||||
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||||
|
|
||||||
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
|
vim_keys = False
|
||||||
|
|
||||||
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
|
rounded_corners = True
|
||||||
|
|
||||||
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
#* "block" has half the resolution of braille but uses more common characters.
|
||||||
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||||
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||||
|
graph_symbol = "braille"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_net = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
|
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
|
||||||
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
|
update_ms = 2000
|
||||||
|
|
||||||
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
|
proc_sorting = "memory"
|
||||||
|
|
||||||
|
#* Reverse sorting order, True or False.
|
||||||
|
proc_reversed = False
|
||||||
|
|
||||||
|
#* Show processes as a tree.
|
||||||
|
proc_tree = False
|
||||||
|
|
||||||
|
#* Use the cpu graph colors in the process list.
|
||||||
|
proc_colors = True
|
||||||
|
|
||||||
|
#* Use a darkening gradient in the process list.
|
||||||
|
proc_gradient = True
|
||||||
|
|
||||||
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
|
proc_per_core = True
|
||||||
|
|
||||||
|
#* Show process memory as bytes instead of percent.
|
||||||
|
proc_mem_bytes = True
|
||||||
|
|
||||||
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
|
proc_info_smaps = False
|
||||||
|
|
||||||
|
#* Show proc box on left side of screen instead of right.
|
||||||
|
proc_left = False
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_upper = "total"
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_lower = "total"
|
||||||
|
|
||||||
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
|
cpu_single_graph = False
|
||||||
|
|
||||||
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
|
cpu_bottom = False
|
||||||
|
|
||||||
|
#* Shows the system uptime in the CPU box.
|
||||||
|
show_uptime = True
|
||||||
|
|
||||||
|
#* Show cpu temperature.
|
||||||
|
check_temp = True
|
||||||
|
|
||||||
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
|
show_coretemp = True
|
||||||
|
|
||||||
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||||
|
#* Example: "4:0 5:1 6:3"
|
||||||
|
cpu_core_map = ""
|
||||||
|
|
||||||
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||||
|
temp_scale = "celsius"
|
||||||
|
|
||||||
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
|
base_10_sizes = False
|
||||||
|
|
||||||
|
#* Show CPU frequency.
|
||||||
|
show_cpu_freq = True
|
||||||
|
|
||||||
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
|
clock_format = "%X"
|
||||||
|
|
||||||
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
|
background_update = True
|
||||||
|
|
||||||
|
#* Custom cpu model name, empty string to disable.
|
||||||
|
custom_cpu_name = ""
|
||||||
|
|
||||||
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
|
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||||
|
disks_filter = ""
|
||||||
|
|
||||||
|
#* Show graphs instead of meters for memory values.
|
||||||
|
mem_graphs = True
|
||||||
|
|
||||||
|
#* Show mem box below net box instead of above.
|
||||||
|
mem_below_net = False
|
||||||
|
|
||||||
|
#* If swap memory should be shown in memory box.
|
||||||
|
show_swap = True
|
||||||
|
|
||||||
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
|
swap_disk = True
|
||||||
|
|
||||||
|
#* If mem box should be split to also show disks info.
|
||||||
|
show_disks = True
|
||||||
|
|
||||||
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
|
only_physical = True
|
||||||
|
|
||||||
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
|
use_fstab = True
|
||||||
|
|
||||||
|
#* Set to true to show available disk space for privileged users.
|
||||||
|
disk_free_priv = False
|
||||||
|
|
||||||
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
|
show_io_stat = True
|
||||||
|
|
||||||
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
|
io_mode = False
|
||||||
|
|
||||||
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
|
io_graph_combined = False
|
||||||
|
|
||||||
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
|
net_download = 100
|
||||||
|
|
||||||
|
net_upload = 100
|
||||||
|
|
||||||
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
|
net_auto = True
|
||||||
|
|
||||||
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
|
net_sync = False
|
||||||
|
|
||||||
|
#* Starts with the Network Interface specified here.
|
||||||
|
net_iface = ""
|
||||||
|
|
||||||
|
#* Show battery stats in top right if battery is present.
|
||||||
|
show_battery = True
|
||||||
|
|
||||||
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
|
log_level = "WARNING"
|
3
.config/lsd/config.yaml
Normal file
3
.config/lsd/config.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
color:
|
||||||
|
theme: solarized
|
||||||
|
indicators: true
|
24
.config/lsd/themes/solarized.yaml
Normal file
24
.config/lsd/themes/solarized.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
user: magenta
|
||||||
|
group: dark_magenta
|
||||||
|
permission:
|
||||||
|
read: dark_green
|
||||||
|
write: dark_yellow
|
||||||
|
exec: dark_red
|
||||||
|
exec-sticky: 5
|
||||||
|
no-access: 245
|
||||||
|
date:
|
||||||
|
hour-old: 40
|
||||||
|
day-old: 42
|
||||||
|
older: 36
|
||||||
|
size:
|
||||||
|
none: blue
|
||||||
|
small: dark_blue
|
||||||
|
medium: red
|
||||||
|
large: dark_red
|
||||||
|
inode:
|
||||||
|
valid: 13
|
||||||
|
invalid: 245
|
||||||
|
links:
|
||||||
|
valid: 13
|
||||||
|
invalid: 245
|
||||||
|
tree-edge: 245
|
29
.config/nix/installed_packages
Normal file
29
.config/nix/installed_packages
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
nixpkgs.btop
|
||||||
|
nixpkgs.cacert
|
||||||
|
nixpkgs.cmake
|
||||||
|
nixpkgs.coreutils
|
||||||
|
nixpkgs.croc
|
||||||
|
nixpkgs.curl
|
||||||
|
nixpkgs.direnv
|
||||||
|
nixpkgs.fd
|
||||||
|
nixpkgs.fzf
|
||||||
|
nixpkgs.git
|
||||||
|
nixpkgs.git-lfs
|
||||||
|
nixpkgs.gnumake
|
||||||
|
nixpkgs.go
|
||||||
|
nixpkgs.jq
|
||||||
|
nixpkgs.lesspipe
|
||||||
|
nixpkgs.lsd
|
||||||
|
nixpkgs.neovim
|
||||||
|
nixpkgs.nix
|
||||||
|
nixpkgs.nix-zsh-completions
|
||||||
|
nixpkgs.ripgrep
|
||||||
|
nixpkgs.silver-searcher
|
||||||
|
nixpkgs.starship
|
||||||
|
nixpkgs.tmate
|
||||||
|
nixpkgs.tmux
|
||||||
|
nixpkgs.unzip
|
||||||
|
nixpkgs.wget
|
||||||
|
nixpkgs.yadm
|
||||||
|
nixpkgs.zplug
|
||||||
|
nixpkgs.zsh
|
6
.config/nvim/init.vim
Normal file
6
.config/nvim/init.vim
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
" Configure python provider
|
||||||
|
let $PYTHONPATH = $HOME . '/.nix-profile/lib/python3.8/site-packages:' . $PYTHONPATH
|
||||||
|
let g:python3_host_prog = '~/.nix-profile/bin/python'
|
||||||
|
let g:loaded_python_provider = 0
|
||||||
|
|
||||||
|
source ~/.vimrc
|
56
.config/starship.toml
Normal file
56
.config/starship.toml
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
format = """
|
||||||
|
$jobs\
|
||||||
|
$character\
|
||||||
|
"""
|
||||||
|
|
||||||
|
right_format = """
|
||||||
|
$cmd_duration\
|
||||||
|
$directory\
|
||||||
|
$git_branch\
|
||||||
|
$git_status\
|
||||||
|
$hostname\
|
||||||
|
"""
|
||||||
|
|
||||||
|
add_newline = false
|
||||||
|
|
||||||
|
|
||||||
|
[jobs]
|
||||||
|
format = "[\\[$number\\]]($style) "
|
||||||
|
style = "242"
|
||||||
|
number_threshold = 1
|
||||||
|
symbol_threshold = 2
|
||||||
|
|
||||||
|
[character]
|
||||||
|
success_symbol = "[%](blue)"
|
||||||
|
error_symbol = "[%](red)"
|
||||||
|
vicmd_symbol = "[%](blue)"
|
||||||
|
|
||||||
|
[cmd_duration]
|
||||||
|
format = "[$duration]($style) "
|
||||||
|
style = "150"
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
style = "blue"
|
||||||
|
truncate_to_repo = false
|
||||||
|
truncation_length = 10
|
||||||
|
truncation_symbol = "…/"
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
format = "[$branch]($style)"
|
||||||
|
style = "242"
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
format = " [$modified]($style)"
|
||||||
|
style = "242"
|
||||||
|
conflicted = ""
|
||||||
|
untracked = ""
|
||||||
|
modified = "+"
|
||||||
|
staged = ""
|
||||||
|
renamed = ""
|
||||||
|
deleted = ""
|
||||||
|
stashed = ""
|
||||||
|
|
||||||
|
[hostname]
|
||||||
|
format = "[$hostname]($style)"
|
||||||
|
ssh_only = true
|
||||||
|
style = "150"
|
49
.config/yadm/bootstrap
Executable file
49
.config/yadm/bootstrap
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# vim: set ft=sh sw=2 et :
|
||||||
|
|
||||||
|
install_nix() {
|
||||||
|
# This one courtesy of:
|
||||||
|
# https://github.com/shadowrylander/shadowrylander/blob/35bb51822c46578d0a5da5810263fa85d464043c/.config/yadm/bootstrap#L56
|
||||||
|
install_nix_bin() {
|
||||||
|
curl -L https://nixos.org/nix/install | sh
|
||||||
|
if [ -e '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh' ]; then
|
||||||
|
. '/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh'
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
command -v nix >/dev/null 2>&1 || install_nix_bin
|
||||||
|
|
||||||
|
if [ -f "$HOME/.config/nix/installed_packages" ]; then
|
||||||
|
# This list created with `nix-env -qaPs|grep '^I'|awk '{print $2}' > ~/.config/nix/installed_packages`
|
||||||
|
cat "$HOME/.config/nix/installed_packages" | xargs nix-env -iA
|
||||||
|
fi
|
||||||
|
if [ -f "$HOME/.config/nix/installed_packages.local" ]; then
|
||||||
|
# Additional packages that might be needed here or there
|
||||||
|
cat "$HOME/.config/nix/installed_packages.local" | xargs nix-env -i
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#configure_zsh() {
|
||||||
|
# # FIXME: We deserve better
|
||||||
|
# source $HOME/.zshrc
|
||||||
|
#}
|
||||||
|
|
||||||
|
configure_vim() {
|
||||||
|
# Install vim-plug for Vim
|
||||||
|
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
|
||||||
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
|
vim +'PlugInstall --sync' +qa
|
||||||
|
# Install vim-plug for Neovim
|
||||||
|
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
|
||||||
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||||
|
nvim +'PlugInstall --sync' +qa
|
||||||
|
}
|
||||||
|
|
||||||
|
configure_tmux() {
|
||||||
|
~/.tmux/plugins/tpm/bin/install_plugins
|
||||||
|
}
|
||||||
|
|
||||||
|
install_nix
|
||||||
|
|
||||||
|
#configure_zsh
|
||||||
|
configure_vim
|
||||||
|
configure_tmux
|
235
.dircolors
Normal file
235
.dircolors
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
# Configuration file for dircolors, a utility to help you set the
|
||||||
|
# LS_COLORS environment variable used by GNU ls with the --color option.
|
||||||
|
# Copyright (C) 1996, 1999-2010 Free Software Foundation, Inc.
|
||||||
|
# Copying and distribution of this file, with or without modification,
|
||||||
|
# are permitted provided the copyright notice and this notice are preserved.
|
||||||
|
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
|
||||||
|
# slackware version of dircolors) are recognized but ignored.
|
||||||
|
# Below, there should be one TERM entry for each termtype that is colorizable
|
||||||
|
TERM Eterm
|
||||||
|
TERM ansi
|
||||||
|
TERM color-xterm
|
||||||
|
TERM con132x25
|
||||||
|
TERM con132x30
|
||||||
|
TERM con132x43
|
||||||
|
TERM con132x60
|
||||||
|
TERM con80x25
|
||||||
|
TERM con80x28
|
||||||
|
TERM con80x30
|
||||||
|
TERM con80x43
|
||||||
|
TERM con80x50
|
||||||
|
TERM con80x60
|
||||||
|
TERM cons25
|
||||||
|
TERM console
|
||||||
|
TERM cygwin
|
||||||
|
TERM dtterm
|
||||||
|
TERM eterm-color
|
||||||
|
TERM gnome
|
||||||
|
TERM gnome-256color
|
||||||
|
TERM jfbterm
|
||||||
|
TERM konsole
|
||||||
|
TERM kterm
|
||||||
|
TERM linux
|
||||||
|
TERM linux-c
|
||||||
|
TERM mach-color
|
||||||
|
TERM mlterm
|
||||||
|
TERM putty
|
||||||
|
TERM rxvt
|
||||||
|
TERM rxvt-256color
|
||||||
|
TERM rxvt-cygwin
|
||||||
|
TERM rxvt-cygwin-native
|
||||||
|
TERM rxvt-unicode
|
||||||
|
TERM rxvt-unicode256
|
||||||
|
TERM rxvt-unicode-256color
|
||||||
|
TERM screen
|
||||||
|
TERM screen-256color
|
||||||
|
TERM screen-256color-bce
|
||||||
|
TERM screen-bce
|
||||||
|
TERM screen-w
|
||||||
|
TERM screen.linux
|
||||||
|
TERM vt100
|
||||||
|
TERM xterm
|
||||||
|
TERM xterm-16color
|
||||||
|
TERM xterm-256color
|
||||||
|
TERM xterm-88color
|
||||||
|
TERM xterm-color
|
||||||
|
TERM xterm-debian
|
||||||
|
# Below are the color init strings for the basic file types. A color init
|
||||||
|
# string consists of one or more of the following numeric codes:
|
||||||
|
# Attribute codes:
|
||||||
|
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
|
||||||
|
# Text color codes:
|
||||||
|
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
|
||||||
|
# Background color codes:
|
||||||
|
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
|
||||||
|
|
||||||
|
## dircolors 256 COLOR SUPPORT (see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
|
||||||
|
# Text 256 color coding:
|
||||||
|
# 38;5;COLOR_NUMBER
|
||||||
|
# Background 256 color coding:
|
||||||
|
# 48;5;COLOR_NUMBER
|
||||||
|
|
||||||
|
NORMAL 00;38;5;244 # no color code at all
|
||||||
|
#FILE 00 # regular file: use no color at all
|
||||||
|
RESET 0 # reset to "normal" color
|
||||||
|
DIR 00;38;5;33 # directory 01;34
|
||||||
|
LINK 01;38;5;33 # symbolic link. (If you set this to 'target' instead of a
|
||||||
|
# numerical value, the color is as for the file pointed to.)
|
||||||
|
MULTIHARDLINK 00 # regular file with more than one link
|
||||||
|
FIFO 48;5;230;38;5;136;01 # pipe
|
||||||
|
SOCK 48;5;230;38;5;136;01 # socket
|
||||||
|
DOOR 48;5;230;38;5;136;01 # door
|
||||||
|
BLK 48;5;230;38;5;244;01 # block device driver
|
||||||
|
CHR 48;5;230;38;5;244;01 # character device driver
|
||||||
|
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
|
||||||
|
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
|
||||||
|
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
|
||||||
|
CAPABILITY 30;41 # file with capability
|
||||||
|
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
|
||||||
|
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
|
||||||
|
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
|
||||||
|
# This is for files with execute permission:
|
||||||
|
EXEC 01;38;5;64
|
||||||
|
# List any file extensions like '.gz' or '.tar' that you would like ls
|
||||||
|
# to colorize below. Put the extension, a space, and the color init string.
|
||||||
|
# (and any comments you want to add after a '#')
|
||||||
|
# If you use DOS-style suffixes, you may want to uncomment the following:
|
||||||
|
#.cmd 01;32 # executables (bright green)
|
||||||
|
#.exe 01;32
|
||||||
|
#.com 01;32
|
||||||
|
#.btm 01;32
|
||||||
|
#.bat 01;32
|
||||||
|
# Or if you want to colorize scripts even if they do not have the
|
||||||
|
# executable bit actually set.
|
||||||
|
#.sh 01;32
|
||||||
|
#.csh 01;32
|
||||||
|
|
||||||
|
# archives or compressed (violet + bold for compression)
|
||||||
|
.tar 00;38;5;61
|
||||||
|
.tgz 01;38;5;61
|
||||||
|
.arj 01;38;5;61
|
||||||
|
.taz 01;38;5;61
|
||||||
|
.lzh 01;38;5;61
|
||||||
|
.lzma 01;38;5;61
|
||||||
|
.tlz 01;38;5;61
|
||||||
|
.txz 01;38;5;61
|
||||||
|
.zip 01;38;5;61
|
||||||
|
.z 01;38;5;61
|
||||||
|
.Z 01;38;5;61
|
||||||
|
.dz 01;38;5;61
|
||||||
|
.gz 01;38;5;61
|
||||||
|
.lz 01;38;5;61
|
||||||
|
.xz 01;38;5;61
|
||||||
|
.bz2 01;38;5;61
|
||||||
|
.bz 01;38;5;61
|
||||||
|
.tbz 01;38;5;61
|
||||||
|
.tbz2 01;38;5;61
|
||||||
|
.tz 01;38;5;61
|
||||||
|
.deb 01;38;5;61
|
||||||
|
.rpm 01;38;5;61
|
||||||
|
.jar 01;38;5;61
|
||||||
|
.rar 01;38;5;61
|
||||||
|
.ace 01;38;5;61
|
||||||
|
.zoo 01;38;5;61
|
||||||
|
.cpio 01;38;5;61
|
||||||
|
.7z 01;38;5;61
|
||||||
|
.rz 01;38;5;61
|
||||||
|
.apk 01;38;5;61
|
||||||
|
|
||||||
|
# image formats (yellow)
|
||||||
|
.jpg 00;38;5;136
|
||||||
|
.JPG 00;38;5;136 #stupid but needed
|
||||||
|
.jpeg 00;38;5;136
|
||||||
|
.gif 00;38;5;136
|
||||||
|
.bmp 00;38;5;136
|
||||||
|
.pbm 00;38;5;136
|
||||||
|
.pgm 00;38;5;136
|
||||||
|
.ppm 00;38;5;136
|
||||||
|
.tga 00;38;5;136
|
||||||
|
.xbm 00;38;5;136
|
||||||
|
.xpm 00;38;5;136
|
||||||
|
.tif 00;38;5;136
|
||||||
|
.tiff 00;38;5;136
|
||||||
|
.png 00;38;5;136
|
||||||
|
.svg 00;38;5;136
|
||||||
|
.svgz 00;38;5;136
|
||||||
|
.mng 00;38;5;136
|
||||||
|
.pcx 00;38;5;136
|
||||||
|
.dl 00;38;5;136
|
||||||
|
.xcf 00;38;5;136
|
||||||
|
.xwd 00;38;5;136
|
||||||
|
.yuv 00;38;5;136
|
||||||
|
.cgm 00;38;5;136
|
||||||
|
.emf 00;38;5;136
|
||||||
|
.eps 00;38;5;136
|
||||||
|
.CR2 00;38;5;136
|
||||||
|
|
||||||
|
# files of interest (base1 + bold)
|
||||||
|
.pdf 01;38;5;245
|
||||||
|
.tex 01;38;5;245
|
||||||
|
.rdf 01;38;5;245
|
||||||
|
.owl 01;38;5;245
|
||||||
|
.n3 01;38;5;245
|
||||||
|
.tt 01;38;5;245
|
||||||
|
.nt 01;38;5;245
|
||||||
|
.torrent 01;38;5;245
|
||||||
|
|
||||||
|
# "unimportant" files as logs and backups (base01)
|
||||||
|
.log 00;38;5;240
|
||||||
|
.bak 00;38;5;240
|
||||||
|
.aux 00;38;5;240
|
||||||
|
.bbl 00;38;5;240
|
||||||
|
.blg 00;38;5;240
|
||||||
|
*~ 00;38;5;240
|
||||||
|
*# 00;38;5;240
|
||||||
|
.part 00;38;5;240
|
||||||
|
.incomplete 00;38;5;240
|
||||||
|
.swp 00;38;5;240
|
||||||
|
|
||||||
|
# audio formats (orange)
|
||||||
|
.aac 00;38;5;166
|
||||||
|
.au 00;38;5;166
|
||||||
|
.flac 00;38;5;166
|
||||||
|
.mid 00;38;5;166
|
||||||
|
.midi 00;38;5;166
|
||||||
|
.mka 00;38;5;166
|
||||||
|
.mp3 00;38;5;166
|
||||||
|
.mpc 00;38;5;166
|
||||||
|
.ogg 00;38;5;166
|
||||||
|
.ra 00;38;5;166
|
||||||
|
.wav 00;38;5;166
|
||||||
|
.m4a 00;38;5;166
|
||||||
|
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||||
|
.axa 00;38;5;166
|
||||||
|
.oga 00;38;5;166
|
||||||
|
.spx 00;38;5;166
|
||||||
|
.xspf 00;38;5;166
|
||||||
|
|
||||||
|
# video formats (as audio + bold)
|
||||||
|
.mov 01;38;5;166
|
||||||
|
.mpg 01;38;5;166
|
||||||
|
.mpeg 01;38;5;166
|
||||||
|
.m2v 01;38;5;166
|
||||||
|
.mkv 01;38;5;166
|
||||||
|
.ogm 01;38;5;166
|
||||||
|
.mp4 01;38;5;166
|
||||||
|
.m4v 01;38;5;166
|
||||||
|
.mp4v 01;38;5;166
|
||||||
|
.vob 01;38;5;166
|
||||||
|
.qt 01;38;5;166
|
||||||
|
.nuv 01;38;5;166
|
||||||
|
.wmv 01;38;5;166
|
||||||
|
.asf 01;38;5;166
|
||||||
|
.rm 01;38;5;166
|
||||||
|
.rmvb 01;38;5;166
|
||||||
|
.flc 01;38;5;166
|
||||||
|
.avi 01;38;5;166
|
||||||
|
.fli 01;38;5;166
|
||||||
|
.flv 01;38;5;166
|
||||||
|
.gl 01;38;5;166
|
||||||
|
.m2ts 01;38;5;166
|
||||||
|
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
|
||||||
|
.axv 01;38;5;166
|
||||||
|
.anx 01;38;5;166
|
||||||
|
.ogv 01;38;5;166
|
||||||
|
.ogx 01;38;5;166
|
122
.gitconfig
Normal file
122
.gitconfig
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
# vim: set sw=2 sts=2 ts=2 noexpandtab :
|
||||||
|
[color]
|
||||||
|
ui = auto
|
||||||
|
branch = auto
|
||||||
|
diff = auto
|
||||||
|
grep = auto
|
||||||
|
interactive = auto
|
||||||
|
status = auto
|
||||||
|
|
||||||
|
[user]
|
||||||
|
email = info@wpstudio.ru
|
||||||
|
name = WP Studio
|
||||||
|
|
||||||
|
[core]
|
||||||
|
autocrlf = false
|
||||||
|
excludesfile = ~/.gitignore_global
|
||||||
|
whitespace = blank-at-eol,blank-at-eof,space-before-tab
|
||||||
|
|
||||||
|
[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 = ~/.gitmessage
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
a = add
|
||||||
|
s = status
|
||||||
|
st = status
|
||||||
|
ci = commit
|
||||||
|
b = branch
|
||||||
|
co = checkout
|
||||||
|
re = remote
|
||||||
|
d = diff
|
||||||
|
dc = diff --cached
|
||||||
|
lol = log --graph --decorate --pretty=oneline --abbrev-commit
|
||||||
|
lola = log --graph --decorate --pretty=oneline --abbrev-commit --all
|
||||||
|
ls = ls-files
|
||||||
|
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||||
|
lgi = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||||
|
# Pull Upstream
|
||||||
|
pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"
|
||||||
|
# Commit Amend Reuse Message HEAD
|
||||||
|
carmh = commit --amend --reuse-message=HEAD
|
||||||
|
# Push Current
|
||||||
|
pc = !"f() { remote=\"${1:-origin}\"; git push -u \"$remote\" $(git rev-parse --abbrev-ref HEAD); }; f"
|
||||||
|
# Push Current Force
|
||||||
|
pcf = !"f() { echo git pc \"$@\" -f; }; f"
|
||||||
|
# Mainly for YADM
|
||||||
|
untracked = !"f() { git status --porcelain=v1 -zunormal | xargs -0n1 printf \"%s\\n\" | grep -E '^\\?\\? \\.' | cut -c4-; }; f"
|
||||||
|
# Current branch
|
||||||
|
current = rev-parse --abbrev-ref HEAD
|
||||||
|
cof = !git for-each-ref --format='%(refname:short)' refs/heads | fzf | xargs git checkout
|
||||||
|
|
||||||
|
[merge]
|
||||||
|
tool = vimdiff
|
||||||
|
conflictstyle = diff3
|
||||||
|
|
||||||
|
[mergetool]
|
||||||
|
prompt = false
|
||||||
|
keepBackup = false
|
||||||
|
|
||||||
|
[mergetool "vimdiff"]
|
||||||
|
cmd = nvim -d $BASE $LOCAL $REMOTE $MERGED -c '$wincmd w' -c 'wincmd J'
|
||||||
|
|
||||||
|
###
|
||||||
|
### Git-up specific
|
||||||
|
### https://github.com/aanand/git-up
|
||||||
|
###
|
||||||
|
[git-up "rebase"]
|
||||||
|
arguments = --preserve-merges
|
||||||
|
|
||||||
|
###
|
||||||
|
### Github specific
|
||||||
|
###
|
||||||
|
[github]
|
||||||
|
user = dimti
|
||||||
|
|
||||||
|
# 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 = "cache --timeout 86400"
|
||||||
|
|
||||||
|
[pack]
|
||||||
|
threads = 2
|
||||||
|
|
||||||
|
###
|
||||||
|
### Include local overrides
|
||||||
|
###
|
||||||
|
[include]
|
||||||
|
path = .gitconfig.local
|
||||||
|
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
|
||||||
|
[lfs]
|
||||||
|
fetchexclude = *
|
||||||
|
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/.idea
|
71
.gitignore_global
Normal file
71
.gitignore_global
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
.~lock.*#
|
||||||
|
|
||||||
|
# Mac stuff
|
||||||
|
.DS_Store
|
||||||
|
|
||||||
|
# vim-session
|
||||||
|
Session.vim
|
||||||
|
|
||||||
|
# Ctags
|
||||||
|
tags
|
||||||
|
TAGS
|
||||||
|
tags
|
||||||
|
.tags
|
||||||
|
|
||||||
|
# Backup
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*~
|
||||||
|
.*.sw*
|
||||||
|
|
||||||
|
# Python
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Archives
|
||||||
|
*.7z
|
||||||
|
*.jar
|
||||||
|
*.rar
|
||||||
|
*.zip
|
||||||
|
*.tgz
|
||||||
|
*.gz
|
||||||
|
*.bzip
|
||||||
|
*.xz
|
||||||
|
*.lzma
|
||||||
|
*.iso
|
||||||
|
*.tar
|
||||||
|
*.dmg
|
||||||
|
*.xpi
|
||||||
|
*.gem
|
||||||
|
*.egg
|
||||||
|
*.deb
|
||||||
|
*.rpm
|
||||||
|
|
||||||
|
# LaTeX
|
||||||
|
*.aux
|
||||||
|
*.bbl
|
||||||
|
*.blg
|
||||||
|
*.dvi
|
||||||
|
*.fdb_latexmk
|
||||||
|
*.glg
|
||||||
|
*.glo
|
||||||
|
*.gls
|
||||||
|
*.idx
|
||||||
|
*.ilg
|
||||||
|
*.ind
|
||||||
|
*.ist
|
||||||
|
*.lof
|
||||||
|
*.log
|
||||||
|
*.lot
|
||||||
|
*.nav
|
||||||
|
*.nlo
|
||||||
|
*.out
|
||||||
|
*.pdfsync
|
||||||
|
*.ps
|
||||||
|
*.snm
|
||||||
|
*.spl
|
||||||
|
*.synctex.gz
|
||||||
|
*.toc
|
||||||
|
*.vrb
|
||||||
|
*.maf
|
||||||
|
*.mtc
|
||||||
|
*.mtc0
|
13
.gitmessage
Normal file
13
.gitmessage
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
# vi:ft=gitcommit:tw=72:sw=2:ts=2:expandtab:spell
|
||||||
|
#
|
||||||
|
# 50-character subject line
|
||||||
|
#
|
||||||
|
# If applied, this commit will...
|
||||||
|
|
||||||
|
# 72-character wrapped longer description.
|
||||||
|
#
|
||||||
|
# Why is this change needed?
|
||||||
|
|
||||||
|
# How does it address the issue?
|
||||||
|
|
||||||
|
# Provide links to any relevant tickets, articles or other resources
|
25
.profile
Normal file
25
.profile
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# ~/.profile: executed by the command interpreter for login shells.
|
||||||
|
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||||
|
# exists.
|
||||||
|
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||||
|
# the files are located in the bash-doc package.
|
||||||
|
|
||||||
|
# the default umask is set in /etc/profile; for setting the umask
|
||||||
|
# for ssh logins, install and configure the libpam-umask package.
|
||||||
|
#umask 022
|
||||||
|
|
||||||
|
# if running bash
|
||||||
|
if [ -n "$BASH_VERSION" ]; then
|
||||||
|
# include .bashrc if it exists
|
||||||
|
if [ -f "$HOME/.bashrc" ]; then
|
||||||
|
. "$HOME/.bashrc"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set PATH so it includes user's private bin if it exists
|
||||||
|
if [ -d "$HOME/bin" ] ; then
|
||||||
|
PATH="$HOME/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export BREW_PREFIX=/home/linuxbrew/.linuxbrew
|
||||||
|
export CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES=1440x900
|
36
.shell-aliases
Normal file
36
.shell-aliases
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# If not running interactively, don't do anything
|
||||||
|
[ -z "$PS1" ] && return
|
||||||
|
|
||||||
|
# Source global definitions
|
||||||
|
test -r /etc/bashrc && . /etc/bashrc
|
||||||
|
|
||||||
|
test -r ~/.bash_aliases && . ~/.bash_aliases
|
||||||
|
|
||||||
|
# don't put duplicate lines in the history. See bash(1) for more options
|
||||||
|
# ... or force ignoredups and ignorespace
|
||||||
|
HISTCONTROL=ignoreboth
|
||||||
|
export HISTIGNORE="&:ls:[bf]g:pwd:exit:cd .."
|
||||||
|
|
||||||
|
# append to the history file, don't overwrite it
|
||||||
|
shopt -s histappend
|
||||||
|
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
|
||||||
|
|
||||||
|
# Store multiline commands as one line.
|
||||||
|
shopt -s cmdhist
|
||||||
|
|
||||||
|
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
|
||||||
|
HISTSIZE=10000
|
||||||
|
HISTFILESIZE=20000
|
||||||
|
|
||||||
|
# check the window size after each command and, if necessary,
|
||||||
|
# update the values of LINES and COLUMNS.
|
||||||
|
shopt -s checkwinsize
|
||||||
|
|
||||||
|
# Spellcheck directories
|
||||||
|
shopt -s dirspell
|
||||||
|
|
||||||
|
# enable programmable completion features (you don't need to enable
|
||||||
|
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
|
||||||
|
# sources /etc/bash.bashrc).
|
||||||
|
test -f /usr/share/bash-completion/bash_completion && . /usr/share/bash-completion/bash_completion
|
||||||
|
test -f /etc/bash_completion && . /etc/bash_completion
|
11
.shell-common
Normal file
11
.shell-common
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
# vim: set ft=sh sw=2 et :
|
||||||
|
|
||||||
|
# make less more friendly for non-text input files, see lesspipe(1)
|
||||||
|
command -v lesspipe.sh >/dev/null 2>&1 && eval "$(SHELL=/bin/sh lesspipe.sh)"
|
||||||
|
|
||||||
|
# enable color support of ls and also add handy aliases
|
||||||
|
if command -v dircolors >/dev/null 2>&1; then
|
||||||
|
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
test -r ~/.shell-common.local && source ~/.shell-common.local
|
22
.shell-env
Normal file
22
.shell-env
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# vim: set ft=sh sw=2 et :
|
||||||
|
|
||||||
|
##
|
||||||
|
## Editors
|
||||||
|
##
|
||||||
|
export EDITOR=vi
|
||||||
|
export GIT_EDITOR="$EDITOR"
|
||||||
|
export USE_EDITOR="$EDITOR"
|
||||||
|
export VISUAL=$EDITOR
|
||||||
|
export PAGER=less
|
||||||
|
|
||||||
|
##
|
||||||
|
## Pager
|
||||||
|
##
|
||||||
|
export PAGER=less
|
||||||
|
export LESS='-iFMRSX -x4'
|
||||||
|
|
||||||
|
if [ -f "$HOME/.shell-env.local" ]; then
|
||||||
|
. "$HOME/.shell-env.local"
|
||||||
|
fi
|
||||||
|
|
||||||
|
umask 022
|
26
.shell-logout
Normal file
26
.shell-logout
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
# vim: set ft=sh sw=2 et :
|
||||||
|
|
||||||
|
# when leaving the console clear the screen to increase privacy
|
||||||
|
|
||||||
|
if [ "$SHLVL" = 1 ]; then
|
||||||
|
[ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
|
||||||
|
fi
|
||||||
|
|
||||||
|
# When leaving the console clear the screen to increase privacy. Also clear the
|
||||||
|
# scroll-back buffer by switching to tty63 and back.
|
||||||
|
case "$(tty)" in
|
||||||
|
/dev/tty[0-9])
|
||||||
|
t=$(v=`tty` ; echo ${v##*ty})
|
||||||
|
clear
|
||||||
|
chvt 63; chvt "$t"
|
||||||
|
;;
|
||||||
|
|
||||||
|
/dev/tty[0-9][0-9])
|
||||||
|
t=$(v=`tty` ; echo ${v##*ty})
|
||||||
|
clear
|
||||||
|
chvt 63; chvt "$t"
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
;;
|
||||||
|
esac
|
89
.tmux.conf
Normal file
89
.tmux.conf
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
## Prefix like in screen
|
||||||
|
set -g prefix 'C-a'
|
||||||
|
|
||||||
|
## Use xterm keys (makes eg. Ctrl+Arrow navigate words)
|
||||||
|
set-window-option -g xterm-keys on
|
||||||
|
|
||||||
|
## List of plugins
|
||||||
|
# For this to work you need to install https://github.com/tmux-plugins/tpm
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
# Those two allow continuous saving and restoring of tmux sessions
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||||
|
# Intuitive bindings for splitting panes
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
||||||
|
# Integrations with system clipboard
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||||
|
# Easier session management
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sessionist'
|
||||||
|
# Man in a split
|
||||||
|
set -g @plugin 'knakayama/tmux-man'
|
||||||
|
# Peek-a-boo
|
||||||
|
set -g @plugin 'knakayama/tmux-newline-detector'
|
||||||
|
|
||||||
|
## Plugin configuration
|
||||||
|
set -g @continuum-restore 'on'
|
||||||
|
set -g @continuum-save-interval '5'
|
||||||
|
set -g @resurrect-capture-pane-contents 'on'
|
||||||
|
set -g @yank_selection 'primary'
|
||||||
|
set -g @man-size '40%'
|
||||||
|
set -g @man-orientation 'h'
|
||||||
|
set -g @man-shell-interactive 'off'
|
||||||
|
|
||||||
|
# True colors (via: https://jdhao.github.io/2018/10/19/tmux_nvim_true_color/ )
|
||||||
|
set -g default-terminal "screen-256color"
|
||||||
|
# tell Tmux that outside terminal supports true color
|
||||||
|
set -ag terminal-overrides ",alacritty:RGB"
|
||||||
|
|
||||||
|
## Windows style
|
||||||
|
set-option -g status-style fg=yellow,bg=default
|
||||||
|
set-window-option -g pane-active-border-style ''
|
||||||
|
|
||||||
|
## A bit more space in right status bar
|
||||||
|
set -g status-right-length 50
|
||||||
|
|
||||||
|
## Rename windows to fit current application
|
||||||
|
setw -g automatic-rename on
|
||||||
|
|
||||||
|
# Use zsh regardless of default settings
|
||||||
|
if-shell 'test -x /usr/bin/zsh' 'set-option -g default-shell /usr/bin/zsh'
|
||||||
|
|
||||||
|
# switch panes using Alt-arrow without prefix
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
|
||||||
|
## Mouse On by default
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# PageUp/PageDown works for scrolling
|
||||||
|
bind-key -T root PPage if-shell -F "#{alternate_on}" "send-keys PPage" "copy-mode -e; send-keys PPage"
|
||||||
|
bind-key -T copy-mode-vi PPage send-keys -X page-up
|
||||||
|
bind-key -T copy-mode-vi NPage send-keys -X page-down
|
||||||
|
|
||||||
|
# Same for the mouse scroll button
|
||||||
|
bind-key -T root WheelUpPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; copy-mode -e; send-keys -M"
|
||||||
|
bind-key -T root WheelDownPane if-shell -F -t = "#{alternate_on}" "send-keys -M" "select-pane -t =; send-keys -M"
|
||||||
|
bind-key -T copy-mode-vi WheelUpPane send-keys -X halfpage-up
|
||||||
|
bind-key -T copy-mode-vi WheelDownPane send-keys -X halfpage-down
|
||||||
|
|
||||||
|
# Toggle prefix on/off with F12 (for nested remote sessions)
|
||||||
|
bind -T root F12 \
|
||||||
|
set prefix None \;\
|
||||||
|
set key-table off \;\
|
||||||
|
if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
|
||||||
|
refresh-client -S \;\
|
||||||
|
|
||||||
|
bind -T off F12 \
|
||||||
|
set -u prefix \;\
|
||||||
|
set -u key-table \;\
|
||||||
|
refresh-client -S
|
||||||
|
|
||||||
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
|
if "test ! -d ~/.tmux/plugins/tpm" \
|
||||||
|
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
||||||
|
run '~/.tmux/plugins/tpm/tpm'
|
||||||
|
|
||||||
|
# vim: se ft=tmux :
|
0
.vim/undodir/.gitkeep
Normal file
0
.vim/undodir/.gitkeep
Normal file
275
.vimrc
Normal file
275
.vimrc
Normal file
@ -0,0 +1,275 @@
|
|||||||
|
" vim: set sw=2 et :
|
||||||
|
|
||||||
|
" Configure plug.vim
|
||||||
|
if has('nvim')
|
||||||
|
let vimautoloaddir='~/.config/nvim/site/autoload'
|
||||||
|
else
|
||||||
|
let vimautoloaddir='~/.vim/autoload'
|
||||||
|
endif
|
||||||
|
|
||||||
|
call plug#begin()
|
||||||
|
|
||||||
|
" This is taking care of the plugins
|
||||||
|
Plug 'junegunn/vim-plug'
|
||||||
|
|
||||||
|
" Neovim is sensible by default
|
||||||
|
if !has('nvim')
|
||||||
|
Plug 'tpope/vim-sensible'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Editing eye-candy
|
||||||
|
Plug 'junegunn/goyo.vim'
|
||||||
|
Plug 'junegunn/limelight.vim'
|
||||||
|
|
||||||
|
" Solarized colorscheme
|
||||||
|
Plug 'altercation/vim-colors-solarized'
|
||||||
|
|
||||||
|
" Tmux .conf
|
||||||
|
Plug 'tmux-plugins/vim-tmux'
|
||||||
|
" Tmux Focus Events
|
||||||
|
Plug 'tmux-plugins/vim-tmux-focus-events'
|
||||||
|
|
||||||
|
" Automatically detect indentation
|
||||||
|
Plug 'tpope/vim-sleuth'
|
||||||
|
|
||||||
|
if has('nvim')
|
||||||
|
" Asynchronous make for neovim
|
||||||
|
Plug 'neomake/neomake'
|
||||||
|
" Automated code formatter
|
||||||
|
Plug 'sbdchd/neoformat'
|
||||||
|
" Popup terminal
|
||||||
|
Plug 'kassio/neoterm'
|
||||||
|
" Nice tree view
|
||||||
|
Plug 'kyazdani42/nvim-tree.lua'
|
||||||
|
" Icons for the tree view
|
||||||
|
Plug 'kyazdani42/nvim-web-devicons'
|
||||||
|
" A buffer bar
|
||||||
|
Plug 'noib3/nvim-cokeline'
|
||||||
|
" Better syntax recognition
|
||||||
|
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||||
|
" Mason is now preferred over LSP Installer
|
||||||
|
Plug 'williamboman/mason.nvim'
|
||||||
|
" LSP config
|
||||||
|
Plug 'neovim/nvim-lspconfig'
|
||||||
|
Plug 'williamboman/mason-lspconfig.nvim'
|
||||||
|
" Auto completion
|
||||||
|
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||||
|
Plug 'hrsh7th/cmp-nvim-lsp-signature-help'
|
||||||
|
Plug 'hrsh7th/cmp-buffer'
|
||||||
|
Plug 'hrsh7th/cmp-path'
|
||||||
|
Plug 'hrsh7th/cmp-cmdline'
|
||||||
|
Plug 'hrsh7th/nvim-cmp'
|
||||||
|
" Snippets
|
||||||
|
Plug 'hrsh7th/cmp-vsnip'
|
||||||
|
Plug 'hrsh7th/vim-vsnip'
|
||||||
|
Plug 'rafamadriz/friendly-snippets'
|
||||||
|
" Telescope for quick switching
|
||||||
|
Plug 'nvim-lua/plenary.nvim'
|
||||||
|
Plug 'nvim-telescope/telescope.nvim'
|
||||||
|
Plug 'nvim-telescope/telescope-fzf-native.nvim', { 'do': 'make' }
|
||||||
|
" Copliot here
|
||||||
|
Plug 'github/copilot.vim'
|
||||||
|
" Nice colours for our NeoVim
|
||||||
|
Plug 'ishan9299/nvim-solarized-lua'
|
||||||
|
Plug 'shaunsingh/solarized.nvim'
|
||||||
|
|
||||||
|
" Show indent lines
|
||||||
|
Plug 'lukas-reineke/indent-blankline.nvim'
|
||||||
|
" Status line
|
||||||
|
Plug 'feline-nvim/feline.nvim'
|
||||||
|
" Dim inactive windows
|
||||||
|
Plug 'sunjon/shade.nvim'
|
||||||
|
endif
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
if has('nvim')
|
||||||
|
" Add some colors
|
||||||
|
set termguicolors
|
||||||
|
colorscheme solarized-high
|
||||||
|
|
||||||
|
" When writing a buffer (no delay), and on normal mode changes (after 750ms).
|
||||||
|
call neomake#configure#automake('nw', 750)
|
||||||
|
" Call Neomake when writing a buffer (no delay)
|
||||||
|
let g:neomake_open_list = 2
|
||||||
|
|
||||||
|
" Configure Cokeline
|
||||||
|
lua << EOF
|
||||||
|
require('cokeline').setup({
|
||||||
|
show_if_buffers_are_at_least = 2
|
||||||
|
})
|
||||||
|
|
||||||
|
local map = vim.api.nvim_set_keymap
|
||||||
|
|
||||||
|
map('n', '<S-Tab>', '<Plug>(cokeline-focus-prev)', { silent = true })
|
||||||
|
map('n', '<Tab>', '<Plug>(cokeline-focus-next)', { silent = true })
|
||||||
|
map('n', '<Leader>h', '<Plug>(cokeline-focus-prev)', { silent = true })
|
||||||
|
map('n', '<Leader>l', '<Plug>(cokeline-focus-next)', { silent = true })
|
||||||
|
EOF
|
||||||
|
|
||||||
|
" Configure completion and LSP
|
||||||
|
set completeopt=menu,menuone,noselect
|
||||||
|
autocmd BufWritePre * lua vim.lsp.buf.formatting_sync(nil, 4000)
|
||||||
|
|
||||||
|
lua <<EOF
|
||||||
|
-- Setup nvim-cmp.
|
||||||
|
local cmp = require'cmp'
|
||||||
|
|
||||||
|
cmp.setup({
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
vim.fn["vsnip#anonymous"](args.body)
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert({
|
||||||
|
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete(),
|
||||||
|
['<C-e>'] = cmp.mapping.abort(),
|
||||||
|
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||||
|
}),
|
||||||
|
sources = cmp.config.sources({
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'nvim_lsp_signature_help' },
|
||||||
|
{ name = 'vsnip' },
|
||||||
|
}, {
|
||||||
|
{ name = 'buffer' },
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
require("mason").setup({
|
||||||
|
automatic_installation = true,
|
||||||
|
})
|
||||||
|
require("mason-lspconfig").setup()
|
||||||
|
EOF
|
||||||
|
|
||||||
|
" Configure NvimTree
|
||||||
|
lua << EOF
|
||||||
|
require('nvim-tree').setup()
|
||||||
|
EOF
|
||||||
|
nmap <leader>n :NvimTreeToggle<CR>
|
||||||
|
|
||||||
|
" Configure Telescope
|
||||||
|
lua << EOF
|
||||||
|
require('telescope').load_extension('fzf')
|
||||||
|
EOF
|
||||||
|
" Find files using Telescope command-line sugar.
|
||||||
|
nnoremap <leader>ff <cmd>Telescope find_files<cr>
|
||||||
|
nnoremap <leader>fg <cmd>Telescope live_grep<cr>
|
||||||
|
nnoremap <leader>fb <cmd>Telescope buffers<cr>
|
||||||
|
nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|
||||||
|
|
||||||
|
" Configure tree-sitter with folding
|
||||||
|
lua <<EOF
|
||||||
|
if vim.loop.os_uname().sysname == "Darwin" then
|
||||||
|
require('nvim-treesitter.install').compilers = { os.getenv("HOME")..'/.local/bin/clang-wrapper' }
|
||||||
|
end
|
||||||
|
require('nvim-treesitter.configs').setup({
|
||||||
|
-- One of "all", or a list of languages
|
||||||
|
ensure_installed = "all",
|
||||||
|
ignore_install = { "godot_resource", "teal" },
|
||||||
|
highlight = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
indent = {
|
||||||
|
enable = true
|
||||||
|
},
|
||||||
|
})
|
||||||
|
EOF
|
||||||
|
set foldmethod=expr
|
||||||
|
set foldexpr=nvim_treesitter#foldexpr()
|
||||||
|
|
||||||
|
" Configure feline
|
||||||
|
lua <<EOF
|
||||||
|
require('feline').setup()
|
||||||
|
EOF
|
||||||
|
|
||||||
|
" Configure Shade
|
||||||
|
lua <<EOF
|
||||||
|
require('shade').setup({
|
||||||
|
overlay_opacity = 50,
|
||||||
|
opacity_step = 1,
|
||||||
|
keys = {
|
||||||
|
brightness_up = '<C-Up>',
|
||||||
|
brightness_down = '<C-Down>',
|
||||||
|
toggle = '<Leader>s',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
EOF
|
||||||
|
endif
|
||||||
|
|
||||||
|
set background=light
|
||||||
|
" Keep at least 5 lines anove or below the cursor
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
" use F2 to switch to paste mode
|
||||||
|
set pastetoggle=<F2>
|
||||||
|
|
||||||
|
" Configure Goyo
|
||||||
|
nmap <leader>] :Goyo<CR>
|
||||||
|
function! s:goyo_enter()
|
||||||
|
if exists('$TMUX')
|
||||||
|
" Hide the status panel and zoom in the current pane
|
||||||
|
silent !tmux set status off
|
||||||
|
" This hackery checks whether the pane is zoomed and toggles the status if
|
||||||
|
" not
|
||||||
|
silent !tmux list-panes -F '\#F'|grep -q Z || tmux resize-pane -Z
|
||||||
|
endif
|
||||||
|
" All eyes on me
|
||||||
|
Limelight
|
||||||
|
" Resize after zoom
|
||||||
|
if !exists("g:goyo_width")
|
||||||
|
let g:goyo_width=80
|
||||||
|
endif
|
||||||
|
if !exists("g:goyo_height")
|
||||||
|
let g:goyo_height='85%'
|
||||||
|
endif
|
||||||
|
execute "Goyo ".g:goyo_width."x".g:goyo_height
|
||||||
|
set scrolloff=999
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function! s:goyo_leave()
|
||||||
|
if exists('$TMUX')
|
||||||
|
" Show the status panel and zoom out the current pane
|
||||||
|
silent !tmux set status on
|
||||||
|
silent !tmux list-panes -F '\#F'|grep -q Z && tmux resize-pane -Z
|
||||||
|
endif
|
||||||
|
Limelight!
|
||||||
|
set scrolloff=5
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
autocmd! User GoyoEnter nested call <SID>goyo_enter()
|
||||||
|
autocmd! User GoyoLeave nested call <SID>goyo_leave()
|
||||||
|
|
||||||
|
" Configure Limelight
|
||||||
|
let g:limelight_conceal_ctermfg = 245 " Solarized Base1
|
||||||
|
let g:limelight_conceal_guifg = '#8a8a8a' " Solarized Base1
|
||||||
|
|
||||||
|
"""
|
||||||
|
""" Visually indicate long columns
|
||||||
|
""" Taken from https://www.youtube.com/watch?v=aHm36-na4-4
|
||||||
|
"""
|
||||||
|
highlight ColorColumn ctermbg=magenta
|
||||||
|
call matchadd('ColorColumn', '\%81v', 100)
|
||||||
|
|
||||||
|
" Prefer two spaces
|
||||||
|
set shiftwidth=2
|
||||||
|
set softtabstop=2
|
||||||
|
|
||||||
|
" Show me those tabs, BTW
|
||||||
|
set list
|
||||||
|
set listchars=trail:~,nbsp:␣,tab:▸\
|
||||||
|
|
||||||
|
" Easy moves through wrapped lines
|
||||||
|
nnoremap j gj
|
||||||
|
nnoremap k gk
|
||||||
|
|
||||||
|
" Work with tmux mouse integration
|
||||||
|
set mouse=a
|
||||||
|
|
||||||
|
if has('nvim')
|
||||||
|
set undodir=~/.config/nvim/undodir
|
||||||
|
else
|
||||||
|
set undodir=~/.vim/undodir
|
||||||
|
endif
|
||||||
|
set undofile
|
Reference in New Issue
Block a user