This commit is contained in:
ry
2021-10-22 23:44:03 -07:00
commit b78da52830
20 changed files with 6833 additions and 0 deletions

866
.config/alacritty/alacritty.yml Executable file
View File

@@ -0,0 +1,866 @@
#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: 0
# lines: 0
# 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
# 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.
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: inconsolata
# 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: inconsolata
# 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: inconsolata
# 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: inconsolata
# The `style` can be specified to pick a specific face.
style: Bold Italic
# Point size
size: 14
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
#glyph_offset:
# x: 0
# y: 0
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`.
#use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night)
#colors:
# Default colors
#primary:
# background: '#1d1f21'
# foreground: '#c5c8c6'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '#828482'
#bright_foreground: '#eaeaea'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#cursor:
# text: CellBackground
# cursor: CellForeground
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: '#ffffff'
# background: '#000000'
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Keyboard regex hints
#hints:
# First character in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#start:
# foreground: '#1d1f21'
# background: '#e9ff5e'
# All characters after the first one in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#end:
# foreground: '#e9ff5e'
# background: '#1d1f21'
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
#normal:
# black: '#1d1f21'
# red: '#cc6666'
# green: '#b5bd68'
# yellow: '#f0c674'
# blue: '#81a2be'
# magenta: '#b294bb'
# cyan: '#8abeb7'
# white: '#c5c8c6'
# Bright colors
#bright:
# black: '#666666'
# red: '#d54e53'
# green: '#b9ca4a'
# yellow: '#e7c547'
# blue: '#7aa6da'
# magenta: '#c397d8'
# cyan: '#70c0b1'
# white: '#eaeaea'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '#131415'
# red: '#864343'
# green: '#777c44'
# yellow: '#9e824c'
# blue: '#556a7d'
# magenta: '#75617b'
# cyan: '#5b7d78'
# white: '#828482'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
#indexed_colors: []
# Transparent cell backgrounds
#
# Whether or not `window.opacity` applies to all cell backgrounds or only to
# the default background. When set to `true` all cells will be transparent
# regardless of their background color.
#transparent_background_colors: true
# 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: Off
# Vi mode cursor style
#
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
#vi_mode_style: None
# Cursor blinking interval in milliseconds.
#blink_interval: 750
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
# Regex hints
#
# Terminal hints can be used to find text in the visible part of the terminal
# and pipe it to other applications.
#hints:
# Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq"
# List with all available hints
#
# Each hint must have a `regex` and either an `action` or a `command` field.
# The fields `mouse`, `binding` and `post_processing` are optional.
#
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
#
# The `mouse.enabled` field controls if the hint should be underlined while
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
#
# If the `post_processing` field is set to `true`, heuristics will be used to
# shorten the match if there are characters likely not to be part of the hint
# (e.g. a trailing `.`). This is most useful for URIs.
#
# Values for `action`:
# - Copy
# Copy the hint's text to the clipboard.
# - Paste
# Paste the hint's text to the terminal or search.
# - Select
# Select the hint's text.
# - MoveViModeCursor
# Move the vi mode cursor to the beginning of the hint.
#enabled:
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
# command: xdg-open
# post_processing: true
# mouse:
# enabled: true
# mods: None
# binding:
# key: U
# mods: Control|Shift
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings for actions not exclusive to mouse mode)
#
# - Mouse exclusive actions:
#
# - ExpandSelection
# Expand the selection to the current mouse cursor location.
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Right, action: ExpandSelection }
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Perform the action of the first matching hint under the vi mode cursor
# with `mouse.enabled` set to `true`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
#key_bindings:
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false

135
.config/doom/config.el Normal file
View File

@@ -0,0 +1,135 @@
;; Keep emacs folder tidy.
(use-package no-littering)
;; Disables the doom splash screen
(setq inhibit-startup-message t)
(set-fringe-mode 10)
;; scroll 1 line at a time
(setq scroll-step 1)
;; Set visible bell
(setq visible-bell t)
(dolist (mode '(org-mode-hook
shell-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
;; Configure Modus theme
(use-package modus-themes
:init
(setq modus-themes-italic-constructs t
modus-themes-bold-constructs nil
modus-themes-region '(accented bg-only no-extend)
modus-themes-org-blocks 'greyscale
modus-themes-paren-match 'intense
modus-themes-mixed-fonts t)
;; Load the theme files before enabling a theme
(modus-themes-load-themes)
:config
(modus-themes-load-vivendi) ;; OR (modus-themes-load-vivendi)
:bind ("<f5>" . modus-themes-toggle))
;; Set fonts
(set-face-attribute 'default nil :font "Fira Code" :height 125 :weight 'medium)
(set-face-attribute 'variable-pitch nil :font "Fira Sans" :height 1.0 :weight 'regular)
(set-face-attribute 'fixed-pitch nil :font "Fira Code" :height 1.0 :weight 'medium)
;; Set org-mode directories
(setq org-directory
'("~/org/"
"~/.config/doom"))
(defun rymacs/org-mode-setup ()
(org-indent-mode)
(variable-pitch-mode 1)
(visual-line-mode 1))
(defun rymacs/org-mode-visual-fill ()
(setq visual-fill-column-width 100
visual-fill-column-center-text t)
(visual-fill-column-mode 1))
(use-package visual-fill-column
:hook (org-mode . rymacs/org-mode-visual-fill))
;; Change dashes to dots
(defun rymacs/org-font-setup ()
(font-lock-add-keywords 'org-mode
'(("^ *\\([-]\\) "
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))))))
;; Set faces for heading levels
(dolist (face '((org-level-1 . 1.2)
(org-level-2 . 1.1)
(org-level-3 . 1.05)
(org-level-4 . 1.0)
(org-level-5 . 1.1)
(org-level-6 . 1.1)
(org-level-7 . 1.1)
(org-level-8 . 1.1)))
(set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face)))
;; Ensure that anything that should be fixed-pitch in Org files appears that way
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
;; Change ellipsis to triangles
(use-package org
:hook (org-mode . rymacs/org-mode-setup)
:config
(setq org-ellipsis "")
(rymacs/org-font-setup))
;; Change default pretty bullets to circles
(use-package org-bullets
:after org
:hook (org-mode . org-bullets-mode)
:custom
(org-bullets-bullet-list '("" "" "" "" "" "" "")))
(defun rymacs/org-mode-visual-fill ()
(setq visual-fill-column-width 100
visual-fill-column-center-text t)
(visual-fill-column-mode 1))
(use-package visual-fill-column
:hook (org-mode . rymacs/org-mode-visual-fill))
;; Load languages for babel code blocks.
(with-eval-after-load 'org
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(python .t)))
(push '("conf-unix" . conf-unix) org-src-lang-modes))
;; Make shortcuts to easily create babel source code blocks.
(with-eval-after-load 'org
(require 'org-tempo)
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
(add-to-list 'org-structure-template-alist '("py" . "src python")))
;; ;; Define a function that automatically executes rymacs/org-babel-tangle-config (a wrapper around org-babel-tangle) when saving this file.
;; (defun rymacs/org-babel-tangle-config ()
;; (when (string-equal (file-name-directory (buffer-file-name))
;; (expand-file-name "~/.dotfiles/.config/doom"))
;; (let ((org-confirm-babel-evaluate nil))
;; (org-babel-tangle))))
;; (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'rymacs/org-babel-tangle-config)))
(defun connect-borg ()
(interactive)
(dired "/ssh:root@207.66.177.26#46668:/"))

50
.config/doom/custom.el Normal file
View File

@@ -0,0 +1,50 @@
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(ansi-color-faces-vector
[default default default italic underline success warning error])
'(ansi-color-names-vector
["black" "red3" "ForestGreen" "yellow3" "blue" "magenta3" "DeepSkyBlue" "gray50"])
'(custom-safe-themes
'("a0be7a38e2de974d1598cf247f607d5c1841dbcef1ccd97cded8bea95a7c7639" "97db542a8a1731ef44b60bc97406c1eb7ed4528b0d7296997cbb53969df852d6" "7eea50883f10e5c6ad6f81e153c640b3a288cd8dc1d26e4696f7d40f754cc703" "a7b20039f50e839626f8d6aa96df62afebb56a5bbd1192f557cb2efb5fcfb662" "613aedadd3b9e2554f39afe760708fc3285bf594f6447822dd29f947f0775d6c" "f91395598d4cb3e2ae6a2db8527ceb83fed79dbaf007f435de3e91e5bda485fb" "5784d048e5a985627520beb8a101561b502a191b52fa401139f4dd20acb07607" "4f1d2476c290eaa5d9ab9d13b60f2c0f1c8fa7703596fa91b235db7f99a9441b" "246a9596178bb806c5f41e5b571546bb6e0f4bd41a9da0df5dfbca7ec6e2250c" "745d03d647c4b118f671c49214420639cb3af7152e81f132478ed1c649d4597d" "d268b67e0935b9ebc427cad88ded41e875abfcc27abd409726a92e55459e0d01" "4b0e826f58b39e2ce2829fab8ca999bcdc076dec35187bf4e9a4b938cb5771dc" "028c226411a386abc7f7a0fba1a2ebfae5fe69e2a816f54898df41a6a3412bb5" "c5ded9320a346146bbc2ead692f0c63be512747963257f18cc8518c5254b7bf5" "8146edab0de2007a99a2361041015331af706e7907de9d6a330a3493a541e5a6" "a6e620c9decbea9cac46ea47541b31b3e20804a4646ca6da4cce105ee03e8d0e" "9b54ba84f245a59af31f90bc78ed1240fca2f5a93f667ed54bbf6c6d71f664ac" "333958c446e920f5c350c4b4016908c130c3b46d590af91e1e7e2a0611f1e8c5" "0466adb5554ea3055d0353d363832446cd8be7b799c39839f387abb631ea0995" "a9a67b318b7417adbedaab02f05fa679973e9718d9d26075c6235b1f0db703c8" "f7fed1aadf1967523c120c4c82ea48442a51ac65074ba544a5aefc5af490893b" "6c531d6c3dbc344045af7829a3a20a09929e6c41d7a7278963f7d3215139f6a7" "c2aeb1bd4aa80f1e4f95746bda040aafb78b1808de07d340007ba898efa484f5" "835868dcd17131ba8b9619d14c67c127aa18b90a82438c8613586331129dda63" "6c98bc9f39e8f8fd6da5b9c74a624cbb3782b4be8abae8fd84cbc43053d7c175" "1d5e33500bc9548f800f9e248b57d1b2a9ecde79cb40c0b1398dec51ee820daf" "f6665ce2f7f56c5ed5d91ed5e7f6acb66ce44d0ef4acfaa3a42c7cfe9e9a9013" "1704976a1797342a1b4ea7a75bdbb3be1569f4619134341bd5a4c1cfb16abad4" "7a7b1d475b42c1a0b61f3b1d1225dd249ffa1abb1b7f726aec59ac7ca3bf4dae" default))
'(exwm-floating-border-color "#d3c5a0")
'(fci-rule-color "#504945")
'(highlight-tail-colors ((("#eee4b4" "#f3f3c1") . 0) (("#e8e5bb" "#eff3cf") . 20)))
'(jdee-db-active-breakpoint-face-colors (cons "#f0f0f0" "#a89984"))
'(jdee-db-requested-breakpoint-face-colors (cons "#f0f0f0" "#79740e"))
'(jdee-db-spec-breakpoint-face-colors (cons "#f0f0f0" "#928374"))
'(objed-cursor-color "#9d0006")
'(package-selected-packages '(visual-fill))
'(pdf-view-midnight-colors (cons "#282828" "#fbf1c7"))
'(rustic-ansi-faces
["#fbf1c7" "#9d0006" "#79740e" "#b57614" "#076678" "#b16286" "#427b58" "#282828"])
'(vc-annotate-background "#fbf1c7")
'(vc-annotate-color-map
(list
(cons 20 "#79740e")
(cons 40 "#8d7410")
(cons 60 "#a17512")
(cons 80 "#b57614")
(cons 100 "#b3620e")
(cons 120 "#b14e08")
(cons 140 "#af3a03")
(cons 160 "#af472e")
(cons 180 "#b0545a")
(cons 200 "#b16286")
(cons 220 "#aa415b")
(cons 240 "#a32030")
(cons 260 "#9d0006")
(cons 280 "#9a2021")
(cons 300 "#97413c")
(cons 320 "#946258")
(cons 340 "#504945")
(cons 360 "#504945")))
'(vc-annotate-very-old-color nil))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

189
.config/doom/init.el Normal file
View File

@@ -0,0 +1,189 @@
;;; init.el -*- lexical-binding: t; -*-
;; This file controls what Doom modules are enabled and what order they load
;; in. Remember to run 'doom sync' after modifying it!
;; NOTE Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
;; documentation. There you'll find a "Module Index" link where you'll find
;; a comprehensive list of Doom's modules and what flags they support.
;; NOTE Move your cursor over a module's name (or its flags) and press 'K' (or
;; 'C-c c k' for non-vim users) to view its documentation. This works on
;; flags as well (those symbols that start with a plus).
;;
;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
;; directory (for easy access to its source code).
(doom! :input
;;chinese
;;japanese
;;layout ; auie,ctsrnm is the superior home row
:completion
company ; the ultimate code completion backend
;;helm ; the *other* search engine for love and life
;;ido ; the other *other* search engine...
;;ivy ; a search engine for love and life
vertico ; the search engine of the future
:ui
;;deft ; notational velocity for Emacs
doom ; what makes DOOM look the way it does
doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs
(emoji +unicode) ; 🙂
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra
;;indent-guides ; highlighted indent columns
;;ligatures ; ligatures and symbols to make your code pretty again
;;minimap ; show a map of the code on the side
modeline ; snazzy, Atom-inspired modeline, plus API
;;nav-flash ; blink cursor line after big motions
;;neotree ; a project drawer, like NERDTree for vim
ophints ; highlight the region an operation acts on
(popup +defaults) ; tame sudden yet inevitable temporary windows
tabs ; a tab bar for Emacs
;;treemacs ; a project drawer, like neotree but cooler
unicode ; extended unicode support for various languages
vc-gutter ; vcs diff in the fringe
vi-tilde-fringe ; fringe tildes to mark beyond EOB
;;window-select ; visually switch windows
workspaces ; tab emulation, persistence & separate workspaces
;;zen ; distraction-free coding or writing
:editor
(evil +everywhere); come to the dark side, we have cookies
file-templates ; auto-snippets for empty files
fold ; (nigh) universal code folding
;;(format +onsave) ; automated prettiness
;;god ; run Emacs commands without modifier keys
;;lispy ; vim for lisp, for people who don't like vim
;;multiple-cursors ; editing in many places at once
;;objed ; text object editing for the innocent
;;parinfer ; turn lisp into python, sort of
;;rotate-text ; cycle region at point between text candidates
snippets ; my elves. They type so I don't have to
word-wrap ; soft wrapping with language-aware indent
:emacs
dired ; making dired pretty [functional]
electric ; smarter, keyword-based electric-indent
;;ibuffer ; interactive buffer management
undo ; persistent, smarter undo for your inevitable mistakes
vc ; version-control and Emacs, sitting in a tree
:term
;;eshell ; the elisp shell that works everywhere
;;shell ; simple shell REPL for Emacs
;;term ; basic terminal emulator for Emacs
vterm ; the best terminal emulation in Emacs
:checkers
syntax ; tasing you for every semicolon you forget
;;(spell +flyspell) ; tasing you for misspelling mispelling
;;grammar ; tasing grammar mistake every you make
:tools
ansible
;;debugger ; FIXME stepping through code, to help you add bugs
;;direnv
docker
;;editorconfig ; let someone else argue about tabs vs spaces
;;ein ; tame Jupyter notebooks with emacs
(eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists
lookup ; navigate your code and its documentation
;;lsp ; M-x vscode
magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs
;;pass ; password manager for nerds
pdf ; pdf enhancements
;;prodigy ; FIXME managing external services & code builders
;;rgb ; creating color strings
;;taskrunner ; taskrunner for all your projects
;;terraform ; infrastructure as code
;;tmux ; an API for interacting with tmux
;;upload ; map local to remote projects via ssh/ftp
:os
(:if IS-MAC macos) ; improve compatibility with macOS
;;tty ; improve the terminal Emacs experience
:lang
;;agda ; types of types of types of types...
;;beancount ; mind the GAAP
;;cc ; C > C++ == 1
clojure ; java with a lisp
;;common-lisp ; if you've seen one lisp, you've seen them all
;;coq ; proofs-as-programs
;;crystal ; ruby at the speed of c
;;csharp ; unity, .NET, and mono shenanigans
;;data ; config/data formats
;;(dart +flutter) ; paint ui and not much else
;;dhall
;;elixir ; erlang done right
;;elm ; care for a cup of TEA?
emacs-lisp ; drown in parentheses
;;erlang ; an elegant language for a more civilized age
;;ess ; emacs speaks statistics
;;factor
;;faust ; dsp, but you get to keep your soul
;;fsharp ; ML stands for Microsoft's Language
;;fstar ; (dependent) types and (monadic) effects and Z3
;;gdscript ; the language you waited for
;;(go +lsp) ; the hipster dialect
;;(haskell +lsp) ; a language that's lazier than I am
;;hy ; readability of scheme w/ speed of python
;;idris ; a language you can depend on
;;json ; At least it ain't XML
;;(java +meghanada) ; the poster child for carpal tunnel syndrome
;;javascript ; all(hope(abandon(ye(who(enter(here))))))
;;julia ; a better, faster MATLAB
;;kotlin ; a better, slicker Java(Script)
;;latex ; writing papers in Emacs has never been so fun
;;lean ; for folks with too much to prove
;;ledger ; be audit you can be
;;lua ; one-based indices? one-based indices
markdown ; writing docs for people to ignore
;;nim ; python + lisp at the speed of c
;;nix ; I hereby declare "nix geht mehr!"
;;ocaml ; an objective camel
org ; organize your plain life in plain text
;;php ; perl's insecure younger brother
;;plantuml ; diagrams for confusing people more
;;purescript ; javascript, but functional
python ; beautiful is better than ugly
;;qt ; the 'cutest' gui framework ever
;;racket ; a DSL for DSLs
;;raku ; the artist formerly known as perl6
;;rest ; Emacs as a REST client
;;rst ; ReST in peace
(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
;;rust ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
;;scala ; java, but good
;;(scheme +guile) ; a fully conniving family of lisps
sh ; she sells {ba,z,fi}sh shells on the C xor
;;sml
;;solidity ; do you need a blockchain? No.
;;swift ; who asked for emoji variables?
;;terra ; Earth and Moon in alignment for performance.
;;web ; the tubes
;;yaml ; JSON, but readable
;;zig ; C, but simpler
:email
(mu4e +org +gmail)
;;notmuch
;;(wanderlust +gmail)
:app
calendar
;;emms
;;everywhere ; *leave* Emacs!? You must be joking
irc ; how neckbeards socialize
(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought
:config
;;literate
(default +bindings +smartparens))

55
.config/doom/packages.el Normal file
View File

@@ -0,0 +1,55 @@
;; -*- no-byte-compile: t; -*-
;;; $DOOMDIR/packages.el
;; To install a package with Doom you must declare them here and run 'doom sync'
;; on the command line, then restart Emacs for the changes to take effect -- or
;; use 'M-x doom/reload'.
(package! org-bullets)
(package! cider)
(package! modus-themes)
(package! visual-fill-column)
(package! no-littering)
;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
;(package! some-package)
;; To install a package directly from a remote git repo, you must specify a
;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
;; https://github.com/raxod502/straight.el#the-recipe-format
;(package! another-package
; :recipe (:host github :repo "username/repo"))
;; If the package you are trying to install does not contain a PACKAGENAME.el
;; file, or is located in a subdirectory of the repo, you'll need to specify
;; `:files' in the `:recipe':
;(package! this-package
; :recipe (:host github :repo "username/repo"
; :files ("some-file.el" "src/lisp/*.el")))
;; If you'd like to disable a package included with Doom, you can do so here
;; with the `:disable' property:
;(package! builtin-package :disable t)
;; You can override the recipe of a built in package without having to specify
;; all the properties for `:recipe'. These will inherit the rest of its recipe
;; from Doom or MELPA/ELPA/Emacsmirror:
;(package! builtin-package :recipe (:nonrecursive t))
;(package! builtin-package-2 :recipe (:repo "myfork/package"))
;; Specify a `:branch' to install a package from a particular branch or tag.
;; This is required for some packages whose default branch isn't 'master' (which
;; our package manager can't deal with; see raxod502/straight.el#279)
;(package! builtin-package :recipe (:branch "develop"))
;; Use `:pin' to specify a particular commit to install.
;(package! builtin-package :pin "1a2b3c4d5e")
;; Doom's packages are pinned to a specific commit and updated from release to
;; release. The `unpin!' macro allows you to unpin single packages...
;(unpin! pinned-package)
;; ...or multiple packages
;(unpin! pinned-package another-pinned-package)
;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
;(unpin! t)

File diff suppressed because it is too large Load Diff

151
.config/nvim/init.vim Normal file
View File

@@ -0,0 +1,151 @@
let mapleader =","
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
echo "Downloading junegunn/vim-plug to manage plugins..."
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
autocmd VimEnter * PlugInstall
endif
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
Plug 'tpope/vim-surround'
Plug 'preservim/nerdtree'
Plug 'junegunn/goyo.vim'
Plug 'jreybert/vimagit'
Plug 'lukesmithxyz/vimling'
Plug 'vimwiki/vimwiki'
Plug 'vim-airline/vim-airline'
Plug 'tpope/vim-commentary'
Plug 'ap/vim-css-color'
Plug 'fatih/vim-go'
Plug 'vlime/vlime'
call plug#end()
set title
set bg=light
set go=a
set mouse=a
set nohlsearch
set clipboard+=unnamedplus
set noshowmode
set noruler
set laststatus=0
set noshowcmd
" Some basics:
nnoremap c "_c
set nocompatible
filetype plugin on
syntax on
set encoding=utf-8
set number relativenumber
" Enable autocompletion:
set wildmode=longest,list,full
" Disables automatic commenting on newline:
autocmd FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
" Perform dot commands over visual blocks:
vnoremap . :normal .<CR>
" Goyo plugin makes text more readable when writing prose:
map <leader>f :Goyo \| set bg=light \| set linebreak<CR>
" Spell-check set to <leader>o, 'o' for 'orthography':
map <leader>o :setlocal spell! spelllang=en_us<CR>
" Splits open at the bottom and right, which is non-retarded, unlike vim defaults.
set splitbelow splitright
" Nerd tree
map <leader>n :NERDTreeToggle<CR>
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
if has('nvim')
let NERDTreeBookmarksFile = stdpath('data') . '/NERDTreeBookmarks'
else
let NERDTreeBookmarksFile = '~/.vim' . '/NERDTreeBookmarks'
endif
" vimling:
nm <leader><leader>d :call ToggleDeadKeys()<CR>
imap <leader><leader>d <esc>:call ToggleDeadKeys()<CR>a
nm <leader><leader>i :call ToggleIPA()<CR>
imap <leader><leader>i <esc>:call ToggleIPA()<CR>a
nm <leader><leader>q :call ToggleProse()<CR>
" Shortcutting split navigation, saving a keypress:
map <C-h> <C-w>h
map <C-j> <C-w>j
map <C-k> <C-w>k
map <C-l> <C-w>l
" Replace ex mode with gq
map Q gq
" Check file in shellcheck:
map <leader>s :!clear && shellcheck -x %<CR>
" Open my bibliography file in split
map <leader>b :vsp<space>$BIB<CR>
map <leader>r :vsp<space>$REFER<CR>
" Replace all is aliased to S.
nnoremap S :%s//g<Left><Left>
" Compile document, be it groff/LaTeX/markdown/etc.
map <leader>c :w! \| !compiler "<c-r>%"<CR>
" Open corresponding .pdf/.html or preview
map <leader>p :!opout <c-r>%<CR><CR>
" Runs a script that cleans out tex build files whenever I close out of a .tex file.
autocmd VimLeave *.tex !texclear %
" Ensure files are read as what I want:
let g:vimwiki_ext2syntax = {'.Rmd': 'markdown', '.rmd': 'markdown','.md': 'markdown', '.markdown': 'markdown', '.mdown': 'markdown'}
map <leader>v :VimwikiIndex
let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.md'}]
autocmd BufRead,BufNewFile /tmp/calcurse*,~/.calcurse/notes/* set filetype=markdown
autocmd BufRead,BufNewFile *.ms,*.me,*.mom,*.man set filetype=groff
autocmd BufRead,BufNewFile *.tex set filetype=tex
" Save file as sudo on files that require root permission
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
" Enable Goyo by default for mutt writing
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo | set bg=light
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
" Automatically deletes all trailing whitespace and newlines at end of file on save.
autocmd BufWritePre * %s/\s\+$//e
autocmd BufWritePre * %s/\n\+\%$//e
autocmd BufWritePre *.[ch] %s/\%$/\r/e
" When shortcut files are updated, renew bash and rager configs with new material:
autocmd BufWritePost bm-files,bm-dirs !shortcuts
" Run xrdb whenever Xdefaults or Xresources are updated.
autocmd BufRead,BufNewFile Xresources,Xdefaults,xresources,xdefaults set filetype=xdefaults
autocmd BufWritePost Xresources,Xdefaults,xresources,xdefaults !xrdb %
" Recompile dwmblocks on config edit.
autocmd BufWritePost ~/.local/src/dwmblocks/config.h !cd ~/.local/src/dwmblocks/; sudo make install && { killall -q dwmblocks;setsid -f dwmblocks }
" Turns off highlighting on the bits of code that are changed, so the line that is changed is highlighted but the actual text that has changed stands out on the line and is readable.
if &diff
highlight! link DiffText MatchParen
endif
" Function for toggling the bottom statusbar:
let s:hidden_all = 1
function! ToggleHiddenAll()
if s:hidden_all == 0
let s:hidden_all = 1
set noshowmode
set noruler
set laststatus=0
set noshowcmd
else
let s:hidden_all = 0
set showmode
set ruler
set laststatus=2
set showcmd
endif
endfunction
nnoremap <leader>h :call ToggleHiddenAll()<CR>

File diff suppressed because it is too large Load Diff

15
.config/user-dirs.dirs Normal file
View File

@@ -0,0 +1,15 @@
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/"
XDG_DOWNLOAD_DIR="$HOME/dls"
XDG_TEMPLATES_DIR="$HOME/"
XDG_PUBLICSHARE_DIR="$HOME/"
XDG_DOCUMENTS_DIR="$HOME/docs"
XDG_MUSIC_DIR="$HOME/music"
XDG_PICTURES_DIR="$HOME/pics"
XDG_VIDEOS_DIR="$HOME/"

14
.config/zsh/.zprofile Normal file
View File

@@ -0,0 +1,14 @@
# Each new shell auto-imports all environment variables.
# Hence exporting needs to be done only once.
# Also, all non-login shells are descendants of a login shell.
# Ergo, exports need to be done in the login shell only.
# Hence, we put exports in .zprofile
# Only vars needed by external commands should be exported.
# Note that you can export vars w/out assigning a value to them.
export XDG_CONFIG_HOME
export XDG_CACHE_HOME=~/.cache
export XDG_DATA_HOME=~/.local/share
export XDG_STATE_HOME=~/.config/zsh
export EDITOR=nvim
export VISUAL=nvim

402
.config/zsh/.zsh_history Normal file
View File

@@ -0,0 +1,402 @@
: 1631168625:0;vim .zshrc
: 1631169669:0;wal ~/Downloads/grain.jpg
: 1631169685:0;wal -b /home/ry/Downloads/grain.jpg
: 1631169702:0;man wal
: 1631169723:0;wal --backend
: 1631169743:0;wal -i /home/ry/Downloads/grain.jpg
: 1631169806:0;ls
: 1631169832:0;mkdir ~/.config/alacritty
: 1631169849:0;vim ~/.config/alacritty/alacritty.yml
: 1631170200:0;wal -i ~/Downloads/grain.jpg
: 1631170207:0;wal -i ~/Downloads/grain.jpg -b
: 1631170222:0;wal -b -i ~/Downloads/grain.jpg
: 1631170346:0;vim ~/.config/awesome/rc.lua
: 1631170969:0;mkdir ~/.config/awesome/themes
: 1631170996:0;cp -R /usr/share/awesome/themes/* ~/.config/awesome/themes
: 1631171002:0;ls
: 1631171003:0;cd .config
: 1631171004:0;ls
: 1631171006:0;cd awesome
: 1631171006:0;ls
: 1631171009:0;vim rc.lua
: 1631171201:0;vim ~/.config/awesome/themes/default
: 1631171246:0;ls
: 1631171255:0;rm -r themes
: 1631171255:0;ls
: 1631171269:0;vim rc.lua
: 1631171553:0;sudo pacman -S inconsolata
: 1631171572:0;sudo pacman -Ss inconsolata
: 1631171580:0;sudo pacman -S ttf-inconsolata
: 1631171776:0;vim rc.lua
: 1631171957:0;sudo pacman -S zip unzip
: 1631171977:0;cd Downloads
: 1631171980:0;unzip Hack-v3.003-ttf.zip
: 1631171981:0;ls
: 1631171987:0;cd ttf
: 1631171988:0;ls
: 1631171989:0;cd ..
: 1631171990:0;ls
: 1631172033:0;cp ttf/* /usr/share/fonts
: 1631172085:0;mv ttf hack
: 1631172096:0;sudo cp hack /usr/share/fonts/
: 1631172104:0;sudo cp -r hack /usr/share/fonts/
: 1631172109:0;ls
: 1631172111:0;cd hack
: 1631172112:0;ls
: 1631172113:0;cd ..
: 1631172217:0;fc-cache -f -v
: 1631172234:0;fc-list | grep "Hack"
: 1631172291:0;vim ~/.config/alacritty/alacritty.yml
: 1631173180:0;sudo pacman -S picom
: 1631173359:0;vim /usr/share/awesome/themes/default/theme.lua
: 1631173453:0;vim rc.lua
: 1631173502:0;vim /usr/share/awesome/themes/default/theme.lua
: 1631173517:0;sudo vim /usr/share/awesome/themes/default/theme.lua
: 1631173575:0;sudo -i
: 1631173807:0;pacman -S --needed lightdm-webkit2-greeter lightdm-webkit-theme-litarvan
: 1631173810:0;sudo pacman -S --needed lightdm-webkit2-greeter lightdm-webkit-theme-litarvan
: 1631173827:0;sudo vim /etc/lightdm/lightdm.conf
: 1631173861:0;sudo vim /etc/lightdm/lightdm-webkit2-greeter.conf
: 1631173882:0;reboot
: 1631174209:0;sudo -i
: 1631174291:0;mv ~/Downloads/grain.jpg ~/Pictures/grain.jpg
: 1631174307:0;vim ~/.config/awesome/rc.lua
: 1631174714:0;man shutdown
: 1631174741:0;man poweroff
: 1631174762:0;poweroff -f
: 1631174765:0;sudo poweroff -f
: 1631203235:0;ls
: 1631203239:0;ls -la
: 1631203437:0;ls
: 1631203442:0;cd Downloads
: 1631203442:0;ls
: 1631203447:0;unzip Attachments-asd.zip
: 1631203449:0;ls
: 1631203459:0;mkdir ~/.ssh
: 1631203463:0;mv config ~/.ssh
: 1631203469:0;mv id_rsa ~/.ssh
: 1631203478:0;mv id_rsa.pub ~/.ssh/
: 1631203487:0;mv known_hosts ~/.ssh
: 1631203490:0;ssh-add
: 1631203502:0;chmod 600 ~/.ssh/id_rsa
: 1631203505:0;chmod 600 ~/.ssh/id_rsa.pub
: 1631203508:0;ssh-add
: 1631203518:0;ssh mail
: 1631204194:0;ls
: 1631205222:0;ls -la
: 1631205240:0;sudo vim /etc/lightdm/lightdm.conf
: 1631205263:0;reboot
: 1631205489:0;ls
: 1631205495:0;ls -la
: 1631205701:0;uname -a
: 1631205719:0;uname
: 1631205722:0;name -a
: 1631205725:0;uname -a
: 1631206735:0;vim ~/.config/awesome/rc.lua
: 1631206901:0;ssh mail
: 1631207021:0;sudo pacman -S terminfo
: 1631207026:0;terminfo
: 1631207140:0;vim ~/.config/alacritty/alacritty.yml
: 1631207171:0;ssh mail
: 1631207341:0;vim ~/.zshrc
: 1631207398:0;vim ~/.config/alacritty/alacritty.yml
: 1631207419:0;ssh mail
: 1631207707:0;xflock4
: 1631208953:0;ssh mail
: 1631209463:0;ls -la /etc/lightdm
: 1631209504:0;sudo systemctl status lightdm
: 1631209564:0;sudo vim /etc/lightdm/lightdm.conf
: 1631210719:0;ssh mail
: 1631211283:0;ls
: 1631211284:0;ls -la
: 1631211293:0;cat .Xauthority
: 1631211299:0;cat .xsession-errors
: 1631211316:0;ls
: 1631211443:0;vim ~/.xprofile
: 1631211488:0;sudo -i
: 1631211817:0;ls
: 1631211820:0;vim ~/.xsession-errors
: 1631211833:0;vim ~/.Xsession
: 1631211958:0;which nitrogen
: 1631212118:0;lightdm --version
: 1631212155:0;vim ~/.config/awesome/rc.lua
: 1631213050:0;sudo pacman -Rs nitrogen
: 1631213259:0;vim ~/.config/awesome/rc.lua
: 1631213504:0;sudo -i
: 1631213545:0;ls
: 1631213547:0;cd .config
: 1631213547:0;ls
: 1631213552:0;cd awesome
: 1631213557:0;sudo chmod 644 default
: 1631213557:0;ls
: 1631213558:0;ls -la
: 1631213574:0;sudo chmod 744 default
: 1631213575:0;ls
: 1631213576:0;ls -la
: 1631213578:0;cd default
: 1631213578:0;ls
: 1631213587:0;sudo chown ry:ry default
: 1631213588:0;ls
: 1631213589:0;ls -la
: 1631213590:0;cd default
: 1631213591:0;ls
: 1631213592:0;ls -la
: 1631213600:0;sudo chown -r ry:ry default
: 1631213603:0;sudo chown -R ry:ry default
: 1631213609:0;sudo chown -R ry:ry ../default
: 1631213610:0;ls -la
: 1631213618:0;vim theme.lua
: 1631213715:0;vim ../rc.lua
: 1631213765:0;SSH MAIL
: 1631213767:0;ssh mail
: 1631214012:0;ls
: 1631214014:0;ls -la
: 1631214018:0;pwd
: 1631214068:0;ls
: 1631214073:0;vim theme.lua
: 1631214117:0;cd .config
: 1631214117:0;ls
: 1631214293:0;cd ..
: 1631214293:0;ls
: 1631214321:0;vim autorun.sh
: 1631214406:0;cp ~/Pictures/grain.jpg ~/.config/
: 1631214415:0;rm ~/.config/grain.jpg
: 1631214421:0;sudo pacman -S feh
: 1631214469:0;which wal
: 1631214660:0;wal -i ~/Pictures/grain.jpg
: 1631214675:0;sudo pacman -S imagemagick
: 1631214710:0;wal -i ~/Pictures/grain.jpg
: 1631214795:0;ls
: 1631214803:0;vim default/theme.lua
: 1631214822:0;vim rc.lua
: 1631215060:0;ls
: 1631215061:0;pwd
: 1631215077:0;mkdir themes
: 1631215082:0;mv default themes
: 1631215083:0;ls
: 1631215116:0;vim themes/default/theme.lua
: 1631215219:0;cp ~/Pictures/grain.jpg ~/.config/awesome/themes/default/pic.jpg
: 1631215475:0;ls ~/.config/awesome/themes/default/pic.jpg
: 1631215559:0;ls
: 1631215578:0;ls -la
: 1631215601:0;chmod -R 664 ~/.config
: 1631215612:0;ls -la
: 1631215614:0;cd ..
: 1631215615:0;ls -la
: 1631215616:0;cd
: 1631215617:0;ls -la
: 1631215633:0;sudo chmod -R 664 ~/.config
: 1631215647:0;ls
: 1631215649:0;cd .config
: 1631215650:0;ls
: 1631215651:0;ls -la
: 1631215666:0;sudo chmod -R 774 ~/.config
: 1631215773:0;~
: 1631215774:0;ls
: 1631215836:0;cd .config/awesome
: 1631215836:0;ls
: 1631215837:0;ls -la
: 1631215852:0;vim themes/default/theme.lua
: 1631216516:0;sudo pacman -Syyu
: 1631216552:0;vim /etc/pacman.conf
: 1631216635:0;ls
: 1631216643:0;vim ~/.config/user-dirs.locale
: 1631216648:0;vim ~/.config/user-dirs.dirs
: 1631216688:0;ls
: 1631216695:0;rm -r Desktop
: 1631216695:0;ls
: 1631216700:0;mv Documents docs
: 1631216707:0;mv Downloads dls
: 1631216708:0;ls
: 1631216715:0;mv Music music
: 1631216718:0;mv Pictures pics
: 1631216731:0;ls
: 1631216734:0;rm Public Templates
: 1631216738:0;rm -r Public Templates
: 1631216739:0;ls
: 1631216743:0;mv Videos vids
: 1631216743:0;ls
: 1631216803:0;cd scripts
: 1631216803:0;ls
: 1631216816:0;ls -la
: 1631216945:0;ls
: 1631216975:0;sudo pacman -S neovim
: 1631216988:0;ls
: 1631216991:0;neofetch
: 1631217001:0;ls
: 1631217034:0;cd ~/.config
: 1631217034:0;ls
: 1631217037:0;ls -la
: 1631217056:0;vim neofetch/config.conf
: 1631217261:0;ssh mail
: 1631218022:0;ls
: 1631218031:0;sudo vim /etc/pacman.conf
: 1631218049:0;sudo cp /etc/pacman.conf /etc/pacman.conf.bak
: 1631218053:0;ls
: 1631218057:0;vim /etc/pacman.conf
: 1631218083:0;sudo vim /etc/pacman.conf
: 1631218112:0;man pacman
: 1631218129:0;pacman -Q endeavor
: 1631218130:0;pacman -Q endeavor*
: 1631218133:0;pacman -Q
: 1631218186:0;pacman -S | tee ~/output.txt
: 1631218193:0;pacman -Q | tee ~/output.txt
: 1631218195:0;ls
: 1631218470:0;sudo pacman -Rs endeavoros-keyring endeavoros-mirrorlist endeavor-skel-xfce4 endeavoros-theming endeavoros-xfce4-terminal-colors eos-apps-info eos-bash-shared eos-hooks eos-log-tool eos-rankmirrors eos-translations eos-update-notifier
: 1631218515:0;pacman -Q endeavouros-keyring
: 1631218522:0;pacman -R endeavouros-keyring
: 1631218525:0;sudo pacman -R endeavouros-keyring
: 1631218533:0;sudo pacman -R endeavouros-mirrorlist
: 1631218548:0;sudo pacman -R endeavouros-skel-xfce4 endeavouros-theming endeavouros-xfce4-terminal-colors
: 1631218566:0;sudo pacman -R eos-bash-shared
: 1631218576:0;sudo pacman -R eos-log-tool
: 1631218580:0;sudo pacman -R eos-hooks
: 1631218585:0;sudo pacman -R eos-rankmirrors
: 1631218591:0;sudo pacman -R eos-apps-info
: 1631218596:0;sudo pacman -R eos-bash-shared
: 1631218601:0;sudo pacman -R eos-translations
: 1631218606:0;sudo pacman -R eos-update-notifier
: 1631218612:0;sudo pacman -R welcome
: 1631218622:0;sudo pacman -R endeavouros-skel-xfce4
: 1631218627:0;sudo pacman -R endeavouros-theming
: 1631218636:0;sudo pacman -R endeavouros-xfce4-terminal-colors
: 1631218640:0;sudo pacman -R endeavouros-theming
: 1631218648:0;sudo pacman -R eos-bash-shared
: 1631218655:0;sudo pacman -R reflector-simple
: 1631218658:0;sudo pacman -R eos-bash-shared
: 1631218661:0;sudo pacman -R endeavouros-theming
: 1631218678:0;sudo pacman -Syyu
: 1631218728:0;sudo pacman -Scc
: 1631218753:0;pacman -S filesystem
: 1631218756:0;sudo pacman -S filesystem
: 1631218763:0;sudo pacman -S grub
: 1631218775:0;vim /etc/default/grub
: 1631218794:0;sudo -i
: 1631219694:0;ssh mail
: 1631220256:0;sudo pacman -S zathura-pdf-mupdf
: 1631220336:0;ssh mail
: 1631223216:0;uname -r
: 1631223220:0;neofetch
: 1631223230:0;pacman -S lsb-release
: 1631223233:0;sudo pacman -S lsb-release
: 1631223240:0;neofetch
: 1631223251:0;ls
: 1631223253:0;cd bin
: 1631223253:0;ls
: 1631223319:0;vim ~/.config/user-dirs.dirs
: 1631223334:0;cd
: 1631223340:0;rm -rf Public Templates Desktop
: 1631223341:0;ls
: 1631223361:0;cd go
: 1631223361:0;ls
: 1631223362:0;cd ..
: 1631223363:0;rm go
: 1631223364:0;ls
: 1631223367:0;rm -r go
: 1631223367:0;ls
: 1631223370:0;rm output.txt
: 1631223371:0;ls
: 1631223379:0;vim ~/.config/user-dirs.dirs
: 1631223451:0;ls
: 1631223453:0;rm -r Desktop
: 1631223453:0;ls
: 1631223455:0;ls -la
: 1631223458:0;ls
: 1631224903:0;pkill lightdm
: 1631224906:0;sudo pkill lightdm
: 1631225001:0;pacman -Q | grep lightdm
: 1631225014:0;ls
: 1631225048:0;xdg-user-dirs-update
: 1631225056:0;rm -r Desktop Public Templates
: 1631225056:0;ls
: 1631225067:0;vim ~/.config/user-dirs.dirs
: 1631225082:0;ls
: 1631225977:0;cd .config
: 1631225977:0;ls
: 1631226648:0;git init
: 1631226679:0;ls
: 1631226683:0;vim .gitignore
: 1631226723:0;cd .config
: 1631226729:0;ls
: 1631226785:0;git add .
: 1631226788:0;git commit -m "first"
: 1631226803:0;git config --global user.email "rpem66@pm.me"
: 1631226825:0;git config --global user.name "Ry"
: 1631226826:0;ls
: 1631226830:0;git commit -m "first"
: 1631226835:0;ls
: 1631226854:0;git remote add origin http://git.tr909.sh/ry/dotfiles.git
: 1631226858:0;git push origin master
: 1631226882:0;cd .config
: 1631226885:0;vim .gitignore
: 1631226935:0;git add .
: 1631226939:0;git commit -m "first"
: 1631226942:0;git push origin master
: 1631227729:0;cd bin
: 1631227735:0;$ git clone --depth=1 https://github.com/adi1090x/rofi.git
: 1631227743:0;git clone --depth=1 https://github.com/adi1090x/rofi.git
: 1631227745:0;ls
: 1631227750:0;cd rofi
: 1631227750:0;ls
: 1631227759:0;chmod +x setup.sh
: 1631227762:0;./setup.sh
: 1631227876:0;vim ~/.config/rofi/launchers/text/launcher.sh
: 1631227970:0;vim ~/.config/awesome/rc.lua
: 1631228023:0;ls
: 1631228028:0;cd ..
: 1631228029:0;ls
: 1631228032:0;cd ~/.config/rofi
: 1631228033:0;l
: 1631228034:0;ls
: 1631228040:0;./launchers/text/launcher.sh
: 1631228048:0;vim ~/.config/rofi/launchers/text/launcher.sh
: 1631228090:0;vim ~/.config/rofi/launchers/text/styles/colors.rasi
: 1631228146:0;vim ~/.config/rofi/launchers/text/launcher.sh
: 1631228157:0;vim ~/.config/awesome/rc.lua
: 1631228217:0;vim ~/.config/rofi/launchers/text/launcher.sh
: 1631228284:0;vim ~/.config/rofi/launchers/text/styles/colors.rasi
: 1631228353:0;;s
: 1631228354:0;ls
: 1631228355:0;cd ..
: 1631228355:0;ls
: 1631228362:0;git add .
: 1631228368:0;git commit -m "added rofi stuff"
: 1631228373:0;git push origin master
: 1631228433:0;ls
: 1631228527:0;sudo vim /etc/zsh/zshenv
: 1631228550:0;mkdir ~/.config/zsh
: 1631228566:0;mv ~/.zshrc ~/.config/zsh
: 1631228567:0;ls
: 1631228584:0;source ~/.config/zsh/.zshrc
: 1631228593:0;ls
: 1631228594:0;ls -la
: 1631228603:0;rm -rf EOS-greeter.conf
: 1631228607:0;rm EOS-initial-wallpaper.XFCE
: 1631228608:0;ls
: 1631228613:0;rm reflector-simple-free-params.txt
: 1631228623:0;sudo pacman -Rs neofetch
: 1631228625:0;ls
: 1631228629:0;rm -r neofetch
: 1631228629:0;ls
: 1631228632:0;cd ../bin
: 1631228633:0;ls
: 1631228647:0;git clone https://github.com/dylanaraps/pfetch.git
: 1631228650:0;ls
: 1631228652:0;cd pfetch
: 1631228652:0;ls
: 1631228655:0;cat README.md
: 1631228672:0;make pfetch
: 1631228674:0;ls
: 1631228677:0;sudo make install pfetch
: 1631228686:0;sudo make pfetch
: 1631228709:0;make install pfetch
: 1631228712:0;make install
: 1631228714:0;sudo make install
: 1631228715:0;ls
: 1631228716:0;pfetch
: 1631228726:0;vim ~/.config/zsh/.zshrc
: 1631228785:0;cd .config
: 1631228785:0;ls
: 1631228788:0;vim .gitignore
: 1631228808:0;ls
: 1631228818:0;mv ~/.zsh_history ~/.config/zsh/

65
.config/zsh/.zshrc Normal file
View File

@@ -0,0 +1,65 @@
# --- zsh config --- #
export ZSH="$XDG_CONFIG_HOME/oh-my-zsh"
HISTFILE=$XDG_CONFIG_HOME/zsh/.history
ZSH_THEME="mrtazz"
DISABLE_AUTO_UPDATE="true"
ENABLE_CORRECTION="true"
plugins=(git)
# This has to stay below plugins.
source $ZSH/oh-my-zsh.sh
# --- user paths --- #
# scripts
export PATH=/home/ry/scripts:$PATH
# cron scripts
export PATH=/home/ry/scripts/cron-scripts:$PATH
# rust
export PATH=/home/ry/.cargo/bin:$PATH
# bin
export PATH=/bin:$PATH
# --- locale --- #
export LANG=en_US.UTF-8
# --- autostart --- #
pfetch
# --- Functions --- #
# Move files to trash folder instead.
del () { mv "$@" $HOME/.local/share/Trash/files/.; }
# Make directory and CD into it.
mkcd () { mkdir -p -- "$1" && cd -P -- "$1" }
# --- Aliases --- #
# dnf
alias install="sudo dnf -y install"
alias remove="sudo dnf remove"
alias search="dnf search"
alias update="sudo dnf update"
# qol
alias vi="nvim"
alias vim="nvim"
alias unmount="umount"
# systemD
alias sr="sudo systemctl restart"
alias se="sudo systemctl enable"
alias sen="sudo systemctl enable --now"
alias sd="sudo systemctl disable"
# git
alias ga="git add"
alias gc="git commit -m"
alias gs="git status"
alias gd="git diff"
alias gm="git merge"
alias gp="git push"
alias gco="git checkout"
# config
alias zshrc="vim ~/.config/zsh/.zshrc"
alias zshrcsource="source ~/.config/zsh/.zshrc"
# firewalld
alias fcmd="firewall-cmd"

3
.config/zsh/history Normal file
View File

@@ -0,0 +1,3 @@
: 1633197304:0;ls
: 1633197308:0;vim .zshrc
: 1633197317:0;zshrcsource

View File

@@ -0,0 +1 @@
{ }

View File

@@ -0,0 +1,14 @@
{
"default.route.alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00:profile:off": [ ],
"default.route.alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic:profile:off": [ ],
"default.route.alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00:profile:output:analog-stereo+input:mono-fallback": [ "analog-output-speaker" ],
"default.route.alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic:profile:HiFi": [ ],
"default.route.alsa_card.usb-C-Media_Electronics_Inc._USB_Audio_Device-00:output:analog-output-speaker": { "mute": false, "volumes": [ 0.438993, 0.438993 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 0 },
"default.route.alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic:output:[Out] Speaker": { "mute": false, "volumes": [ 0.551383, 0.551383 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 0 },
"default.route.alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic:input:[In] Mic1": { "mute": true, "volumes": [ 0.399992, 0.399992, 0.399992, 0.399992 ], "channels": [ "FL", "FR", "RL", "RR" ], "latencyOffsetNsec": 0 },
"default.route.bluez_card.00_1B_66_BD_13_AA:profile:a2dp-sink-aac": [ "headphone-output" ],
"default.route.bluez_card.00_1B_66_BD_13_AA:output:headphone-output": { "mute": false, "volumes": [ 0.214304, 0.214304 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 0 },
"default.route.bluez_card.B8_F6_53_95_E8_5B:profile:a2dp-sink-sbc": [ "speaker-output" ],
"default.route.bluez_card.B8_F6_53_95_E8_5B:output:speaker-output": { "mute": false, "volumes": [ 0.830590, 0.830590 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 0 },
"default.route.alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic:output:[Out] Headphones": { "mute": false, "volumes": [ 0.031800, 0.031800 ], "channels": [ "FL", "FR" ], "latencyOffsetNsec": 0 }
}

View File

@@ -0,0 +1,12 @@
{
"restore.stream.Output/Audio.application.name:Firefox": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] },
"restore.stream.Output/Audio.media.role:Notification": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] },
"restore.stream.Output/Audio.application.name:eSpeak": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000 ] },
"restore.stream.Output/Audio.application.name:speech-dispatcher-espeak-ng": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000 ], "channels": [ "MONO" ] },
"restore.stream.Output/Audio.application.name:speech-dispatcher-dummy": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000 ], "channels": [ "MONO" ] },
"restore.stream.Output/Audio.application.name:Tor Browser": { "volume": 1.000000, "mute": false, "volumes": [ 0.000000, 0.000000 ], "channels": [ "FL", "FR" ] },
"restore.stream.Input/Audio.application.name:GNOME Settings": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000 ], "channels": [ "MONO" ] },
"restore.stream.Output/Audio.application.name:VirtualBoxVM": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] },
"restore.stream.Output/Audio.application.name:Chromium": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] },
"restore.stream.Output/Audio.application.name:WEBRTC VoiceEngine": { "volume": 1.000000, "mute": false, "volumes": [ 1.000000, 1.000000 ], "channels": [ "FL", "FR" ] }
}

39
.gitmodules vendored Normal file
View File

@@ -0,0 +1,39 @@
[submodule ".config/oh-my-zsh"]
path = .config/oh-my-zsh
url = https://github.com/ohmyzsh/ohmyzsh.git
[submodule ".config/nvim/plugged/vlime"]
path = .config/nvim/plugged/vlime
url = https://github.com/vlime/vlime.git
[submodule ".config/nvim/plugged/vimwiki"]
path = .config/nvim/plugged/vimwiki
url = https://github.com/vimwiki/vimwiki.git
[submodule ".config/nvim/plugged/vimling"]
path = .config/nvim/plugged/vimling
url = https://github.com/lukesmithxyz/vimling.git
[submodule ".config/nvim/plugged/vimagit"]
path = .config/nvim/plugged/vimagit
url = https://github.com/jreybert/vimagit.git
[submodule ".config/nvim/plugged/vim-surround"]
path = .config/nvim/plugged/vim-surround
url = https://github.com/tpope/vim-surround.git
[submodule ".config/nvim/plugged/vim-go"]
path = .config/nvim/plugged/vim-go
url = https://github.com/fatih/vim-go.git
[submodule ".config/nvim/plugged/vim-css-color"]
path = .config/nvim/plugged/vim-css-color
url = https://github.com/ap/vim-css-color.git
[submodule ".config/nvim/plugged/vim-commentary"]
path = .config/nvim/plugged/vim-commentary
url = https://github.com/tpope/vim-commentary.git
[submodule ".config/nvim/plugged/vim-airline"]
path = .config/nvim/plugged/vim-airline
url = https://github.com/vim-airline/vim-airline.git
[submodule ".config/nvim/plugged/nerdtree"]
path = .config/nvim/plugged/nerdtree
url = https://github.com/preservim/nerdtree.git
[submodule ".config/nvim/plugged/goyo.vim"]
path = .config/nvim/plugged/goyo.vim
url = https://github.com/junegunn/goyo.vim.git
[submodule ".config/emacs"]
path = .config/emacs
url = https://github.com/hlissner/doom-emacs

4
.stow-local-ignore Normal file
View File

@@ -0,0 +1,4 @@
\.git
^/.*\.org
LICENSE
README:

10
.zshenv Normal file
View File

@@ -0,0 +1,10 @@
if [[ -z "$XDG_CONFIG_HOME" ]]
then
export XDG_CONFIG_HOME="$HOME/.config"
fi
if [[ -d "$XDG_CONFIG_HOME/zsh" ]]
then
export ZDOTDIR="$XDG_CONFIG_HOME/zsh"
fi
. "$HOME/.cargo/env"

249
Emacs.org Normal file
View File

@@ -0,0 +1,249 @@
#+title: Emacs Custom Configuration File
#+PROPERTY: header-args:emacs-lisp :tangle /home/ry/.dotfiles/.config/doom/config.el
* Preface
This document contains the fundamental elements of my Emacs configuration. Changes made to this file will reflect in init.el.
* Table of Contents
:PROPERTIES:
:TOC: :include all :ignore this
:END:
* General Configuration
** Keep Folders Clean
Emacs package configuration files aren't standardized and as a result sometimes packages litter the emacs config folder. no-littering ensures that packages are kept organized.
#+begin_src emacs-lisp
;; Keep emacs folder tidy.
(use-package no-littering)
#+end_src
** User Interface
#+begin_src emacs-lisp
;; Disables the doom splash screen
(setq inhibit-startup-message t)
(set-fringe-mode 10)
;; scroll 1 line at a time
(setq scroll-step 1)
;; Set visible bell
(setq visible-bell t)
(dolist (mode '(org-mode-hook
shell-mode-hook))
(add-hook mode (lambda () (display-line-numbers-mode 0))))
#+end_src
* Theme Configuration
I am using [[https://protesilaos.com/modus-themes/][Modus Themes]], by [[https://protesilaos.com/][Protesilaos Stavrou]] as they are minimal, pleasant to the eye, and conform to accessibility standards as outlined in [[https://www.w3.org/WAI/WCAG2AAA-Conformance][WCAG AAA]].
** Modus Theme Configuration
#+begin_src emacs-lisp
;; Configure Modus theme
(use-package modus-themes
:init
(setq modus-themes-italic-constructs t
modus-themes-bold-constructs nil
modus-themes-region '(accented bg-only no-extend)
modus-themes-org-blocks 'greyscale
modus-themes-paren-match 'intense
modus-themes-mixed-fonts t)
;; Load the theme files before enabling a theme
(modus-themes-load-themes)
:config
(modus-themes-load-vivendi) ;; OR (modus-themes-load-vivendi)
:bind ("<f5>" . modus-themes-toggle))
#+end_src
** Font Configuration
Using [[https://github.com/tonsky/FiraCode][Fira Code]] + Fira Code Retina.
#+begin_src emacs-lisp
;; Set fonts
(set-face-attribute 'default nil :font "Fira Code" :height 125 :weight 'medium)
(set-face-attribute 'variable-pitch nil :font "Fira Sans" :height 1.0 :weight 'regular)
(set-face-attribute 'fixed-pitch nil :font "Fira Code" :height 1.0 :weight 'medium)
#+end_src
* Org Mode Configuration
** Org Directory
#+begin_src emacs-lisp
;; Set org-mode directories
(setq org-directory
'("~/org/"
"~/.config/doom"))
#+end_src
** General Configuration
#+begin_src emacs-lisp
(defun rymacs/org-mode-setup ()
(org-indent-mode)
(variable-pitch-mode 1)
(visual-line-mode 1))
#+end_src
** Center Org Buffers
#+begin_src emacs-lisp
(defun rymacs/org-mode-visual-fill ()
(setq visual-fill-column-width 100
visual-fill-column-center-text t)
(visual-fill-column-mode 1))
(use-package visual-fill-column
:hook (org-mode . rymacs/org-mode-visual-fill))
#+end_src
** Set Fonts and Symbols
Here we are setting general font configuration in order to make editing in org mode a bit more streamlined to look at.
#+begin_src emacs-lisp
;; Change dashes to dots
(defun rymacs/org-font-setup ()
(font-lock-add-keywords 'org-mode
'(("^ *\\([-]\\) "
(0 (prog1 () (compose-region (match-beginning 1) (match-end 1) ""))))))
;; Set faces for heading levels
(dolist (face '((org-level-1 . 1.2)
(org-level-2 . 1.1)
(org-level-3 . 1.05)
(org-level-4 . 1.0)
(org-level-5 . 1.1)
(org-level-6 . 1.1)
(org-level-7 . 1.1)
(org-level-8 . 1.1)))
(set-face-attribute (car face) nil :font "Cantarell" :weight 'regular :height (cdr face)))
;; Ensure that anything that should be fixed-pitch in Org files appears that way
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-table nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch))
;; Change ellipsis to triangles
(use-package org
:hook (org-mode . rymacs/org-mode-setup)
:config
(setq org-ellipsis "")
(rymacs/org-font-setup))
;; Change default pretty bullets to circles
(use-package org-bullets
:after org
:hook (org-mode . org-bullets-mode)
:custom
(org-bullets-bullet-list '("" "" "" "" "" "" "")))
#+end_src
** Visual Fill Mode
#+begin_src emacs-lisp
(defun rymacs/org-mode-visual-fill ()
(setq visual-fill-column-width 100
visual-fill-column-center-text t)
(visual-fill-column-mode 1))
(use-package visual-fill-column
:hook (org-mode . rymacs/org-mode-visual-fill))
#+end_src
** Org Babel
Org Babel allows us to evaluate source code blocks within org mode. With this functionality, we can tell org babel to insert the content of the source block codes into any file specified by using the org-babel-tangle function.
*** Babel Languages
#+begin_src emacs-lisp
;; Load languages for babel code blocks.
(with-eval-after-load 'org
(org-babel-do-load-languages
'org-babel-load-languages
'((emacs-lisp . t)
(python .t)))
(push '("conf-unix" . conf-unix) org-src-lang-modes))
#+end_src
*** Soure Block Creation Shortcuts
Here we use a package called org-tempo.
#+begin_src emacs-lisp
;; Make shortcuts to easily create babel source code blocks.
(with-eval-after-load 'org
(require 'org-tempo)
(add-to-list 'org-structure-template-alist '("sh" . "src shell"))
(add-to-list 'org-structure-template-alist '("el" . "src emacs-lisp"))
(add-to-list 'org-structure-template-alist '("py" . "src python")))
#+end_src
*** Babel => Configuration File Automation Hook
TODO: This needs to be fixed, or find an equiv.
Since we don't want to have to manually use the org-babel-tangle function everytime we make changes to the corresponding .org file, we create an automation hook that executes the function every time we save.
#+begin_src emacs-lisp
;; ;; Define a function that automatically executes rymacs/org-babel-tangle-config (a wrapper around org-babel-tangle) when saving this file.
;; (defun rymacs/org-babel-tangle-config ()
;; (when (string-equal (file-name-directory (buffer-file-name))
;; (expand-file-name "~/.dotfiles/.config/doom"))
;; (let ((org-confirm-babel-evaluate nil))
;; (org-babel-tangle))))
;; (add-hook 'org-mode-hook (lambda () (add-hook 'after-save-hook #'rymacs/org-babel-tangle-config)))
#+end_src
* Remote Aliases
#+begin_src emacs-lisp
(defun connect-borg ()
(interactive)
(dired "/ssh:root@207.66.177.26#46668:/"))
#+end_src