update configs

main
Andrew Coleman 2022-05-10 13:58:50 -04:00
parent be90586d8a
commit 306f37bb7e
35 changed files with 2013 additions and 177 deletions

116
README.md Normal file
View File

@ -0,0 +1,116 @@
# ZFS encrypted home
```bash
# create key, as root
dd if=/dev/urandom of=/etc/zfs/home.key bs=32 count=1 && chmod 600 /etc/zfs/home.key
# create pool
zpool create storage -O xattr=sa -O acltype=posixacl -O atime=off -O compression=lz4 -o ashift=12 /dev/DISK
# create home dataset
zfs create -O encryption=aes-256-gcm -O keyformat=raw -O keylocation=file:///etc/zfs/home.key -o mountpoint=/home storage/home
# create individual dataset
zfs create storage/home/andrew
# enable zfs load key from file at boot
cat <<EOF > /etc/systemd/system/zfs-load-key.service
[Unit]
Description=Load encryption keys
DefaultDependencies=no
After=zfs-import.target
Before=zfs-mount.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/zfs load-key -a
StandardInput=tty-force
[Install]
WantedBy=zfs-mount.service
EOF
# turn on services
systemctl enable zfs.target
systemctl enable zfs-import-cache
systemctl enable zfs-mount
systemctl enable zfs-import.target
systemctl enable zfs-load-key
```
# Arch / Manjaro
```bash
pacman-mirrors --geoip
pamac install linux-api-headers linux-headers
pamac install zfs-dkms
zpool import -f storage
zpool set cachefile=/etc/zfs/zpool.cache storage
pamac install \
atuin \
base-devel \
bash-completion \
bat \
bitwarden-cli \
bottom \
direnv \
dust \
exa \
fd \
fzf \
git \
git-delta \
gitui \
glances \
go \
hdparm \
hexyl \
htop \
httpie \
hyperfine \
jq \
just \
kitty \
libvirt \
lzop \
lsd \
mhash \
mosh \
neovim \
nmon \
opendoas \
pv \
qemu \
ripgrep \
shfmt \
starship \
tealdeer \
tmux \
vim \
virt-manager \
zoxide
# not available by default
#jc mbuffer
pamac build lightly-qt
```
# Kitty
```bash
curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin
ln -s "$HOME/.local/kitty.app/bin/kitty" "$HOME/.local/bin/"
cp "$HOME/.local/kitty.app/share/applications/kitty.desktop" "$HOME/.local/share/applications/"
cp "$HOME/.local/kitty.app/share/applications/kitty-open.desktop" "$HOME/.local/share/applications/"
sed -i "s|Icon=kitty|Icon=$HOME/.local/kitty.app/share/icons/hicolor/256x256/apps/kitty.png|g" "$HOME/.local/share/applications/kitty*.desktop"
```
# Nix
```bash
sh <(curl -L https://nixos.org/nix/install) --daemon
```
# Rust
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

View File

