* 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