add all initial files
This commit is contained in:
parent
7f76a9b39c
commit
f70efb52a6
43 changed files with 2820 additions and 0 deletions
1
.chezmoiroot
Normal file
1
.chezmoiroot
Normal file
|
@ -0,0 +1 @@
|
||||||
|
home
|
7
bin/is-executable
Executable file
7
bin/is-executable
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if type "$1" >/dev/null 2>&1; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
exit 1
|
||||||
|
fi
|
204
extras.sh
Executable file
204
extras.sh
Executable file
|
@ -0,0 +1,204 @@
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
# script to install the extra needed tools programmatically
|
||||||
|
|
||||||
|
# add command line flags and function to govern install?
|
||||||
|
|
||||||
|
MAMBAFORGE_RELEASE="https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh"
|
||||||
|
MAMBAFORGE_INSTALLER="Mambaforge-Linux-x86_64.sh"
|
||||||
|
|
||||||
|
|
||||||
|
help() {
|
||||||
|
cat << EOF
|
||||||
|
extras downloaders
|
||||||
|
|
||||||
|
by default will download all packages listed below
|
||||||
|
|
||||||
|
usage: $0 [OPTIONS]
|
||||||
|
|
||||||
|
--help Show this message
|
||||||
|
--force Overwrite current installations
|
||||||
|
|
||||||
|
To install a subset of these
|
||||||
|
use any of the package specific flag:
|
||||||
|
|
||||||
|
--fzf
|
||||||
|
--nvm
|
||||||
|
--mambaforge
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
for opt in "$@"; do
|
||||||
|
case $opt in
|
||||||
|
--help)
|
||||||
|
help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--force) force=1 ;;
|
||||||
|
--fzf) fzf=1 ;;
|
||||||
|
--nvm) nvm=1 ;;
|
||||||
|
--mambaforge) mamba=1 ;;
|
||||||
|
*)
|
||||||
|
echo "unknown option: $opt"
|
||||||
|
help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
check_existing() {
|
||||||
|
pkg=$1
|
||||||
|
install_dir=$2
|
||||||
|
declare -n skip_out=$3
|
||||||
|
|
||||||
|
if [ -d "$install_dir" ]; then
|
||||||
|
echo "found existing $pkg installation"
|
||||||
|
if [[ "$force" ]]; then
|
||||||
|
echo "removing previous installation"
|
||||||
|
rm -rf $install_dir
|
||||||
|
skip_out=0
|
||||||
|
else
|
||||||
|
skip_out=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
skip_out=0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ask() {
|
||||||
|
while true; do
|
||||||
|
read -p "$1 ([y]/n) " -r
|
||||||
|
REPLY=${REPLY:-"y"}
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
return 1
|
||||||
|
elif [[ $REPLY =~ ^[Nn]$ ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
install_fzf() {
|
||||||
|
echo "##############"
|
||||||
|
echo installing fzf
|
||||||
|
echo "##############"
|
||||||
|
|
||||||
|
check_existing "fzf" "$HOME/.fzf" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "installing fzf using git"
|
||||||
|
|
||||||
|
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
|
||||||
|
~/.fzf/install \
|
||||||
|
--key-bindings \
|
||||||
|
--completion \
|
||||||
|
--no-bash \
|
||||||
|
--no-zsh \
|
||||||
|
--no-update-rc \
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
install_nvm() {
|
||||||
|
echo "##############"
|
||||||
|
echo installing nvm
|
||||||
|
echo "##############"
|
||||||
|
|
||||||
|
check_existing "nvm" "$HOME/.nvm" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local current_dir=$PWD
|
||||||
|
|
||||||
|
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
|
||||||
|
cd ~/.nvm
|
||||||
|
git checkout v0.39.0
|
||||||
|
. ./nvm.sh
|
||||||
|
|
||||||
|
cd $current_dir
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_mambaforge() {
|
||||||
|
echo "#####################"
|
||||||
|
echo installing mambaforge
|
||||||
|
echo "#####################"
|
||||||
|
|
||||||
|
|
||||||
|
check_existing "mambaforge" "$HOME/mambaforge" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "#####################"
|
||||||
|
echo installing mambaforge
|
||||||
|
echo "#####################"
|
||||||
|
|
||||||
|
echo "fetching install script from github"
|
||||||
|
|
||||||
|
current_dir=$PWD
|
||||||
|
|
||||||
|
cd ~/
|
||||||
|
|
||||||
|
wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
|
||||||
|
bash "$MAMBAFORGE_INSTALLER" -s
|
||||||
|
rm "$MAMBAFORGE_INSTALLER"
|
||||||
|
|
||||||
|
echo "cleaning up installer"
|
||||||
|
|
||||||
|
cd $current_dir
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
install_all() {
|
||||||
|
echo "installing all packages..."
|
||||||
|
echo
|
||||||
|
install_fzf
|
||||||
|
echo
|
||||||
|
install_nvm
|
||||||
|
echo
|
||||||
|
install_mambaforge
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove once functional
|
||||||
|
echo $@
|
||||||
|
|
||||||
|
echo "#################"
|
||||||
|
echo EXTRAS DOWNLOADER
|
||||||
|
echo "#################"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ $# -eq 0 ];
|
||||||
|
then
|
||||||
|
install_all
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$fzf" ]; then
|
||||||
|
install_fzf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$nvm" ]; then
|
||||||
|
install_nvm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$mamba" ];
|
||||||
|
then install_mambaforge
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "FINISHED!"
|
1
home/.chezmoi.toml.tmpl
Normal file
1
home/.chezmoi.toml.tmpl
Normal file
|
@ -0,0 +1 @@
|
||||||
|
sourceDir = "~/.dotfiles"
|
37
home/dot_zshrc
Normal file
37
home/dot_zshrc
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
|
||||||
|
[ -z "$PS1" ] && return
|
||||||
|
|
||||||
|
#Get dotfiles directory
|
||||||
|
|
||||||
|
if [ -d "$HOME/.dotfiles" ]; then
|
||||||
|
DOTFILES_DIR="$HOME/.dotfiles"
|
||||||
|
else
|
||||||
|
echo "Unable to find dotfiles, exiting."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Make utilities available
|
||||||
|
|
||||||
|
# PATH="$DOTFILES_DIR/bin:$PATH"
|
||||||
|
|
||||||
|
for DOTFILE in "$DOTFILES_DIR"/system/{path,env,prompt,alias,function,conda,custom}.sh; do
|
||||||
|
[ -f "$DOTFILE" ] && . "$DOTFILE"
|
||||||
|
done
|
||||||
|
|
||||||
|
unset DOTFILE
|
||||||
|
|
||||||
|
DOTFILES_EXTRA_DIR="$HOME/.extra"
|
||||||
|
|
||||||
|
if [ -d "$DOTFILES_EXTRA_DIR" ]; then
|
||||||
|
for EXTRAFILE in "$DOTFILES_EXTRA_DIR"/runcom/*.sh; do
|
||||||
|
[ -f "$EXTRAFILE" ] && . "$EXTRAFILE"
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset EXTRAFILE
|
||||||
|
|
||||||
|
# Export
|
||||||
|
|
||||||
|
export DOTFILES_DIR DOTFILES_EXTRA_DIR
|
||||||
|
|
853
home/private_dot_config/alacritty/alacritty.yml
Normal file
853
home/private_dot_config/alacritty/alacritty.yml
Normal file
|
@ -0,0 +1,853 @@
|
||||||
|
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
||||||
|
|
||||||
|
# Import additional configuration files
|
||||||
|
#
|
||||||
|
# Imports are loaded in order, skipping all missing files, with the importing
|
||||||
|
# file being loaded last. If a field is already present in a previous import, it
|
||||||
|
# will be replaced.
|
||||||
|
#
|
||||||
|
# All imports must either be absolute paths starting with `/`, or paths relative
|
||||||
|
# to the user's home directory starting with `~/`.
|
||||||
|
import:
|
||||||
|
- C:\Users\daylin\AppData\Roaming\alacritty\dracula-pro.yml
|
||||||
|
|
||||||
|
# Any items in the `env` entry below will be added as
|
||||||
|
# environment variables. Some entries may override variables
|
||||||
|
# set by alacritty itself.
|
||||||
|
#env:
|
||||||
|
# TERM variable
|
||||||
|
#
|
||||||
|
# This value is used to set the `$TERM` environment variable for
|
||||||
|
# each instance of Alacritty. If it is not present, alacritty will
|
||||||
|
# check the local terminfo database and use `alacritty` if it is
|
||||||
|
# available, otherwise `xterm-256color` is used.
|
||||||
|
#TERM: alacritty
|
||||||
|
|
||||||
|
window:
|
||||||
|
# Window dimensions (changes require restart)
|
||||||
|
#
|
||||||
|
# Number of lines/columns (not pixels) in the terminal. The number of columns
|
||||||
|
# must be at least `2`, while using a value of `0` for columns and lines will
|
||||||
|
# fall back to the window manager's recommended size.
|
||||||
|
dimensions:
|
||||||
|
columns: 90
|
||||||
|
lines: 45
|
||||||
|
|
||||||
|
# Window position (changes require restart)
|
||||||
|
#
|
||||||
|
# Specified in number of pixels.
|
||||||
|
# If the position is not set, the window manager will handle the placement.
|
||||||
|
#position:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Window padding (changes require restart)
|
||||||
|
#
|
||||||
|
# Blank space added around the window in pixels. This padding is scaled
|
||||||
|
# by DPI and the specified value is always added at both opposing sides.
|
||||||
|
padding:
|
||||||
|
x: 10
|
||||||
|
y: 20
|
||||||
|
|
||||||
|
# Spread additional padding evenly around the terminal content.
|
||||||
|
dynamic_padding: true
|
||||||
|
|
||||||
|
# Window decorations
|
||||||
|
#
|
||||||
|
# Values for `decorations`:
|
||||||
|
# - full: Borders and title bar
|
||||||
|
# - none: Neither borders nor title bar
|
||||||
|
#
|
||||||
|
# Values for `decorations` (macOS only):
|
||||||
|
# - transparent: Title bar, transparent background and title bar buttons
|
||||||
|
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||||
|
decorations: full
|
||||||
|
|
||||||
|
# Startup Mode (changes require restart)
|
||||||
|
#
|
||||||
|
# Values for `startup_mode`:
|
||||||
|
# - Windowed
|
||||||
|
# - Maximized
|
||||||
|
# - Fullscreen
|
||||||
|
#
|
||||||
|
# Values for `startup_mode` (macOS only):
|
||||||
|
# - SimpleFullscreen
|
||||||
|
#startup_mode: Windowed
|
||||||
|
|
||||||
|
# Window title
|
||||||
|
title: Alacritty
|
||||||
|
|
||||||
|
# Allow terminal applications to change Alacritty's window title.
|
||||||
|
#dynamic_title: true
|
||||||
|
|
||||||
|
# Window class (Linux/BSD only):
|
||||||
|
#class:
|
||||||
|
# Application instance name
|
||||||
|
#instance: Alacritty
|
||||||
|
# General application class
|
||||||
|
#general: Alacritty
|
||||||
|
|
||||||
|
# GTK theme variant (Linux/BSD only)
|
||||||
|
#
|
||||||
|
# Override the variant of the GTK theme. Commonly supported values are `dark`
|
||||||
|
# and `light`. Set this to `None` to use the default theme variant.
|
||||||
|
#gtk_theme_variant: None
|
||||||
|
|
||||||
|
#scrolling:
|
||||||
|
# Maximum number of lines in the scrollback buffer.
|
||||||
|
# Specifying '0' will disable scrolling.
|
||||||
|
#history: 10000
|
||||||
|
|
||||||
|
# Scrolling distance multiplier.
|
||||||
|
#multiplier: 3
|
||||||
|
|
||||||
|
# Font configuration
|
||||||
|
font:
|
||||||
|
# Normal (roman) font face
|
||||||
|
normal:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) Menlo
|
||||||
|
# - (Linux/BSD) monospace
|
||||||
|
# - (Windows) Consolas
|
||||||
|
family: "MonoLisa NF"
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Regular
|
||||||
|
|
||||||
|
# Bold font face
|
||||||
|
bold:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
family: "MonoLisa NF"
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
style: Bold
|
||||||
|
|
||||||
|
# Italic font face
|
||||||
|
italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
# family: "DejaVuSansMono NF"
|
||||||
|
family: "MonoLisa NF"
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
style: Italic
|
||||||
|
|
||||||
|
# Bold italic font face
|
||||||
|
bold_italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
family: "MonoLisa NF"
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
size: 10
|
||||||
|
|
||||||
|
# Offset is the extra space around each character. `offset.y` can be thought
|
||||||
|
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||||
|
# spacing.
|
||||||
|
#offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Glyph offset determines the locations of the glyphs within their cells with
|
||||||
|
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||||
|
# right, increasing `y` moves the glyph upward.
|
||||||
|
#glyph_offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Thin stroke font rendering (macOS only)
|
||||||
|
#
|
||||||
|
# Thin strokes are suitable for retina displays, but for non-retina screens
|
||||||
|
# it is recommended to set `use_thin_strokes` to `false`.
|
||||||
|
#use_thin_strokes: true
|
||||||
|
|
||||||
|
# If `true`, bold text is drawn using the bright color variants.
|
||||||
|
#draw_bold_text_with_bright_colors: false
|
||||||
|
|
||||||
|
# Colors (Tomorrow Night)
|
||||||
|
#colors:
|
||||||
|
# Default colors
|
||||||
|
#primary:
|
||||||
|
# background: '#1d1f21'
|
||||||
|
# foreground: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright and dim foreground colors
|
||||||
|
#
|
||||||
|
# The dimmed foreground color is calculated automatically if it is not
|
||||||
|
# present. If the bright foreground color is not set, or
|
||||||
|
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||||
|
# color will be used.
|
||||||
|
#dim_foreground: '#828482'
|
||||||
|
#bright_foreground: '#eaeaea'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Vi mode cursor colors
|
||||||
|
#
|
||||||
|
# Colors for the cursor when the vi mode is active.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#vi_mode_cursor:
|
||||||
|
# text: CellBackground
|
||||||
|
# cursor: CellForeground
|
||||||
|
|
||||||
|
# Search colors
|
||||||
|
#
|
||||||
|
# Colors used for the search bar and match highlighting.
|
||||||
|
#search:
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#matches:
|
||||||
|
# foreground: '#000000'
|
||||||
|
# background: '#ffffff'
|
||||||
|
#focused_match:
|
||||||
|
# foreground: '#ffffff'
|
||||||
|
# background: '#000000'
|
||||||
|
|
||||||
|
#bar:
|
||||||
|
# background: '#c5c8c6'
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
|
||||||
|
# Keyboard regex hints
|
||||||
|
#hints:
|
||||||
|
# First character in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#start:
|
||||||
|
# foreground: '#1d1f21'
|
||||||
|
# background: '#e9ff5e'
|
||||||
|
|
||||||
|
# All characters after the first one in the hint label
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#end:
|
||||||
|
# foreground: '#e9ff5e'
|
||||||
|
# background: '#1d1f21'
|
||||||
|
|
||||||
|
# Line indicator
|
||||||
|
#
|
||||||
|
# Color used for the indicator displaying the position in history during
|
||||||
|
# search and vi mode.
|
||||||
|
#
|
||||||
|
# By default, these will use the opposing primary color.
|
||||||
|
#line_indicator:
|
||||||
|
# foreground: None
|
||||||
|
# background: None
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area.
|
||||||
|
#
|
||||||
|
# Allowed values are CellForeground/CellBackground, which reference the
|
||||||
|
# affected cell, or hexadecimal colors like #ff00ff.
|
||||||
|
#selection:
|
||||||
|
# text: CellBackground
|
||||||
|
# background: CellForeground
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
#normal:
|
||||||
|
# black: '#1d1f21'
|
||||||
|
# red: '#cc6666'
|
||||||
|
# green: '#b5bd68'
|
||||||
|
# yellow: '#f0c674'
|
||||||
|
# blue: '#81a2be'
|
||||||
|
# magenta: '#b294bb'
|
||||||
|
# cyan: '#8abeb7'
|
||||||
|
# white: '#c5c8c6'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
#bright:
|
||||||
|
# black: '#666666'
|
||||||
|
# red: '#d54e53'
|
||||||
|
# green: '#b9ca4a'
|
||||||
|
# yellow: '#e7c547'
|
||||||
|
# blue: '#7aa6da'
|
||||||
|
# magenta: '#c397d8'
|
||||||
|
# cyan: '#70c0b1'
|
||||||
|
# white: '#eaeaea'
|
||||||
|
|
||||||
|
# Dim colors
|
||||||
|
#
|
||||||
|
# If the dim colors are not set, they will be calculated automatically based
|
||||||
|
# on the `normal` colors.
|
||||||
|
#dim:
|
||||||
|
# black: '#131415'
|
||||||
|
# red: '#864343'
|
||||||
|
# green: '#777c44'
|
||||||
|
# yellow: '#9e824c'
|
||||||
|
# blue: '#556a7d'
|
||||||
|
# magenta: '#75617b'
|
||||||
|
# cyan: '#5b7d78'
|
||||||
|
# white: '#828482'
|
||||||
|
|
||||||
|
# Indexed Colors
|
||||||
|
#
|
||||||
|
# The indexed colors include all colors from 16 to 256.
|
||||||
|
# When these are not set, they're filled with sensible defaults.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# `- { index: 16, color: '#ff00ff' }`
|
||||||
|
#
|
||||||
|
#indexed_colors: []
|
||||||
|
|
||||||
|
# Bell
|
||||||
|
#
|
||||||
|
# The bell is rung every time the BEL control character is received.
|
||||||
|
#bell:
|
||||||
|
# Visual Bell Animation
|
||||||
|
#
|
||||||
|
# Animation effect for flashing the screen when the visual bell is rung.
|
||||||
|
#
|
||||||
|
# Values for `animation`:
|
||||||
|
# - Ease
|
||||||
|
# - EaseOut
|
||||||
|
# - EaseOutSine
|
||||||
|
# - EaseOutQuad
|
||||||
|
# - EaseOutCubic
|
||||||
|
# - EaseOutQuart
|
||||||
|
# - EaseOutQuint
|
||||||
|
# - EaseOutExpo
|
||||||
|
# - EaseOutCirc
|
||||||
|
# - Linear
|
||||||
|
#animation: EaseOutExpo
|
||||||
|
|
||||||
|
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||||
|
# disable the visual bell animation.
|
||||||
|
#duration: 0
|
||||||
|
|
||||||
|
# Visual bell animation color.
|
||||||
|
#color: '#ffffff'
|
||||||
|
|
||||||
|
# Bell Command
|
||||||
|
#
|
||||||
|
# This program is executed whenever the bell is rung.
|
||||||
|
#
|
||||||
|
# When set to `command: None`, no command will be executed.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# command:
|
||||||
|
# program: notify-send
|
||||||
|
# args: ["Hello, World!"]
|
||||||
|
#
|
||||||
|
#command: None
|
||||||
|
|
||||||
|
# Background opacity
|
||||||
|
#
|
||||||
|
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||||
|
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||||
|
#background_opacity: 1.0
|
||||||
|
|
||||||
|
#selection:
|
||||||
|
# This string contains all characters that are used as separators for
|
||||||
|
# "semantic words" in Alacritty.
|
||||||
|
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||||
|
|
||||||
|
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||||
|
#save_to_clipboard: false
|
||||||
|
|
||||||
|
#cursor:
|
||||||
|
# Cursor style
|
||||||
|
#style:
|
||||||
|
# Cursor shape
|
||||||
|
#
|
||||||
|
# Values for `shape`:
|
||||||
|
# - ▇ Block
|
||||||
|
# - _ Underline
|
||||||
|
# - | Beam
|
||||||
|
#shape: Block
|
||||||
|
|
||||||
|
# Cursor blinking state
|
||||||
|
#
|
||||||
|
# Values for `blinking`:
|
||||||
|
# - Never: Prevent the cursor from ever blinking
|
||||||
|
# - Off: Disable blinking by default
|
||||||
|
# - On: Enable blinking by default
|
||||||
|
# - Always: Force the cursor to always blink
|
||||||
|
#blinking: Off
|
||||||
|
|
||||||
|
# Vi mode cursor style
|
||||||
|
#
|
||||||
|
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||||
|
# the style of the active value of the normal cursor.
|
||||||
|
#
|
||||||
|
# See `cursor.style` for available options.
|
||||||
|
#vi_mode_style: None
|
||||||
|
|
||||||
|
# Cursor blinking interval in milliseconds.
|
||||||
|
#blink_interval: 750
|
||||||
|
|
||||||
|
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||||
|
# window is not focused.
|
||||||
|
#unfocused_hollow: true
|
||||||
|
|
||||||
|
# Thickness of the cursor relative to the cell width as floating point number
|
||||||
|
# from `0.0` to `1.0`.
|
||||||
|
#thickness: 0.15
|
||||||
|
|
||||||
|
# Live config reload (changes require restart)
|
||||||
|
#live_config_reload: true
|
||||||
|
|
||||||
|
# Shell
|
||||||
|
#
|
||||||
|
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||||
|
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||||
|
# shell.
|
||||||
|
#
|
||||||
|
# Default:
|
||||||
|
# - (macOS) /bin/bash --login
|
||||||
|
# - (Linux/BSD) user login shell
|
||||||
|
# - (Windows) powershell
|
||||||
|
#shell:
|
||||||
|
# program: /bin/bash
|
||||||
|
# args:
|
||||||
|
# - --login
|
||||||
|
|
||||||
|
# Startup directory
|
||||||
|
#
|
||||||
|
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||||
|
# directory of the parent process will be used.
|
||||||
|
#working_directory: None
|
||||||
|
|
||||||
|
# Send ESC (\x1b) before characters when alt is pressed.
|
||||||
|
#alt_send_esc: true
|
||||||
|
|
||||||
|
#mouse:
|
||||||
|
# Click settings
|
||||||
|
#
|
||||||
|
# The `double_click` and `triple_click` settings control the time
|
||||||
|
# alacritty should wait for accepting multiple clicks as one double
|
||||||
|
# or triple click.
|
||||||
|
#double_click: { threshold: 300 }
|
||||||
|
#triple_click: { threshold: 300 }
|
||||||
|
|
||||||
|
# If this is `true`, the cursor is temporarily hidden when typing.
|
||||||
|
#hide_when_typing: false
|
||||||
|
|
||||||
|
# Regex hints
|
||||||
|
#
|
||||||
|
# Terminal hints can be used to find text in the visible part of the terminal
|
||||||
|
# and pipe it to other applications.
|
||||||
|
#hints:
|
||||||
|
# Keys used for the hint labels.
|
||||||
|
#alphabet: "jfkdls;ahgurieowpq"
|
||||||
|
|
||||||
|
# List with all available hints
|
||||||
|
#
|
||||||
|
# Each hint must have a `regex` and either an `action` or a `command` field.
|
||||||
|
# The fields `mouse`, `binding` and `post_processing` are optional.
|
||||||
|
#
|
||||||
|
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
|
||||||
|
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
|
||||||
|
#
|
||||||
|
# The `mouse.enabled` field controls if the hint should be underlined while
|
||||||
|
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
|
||||||
|
#
|
||||||
|
# If the `post_processing` field is set to `true`, heuristics will be used to
|
||||||
|
# shorten the match if there are characters likely not to be part of the hint
|
||||||
|
# (e.g. a trailing `.`). This is most useful for URIs.
|
||||||
|
#
|
||||||
|
# Values for `action`:
|
||||||
|
# - Copy
|
||||||
|
# Copy the hint's text to the clipboard.
|
||||||
|
# - Paste
|
||||||
|
# Paste the hint's text to the terminal or search.
|
||||||
|
# - Select
|
||||||
|
# Select the hint's text.
|
||||||
|
# - MoveViModeCursor
|
||||||
|
# Move the vi mode cursor to the beginning of the hint.
|
||||||
|
#enabled:
|
||||||
|
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
||||||
|
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
# command: xdg-open
|
||||||
|
# post_processing: true
|
||||||
|
# mouse:
|
||||||
|
# enabled: true
|
||||||
|
# mods: None
|
||||||
|
# binding:
|
||||||
|
# key: U
|
||||||
|
# mods: Control|Shift
|
||||||
|
|
||||||
|
# Mouse bindings
|
||||||
|
#
|
||||||
|
# Mouse bindings are specified as a list of objects, much like the key
|
||||||
|
# bindings further below.
|
||||||
|
#
|
||||||
|
# To trigger mouse bindings when an application running within Alacritty
|
||||||
|
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||||
|
# requirement.
|
||||||
|
#
|
||||||
|
# Each mouse binding will specify a:
|
||||||
|
#
|
||||||
|
# - `mouse`:
|
||||||
|
#
|
||||||
|
# - Middle
|
||||||
|
# - Left
|
||||||
|
# - Right
|
||||||
|
# - Numeric identifier such as `5`
|
||||||
|
#
|
||||||
|
# - `action` (see key bindings)
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods` (see key bindings)
|
||||||
|
#mouse_bindings:
|
||||||
|
# - { mouse: Middle, action: PasteSelection }
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
#
|
||||||
|
# Key bindings are specified as a list of objects. For example, this is the
|
||||||
|
# default paste binding:
|
||||||
|
#
|
||||||
|
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||||
|
#
|
||||||
|
# Each key binding will specify a:
|
||||||
|
#
|
||||||
|
# - `key`: Identifier of the key pressed
|
||||||
|
#
|
||||||
|
# - A-Z
|
||||||
|
# - F1-F24
|
||||||
|
# - Key0-Key9
|
||||||
|
#
|
||||||
|
# A full list with available key codes can be found here:
|
||||||
|
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||||
|
#
|
||||||
|
# Instead of using the name of the keys, the `key` field also supports using
|
||||||
|
# the scancode of the desired key. Scancodes have to be specified as a
|
||||||
|
# decimal number. This command will allow you to display the hex scancodes
|
||||||
|
# for certain keys:
|
||||||
|
#
|
||||||
|
# `showkey --scancodes`.
|
||||||
|
#
|
||||||
|
# Then exactly one of:
|
||||||
|
#
|
||||||
|
# - `chars`: Send a byte sequence to the running application
|
||||||
|
#
|
||||||
|
# The `chars` field writes the specified string to the terminal. This makes
|
||||||
|
# it possible to pass escape sequences. To find escape codes for bindings
|
||||||
|
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||||
|
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||||
|
# to keys. It is therefore required to update the terminfo when changing an
|
||||||
|
# escape sequence.
|
||||||
|
#
|
||||||
|
# - `action`: Execute a predefined action
|
||||||
|
#
|
||||||
|
# - ToggleViMode
|
||||||
|
# - SearchForward
|
||||||
|
# Start searching toward the right of the search origin.
|
||||||
|
# - SearchBackward
|
||||||
|
# Start searching toward the left of the search origin.
|
||||||
|
# - Copy
|
||||||
|
# - Paste
|
||||||
|
# - IncreaseFontSize
|
||||||
|
# - DecreaseFontSize
|
||||||
|
# - ResetFontSize
|
||||||
|
# - ScrollPageUp
|
||||||
|
# - ScrollPageDown
|
||||||
|
# - ScrollHalfPageUp
|
||||||
|
# - ScrollHalfPageDown
|
||||||
|
# - ScrollLineUp
|
||||||
|
# - ScrollLineDown
|
||||||
|
# - ScrollToTop
|
||||||
|
# - ScrollToBottom
|
||||||
|
# - ClearHistory
|
||||||
|
# Remove the terminal's scrollback history.
|
||||||
|
# - Hide
|
||||||
|
# Hide the Alacritty window.
|
||||||
|
# - Minimize
|
||||||
|
# Minimize the Alacritty window.
|
||||||
|
# - Quit
|
||||||
|
# Quit Alacritty.
|
||||||
|
# - ToggleFullscreen
|
||||||
|
# - SpawnNewInstance
|
||||||
|
# Spawn a new instance of Alacritty.
|
||||||
|
# - ClearLogNotice
|
||||||
|
# Clear Alacritty's UI warning and error notice.
|
||||||
|
# - ClearSelection
|
||||||
|
# Remove the active selection.
|
||||||
|
# - ReceiveChar
|
||||||
|
# - None
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive actions:
|
||||||
|
#
|
||||||
|
# - Open
|
||||||
|
# Perform the action of the first matching hint under the vi mode cursor
|
||||||
|
# with `mouse.enabled` set to `true`.
|
||||||
|
# - ToggleNormalSelection
|
||||||
|
# - ToggleLineSelection
|
||||||
|
# - ToggleBlockSelection
|
||||||
|
# - ToggleSemanticSelection
|
||||||
|
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||||
|
#
|
||||||
|
# - Vi mode exclusive cursor motion actions:
|
||||||
|
#
|
||||||
|
# - Up
|
||||||
|
# One line up.
|
||||||
|
# - Down
|
||||||
|
# One line down.
|
||||||
|
# - Left
|
||||||
|
# One character left.
|
||||||
|
# - Right
|
||||||
|
# One character right.
|
||||||
|
# - First
|
||||||
|
# First column, or beginning of the line when already at the first column.
|
||||||
|
# - Last
|
||||||
|
# Last column, or beginning of the line when already at the last column.
|
||||||
|
# - FirstOccupied
|
||||||
|
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||||
|
# the line when already at the first cell of the row.
|
||||||
|
# - High
|
||||||
|
# Top of the screen.
|
||||||
|
# - Middle
|
||||||
|
# Center of the screen.
|
||||||
|
# - Low
|
||||||
|
# Bottom of the screen.
|
||||||
|
# - SemanticLeft
|
||||||
|
# Start of the previous semantically separated word.
|
||||||
|
# - SemanticRight
|
||||||
|
# Start of the next semantically separated word.
|
||||||
|
# - SemanticLeftEnd
|
||||||
|
# End of the previous semantically separated word.
|
||||||
|
# - SemanticRightEnd
|
||||||
|
# End of the next semantically separated word.
|
||||||
|
# - WordLeft
|
||||||
|
# Start of the previous whitespace separated word.
|
||||||
|
# - WordRight
|
||||||
|
# Start of the next whitespace separated word.
|
||||||
|
# - WordLeftEnd
|
||||||
|
# End of the previous whitespace separated word.
|
||||||
|
# - WordRightEnd
|
||||||
|
# End of the next whitespace separated word.
|
||||||
|
# - Bracket
|
||||||
|
# Character matching the bracket at the cursor's location.
|
||||||
|
# - SearchNext
|
||||||
|
# Beginning of the next match.
|
||||||
|
# - SearchPrevious
|
||||||
|
# Beginning of the previous match.
|
||||||
|
# - SearchStart
|
||||||
|
# Start of the match to the left of the vi mode cursor.
|
||||||
|
# - SearchEnd
|
||||||
|
# End of the match to the right of the vi mode cursor.
|
||||||
|
#
|
||||||
|
# - Search mode exclusive actions:
|
||||||
|
# - SearchFocusNext
|
||||||
|
# Move the focus to the next search match.
|
||||||
|
# - SearchFocusPrevious
|
||||||
|
# Move the focus to the previous search match.
|
||||||
|
# - SearchConfirm
|
||||||
|
# - SearchCancel
|
||||||
|
# - SearchClear
|
||||||
|
# Reset the search regex.
|
||||||
|
# - SearchDeleteWord
|
||||||
|
# Delete the last word in the search regex.
|
||||||
|
# - SearchHistoryPrevious
|
||||||
|
# Go to the previous regex in the search history.
|
||||||
|
# - SearchHistoryNext
|
||||||
|
# Go to the next regex in the search history.
|
||||||
|
#
|
||||||
|
# - macOS exclusive actions:
|
||||||
|
# - ToggleSimpleFullscreen
|
||||||
|
# Enter fullscreen without occupying another space.
|
||||||
|
#
|
||||||
|
# - Linux/BSD exclusive actions:
|
||||||
|
#
|
||||||
|
# - CopySelection
|
||||||
|
# Copy from the selection buffer.
|
||||||
|
# - PasteSelection
|
||||||
|
# Paste from the selection buffer.
|
||||||
|
#
|
||||||
|
# - `command`: Fork and execute a specified command plus arguments
|
||||||
|
#
|
||||||
|
# The `command` field must be a map containing a `program` string and an
|
||||||
|
# `args` array of command line parameter strings. For example:
|
||||||
|
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||||
|
#
|
||||||
|
# And optionally:
|
||||||
|
#
|
||||||
|
# - `mods`: Key modifiers to filter binding actions
|
||||||
|
#
|
||||||
|
# - Command
|
||||||
|
# - Control
|
||||||
|
# - Option
|
||||||
|
# - Super
|
||||||
|
# - Shift
|
||||||
|
# - Alt
|
||||||
|
#
|
||||||
|
# Multiple `mods` can be combined using `|` like this:
|
||||||
|
# `mods: Control|Shift`.
|
||||||
|
# Whitespace and capitalization are relevant and must match the example.
|
||||||
|
#
|
||||||
|
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||||
|
#
|
||||||
|
# This is mainly used to send applications the correct escape sequences
|
||||||
|
# when in different modes.
|
||||||
|
#
|
||||||
|
# - AppCursor
|
||||||
|
# - AppKeypad
|
||||||
|
# - Search
|
||||||
|
# - Alt
|
||||||
|
# - Vi
|
||||||
|
#
|
||||||
|
# A `~` operator can be used before a mode to apply the binding whenever
|
||||||
|
# the mode is *not* active, e.g. `~Alt`.
|
||||||
|
#
|
||||||
|
# Bindings are always filled by default, but will be replaced when a new
|
||||||
|
# binding with the same triggers is defined. To unset a default binding, it can
|
||||||
|
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||||
|
# a no-op if you do not wish to receive input characters for that binding.
|
||||||
|
#
|
||||||
|
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||||
|
# in the order they were defined in.
|
||||||
|
#key_bindings:
|
||||||
|
#- { key: Paste, action: Paste }
|
||||||
|
#- { key: Copy, action: Copy }
|
||||||
|
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||||
|
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
|
||||||
|
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||||
|
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
|
||||||
|
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||||
|
|
||||||
|
# Vi Mode
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||||
|
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||||
|
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||||
|
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||||
|
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||||
|
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||||
|
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||||
|
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||||
|
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||||
|
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||||
|
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||||
|
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||||
|
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||||
|
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||||
|
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||||
|
#- { key: K, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: J, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: H, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: L, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||||
|
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||||
|
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||||
|
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||||
|
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||||
|
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||||
|
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||||
|
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||||
|
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||||
|
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||||
|
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||||
|
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||||
|
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||||
|
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||||
|
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||||
|
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||||
|
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||||
|
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||||
|
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||||
|
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||||
|
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||||
|
|
||||||
|
# Search Mode
|
||||||
|
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||||
|
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||||
|
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||||
|
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||||
|
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||||
|
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||||
|
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||||
|
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||||
|
|
||||||
|
# (Windows, Linux, and BSD only)
|
||||||
|
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||||
|
#- { key: C, mods: Control|Shift, action: Copy }
|
||||||
|
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||||
|
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||||
|
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||||
|
|
||||||
|
# (Windows only)
|
||||||
|
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||||
|
|
||||||
|
# (macOS only)
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||||
|
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||||
|
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||||
|
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||||
|
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||||
|
#- { key: V, mods: Command, action: Paste }
|
||||||
|
#- { key: C, mods: Command, action: Copy }
|
||||||
|
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||||
|
#- { key: H, mods: Command, action: Hide }
|
||||||
|
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||||
|
#- { key: M, mods: Command, action: Minimize }
|
||||||
|
#- { key: Q, mods: Command, action: Quit }
|
||||||
|
#- { key: W, mods: Command, action: Quit }
|
||||||
|
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||||
|
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||||
|
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||||
|
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||||
|
|
||||||
|
#debug:
|
||||||
|
# Display the time it takes to redraw each frame.
|
||||||
|
#render_timer: false
|
||||||
|
|
||||||
|
# Keep the log file after quitting Alacritty.
|
||||||
|
#persistent_logging: false
|
||||||
|
|
||||||
|
# Log level
|
||||||
|
#
|
||||||
|
# Values for `log_level`:
|
||||||
|
# - Off
|
||||||
|
# - Error
|
||||||
|
# - Warn
|
||||||
|
# - Info
|
||||||
|
# - Debug
|
||||||
|
# - Trace
|
||||||
|
#log_level: Warn
|
||||||
|
|
||||||
|
# Print all received window events.
|
||||||
|
#print_events: false
|
53
home/private_dot_config/alacritty/dracula-pro.yml
Executable file
53
home/private_dot_config/alacritty/dracula-pro.yml
Executable file
|
@ -0,0 +1,53 @@
|
||||||
|
# Colors (Dracula PRO)
|
||||||
|
colors:
|
||||||
|
# Default colors
|
||||||
|
primary:
|
||||||
|
background: '0x22212c'
|
||||||
|
foreground: '0xf8f8f2'
|
||||||
|
|
||||||
|
# Bright and dim foreground colors
|
||||||
|
#
|
||||||
|
# The dimmed foreground color is calculated automatically if it is not present.
|
||||||
|
# If the bright foreground color is not set, or `draw_bold_text_with_bright_colors`
|
||||||
|
# is `false`, the normal foreground color will be used.
|
||||||
|
#dim_foreground: '0x9a9a9a'
|
||||||
|
#bright_foreground: '0xffffff'
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the terminal cursor. If these are unset,
|
||||||
|
# the cursor color will be the inverse of the cell color.
|
||||||
|
cursor:
|
||||||
|
text: '0x454158'
|
||||||
|
cursor: '0xf8f8f2'
|
||||||
|
|
||||||
|
# Selection colors
|
||||||
|
#
|
||||||
|
# Colors which should be used to draw the selection area. If selection
|
||||||
|
# background is unset, selection color will be the inverse of the cell colors.
|
||||||
|
# If only text is unset the cell text color will remain the same.
|
||||||
|
selection:
|
||||||
|
text: '0xf8f8f2'
|
||||||
|
background: '0x454158'
|
||||||
|
|
||||||
|
# Normal colors
|
||||||
|
normal:
|
||||||
|
black: '0x22212c'
|
||||||
|
red: '0xff9580'
|
||||||
|
green: '0x8aff80'
|
||||||
|
yellow: '0xffff80'
|
||||||
|
blue: '0x9580ff'
|
||||||
|
magenta: '0xff80bf'
|
||||||
|
cyan: '0x80ffea'
|
||||||
|
white: '0xf8f8f2'
|
||||||
|
|
||||||
|
# Bright colors
|
||||||
|
bright:
|
||||||
|
black: '0x22212c'
|
||||||
|
red: '0xffaa99'
|
||||||
|
green: '0xa2ff99'
|
||||||
|
yellow: '0xffff99'
|
||||||
|
blue: '0xaa99ff'
|
||||||
|
magenta: '0xff99cc'
|
||||||
|
cyan: '0x99ffee'
|
||||||
|
white: '0xffffff'
|
61
home/private_dot_config/alacritty/dracula.yml
Normal file
61
home/private_dot_config/alacritty/dracula.yml
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
# Dracula theme for Alacritty
|
||||||
|
# https://draculatheme.com/alacritty
|
||||||
|
#
|
||||||
|
# Color palette
|
||||||
|
# https://spec.draculatheme.com
|
||||||
|
#
|
||||||
|
# Template
|
||||||
|
# https://github.com/alacritty/alacritty/blob/master/alacritty.yml
|
||||||
|
|
||||||
|
colors:
|
||||||
|
primary:
|
||||||
|
background: '#282a36'
|
||||||
|
foreground: '#f8f8f2'
|
||||||
|
bright_foreground: '#ffffff'
|
||||||
|
cursor:
|
||||||
|
text: CellBackground
|
||||||
|
cursor: CellForeground
|
||||||
|
vi_mode_cursor:
|
||||||
|
text: CellBackground
|
||||||
|
cursor: CellForeground
|
||||||
|
search:
|
||||||
|
matches:
|
||||||
|
foreground: '#44475a'
|
||||||
|
background: '#50fa7b'
|
||||||
|
focused_match:
|
||||||
|
foreground: '#44475a'
|
||||||
|
background: '#ffb86c'
|
||||||
|
bar:
|
||||||
|
background: '#282a36'
|
||||||
|
foreground: '#f8f8f2'
|
||||||
|
hints:
|
||||||
|
start:
|
||||||
|
foreground: '#282a36'
|
||||||
|
background: '#f1fa8c'
|
||||||
|
end:
|
||||||
|
foreground: '#f1fa8c'
|
||||||
|
background: '#282a36'
|
||||||
|
line_indicator:
|
||||||
|
foreground: None
|
||||||
|
background: None
|
||||||
|
selection:
|
||||||
|
text: CellForeground
|
||||||
|
background: '#44475a'
|
||||||
|
normal:
|
||||||
|
black: '#21222c'
|
||||||
|
red: '#ff5555'
|
||||||
|
green: '#50fa7b'
|
||||||
|
yellow: '#f1fa8c'
|
||||||
|
blue: '#bd93f9'
|
||||||
|
magenta: '#ff79c6'
|
||||||
|
cyan: '#8be9fd'
|
||||||
|
white: '#f8f8f2'
|
||||||
|
bright:
|
||||||
|
black: '#6272a4'
|
||||||
|
red: '#ff6e6e'
|
||||||
|
green: '#69ff94'
|
||||||
|
yellow: '#ffffa5'
|
||||||
|
blue: '#d6acff'
|
||||||
|
magenta: '#ff92df'
|
||||||
|
cyan: '#a4ffff'
|
||||||
|
white: '#ffffff'
|
11
home/private_dot_config/alacritty/update.sh
Executable file
11
home/private_dot_config/alacritty/update.sh
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# run this from within WSL
|
||||||
|
|
||||||
|
files=(alacritty.yml dracula.yml dracula-pro.yml)
|
||||||
|
|
||||||
|
for file in "${files[@]}"
|
||||||
|
do
|
||||||
|
cp -v $DOTFILES_DIR/config/alacritty/$file /mnt/c/Users/daylin/AppData/Roaming/alacritty/$file
|
||||||
|
done
|
||||||
|
|
161
home/private_dot_config/bottom/bottom.toml
Normal file
161
home/private_dot_config/bottom/bottom.toml
Normal file
|
@ -0,0 +1,161 @@
|
||||||
|
# This is a default config file for bottom. All of the settings are commented
|
||||||
|
# out by default; if you wish to change them uncomment and modify as you see
|
||||||
|
# fit.
|
||||||
|
|
||||||
|
# This group of options represents a command-line flag/option. Flags explicitly
|
||||||
|
# added when running (ie: btm -a) will override this config file if an option
|
||||||
|
# is also set here.
|
||||||
|
|
||||||
|
[flags]
|
||||||
|
# Whether to hide the average cpu entry.
|
||||||
|
#hide_avg_cpu = false
|
||||||
|
# Whether to use dot markers rather than braille.
|
||||||
|
#dot_marker = false
|
||||||
|
# The update rate of the application.
|
||||||
|
rate = 250
|
||||||
|
# Whether to put the CPU legend to the left.
|
||||||
|
#left_legend = false
|
||||||
|
# Whether to set CPU% on a process to be based on the total CPU or just current usage.
|
||||||
|
#current_usage = false
|
||||||
|
# Whether to group processes with the same name together by default.
|
||||||
|
#group_processes = false
|
||||||
|
# Whether to make process searching case sensitive by default.
|
||||||
|
#case_sensitive = false
|
||||||
|
# Whether to make process searching look for matching the entire word by default.
|
||||||
|
#whole_word = false
|
||||||
|
# Whether to make process searching use regex by default.
|
||||||
|
#regex = false
|
||||||
|
# Defaults to Celsius. Temperature is one of:
|
||||||
|
#temperature_type = "k"
|
||||||
|
#temperature_type = "f"
|
||||||
|
#temperature_type = "c"
|
||||||
|
#temperature_type = "kelvin"
|
||||||
|
#temperature_type = "fahrenheit"
|
||||||
|
#temperature_type = "celsius"
|
||||||
|
# The default time interval (in milliseconds).
|
||||||
|
#default_time_value = 60000
|
||||||
|
# The time delta on each zoom in/out action (in milliseconds).
|
||||||
|
#time_delta = 15000
|
||||||
|
# Hides the time scale.
|
||||||
|
#hide_time = false
|
||||||
|
# Override layout default widget
|
||||||
|
#default_widget_type = "proc"
|
||||||
|
#default_widget_count = 1
|
||||||
|
# Use basic mode
|
||||||
|
#basic = false
|
||||||
|
# Use the old network legend style
|
||||||
|
#use_old_network_legend = false
|
||||||
|
# Remove space in tables
|
||||||
|
#hide_table_gap = false
|
||||||
|
# Show the battery widgets
|
||||||
|
#battery = false
|
||||||
|
# Disable mouse clicks
|
||||||
|
#disable_click = false
|
||||||
|
# Built-in themes. Valid values are "default", "default-light", "gruvbox", "gruvbox-light", "nord", "nord-light"
|
||||||
|
#color = "default"
|
||||||
|
# Show memory values in the processes widget as values by default
|
||||||
|
#mem_as_value = false
|
||||||
|
# Show tree mode by default in the processes widget.
|
||||||
|
#tree = false
|
||||||
|
# Shows an indicator in table widgets tracking where in the list you are.
|
||||||
|
#show_table_scroll_position = false
|
||||||
|
# Show processes as their commands by default in the process widget.
|
||||||
|
process_command = true
|
||||||
|
# Displays the network widget with binary prefixes.
|
||||||
|
#network_use_binary_prefix = false
|
||||||
|
# Displays the network widget using bytes.
|
||||||
|
#network_use_bytes = false
|
||||||
|
# Displays the network widget with a log scale.
|
||||||
|
#network_use_log = false
|
||||||
|
# Hides advanced options to stop a process on Unix-like systems.
|
||||||
|
#disable_advanced_kill = false
|
||||||
|
|
||||||
|
# These are all the components that support custom theming. Note that colour support
|
||||||
|
# will depend on terminal support.
|
||||||
|
|
||||||
|
#[colors] # Uncomment if you want to use custom colors
|
||||||
|
# Represents the colour of table headers (processes, CPU, disks, temperature).
|
||||||
|
#table_header_color="LightBlue"
|
||||||
|
# Represents the colour of the label each widget has.
|
||||||
|
#widget_title_color="Gray"
|
||||||
|
# Represents the average CPU color.
|
||||||
|
#avg_cpu_color="Red"
|
||||||
|
# Represents the colour the core will use in the CPU legend and graph.
|
||||||
|
#cpu_core_colors=["LightMagenta", "LightYellow", "LightCyan", "LightGreen", "LightBlue", "LightRed", "Cyan", "Green", "Blue", "Red"]
|
||||||
|
# Represents the colour RAM will use in the memory legend and graph.
|
||||||
|
#ram_color="LightMagenta"
|
||||||
|
# Represents the colour SWAP will use in the memory legend and graph.
|
||||||
|
#swap_color="LightYellow"
|
||||||
|
# Represents the colour rx will use in the network legend and graph.
|
||||||
|
#rx_color="LightCyan"
|
||||||
|
# Represents the colour tx will use in the network legend and graph.
|
||||||
|
#tx_color="LightGreen"
|
||||||
|
# Represents the colour of the border of unselected widgets.
|
||||||
|
#border_color="Gray"
|
||||||
|
# Represents the colour of the border of selected widgets.
|
||||||
|
#highlighted_border_color="LightBlue"
|
||||||
|
# Represents the colour of most text.
|
||||||
|
#text_color="Gray"
|
||||||
|
# Represents the colour of text that is selected.
|
||||||
|
#selected_text_color="Black"
|
||||||
|
# Represents the background colour of text that is selected.
|
||||||
|
#selected_bg_color="LightBlue"
|
||||||
|
# Represents the colour of the lines and text of the graph.
|
||||||
|
#graph_color="Gray"
|
||||||
|
# Represents the colours of the battery based on charge
|
||||||
|
#high_battery_color="green"
|
||||||
|
#medium_battery_color="yellow"
|
||||||
|
#low_battery_color="red"
|
||||||
|
|
||||||
|
# Layout - layouts follow a pattern like this:
|
||||||
|
# [[row]] represents a row in the application.
|
||||||
|
# [[row.child]] represents either a widget or a column.
|
||||||
|
# [[row.child.child]] represents a widget.
|
||||||
|
#
|
||||||
|
# All widgets must have the type value set to one of ["cpu", "mem", "proc", "net", "temp", "disk", "empty"].
|
||||||
|
# All layout components have a ratio value - if this is not set, then it defaults to 1.
|
||||||
|
# The default widget layout:
|
||||||
|
[[row]]
|
||||||
|
ratio=25
|
||||||
|
[[row.child]]
|
||||||
|
ratio=6
|
||||||
|
type="cpu"
|
||||||
|
[[row.child]]
|
||||||
|
ratio=4
|
||||||
|
type="mem"
|
||||||
|
[[row]]
|
||||||
|
ratio=75
|
||||||
|
[[row.child]]
|
||||||
|
type="proc"
|
||||||
|
default=true
|
||||||
|
|
||||||
|
|
||||||
|
# Filters - you can hide specific temperature sensors, network interfaces, and disks using filters. This is admittedly
|
||||||
|
# a bit hard to use as of now, and there is a planned in-app interface for managing this in the future:
|
||||||
|
#[disk_filter]
|
||||||
|
#is_list_ignored = true
|
||||||
|
#list = ["/dev/sda\\d+", "/dev/nvme0n1p2"]
|
||||||
|
#regex = true
|
||||||
|
#case_sensitive = false
|
||||||
|
#whole_word = false
|
||||||
|
|
||||||
|
#[mount_filter]
|
||||||
|
#is_list_ignored = true
|
||||||
|
#list = ["/mnt/.*", "/boot"]
|
||||||
|
#regex = true
|
||||||
|
#case_sensitive = false
|
||||||
|
#whole_word = false
|
||||||
|
|
||||||
|
#[temp_filter]
|
||||||
|
#is_list_ignored = true
|
||||||
|
#list = ["cpu", "wifi"]
|
||||||
|
#regex = false
|
||||||
|
#case_sensitive = false
|
||||||
|
#whole_word = false
|
||||||
|
|
||||||
|
#[net_filter]
|
||||||
|
#is_list_ignored = true
|
||||||
|
#list = ["virbr0.*"]
|
||||||
|
#regex = true
|
||||||
|
#case_sensitive = false
|
||||||
|
#whole_word = false
|
1
home/private_dot_config/conda/condarc
Normal file
1
home/private_dot_config/conda/condarc
Normal file
|
@ -0,0 +1 @@
|
||||||
|
changeps1: False
|
17
home/private_dot_config/git/config
Normal file
17
home/private_dot_config/git/config
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
[credential]
|
||||||
|
helper = cache
|
||||||
|
[core]
|
||||||
|
editor = nvim
|
||||||
|
[user]
|
||||||
|
name = Daylin Morgan
|
||||||
|
email = daylinmorgan@gmail.com
|
||||||
|
[submodule]
|
||||||
|
recurse = true
|
||||||
|
[pull]
|
||||||
|
rebase = true
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[branch]
|
||||||
|
autosetuprebase = always
|
||||||
|
[alias]
|
||||||
|
adog = log --all --decorate --oneline --graph
|
9
home/private_dot_config/lazygit/config.yml
Normal file
9
home/private_dot_config/lazygit/config.yml
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
gui:
|
||||||
|
theme:
|
||||||
|
selectedLineBgColor:
|
||||||
|
- reverse
|
||||||
|
selectedRangeBgColor:
|
||||||
|
- reverse
|
||||||
|
showFileTree: true
|
||||||
|
git:
|
||||||
|
branchLogCmd: 'git log --graph --all --color=always --decorate --date=relative --oneline'
|
29
home/private_dot_config/lf/lfcd.sh
Normal file
29
home/private_dot_config/lf/lfcd.sh
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
# Change working dir in shell to last dir in lf on exit (adapted from ranger).
|
||||||
|
#
|
||||||
|
# You need to either copy the content of this file to your shell rc file
|
||||||
|
# (e.g. ~/.bashrc) or source this file directly:
|
||||||
|
#
|
||||||
|
# LFCD="/path/to/lfcd.sh"
|
||||||
|
# if [ -f "$LFCD" ]; then
|
||||||
|
# source "$LFCD"
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# You may also like to assign a key to this command:
|
||||||
|
#
|
||||||
|
# bind '"\C-o":"lfcd\C-m"' # bash
|
||||||
|
# bindkey -s '^o' 'lfcd\n' # zsh
|
||||||
|
#
|
||||||
|
|
||||||
|
lfcd () {
|
||||||
|
tmp="$(mktemp)"
|
||||||
|
lf -last-dir-path="$tmp" "$@"
|
||||||
|
if [ -f "$tmp" ]; then
|
||||||
|
dir="$(cat "$tmp")"
|
||||||
|
rm -f "$tmp"
|
||||||
|
if [ -d "$dir" ]; then
|
||||||
|
if [ "$dir" != "$(pwd)" ]; then
|
||||||
|
cd "$dir"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
100
home/private_dot_config/lf/lfrc
Normal file
100
home/private_dot_config/lf/lfrc
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
# interpreter for shell commands
|
||||||
|
set shell sh
|
||||||
|
|
||||||
|
# set '-eu' options for shell commands
|
||||||
|
# These options are used to have safer shell commands. Option '-e' is used to
|
||||||
|
# exit on error and option '-u' is used to give error for unset variables.
|
||||||
|
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||||
|
# $fx variables contain names with '*' or '?' characters. However, this option
|
||||||
|
# is used selectively within individual commands as it can be limiting at
|
||||||
|
# times.
|
||||||
|
set shellopts '-eu'
|
||||||
|
|
||||||
|
# set internal field separator (IFS) to "\n" for shell commands
|
||||||
|
# This is useful to automatically split file names in $fs and $fx properly
|
||||||
|
# since default file separator used in these variables (i.e. 'filesep' option)
|
||||||
|
# is newline. You need to consider the values of these options and create your
|
||||||
|
# commands accordingly.
|
||||||
|
set ifs "\n"
|
||||||
|
|
||||||
|
# leave some space at the top and the bottom of the screen
|
||||||
|
set scrolloff 10
|
||||||
|
|
||||||
|
# use enter for shell commands
|
||||||
|
map <enter> shell
|
||||||
|
|
||||||
|
# execute current file (must be executable)
|
||||||
|
map x $$f
|
||||||
|
map X !$f
|
||||||
|
|
||||||
|
# dedicated keys for file opener actions
|
||||||
|
map o &mimeopen $f
|
||||||
|
map O $mimeopen --ask $f
|
||||||
|
|
||||||
|
# define a custom 'open' command
|
||||||
|
# This command is called when current file is not a directory. You may want to
|
||||||
|
# use either file extensions and/or mime types here. Below uses an editor for
|
||||||
|
# text files and a file opener for the rest.
|
||||||
|
cmd open ${{
|
||||||
|
test -L $f && f=$(readlink -f $f)
|
||||||
|
case $(file --mime-type $f -b) in
|
||||||
|
text/*) $EDITOR $fx;;
|
||||||
|
*) for f in $fx; do setsid $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
# define a custom 'rename' command without prompt for overwrite
|
||||||
|
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||||
|
# map r push :rename<space>
|
||||||
|
|
||||||
|
# make sure trash folder exists
|
||||||
|
# %mkdir -p ~/.trash
|
||||||
|
|
||||||
|
# move current file or selected files to trash folder
|
||||||
|
# (also see 'man mv' for backup/overwrite options)
|
||||||
|
cmd trash %set -f; mv $fx ~/.trash
|
||||||
|
|
||||||
|
# define a custom 'delete' command
|
||||||
|
# cmd delete ${{
|
||||||
|
# set -f
|
||||||
|
# printf "$fx\n"
|
||||||
|
# printf "delete?[y/n]"
|
||||||
|
# read ans
|
||||||
|
# [ $ans = "y" ] && rm -rf $fx
|
||||||
|
# }}
|
||||||
|
|
||||||
|
# use '<delete>' key for either 'trash' or 'delete' command
|
||||||
|
# map <delete> trash
|
||||||
|
# map <delete> delete
|
||||||
|
|
||||||
|
# extract the current file with the right command
|
||||||
|
# (xkcd link: https://xkcd.com/1168/)
|
||||||
|
cmd extract ${{
|
||||||
|
set -f
|
||||||
|
case $f in
|
||||||
|
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||||
|
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||||
|
*.tar.xz|*.txz) tar xJvf $f;;
|
||||||
|
*.zip) unzip $f;;
|
||||||
|
*.rar) unrar x $f;;
|
||||||
|
*.7z) 7z x $f;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
# compress current file or selected files with tar and gunzip
|
||||||
|
cmd tar ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
tar czf $1.tar.gz $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
||||||
|
|
||||||
|
# compress current file or selected files with zip
|
||||||
|
cmd zip ${{
|
||||||
|
set -f
|
||||||
|
mkdir $1
|
||||||
|
cp -r $fx $1
|
||||||
|
zip -r $1.zip $1
|
||||||
|
rm -rf $1
|
||||||
|
}}
|
114
home/private_dot_config/lsd/config.yaml
Normal file
114
home/private_dot_config/lsd/config.yaml
Normal file
|
@ -0,0 +1,114 @@
|
||||||
|
# == Classic ==
|
||||||
|
# This is a shorthand to override some of the options to be backwards compatible
|
||||||
|
# with `ls`. It affects the "color"->"when", "sorting"->"dir-grouping", "date"
|
||||||
|
# and "icons"->"when" options.
|
||||||
|
# Possible values: false, true
|
||||||
|
classic: false
|
||||||
|
|
||||||
|
# == Blocks ==
|
||||||
|
# This specifies the columns and their order when using the long and the tree
|
||||||
|
# layout.
|
||||||
|
# Possible values: permission, user, group, size, size_value, date, name, inode
|
||||||
|
blocks:
|
||||||
|
- permission
|
||||||
|
- user
|
||||||
|
- size
|
||||||
|
- date
|
||||||
|
- name
|
||||||
|
|
||||||
|
# == Color ==
|
||||||
|
# This has various color options. (Will be expanded in the future.)
|
||||||
|
color:
|
||||||
|
# When to colorize the output.
|
||||||
|
# When "classic" is set, this is set to "never".
|
||||||
|
# Possible values: never, auto, always
|
||||||
|
when: auto
|
||||||
|
|
||||||
|
# == Date ==
|
||||||
|
# This specifies the date format for the date column. The freeform format
|
||||||
|
# accepts an strftime like string.
|
||||||
|
# When "classic" is set, this is set to "date".
|
||||||
|
# Possible values: date, relative, +<date_format>
|
||||||
|
date: +<%Y.%m.%d>
|
||||||
|
|
||||||
|
# == Dereference ==
|
||||||
|
# Whether to dereference symbolic links.
|
||||||
|
# Possible values: false, true
|
||||||
|
dereference: false
|
||||||
|
|
||||||
|
# == Display ==
|
||||||
|
# What items to display. Do not specify this for the default behavior.
|
||||||
|
# Possible values: all, almost-all, directory-only
|
||||||
|
# display: all
|
||||||
|
|
||||||
|
# == Icons ==
|
||||||
|
icons:
|
||||||
|
# When to use icons.
|
||||||
|
# When "classic" is set, this is set to "never".
|
||||||
|
# Possible values: always, auto, never
|
||||||
|
when: auto
|
||||||
|
# Which icon theme to use.
|
||||||
|
# Possible values: fancy, unicode
|
||||||
|
theme: fancy
|
||||||
|
# Separator between icon and the name
|
||||||
|
# Default to 1 space
|
||||||
|
separator: ' '
|
||||||
|
|
||||||
|
|
||||||
|
# == Ignore Globs ==
|
||||||
|
# A list of globs to ignore when listing.
|
||||||
|
ignore-globs:
|
||||||
|
- .git
|
||||||
|
- node_modules
|
||||||
|
|
||||||
|
# == Indicators ==
|
||||||
|
# Whether to add indicator characters to certain listed files.
|
||||||
|
# Possible values: false, true
|
||||||
|
indicators: false
|
||||||
|
|
||||||
|
# == Layout ==
|
||||||
|
# Which layout to use. "oneline" might be a bit confusing here and should be
|
||||||
|
# called "one-per-line". It might be changed in the future.
|
||||||
|
# Possible values: grid, tree, oneline
|
||||||
|
layout: grid
|
||||||
|
|
||||||
|
# == Recursion ==
|
||||||
|
recursion:
|
||||||
|
# Whether to enable recursion.
|
||||||
|
# Possible values: false, true
|
||||||
|
enabled: false
|
||||||
|
# How deep the recursion should go. This has to be a positive integer. Leave
|
||||||
|
# it unspecified for (virtually) infinite.
|
||||||
|
depth: 2
|
||||||
|
|
||||||
|
# == Size ==
|
||||||
|
# Specifies the format of the size column.
|
||||||
|
# Possible values: default, short, bytes
|
||||||
|
size: default
|
||||||
|
|
||||||
|
# == Sorting ==
|
||||||
|
sorting:
|
||||||
|
# Specify what to sort by.
|
||||||
|
# Possible values: extension, name, time, size, version
|
||||||
|
column: name
|
||||||
|
# Whether to reverse the sorting.
|
||||||
|
# Possible values: false, true
|
||||||
|
reverse: false
|
||||||
|
# Whether to group directories together and where.
|
||||||
|
# When "classic" is set, this is set to "none".
|
||||||
|
# Possible values: first, last, none
|
||||||
|
dir-grouping: none
|
||||||
|
|
||||||
|
# == No Symlink ==
|
||||||
|
# Whether to omit showing symlink targets
|
||||||
|
# Possible values: false, true
|
||||||
|
no-symlink: false
|
||||||
|
|
||||||
|
# == Total size ==
|
||||||
|
# Whether to display the total size of directories.
|
||||||
|
# Possible values: false, true
|
||||||
|
total-size: false
|
||||||
|
|
||||||
|
# == Symlink arrow ==
|
||||||
|
# Specifies how the symlink arrow display, chars in both ascii and utf8
|
||||||
|
symlink-arrow: ⇒
|
37
home/private_dot_config/lvim/config.lua
Normal file
37
home/private_dot_config/lvim/config.lua
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
require("keybindings")
|
||||||
|
|
||||||
|
-- general
|
||||||
|
lvim.log.level = "warn"
|
||||||
|
lvim.format_on_save = true
|
||||||
|
lvim.colorscheme = "dracula"
|
||||||
|
|
||||||
|
lvim.leader = "space"
|
||||||
|
lvim.builtin.dashboard.active = true
|
||||||
|
lvim.builtin.terminal.active = true
|
||||||
|
lvim.builtin.nvimtree.setup.view.side = "left"
|
||||||
|
lvim.builtin.nvimtree.show_icons.git = 0
|
||||||
|
|
||||||
|
lvim.builtin.treesitter.ensure_installed = {
|
||||||
|
"bash",
|
||||||
|
"json",
|
||||||
|
"lua",
|
||||||
|
"python",
|
||||||
|
"css",
|
||||||
|
"rust",
|
||||||
|
"yaml",
|
||||||
|
}
|
||||||
|
|
||||||
|
lvim.builtin.treesitter.highlight.enabled = true
|
||||||
|
|
||||||
|
lvim.plugins = {
|
||||||
|
{"dracula/vim",
|
||||||
|
as = "dracula"},
|
||||||
|
{"snakemake/snakemake",
|
||||||
|
rtp="misc/vim",
|
||||||
|
ft = {"Snakefile","snk"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- settings
|
||||||
|
local opt = vim.opt
|
||||||
|
opt.timeoutlen = 500
|
13
home/private_dot_config/lvim/lua/keybindings.lua
Normal file
13
home/private_dot_config/lvim/lua/keybindings.lua
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
-- Map a key with optional options
|
||||||
|
function map(mode, keys, action, options)
|
||||||
|
if options == nil then
|
||||||
|
options = {}
|
||||||
|
end
|
||||||
|
vim.api.nvim_set_keymap(mode,keys,action,options)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
map('i','jk','<Esc>',{noremap=true})
|
||||||
|
map('v','jk','<Esc>',{noremap=true})
|
4
home/private_dot_config/nvim/init.lua
Normal file
4
home/private_dot_config/nvim/init.lua
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
require('settings')
|
||||||
|
require('plugins')
|
||||||
|
require('keybindings')
|
||||||
|
|
87
home/private_dot_config/nvim/init.vim.bak
Normal file
87
home/private_dot_config/nvim/init.vim.bak
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
" Custom Mappings
|
||||||
|
imap jj <Esc>
|
||||||
|
|
||||||
|
"---------------
|
||||||
|
" Tabs
|
||||||
|
"---------------
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set noexpandtab
|
||||||
|
|
||||||
|
" Use case insensitive search, except when using capital letters
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" When opening a new line and no filetype-specific indenting is enabled, keep
|
||||||
|
" the same indent as the line you're currently on. Useful for READMEs, etc.
|
||||||
|
set autoindent
|
||||||
|
|
||||||
|
" Display line numbers on the left
|
||||||
|
set number
|
||||||
|
|
||||||
|
" Increase undo limit
|
||||||
|
set history=1000
|
||||||
|
|
||||||
|
" Disable swap files
|
||||||
|
set noswapfile
|
||||||
|
|
||||||
|
" Show lines above and below cursor
|
||||||
|
set scrolloff=5
|
||||||
|
|
||||||
|
" Update every 300 ms
|
||||||
|
set updatetime=300
|
||||||
|
|
||||||
|
|
||||||
|
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
||||||
|
if empty(glob(data_dir . '/autoload/plug.vim'))
|
||||||
|
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
||||||
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
"---------------
|
||||||
|
" Plugins
|
||||||
|
"---------------
|
||||||
|
call plug#begin()
|
||||||
|
Plug 'preservim/NERDTree'
|
||||||
|
Plug 'Xuyuanp/nerdtree-git-plugin'
|
||||||
|
Plug 'ntpeters/vim-better-whitespace'
|
||||||
|
Plug 'mhinz/vim-startify'
|
||||||
|
Plug 'neoclide/coc.nvim', {'branch': 'release'}
|
||||||
|
Plug 'cespare/vim-toml', { 'branch': 'main' }
|
||||||
|
Plug 'snakemake/snakemake', {'rtp': 'misc/vim'}
|
||||||
|
Plug 'airblade/vim-gitgutter'
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
nnoremap <leader>n :NERDTreeFocus<CR>
|
||||||
|
nnoremap <C-n> :NERDTree<CR>
|
||||||
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
||||||
|
nnoremap <C-f> :NERDTreeFind<CR>
|
||||||
|
|
||||||
|
let g:NERDTreeGitStatusUseNerdFonts = 1 " you should install nerdfonts by yourself. default: 0
|
||||||
|
|
||||||
|
"---------------
|
||||||
|
"COC Config
|
||||||
|
"---------------
|
||||||
|
|
||||||
|
" Use tab for trigger completion with characters ahead and navigate.
|
||||||
|
" NOTE: Use command ':verbose imap <tab>' to make sure tab is not mapped by
|
||||||
|
" other plugin before putting this into your config.
|
||||||
|
inoremap <silent><expr> <TAB>
|
||||||
|
\ pumvisible() ? "\<C-n>" :
|
||||||
|
\ <SID>check_back_space() ? "\<TAB>" :
|
||||||
|
\ coc#refresh()
|
||||||
|
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
|
||||||
|
|
||||||
|
function! s:check_back_space() abort
|
||||||
|
let col = col('.') - 1
|
||||||
|
return !col || getline('.')[col - 1] =~# '\s'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
|
||||||
|
"---------------
|
||||||
|
"Gitgutter
|
||||||
|
"---------------
|
||||||
|
"turn off background of git sign column
|
||||||
|
highlight! link SignColumn LineNr
|
3
home/private_dot_config/nvim/lua/configs/startup.lua
Normal file
3
home/private_dot_config/nvim/lua/configs/startup.lua
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
local settings = require"startup.themes.startify"
|
||||||
|
|
||||||
|
return settings
|
13
home/private_dot_config/nvim/lua/keybindings.lua
Normal file
13
home/private_dot_config/nvim/lua/keybindings.lua
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
-- Map a key with optional options
|
||||||
|
function map(mode, keys, action, options)
|
||||||
|
if options == nil then
|
||||||
|
options = {}
|
||||||
|
end
|
||||||
|
vim.api.nvim_set_keymap(mode,keys,action,options)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
map('i','jk','<Esc>',{noremap=true})
|
||||||
|
map('v','jk','<Esc>',{noremap=true})
|
49
home/private_dot_config/nvim/lua/plugins.lua
Normal file
49
home/private_dot_config/nvim/lua/plugins.lua
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
-- LOAD THE PLUGINS
|
||||||
|
|
||||||
|
-- install packer on the fly
|
||||||
|
local fn = vim.fn
|
||||||
|
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||||
|
if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
Packer_bootstrap = fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||||
|
end
|
||||||
|
--
|
||||||
|
|
||||||
|
|
||||||
|
return require('packer').startup(function(use)
|
||||||
|
|
||||||
|
use 'preservim/NERDTree'
|
||||||
|
use {
|
||||||
|
'goolord/alpha-nvim',
|
||||||
|
requires = { 'kyazdani42/nvim-web-devicons' },
|
||||||
|
config = function ()
|
||||||
|
require'alpha'.setup(require'alpha.themes.startify'.opts)
|
||||||
|
end
|
||||||
|
}
|
||||||
|
use {
|
||||||
|
'airblade/vim-gitgutter',
|
||||||
|
config = function ()
|
||||||
|
local cmd = vim.cmd
|
||||||
|
cmd [[highlight! link SignColumn LineNr]]
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
||||||
|
use {
|
||||||
|
'neoclide/coc.nvim',
|
||||||
|
branch='release'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- language specific plugins
|
||||||
|
-- python
|
||||||
|
use {
|
||||||
|
'snakemake/snakemake',
|
||||||
|
rtp="misc/vim",
|
||||||
|
ft={"Snakefile","snk"}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- toml
|
||||||
|
use 'cespare/vim-toml'
|
||||||
|
|
||||||
|
if Packer_bootstrap then
|
||||||
|
require('packer').sync()
|
||||||
|
end
|
||||||
|
end)
|
32
home/private_dot_config/nvim/lua/settings.lua
Normal file
32
home/private_dot_config/nvim/lua/settings.lua
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
-- general settings
|
||||||
|
local o = vim.o
|
||||||
|
local w = vim.wo
|
||||||
|
local b = vim.bo
|
||||||
|
|
||||||
|
b.autoindent = true
|
||||||
|
b.expandtab = true
|
||||||
|
b.softtabstop = 4
|
||||||
|
b.shiftwidth = 4
|
||||||
|
|
||||||
|
b.tabstop = 4
|
||||||
|
b.smartindent = true
|
||||||
|
b.modeline = false
|
||||||
|
b.shiftwidth = 4
|
||||||
|
b.tabstop = 4
|
||||||
|
b.smartindent = true
|
||||||
|
b.modeline = false
|
||||||
|
|
||||||
|
o.swapfile = false
|
||||||
|
o.scrolloff = 5
|
||||||
|
o.updatetime = 300
|
||||||
|
|
||||||
|
w.number = true
|
||||||
|
|
||||||
|
if vim.fn.has('multi_byte') == 1 and vim.o.encoding == 'utf-8' then
|
||||||
|
o.listchars = [[tab:▸ ,extends:❯,precedes:❮,nbsp:±,trail:…]]
|
||||||
|
else
|
||||||
|
o.listchars = [[tab:> ,extends:>,precedes:<,nbsp:.,trail:_]]
|
||||||
|
end
|
||||||
|
|
||||||
|
o.timeoutlen = 300
|
||||||
|
|
5
home/private_dot_config/rclone/filter-file.txt
Normal file
5
home/private_dot_config/rclone/filter-file.txt
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
- .git/**
|
||||||
|
- .vscode/**
|
||||||
|
- ~$*
|
||||||
|
- node_modules/**
|
||||||
|
+ **
|
55
home/private_dot_config/sheldon/plugins.toml
Normal file
55
home/private_dot_config/sheldon/plugins.toml
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# `sheldon` configuration file
|
||||||
|
# ----------------------------
|
||||||
|
#
|
||||||
|
# You can modify this file directly or you can use one of the following
|
||||||
|
# `sheldon` commands which are provided to assist in editing the config file:
|
||||||
|
#
|
||||||
|
# - `sheldon add` to add a new plugin to the config file
|
||||||
|
# - `sheldon edit` to open up the config file in the default editor
|
||||||
|
# - `sheldon remove` to remove a plugin from the config file
|
||||||
|
#
|
||||||
|
# See the documentation for more https://github.com/rossmacarthur/sheldon#readme
|
||||||
|
|
||||||
|
shell = "zsh"
|
||||||
|
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
|
||||||
|
# oh-my-zsh plugins
|
||||||
|
[plugins.ohmyzsh-plugins]
|
||||||
|
github = 'ohmyzsh/ohmyzsh'
|
||||||
|
dir = 'plugins'
|
||||||
|
use = ['{git,dotenv,extract,tmux}.plugin.zsh']
|
||||||
|
|
||||||
|
[plugins.ohmyzsh-lib]
|
||||||
|
github = 'ohmyzsh/ohmyzsh'
|
||||||
|
dir = "lib"
|
||||||
|
use = ['{completion,clipboard}.zsh']
|
||||||
|
|
||||||
|
[plugins.base16]
|
||||||
|
github = "chriskempson/base16-shell"
|
||||||
|
|
||||||
|
[plugins.enhancd]
|
||||||
|
github = "b4b4r07/enhancd"
|
||||||
|
|
||||||
|
[plugins.zsh-defer]
|
||||||
|
github = "romkatv/zsh-defer"
|
||||||
|
|
||||||
|
[plugins.zcolors]
|
||||||
|
github ="marlonrichert/zcolors"
|
||||||
|
|
||||||
|
[plugins.zsh-syntax-highlighting]
|
||||||
|
github = "zsh-users/zsh-syntax-highlighting"
|
||||||
|
apply = ["defer"]
|
||||||
|
|
||||||
|
[plugins.fzf-tab]
|
||||||
|
github = "Aloxaf/fzf-tab"
|
||||||
|
apply = ["defer"]
|
||||||
|
|
||||||
|
[plugins.ohmyzsh]
|
||||||
|
github = 'ohmyzsh/ohmyzsh'
|
||||||
|
dir = 'plugins'
|
||||||
|
use = ['{git,dotenv,extract,tmux}/*.plugin.zsh']
|
||||||
|
|
||||||
|
[templates]
|
||||||
|
defer = { value = 'zsh-defer source "{{ file }}"', each = true }
|
20
home/private_dot_config/starship/config.toml
Normal file
20
home/private_dot_config/starship/config.toml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
[username]
|
||||||
|
format = "[$user]($style) on "
|
||||||
|
|
||||||
|
[gcloud]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[python]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[rlang]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
[package]
|
||||||
|
disabled = true
|
21
home/private_dot_config/tmux/tmux.conf
Normal file
21
home/private_dot_config/tmux/tmux.conf
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
set -g status-keys vi
|
||||||
|
setw -g mode-keys vi
|
||||||
|
|
||||||
|
set -g prefix C-a
|
||||||
|
unbind C-b
|
||||||
|
bind C-a send-prefix
|
||||||
|
|
||||||
|
# smart pane switching with awareness of vim splits
|
||||||
|
bind h select-pane -L
|
||||||
|
bind j select-pane -D
|
||||||
|
bind k select-pane -U
|
||||||
|
bind l select-pane -R
|
||||||
|
|
||||||
|
# split panes using | and -
|
||||||
|
bind | split-window -h -c "#{pane_current_path}"
|
||||||
|
bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
unbind '"'
|
||||||
|
unbind %
|
||||||
|
|
||||||
|
# Set default term to xterm
|
||||||
|
set -g default-terminal xterm-256color
|
31
home/private_dot_vimrc
Normal file
31
home/private_dot_vimrc
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
" Custom Mappings
|
||||||
|
imap jk <Esc>
|
||||||
|
vmap jk <Esc>
|
||||||
|
"---------------
|
||||||
|
" Tabs
|
||||||
|
"---------------
|
||||||
|
set tabstop=4
|
||||||
|
set softtabstop=4
|
||||||
|
set shiftwidth=4
|
||||||
|
set noexpandtab
|
||||||
|
|
||||||
|
" Use case insensitive search, except when using capital letters
|
||||||
|
set ignorecase
|
||||||
|
set smartcase
|
||||||
|
|
||||||
|
" When opening a new line and no filetype-specific indenting is enabled, keep
|
||||||
|
" the same indent as the line you're currently on. Useful for READMEs, etc.
|
||||||
|
set autoindent
|
||||||
|
|
||||||
|
" Display line numbers on the left
|
||||||
|
set number
|
||||||
|
|
||||||
|
" Increase undo limit
|
||||||
|
set history=1000
|
||||||
|
|
||||||
|
" Disable swap files
|
||||||
|
set noswapfile
|
||||||
|
|
||||||
|
" Attempt to show end of paragraph
|
||||||
|
set display+=lastline
|
||||||
|
|
49
system/alias.sh
Normal file
49
system/alias.sh
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
# system usage
|
||||||
|
#########################################
|
||||||
|
alias reload="source ~/.zshrc"
|
||||||
|
alias rr="rm -rf"
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
#ls type aliases
|
||||||
|
#########################################
|
||||||
|
#alias ls='ls -F'
|
||||||
|
alias l='ls -lh --color=auto'
|
||||||
|
alias ll="ls -lhA"
|
||||||
|
alias left='ls -t -1'
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias lsl="ls -lhFA | less"
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
# List declared aliases, functions, paths
|
||||||
|
#########################################
|
||||||
|
alias aliases="alias | sed 's/=.*//'"
|
||||||
|
alias functions="declare -f | grep '^[a-z].* ()' | sed 's/{$//'"
|
||||||
|
alias paths='echo -e ${PATH//:/\\n}'
|
||||||
|
#########################################
|
||||||
|
|
||||||
|
# program dependent aliases
|
||||||
|
#########################################
|
||||||
|
alias code2="code-insiders"
|
||||||
|
# ls -> lsd | swap ls for ls-deluxe
|
||||||
|
if is-executable lsd; then
|
||||||
|
|
||||||
|
alias ls='lsd'
|
||||||
|
alias l='lsd -l'
|
||||||
|
alias la='lsd -a'
|
||||||
|
alias lla='lsd -la'
|
||||||
|
alias lt='lsd --tree --depth=3'
|
||||||
|
alias lr='lsd -R'
|
||||||
|
|
||||||
|
fi
|
||||||
|
#lazygit
|
||||||
|
is-executable lazygit && alias lg=lazygit
|
||||||
|
# source custom tmux.conf with older tmux
|
||||||
|
alias tmux="tmux -f ~/.config/tmux/tmux.conf"
|
||||||
|
alias rc="rclone --filter-from ~/.config/rclone/filter-file.txt"
|
||||||
|
# prefer nvim if installed
|
||||||
|
is-executable nvim && alias vim=nvim
|
||||||
|
# gdu defualts
|
||||||
|
is-executable gdu && alias gdu -I '.*node_modules' -H
|
||||||
|
# more fzf
|
||||||
|
alias fzf-bat="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}'"
|
||||||
|
##########################################
|
23
system/conda.sh
Normal file
23
system/conda.sh
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# Updated to use $HOME
|
||||||
|
|
||||||
|
# >>> conda initialize >>>
|
||||||
|
# !! Contents within this block are managed by 'conda init' !!
|
||||||
|
__conda_setup="$('$HOME/mambaforge/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
eval "$__conda_setup"
|
||||||
|
else
|
||||||
|
if [ -f "$HOME/mambaforge/etc/profile.d/conda.sh" ]; then
|
||||||
|
. "$HOME/mambaforge/etc/profile.d/conda.sh"
|
||||||
|
else
|
||||||
|
export PATH="$HOME/mambaforge/bin:$PATH"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset __conda_setup
|
||||||
|
|
||||||
|
if [ -f "$HOME/mambaforge/etc/profile.d/mamba.sh" ]; then
|
||||||
|
. "$HOME/mambaforge/etc/profile.d/mamba.sh"
|
||||||
|
fi
|
||||||
|
# <<< conda initialize <<<
|
||||||
|
|
||||||
|
[ -d "$HOME/mambaforge/envs/dev" ] && conda activate dev
|
||||||
|
|
6
system/custom.sh
Normal file
6
system/custom.sh
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# env variables
|
||||||
|
export BROWSER=/mnt/c/Users/daylin/AppData/Local/Vivaldi/Application/vivaldi.exe
|
||||||
|
|
||||||
|
# aliases
|
||||||
|
alias files=explorer.exe
|
||||||
|
|
66
system/env.sh
Normal file
66
system/env.sh
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
# XDG
|
||||||
|
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||||
|
|
||||||
|
export PATH=$PATH:~/bin
|
||||||
|
|
||||||
|
export HISTSIZE=32768;
|
||||||
|
export HISTFILESIZE="${HISTSIZE}";
|
||||||
|
export SAVEHIST=4096
|
||||||
|
export HISTCONTROL=ignoredups:erasedups
|
||||||
|
|
||||||
|
export LESS='-R --use-color'
|
||||||
|
|
||||||
|
# Append to the history file, rather than overwriting it
|
||||||
|
setopt APPEND_HISTORY
|
||||||
|
|
||||||
|
# Disable autocd
|
||||||
|
unsetopt autocd
|
||||||
|
|
||||||
|
# Vim Settings
|
||||||
|
# export VIMINIT='source $MYVIMRC'
|
||||||
|
# export MYVIMRC='$DOTFILES_DIR/system/.vimrc'
|
||||||
|
if is-executable nvim; then
|
||||||
|
export EDITOR=nvim
|
||||||
|
else
|
||||||
|
export EDITOR=vim
|
||||||
|
fi
|
||||||
|
|
||||||
|
# spelling correction
|
||||||
|
# setopt CORRECT
|
||||||
|
# setopt CORRECT_ALL
|
||||||
|
|
||||||
|
|
||||||
|
# Setup fzf
|
||||||
|
# ---------
|
||||||
|
if [[ ! "$PATH" == *$HOME/.fzf/bin* ]]; then
|
||||||
|
export PATH="${PATH:+${PATH}:}$HOME/.fzf/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if is-executable fzf; then
|
||||||
|
source $DOTFILES_DIR/system/fzf.zsh
|
||||||
|
fi
|
||||||
|
# ---------
|
||||||
|
|
||||||
|
# Add lfcd command
|
||||||
|
# ----------------
|
||||||
|
if is-executable lf; then
|
||||||
|
source "$XDG_CONFIG_HOME/lf/lfcd.sh"
|
||||||
|
fi
|
||||||
|
# ----------------
|
||||||
|
|
||||||
|
# nvm settings
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
# enhancd
|
||||||
|
export ENHANCD_DOT_ARG="up"
|
||||||
|
|
||||||
|
export STARSHIP_CONFIG=~/.config/starship/config.toml
|
||||||
|
|
||||||
|
export EGET_BIN=$HOME/bin
|
||||||
|
|
||||||
|
# for dotenv
|
||||||
|
export ZSH_DOTENV_ALLOWED_LIST=$HOME/.cache/dotenv-allowed.list
|
||||||
|
export ZSH_DOTENV_DISALLOWED_LIST=$HOME/.cache/dotenv-disallowed.list
|
84
system/function.sh
Normal file
84
system/function.sh
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
function cl() {
|
||||||
|
DIR="$*";
|
||||||
|
# if no DIR given, go home
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
DIR=$HOME;
|
||||||
|
fi;
|
||||||
|
builtin cd "${DIR}" && \
|
||||||
|
# use your preferred ls command
|
||||||
|
ls -F --color=auto
|
||||||
|
}
|
||||||
|
|
||||||
|
prepend-path() {
|
||||||
|
[ -d $1 ] && PATH="$1:$PATH"
|
||||||
|
}
|
||||||
|
|
||||||
|
#delete and reclone remote repo
|
||||||
|
reclone () {
|
||||||
|
basename=${PWD##*/}
|
||||||
|
remoteurl=$(git remote get-url --push origin)
|
||||||
|
cd ..
|
||||||
|
echo $basename
|
||||||
|
echo $remoteurl
|
||||||
|
rm -rf $basename
|
||||||
|
git clone $remoteurl
|
||||||
|
cd $basename
|
||||||
|
}
|
||||||
|
|
||||||
|
# snakemake use all cores by default
|
||||||
|
sm() {
|
||||||
|
if [[ "$*" == *"-j"* || "$*" == *"--jobs"* || "$*" == *"--cores"* ]]; then
|
||||||
|
snakemake $@
|
||||||
|
else
|
||||||
|
snakemake -j all $@
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function gi() {
|
||||||
|
curl -sL "https://www.toptal.com/developers/gitignore/api/$@" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# make pdfs or svgs from vegalite json's
|
||||||
|
mkvegapdf () {
|
||||||
|
vl2vg $1 | vg2pdf > $2
|
||||||
|
}
|
||||||
|
|
||||||
|
mkvegasvg () {
|
||||||
|
vl2vg $1 | vg2svg > $2
|
||||||
|
}
|
||||||
|
|
||||||
|
# quick and dirty pdf generation from simple md
|
||||||
|
md2pdf () {
|
||||||
|
root=$1
|
||||||
|
# get extension and root path: https://stackoverflow.com/a/40928328
|
||||||
|
fname="${root#.}";fname="${root%"$fname"}${fname%.*}"
|
||||||
|
ext="${root#"$fname"}"
|
||||||
|
echo "converting $root to pdf"
|
||||||
|
|
||||||
|
if [[ $ext != ".md" ]]; then
|
||||||
|
echo "error! expected a markdown file"
|
||||||
|
echo "unrecognized extension: $ext"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pandoc -V geometry:a5paper -V geometry:margin=.5in --dpi=300 -o ${fname}.pdf $root
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
py2nb2html () {
|
||||||
|
if [ $# -eq 0 ]; then
|
||||||
|
echo "No arguments provided"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
pyfile=$1
|
||||||
|
shift
|
||||||
|
echo "generating html file for $pyfile"
|
||||||
|
jupytext --to notebook -o - $pyfile | jupyter nbconvert --execute --to html --stdin $@
|
||||||
|
}
|
||||||
|
|
||||||
|
web () {
|
||||||
|
filepath=$(wslpath -w $1)
|
||||||
|
$BROWSER $filepath
|
||||||
|
}
|
||||||
|
|
43
system/fzf.zsh
Normal file
43
system/fzf.zsh
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# Auto-completion
|
||||||
|
# ---------------
|
||||||
|
[[ $- == *i* ]] && source "$HOME/.fzf/shell/completion.zsh" 2> /dev/null
|
||||||
|
|
||||||
|
# Key bindings
|
||||||
|
# ------------
|
||||||
|
source "$HOME/.fzf/shell/key-bindings.zsh"
|
||||||
|
|
||||||
|
|
||||||
|
# Configs
|
||||||
|
export FZF_DEFAULT_OPTS="--color=fg:#f8f8f2,bg:#282a36,hl:#bd93f9
|
||||||
|
--color=fg+:#f8f8f2,bg+:#44475a,hl+:#bd93f9
|
||||||
|
--color=info:#ffb86c,prompt:#50fa7b,pointer:#ff79c6
|
||||||
|
--color=marker:#ff79c6,spinner:#ffb86c,header:#6272a4
|
||||||
|
--layout=reverse --info=inline --border=horizontal
|
||||||
|
--min-height=25"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#adapted from https://github.com/zimfw/fzf/blob/master/init.zsh
|
||||||
|
if (( ${+commands[fd]} )); then
|
||||||
|
export FZF_DEFAULT_COMMAND="command fd --type file --exclude ".git/" --hidden --no-ignore"
|
||||||
|
_fzf_compgen_path() {
|
||||||
|
command fd --type file --exclude ".git/" --hidden --no-ignore "${1}"
|
||||||
|
}
|
||||||
|
elif (( ${+commands[rg]} )); then
|
||||||
|
export FZF_DEFAULT_COMMAND="command rg -uu -g '!.git' --files"
|
||||||
|
_fzf_compgen_path() {
|
||||||
|
command rg -uu -g '!.git' --files "${1}"
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if (( ${+commands[bat]} )); then
|
||||||
|
export FZF_CTRL_T_OPTS="--preview 'command bat --color=always --line-range :500 {}' ${FZF_CTRL_T_OPTS}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export FZF_ALT_C_OPTS="--preview 'tree -C {} | head -200'"
|
||||||
|
|
||||||
|
if (( ${+FZF_DEFAULT_COMMAND} )) export FZF_CTRL_T_COMMAND=${FZF_DEFAULT_COMMAND}
|
||||||
|
|
||||||
|
# fix spacing on fzf-tab to show max options
|
||||||
|
zstyle ':fzf-tab:*' fzf-pad 4
|
||||||
|
|
33
system/path.sh
Normal file
33
system/path.sh
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
# Start with system path
|
||||||
|
# Retrieve it from getconf, otherwise it's just current $PATH
|
||||||
|
|
||||||
|
#is-executable getconf && PATH=$($(command -v getconf) PATH)
|
||||||
|
|
||||||
|
# Prepend new items to path (if directory exists)
|
||||||
|
|
||||||
|
# prepend-path "/bin"
|
||||||
|
# prepend-path "/usr/bin"
|
||||||
|
# prepend-path "/usr/local/bin"
|
||||||
|
PATH="$DOTFILES_DIR/bin:$PATH"
|
||||||
|
PATH="$HOME/bin:$PATH"
|
||||||
|
PATH="$HOME/.local/bin:$PATH"
|
||||||
|
PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
PATH="$PATH:/usr/local/go/bin"
|
||||||
|
PATH="/usr/local/texlive/2021/bin/x86_64-linux:$PATH"
|
||||||
|
PATH="$HOME/go/bin:$PATH"
|
||||||
|
# prepend-path "/sbin"
|
||||||
|
# prepend-path "/usr/sbin"
|
||||||
|
# prepend-path "/usr/local/sbin"
|
||||||
|
|
||||||
|
# Remove duplicates (preserving prepended items)
|
||||||
|
# Source: http://unix.stackexchange.com/a/40755
|
||||||
|
|
||||||
|
# PATH=$(echo -n $PATH | awk -v RS=: '{ if (!arr[$0]++) {printf("%s%s",!ln++?"":":",$0)}}')
|
||||||
|
# PATH="$(perl -e 'print join(":", grep { not $seen{$_}++ } split(/:/, $ENV{PATH}))')"
|
||||||
|
# printf %s "$PATH" | awk -v RS=: -v ORS=: '!arr[$0]++'
|
||||||
|
|
||||||
|
PATH=$(printf %s "$PATH" \
|
||||||
|
| awk -vRS=: -vORS= '!a[$0]++ {if (NR>1) printf(":"); printf("%s", $0) }' )
|
||||||
|
# Wrap up
|
||||||
|
|
||||||
|
export PATH
|
6
system/prompt.sh
Normal file
6
system/prompt.sh
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
|
|
||||||
|
eval "$(sheldon -q --config-file ~/.config/sheldon/plugins.toml source)"
|
||||||
|
|
||||||
|
eval "$(starship init zsh)"
|
48
tools.sh
Executable file
48
tools.sh
Executable file
|
@ -0,0 +1,48 @@
|
||||||
|
#! /usr/bin/env bash
|
||||||
|
|
||||||
|
BIN_DIR=$HOME/bin
|
||||||
|
mkdir -p $BIN_DIR
|
||||||
|
|
||||||
|
if ! $(is-executable eget); then
|
||||||
|
echo "I don't see eget on your path..."
|
||||||
|
read -p "Do you want to download it to ${BIN_DIR}? " -n 1 -r
|
||||||
|
echo # (optional) move to a new line
|
||||||
|
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
||||||
|
then
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
curl https://zyedidia.github.io/eget.sh | sh
|
||||||
|
mv eget $BIN_DIR/eget
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "downloading binaries from github to $EGET_BIN"
|
||||||
|
|
||||||
|
alias eget="eget --system linux/amd64"
|
||||||
|
|
||||||
|
# environment
|
||||||
|
eget rossmacarthur/sheldon
|
||||||
|
eget starship/starship --asset starship-x86_64-unknown-linux-gnu.tar.gz
|
||||||
|
|
||||||
|
# general tools
|
||||||
|
eget Peltoche/lsd --asset x86_64-unknown-linux-gnu.tar.gz
|
||||||
|
eget BurntSushi/ripgrep
|
||||||
|
eget sharkdp/fd --asset x86_64-unknown-linux-gnu.tar.gz
|
||||||
|
eget sharkdp/bat --asset x86_64-unknown-linux-gnu.tar.gz
|
||||||
|
eget ClementTsang/bottom --asset x86_64-unknown-linux-gnu.tar.gz -f btm
|
||||||
|
|
||||||
|
# git
|
||||||
|
eget jesseduffield/lazygit
|
||||||
|
|
||||||
|
# writing
|
||||||
|
eget neovim/neovim
|
||||||
|
|
||||||
|
# eget dundee/gdu eget doesn't support .tgz?
|
||||||
|
|
||||||
|
# install gdu manually
|
||||||
|
gdu_release=https://github.com/dundee/gdu/releases/download/v5.8.1/gdu_linux_amd64.tgz
|
||||||
|
echo "fetching gdu manually"
|
||||||
|
wget $gdu_release
|
||||||
|
tar -xzvf gdu_linux_amd64.tgz
|
||||||
|
mv gdu_linux_amd64 $EGET_BIN/gdu
|
||||||
|
rm gdu*
|
36
vscode/extensions.yml
Normal file
36
vscode/extensions.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
general:
|
||||||
|
- ms-vscode-remote.remote-ssh
|
||||||
|
- ms-vscode-remote.remote-ssh-edit
|
||||||
|
- ms-vscode-remote.remote-wsl
|
||||||
|
- vscodevim.vim
|
||||||
|
misc-tools:
|
||||||
|
- Shan.code-settings-sync
|
||||||
|
- janisdd.vscode-edit-csv
|
||||||
|
- cssho.vscode-svgviewer
|
||||||
|
- naumovs.color-highlight
|
||||||
|
web-dev:
|
||||||
|
- bradlc.vscode-tailwindcss
|
||||||
|
- ritwickdey.liveserver
|
||||||
|
styling:
|
||||||
|
- johnpapa.vscode-peacock
|
||||||
|
- PKief.material-icon-theme
|
||||||
|
- Thomaz.preparing
|
||||||
|
- whizkydee.material-palenight-theme
|
||||||
|
code-help:
|
||||||
|
- aaron-bond.better-comments
|
||||||
|
- CoenraadS.bracket-pair-colorizer-2
|
||||||
|
- streetsidesoftware.code-spell-checker
|
||||||
|
- vsls-contrib.gistfs
|
||||||
|
- mhutchie.git-graph
|
||||||
|
- Github.copilot
|
||||||
|
python:
|
||||||
|
- ms-python.python
|
||||||
|
- ms-toolsai.jupyter
|
||||||
|
- njpwerner.autodocstring
|
||||||
|
- snakemake.snakemake-lang
|
||||||
|
language-support:
|
||||||
|
- lextudio.restructuredtext
|
||||||
|
- Ikuyadeu.r
|
||||||
|
- James-Yu.latex-workshop
|
||||||
|
- budparr.language-hugo-vscode
|
||||||
|
- tht13.rst-vscode
|
205
vscode/extras.sh
Executable file
205
vscode/extras.sh
Executable file
|
@ -0,0 +1,205 @@
|
||||||
|
# script to install the extra needed tools programmatically
|
||||||
|
|
||||||
|
# add command line flags and function to govern install?
|
||||||
|
|
||||||
|
MAMBAFORGE_RELEASE="https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh"
|
||||||
|
MAMBAFORGE_INSTALLER="Mambaforge-Linux-x86_64.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
help() {
|
||||||
|
cat << EOF
|
||||||
|
extras downloaders
|
||||||
|
|
||||||
|
by default will download all packages listed below
|
||||||
|
|
||||||
|
usage: $0 [OPTIONS]
|
||||||
|
|
||||||
|
--help Show this message
|
||||||
|
--force Overwrite current installations
|
||||||
|
|
||||||
|
To install a subset of these
|
||||||
|
use any of the package specific flag:
|
||||||
|
|
||||||
|
--fzf
|
||||||
|
--nvm
|
||||||
|
--mambaforge
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
for opt in "$@"; do
|
||||||
|
case $opt in
|
||||||
|
--help)
|
||||||
|
help
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--force) force=1 ;;
|
||||||
|
--fzf) fzf=1 ;;
|
||||||
|
--nvm) nvm=1 ;;
|
||||||
|
--mambaforge) mamba=1 ;;
|
||||||
|
*)
|
||||||
|
echo "unknown option: $opt"
|
||||||
|
help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
check_existing() {
|
||||||
|
pkg=$1
|
||||||
|
install_dir=$2
|
||||||
|
declare -n skip_out=$3
|
||||||
|
|
||||||
|
if [ -d "$install_dir" ]; then
|
||||||
|
echo "found existing $pkg installation"
|
||||||
|
if [[ "$force" ]]; then
|
||||||
|
echo "removing previous installation"
|
||||||
|
rm -rf $install_dir
|
||||||
|
skip=0
|
||||||
|
else
|
||||||
|
skip=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
skip=0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ask() {
|
||||||
|
while true; do
|
||||||
|
read -p "$1 ([y]/n) " -r
|
||||||
|
REPLY=${REPLY:-"y"}
|
||||||
|
if [[ $REPLY =~ ^[Yy]$ ]]; then
|
||||||
|
return 1
|
||||||
|
elif [[ $REPLY =~ ^[Nn]$ ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
install_fzf() {
|
||||||
|
echo "##############"
|
||||||
|
echo installing fzf
|
||||||
|
echo "##############"
|
||||||
|
|
||||||
|
check_existing "fzf" "$HOME/.fzf" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "installing fzf using git"
|
||||||
|
|
||||||
|
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
|
||||||
|
~/.fzf/install \
|
||||||
|
--key-bindings \
|
||||||
|
--completion \
|
||||||
|
--no-bash \
|
||||||
|
--no-zsh \
|
||||||
|
--no-update-rc \
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
install_nvm() {
|
||||||
|
echo "##############"
|
||||||
|
echo installing nvm
|
||||||
|
echo "##############"
|
||||||
|
|
||||||
|
echo look at me installing nvm heheh
|
||||||
|
|
||||||
|
check_existing "nvm" "$HOME/.nvm" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
local current_dir=$PWD
|
||||||
|
|
||||||
|
git clone https://github.com/nvm-sh/nvm.git ~/.nvm
|
||||||
|
cd ~/.nvm
|
||||||
|
git checkout v0.39.0
|
||||||
|
. ./nvm.sh
|
||||||
|
|
||||||
|
cd $current_dir
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_mambaforge() {
|
||||||
|
echo "#####################"
|
||||||
|
echo installing mambaforge
|
||||||
|
echo "#####################"
|
||||||
|
|
||||||
|
|
||||||
|
check_existing "mambaforge" "$HOME/mambaforge" skip
|
||||||
|
|
||||||
|
if [[ "$skip" -eq 1 ]];
|
||||||
|
then
|
||||||
|
echo "remove your previous installation or rerun with --force"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "#####################"
|
||||||
|
echo installing mambaforge
|
||||||
|
echo "#####################"
|
||||||
|
|
||||||
|
echo "fetching install script from github"
|
||||||
|
|
||||||
|
current_dir=$PWD
|
||||||
|
|
||||||
|
cd ~/
|
||||||
|
|
||||||
|
wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
|
||||||
|
bash "$MAMBAFORGE_INSTALLER" -s
|
||||||
|
rm "$MAMBAFORGE_INSTALLER"
|
||||||
|
|
||||||
|
echo "cleaning up installer"
|
||||||
|
|
||||||
|
cd $current_dir
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
install_all() {
|
||||||
|
echo "installing all packages..."
|
||||||
|
echo
|
||||||
|
install_fzf
|
||||||
|
echo
|
||||||
|
install_nvm
|
||||||
|
echo
|
||||||
|
install_mambaforge
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# remove once functional
|
||||||
|
echo $@
|
||||||
|
|
||||||
|
echo "#################"
|
||||||
|
echo EXTRAS DOWNLOADER
|
||||||
|
echo "#################"
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ $# -eq 0 ];
|
||||||
|
then
|
||||||
|
install_all
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$fzf" ]; then
|
||||||
|
install_fzf
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$nvm" ]; then
|
||||||
|
install_nvm
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$mamba" ];
|
||||||
|
then install_mambaforge
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "FINISHED!"
|
65
vscode/generate_install_scripts.py
Normal file
65
vscode/generate_install_scripts.py
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
import yaml
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
FRONTMATTER = """
|
||||||
|
VS Code Extensions install script
|
||||||
|
|
||||||
|
Author: Daylin Morgan
|
||||||
|
|
||||||
|
DO NOT EDIT MANUALLY!
|
||||||
|
Regenerate with generate_install_scripts.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
FILE_DIR = Path(__file__).parent
|
||||||
|
|
||||||
|
def shell_script_writer(extensions_dict, filename):
|
||||||
|
with Path(filename).open("w") as f:
|
||||||
|
f.write("#!/bin/bash\n")
|
||||||
|
f.write(FRONTMATTER.replace("\n", "\n# ")[:-2])
|
||||||
|
f.write('\n\necho "Installing VS Code Extensions"\n')
|
||||||
|
|
||||||
|
for section, extensions in extensions_dict.items():
|
||||||
|
f.write(f"\n# {section} extensions")
|
||||||
|
f.write("\n# " + "-" * len(section) + "-" * 11)
|
||||||
|
|
||||||
|
for extension in extensions:
|
||||||
|
f.write(f"\ncode --install-extension {extension} --force")
|
||||||
|
|
||||||
|
f.write("\n")
|
||||||
|
|
||||||
|
f.write('\necho "Extension installation compeleted!"')
|
||||||
|
|
||||||
|
|
||||||
|
def batch_script_writer(extensions_dict, filename):
|
||||||
|
with Path(filename).open("w") as f:
|
||||||
|
f.write("echo off\n")
|
||||||
|
f.write(FRONTMATTER.replace("\n", "\n:: ")[:-3])
|
||||||
|
f.write('\n\necho "Installing VS Code Extensions"\necho.\n')
|
||||||
|
|
||||||
|
for section, extensions in extensions_dict.items():
|
||||||
|
f.write(f"\n:: {section} extensions")
|
||||||
|
f.write("\n:: " + "-" * len(section) + "-" * 11)
|
||||||
|
|
||||||
|
for extension in extensions:
|
||||||
|
f.write(f"\ncall code --install-extension {extension} --force")
|
||||||
|
|
||||||
|
f.write("\n")
|
||||||
|
|
||||||
|
f.write('\necho "Extension installation compeleted!"')
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("Generating shell and batch scripts with extensions.yml")
|
||||||
|
|
||||||
|
extensions_yml = FILE_DIR / "extensions.yml"
|
||||||
|
|
||||||
|
with extensions_yml.open("r") as f:
|
||||||
|
extensions_dict = yaml.load(f, Loader=yaml.FullLoader)
|
||||||
|
|
||||||
|
shell_script_writer(extensions_dict, "install-extensions.sh")
|
||||||
|
|
||||||
|
batch_script_writer(extensions_dict, "install-extensions.bat")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
64
vscode/install-extensions.bat
Executable file
64
vscode/install-extensions.bat
Executable file
|
@ -0,0 +1,64 @@
|
||||||
|
echo off
|
||||||
|
|
||||||
|
:: VS Code Extensions install script
|
||||||
|
::
|
||||||
|
:: Author: Daylin Morgan
|
||||||
|
::
|
||||||
|
:: DO NOT EDIT MANUALLY!
|
||||||
|
:: Regenerate with generate_install_scripts.py
|
||||||
|
|
||||||
|
|
||||||
|
echo "Installing VS Code Extensions"
|
||||||
|
echo.
|
||||||
|
|
||||||
|
:: general extensions
|
||||||
|
:: ------------------
|
||||||
|
call code --install-extension ms-vscode-remote.remote-ssh --force
|
||||||
|
call code --install-extension ms-vscode-remote.remote-ssh-edit --force
|
||||||
|
call code --install-extension ms-vscode-remote.remote-wsl --force
|
||||||
|
call code --install-extension vscodevim.vim --force
|
||||||
|
|
||||||
|
:: misc-tools extensions
|
||||||
|
:: ---------------------
|
||||||
|
call code --install-extension Shan.code-settings-sync --force
|
||||||
|
call code --install-extension janisdd.vscode-edit-csv --force
|
||||||
|
call code --install-extension cssho.vscode-svgviewer --force
|
||||||
|
call code --install-extension naumovs.color-highlight --force
|
||||||
|
|
||||||
|
:: web-dev extensions
|
||||||
|
:: ------------------
|
||||||
|
call code --install-extension bradlc.vscode-tailwindcss --force
|
||||||
|
call code --install-extension ritwickdey.liveserver --force
|
||||||
|
|
||||||
|
:: styling extensions
|
||||||
|
:: ------------------
|
||||||
|
call code --install-extension johnpapa.vscode-peacock --force
|
||||||
|
call code --install-extension PKief.material-icon-theme --force
|
||||||
|
call code --install-extension Thomaz.preparing --force
|
||||||
|
call code --install-extension whizkydee.material-palenight-theme --force
|
||||||
|
|
||||||
|
:: code-help extensions
|
||||||
|
:: --------------------
|
||||||
|
call code --install-extension aaron-bond.better-comments --force
|
||||||
|
call code --install-extension CoenraadS.bracket-pair-colorizer-2 --force
|
||||||
|
call code --install-extension streetsidesoftware.code-spell-checker --force
|
||||||
|
call code --install-extension vsls-contrib.gistfs --force
|
||||||
|
call code --install-extension mhutchie.git-graph --force
|
||||||
|
call code --install-extension Github.copilot --force
|
||||||
|
|
||||||
|
:: python extensions
|
||||||
|
:: -----------------
|
||||||
|
call code --install-extension ms-python.python --force
|
||||||
|
call code --install-extension ms-toolsai.jupyter --force
|
||||||
|
call code --install-extension njpwerner.autodocstring --force
|
||||||
|
call code --install-extension snakemake.snakemake-lang --force
|
||||||
|
|
||||||
|
:: language-support extensions
|
||||||
|
:: ---------------------------
|
||||||
|
call code --install-extension lextudio.restructuredtext --force
|
||||||
|
call code --install-extension Ikuyadeu.r --force
|
||||||
|
call code --install-extension James-Yu.latex-workshop --force
|
||||||
|
call code --install-extension budparr.language-hugo-vscode --force
|
||||||
|
call code --install-extension tht13.rst-vscode --force
|
||||||
|
|
||||||
|
echo "Extension installation compeleted!"
|
63
vscode/install-extensions.sh
Executable file
63
vscode/install-extensions.sh
Executable file
|
@ -0,0 +1,63 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# VS Code Extensions install script
|
||||||
|
#
|
||||||
|
# Author: Daylin Morgan
|
||||||
|
#
|
||||||
|
# DO NOT EDIT MANUALLY!
|
||||||
|
# Regenerate with generate_install_scripts.py
|
||||||
|
|
||||||
|
|
||||||
|
echo "Installing VS Code Extensions"
|
||||||
|
|
||||||
|
# general extensions
|
||||||
|
# ------------------
|
||||||
|
code --install-extension ms-vscode-remote.remote-ssh --force
|
||||||
|
code --install-extension ms-vscode-remote.remote-ssh-edit --force
|
||||||
|
code --install-extension ms-vscode-remote.remote-wsl --force
|
||||||
|
code --install-extension vscodevim.vim --force
|
||||||
|
|
||||||
|
# misc-tools extensions
|
||||||
|
# ---------------------
|
||||||
|
code --install-extension Shan.code-settings-sync --force
|
||||||
|
code --install-extension janisdd.vscode-edit-csv --force
|
||||||
|
code --install-extension cssho.vscode-svgviewer --force
|
||||||
|
code --install-extension naumovs.color-highlight --force
|
||||||
|
|
||||||
|
# web-dev extensions
|
||||||
|
# ------------------
|
||||||
|
code --install-extension bradlc.vscode-tailwindcss --force
|
||||||
|
code --install-extension ritwickdey.liveserver --force
|
||||||
|
|
||||||
|
# styling extensions
|
||||||
|
# ------------------
|
||||||
|
code --install-extension johnpapa.vscode-peacock --force
|
||||||
|
code --install-extension PKief.material-icon-theme --force
|
||||||
|
code --install-extension Thomaz.preparing --force
|
||||||
|
code --install-extension whizkydee.material-palenight-theme --force
|
||||||
|
|
||||||
|
# code-help extensions
|
||||||
|
# --------------------
|
||||||
|
code --install-extension aaron-bond.better-comments --force
|
||||||
|
code --install-extension CoenraadS.bracket-pair-colorizer-2 --force
|
||||||
|
code --install-extension streetsidesoftware.code-spell-checker --force
|
||||||
|
code --install-extension vsls-contrib.gistfs --force
|
||||||
|
code --install-extension mhutchie.git-graph --force
|
||||||
|
code --install-extension Github.copilot --force
|
||||||
|
|
||||||
|
# python extensions
|
||||||
|
# -----------------
|
||||||
|
code --install-extension ms-python.python --force
|
||||||
|
code --install-extension ms-toolsai.jupyter --force
|
||||||
|
code --install-extension njpwerner.autodocstring --force
|
||||||
|
code --install-extension snakemake.snakemake-lang --force
|
||||||
|
|
||||||
|
# language-support extensions
|
||||||
|
# ---------------------------
|
||||||
|
code --install-extension lextudio.restructuredtext --force
|
||||||
|
code --install-extension Ikuyadeu.r --force
|
||||||
|
code --install-extension James-Yu.latex-workshop --force
|
||||||
|
code --install-extension budparr.language-hugo-vscode --force
|
||||||
|
code --install-extension tht13.rst-vscode --force
|
||||||
|
|
||||||
|
echo "Extension installation compeleted!"
|
Loading…
Reference in a new issue