@ -1,35 +1,9 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# start in home directory
# shellcheck disable=SC2164
if [ "$PWD" != "$HOME" ] && [ "$PWD" -ef "$HOME" ] ; then cd ; fi
# change $HOME on FreeBSD to /usr/home/andrew
# shellcheck disable=SC2164
if [ -d "/usr$HOME" ] ; then export HOME=/usr$HOME ; cd ; fi
# load system bashrc
for BASHRC in /etc/bashrc /etc/bash.bashrc /etc/bash/bashrc ; do
if [ -f "$BASHRC" ] ; then
# shellcheck source=/dev/null
. "$BASHRC"
fi
done
unset BASHRC
# this assumes nvim is always installed for $EDITOR
EDITOR=nvim; export EDITOR
# local paths
if ! [[ "$PATH" =~ $HOME/.local/bin:$HOME/bin: ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH
# User specific aliases and functions
if [ -d ~/.bashrc.d ]; then
for rc in ~/.bashrc.d/*; do
if [ -d "$HOME/.config/bash" ]; then
for rc in "$HOME/.config/bash/*"; do
if [ -f "$rc" ]; then
# shellcheck source=/dev/null
. "$rc"
@ -38,12 +12,6 @@ if [ -d ~/.bashrc.d ]; then
fi
unset rc
if [ -f "$HOME/.bash-preexec.sh" ] ; then
source "$HOME/.bash-preexec.sh"
eval "$("$HOME/.cargo/bin/atuin" init bash)"
fi
# direnv hook
if which direnv > /dev/null 2>&1 ; then
eval "$(direnv hook bash)"
fi
@ -53,3 +21,4 @@ if which zoxide > /dev/null 2>&1 ; then
# shellcheck disable=SC2139
alias z="$(which zoxide)"
fi

939
dot_config/alacritty.yml Normal file
View File

@ -0,0 +1,939 @@
# 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:
# - /path/to/alacritty.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: xterm-256color
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: 120
lines: 35
# 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: 0
# y: 0
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# 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
# 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.
opacity: 0.90
#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: Operator Mono
# The `style` can be specified to pick a specific face.
style: Book
# 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: monospace
# 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: monospace
# 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: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
size: 14.0
# 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: -4
# 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
# Base16 Outrun Dark 256 - alacritty color config
# Hugo Delahousse (http://github.com/hugodelahousse/)
colors:
# Default colors
primary:
background: '0x00002a'
foreground: '0xd0d0fa'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x00002a'
cursor: '0xd0d0fa'
# Normal colors
normal:
black: '0x00002a'
red: '0xff4242'
green: '0x59f176'
yellow: '0xf3e877'
blue: '0x66b0ff'
magenta: '0xf10596'
cyan: '0x0ef0f0'
white: '0xd0d0fa'
# Bright colors
bright:
black: '0x50507a'
red: '0xff4242'
green: '0x59f176'
yellow: '0xf3e877'
blue: '0x66b0ff'
magenta: '0xf10596'
cyan: '0x0ef0f0'
white: '0xf5f5ff'
indexed_colors:
- { index: 16, color: '0xfc8d28' }
- { index: 17, color: '0xf003ef' }
- { index: 18, color: '0x20204a' }
- { index: 19, color: '0x30305a' }
- { index: 20, color: '0xb0b0da' }
- { index: 21, color: '0xe0e0ff' }
# Base16 Monokai 256 - alacritty color config
# Wimer Hazenberg (http://www.monokai.nl)
colors:
# Default colors
primary:
background: '0x272822'
foreground: '0xf8f8f2'
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: '0x272822'
cursor: '0xf8f8f2'
# Normal colors
normal:
black: '0x272822'
red: '0xf92672'
green: '0xa6e22e'
yellow: '0xf4bf75'
blue: '0x66d9ef'
magenta: '0xae81ff'
cyan: '0xa1efe4'
white: '0xf8f8f2'
# Bright colors
bright:
black: '0x75715e'
red: '0xf92672'
green: '0xa6e22e'
yellow: '0xf4bf75'
blue: '0x66d9ef'
magenta: '0xae81ff'
cyan: '0xa1efe4'
white: '0xf9f8f5'
indexed_colors:
- { index: 16, color: '0xfd971f' }
- { index: 17, color: '0xcc6633' }
- { index: 18, color: '0x383830' }
- { index: 19, color: '0x49483e' }
- { index: 20, color: '0xa59f85' }
- { index: 21, color: '0xf5f4f1' }
# 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
#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: On
# 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: N, mods: Shift|Control, action: SpawnNewInstance }
#- { 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

View File

@ -0,0 +1,13 @@
if which exa > /dev/null 2>&1 ; then
alias ls="exa"
else
alias ls="ls --color=auto"
fi
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
shopt -s expand_aliases
alias m4b-tool='docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt m4b-tool'
alias gcurl='curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"'

3
dot_config/bash/asdf.sh Normal file
View File

@ -0,0 +1,3 @@
if [ -f "$HOME/.asdf/asdf.sh" ] ; then
. "$HOME/.asdf/asdf.sh"
fi

View File

@ -1,3 +1,13 @@
# load system bashrc
for BASHRC in /etc/bashrc /etc/bash.bashrc /etc/bash/bashrc ; do
if [ -f "$BASHRC" ] ; then
# shellcheck source=/dev/null
. "$BASHRC"
fi
done
unset BASHRC
# load system completions
for rc in /etc/bash_completion /usr/local/share/bash-completion/bash_completion /usr/share/bash-completion/bash_completion ; do
if [ -f "$rc" ] ; then
. "$rc"
@ -15,3 +25,11 @@ fi
unset rc
complete -cf sudo
# local paths
if ! [[ "$PATH" =~ $HOME/.local/bin:$HOME/bin: ]]
then
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
fi
export PATH

4
dot_config/bash/bat.sh Normal file
View File

@ -0,0 +1,4 @@
#export BAT_THEME="Solarized (light)"
export BAT_THEME="Monokai Extended Light"
export MANPAGER="sh -c 'col -bx | bat -l man -p'"

View File

@ -0,0 +1,8 @@
EDITOR=vi
if which nvim > /dev/null 2>&1 ; then
EDITOR=nvim;
elif which vim > /dev/null 2>&1 ; then
EDITOR=vim
fi
export EDITOR

View File

@ -0,0 +1,57 @@
if which atuin > /dev/null 2>&1 ; then
ATUIN_SESSION=$(atuin uuid)
export ATUIN_SESSION
_atuin_preexec() {
id=$(atuin history start "$1")
export ATUIN_HISTORY_ID="$id"
}
_atuin_precmd() {
local EXIT="$?"
[[ -z "${ATUIN_HISTORY_ID}" ]] && return
(RUST_LOG=error atuin history end "$ATUIN_HISTORY_ID" --exit $EXIT &) > /dev/null 2>&1
}
__atuin_history ()
{
tput rmkx
HISTORY="$(RUST_LOG=error atuin search -i "$BUFFER" 3>&1 1>&2 2>&3)"
tput smkx
READLINE_LINE=${HISTORY}
READLINE_POINT=${#READLINE_LINE}
}
preexec_functions+=(_atuin_preexec)
precmd_functions+=(_atuin_precmd)
if [[ -z $ATUIN_NOBIND ]]; then
bind -x '"\C-r": __atuin_history'
fi
else
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
##
## history: http://mywiki.wooledge.org/BashFAQ/088
##
# Big history
HISTFILESIZE=10000
HISTSIZE=10000
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# history -a causes an immediate write of all new history lines
# (instead of upon shell exit)
PROMPT_COMMAND="history -a"
# histappend which causes all new history lines to be appended, and ensures
# that multiple logins do not overwrite each other's history
shopt -s histappend
fi

123
dot_config/bash/just.bash Normal file
View File

@ -0,0 +1,123 @@
_just() {
local i cur prev opts cmds
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
cmd=""
opts=""
for i in ${COMP_WORDS[@]}
do
case "${i}" in
"$1")
cmd="just"
;;
*)
;;
esac
done
case "${cmd}" in
just)
opts=" -q -u -v -e -l -h -V -f -d -c -s --check --dry-run --highlight --no-dotenv --no-highlight --quiet --shell-command --clear-shell-args --unsorted --unstable --verbose --changelog --choose --dump --edit --evaluate --fmt --init --list --summary --variables --help --version --chooser --color --dump-format --list-heading --list-prefix --justfile --set --shell --shell-arg --working-directory --command --completions --show --dotenv-filename --dotenv-path <ARGUMENTS>... "
if [[ ${cur} == -* ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
elif [[ ${COMP_CWORD} -eq 1 ]]; then
local recipes=$(just --summary --color never 2> /dev/null)
if [[ $? -eq 0 ]]; then
COMPREPLY=( $(compgen -W "${recipes}" -- "${cur}") )
return 0
fi
fi
case "${prev}" in
--chooser)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--color)
COMPREPLY=($(compgen -W "auto always never" -- "${cur}"))
return 0
;;
--dump-format)
COMPREPLY=($(compgen -W "just json" -- "${cur}"))
return 0
;;
--list-heading)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--list-prefix)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--justfile)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
-f)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--set)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--shell)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--shell-arg)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--working-directory)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
-d)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--command)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
-c)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--completions)
COMPREPLY=($(compgen -W "zsh bash fish powershell elvish" -- "${cur}"))
return 0
;;
--show)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
-s)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--dotenv-filename)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
--dotenv-path)
COMPREPLY=($(compgen -f "${cur}"))
return 0
;;
*)
COMPREPLY=()
;;
esac
COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
return 0
;;
esac
}
complete -F _just -o bashdefault -o default just

File diff suppressed because one or more lines are too long

3
dot_config/bash/nix.sh Normal file
View File

@ -0,0 +1,3 @@
if [ -e "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then
. "$HOME/.nix-profile/etc/profile.d/nix.sh"
fi

3
dot_config/bash/pager.sh Normal file
View File

@ -0,0 +1,3 @@
LESS="-R"; export LESS
PAGER=less; export PAGER
DELTA_PAGER=less; export DELTA_PAGER

3
dot_config/bash/puts.sh Normal file
View File

@ -0,0 +1,3 @@
function puts() {
ruby -r date -e "puts($*)"
}

View File

@ -1,5 +1,7 @@
if [[ ${EUID} == 0 ]] ; then
PS1='\[\033[01;31m\][\h\[\033[01;36m\] \W\[\033[01;31m\]]\$\[\033[00m\] '
elif which starship > /dev/null 2>&1 ; then
eval "$(starship init bash)"
else
if type __git_ps1 > /dev/null 2>&1 ; then
GIT_PS1_SHOWDIRTYSTATE=1

View File

@ -0,0 +1,298 @@
# To use these themes, first include this file in your own gitconfig file:
#
# [include]
# path = PATH/TO/delta/themes.gitconfig
#
# Then, in your own gitconfig file, activate the chosen theme, e.g.
#
# [delta]
# features = kingfisher
#
# Please add your own themes to this file, and open a PR.
#
# Instructions:
#
# 1. The name of the theme must be the name of some sort of wild organism:
# mammal, bird, plant, mollusk -- whatever. It can be in any language.
#
# 2. Use `delta --show-config` to list all the style settings that are active in
# your current delta environment, but only include settings in your theme
# that are essential to its appearance.
#
# 3. Include either `dark = true` or `light = true` according to whether it is
# designed for a light or dark terminal background. (This marks a feature as
# a "theme", causing it to be picked up by `delta --show-themes`).
#
# 4. Feel free to include a comment line indicating who is the author of the
# theme. E.g. a link to your github user page.
[delta "collared-trogon"]
# author: https://github.com/clnoll
commit-decoration-style = bold box ul
dark = true
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#022b45" box ul
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#003300"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = "#022b45"
line-numbers-minus-style = "#80002a"
line-numbers-plus-style = "#003300"
line-numbers-right-style = "#022b45"
line-numbers-zero-style = "#999999"
minus-emph-style = normal "#80002a"
minus-style = normal "#330011"
plus-emph-style = syntax "#003300"
plus-style = syntax "#001a00"
syntax-theme = Nord
[delta "coracias-caudatus"]
# author: https://github.com/clnoll
commit-decoration-style = ol "#7536ff"
commit-style = "#200078"
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#cfd6ff" ul
hunk-header-file-style = "#858dff"
hunk-header-line-number-style = "#7536ff"
hunk-header-style = file line-number syntax
light = true
line-numbers = true
line-numbers-left-format = "{nm:>4} ."
line-numbers-left-style = "#e3ab02"
line-numbers-minus-style = "#ff38b6"
line-numbers-plus-style = "#00e0c2"
line-numbers-right-format = "{np:>4} "
line-numbers-right-style = white
line-numbers-zero-style = "#cccccc"
minus-emph-style = bold "#ff3838" "#ffe3f7"
minus-style = "#ff0080"
plus-emph-style = "#008a81" bold "#00ffbf"
plus-style = syntax "#cffff3"
syntax-theme = Github
[delta "hoopoe"]
# author: https://github.com/dandavison
light = true
pink = "#ffe0e0"
dark-pink = "#ffc0c0"
green = "#d0ffd0"
dark-green = "#a0efa0"
dark-green-2 = "#067a00"
minus-style = normal hoopoe.pink
minus-emph-style = normal hoopoe.dark-pink
minus-non-emph-style = minus-style
plus-style = syntax hoopoe.green
plus-emph-style = syntax hoopoe.dark-green
plus-non-emph-style = plus-style
minus-empty-line-marker-style = minus-style
plus-empty-line-marker-style = plus-style
commit-decoration-style = blue ol
commit-style = raw
file-style = omit
hunk-header-decoration-style = blue box
hunk-header-file-style = red
hunk-header-line-number-style = hoopoe.dark-green-2
hunk-header-style = file #line-number syntax
syntax-theme = GitHub
zero-style = syntax
[delta "tangara-chilensis"]
# author: https://github.com/clnoll
commit-decoration-style = bold box ul "#34fd50"
dark = true
file-decoration-style = none
file-style = omit
hunk-header-decoration-style = "#00b494" box ul
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#03a4ff"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = black
line-numbers-minus-style = "#B10036"
line-numbers-plus-style = "#03a4ff"
line-numbers-right-style = black
line-numbers-zero-style = "#999999"
minus-emph-style = normal "#de004e"
minus-style = normal "#990017"
plus-emph-style = syntax "#03a4ff"
plus-style = syntax "#450eff"
side-by-side = true
syntax-theme = Vibrant Sunburst
[delta "villsau"]
# author: https://github.com/torarnv
dark = true
file-style = omit
hunk-header-decoration-style = omit
hunk-header-file-style = magenta
hunk-header-line-number-style = dim magenta
hunk-header-style = file line-number syntax
line-numbers = false
minus-emph-style = bold red 52
minus-empty-line-marker-style = normal "#3f0001"
minus-non-emph-style = dim red
minus-style = bold red
plus-emph-style = bold green 22
plus-empty-line-marker-style = normal "#002800"
plus-non-emph-style = dim green
plus-style = bold green
syntax-theme = OneHalfDark
whitespace-error-style = reverse red
zero-style = dim syntax
[delta "woolly-mammoth"]
# author: https://github.com/Kr1ss-XD
commit-decoration-style = 232 130 box
commit-style = 232 bold italic 130
dark = true
file-added-label = [+]
file-copied-label = [C]
file-decoration-style = "#606018" overline
file-modified-label = [M]
file-removed-label = [-]
file-renamed-label = [R]
file-style = 232 bold 184
hunk-header-decoration-style = none
hunk-header-style = syntax bold italic 237
line-numbers = true
line-numbers-left-format = "{nm:>1}┊"
line-numbers-left-style = red
line-numbers-minus-style = red italic black
line-numbers-plus-style = green italic black
line-numbers-right-format = "{np:>1}┊"
line-numbers-right-style = green
line-numbers-zero-style = "#545474" italic
minus-emph-style = syntax bold "#780000"
minus-style = syntax "#400000"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004000"
syntax-theme = Vibrant Sunburst
whitespace-error-style = "#280050" reverse
zero-style = syntax
blame-format = "{author:<18} ({commit:>7}) ┊{timestamp:^16}┊ "
blame-palette = "#101010 #200020 #002800 #000028 #202000 #280000 #002020 #002800 #202020"
[delta "calochortus-lyallii"]
# author: https://github.com/manojkarthick
commit-decoration-style = none
dark = true
file-added-label = [+]
file-copied-label = [C]
file-decoration-style = none
file-modified-label = [M]
file-removed-label = [-]
file-renamed-label = [R]
file-style = 232 bold 184
hunk-header-decoration-style = none
hunk-header-file-style = "#999999"
hunk-header-line-number-style = bold "#03a4ff"
hunk-header-style = file line-number syntax
line-numbers = true
line-numbers-left-style = black
line-numbers-minus-style = "#B10036"
line-numbers-plus-style = "#03a4ff"
line-numbers-right-style = black
line-numbers-zero-style = "#999999"
minus-emph-style = syntax bold "#780000"
minus-style = syntax "#400000"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004000"
whitespace-error-style = "#280050" reverse
zero-style = syntax
syntax-theme = Nord
[delta "mantis-shrimp"]
#author: https://github.com/2kabhishek
dark = true
side-by-side = true
navigate = true
keep-plus-minus-markers = true
hyperlinks = true
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-style = omit
zero-style = syntax
syntax-theme = Monokai Extended
commit-decoration-style ="#11ce16" box
commit-style = "#ffd21a" bold italic
hunk-header-decoration-style = "#1688f0" box ul
hunk-header-file-style = "#c63bee" ul bold
hunk-header-line-number-style = "#ffd21a" box bold
hunk-header-style = file line-number syntax bold italic
line-numbers = true
line-numbers-left-format = "{nm:>1}|"
line-numbers-left-style = "#1688f0"
line-numbers-minus-style = "#ff0051" bold
line-numbers-plus-style = "#03e57f" bold
line-numbers-right-format = "{np:>1}|"
line-numbers-right-style = "#1688f0"
line-numbers-zero-style = "#aaaaaa" italic
minus-emph-style = syntax bold "#b80000"
minus-style = syntax "#5d001e"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004433"
whitespace-error-style = "#280050"
[delta "mantis-shrimp-lite"]
#author: https://github.com/2kabhishek
dark = true
side-by-side = true
navigate = true
keep-plus-minus-markers = true
file-added-label = [+]
file-copied-label = [==]
file-modified-label = [*]
file-removed-label = [-]
file-renamed-label = [->]
file-style = omit
zero-style = syntax
syntax-theme = Monokai Extended
commit-decoration-style = green box
commit-style = yellow bold italic
hunk-header-decoration-style = blue box ul
hunk-header-file-style = purple ul bold
hunk-header-line-number-style = yellow box bold
hunk-header-style = file line-number syntax bold italic
line-numbers = true
line-numbers-left-format = "{nm:>1}|"
line-numbers-left-style = blue
line-numbers-minus-style = red bold
line-numbers-plus-style = green bold
line-numbers-right-format = "{np:>1}|"
line-numbers-right-style = blue
line-numbers-zero-style = white italic
minus-emph-style = syntax bold red
plus-emph-style = syntax bold green
whitespace-error-style = purple bold
[delta "zebra-dark"]
minus-style = syntax "#330f0f"
minus-emph-style = syntax "#4f1917"
plus-style = syntax "#0e2f19"
plus-emph-style = syntax "#174525"
map-styles = \
bold purple => syntax "#330f29", \
bold blue => syntax "#271344", \
bold cyan => syntax "#0d3531", \
bold yellow => syntax "#222f14"
zero-style = syntax
whitespace-error-style = "#aaaaaa"
[delta "zebra-light"]
minus-style = syntax "#fbdada"
minus-emph-style = syntax "#f6b6b6"
plus-style = syntax "#d6ffd6"
plus-emph-style = syntax "#adffad"
map-styles = \
bold purple => syntax "#feecf7", \
bold blue => syntax "#e5dff6", \
bold cyan => syntax "#d8fdf6", \
bold yellow => syntax "#f4ffe0"
zero-style = syntax
whitespace-error-style = "#aaaaaa"

View File

@ -0,0 +1,21 @@
background #f8f8f8
foreground #2a2b33
cursor #bbbbbb
selection_background #e5e5e6
color0 #000000
color8 #000000
color1 #de3d35
color9 #de3d35
color2 #3e953a
color10 #3e953a
color3 #d2b67b
color11 #d2b67b
color4 #2f5af3
color12 #2f5af3
color5 #950095
color13 #a00095
color6 #3e953a
color14 #3e953a
color7 #bbbbbb
color15 #ffffff
selection_foreground #2a2b33

View File

@ -0,0 +1,14 @@
font_family Operator Mono Book
#bold_font Operator Mono Bold
#italic_font Operator Mono Italic
#bold_italic_font Operator Mono Bold Italic
font_size 14.0
cursor_shape block
shell_integration no-cursor
tab_bar_edge top
# BEGIN_KITTY_THEME
# Atom One Light
include current-theme.conf
# END_KITTY_THEME

163
dot_config/lvim/config.lua Normal file
View File

@ -0,0 +1,163 @@
-- general
lvim.log.level = "warn"
lvim.format_on_save = true
-- vim.o.background = "light"
lvim.colorscheme = "base16-one-light"
-- keymappings [view all the defaults by pressing <leader>Lk]
lvim.leader = "space"
-- add your own keymapping
-- lvim.keys.normal_mode["<C-s>"] = ":w<cr>"
-- unmap a default keymapping
-- lvim.keys.normal_mode["<C-Up>"] = false
-- edit a default keymapping
-- lvim.keys.normal_mode["<C-q>"] = ":q<cr>"
lvim.keys.normal_mode["<Tab>"] = ":bprevious<cr>"
lvim.keys.normal_mode["<S-Tab>"] = ":bnext<cr>"
lvim.keys.normal_mode["<F5>"] = ":pastetoggle<cr>"
vim.cmd [[
" Relative numbering
function! NumberToggle()
if(&relativenumber == 1)
set nornu
set number
else
set rnu
endif
endfunc
" Toggle between normal and relative numbering.
noremap <F6> :call NumberToggle()<cr>
]]
-- Change Telescope navigation to use j and k for navigation and n and p for history in both input and normal mode.
-- we use protected-mode (pcall) just in case the plugin wasn't loaded yet.
-- local _, actions = pcall(require, "telescope.actions")
-- lvim.builtin.telescope.defaults.mappings = {
-- -- for input mode
-- i = {
-- ["<C-j>"] = actions.move_selection_next,
-- ["<C-k>"] = actions.move_selection_previous,
-- ["<C-n>"] = actions.cycle_history_next,
-- ["<C-p>"] = actions.cycle_history_prev,
-- },
-- -- for normal mode
-- n = {
-- ["<C-j>"] = actions.move_selection_next,
-- ["<C-k>"] = actions.move_selection_previous,
-- },
-- }
-- Use which-key to add extra bindings with the leader-key prefix
-- lvim.builtin.which_key.mappings["P"] = { "<cmd>Telescope projects<CR>", "Projects" }
-- lvim.builtin.which_key.mappings["t"] = {
-- name = "+Trouble",
-- r = { "<cmd>Trouble lsp_references<cr>", "References" },
-- f = { "<cmd>Trouble lsp_definitions<cr>", "Definitions" },
-- d = { "<cmd>Trouble lsp_document_diagnostics<cr>", "Diagnostics" },
-- q = { "<cmd>Trouble quickfix<cr>", "QuickFix" },
-- l = { "<cmd>Trouble loclist<cr>", "LocationList" },
-- w = { "<cmd>Trouble lsp_workspace_diagnostics<cr>", "Diagnostics" },
-- }
-- TODO: User Config for predefined plugins
-- After changing plugin config exit and reopen LunarVim, Run :PackerInstall :PackerCompile
lvim.builtin.dashboard.active = true
lvim.builtin.notify.active = true
lvim.builtin.terminal.active = true
lvim.builtin.nvimtree.setup.view.side = "left"
lvim.builtin.nvimtree.show_icons.git = 0
-- if you don't want all the parsers change this to a table of the ones you want
lvim.builtin.treesitter.ensure_installed = {
"bash",
"c",
"json",
"lua",
"python",
"rust",
"yaml",
}
lvim.builtin.treesitter.ignore_install = { "haskell" }
lvim.builtin.treesitter.highlight.enabled = true
-- generic LSP settings
-- ---@usage disable automatic installation of servers
-- lvim.lsp.automatic_servers_installation = false
-- ---@usage Select which servers should be configured manually. Requires `:LvimCacheRest` to take effect.
-- See the full default list `:lua print(vim.inspect(lvim.lsp.override))`
-- vim.list_extend(lvim.lsp.override, { "pyright" })
-- ---@usage setup a server -- see: https://www.lunarvim.org/languages/#overriding-the-default-configuration
-- local opts = {} -- check the lspconfig documentation for a list of all possible options
-- require("lvim.lsp.manager").setup("pylsp", opts)
-- -- you can set a custom on_attach function that will be used for all the language servers
-- -- See <https://github.com/neovim/nvim-lspconfig#keybindings-and-completion>
-- lvim.lsp.on_attach_callback = function(client, bufnr)
-- local function buf_set_option(...)
-- vim.api.nvim_buf_set_option(bufnr, ...)
-- end
-- --Enable completion triggered by <c-x><c-o>
-- buf_set_option("omnifunc", "v:lua.vim.lsp.omnifunc")
-- end
-- -- set a formatter, this will override the language server formatting capabilities (if it exists)
-- local formatters = require "lvim.lsp.null-ls.formatters"
-- formatters.setup {
-- { command = "black", filetypes = { "python" } },
-- { command = "isort", filetypes = { "python" } },
-- {
-- -- each formatter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration
-- command = "prettier",
-- ---@usage arguments to pass to the formatter
-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}`
-- extra_args = { "--print-with", "100" },
-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports.
-- filetypes = { "typescript", "typescriptreact" },
-- },
-- }
-- -- set additional linters
-- local linters = require "lvim.lsp.null-ls.linters"
-- linters.setup {
-- { command = "flake8", filetypes = { "python" } },
-- {
-- -- each linter accepts a list of options identical to https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md#Configuration
-- command = "shellcheck",
-- ---@usage arguments to pass to the formatter
-- -- these cannot contain whitespaces, options such as `--line-width 80` become either `{'--line-width', '80'}` or `{'--line-width=80'}`
-- extra_args = { "--severity", "warning" },
-- },
-- {
-- command = "codespell",
-- ---@usage specify which filetypes to enable. By default a providers will attach to all the filetypes it supports.
-- filetypes = { "javascript", "python" },
-- },
-- }
-- Additional Plugins
lvim.plugins = {
{"RRethy/nvim-base16"},
{"rebelot/kanagawa.nvim"},
{"LunarVim/Colorschemes"},
}
-- {"folke/tokyonight.nvim"},
-- {
-- "folke/trouble.nvim",
-- cmd = "TroubleToggle",
-- },
-- }
-- Autocommands (https://neovim.io/doc/user/autocmd.html)
-- lvim.autocommands.custom_groups = {
-- { "BufWinEnter", "*.lua", "setlocal ts=8 sw=8" },
-- }
lvim.autocommands.custom_groups = {
{ "FileType", "make", "set noexpandtab shiftwidth=8 softtabstop=0" },
{ "BufNewFile,BufRead", "justfile", "setf automake expandtab shiftwidth=8 softtabstop=0" },
}

View File

@ -1,3 +1,5 @@
"let g:ale_disable_lsp = 1
call plug#begin('~/.config/nvim/autoload/plugged')
Plug 'junegunn/vim-easy-align'
Plug 'dense-analysis/ale'
@ -6,19 +8,23 @@ Plug 'vim-ruby/vim-ruby'
Plug 'hashivim/vim-terraform'
Plug 'cespare/vim-toml'
Plug 'ntpeters/vim-better-whitespace'
Plug 'pearofducks/ansible-vim'
"Plug 'pearofducks/ansible-vim'
Plug 'itchyny/vim-gitbranch'
Plug 'rust-lang/rust.vim'
Plug 'airblade/vim-gitgutter'
Plug 'elixir-editors/vim-elixir'
"Plug 'elixir-editors/vim-elixir'
Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
Plug 'junegunn/fzf.vim'
Plug 'https://tpope.io/vim/fugitive.git'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'kyazdani42/nvim-web-devicons'
Plug 'kyazdani42/nvim-tree.lua'
Plug 'svermeulen/vimpeccable'
Plug 'sp5/nvim-colors-solarized'
"Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdtree'
Plug 'NoahTheDuke/vim-just'
Plug 'dewyze/vim-tada'
call plug#end()
set nocompatible
@ -44,15 +50,13 @@ set termguicolors
set visualbell
set noerrorbells
set whichwrap=<,>,[,],b,
"set background=light
set backspace=indent,eol,start
set number
set autoread
" set mouse=a
set nobackup
set nowritebackup
set nowb
set noswapfile
syntax on
let mapleader = " "
syntax on
@ -67,31 +71,37 @@ let g:terraform_fmt_on_save = 1
autocmd FileType html set shiftwidth=4 softtabstop=4 tabstop=4
autocmd FileType javascript set shiftwidth=4 softtabstop=4 tabstop=4
autocmd FileType htmldjango set shiftwidth=4 softtabstop=4 tabstop=4
autocmd FileType just set shiftwidth=4 softtabstop=4 tabstop=4
autocmd BufNewFile,BufRead *.tera set syntax=django
autocmd BufNewFile,BufRead justfile setf make "expandtab shiftwidth=8 softtabstop=0
" autocmd BufNewFile,BufRead justfile setf make expandtab shiftwidth=8 softtabstop=0
autocmd FileType *.md set expandtab
" Center screen when scrolling search results
nmap n nzz
nmap N Nzz
"colorscheme solarized
let g:airline_powerline_fonts=1
"let g:airline_theme='papercolor'
let g:airline_theme='base16_eighties'
let g:airline_theme='base16_one_light'
let g:airline_theme='owo'
let g:airline#extensions#tabline#enabled = 1
noremap <F2> :bp<CR>
noremap <F3> :bn<CR>
set pastetoggle=<F5>
" highlight trailing whitespace
highlight ExtraWhitespace ctermbg=red guibg=red
highlight ExtraWhitespace ctermbg=lightblue guibg=lightblue
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
let g:ale_linters = {'rust': ['analyzer'], 'sh': ['shellcheck','shfmt','remove_trailing_lines','trim_whitespace']}
let g:ale_linters = {
\ 'rust': ['analyzer'],
\ 'sh': ['shellcheck','shfmt','remove_trailing_lines','trim_whitespace'],
\ }
let g:ale_cursor_detail = 0
let g:ale_fix_on_save = 1
@ -105,6 +115,7 @@ nnoremap <silent><leader>1 :source ~/.config/nvim/init.vim \| :PlugInstall<CR>
map <Leader>s :StripWhitespace<CR>
nnoremap <leader>g :Rg<CR>
nnoremap <leader>p :Files<CR>
nnoremap <silent><leader>l :Buffers<CR>
nnoremap <F8> :call SetNewPassword()<CR>
@ -130,11 +141,173 @@ endfunc
noremap <F6> :call NumberToggle()<cr>
" File Browser
nnoremap <C-p> :NvimTreeToggle<CR>
nnoremap <leader>e :NvimTreeToggle<CR>
nnoremap <leader>r :NvimTreeRefresh<CR>
nnoremap <leader>n :NvimTreeFindFile<CR>
let g:nvim_tree_auto_close = 1
" let g:nvim_tree_quit_on_open = 1
let g:nvim_tree_git_hl = 1
set guifont=OperatorMono\ Nerd\ Font:h16
"set guifont=OperatorMono\ Nerd\ Font:h16
" Set internal encoding of vim, not needed on neovim, since coc.nvim using some
" unicode characters in the file autoload/float.vim
set encoding=utf-8
" TextEdit might fail if hidden is not set.
set hidden
" Give more space for displaying messages.
"set cmdheight=1
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
" delays and poor user experience.
set updatetime=300
" Don't pass messages to |ins-completion-menu|.
set shortmess+=c
" Always show the signcolumn, otherwise it would shift the text each time
" diagnostics appear/become resolved.
"if has("nvim-0.5.0") || has("patch-8.1.1564")
" Recently vim can merge signcolumn and number column into one
" set signcolumn=number
"else
" set signcolumn=yes
"endif
" 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
" Use <c-space> to trigger completion.
"if has('nvim')
" inoremap <silent><expr> <c-space> coc#refresh()
"else
" inoremap <silent><expr> <c-@> coc#refresh()
"endif
" Make <CR> auto-select the first completion item and notify coc.nvim to
" format on enter, <cr> could be remapped by other vim plugin
"inoremap <silent><expr> <cr> pumvisible() ? coc#_select_confirm()
" \: "\<C-g>u\<CR>\<c-r>=coc#on_enter()\<CR>"
" Use `[g` and `]g` to navigate diagnostics
" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list.
"nmap <silent> [g <Plug>(coc-diagnostic-prev)
"nmap <silent> ]g <Plug>(coc-diagnostic-next)
" GoTo code navigation.
"nmap <silent> gd <Plug>(coc-definition)
"nmap <silent> gy <Plug>(coc-type-definition)
"nmap <silent> gi <Plug>(coc-implementation)
"nmap <silent> gr <Plug>(coc-references)
" Use K to show documentation in preview window.
"nnoremap <silent> K :call <SID>show_documentation()<CR>
"function! s:show_documentation()
" if (index(['vim','help'], &filetype) >= 0)
" execute 'h '.expand('<cword>')
" elseif (coc#rpc#ready())
" call CocActionAsync('doHover')
" else
" execute '!' . &keywordprg . " " . expand('<cword>')
" endif
"endfunction
" Highlight the symbol and its references when holding the cursor.
"autocmd CursorHold * silent call CocActionAsync('highlight')
" Symbol renaming.
"nmap <leader>rn <Plug>(coc-rename)
" Formatting selected code.
"xmap <leader>f <Plug>(coc-format-selected)
"nmap <leader>f <Plug>(coc-format-selected)
"augroup mygroup
" autocmd!
" Setup formatexpr specified filetype(s).
" autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
" Update signature help on jump placeholder.
" autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
"augroup end
"
" Applying codeAction to the selected region.
" Example: `<leader>aap` for current paragraph
"xmap <leader>a <Plug>(coc-codeaction-selected)
"nmap <leader>a <Plug>(coc-codeaction-selected)
" Remap keys for applying codeAction to the current buffer.
"nmap <leader>ac <Plug>(coc-codeaction)
" Apply AutoFix to problem on the current line.
"nmap <leader>qf <Plug>(coc-fix-current)
" Map function and class text objects
" NOTE: Requires 'textDocument.documentSymbol' support from the language server.
"xmap if <Plug>(coc-funcobj-i)
"omap if <Plug>(coc-funcobj-i)
"xmap af <Plug>(coc-funcobj-a)
"omap af <Plug>(coc-funcobj-a)
"xmap ic <Plug>(coc-classobj-i)
"omap ic <Plug>(coc-classobj-i)
"xmap ac <Plug>(coc-classobj-a)
"omap ac <Plug>(coc-classobj-a)
" Remap <C-f> and <C-b> for scroll float windows/popups.
"if has('nvim-0.4.0') || has('patch-8.2.0750')
" nnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
" nnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
" inoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(1)\<cr>" : "\<Right>"
" inoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? "\<c-r>=coc#float#scroll(0)\<cr>" : "\<Left>"
" vnoremap <silent><nowait><expr> <C-f> coc#float#has_scroll() ? coc#float#scroll(1) : "\<C-f>"
" vnoremap <silent><nowait><expr> <C-b> coc#float#has_scroll() ? coc#float#scroll(0) : "\<C-b>"
"endif
" Use CTRL-S for selections ranges.
" Requires 'textDocument/selectionRange' support of language server.
"nmap <silent> <C-s> <Plug>(coc-range-select)
"xmap <silent> <C-s> <Plug>(coc-range-select)
" Add `:Format` command to format current buffer.
"command! -nargs=0 Format :call CocAction('format')
" Add `:Fold` command to fold current buffer.
"command! -nargs=? Fold :call CocAction('fold', <f-args>)
" Add `:OR` command for organize imports of the current buffer.
"command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport')
" Add (Neo)Vim's native statusline support.
" NOTE: Please see `:h coc-status` for integrations with external plugins that
" provide custom statusline: lightline.vim, vim-airline.
"set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')}
" Mappings for CoCList
" Show all diagnostics.
"nnoremap <silent><nowait> <space>a :<C-u>CocList diagnostics<cr>
" Manage extensions.
"nnoremap <silent><nowait> <space>e :<C-u>CocList extensions<cr>
" Show commands.
"nnoremap <silent><nowait> <space>c :<C-u>CocList commands<cr>
" Find symbol of current document.
"nnoremap <silent><nowait> <space>o :<C-u>CocList outline<cr>
" Search workspace symbols.
"nnoremap <silent><nowait> <space>s :<C-u>CocList -I symbols<cr>
" Do default action for next item.
"nnoremap <silent><nowait> <space>j :<C-u>CocNext<CR>
" Do default action for previous item.
"nnoremap <silent><nowait> <space>k :<C-u>CocPrev<CR>
" Resume latest coc list.
"nnoremap <silent><nowait> <space>p :<C-u>CocListResume<CR>

View File

@ -1,32 +1,5 @@
[delta "woolly-mammoth"]
# author: https://github.com/Kr1ss-XD
commit-decoration-style = 232 130 box
commit-style = 232 bold 130
dark = true
file-added-label = [+]
file-copied-label = [C]
file-decoration-style = "#606018" overline
file-modified-label = [M]
file-removed-label = [-]
file-renamed-label = [R]
file-style = 232 bold 184
hunk-header-decoration-style = none
hunk-header-style = syntax bold 237
line-numbers = true
line-numbers-left-format = "{nm:>1}┊"
line-numbers-left-style = red
line-numbers-minus-style = red black
line-numbers-plus-style = green black
line-numbers-right-format = "{np:>1}┊"
line-numbers-right-style = green
line-numbers-zero-style = "#545474"
minus-emph-style = syntax bold "#780000"
minus-style = syntax "#400000"
plus-emph-style = syntax bold "#007800"
plus-style = syntax "#004000"
syntax-theme = Vibrant Sunburst
whitespace-error-style = "#280050" reverse
zero-style = syntax
[include]
path = /home/andrew/.config/git/delta.gitconfig
[push]
default = simple
@ -48,34 +21,31 @@
defaultBranch = main
[delta]
features = woolly-mammoth #decorations hoopoe
[delta "hoopoe"]
# author: https://github.com/dandavison
commit-decoration-style = blue ol
commit-style = raw
file-style = omit
hunk-header-decoration-style = blue box
hunk-header-file-style = red
hunk-header-line-number-style = "#067a00"
hunk-header-style = file line-number syntax
light = true
minus-emph-style = normal "#ffc0c0"
minus-empty-line-marker-style = normal "#ffe0e0"
minus-non-emph-style = normal "#ffe0e0"
minus-style = normal "#ffe0e0"
plus-emph-style = syntax "#a0efa0"
plus-empty-line-marker-style = normal "#d0ffd0"
plus-non-emph-style = syntax "#d0ffd0"
plus-style = syntax "#d0ffd0"
syntax-theme = GitHub
zero-style = syntax
[delta "decorations"]
#commit-decoration-style = bold yellow box
#file-style = bold blue
file-decoration-style = blue ol
hunk-header-style = omit
line-numbers = true
# author: https://github.com/dandavison
light = true
pink = "#ffe0e0"
dark-pink = "#ffc0c0"
green = "#d0ffd0"
dark-green = "#a0efa0"
dark-green-2 = "#067a00"
minus-style = normal hoopoe.pink
minus-emph-style = normal hoopoe.dark-pink
minus-non-emph-style = minus-style
plus-style = syntax hoopoe.green
plus-emph-style = syntax hoopoe.dark-green
plus-non-emph-style = plus-style
minus-empty-line-marker-style = minus-style
plus-empty-line-marker-style = plus-style
commit-decoration-style = blue ol
commit-style = raw
file-style = omit
hunk-header-decoration-style = blue box
hunk-header-file-style = red
hunk-header-line-number-style = hoopoe.dark-green-2
hunk-header-style = file #line-number syntax
syntax-theme = GitHub
zero-style = syntax
[rebase]
autoStash = true
@ -118,6 +88,5 @@
--pretty=format:'%C(auto)%h%Creset %C(auto)%d%Creset %s %C(green)(%ad) %C(bold cyan)<%an>%Creset'
lga = log --graph --date-order --all \
--pretty=format:'%C(auto)%h%Creset %C(auto)%d%Creset %s %C(green)(%ad) %C(bold cyan)<%an>%Creset'
up = pull --rebase
up = pull --rebase
branches-last-updated = branch -rv --sort=committerdate --format='%(HEAD) %(color:green)%(committerdate:relative)%(color:reset)\t%(color:magenta)%(authorname)%(color:reset)\t%(color:yellow)%(refname:short)%(color:reset)'
# gone = ! "git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '$2 == \"[gone]\" {print $1}' | xargs -r git branch -D"

View File

@ -6,3 +6,9 @@ set number " display line number
set noswapfile " disable swap file
" can also be summarized as
set hls ic is nu noswf
" from https://www.guckes.net/vim/setup.html
set ai nocp ek hid ru sc vb wmnu noeb noet nosol
set bs=2 fo=cqrt ls=2 shm=at ww=<,>,h,l
set comments=b:#,:%,n:>
set list listchars=tab:>=,trail:-
set viminfo=%,'50,\"100,:100,n~/.viminfo

View File

@ -1,3 +0,0 @@
[default]
aws_access_key_id = {{ (bitwardenFields "item" "Wellsky-AWS").access_key_id.value }}
aws_secret_access_key = {{ (bitwardenFields "item" "Wellsky-AWS").secret_access_key.value }}

View File

@ -1,37 +0,0 @@
if which lsd > /dev/null 2>&1 ; then
alias ls="lsd"
else
alias ls="ls --color=auto"
fi
alias grep='grep --colour=auto'
alias egrep='egrep --colour=auto'
alias fgrep='fgrep --colour=auto'
shopt -s expand_aliases
# ex - archive extractor
# usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
alias m4b-tool='docker run -it --rm -u $(id -u):$(id -g) -v "$(pwd)":/mnt m4b-tool'
alias gcurl='curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"'

View File

@ -1,20 +0,0 @@
# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
##
## history: http://mywiki.wooledge.org/BashFAQ/088
##
# Big history
HISTFILESIZE=10000
HISTSIZE=10000
HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# history -a causes an immediate write of all new history lines
# (instead of upon shell exit)
PROMPT_COMMAND="history -a"
# histappend which causes all new history lines to be appended, and ensures
# that multiple logins do not overwrite each other's history
shopt -s histappend

View File

@ -1,2 +0,0 @@
export KUBECTL=$(which kubectl)
export KOPS_STATE_STORE={{- (bitwarden "item" "Wellsky-Kubernetes").notes }}

View File

@ -1,8 +0,0 @@
LESS="-R"; export LESS
if which most > /dev/null 2>&1 ; then
PAGER=most
else
PAGER=less
fi
export PAGER
DELTA_PAGER=less; export DELTA_PAGER