Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
commit
7af9c5dc03
41 changed files with 702 additions and 66 deletions
549
.config/alacritty/alacritty.yml
Normal file
549
.config/alacritty/alacritty.yml
Normal file
|
@ -0,0 +1,549 @@
|
|||
# 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: 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: 0
|
||||
lines: 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: 2
|
||||
y: 2
|
||||
|
||||
# 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
|
||||
|
||||
# When true, alacritty starts maximized.
|
||||
start_maximized: false
|
||||
|
||||
scrolling:
|
||||
# Maximum number of lines in the scrollback buffer.
|
||||
# Specifying '0' will disable scrolling.
|
||||
history: 10000
|
||||
|
||||
# Number of lines the viewport will move for every line scrolled when
|
||||
# scrollback is enabled (history > 0).
|
||||
multiplier: 3
|
||||
|
||||
# Faux Scrolling
|
||||
#
|
||||
# The `faux_multiplier` setting controls the number of lines the terminal
|
||||
# should scroll when the alternate screen buffer is active. This is used
|
||||
# to allow mouse scrolling for applications like `man`.
|
||||
#
|
||||
# Specifying `0` will disable faux scrolling.
|
||||
faux_multiplier: 3
|
||||
|
||||
# Scroll to the bottom when new text is written to the terminal.
|
||||
auto_scroll: false
|
||||
|
||||
# Spaces per Tab (changes require restart)
|
||||
#
|
||||
# This setting defines the width of a tab in cells.
|
||||
#
|
||||
# Some applications, like Emacs, rely on knowing about the width of a tab.
|
||||
# To prevent unexpected behavior in these applications, it's also required to
|
||||
# change the `it` value in terminfo when altering this setting.
|
||||
tabspaces: 8
|
||||
|
||||
# Font configuration (changes require restart)
|
||||
font:
|
||||
# Normal (roman) font face
|
||||
normal:
|
||||
# Font family
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) Menlo
|
||||
# - (Linux) monospace
|
||||
# - (Windows) Consolas
|
||||
family: Fira Code
|
||||
|
||||
# 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: Fira Code
|
||||
|
||||
# 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: Fira Code
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
#style: Italic
|
||||
|
||||
# Point size
|
||||
size: 9.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: -2
|
||||
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 upwards.
|
||||
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`
|
||||
#
|
||||
# macOS >= 10.14.x:
|
||||
#
|
||||
# If the font quality on non-retina display looks bad then set
|
||||
# `use_thin_strokes` to `true` and enable font smoothing by running the
|
||||
# following command:
|
||||
# `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO`
|
||||
#
|
||||
# This is a global setting and will require a log out or restart to take
|
||||
# effect.
|
||||
use_thin_strokes: true
|
||||
|
||||
# Display the time it takes to redraw each frame.
|
||||
render_timer: false
|
||||
|
||||
# Keep the log file after quitting Alacritty.
|
||||
persistent_logging: false
|
||||
|
||||
# If `true`, bold text is drawn using the bright color variants.
|
||||
draw_bold_text_with_bright_colors: false
|
||||
# Colors (Iceberg)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x161821'
|
||||
foreground: '0xd2d4de'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x161821'
|
||||
red: '0xe27878'
|
||||
green: '0xb4be82'
|
||||
yellow: '0xe2a478'
|
||||
blue: '0x84a0c6'
|
||||
magenta: '0xa093c7'
|
||||
cyan: '0x89b8c2'
|
||||
white: '0xc6c8d1'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x6b7089'
|
||||
red: '0xe98989'
|
||||
green: '0xc0ca8e'
|
||||
yellow: '0xe9b189'
|
||||
blue: '0x91acd1'
|
||||
magenta: '0xada0d3'
|
||||
cyan: '0x95c4ce'
|
||||
white: '0xd2d4de'
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '0x000000'
|
||||
# red: '0x8c3336'
|
||||
# green: '0x7a8530'
|
||||
# yellow: '0x97822e'
|
||||
# blue: '0x506d8f'
|
||||
# magenta: '0x80638e'
|
||||
# cyan: '0x497e7a'
|
||||
# white: '0x9a9a9a'
|
||||
|
||||
# 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: '0xff00ff' }`
|
||||
#
|
||||
indexed_colors: []
|
||||
|
||||
# Visual Bell
|
||||
#
|
||||
# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
|
||||
# rung, the terminal background will be set to white and transition back to the
|
||||
# default background color. You can control the rate of this transition by
|
||||
# setting the `duration` property (represented in milliseconds). You can also
|
||||
# configure the transition function by setting the `animation` property.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#
|
||||
# Specifying a `duration` of `0` will disable the visual bell.
|
||||
visual_bell:
|
||||
animation: EaseOutCubic
|
||||
duration: 0
|
||||
color: '0x222220'
|
||||
|
||||
# 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: 0.99
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Available fields:
|
||||
# - mouse
|
||||
# - action
|
||||
# - mods (optional)
|
||||
#
|
||||
# Values for `mouse`:
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# All available `mods` and `action` values are documented in the key binding
|
||||
# section.
|
||||
mouse_bindings:
|
||||
- { mouse: Middle, action: PasteSelection }
|
||||
|
||||
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 `None`, URL launching will be disabled completely.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) open
|
||||
# - (Linux) xdg-open
|
||||
# - (Windows) explorer
|
||||
#launcher: xdg-open
|
||||
|
||||
# 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
|
||||
|
||||
selection:
|
||||
semantic_escape_chars: ",│`|:\"' ()[]{}<>"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
save_to_clipboard: true
|
||||
|
||||
# Allow terminal applications to change Alacritty's window title.
|
||||
dynamic_title: true
|
||||
|
||||
cursor:
|
||||
# Cursor style
|
||||
#
|
||||
# Values for `style`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
style: Beam
|
||||
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
unfocused_hollow: true
|
||||
|
||||
# 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:
|
||||
# - (Linux/macOS) /bin/bash --login
|
||||
# - (Windows) powershell
|
||||
#shell:
|
||||
# program: /bin/bash
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
# Windows 10 ConPTY backend (Windows only)
|
||||
#
|
||||
# This will enable better color support and may resolve other issues,
|
||||
# however this API and its implementation is still young and so is
|
||||
# disabled by default, as stability may not be as good as the winpty
|
||||
# backend.
|
||||
#
|
||||
# Alacritty will fall back to the WinPTY automatically if the ConPTY
|
||||
# backend cannot be initialized.
|
||||
enable_experimental_conpty_backend: false
|
||||
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
alt_send_esc: true
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. Each binding will specify a
|
||||
# key and modifiers required to trigger it, terminal modes where the binding is
|
||||
# applicable, and what should be done when the key binding fires. It can either
|
||||
# send a byte sequence to the running application (`chars`), execute a
|
||||
# predefined action (`action`) or fork and execute a specified command plus
|
||||
# arguments (`command`).
|
||||
#
|
||||
# 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 `None` action.
|
||||
#
|
||||
# Example:
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Available fields:
|
||||
# - key
|
||||
# - mods (optional)
|
||||
# - chars | action | command (exactly one required)
|
||||
# - mode (optional)
|
||||
#
|
||||
# Values for `key`:
|
||||
# - `A` -> `Z`
|
||||
# - `F1` -> `F12`
|
||||
# - `Key1` -> `Key0`
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/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`
|
||||
#
|
||||
# Values for `mods`:
|
||||
# - Command
|
||||
# - Control
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
|
||||
# Whitespace and capitalization is relevant and must match the example.
|
||||
#
|
||||
# Values for `chars`:
|
||||
# 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.
|
||||
#
|
||||
# Values for `action`:
|
||||
# - Paste
|
||||
# - PasteSelection
|
||||
# - Copy
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# - Hide
|
||||
# - Quit
|
||||
# - ClearLogNotice
|
||||
# - SpawnNewInstance
|
||||
# - None
|
||||
#
|
||||
# Values for `command`:
|
||||
# The `command` field must be a map containing a `program` string and
|
||||
# an `args` array of command line parameter strings.
|
||||
#
|
||||
# Example:
|
||||
# `command: { program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# Values for `mode`:
|
||||
# - ~AppCursor
|
||||
# - AppCursor
|
||||
# - ~AppKeypad
|
||||
# - AppKeypad
|
||||
key_bindings:
|
||||
# (Windows/Linux only)
|
||||
#- { key: V, mods: Control|Shift, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Subtract, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: K, mods: Command, action: ClearHistory }
|
||||
#- { key: K, mods: Command, chars: "\x0c" }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
|
||||
- { key: Paste, action: Paste }
|
||||
- { key: Copy, action: Copy }
|
||||
- { key: L, mods: Control, action: ClearLogNotice }
|
||||
- { key: L, mods: Control, chars: "\x0c" }
|
||||
- { key: Home, chars: "\x1bOH", mode: AppCursor }
|
||||
- { key: Home, chars: "\x1b[H", mode: ~AppCursor }
|
||||
- { key: End, chars: "\x1bOF", mode: AppCursor }
|
||||
- { key: End, chars: "\x1b[F", mode: ~AppCursor }
|
||||
- { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
|
||||
- { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt }
|
||||
- { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
|
||||
- { key: PageUp, chars: "\x1b[5~" }
|
||||
- { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
|
||||
- { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt }
|
||||
- { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
|
||||
- { key: PageDown, chars: "\x1b[6~" }
|
||||
- { key: Tab, mods: Shift, chars: "\x1b[Z" }
|
||||
- { key: Back, chars: "\x7f" }
|
||||
- { key: Back, mods: Alt, chars: "\x1b\x7f" }
|
||||
- { key: Insert, chars: "\x1b[2~" }
|
||||
- { key: Delete, chars: "\x1b[3~" }
|
||||
- { key: Left, mods: Shift, chars: "\x1b[1;2D" }
|
||||
- { key: Left, mods: Control, chars: "\x1b[1;5D" }
|
||||
- { key: Left, mods: Alt, chars: "\x1b[1;3D" }
|
||||
- { key: Left, chars: "\x1b[D", mode: ~AppCursor }
|
||||
- { key: Left, chars: "\x1bOD", mode: AppCursor }
|
||||
- { key: Right, mods: Shift, chars: "\x1b[1;2C" }
|
||||
- { key: Right, mods: Control, chars: "\x1b[1;5C" }
|
||||
- { key: Right, mods: Alt, chars: "\x1b[1;3C" }
|
||||
- { key: Right, chars: "\x1b[C", mode: ~AppCursor }
|
||||
- { key: Right, chars: "\x1bOC", mode: AppCursor }
|
||||
- { key: Up, mods: Shift, chars: "\x1b[1;2A" }
|
||||
- { key: Up, mods: Control, chars: "\x1b[1;5A" }
|
||||
- { key: Up, mods: Alt, chars: "\x1b[1;3A" }
|
||||
- { key: Up, chars: "\x1b[A", mode: ~AppCursor }
|
||||
- { key: Up, chars: "\x1bOA", mode: AppCursor }
|
||||
- { key: Down, mods: Shift, chars: "\x1b[1;2B" }
|
||||
- { key: Down, mods: Control, chars: "\x1b[1;5B" }
|
||||
- { key: Down, mods: Alt, chars: "\x1b[1;3B" }
|
||||
- { key: Down, chars: "\x1b[B", mode: ~AppCursor }
|
||||
- { key: Down, chars: "\x1bOB", mode: AppCursor }
|
||||
- { key: F1, chars: "\x1bOP" }
|
||||
- { key: F2, chars: "\x1bOQ" }
|
||||
- { key: F3, chars: "\x1bOR" }
|
||||
- { key: F4, chars: "\x1bOS" }
|
||||
- { key: F5, chars: "\x1b[15~" }
|
||||
- { key: F6, chars: "\x1b[17~" }
|
||||
- { key: F7, chars: "\x1b[18~" }
|
||||
- { key: F8, chars: "\x1b[19~" }
|
||||
- { key: F9, chars: "\x1b[20~" }
|
||||
- { key: F10, chars: "\x1b[21~" }
|
||||
- { key: F11, chars: "\x1b[23~" }
|
||||
- { key: F12, chars: "\x1b[24~" }
|
||||
- { key: F1, mods: Shift, chars: "\x1b[1;2P" }
|
||||
- { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
|
||||
- { key: F3, mods: Shift, chars: "\x1b[1;2R" }
|
||||
- { key: F4, mods: Shift, chars: "\x1b[1;2S" }
|
||||
- { key: F5, mods: Shift, chars: "\x1b[15;2~" }
|
||||
- { key: F6, mods: Shift, chars: "\x1b[17;2~" }
|
||||
- { key: F7, mods: Shift, chars: "\x1b[18;2~" }
|
||||
- { key: F8, mods: Shift, chars: "\x1b[19;2~" }
|
||||
- { key: F9, mods: Shift, chars: "\x1b[20;2~" }
|
||||
- { key: F10, mods: Shift, chars: "\x1b[21;2~" }
|
||||
- { key: F11, mods: Shift, chars: "\x1b[23;2~" }
|
||||
- { key: F12, mods: Shift, chars: "\x1b[24;2~" }
|
||||
- { key: F1, mods: Control, chars: "\x1b[1;5P" }
|
||||
- { key: F2, mods: Control, chars: "\x1b[1;5Q" }
|
||||
- { key: F3, mods: Control, chars: "\x1b[1;5R" }
|
||||
- { key: F4, mods: Control, chars: "\x1b[1;5S" }
|
||||
- { key: F5, mods: Control, chars: "\x1b[15;5~" }
|
||||
- { key: F6, mods: Control, chars: "\x1b[17;5~" }
|
||||
- { key: F7, mods: Control, chars: "\x1b[18;5~" }
|
||||
- { key: F8, mods: Control, chars: "\x1b[19;5~" }
|
||||
- { key: F9, mods: Control, chars: "\x1b[20;5~" }
|
||||
- { key: F10, mods: Control, chars: "\x1b[21;5~" }
|
||||
- { key: F11, mods: Control, chars: "\x1b[23;5~" }
|
||||
- { key: F12, mods: Control, chars: "\x1b[24;5~" }
|
||||
- { key: F1, mods: Alt, chars: "\x1b[1;6P" }
|
||||
- { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
|
||||
- { key: F3, mods: Alt, chars: "\x1b[1;6R" }
|
||||
- { key: F4, mods: Alt, chars: "\x1b[1;6S" }
|
||||
- { key: F5, mods: Alt, chars: "\x1b[15;6~" }
|
||||
- { key: F6, mods: Alt, chars: "\x1b[17;6~" }
|
||||
- { key: F7, mods: Alt, chars: "\x1b[18;6~" }
|
||||
- { key: F8, mods: Alt, chars: "\x1b[19;6~" }
|
||||
- { key: F9, mods: Alt, chars: "\x1b[20;6~" }
|
||||
- { key: F10, mods: Alt, chars: "\x1b[21;6~" }
|
||||
- { key: F11, mods: Alt, chars: "\x1b[23;6~" }
|
||||
- { key: F12, mods: Alt, chars: "\x1b[24;6~" }
|
||||
- { key: F1, mods: Super, chars: "\x1b[1;3P" }
|
||||
- { key: F2, mods: Super, chars: "\x1b[1;3Q" }
|
||||
- { key: F3, mods: Super, chars: "\x1b[1;3R" }
|
||||
- { key: F4, mods: Super, chars: "\x1b[1;3S" }
|
||||
- { key: F5, mods: Super, chars: "\x1b[15;3~" }
|
||||
- { key: F6, mods: Super, chars: "\x1b[17;3~" }
|
||||
- { key: F7, mods: Super, chars: "\x1b[18;3~" }
|
||||
- { key: F8, mods: Super, chars: "\x1b[19;3~" }
|
||||
- { key: F9, mods: Super, chars: "\x1b[20;3~" }
|
||||
- { key: F10, mods: Super, chars: "\x1b[21;3~" }
|
||||
- { key: F11, mods: Super, chars: "\x1b[23;3~" }
|
||||
- { key: F12, mods: Super, chars: "\x1b[24;3~" }
|
||||
- { key: NumpadEnter, chars: "\n" }
|
|
@ -1,34 +0,0 @@
|
|||
#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing)
|
||||
,i3-gaps,"is the main graphical user interface and window manager."
|
||||
,i3blocks,"is the status bar block provider for i3."
|
||||
,xorg-server,"is the graphical server."
|
||||
,xorg-xinit,"starts the graphical server."
|
||||
,ranger,"is an extensive terminal file manager that everyone likes."
|
||||
,dosfstools,"allows your computer to access dos-like filesystems."
|
||||
,neovim,"a tidier vim with some useful features"
|
||||
,i3blocks,"is the status bar."
|
||||
,i3lock,"is the screen lock."
|
||||
,mpv,"is the patrician's choice video/gif player."
|
||||
,networkmanager,"does exactly what it sounds like."
|
||||
,ntfs-3g,"allows accessing NTFS partitions."
|
||||
,pulseaudio,"is the audio system (>inb4 bloat)."
|
||||
,pulseaudio-alsa,"is an audio interface with ALSA."
|
||||
,pulsemixer,"is an intuitive ncurses audio controller."
|
||||
,tmux,"is a terminal multiplexer and the dropdown window in LARBS."
|
||||
,unrar,"extracts rar's."
|
||||
,unzip,"unzips zips."
|
||||
,xclip,"allows for copying and pasting from the command line."
|
||||
,xdotool,"provides window action utilities on the command line."
|
||||
,youtube-dl,"can download any YouTube video (or playlist or channel) when given the link."
|
||||
,atool,"manages and gives information about archives."
|
||||
,fzf,"is a fuzzy finder tool."
|
||||
,zsh,"is a shell alternative to bash."
|
||||
A,nerd-fonts-fira-code,"is the mono-space font of choice, patched with embedded icon symbols."
|
||||
,qutebrowser,"is a keyboard focused browser with vim-keys enabled."
|
||||
,mopidy,"is an extensible music server written in python."
|
||||
A,mopidy-spotify,"is a mopidy extension to play music from spotify."
|
||||
A,mopidy-scrobbler,"is a mopidy extension to scrobble to last.fm."
|
||||
A,mopidy-spotify-tunigo,"is a mopidy extension to enable spotify browsing."
|
||||
A,mopidy-podcast,"is a mopidy extension to search and browse podcasts."
|
||||
,rxvt-unicode,"is a simple and efficient terminal emulator."
|
||||
|
|
|
@ -32,7 +32,7 @@ font $font
|
|||
floating_modifier $mod
|
||||
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec i3-sensible-terminal
|
||||
bindsym $mod+Return exec alacritty #i3-sensible-terminal
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+Shift+x kill
|
||||
|
@ -94,10 +94,18 @@ bindsym $mod+a focus parent
|
|||
# focus the child container
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# disable titles and borders, necessary for i3gaps to work apparently
|
||||
for_window [class="^.*"] border pixel 0
|
||||
# no gaps if there is only 1 window - I am satisfied with choosing manually
|
||||
#smart_gaps on
|
||||
# enable / disable gaps (g disables, G enables)
|
||||
bindsym $mod+shift+g gaps inner current set 10; gaps outer current set 10
|
||||
bindsym $mod+g gaps inner current set 0; gaps outer current set 0
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
set $ws1 "1"
|
||||
set $ws2 "2"
|
||||
set $ws1 "1:"
|
||||
set $ws2 "2:"
|
||||
set $ws3 "3"
|
||||
set $ws4 "4"
|
||||
set $ws5 "5"
|
||||
|
@ -162,6 +170,7 @@ bindsym $mod+r mode "resize"
|
|||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
strip_workspace_numbers yes
|
||||
font $font
|
||||
position bottom
|
||||
colors {
|
||||
|
@ -182,3 +191,6 @@ bindsym $mod+Shift+s exec --no-startup-id `[ $(printf "NO\nYES" | dmenu \
|
|||
-nf "#7777bb" -i -p "Exit i3 X session?") = "YES" ] && i3-msg exit`
|
||||
# lock i3 screen
|
||||
bindsym $mod+Shift+p exec i3lock
|
||||
|
||||
# set a pretty wallpaper
|
||||
exec_always --no-startup-id feh --bg-scale ~/Pictures/wall.jpg
|
||||
|
|
1
.config/scripts/bin/syu
Symbolic link
1
.config/scripts/bin/syu
Symbolic link
|
@ -0,0 +1 @@
|
|||
/usr/bin/topgrade
|
|
@ -5,18 +5,25 @@
|
|||
|
||||
### OPTIONS AND VARIABLES ###
|
||||
|
||||
while getopts ":a:r:p:h" o; do case "${o}" in
|
||||
h) printf "Optional arguments for custom use:\\n -r: Dotfiles repository (local file or url)\\n -p: Dependencies and programs csv (local file or url)\\n -a: AUR helper (must have pacman-like syntax)\\n -h: Show this message\\n" && exit ;;
|
||||
# unset our temp variables, just in case they were used for something else in shell
|
||||
unset pkgfiles dotfilesrepo targetuser targetpassword targetdeployment quietmode aurhelper loginshell
|
||||
|
||||
while getopts ":a:r:f:F:t:s:h" o; do case "${o}" in
|
||||
h) printf "Optional arguments for custom use:\\n -r: Dotfiles repository (local file or url)\\n -f: Dependencies and programs csv alongside defaults (local file or url)\\n -F: Dependencies and programs csv replacing defaults (local file or url)\\n -a: AUR helper (must have pacman-like syntax), defaults to yay\\n -t: Target deployment (laptop, desktop, headless, none) to set up relevant package function groups\\n -s: Default user shell. Must be a full path to the shell (/bin/zsh by default).\n -h: Show this message\\n" && exit ;;
|
||||
r) dotfilesrepo=${OPTARG} && git ls-remote "$dotfilesrepo" || exit ;;
|
||||
p) progsfile=${OPTARG} ;;
|
||||
a) aurhelper=${OPTARG} ;;
|
||||
f) pkgfiles=${OPTARG} ;;
|
||||
F) pkgfiles=${OPTARG} && exclusivepkgfiles=true ;;
|
||||
t) targetdeployment=${OPTARG} ;;
|
||||
s) loginshell=${OPTARG} ;;
|
||||
*) printf "Invalid option: -%s\\n" "$OPTARG" && exit ;;
|
||||
esac done
|
||||
|
||||
# DEFAULTS:
|
||||
[ -z "$dotfilesrepo" ] && dotfilesrepo="https://gitlab.com/marty-oehme/dotfiles.git"
|
||||
[ -z "$progsfile" ] && progsfile="https://gitlab.com/marty-oehme/dotfiles/snippets/1828258/raw"
|
||||
[ -z "$pkgfiles" ] && pkgfiles=""
|
||||
[ -z "$aurhelper" ] && aurhelper="yay"
|
||||
[ -z "$loginshell" ] && loginshell="/bin/zsh"
|
||||
|
||||
### FUNCTIONS ###
|
||||
|
||||
|
@ -57,6 +64,10 @@ adduserandpass() { \
|
|||
echo "$name:$pass1" | chpasswd
|
||||
unset pass1 pass2 ;}
|
||||
|
||||
deploydialog() {
|
||||
targetdeployment=$(dialog --title "Deployment Configuration" --radiolist "Select a target package configuration." 0 0 5 desktop "base, network, shell, gui, multimedia, development" on laptop "base, network, shell, gui, multimedia, development, battery, touchpad" off headless "base, network, shell" off none "Installs no packages." off 3>&1 1>&2 2>&3 3>&1)
|
||||
}
|
||||
|
||||
refreshkeys() { \
|
||||
dialog --infobox "Refreshing Arch Keyring..." 4 40
|
||||
pacman --noconfirm -Sy archlinux-keyring >/dev/null 2>&1
|
||||
|
@ -97,9 +108,29 @@ aurinstall() { \
|
|||
sudo -u "$name" $aurhelper -S --noconfirm "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# get the link to the package collection
|
||||
getpackagegrouplink() {
|
||||
case "$1" in
|
||||
"none") pkggroup="";;
|
||||
"desktop") pkggroup="https://gitlab.com/marty-oehme/dotfiles/snippets/1828258/raw" ;;
|
||||
"laptop") pkggroup="https://gitlab.com/marty-oehme/dotfiles/snippets/1834307/raw" ;;
|
||||
"headless") pkggroup="https://gitlab.com/marty-oehme/dotfiles/snippets/1834308/raw" ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# can be called with as many csv files filled with packages as necessary
|
||||
# appends them all to one temporary file for the installation
|
||||
gatherpackages() {
|
||||
concfile=$1
|
||||
shift
|
||||
touch $concfile
|
||||
for progs in "$@"; do
|
||||
([ -f "$progs" ] && cat "$progs" >> $concfile) || curl -Ls "$progs" | sed '/^#/d' >> $concfile
|
||||
done
|
||||
}
|
||||
|
||||
installationloop() { \
|
||||
([ -f "$progsfile" ] && cp "$progsfile" /tmp/progs.csv) || curl -Ls "$progsfile" | sed '/^#/d' > /tmp/progs.csv
|
||||
total=$(wc -l < /tmp/progs.csv)
|
||||
total=$(wc -l < $1)
|
||||
aurinstalled=$(pacman -Qm | awk '{print $1}')
|
||||
while IFS=, read -r tag program comment; do
|
||||
n=$((n+1))
|
||||
|
@ -109,7 +140,7 @@ installationloop() { \
|
|||
"A") aurinstall "$program" "$comment" ;;
|
||||
"G") gitmakeinstall "$program" "$comment" ;;
|
||||
esac
|
||||
done < /tmp/progs.csv ;}
|
||||
done < $1 ;}
|
||||
|
||||
dotfiles() { \
|
||||
gpath=$1
|
||||
|
@ -126,16 +157,16 @@ putgitrepo() { # Downlods a gitrepo $1 and places the files in $2 only overwriti
|
|||
sudo -u "$name" git clone --bare "$1" "$dir/gitrepo" >/dev/null 2>&1 &&
|
||||
sudo -u "$name" cp -rfT "$dir/gitrepo" $dfdir/.dotfiles
|
||||
|
||||
dotfiles $dfdir checkout
|
||||
sudo -u "$name" dotfiles $dfdir checkout
|
||||
if [ $? = 0 ]; then
|
||||
echo "Checked out dotfiles.";
|
||||
else
|
||||
echo "Backing up existing dotfiles.";
|
||||
mkdir -p $2/.dotfiles-backup
|
||||
dotfiles $dfdir checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} $2/.dotfiles-backup/{}
|
||||
sudo -u "$name" dotfiles $dfdir checkout 2>&1 | egrep "\s+\." | awk {'print $1'} | xargs -I{} mv {} $2/.dotfiles-backup/{}
|
||||
fi;
|
||||
dotfiles $dfdir checkout
|
||||
dotfiles $dfdir config status.showUntrackedFiles no
|
||||
sudo -u "$name" dotfiles $dfdir checkout
|
||||
sudo -u "$name" dotfiles $dfdir config status.showUntrackedFiles no
|
||||
}
|
||||
|
||||
serviceinit() { for service in "$@"; do
|
||||
|
@ -173,6 +204,11 @@ getuserandpass || error "User exited."
|
|||
# Give warning if user already exists.
|
||||
usercheck || error "User exited."
|
||||
|
||||
# Let user select groups of packages to pre-install.
|
||||
if [ -z "$targetdeployment" ]; then
|
||||
deploydialog || error "User exited."
|
||||
fi
|
||||
|
||||
# Last chance for user to back out before install.
|
||||
preinstallmsg || error "User exited."
|
||||
|
||||
|
@ -199,16 +235,31 @@ sed -i "s/-j2/-j$(nproc)/;s/^#MAKEFLAGS/MAKEFLAGS/" /etc/makepkg.conf
|
|||
|
||||
manualinstall $aurhelper || error "Failed to install AUR helper."
|
||||
|
||||
# the command that sets the correct link to gather our package files from
|
||||
# correct link depends on target deployment: desktop, laptop, server,..
|
||||
getpackagegrouplink $targetdeployment
|
||||
|
||||
# append the default packages to whatever custom package csv links were passed in or
|
||||
# only use the custom packages if forced with -F
|
||||
[ ! "$exclusivepkgfiles" ] && pkgfiles="$(curl -Ls $pkggroup | cat ) $pkgfiles"
|
||||
|
||||
tmpfile=/tmp/pkgs.csv
|
||||
# actually gather the individual package installation lines from the various links and files
|
||||
gatherpackages $tmpfile $pkgfiles
|
||||
|
||||
# The command that does all the installing. Reads the progs.csv file and
|
||||
# installs each needed program the way required. Be sure to run this only after
|
||||
# the user has been created and has priviledges to run sudo without a password
|
||||
# the user has been created and has privileges to run sudo without a password
|
||||
# and all build dependencies are installed.
|
||||
installationloop
|
||||
installationloop $tmpfile
|
||||
|
||||
# Install the dotfiles in the user's home directory
|
||||
putgitrepo "$dotfilesrepo" "/home/$name"
|
||||
rm "/home/$name/README.md"
|
||||
|
||||
# Set user login shell to desired shell - usually zsh
|
||||
chsh -s $loginshell $name
|
||||
|
||||
# Pulseaudio, if/when initially installed, often needs a restart to work immediately.
|
||||
[ -f /usr/bin/pulseaudio ] && resetpulse
|
||||
|
3
.config/scripts/bootstrap/pkg/base.csv
Normal file
3
.config/scripts/bootstrap/pkg/base.csv
Normal file
|
@ -0,0 +1,3 @@
|
|||
,ntfs-3g,"allows accessing NTFS partitions."
|
||||
,dosfstools,"allows your computer to access dos-like filesystems."
|
||||
,topgrade,"tries to be your universal updater running everything in one go."
|
|
5
.config/scripts/bootstrap/pkg/dev.csv
Normal file
5
.config/scripts/bootstrap/pkg/dev.csv
Normal file
|
@ -0,0 +1,5 @@
|
|||
,code,"is an open source gui code editor in the style of atom/sublime - but better."
|
||||
,vagrant,"is a development environment provisioning system which easily spins up virtual machines for you."
|
||||
,virtualbox,"is a virtual machine framework which is mainly used by vagrant."
|
||||
,docker,"should need no introduction, but allows you to run everything in a container."
|
||||
,docker-compose,"allows you to run many, many containers much more easily."
|
|
11
.config/scripts/bootstrap/pkg/media.csv
Normal file
11
.config/scripts/bootstrap/pkg/media.csv
Normal file
|
@ -0,0 +1,11 @@
|
|||
,pulseaudio,"is the audio system (>inb4 bloat)."
|
||||
,pulseaudio-alsa,"is an audio interface with ALSA."
|
||||
,pulsemixer,"is an intuitive ncurses audio controller."
|
||||
,mopidy,"is an extensible music server written in python."
|
||||
,ncmpcpp,"is a client for the mopidy music server (or, optionally, for mpd)"
|
||||
A,mopidy-spotify,"is a mopidy extension to play music from spotify."
|
||||
A,mopidy-scrobbler,"is a mopidy extension to scrobble to last.fm."
|
||||
A,mopidy-spotify-tunigo,"is a mopidy extension to enable spotify browsing."
|
||||
A,mopidy-podcast,"is a mopidy extension to search and browse podcasts."
|
||||
,mpv,"is the patrician's choice video/gif player."
|
||||
,youtube-dl,"can download any YouTube video (or playlist or channel) when given the link."
|
|
2
.config/scripts/bootstrap/pkg/network.csv
Normal file
2
.config/scripts/bootstrap/pkg/network.csv
Normal file
|
@ -0,0 +1,2 @@
|
|||
,networkmanager,"does exactly what it sounds like."
|
||||
,openssh,"allows using ssh connections to connect to others or be connected to."
|
|
8
.config/scripts/bootstrap/pkg/shell.csv
Normal file
8
.config/scripts/bootstrap/pkg/shell.csv
Normal file
|
@ -0,0 +1,8 @@
|
|||
,zsh,"is a shell alternative to bash."
|
||||
,tmux,"is a terminal multiplexer and the dropdown window in LARBS."
|
||||
,neovim,"a tidier vim with some useful features"
|
||||
,ranger,"is an extensive terminal file manager that everyone likes."
|
||||
,fzf,"is a fuzzy finder tool."
|
||||
,unrar,"extracts rar's."
|
||||
,unzip,"unzips zips."
|
||||
,atool,"manages and gives information about archives."
|
|
6
.config/scripts/bootstrap/pkg/testing.csv
Normal file
6
.config/scripts/bootstrap/pkg/testing.csv
Normal file
|
@ -0,0 +1,6 @@
|
|||
#TAG,NAME IN REPO (or git url),PURPOSE (should be a verb phrase to sound right while installing)
|
||||
A,enpass-bin,"is a cross-platform personal password manager with gui."
|
||||
,gtk3,"is a gui toolkit, necessary for enpass-bin to work. (enpass forgets to install it)"
|
||||
,compton,"is a compositor for X that works well with i3."
|
||||
A,flashfocus,"is a simple toll that flashes any window which gains focus."
|
||||
,feh,"is a simple image viewer. Unfortunately it does not play well with tiled windows."
|
|
14
.config/scripts/bootstrap/pkg/x.csv
Normal file
14
.config/scripts/bootstrap/pkg/x.csv
Normal file
|
@ -0,0 +1,14 @@
|
|||
,xorg-server,"is the graphical server."
|
||||
,xorg-xinit,"starts the graphical server."
|
||||
,xorg-xauth,"manages X authentication settings."
|
||||
,xclip,"allows for copying and pasting from the command line."
|
||||
,xdotool,"provides window action utilities on the command line."
|
||||
,xcape,"allows using keys for different things whether pressed on their own or with others. For example, map capslock to escape."
|
||||
,i3-gaps,"is the main graphical user interface and window manager."
|
||||
,i3blocks,"is the status bar block provider for i3."
|
||||
,i3status,"is the status bar for i3."
|
||||
,i3lock,"is the i3 screen lock provider."
|
||||
A,j4-dmenu-desktop,"is a faster dmenu replacement, the application launcher of the i3 suite."
|
||||
A,nerd-fonts-fira-code,"is the mono-space font of choice, patched with embedded icon symbols."
|
||||
,alacritty,"is an efficient, unicode compatible terminal emulator."
|
||||
,qutebrowser,"is a keyboard focused browser with vim-keys enabled."
|
|
|
@ -50,13 +50,11 @@ set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
|
|||
#run-shell ~/.tmux-plugins/resurrect/resurrect.tmux
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
# Recently removed due to causing too many incompatibilities with how I want it set up
|
||||
#set -g @plugin 'tmux-plugins/tmux-pain-control'
|
||||
set -g @plugin 'tmux-plugins/tmux-yank'
|
||||
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
|
||||
set -g @plugin 'Morantron/tmux-fingers'
|
||||
|
||||
run -b "${TMUX_PLUGIN_MANAGER_PATH}/tpm/tpm"
|
||||
run "${TMUX_PLUGIN_MANAGER_PATH}/tpm/tpm"
|
||||
|
||||
#####################
|
||||
## 3. KEYBINDINGS ##
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# enables git management through dotfiles command
|
||||
alias dotfiles='/usr/bin/git --git-dir=/home/marty/.dotfiles/ --work-tree=/home/marty'
|
||||
# enables git management through dot command
|
||||
alias dot='/usr/bin/git --git-dir=/home/marty/.dotfiles/ --work-tree=/home/marty'
|
||||
|
||||
# The following commands are run on your git repo if you installed through the script
|
||||
# You can invoke them manually, but it's not recommended to keep them active in here.
|
||||
|
@ -16,8 +16,8 @@ alias dotfiles='/usr/bin/git --git-dir=/home/marty/.dotfiles/ --work-tree=/home/
|
|||
# Read more: https://stackoverflow.com/questions/4308610/how-to-ignore-certain-files-in-git
|
||||
# and: https://stackoverflow.com/questions/653454/how-do-you-make-git-ignore-files-without-using-gitignore
|
||||
#
|
||||
#dotfiles update-index --no-assume-unchanged README.md
|
||||
#dotfiles update-index --assume-unchanged README.md
|
||||
#dot update-index --no-assume-unchanged README.md
|
||||
#dot update-index --assume-unchanged README.md
|
||||
|
||||
## Make git not show untracked files (i.e. ALL other files in your home dir)
|
||||
#dotfiles config status.showUntrackedFiles no
|
||||
#dot config status.showUntrackedFiles no
|
|
@ -1,6 +1,6 @@
|
|||
# Clone tmux plugin manager if not existing
|
||||
if [[ -z "$TPM_PARENT_DIR" ]]; then
|
||||
TPM_PARENT_DIR=${XDG_CONFIG_DIR:-$HOME/.config}/tmux
|
||||
TPM_PARENT_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/tmux
|
||||
fi
|
||||
|
||||
if [[ ! -f $TPM_PARENT_DIR/plugins/tpm/tpm ]]; then
|
3
.profile
3
.profile
|
@ -1,5 +1,4 @@
|
|||
export XDG_CONFIG_DIR="$HOME/.config"
|
||||
export XDG_CONFIG_HOME=$XDG_CONFIG_DIR
|
||||
export XDG_CONFIG_HOME="$HOME/.config"
|
||||
export XDG_CACHE_HOME="$HOME/.cache"
|
||||
|
||||
export EDITOR=nvim
|
||||
|
|
5
.xinitrc
5
.xinitrc
|
@ -48,4 +48,9 @@ setxkbmap -option terminate:ctrl_alt_bksp
|
|||
# Needs xcape package installed. https://github.com/alols/xcape
|
||||
type xcape >/dev/null 2>&1 && xcape -e 'Control_L=Escape'
|
||||
|
||||
# if compton exists then we can start it as our compositor
|
||||
type compton >/dev/null 2>&1 && compton &
|
||||
# same deal with flashfocus as our active window indicator
|
||||
type flashfocus >/dev/null 2>&1 && flashfocus &
|
||||
|
||||
type i3 >/dev/null 2>&1 && exec i3
|
||||
|
|
10
.zshrc
10
.zshrc
|
@ -15,6 +15,8 @@
|
|||
#
|
||||
####
|
||||
|
||||
autoload zmv
|
||||
|
||||
## Show debug information
|
||||
#
|
||||
# ZSH_SETUP_SHOW_DEBUG="true"
|
||||
|
@ -29,7 +31,7 @@ print_dbg() {
|
|||
# Clone zgen if you haven't already
|
||||
check_zgen_installation() {
|
||||
if [[ -z "$ZGEN_PARENT_DIR" ]]; then
|
||||
ZGEN_PARENT_DIR=${${XDG_CONFIG_DIR}:="$HOME/.config/"}
|
||||
ZGEN_PARENT_DIR=${${XDG_CONFIG_HOME}:="$HOME/.config/"}
|
||||
ZGEN_DIR="$ZGEN_PARENT_DIR/zgen"
|
||||
fi
|
||||
if [[ ! -f $ZGEN_DIR/zgen.zsh ]]; then
|
||||
|
@ -90,9 +92,9 @@ load_config_files() {
|
|||
|
||||
# Set ZSH_CONFIG_DIR to default to ~/.config/zsh, or let user override
|
||||
# Exit early if no configuration directory has been found
|
||||
if [ ! -d ${ZSH_CONFIG_DIR:="${XDG_CONFIG_DIR:-$HOME/.config}/zsh"} ]; then
|
||||
if [ ! -d ${ZSH_CONFIG_DIR:="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"} ]; then
|
||||
# If the user explicitly overrode the path give him an error
|
||||
if [ ! $ZSH_CONFIG_DIR = "${XDG_CONFIG_DIR:-$HOME/.config/}/zsh" ]; then
|
||||
if [ ! $ZSH_CONFIG_DIR = "${XDG_CONFIG_HOME:-$HOME/.config/}/zsh" ]; then
|
||||
printf "\$ZSH_CONFIG_DIR=$ZSH_CONFIG_DIR/ does not exist.\n"
|
||||
fi
|
||||
PS1="$HOME $ "
|
||||
|
@ -144,7 +146,7 @@ load_config_files $ZSH_CONFIG_DIR 3456789
|
|||
# fi
|
||||
|
||||
# put personal scripts on the PATH to be callable
|
||||
export PATH="$(du $ZSH_CONFIG_DIR/scripts/ | cut -f2 | tr '\n' ':')$PATH"
|
||||
export PATH="$(du $XDG_CONFIG_HOME/scripts/bin | cut -f2 | tr '\n' ':')$PATH"
|
||||
|
||||
unset ZSH_CONFIG_DIR
|
||||
# unset ZGEN_DIR -- Needs to remain set for some plugins to function
|
||||
|
|
|
@ -35,6 +35,10 @@ Or, to **only** use these dotfiles two steps are necessary
|
|||
|
||||
[VSCode & Vue focused dotfiles setup](https://github.com/sobolevn/dotfiles) -- looks interesting, maybe steal some tidbits
|
||||
|
||||
[Various tidbits and aliases](https://github.com/ahmedelgabri/talks/blob/master/cli-and-git/cli-and-git.md)
|
||||
|
||||
[dotfiles from the author of above link](https://github.com/ahmedelgabri/dotfiles)
|
||||
|
||||
# Roadmap
|
||||
|
||||
## Perfectly setting up Arch
|
||||
|
|
Loading…
Reference in a new issue