mirror of
https://github.com/nmasur/dotfiles
synced 2026-10-29 15:25:02 +00:00
Merge branch 'experimental'
This commit is contained in:
commit
2f58396c61
255 files changed
+4237
-4485
No files matched your search
+1
-11
@@ -1,15 +1,5 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
newsboat.configlink/history.search
|
|
||||||
newsboat.configlink/urls
|
|
||||||
nvim.configlink/dirs/*
|
|
||||||
nvim.configlink/.netrwhist
|
|
||||||
nvim.configlink/plugin/**
|
|
||||||
nvim.configlink/plugged/**
|
|
||||||
nvim.configlink/autoload/**
|
|
||||||
fish.configlink/config.fish.bac
|
|
||||||
fish.configlink/functions/vim.fish
|
|
||||||
fish_variables
|
|
||||||
homebrew/*.lock.json
|
|
||||||
*.bak
|
*.bak
|
||||||
*.db
|
*.db
|
||||||
**/.direnv/**
|
**/.direnv/**
|
||||||
|
result
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
bootstrap:
|
|
||||||
./scripts/bootstrap
|
|
||||||
./scripts/setup_symlinks
|
|
||||||
|
|
||||||
all:
|
|
||||||
./scripts/bootstrap
|
|
||||||
./scripts/setup_symlinks
|
|
||||||
./scripts/setup_fish
|
|
||||||
./scripts/brews
|
|
||||||
./scripts/update_rust_analyzer
|
|
||||||
./scripts/rust
|
|
||||||
./scripts/cargos
|
|
||||||
./scripts/setup_cheatsheet
|
|
||||||
./scripts/setup_ytfzf
|
|
||||||
|
|
||||||
fish: bootstrap
|
|
||||||
./scripts/setup_fish
|
|
||||||
|
|
||||||
macos: bootstrap
|
|
||||||
./scripts/configure_macos
|
|
||||||
|
|
||||||
brews: bootstrap
|
|
||||||
./scripts/brews
|
|
||||||
|
|
||||||
casks: bootstrap
|
|
||||||
./scripts/casks
|
|
||||||
|
|
||||||
rust:
|
|
||||||
./scripts/update_rust_analyzer
|
|
||||||
./scripts/rust
|
|
||||||
|
|
||||||
cargos: rust
|
|
||||||
./scripts/rust
|
|
||||||
|
|
||||||
programs:
|
|
||||||
./scripts/setup_cheatsheet
|
|
||||||
./scripts/setup_ytfzf
|
|
||||||
|
|
||||||
python: brews
|
|
||||||
npm install -g pyright
|
|
||||||
@@ -1,840 +0,0 @@
|
|||||||
# Configuration for Alacritty, the GPU enhanced terminal emulator.
|
|
||||||
|
|
||||||
# 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
|
|
||||||
#TERM: xterm-256color
|
|
||||||
|
|
||||||
window:
|
|
||||||
# Window dimensions (changes require restart)
|
|
||||||
#
|
|
||||||
# Specified in number of columns/lines, not pixels.
|
|
||||||
# If both are `0`, this setting is ignored.
|
|
||||||
dimensions:
|
|
||||||
columns: 130
|
|
||||||
lines: 50
|
|
||||||
|
|
||||||
# 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: 20
|
|
||||||
y: 20
|
|
||||||
|
|
||||||
# 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, but 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: SimpleFullscreen
|
|
||||||
|
|
||||||
# Window title
|
|
||||||
#title: Alacritty
|
|
||||||
|
|
||||||
# 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: Fira Code
|
|
||||||
#family: Noto Sans Mono
|
|
||||||
# family: Fira Mono for Powerline
|
|
||||||
family: FiraMono Nerd Font
|
|
||||||
|
|
||||||
# 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: 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: 17.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: 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 and 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 and CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#vi_mode_cursor:
|
|
||||||
# text: CellBackground
|
|
||||||
# cursor: CellForeground
|
|
||||||
|
|
||||||
# Selection colors
|
|
||||||
#
|
|
||||||
# Colors which should be used to draw the selection area.
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground and CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#selection:
|
|
||||||
# text: CellBackground
|
|
||||||
# background: CellForeground
|
|
||||||
|
|
||||||
# Search colors
|
|
||||||
#
|
|
||||||
# Colors used for the search bar and match highlighting.
|
|
||||||
#
|
|
||||||
# Allowed values are CellForeground and CellBackground, which reference the
|
|
||||||
# affected cell, or hexadecimal colors like #ff00ff.
|
|
||||||
#search:
|
|
||||||
# matches:
|
|
||||||
# foreground: '#000000'
|
|
||||||
# background: '#ffffff'
|
|
||||||
#
|
|
||||||
# bar:
|
|
||||||
# background: CellForeground
|
|
||||||
# foreground: CellBackground
|
|
||||||
|
|
||||||
# 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. 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:
|
|
||||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
|
||||||
|
|
||||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
|
||||||
#save_to_clipboard: false
|
|
||||||
|
|
||||||
# Allow terminal applications to change Alacritty's window title.
|
|
||||||
#dynamic_title: true
|
|
||||||
|
|
||||||
#cursor:
|
|
||||||
# Cursor style
|
|
||||||
#
|
|
||||||
# Values for `style`:
|
|
||||||
# - ▇ Block
|
|
||||||
# - _ Underline
|
|
||||||
# - | Beam
|
|
||||||
#style: Block
|
|
||||||
|
|
||||||
# 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: Block
|
|
||||||
|
|
||||||
# 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: /usr/local/bin/fish
|
|
||||||
args:
|
|
||||||
- --login
|
|
||||||
- --init-command
|
|
||||||
- tmux a -t noah || tmux new -s noah
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
# WinPTY backend (Windows only)
|
|
||||||
#
|
|
||||||
# Alacritty defaults to using the newer ConPTY backend if it is available,
|
|
||||||
# since it resolves a lot of bugs and is quite a bit faster. If it is not
|
|
||||||
# available, the WinPTY backend will be used instead.
|
|
||||||
#
|
|
||||||
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
|
|
||||||
# even if the ConPTY backend is available.
|
|
||||||
#winpty_backend: false
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#url:
|
|
||||||
# URL launcher
|
|
||||||
#
|
|
||||||
# This program is executed when clicking on a text which is recognized as a URL.
|
|
||||||
# The URL is always added to the command as the last parameter.
|
|
||||||
#
|
|
||||||
# When set to `launcher: None`, URL launching will be disabled completely.
|
|
||||||
#
|
|
||||||
# Default:
|
|
||||||
# - (macOS) open
|
|
||||||
# - (Linux/BSD) xdg-open
|
|
||||||
# - (Windows) explorer
|
|
||||||
#launcher:
|
|
||||||
# program: xdg-open
|
|
||||||
# args: []
|
|
||||||
|
|
||||||
# URL modifiers
|
|
||||||
#
|
|
||||||
# These are the modifiers that need to be held down for opening URLs when clicking
|
|
||||||
# on them. The available modifiers are documented in the key binding section.
|
|
||||||
#modifiers: None
|
|
||||||
|
|
||||||
# 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
|
|
||||||
# - SearchBackward
|
|
||||||
# - Copy
|
|
||||||
# - Paste
|
|
||||||
# - PasteSelection
|
|
||||||
# - IncreaseFontSize
|
|
||||||
# - DecreaseFontSize
|
|
||||||
# - ResetFontSize
|
|
||||||
# - ScrollPageUp
|
|
||||||
# - ScrollPageDown
|
|
||||||
# - ScrollHalfPageUp
|
|
||||||
# - ScrollHalfPageDown
|
|
||||||
# - ScrollLineUp
|
|
||||||
# - ScrollLineDown
|
|
||||||
# - ScrollToTop
|
|
||||||
# - ScrollToBottom
|
|
||||||
# - ClearHistory
|
|
||||||
# - Hide
|
|
||||||
# - Minimize
|
|
||||||
# - Quit
|
|
||||||
# - ToggleFullscreen
|
|
||||||
# - SpawnNewInstance
|
|
||||||
# - ClearLogNotice
|
|
||||||
# - ClearSelection
|
|
||||||
# - ReceiveChar
|
|
||||||
# - None
|
|
||||||
#
|
|
||||||
# (`mode: Vi` only):
|
|
||||||
# - Open
|
|
||||||
# - Up
|
|
||||||
# - Down
|
|
||||||
# - Left
|
|
||||||
# - Right
|
|
||||||
# - First
|
|
||||||
# - Last
|
|
||||||
# - FirstOccupied
|
|
||||||
# - High
|
|
||||||
# - Middle
|
|
||||||
# - Low
|
|
||||||
# - SemanticLeft
|
|
||||||
# - SemanticRight
|
|
||||||
# - SemanticLeftEnd
|
|
||||||
# - SemanticRightEnd
|
|
||||||
# - WordRight
|
|
||||||
# - WordLeft
|
|
||||||
# - WordRightEnd
|
|
||||||
# - WordLeftEnd
|
|
||||||
# - Bracket
|
|
||||||
# - ToggleNormalSelection
|
|
||||||
# - ToggleLineSelection
|
|
||||||
# - ToggleBlockSelection
|
|
||||||
# - ToggleSemanticSelection
|
|
||||||
# - SearchNext
|
|
||||||
# - SearchPrevious
|
|
||||||
# - SearchStart
|
|
||||||
# - SearchEnd
|
|
||||||
#
|
|
||||||
# (macOS only):
|
|
||||||
# - ToggleSimpleFullscreen: Enters fullscreen without occupying another space
|
|
||||||
#
|
|
||||||
# (Linux/BSD only):
|
|
||||||
# - CopySelection: Copies into 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
|
|
||||||
# - Alt
|
|
||||||
#
|
|
||||||
# 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: F, mods: Super, action: ToggleSimpleFullscreen }
|
|
||||||
|
|
||||||
# Reference for escape codes: https://www.gaijin.at/en/infos/ascii-ansi-character-table
|
|
||||||
|
|
||||||
- { key: L, mods : Super, chars: "\x1F" } # CMD-L sends null key for fish
|
|
||||||
- { key: H, mods : Super|Shift, chars: "\x02p" } # CMD-SHIFT-H previous tmux window
|
|
||||||
- { key: L, mods : Super|Shift, chars: "\x02n" } # CMD-SHIFT-L next tmux window
|
|
||||||
|
|
||||||
- { key: Return, mods : Shift, chars: "\x1b[13;2u" }
|
|
||||||
- { key: Return, mods : Control, chars: "\x1b[13;5u" }
|
|
||||||
- { key: Return, mods : Control|Shift, chars: "\x1b[13;6u" }
|
|
||||||
|
|
||||||
- { key: N, mods: Command, action: SpawnNewInstance }
|
|
||||||
- { key: PageUp, action: ScrollPageUp }
|
|
||||||
- { key: PageUp, mode: Alt, chars: "\x1B[5~" }
|
|
||||||
- { key: PageUp, mods: Shift, chars: "\x1B[5~" }
|
|
||||||
- { key: PageDown, action: ScrollPageDown }
|
|
||||||
- { key: PageDown, mode: Alt, chars: "\x1B[6~" }
|
|
||||||
- { key: PageDown, mods: Shift, chars: "\x1B[6~" }
|
|
||||||
- { key: Home, action: ScrollToTop }
|
|
||||||
- { key: Home, mode: Alt, chars: "\x1BOH" }
|
|
||||||
- { key: Home, mods: Shift, chars: "\x1B[H" }
|
|
||||||
- { key: End, action: ScrollToBottom }
|
|
||||||
- { key: End, mode: Alt, chars: "\x1BOF" }
|
|
||||||
- { key: End, mods: Shift, chars: "\x1B[F" }
|
|
||||||
- { key: Tab, mods: Alt, chars: "\x1B\t" }
|
|
||||||
- { key: Tab, mods: Alt|Shift, chars: "\x1B\x1B[Z" }
|
|
||||||
- { key: Back, chars: "\x7F" }
|
|
||||||
- { key: Back, mods: Alt, chars: "\x1B\x7F" }
|
|
||||||
- { key: Back, mods: Alt|Shift, chars: "\x1B\x08" }
|
|
||||||
- { key: Space, mods: Control, chars: "\x00" }
|
|
||||||
- { key: Space, mods: Alt, chars: "\x20" }
|
|
||||||
- { key: Left, mods: Alt, chars: "\x1Bb" }
|
|
||||||
- { key: Left, mods: Alt|Shift, chars: "\x1B\x1B[D" }
|
|
||||||
- { key: Right, mods: Alt, chars: "\x1Bf" }
|
|
||||||
- { key: Right, mods: Alt|Shift, chars: "\x1B\x1B[C" }
|
|
||||||
- { key: Down, mods: Alt, chars: "\x1B\x1B[B" }
|
|
||||||
- { key: Down, mods: Alt|Shift, chars: "\x1B\x1B[B" }
|
|
||||||
- { key: Up, mods: Alt, chars: "\x1B\x1B[A" }
|
|
||||||
- { key: Up, mods: Alt|Shift, chars: "\x1B\x1B[A" }
|
|
||||||
- { key: A, mods: Alt, chars: "\x1Ba" }
|
|
||||||
- { key: A, mods: Alt|Shift, chars: "\x1BA" }
|
|
||||||
- { key: B, mods: Alt, chars: "\x1Bb" }
|
|
||||||
- { key: B, mods: Alt|Shift, chars: "\x1BB" }
|
|
||||||
- { key: C, mods: Alt, chars: "\x1Bc" }
|
|
||||||
- { key: C, mods: Alt|Shift, chars: "\x1BC" }
|
|
||||||
- { key: D, mods: Alt, chars: "\x1Bd" }
|
|
||||||
- { key: D, mods: Alt|Shift, chars: "\x1BD" }
|
|
||||||
- { key: E, mods: Alt, chars: "\x1Be" }
|
|
||||||
- { key: E, mods: Alt|Shift, chars: "\x1BE" }
|
|
||||||
- { key: F, mods: Alt, chars: "\x1Bf" }
|
|
||||||
- { key: F, mods: Alt|Shift, chars: "\x1BF" }
|
|
||||||
- { key: G, mods: Alt, chars: "\x1Bg" }
|
|
||||||
- { key: G, mods: Alt|Shift, chars: "\x1BG" }
|
|
||||||
- { key: H, mods: Alt, chars: "\x1Bh" }
|
|
||||||
- { key: H, mods: Alt|Shift, chars: "\x1BH" }
|
|
||||||
- { key: I, mods: Alt, chars: "\x1Bi" }
|
|
||||||
- { key: I, mods: Alt|Shift, chars: "\x1BI" }
|
|
||||||
- { key: J, mods: Alt, chars: "\x1Bj" }
|
|
||||||
- { key: J, mods: Alt|Shift, chars: "\x1BJ" }
|
|
||||||
- { key: K, mods: Alt, chars: "\x1Bk" }
|
|
||||||
- { key: K, mods: Alt|Shift, chars: "\x1BK" }
|
|
||||||
- { key: L, mods: Alt, chars: "\x1Bl" }
|
|
||||||
- { key: L, mods: Alt|Shift, chars: "\x1BL" }
|
|
||||||
- { key: M, mods: Alt, chars: "\x1Bm" }
|
|
||||||
- { key: M, mods: Alt|Shift, chars: "\x1BM" }
|
|
||||||
- { key: N, mods: Alt, chars: "\x1Bn" }
|
|
||||||
- { key: N, mods: Alt|Shift, chars: "\x1BN" }
|
|
||||||
- { key: O, mods: Alt, chars: "\x1Bo" }
|
|
||||||
- { key: O, mods: Alt|Shift, chars: "\x1BO" }
|
|
||||||
- { key: P, mods: Alt, chars: "\x1Bp" }
|
|
||||||
- { key: P, mods: Alt|Shift, chars: "\x1BP" }
|
|
||||||
- { key: Q, mods: Alt, chars: "\x1Bq" }
|
|
||||||
- { key: Q, mods: Alt|Shift, chars: "\x1BQ" }
|
|
||||||
- { key: R, mods: Alt, chars: "\x1Br" }
|
|
||||||
- { key: R, mods: Alt|Shift, chars: "\x1BR" }
|
|
||||||
- { key: S, mods: Alt, chars: "\x1Bs" }
|
|
||||||
- { key: S, mods: Alt|Shift, chars: "\x1BS" }
|
|
||||||
- { key: T, mods: Alt, chars: "\x1Bt" }
|
|
||||||
- { key: T, mods: Alt|Shift, chars: "\x1BT" }
|
|
||||||
- { key: U, mods: Alt, chars: "\x1Bu" }
|
|
||||||
- { key: U, mods: Alt|Shift, chars: "\x1BU" }
|
|
||||||
- { key: V, mods: Alt, chars: "\x1Bv" }
|
|
||||||
- { key: V, mods: Alt|Shift, chars: "\x1BV" }
|
|
||||||
- { key: W, mods: Alt, chars: "\x1Bw" }
|
|
||||||
- { key: W, mods: Alt|Shift, chars: "\x1BW" }
|
|
||||||
- { key: X, mods: Alt, chars: "\x1Bx" }
|
|
||||||
- { key: X, mods: Alt|Shift, chars: "\x1BX" }
|
|
||||||
- { key: Y, mods: Alt, chars: "\x1By" }
|
|
||||||
- { key: Y, mods: Alt|Shift, chars: "\x1BY" }
|
|
||||||
- { key: Z, mods: Alt, chars: "\x1Bz" }
|
|
||||||
- { key: Z, mods: Alt|Shift, chars: "\x1BZ" }
|
|
||||||
- { key: Key1, mods: Alt, chars: "\x1B1" }
|
|
||||||
- { key: Key1, mods: Alt|Shift, chars: "\x1B!" }
|
|
||||||
- { key: Key2, mods: Alt, chars: "\x1B2" }
|
|
||||||
- { key: Key2, mods: Alt|Shift, chars: "\x1B#" }
|
|
||||||
- { key: Key3, mods: Alt, chars: "\x1B3" }
|
|
||||||
- { key: Key3, mods: Alt|Shift, chars: "\x1B#" }
|
|
||||||
- { key: Key4, mods: Alt, chars: "\x1B4" }
|
|
||||||
- { key: Key4, mods: Alt|Shift, chars: "\x1B$" }
|
|
||||||
- { key: Key5, mods: Alt, chars: "\x1B5" }
|
|
||||||
- { key: Key5, mods: Alt|Shift, chars: "\x1B%" }
|
|
||||||
- { key: Key6, mods: Alt, chars: "\x1B6" }
|
|
||||||
- { key: Key6, mods: Alt|Shift, chars: "\x1B^" }
|
|
||||||
- { key: Key7, mods: Alt, chars: "\x1B7" }
|
|
||||||
- { key: Key7, mods: Alt|Shift, chars: "\x1B&" }
|
|
||||||
- { key: Key8, mods: Alt, chars: "\x1B8" }
|
|
||||||
- { key: Key8, mods: Alt|Shift, chars: "\x1B*" }
|
|
||||||
- { key: Key9, mods: Alt, chars: "\x1B9" }
|
|
||||||
- { key: Key9, mods: Alt|Shift, chars: "\x1B(" }
|
|
||||||
- { key: Key0, mods: Alt, chars: "\x1B0" }
|
|
||||||
- { key: Key0, mods: Alt|Shift, chars: "\x1B)" }
|
|
||||||
- { key: Minus, mods: Alt, chars: "\x1B-" }
|
|
||||||
- { key: Minus, mods: Alt|Shift, chars: "\x1B_" }
|
|
||||||
- { key: Equals, mods: Alt, chars: "\x1B=" }
|
|
||||||
- { key: Equals, mods: Alt|Shift, chars: "\x1B+" }
|
|
||||||
- { key: LBracket, mods: Alt, chars: "\x1B[" }
|
|
||||||
- { key: LBracket, mods: Alt|Shift, chars: "\x1B{" }
|
|
||||||
- { key: RBracket, mods: Alt, chars: "\x1B]" }
|
|
||||||
- { key: RBracket, mods: Alt|Shift, chars: "\x1B}" }
|
|
||||||
- { key: Backslash, mods: Alt, chars: "\x1B\\" }
|
|
||||||
- { key: Backslash, mods: Alt|Shift, chars: "\x1B|" }
|
|
||||||
- { key: Semicolon, mods: Alt, chars: "\x1B;" }
|
|
||||||
- { key: Semicolon, mods: Alt|Shift, chars: "\x1B:" }
|
|
||||||
- { key: Apostrophe, mods: Alt, chars: "\x1B'" }
|
|
||||||
- { key: Apostrophe, mods: Alt|Shift, chars: "\x1B\"" }
|
|
||||||
- { key: Comma, mods: Alt, chars: "\x1B," }
|
|
||||||
- { key: Comma, mods: Alt|Shift, chars: "\x1B<" }
|
|
||||||
- { key: Period, mods: Alt, chars: "\x1B." }
|
|
||||||
- { key: Period, mods: Alt|Shift, chars: "\x1B>" }
|
|
||||||
- { key: Slash, mods: Alt, chars: "\x1B/" }
|
|
||||||
- { key: Slash, mods: Alt|Shift, chars: "\x1B?" }
|
|
||||||
- { key: Grave, mods: Alt, chars: "\x1B`" }
|
|
||||||
- { key: Grave, mods: Alt|Shift, chars: "\x1B~" }
|
|
||||||
# - { key: E, mods: Alt, chars: "\x1be" } # Send ALT-E for fish
|
|
||||||
|
|
||||||
#- { key: Paste, action: Paste }
|
|
||||||
#- { key: Copy, action: Copy }
|
|
||||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
|
||||||
#- { key: L, mods: Control, mode: ~Vi, 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: Vi, action: ScrollToBottom }
|
|
||||||
#- { key: Space, mods: Shift|Control, action: ToggleViMode }
|
|
||||||
#- { key: Escape, mode: Vi, action: ClearSelection }
|
|
||||||
#- { key: I, mode: Vi, action: ScrollToBottom }
|
|
||||||
#- { key: I, mode: Vi, action: ToggleViMode }
|
|
||||||
#- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp }
|
|
||||||
#- { key: E, mods: Control, mode: Vi, action: ScrollLineDown }
|
|
||||||
#- { key: G, mode: Vi, action: ScrollToTop }
|
|
||||||
#- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom }
|
|
||||||
#- { key: B, mods: Control, mode: Vi, action: ScrollPageUp }
|
|
||||||
#- { key: F, mods: Control, mode: Vi, action: ScrollPageDown }
|
|
||||||
#- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp }
|
|
||||||
#- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown }
|
|
||||||
#- { key: Y, mode: Vi, action: Copy }
|
|
||||||
#- { key: Y, mode: Vi, action: ClearSelection }
|
|
||||||
#- { key: Copy, mode: Vi, action: ClearSelection }
|
|
||||||
#- { key: V, mode: Vi, action: ToggleNormalSelection }
|
|
||||||
#- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection }
|
|
||||||
#- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection }
|
|
||||||
#- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection }
|
|
||||||
#- { key: Return, mode: Vi, action: Open }
|
|
||||||
#- { key: K, mode: Vi, action: Up }
|
|
||||||
#- { key: J, mode: Vi, action: Down }
|
|
||||||
#- { key: H, mode: Vi, action: Left }
|
|
||||||
#- { key: L, mode: Vi, action: Right }
|
|
||||||
#- { key: Up, mode: Vi, action: Up }
|
|
||||||
#- { key: Down, mode: Vi, action: Down }
|
|
||||||
#- { key: Left, mode: Vi, action: Left }
|
|
||||||
#- { key: Right, mode: Vi, action: Right }
|
|
||||||
#- { key: Key0, mode: Vi, action: First }
|
|
||||||
#- { key: Key4, mods: Shift, mode: Vi, action: Last }
|
|
||||||
#- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied }
|
|
||||||
#- { key: H, mods: Shift, mode: Vi, action: High }
|
|
||||||
#- { key: M, mods: Shift, mode: Vi, action: Middle }
|
|
||||||
#- { key: L, mods: Shift, mode: Vi, action: Low }
|
|
||||||
#- { key: B, mode: Vi, action: SemanticLeft }
|
|
||||||
#- { key: W, mode: Vi, action: SemanticRight }
|
|
||||||
#- { key: E, mode: Vi, action: SemanticRightEnd }
|
|
||||||
#- { key: B, mods: Shift, mode: Vi, action: WordLeft }
|
|
||||||
#- { key: W, mods: Shift, mode: Vi, action: WordRight }
|
|
||||||
#- { key: E, mods: Shift, mode: Vi, action: WordRightEnd }
|
|
||||||
#- { key: Key5, mods: Shift, mode: Vi, action: Bracket }
|
|
||||||
#- { key: Slash, mode: Vi, action: SearchForward }
|
|
||||||
#- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward }
|
|
||||||
#- { key: N, mode: Vi, action: SearchNext }
|
|
||||||
#- { key: N, mods: Shift, mode: Vi, action: SearchPrevious }
|
|
||||||
|
|
||||||
# (Windows, Linux, and BSD only)
|
|
||||||
#- { key: V, mods: Control|Shift, action: Paste }
|
|
||||||
#- { key: C, mods: Control|Shift, action: Copy }
|
|
||||||
#- { key: F, mods: Control|Shift, action: SearchForward }
|
|
||||||
#- { key: B, mods: Control|Shift, action: SearchBackward }
|
|
||||||
#- { key: C, mods: Control|Shift, mode: Vi, action: ClearSelection }
|
|
||||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
|
||||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
|
||||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
|
||||||
#- { key: Add, mods: Control, action: IncreaseFontSize }
|
|
||||||
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
|
||||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
|
||||||
|
|
||||||
# (Windows only)
|
|
||||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
|
||||||
|
|
||||||
# (macOS only)
|
|
||||||
#- { key: K, mods: Command, mode: ~Vi, chars: "\x0c" }
|
|
||||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
|
||||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
|
||||||
#- { key: Add, mods: Command, action: IncreaseFontSize }
|
|
||||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
|
||||||
#- { key: K, mods: Command, action: ClearHistory }
|
|
||||||
#- { key: V, mods: Command, action: Paste }
|
|
||||||
#- { key: C, mods: Command, action: Copy }
|
|
||||||
#- { key: C, mods: Command, mode: Vi, action: ClearSelection }
|
|
||||||
#- { key: H, mods: Command, action: Hide }
|
|
||||||
#- { 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, action: SearchForward }
|
|
||||||
#- { key: B, mods: Command, 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`:
|
|
||||||
# - None
|
|
||||||
# - Error
|
|
||||||
# - Warn
|
|
||||||
# - Info
|
|
||||||
# - Debug
|
|
||||||
# - Trace
|
|
||||||
#log_level: Warn
|
|
||||||
|
|
||||||
# Print all received window events.
|
|
||||||
#print_events: false
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
URL=$1
|
|
||||||
TITLE=$2
|
|
||||||
DESCRIPTION=$3
|
|
||||||
FEED=$4
|
|
||||||
|
|
||||||
printf "\n\n## [%s](%s)\n%s\nFrom %s: added on [%s](%s.md).\n\n---\n" \
|
|
||||||
"$TITLE" \
|
|
||||||
"$URL" \
|
|
||||||
"$DESCRIPTION" \
|
|
||||||
"$FEED" \
|
|
||||||
"$TODAY_NOTE" \
|
|
||||||
"$TODAY_NOTE" \
|
|
||||||
>>"$NOTES_PATH/bookmarks.md"
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/usr/bin/env ruby
|
|
||||||
#
|
|
||||||
# Run a quick calculation with Ruby
|
|
||||||
#
|
|
||||||
# Usage: calc "1/2"
|
|
||||||
|
|
||||||
class Integer
|
|
||||||
def /(other)
|
|
||||||
fdiv(other)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
puts eval(ARGV.join(""))
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
doas -u localtimed localtimed
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
nixos-rebuild switch -I nixos-config="/home/noah/dev/personal/dotfiles/nixos/configuration.nix"
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
home-manager switch -f "/home/noah/dev/personal/dotfiles/nixos/home.nix"
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
nuke() {
|
|
||||||
local pid
|
|
||||||
pid=$(ps -ef | grep -v ^root | sed 1d | fzf -m | awk '{print $2}')
|
|
||||||
|
|
||||||
if [ "x$pid" != "x" ]
|
|
||||||
then
|
|
||||||
echo $pid | xargs kill -${1:-9}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
nuke
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
security find-generic-password -s 1Password -w | op signin enterprise_console --output=raw > $HOME/.op_tmux_token_tmp
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
# Lists the current directory's files in Vim, so you can edit it and save to rename them
|
|
||||||
# USAGE: vimv [file1 file2]
|
|
||||||
# https://github.com/thameera/vimv
|
|
||||||
|
|
||||||
declare -r FILENAMES_FILE=$(mktemp "${TMPDIR:-/tmp}/vimv.XXX")
|
|
||||||
|
|
||||||
trap '{ rm -f "${FILENAMES_FILE}" ; }' EXIT
|
|
||||||
|
|
||||||
if [ $# -ne 0 ]; then
|
|
||||||
src=( "$@" )
|
|
||||||
else
|
|
||||||
IFS=$'\r\n' GLOBIGNORE='*' command eval 'src=($(ls))'
|
|
||||||
fi
|
|
||||||
|
|
||||||
for ((i=0;i<${#src[@]};++i)); do
|
|
||||||
echo "${src[i]}" >> "${FILENAMES_FILE}"
|
|
||||||
done
|
|
||||||
|
|
||||||
${EDITOR:-vi} "${FILENAMES_FILE}"
|
|
||||||
|
|
||||||
IFS=$'\r\n' GLOBIGNORE='*' command eval 'dest=($(cat "${FILENAMES_FILE}"))'
|
|
||||||
|
|
||||||
if (( ${#src[@]} != ${#dest[@]} )); then
|
|
||||||
echo "WARN: Number of files changed. Did you delete a line by accident? Aborting.." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
declare -i count=0
|
|
||||||
for ((i=0;i<${#src[@]};++i)); do
|
|
||||||
if [ "${src[i]}" != "${dest[i]}" ]; then
|
|
||||||
mkdir -p "$(dirname "${dest[i]}")"
|
|
||||||
if git ls-files --error-unmatch "${src[i]}" > /dev/null 2>&1; then
|
|
||||||
git mv "${src[i]}" "${dest[i]}"
|
|
||||||
else
|
|
||||||
mv "${src[i]}" "${dest[i]}"
|
|
||||||
fi
|
|
||||||
((++count))
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "$count" files renamed.
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
# Packages to install with Cargo
|
|
||||||
|
|
||||||
toml-cli # Parse TOML from the command line
|
|
||||||
rates # See exchange rates
|
|
||||||
wrangler # Cloudflare Workers CLI
|
|
||||||
csview # Quick display CSV as tables
|
|
||||||
Executable
+93
@@ -0,0 +1,93 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# List brews
|
||||||
|
brew list --formula
|
||||||
|
|
||||||
|
# List dependencies
|
||||||
|
brew list -1 | while read -r cask; do
|
||||||
|
echo -ne "\x1B[1;34m $cask \x1B[0m"
|
||||||
|
brew uses "$cask" --installed | awk '{printf(" %s ", $0)}'
|
||||||
|
echo ""
|
||||||
|
done
|
||||||
|
|
||||||
|
# Uninstall brews
|
||||||
|
brew remove --force "$(brew list --formula)"
|
||||||
|
brew remove --force sd
|
||||||
|
brew remove --force zoxide
|
||||||
|
brew remove --force bat
|
||||||
|
brew remove --force fzf
|
||||||
|
brew remove --force tealdeer
|
||||||
|
brew remove --force glow
|
||||||
|
brew remove --force dos2unix
|
||||||
|
brew remove --force tree
|
||||||
|
brew remove --force wget
|
||||||
|
brew remove --force telnet
|
||||||
|
brew remove --force prettyping
|
||||||
|
brew remove --force httpie
|
||||||
|
brew remove --force gpg
|
||||||
|
brew remove --force qrencode
|
||||||
|
brew remove --force mpv
|
||||||
|
brew remove --force youtube-dl
|
||||||
|
brew remove --force pandoc
|
||||||
|
brew remove --force saulpw/vd/visidata
|
||||||
|
brew remove --force mdp
|
||||||
|
brew remove --force ansible
|
||||||
|
brew remove --force terraform
|
||||||
|
brew remove --force packer
|
||||||
|
brew remove --force awscli
|
||||||
|
brew remove --force kubectl
|
||||||
|
brew remove --force k9s
|
||||||
|
brew remove --force nmasur/repo/drips
|
||||||
|
brew remove --force hashicorp/tap/terraform-ls
|
||||||
|
brew remove --force tflint
|
||||||
|
brew remove --force noti
|
||||||
|
brew remove --force awslogs
|
||||||
|
brew remove --force shellcheck
|
||||||
|
brew remove --force shfmt
|
||||||
|
brew remove --force stylua
|
||||||
|
brew remove --force python
|
||||||
|
brew remove --force ipython
|
||||||
|
brew remove --force poetry
|
||||||
|
brew remove --force ruby
|
||||||
|
brew remove --force node
|
||||||
|
brew remove --force jq
|
||||||
|
brew remove --force gh
|
||||||
|
brew remove --force direnv
|
||||||
|
brew remove --force git
|
||||||
|
brew remove --force ripgrep
|
||||||
|
brew remove --force fd
|
||||||
|
brew remove --force neovim
|
||||||
|
brew remove --force exa
|
||||||
|
brew remove --force starship
|
||||||
|
brew remove --force tmux
|
||||||
|
brew remove --force fish
|
||||||
|
# brew remove --force trash
|
||||||
|
|
||||||
|
# Uninstall casks
|
||||||
|
brew remove --force keybase
|
||||||
|
brew remove --force discord
|
||||||
|
brew remove --force obsidian
|
||||||
|
brew remove --force dropbox
|
||||||
|
brew remove --force 1password
|
||||||
|
brew remove --force firefox
|
||||||
|
brew remove --force font-fira-mono-nerd-font
|
||||||
|
brew remove --force alacritty
|
||||||
|
# brew remove --force scroll-reverser
|
||||||
|
# brew remove --force meetingbar
|
||||||
|
# brew remove --force gitify
|
||||||
|
# brew remove --force hammerspoon
|
||||||
|
# brew remove --force logitech-g-hub
|
||||||
|
|
||||||
|
# Uninstall homebrew
|
||||||
|
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
|
||||||
|
|
||||||
|
# Install Nix
|
||||||
|
sh -c "$(curl -L https://nixos.org/nix/install)"
|
||||||
|
|
||||||
|
# Install nix-darwin
|
||||||
|
nix-build https://github.com/LnL7/nix-darwin/archive/master.tar.gz -A installer
|
||||||
|
./result/bin/darwin-installer
|
||||||
|
|
||||||
|
# Use with flake (requires installing first)
|
||||||
|
darwin-rebuild switch --flake .
|
||||||
|
darwin-rebuild switch --flake .#macbook # not sure if required
|
||||||
@@ -1 +0,0 @@
|
|||||||
+noall +answer
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
layout_poetry() {
|
|
||||||
if [[ ! -f pyproject.toml ]]; then
|
|
||||||
log_error 'No pyproject.toml found. Use `poetry new` or `poetry init` to create one first.'
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
# create venv if it doesn't exist
|
|
||||||
poetry run true
|
|
||||||
|
|
||||||
export VIRTUAL_ENV=$(poetry env info --path)
|
|
||||||
export POETRY_ACTIVE=1
|
|
||||||
PATH_add "$VIRTUAL_ENV/bin"
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
!.env*
|
|
||||||
!.github/
|
|
||||||
!.gitignore
|
|
||||||
!*.tfvars
|
|
||||||
.terraform/
|
|
||||||
.target/
|
|
||||||
/Library/
|
|
||||||
target
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
|
|
||||||
function __complete_nomad
|
|
||||||
set -lx COMP_LINE (commandline -cp)
|
|
||||||
test -z (commandline -ct)
|
|
||||||
and set COMP_LINE "$COMP_LINE "
|
|
||||||
/usr/local/bin/nomad
|
|
||||||
end
|
|
||||||
complete -f -c nomad -a "(__complete_nomad)"
|
|
||||||
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
if status --is-interactive
|
|
||||||
|
|
||||||
# Add directories to path
|
|
||||||
set PATH $PATH \
|
|
||||||
/usr/local/bin \
|
|
||||||
~/.local/bin \
|
|
||||||
$DOTS/bin \
|
|
||||||
~/.cargo/bin
|
|
||||||
|
|
||||||
# Use `vi` in the shell with cursor shapes
|
|
||||||
fish_vi_key_bindings
|
|
||||||
bind yy fish_clipboard_copy
|
|
||||||
bind Y fish_clipboard_copy
|
|
||||||
bind -M visual y fish_clipboard_copy
|
|
||||||
bind p fish_clipboard_paste
|
|
||||||
set -g fish_vi_force_cursor
|
|
||||||
set -g fish_cursor_default block
|
|
||||||
set -g fish_cursor_insert line
|
|
||||||
set -g fish_cursor_visual block
|
|
||||||
set -g fish_cursor_replace_one underscore
|
|
||||||
fish_vi_cursor
|
|
||||||
|
|
||||||
# Autojump
|
|
||||||
zoxide init fish | source
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
if test -e $DOTS/fish.configlink/fish_colors
|
|
||||||
command cat $DOTS/fish.configlink/fish_colors
|
|
||||||
end
|
|
||||||
|
|
||||||
# Fuzzy finder
|
|
||||||
fzf_key_bindings
|
|
||||||
set -gx FZF_DEFAULT_COMMAND 'fd --type file'
|
|
||||||
set -g FZF_CTRL_T_COMMAND "$FZF_DEFAULT_COMMAND"
|
|
||||||
set -g FZF_DEFAULT_OPTS '-m --height 50% --border'
|
|
||||||
|
|
||||||
# Use `starship` prompt
|
|
||||||
starship init fish | source
|
|
||||||
|
|
||||||
# Hook into direnv
|
|
||||||
direnv hook fish | source
|
|
||||||
end
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
]4;1;rgb:cc/24/1d]4;2;rgb:98/97/1a]4;3;rgb:d7/99/21]4;4;rgb:45/85/88]4;5;rgb:b1/62/86]4;6;rgb:68/9d/6a]11;rgb:28/28/28]10;rgb:eb/db/b2]4;0;rgb:28/28/28]4;7;rgb:a8/99/84]4;8;rgb:92/83/74]4;9;rgb:fb/59/34]4;10;rgb:b8/bb/26]4;11;rgb:fa/bd/2f]4;12;rgb:83/a5/98]4;13;rgb:d3/86/9b]4;14;rgb:8e/c0/7c]4;15;rgb:eb/db/b2]4;236;rgb:32/30/2f]4;234;rgb:1d/20/21]4;235;rgb:28/28/28]4;237;rgb:3c/38/36]4;239;rgb:50/49/45]4;241;rgb:66/5c/54]4;243;rgb:7c/6f/64]4;244;rgb:92/83/74]4;245;rgb:92/83/74]4;228;rgb:f2/e5/bc]4;230;rgb:f9/f5/d7]4;229;rgb:fb/f1/c7]4;223;rgb:eb/db/b2]4;250;rgb:d5/c4/a1]4;248;rgb:bd/ae/93]4;246;rgb:a8/99/84]4;167;rgb:fb/49/34]4;142;rgb:b8/bb/26]4;214;rgb:fa/bd/2f]4;109;rgb:83/a5/98]4;175;rgb:d3/86/9b]4;108;rgb:8e/c0/7c]4;208;rgb:fe/80/19]4;88;rgb:9d/00/06]4;100;rgb:79/74/0e]4;136;rgb:b5/76/14]4;24;rgb:07/66/78]4;96;rgb:8f/3f/71]4;66;rgb:42/7b/58]4;130;rgb:af/3a/03
|
|
||||||
@@ -1,152 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function abbrs --description 'All abbreviations'
|
|
||||||
|
|
||||||
# Directory aliases
|
|
||||||
abbr -a l ls
|
|
||||||
abbr -a lh 'ls -lh'
|
|
||||||
abbr -a ll 'ls -alhF'
|
|
||||||
abbr -a lf 'ls -lh | fzf'
|
|
||||||
abbr -a c cd
|
|
||||||
abbr -a -- - 'cd -'
|
|
||||||
abbr -a proj 'cd $PROJ'
|
|
||||||
abbr -a mkd 'mkdir -pv'
|
|
||||||
|
|
||||||
# Tmux
|
|
||||||
abbr -a ta 'tmux attach-session'
|
|
||||||
abbr -a tan 'tmux attach-session -t noah'
|
|
||||||
abbr -a tnn 'tmux new-session -s noah'
|
|
||||||
|
|
||||||
# Git
|
|
||||||
abbr -a g git
|
|
||||||
abbr -a gs 'git status'
|
|
||||||
abbr -a gd 'git diff'
|
|
||||||
abbr -a gds 'git diff --staged'
|
|
||||||
abbr -a gdp 'git diff HEAD^'
|
|
||||||
abbr -a ga 'git add'
|
|
||||||
abbr -a gaa 'git add -A'
|
|
||||||
abbr -a gac 'git commit -am'
|
|
||||||
abbr -a gc 'git commit -m'
|
|
||||||
abbr -a gca 'git commit --amend --no-edit'
|
|
||||||
abbr -a gcae 'git commit --amend'
|
|
||||||
abbr -a gu 'git pull'
|
|
||||||
abbr -a gp 'git push'
|
|
||||||
abbr -a gpp git-push-upstream
|
|
||||||
abbr -a gl 'git log --graph --decorate --oneline -20'
|
|
||||||
abbr -a gll 'git log --graph --decorate --oneline'
|
|
||||||
abbr -a gco 'git checkout'
|
|
||||||
abbr -a gcom 'git checkout (git symbolic-ref refs/remotes/origin/HEAD | cut -d"/" -f4)'
|
|
||||||
abbr -a gcob 'git checkout -b'
|
|
||||||
abbr -a gb 'git branch'
|
|
||||||
abbr -a gbd 'git branch -d'
|
|
||||||
abbr -a gbD 'git branch -D'
|
|
||||||
abbr -a gr 'git reset'
|
|
||||||
abbr -a grh 'git reset --hard'
|
|
||||||
abbr -a gm 'git merge'
|
|
||||||
abbr -a gcp 'git cherry-pick'
|
|
||||||
abbr -a cdg 'cd (git rev-parse --show-toplevel)'
|
|
||||||
|
|
||||||
# GitHub
|
|
||||||
abbr -a ghr 'gh repo view -w'
|
|
||||||
abbr -a gha 'gh run list | head -1 | awk \'{ print $(NF-2) }\' | xargs gh run view'
|
|
||||||
abbr -a grw 'noti gh run watch'
|
|
||||||
abbr -a grf 'gh run view --log-failed'
|
|
||||||
abbr -a grl 'gh run view --log'
|
|
||||||
abbr -a ghpr 'gh pr create && sleep 3 && noti gh run watch'
|
|
||||||
abbr -a ghm 'gh pr merge -s -d && git pull'
|
|
||||||
|
|
||||||
# Vim
|
|
||||||
if command -v nvim >/dev/null
|
|
||||||
alias --save vim='nvim'
|
|
||||||
abbr -a vimrc 'vim $HOME/.config/nvim/init.lua'
|
|
||||||
else
|
|
||||||
alias --save vim='vim'
|
|
||||||
abbr -a vimrc 'vim $HOME/.vimrc'
|
|
||||||
end
|
|
||||||
abbr -a v vim
|
|
||||||
abbr -a vl 'vim -c "normal! `0"'
|
|
||||||
abbr -a vll 'vim -c "Telescope oldfiles"'
|
|
||||||
abbr -a vh 'vim -c "Telescope oldfiles"'
|
|
||||||
|
|
||||||
# Notes
|
|
||||||
abbr -a qn quicknote
|
|
||||||
abbr -a sn syncnotes
|
|
||||||
abbr -a to today
|
|
||||||
abbr -a work 'vim $NOTES_PATH/work.md'
|
|
||||||
|
|
||||||
# RSS
|
|
||||||
abbr -a nb newsboat
|
|
||||||
|
|
||||||
# Improved CLI Tools
|
|
||||||
abbr -a cat bat # Swap cat with bat
|
|
||||||
abbr -a h 'http -Fh --all' # Curl site for headers
|
|
||||||
abbr -a j just
|
|
||||||
abbr -a scim sc-im
|
|
||||||
|
|
||||||
# Fun CLI Tools
|
|
||||||
abbr weather 'curl wttr.in/$WEATHER_CITY'
|
|
||||||
abbr moon 'curl wttr.in/Moon'
|
|
||||||
|
|
||||||
# Dotfile and config shortcuts
|
|
||||||
abbr -a s sudo
|
|
||||||
abbr -a boot '$DOTS/scripts/bootstrap'
|
|
||||||
abbr -a sshc 'vim ~/.ssh/config'
|
|
||||||
abbr -a hosts 'sudo nvim /etc/hosts'
|
|
||||||
abbr -a frc 'vim $HOME/.config/fish/config.fish'
|
|
||||||
abbr -a falias 'vim $HOME/.config/fish/functions/abbrs.fish'
|
|
||||||
|
|
||||||
# Cheat Sheets
|
|
||||||
abbr -a ssl 'openssl req -new -newkey rsa:2048 -nodes' \
|
|
||||||
'-keyout server.key -out server.csr'
|
|
||||||
abbr -a fingerprint 'ssh-keyscan myhost.com | ssh-keygen -lf -'
|
|
||||||
abbr -a publickey 'ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub'
|
|
||||||
abbr -a forloop 'for i in (seq 1 100)'
|
|
||||||
abbr -a gatekeeper 'sudo spctl --master-disable'
|
|
||||||
abbr -a flushdns 'sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder'
|
|
||||||
|
|
||||||
# Docker
|
|
||||||
abbr -a dc '$DOTS/bin/docker_cleanup'
|
|
||||||
abbr -a dr 'docker run --rm -it'
|
|
||||||
abbr -a db 'docker build . -t'
|
|
||||||
abbr -a ds 'docker ps -a'
|
|
||||||
abbr -a de 'docker exec -it'
|
|
||||||
abbr -a dpy 'docker run --rm -it -v $PWD:/project python:alpine python'
|
|
||||||
abbr -a alp 'docker run --rm -it -v $PWD:/project alpine sh'
|
|
||||||
|
|
||||||
# Terraform
|
|
||||||
abbr -a te terraform
|
|
||||||
abbr -a tap 'terraform apply'
|
|
||||||
|
|
||||||
# Kubernetes
|
|
||||||
abbr -a k kubectl
|
|
||||||
abbr -a pods 'kubectl get pods -A'
|
|
||||||
abbr -a nodes 'kubectl get nodes'
|
|
||||||
abbr -a deploys 'kubectl get deployments -A'
|
|
||||||
abbr -a dash kube-dashboard
|
|
||||||
abbr -a ks k9s
|
|
||||||
|
|
||||||
# Cloud
|
|
||||||
abbr -a awsc 'vim ~/.aws/credentials'
|
|
||||||
|
|
||||||
# Python
|
|
||||||
abbr -a py python
|
|
||||||
abbr -a po poetry
|
|
||||||
abbr -a pr 'poetry run python'
|
|
||||||
abbr -a pl 'poetry run pylint *'
|
|
||||||
abbr -a black 'poetry run black --target-version py38 .'
|
|
||||||
abbr -a bl 'poetry run black --target-version py38 .'
|
|
||||||
|
|
||||||
# Rust
|
|
||||||
abbr -a ca cargo
|
|
||||||
|
|
||||||
# macOS
|
|
||||||
abbr -a casks 'vim $DOTS/homebrew/Caskfile'
|
|
||||||
abbr -a t trash
|
|
||||||
|
|
||||||
# Linux
|
|
||||||
if [ (uname) = Linux ]
|
|
||||||
linux
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
function brews --description "Open Homebrew bundles file"
|
|
||||||
set -lx brewdir $DOTS/homebrew
|
|
||||||
set -l brewfile (basename $brewdir/*.Brewfile \
|
|
||||||
| fzf \
|
|
||||||
--height 70% \
|
|
||||||
--preview-window right:70% \
|
|
||||||
--preview 'bat --color=always $brewdir/{}' \
|
|
||||||
)
|
|
||||||
and vim $brewdir/$brewfile
|
|
||||||
end
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
function brewsearch --description "Install brew plugins"
|
|
||||||
set -l inst (brew formulae | eval "fzf $FZF_DEFAULT_OPTS -m --header='[press ctrl-i for info, enter to install]' --bind 'ctrl-i:preview(brew info {})'")
|
|
||||||
|
|
||||||
if not test (count $inst) = 0
|
|
||||||
for prog in $inst
|
|
||||||
brew install "$prog"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function commandline-git-commits
|
|
||||||
set commit (git-commits)
|
|
||||||
if [ $commit ]
|
|
||||||
commandline -i "$commit"
|
|
||||||
else
|
|
||||||
commandline -i "HEAD"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function copy --description 'Copy file contents into clipboard'
|
|
||||||
cat $argv | pbcopy
|
|
||||||
end
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
function edit --description "Open a file in Vim"
|
|
||||||
set vimfile (fzf)
|
|
||||||
and set vimfile (echo $vimfile | tr -d '\r')
|
|
||||||
and commandline -r "vim $vimfile"
|
|
||||||
and commandline -f execute
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function envs --description 'Set from a bash environment variables file'
|
|
||||||
set -gx (cat $argv | tr "=" " " | string split ' ')
|
|
||||||
end
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
function fcd --description 'Jump to directory' -a 'directory'
|
|
||||||
if test -z $directory
|
|
||||||
set directory "$HOME"
|
|
||||||
end
|
|
||||||
if ! test -d $directory
|
|
||||||
echo "Directory not found: $directory"
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
set jump (fd -t d . $directory | fzf)
|
|
||||||
and cd $jump $argv;
|
|
||||||
and commandline -f execute;
|
|
||||||
end
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function fish_user_key_bindings
|
|
||||||
bind -M insert \co 'edit'
|
|
||||||
bind -M default \co 'edit'
|
|
||||||
bind -M insert \ca 'cd ~; and edit; and commandline -a "; cd -"; commandline -f execute'
|
|
||||||
bind -M default \ca 'cd ~; and edit; and commandline -a "; cd -"; commandline -f execute'
|
|
||||||
bind -M insert \ce 'recent'
|
|
||||||
bind -M default \ce 'recent'
|
|
||||||
bind -M insert \cg 'commandline-git-commits'
|
|
||||||
bind -M insert \cf 'fcd'
|
|
||||||
bind -M default \cf 'fcd'
|
|
||||||
bind -M insert \cp 'prj'
|
|
||||||
bind -M default \cp 'prj'
|
|
||||||
bind -M insert \x1F accept-autosuggestion
|
|
||||||
bind -M default \x1F accept-autosuggestion
|
|
||||||
end
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/usr/local/opt/fzf/shell/key-bindings.fish
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
# This function creates an output file of just the printf values for
|
|
||||||
# modifying the shell colors. This output file is used to load the
|
|
||||||
# current colors into my shell much faster than running the function on
|
|
||||||
# prompt.
|
|
||||||
|
|
||||||
function generate_fish_colors --description "Create fish colors file"
|
|
||||||
theme_gruvbox dark > $DOTS/fish.configlink/fish_colors
|
|
||||||
end
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
function git-add-fuzzy
|
|
||||||
set gitfile (git status -s \
|
|
||||||
| fzf \
|
|
||||||
--height 50% \
|
|
||||||
-m \
|
|
||||||
--preview-window right:70% \
|
|
||||||
--layout reverse \
|
|
||||||
--preview 'set -l IFS; set gd (git diff --color=always (echo {} | awk \'{$1=$1};1\' | cut -d" " -f2)); if test "$gd"; echo "$gd"; else; bat --color=always (echo {} | awk \'{$1=$1};1\' | cut -d" " -f2); end')
|
|
||||||
and for gf in $gitfile
|
|
||||||
set gf (echo $gf \
|
|
||||||
| awk '{$1=$1};1' \
|
|
||||||
| cut -d' ' -f2 \
|
|
||||||
)
|
|
||||||
and git add $gf
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function git-checkout-fuzzy
|
|
||||||
set branch (git-fuzzy-branch "checkout branch...")
|
|
||||||
and git checkout $branch
|
|
||||||
end
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
function git-commits
|
|
||||||
set commitline (git log \
|
|
||||||
--pretty="format:%C(auto)%ar %h%d %s" \
|
|
||||||
| fzf \
|
|
||||||
--height 50% \
|
|
||||||
--preview 'git show --color=always (echo {} | cut -d" " -f4)' \
|
|
||||||
)
|
|
||||||
and set commit (echo $commitline | cut -d" " -f4)
|
|
||||||
and echo $commit
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function git-delete-fuzzy
|
|
||||||
set branch (git-fuzzy-branch "delete branch...")
|
|
||||||
and git branch -d $branch
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function git-force-delete-fuzzy
|
|
||||||
set branch (git-fuzzy-branch "force delete branch...")
|
|
||||||
and git branch -D $branch
|
|
||||||
end
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
function git-fuzzy-branch -a header
|
|
||||||
set -l current (git rev-parse --abbrev-ref HEAD | tr -d '\n')
|
|
||||||
set -l branch (git branch \
|
|
||||||
--format "%(refname:short)" \
|
|
||||||
| fzf \
|
|
||||||
--height 50% \
|
|
||||||
--header="On $current, $header" \
|
|
||||||
--preview-window right:70% \
|
|
||||||
--preview 'git log {} --color=always --pretty="format:%C(auto)%ar %h%d %s"' \
|
|
||||||
)
|
|
||||||
and echo $branch
|
|
||||||
end
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
function git-history
|
|
||||||
if not count $argv > /dev/null
|
|
||||||
echo "Must provide filename."
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
set commitline ( git log \
|
|
||||||
--follow \
|
|
||||||
--pretty="format:%C(auto)%ar %h%d %s" \
|
|
||||||
-- ./$argv \
|
|
||||||
| fzf \
|
|
||||||
--height 100% \
|
|
||||||
--preview "git diff --color=always (echo {} | cut -d' ' -f4)^1..(echo {} | cut -d' ' -f4) -- ./$argv" \
|
|
||||||
)
|
|
||||||
and set commit (echo $commitline | cut -d" " -f4)
|
|
||||||
and echo $commit
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function git-merge-fuzzy
|
|
||||||
set branch (git-fuzzy-branch "merge from...")
|
|
||||||
and git merge $branch
|
|
||||||
end
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
function git-push-upstream --description "Create upstream branch"
|
|
||||||
set -l branch (git branch 2>/dev/null | grep '^\*' | colrm 1 2)
|
|
||||||
set -l command "git push --set-upstream origin $branch"
|
|
||||||
commandline -r $command
|
|
||||||
commandline -f execute
|
|
||||||
end
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
function git-show-fuzzy
|
|
||||||
set commitline (git log \
|
|
||||||
--pretty="format:%C(auto)%ar %h%d %s" \
|
|
||||||
| fzf \
|
|
||||||
)
|
|
||||||
and set commit (echo $commitline | cut -d" " -f4 )
|
|
||||||
and git show $commit
|
|
||||||
end
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
function git
|
|
||||||
if contains f $argv
|
|
||||||
switch $argv[1]
|
|
||||||
case "checkout"
|
|
||||||
git-checkout-fuzzy
|
|
||||||
case "add"
|
|
||||||
git-add-fuzzy
|
|
||||||
case "show"
|
|
||||||
git-show-fuzzy
|
|
||||||
case "merge"
|
|
||||||
git-merge-fuzzy
|
|
||||||
case "branch"
|
|
||||||
if test "$argv[2]" = "-d"
|
|
||||||
git-delete-fuzzy
|
|
||||||
else if test "$argv[2]" = "-D"
|
|
||||||
git-force-delete-fuzzy
|
|
||||||
else
|
|
||||||
echo "Not a fuzzy option."
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
case "reset"
|
|
||||||
set commit (git-commits)
|
|
||||||
and if test "$argv[2]" = "--hard"
|
|
||||||
git reset --hard $commit
|
|
||||||
else
|
|
||||||
git reset $commit
|
|
||||||
end
|
|
||||||
case "*"
|
|
||||||
echo "No fuzzy option."
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
else
|
|
||||||
if count $argv > /dev/null
|
|
||||||
command git $argv
|
|
||||||
else
|
|
||||||
command git status -sb
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
function ip
|
|
||||||
if count $argv > /dev/null
|
|
||||||
curl ipinfo.io/$argv
|
|
||||||
else
|
|
||||||
curl checkip.amazonaws.com
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
function journal --description "Create today's journal"
|
|
||||||
note-dates
|
|
||||||
if [ -f $TODAY_NOTE_FILE ]
|
|
||||||
echo "Already exists."
|
|
||||||
else
|
|
||||||
note-header
|
|
||||||
printf $JOURNAL_HEADER > $TODAY_NOTE_FILE
|
|
||||||
echo "New journal added."
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function json --description "Tidy up JSON with jq"
|
|
||||||
pbpaste | jq '.' | pbcopy
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function linux --description "Load only on Linux"
|
|
||||||
alias pbcopy='xclip -selection clipboard -in'
|
|
||||||
alias pbpaste='xclip -selection clipboard -out'
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function ls --description "Use exa to list files"
|
|
||||||
exa $argv
|
|
||||||
end
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
function meeting --description "Describe a meeting" -a "name"
|
|
||||||
note-dates
|
|
||||||
set today_date (date -j +"%Y-%m-%d")
|
|
||||||
set time (date +"%I:%M%p" | tr '[:upper:]' '[:lower:]')
|
|
||||||
set meeting_name (echo $name | tr ' ' '-' | tr '[:upper:]' '[:lower:]')
|
|
||||||
set meeting_note $today_date-$meeting_name
|
|
||||||
set meeting_file meetings/$meeting_note.md
|
|
||||||
printf "[$TODAY_NOTE](../journal/$TODAY_NOTE.md) | #meeting\n\n# $name\n\n---\n\n" > $NOTES_PATH/$meeting_file
|
|
||||||
printf "\n\n---\n\n$time - [$name](../$meeting_file)\n\n---\n\n" >> $TODAY_NOTE_FILE
|
|
||||||
vim $NOTES_PATH/$meeting_file
|
|
||||||
end
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
function note-dates
|
|
||||||
set -g TODAY_NOTE (date +"%Y-%m-%d_%a")
|
|
||||||
set -g YESTERDAY_NOTE (date -jv "-1d" +"%Y-%m-%d_%a")
|
|
||||||
set -g TOMORROW_NOTE (date -jv "+1d" +"%Y-%m-%d_%a")
|
|
||||||
set -g LONG_DATE (date +"%A, %B %e, %Y" | sed 's/ */ /g')
|
|
||||||
set -g TODAY_NOTE_FILE $NOTES_PATH/journal/$TODAY_NOTE.md
|
|
||||||
end
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
function note-header
|
|
||||||
set -g CURRENT_WEATHER (curl -s "https://wttr.in/?format=1")
|
|
||||||
set -g JOURNAL_HEADER "[Yesterday]($YESTERDAY_NOTE.md) | [Home](../home.md) | [Today](obsidian://advanced-uri?daily=true) | [Tomorrow]($TOMORROW_NOTE.md)\n\n$LONG_DATE\n$CURRENT_WEATHER\n#journal\n\n---\n\n"
|
|
||||||
end
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
function note --description "Edit or create a note" -a "filename"
|
|
||||||
if test -n "$filename"
|
|
||||||
vim $NOTES_PATH/$filename.md
|
|
||||||
else
|
|
||||||
set file (ls $NOTES_PATH | fzf)
|
|
||||||
if [ $status -eq 0 ]
|
|
||||||
vim $NOTES_PATH/$file
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function ping --description "Improved ping" -a "target"
|
|
||||||
prettyping --nolegend $target
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
function prj --description "cd to a project"
|
|
||||||
set projdir (ls $PROJ | fzf)
|
|
||||||
and cd $PROJ/$projdir
|
|
||||||
and commandline -f execute
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function psf --description "Search for open process" -a "process"
|
|
||||||
ps aux | rg -v "$USER.*rg $argv" | rg $argv
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function qr
|
|
||||||
qrencode $argv[1] -o /tmp/qr.png | open /tmp/qr.png
|
|
||||||
end
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
function quicknote --description "Write a quick note" -a "note"
|
|
||||||
note-dates
|
|
||||||
set time (date +"%I:%M%p" | tr '[:upper:]' '[:lower:]')
|
|
||||||
printf "\n\n---\n\n#### $time\n$note\n" >> $TODAY_NOTE_FILE
|
|
||||||
end
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
function recent --description "Open a recent file in Vim"
|
|
||||||
set vimfile (fd -t f --exec stat -f "%m%t%N" | sort -nr | cut -f2 | fzf)
|
|
||||||
and set vimfile (echo $vimfile | tr -d '\r')
|
|
||||||
and commandline -r "vim $vimfile"
|
|
||||||
and commandline -f execute
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function reload --description "Reload fish configuration"
|
|
||||||
source $DOTS/fish.configlink/config.fish
|
|
||||||
end
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function repos --description 'Clone GitHub repositories' -a 'organization'
|
|
||||||
set directory (gh-repos $organization)
|
|
||||||
and cd $directory
|
|
||||||
end
|
|
||||||
#switch $organization
|
|
||||||
# case t2; set organization "take-two"
|
|
||||||
# case d2c; set organization "take-two-t2gp"
|
|
||||||
# case t2gp; set organization "take-two-t2gp"
|
|
||||||
# case pd; set organization "private-division"
|
|
||||||
# case dots; set organization "playdots"
|
|
||||||
# case '*'; set organization "nmasur"
|
|
||||||
#end
|
|
||||||
|
|
||||||
#set selected (gh repo list "$organization" \
|
|
||||||
# --limit 50 \
|
|
||||||
# --no-archived \
|
|
||||||
# --json=name,description,isPrivate,updatedAt,primaryLanguage \
|
|
||||||
# | jq -r '.[] | .name + "," + if .description == "" then "-" else .description end + "," + .updatedAt + "," + .primaryLanguage.name' \
|
|
||||||
# | begin
|
|
||||||
# echo "REPO,DESCRIPTION,UPDATED,LANGUAGE"
|
|
||||||
# cat -
|
|
||||||
# end | column -s , -t
|
|
||||||
# | fzf \
|
|
||||||
# --header-lines=1 \
|
|
||||||
# --layout=reverse
|
|
||||||
#--bind "ctrl-o:execute:gh repo view -w $organization/{1}" \
|
|
||||||
#--preview "GH_FORCE_TTY=49% gh repo view $organization/{1} | glow -" \
|
|
||||||
#--preview-window up
|
|
||||||
#)
|
|
||||||
#if test -n (echo $selected | tr -d '\r')
|
|
||||||
# set directory "$HOME/dev/work"
|
|
||||||
# if test $organization = "nmasur"
|
|
||||||
# set directory "$HOME/dev/personal"
|
|
||||||
# end
|
|
||||||
# set repo (echo $selected | awk '{print $1}')
|
|
||||||
# set repo_full "$organization/$repo"
|
|
||||||
# gh repo clone "$repo_full" "$directory/$repo"
|
|
||||||
# cd "$directory/$repo"
|
|
||||||
#end
|
|
||||||
#end
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
function syncnotes --description "Full git commit on notes"
|
|
||||||
set current_dir $PWD
|
|
||||||
cd $NOTES_PATH
|
|
||||||
git pull
|
|
||||||
git add -A
|
|
||||||
git commit -m "autosync"
|
|
||||||
git push
|
|
||||||
cd $current_dir
|
|
||||||
end
|
|
||||||
@@ -1,141 +0,0 @@
|
|||||||
#!/usr/bin/fish
|
|
||||||
function theme_gruvbox --description 'Apply gruvbox theme'
|
|
||||||
set -l mode 'light'
|
|
||||||
if test (count $argv) -gt 0
|
|
||||||
set mode $argv[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
set -g contrast 'medium'
|
|
||||||
if test (count $argv) -gt 1
|
|
||||||
set contrast $argv[2]
|
|
||||||
end
|
|
||||||
|
|
||||||
switch $contrast
|
|
||||||
case 'soft'
|
|
||||||
case 'medium'
|
|
||||||
case 'hard'
|
|
||||||
case '*'
|
|
||||||
set_color $fish_color_error
|
|
||||||
echo 'Unknown contrast $contrast, choose soft, medium or hard'
|
|
||||||
set_color $fish_color_normal
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
|
|
||||||
switch $mode
|
|
||||||
case 'light'
|
|
||||||
__theme_gruvbox_base
|
|
||||||
__theme_gruvbox_light
|
|
||||||
case 'dark'
|
|
||||||
__theme_gruvbox_base
|
|
||||||
__theme_gruvbox_dark
|
|
||||||
case '*'
|
|
||||||
set_color $fish_color_error
|
|
||||||
echo 'Unknown mode $mode, choose light or dark'
|
|
||||||
set_color $fish_color_normal
|
|
||||||
return 1
|
|
||||||
end
|
|
||||||
__theme_gruvbox_palette
|
|
||||||
return 0
|
|
||||||
end
|
|
||||||
|
|
||||||
function __theme_gruvbox_base
|
|
||||||
__printf_color 1 'cc/24/1d'
|
|
||||||
__printf_color 2 '98/97/1a'
|
|
||||||
__printf_color 3 'd7/99/21'
|
|
||||||
__printf_color 4 '45/85/88'
|
|
||||||
__printf_color 5 'b1/62/86'
|
|
||||||
__printf_color 6 '68/9d/6a'
|
|
||||||
end
|
|
||||||
|
|
||||||
function __theme_gruvbox_light
|
|
||||||
set -l bg 'fb/f1/c7'
|
|
||||||
switch $contrast
|
|
||||||
case "soft"
|
|
||||||
set bg 'f2/e5/bc'
|
|
||||||
case "hard"
|
|
||||||
set bg 'f9/f5/d7'
|
|
||||||
end
|
|
||||||
command printf "\033]11;rgb:$bg\007"
|
|
||||||
|
|
||||||
set -l fg '3c/38/36'
|
|
||||||
command printf "\033]10;rgb:$fg\007"
|
|
||||||
|
|
||||||
__printf_color 0 $bg
|
|
||||||
__printf_color 7 '7c/6f/64'
|
|
||||||
__printf_color 8 '92/83/74'
|
|
||||||
__printf_color 9 '9d/00/06'
|
|
||||||
__printf_color 10 '79/74/0e'
|
|
||||||
__printf_color 11 'b5/76/14'
|
|
||||||
__printf_color 12 '07/66/78'
|
|
||||||
__printf_color 13 '8f/3f/71'
|
|
||||||
__printf_color 14 '42/7b/58'
|
|
||||||
__printf_color 15 $fg
|
|
||||||
end
|
|
||||||
|
|
||||||
function __theme_gruvbox_dark
|
|
||||||
set -l bg '28/28/28'
|
|
||||||
switch $contrast
|
|
||||||
case "soft"
|
|
||||||
set bg '32/30/2f'
|
|
||||||
case "hard"
|
|
||||||
set bg '1d/20/21'
|
|
||||||
end
|
|
||||||
command printf "\033]11;rgb:$bg\007"
|
|
||||||
|
|
||||||
set -l fg 'eb/db/b2'
|
|
||||||
command printf "\033]10;rgb:$fg\007"
|
|
||||||
|
|
||||||
__printf_color 0 $bg
|
|
||||||
__printf_color 7 'a8/99/84'
|
|
||||||
__printf_color 8 '92/83/74'
|
|
||||||
__printf_color 9 'fb/59/34'
|
|
||||||
__printf_color 10 'b8/bb/26'
|
|
||||||
__printf_color 11 'fa/bd/2f'
|
|
||||||
__printf_color 12 '83/a5/98'
|
|
||||||
__printf_color 13 'd3/86/9b'
|
|
||||||
__printf_color 14 '8e/c0/7c'
|
|
||||||
__printf_color 15 $fg
|
|
||||||
end
|
|
||||||
|
|
||||||
function __theme_gruvbox_palette
|
|
||||||
__printf_color 236 '32/30/2f'
|
|
||||||
__printf_color 234 '1d/20/21'
|
|
||||||
|
|
||||||
__printf_color 235 '28/28/28'
|
|
||||||
__printf_color 237 '3c/38/36'
|
|
||||||
__printf_color 239 '50/49/45'
|
|
||||||
__printf_color 241 '66/5c/54'
|
|
||||||
__printf_color 243 '7c/6f/64'
|
|
||||||
|
|
||||||
__printf_color 244 '92/83/74'
|
|
||||||
__printf_color 245 '92/83/74'
|
|
||||||
|
|
||||||
__printf_color 228 'f2/e5/bc'
|
|
||||||
__printf_color 230 'f9/f5/d7'
|
|
||||||
|
|
||||||
__printf_color 229 'fb/f1/c7'
|
|
||||||
__printf_color 223 'eb/db/b2'
|
|
||||||
__printf_color 250 'd5/c4/a1'
|
|
||||||
__printf_color 248 'bd/ae/93'
|
|
||||||
__printf_color 246 'a8/99/84'
|
|
||||||
|
|
||||||
__printf_color 167 'fb/49/34'
|
|
||||||
__printf_color 142 'b8/bb/26'
|
|
||||||
__printf_color 214 'fa/bd/2f'
|
|
||||||
__printf_color 109 '83/a5/98'
|
|
||||||
__printf_color 175 'd3/86/9b'
|
|
||||||
__printf_color 108 '8e/c0/7c'
|
|
||||||
__printf_color 208 'fe/80/19'
|
|
||||||
|
|
||||||
__printf_color 88 '9d/00/06'
|
|
||||||
__printf_color 100 '79/74/0e'
|
|
||||||
__printf_color 136 'b5/76/14'
|
|
||||||
__printf_color 24 '07/66/78'
|
|
||||||
__printf_color 96 '8f/3f/71'
|
|
||||||
__printf_color 66 '42/7b/58'
|
|
||||||
__printf_color 130 'af/3a/03'
|
|
||||||
end
|
|
||||||
|
|
||||||
function __printf_color
|
|
||||||
command printf "\033]4;$argv[1];rgb:$argv[2]\007"
|
|
||||||
end
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function tickers --description "Stock and money tickers"
|
|
||||||
abbr -a tk 'tickrs -s'
|
|
||||||
abbr -a vt 'tickrs -s vt'
|
|
||||||
abbr -a vti 'tickrs -s vti'
|
|
||||||
abbr -a vxus 'tickrs -s vxus'
|
|
||||||
abbr -a btc 'rates btc usd'
|
|
||||||
abbr -a ada 'rates ada usd'
|
|
||||||
abbr -a eth 'rates eth usd'
|
|
||||||
end
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
function today --description "Open today's journal"
|
|
||||||
note-dates
|
|
||||||
if [ -f $TODAY_NOTE_FILE ]
|
|
||||||
vim $TODAY_NOTE_FILE
|
|
||||||
else
|
|
||||||
note-header
|
|
||||||
printf $JOURNAL_HEADER > $TODAY_NOTE_FILE
|
|
||||||
echo "New journal added."
|
|
||||||
vim $TODAY_NOTE_FILE
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#!/usr/local/bin/fish
|
|
||||||
|
|
||||||
function uncommitted --description "Find uncommitted git repos"
|
|
||||||
set current_dir (pwd)
|
|
||||||
cd $HOME/dev
|
|
||||||
find . -type d -name '.git' | \
|
|
||||||
while read dir
|
|
||||||
cd $dir/../
|
|
||||||
and if test -n (echo (git status -s))
|
|
||||||
pwd
|
|
||||||
git status -s
|
|
||||||
end
|
|
||||||
cd -
|
|
||||||
end
|
|
||||||
cd $current_dir
|
|
||||||
end
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/local/fish
|
|
||||||
|
|
||||||
function unsetaws --description "Clear AWS credentials environment variables"
|
|
||||||
set -e AWS_ACCESS_KEY_ID
|
|
||||||
set -e AWS_SECRET_ACCESS_KEY
|
|
||||||
end
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# by @farcaller from https://github.com/fish-shell/fish-shell/issues/825#issuecomment-440286038
|
|
||||||
|
|
||||||
function up-or-search -d "Depending on cursor position and current mode, either search backward or move up one line"
|
|
||||||
# If we are already in search mode, continue
|
|
||||||
if commandline --search-mode
|
|
||||||
commandline -f history-search-backward
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
# If we are navigating the pager, then up always navigates
|
|
||||||
if commandline --paging-mode
|
|
||||||
commandline -f up-line
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
# We are not already in search mode.
|
|
||||||
# If we are on the top line, start search mode,
|
|
||||||
# otherwise move up
|
|
||||||
set lineno (commandline -L)
|
|
||||||
|
|
||||||
switch $lineno
|
|
||||||
case 1
|
|
||||||
commandline -f history-search-backward
|
|
||||||
history merge # <-- ADDED THIS
|
|
||||||
|
|
||||||
case '*'
|
|
||||||
commandline -f up-line
|
|
||||||
end
|
|
||||||
end
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
function worldmap --description "Terminal atlas"
|
|
||||||
telnet mapscii.me
|
|
||||||
end
|
|
||||||
Generated
+104
@@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"darwin": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1651916036,
|
||||||
|
"narHash": "sha256-UuD9keUGm4IuVEV6wdSYbuRm7CwfXE63hVkzKDjVsh4=",
|
||||||
|
"owner": "lnl7",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"rev": "2f2bdf658d2b79bada78dc914af99c53cad37cba",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "lnl7",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nix-darwin",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1654422613,
|
||||||
|
"narHash": "sha256-ZxkMM13AnrMwYOV99ohzcqeTkAOqD9Q2SBdZ9WoFE9Y=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "20703892473d01c70fb10248442231fe94f4ceb4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1654230545,
|
||||||
|
"narHash": "sha256-8Vlwf0x8ow6pPOK2a04bT+pxIeRnM1+O0Xv9/CuDzRs=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "236cc2971ac72acd90f0ae3a797f9f83098b17ec",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1654429664,
|
||||||
|
"narHash": "sha256-rQe6/72yWA78RzWogM8ZT++XYoYrZJdF/T6mjcCqsfU=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nur",
|
||||||
|
"rev": "18fa7520a7ca968eb74b46036329f3f7606bd541",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nur",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"darwin": "darwin",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nur": "nur",
|
||||||
|
"wallpapers": "wallpapers"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wallpapers": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1653239252,
|
||||||
|
"narHash": "sha256-Fiw5P+XULgqlLRGf+GKaRZ+Nw0UIx5TaYa7ipiA0+X4=",
|
||||||
|
"owner": "exorcist365",
|
||||||
|
"repo": "wallpapers",
|
||||||
|
"rev": "4e0a72a8d67264e58fa0424693fd93cb24bc527c",
|
||||||
|
"type": "gitlab"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "exorcist365",
|
||||||
|
"repo": "wallpapers",
|
||||||
|
"type": "gitlab"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
description = "My system";
|
||||||
|
|
||||||
|
# Other flakes that we want to pull from
|
||||||
|
inputs = {
|
||||||
|
|
||||||
|
# Used for system packages
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
# Used for MacOS system config
|
||||||
|
darwin = {
|
||||||
|
url = "github:/lnl7/nix-darwin/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Used for user packages
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows =
|
||||||
|
"nixpkgs"; # Use system packages list where available
|
||||||
|
};
|
||||||
|
|
||||||
|
# Community packages; used for Firefox extensions
|
||||||
|
nur.url = "github:nix-community/nur";
|
||||||
|
|
||||||
|
# Wallpapers
|
||||||
|
wallpapers = {
|
||||||
|
url = "gitlab:exorcist365/wallpapers";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, darwin, home-manager, nur, wallpapers }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
# Global configuration for my systems
|
||||||
|
globals = {
|
||||||
|
user = "noah";
|
||||||
|
fullName = "Noah Masur";
|
||||||
|
gitEmail = "7386960+nmasur@users.noreply.github.com";
|
||||||
|
mailServer = "noahmasur.com";
|
||||||
|
dotfilesRepo = "https://github.com/nmasur/dotfiles";
|
||||||
|
};
|
||||||
|
|
||||||
|
# System types to support.
|
||||||
|
supportedSystems =
|
||||||
|
[ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
|
||||||
|
|
||||||
|
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
|
||||||
|
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
# You can load it from any NixOS system with:
|
||||||
|
# nix-shell -p nixFlakes
|
||||||
|
# sudo nixos-rebuild switch --flake github:nmasur/dotfiles#desktop
|
||||||
|
nixosConfigurations = {
|
||||||
|
desktop = import ./hosts/desktop {
|
||||||
|
inherit nixpkgs home-manager nur globals wallpapers;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
darwinConfigurations = {
|
||||||
|
macbook = import ./hosts/macbook {
|
||||||
|
inherit nixpkgs darwin home-manager nur globals;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# You can partition, format, and install from a live disk with:
|
||||||
|
# nix-shell -p nixFlakes
|
||||||
|
# nix run github:nmasur/dotfiles#installer -- nvme0n1 desktop
|
||||||
|
# Will erase drives; use at your own risk!
|
||||||
|
apps = forAllSystems (system:
|
||||||
|
let pkgs = import nixpkgs { inherit system; };
|
||||||
|
in {
|
||||||
|
installer = import ./modules/system/installer.nix { inherit pkgs; };
|
||||||
|
});
|
||||||
|
|
||||||
|
# Used to run commands and edit files in this repo
|
||||||
|
devShells = forAllSystems (system:
|
||||||
|
let pkgs = import nixpkgs { inherit system; };
|
||||||
|
in {
|
||||||
|
default = pkgs.mkShell {
|
||||||
|
buildInputs = with pkgs; [ git stylua nixfmt shfmt shellcheck ];
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
[filter "lfs"]
|
|
||||||
clean = git-lfs clean -- %f
|
|
||||||
smudge = git-lfs smudge -- %f
|
|
||||||
process = git-lfs filter-process
|
|
||||||
required = true
|
|
||||||
[user]
|
|
||||||
name = Noah Masur
|
|
||||||
email = [email protected]
|
|
||||||
[hub]
|
|
||||||
host = github.take2games.com
|
|
||||||
[pager]
|
|
||||||
branch = false
|
|
||||||
[core]
|
|
||||||
editor = nvim
|
|
||||||
[pull]
|
|
||||||
ff = only
|
|
||||||
[credential]
|
|
||||||
helper = osxkeychain
|
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
{ config, lib, pkgs, ... }: {
|
||||||
|
|
||||||
|
imports = [ ../modules/shell ../modules/editor ../modules/mail/himalaya.nix ];
|
||||||
|
|
||||||
|
options = with lib; {
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "Primary user of the system";
|
||||||
|
};
|
||||||
|
userDirs = {
|
||||||
|
# Required to prevent infinite recursion when referenced by himalaya
|
||||||
|
download = lib.mkOption {
|
||||||
|
type = lib.types.str;
|
||||||
|
description = "XDG directory for downloads";
|
||||||
|
default =
|
||||||
|
if pkgs.stdenv.isDarwin then "$HOME/Downloads" else "$HOME/downloads";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
gui = {
|
||||||
|
enable = mkEnableOption {
|
||||||
|
description = "Enable graphics";
|
||||||
|
default = false;
|
||||||
|
};
|
||||||
|
colorscheme = mkOption {
|
||||||
|
type = types.attrs;
|
||||||
|
description = "Base16 color scheme";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
homePath = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "Path of user's home directory.";
|
||||||
|
default = builtins.toPath (if pkgs.stdenv.isDarwin then
|
||||||
|
"/Users/${config.user}"
|
||||||
|
else
|
||||||
|
"/home/${config.user}");
|
||||||
|
};
|
||||||
|
dotfilesPath = mkOption {
|
||||||
|
type = types.path;
|
||||||
|
description = "Path of dotfiles repository.";
|
||||||
|
default = config.homePath + "/dev/personal/dotfiles";
|
||||||
|
};
|
||||||
|
dotfilesRepo = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "Link to dotfiles repository.";
|
||||||
|
};
|
||||||
|
unfreePackages = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
description = "List of unfree packages to allow.";
|
||||||
|
default = [ ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
|
||||||
|
# Enable features in Nix commands
|
||||||
|
nix.extraOptions = "experimental-features = nix-command flakes";
|
||||||
|
|
||||||
|
# Basic common system packages for all devices
|
||||||
|
environment.systemPackages = with pkgs; [ git vim wget curl ];
|
||||||
|
|
||||||
|
# Use the system-level nixpkgs instead of Home Manager's
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|
||||||
|
# Install packages to /etc/profiles instead of ~/.nix-profile, useful when
|
||||||
|
# using multiple profiles for one user
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
|
||||||
|
# Allow specified unfree packages (identified elsewhere)
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) config.unfreePackages;
|
||||||
|
|
||||||
|
# Set a variable for dotfiles repo, not necessary but convenient
|
||||||
|
home-manager.users.${config.user} = {
|
||||||
|
home.sessionVariables = { DOTS = config.dotfilesPath; };
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
{ nixpkgs, home-manager, nur, globals, wallpapers, ... }:
|
||||||
|
|
||||||
|
# System configuration for my desktop
|
||||||
|
nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
specialArgs = { };
|
||||||
|
modules = [
|
||||||
|
globals
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
networking.hostName = "desktop";
|
||||||
|
nixpkgs.overlays = [ nur.overlay ];
|
||||||
|
gaming.steam = true;
|
||||||
|
gaming.leagueoflegends = true;
|
||||||
|
gaming.legendary = true;
|
||||||
|
gui = {
|
||||||
|
enable = true;
|
||||||
|
compositor.enable = true;
|
||||||
|
colorscheme = (import ../../modules/colorscheme/gruvbox);
|
||||||
|
wallpaper = "${wallpapers}/gruvbox/road.jpg";
|
||||||
|
gtk.theme = { name = "Adwaita-dark"; };
|
||||||
|
};
|
||||||
|
passwordHash =
|
||||||
|
"$6$PZYiMGmJIIHAepTM$Wx5EqTQ5GApzXx58nvi8azh16pdxrN6Qrv1wunDlzveOgawitWzcIxuj76X9V868fsPi/NOIEO8yVXqwzS9UF.";
|
||||||
|
}
|
||||||
|
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../common.nix
|
||||||
|
../../modules/hardware
|
||||||
|
../../modules/system
|
||||||
|
../../modules/graphical
|
||||||
|
../../modules/gaming
|
||||||
|
../../modules/applications
|
||||||
|
../../modules/services/keybase.nix
|
||||||
|
../../modules/services/gnupg.nix
|
||||||
|
../../modules/services/mullvad.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules =
|
||||||
|
[ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-label/nixos";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-label/boot";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode =
|
||||||
|
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{ nixpkgs, darwin, home-manager, nur, globals, ... }:
|
||||||
|
|
||||||
|
# System configuration for my MacBook
|
||||||
|
darwin.lib.darwinSystem {
|
||||||
|
system = "x86_64-darwin";
|
||||||
|
specialArgs = { };
|
||||||
|
modules = [
|
||||||
|
globals
|
||||||
|
home-manager.darwinModules.home-manager
|
||||||
|
{
|
||||||
|
user = "Noah.Masur";
|
||||||
|
gui.enable = true;
|
||||||
|
gui.colorscheme = (import ../modules/colorscheme/gruvbox);
|
||||||
|
nixpkgs.overlays = [ nur.overlay ];
|
||||||
|
}
|
||||||
|
../common.nix
|
||||||
|
../../modules/darwin
|
||||||
|
../../modules/applications/alacritty.nix
|
||||||
|
../../modules/applications/discord.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loaded 100 of 255 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user