init
This commit is contained in:
commit
d14a10c8a7
878
alacritty/.config/alacritty/alacritty.yml
Normal file
878
alacritty/.config/alacritty/alacritty.yml
Normal file
@ -0,0 +1,878 @@
|
|||||||
|
# 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: alacritty
|
||||||
|
|
||||||
|
window:
|
||||||
|
# Window dimensions (changes require restart)
|
||||||
|
#
|
||||||
|
# Number of lines/columns (not pixels) in the terminal. The number of columns
|
||||||
|
# must be at least `2`, while using a value of `0` for columns and lines will
|
||||||
|
# fall back to the window manager's recommended size.
|
||||||
|
#dimensions:
|
||||||
|
# columns: 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.
|
||||||
|
opacity: 0.8
|
||||||
|
|
||||||
|
# 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: Terminus # TerminessTTF Nerd Font
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
# style: Regular
|
||||||
|
|
||||||
|
# Bold font face
|
||||||
|
#bold:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold
|
||||||
|
|
||||||
|
# Italic font face
|
||||||
|
#italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Italic
|
||||||
|
|
||||||
|
# Bold italic font face
|
||||||
|
#bold_italic:
|
||||||
|
# Font family
|
||||||
|
#
|
||||||
|
# If the bold italic family is not specified, it will fall back to the
|
||||||
|
# value specified for the normal font.
|
||||||
|
#family: monospace
|
||||||
|
|
||||||
|
# The `style` can be specified to pick a specific face.
|
||||||
|
#style: Bold Italic
|
||||||
|
|
||||||
|
# Point size
|
||||||
|
size: 15.0
|
||||||
|
|
||||||
|
# Offset is the extra space around each character. `offset.y` can be thought
|
||||||
|
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||||
|
# spacing.
|
||||||
|
#offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Glyph offset determines the locations of the glyphs within their cells with
|
||||||
|
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||||
|
# right, increasing `y` moves the glyph upward.
|
||||||
|
#glyph_offset:
|
||||||
|
# x: 0
|
||||||
|
# y: 0
|
||||||
|
|
||||||
|
# Thin stroke font rendering (macOS only)
|
||||||
|
#
|
||||||
|
# Thin strokes are suitable for retina displays, but for non-retina screens
|
||||||
|
# it is recommended to set `use_thin_strokes` to `false`.
|
||||||
|
#use_thin_strokes: true
|
||||||
|
|
||||||
|
# Use built-in font for box drawing characters.
|
||||||
|
#
|
||||||
|
# If `true`, Alacritty will use a custom built-in font for box drawing
|
||||||
|
# characters (Unicode points 2500 - 259f).
|
||||||
|
#
|
||||||
|
#builtin_box_drawing: 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: '#252525'
|
||||||
|
# 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: false
|
||||||
|
|
||||||
|
# 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/fish
|
||||||
|
# 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
|
||||||
|
|
||||||
|
# Offer IPC using `alacritty msg` (unix only)
|
||||||
|
#ipc_socket: 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: Right, mods: Control, 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.
|
||||||
|
# - CreateNewWindow
|
||||||
|
# Create a new Alacritty window from the current process.
|
||||||
|
# - 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
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
164
i3/.config/i3/config
Normal file
164
i3/.config/i3/config
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
# Gaps.
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer 0
|
||||||
|
|
||||||
|
smart_gaps off
|
||||||
|
|
||||||
|
# Variables.
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
# set $mon0 LVDS-1
|
||||||
|
# workspace 0 output $mon0
|
||||||
|
|
||||||
|
# Font.
|
||||||
|
font pango:Terminus 14
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+p exec --no-startup-id dmenu_run -fn Terminus:size=16
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+h focus left
|
||||||
|
bindsym $mod+j focus down
|
||||||
|
bindsym $mod+k focus up
|
||||||
|
bindsym $mod+l focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+h move left
|
||||||
|
bindsym $mod+Shift+j move down
|
||||||
|
bindsym $mod+Shift+k move up
|
||||||
|
bindsym $mod+Shift+l move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
# bindsym $mod+Shift+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
# bindsym $mod+Shift+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# 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 $ws0 "0"
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+0 workspace number $ws0
|
||||||
|
bindsym $mod+1 workspace number $ws1
|
||||||
|
bindsym $mod+2 workspace number $ws2
|
||||||
|
bindsym $mod+3 workspace number $ws3
|
||||||
|
bindsym $mod+4 workspace number $ws4
|
||||||
|
bindsym $mod+5 workspace number $ws5
|
||||||
|
bindsym $mod+6 workspace number $ws6
|
||||||
|
bindsym $mod+7 workspace number $ws7
|
||||||
|
bindsym $mod+8 workspace number $ws8
|
||||||
|
bindsym $mod+9 workspace number $ws9
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number $ws0
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number $ws9
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym h resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym j resize grow height 10 px or 10 ppt
|
||||||
|
bindsym k resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym l resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# You can also use any non-zero value if you'd like to have a border
|
||||||
|
for_window [class=".*"] border pixel 0
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
# bar {
|
||||||
|
# position top
|
||||||
|
# status_command i3status
|
||||||
|
# }
|
||||||
|
|
||||||
|
# PulseAudio.
|
||||||
|
set $refresh_i3status killall -SIGUSR1 i3status
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5% && $refresh_i3status
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5% && $refresh_i3status
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
|
||||||
|
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
|
1
nvim/.config/nvim/init.lua
Normal file
1
nvim/.config/nvim/init.lua
Normal file
@ -0,0 +1 @@
|
|||||||
|
require('axp')
|
47
nvim/.config/nvim/lua/axp/base.lua
Normal file
47
nvim/.config/nvim/lua/axp/base.lua
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
-- Encoding.
|
||||||
|
vim.o.encoding = 'utf-8'
|
||||||
|
vim.o.fileencoding = 'utf-8'
|
||||||
|
vim.o.backup = false
|
||||||
|
vim.o.swapfile = false
|
||||||
|
|
||||||
|
-- Lines.
|
||||||
|
vim.o.number = true
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
vim.o.colorcolumn = '79'
|
||||||
|
vim.o.signcolumn = 'yes'
|
||||||
|
|
||||||
|
-- Tabs.
|
||||||
|
vim.o.tabstop = 2
|
||||||
|
vim.o.shiftwidth = 2
|
||||||
|
-- vim.o.expandtab = true
|
||||||
|
|
||||||
|
-- Etc.
|
||||||
|
vim.o.guicursor = ''
|
||||||
|
vim.o.clipboard = 'unnamedplus'
|
||||||
|
|
||||||
|
-- View.
|
||||||
|
vim.g.mapleader = ' '
|
||||||
|
vim.g.netrw_liststyle = 3
|
||||||
|
|
||||||
|
vim.o.list = true
|
||||||
|
vim.opt.listchars:append 'space:⋅'
|
||||||
|
-- vim.opt.listchars:append 'eol:↴'
|
||||||
|
-- vim.opt.listchars:append 'tab:>-'
|
||||||
|
|
||||||
|
-- Mappings tabs.
|
||||||
|
vim.keymap.set('n', '<C-h>', ':-tabmove<CR>')
|
||||||
|
vim.keymap.set('n', '<C-l>', ':+tabmove<CR>')
|
||||||
|
|
||||||
|
-- Mappings buffers.
|
||||||
|
vim.keymap.set('n', '<leader>k', ':bn<CR>')
|
||||||
|
vim.keymap.set('n', '<leader>j', ':bp<CR>')
|
||||||
|
|
||||||
|
-- Move cursour vertical.
|
||||||
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
|
|
||||||
|
-- Diagnostic keymaps.
|
||||||
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = "Go to previous diagnostic message" })
|
||||||
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = "Go to next diagnostic message" })
|
||||||
|
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = "Open floating diagnostic message" })
|
||||||
|
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = "Open diagnostics list" })
|
2
nvim/.config/nvim/lua/axp/init.lua
Normal file
2
nvim/.config/nvim/lua/axp/init.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
require('axp.base')
|
||||||
|
require('axp.manager.packer')
|
54
nvim/.config/nvim/lua/axp/manager/packer.lua
Normal file
54
nvim/.config/nvim/lua/axp/manager/packer.lua
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
-- Download packer.
|
||||||
|
local ensure_packer = function()
|
||||||
|
local fn = vim.fn
|
||||||
|
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
||||||
|
if fn.empty(fn.glob(install_path)) > 0 then
|
||||||
|
print('Download packer...')
|
||||||
|
fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
|
||||||
|
vim.cmd [[packadd packer.nvim]]
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Bootstrap packer.
|
||||||
|
local packer_bootstrap = ensure_packer()
|
||||||
|
|
||||||
|
-- Chek packer.
|
||||||
|
local status, packer = pcall(require, 'packer')
|
||||||
|
if (not status) then
|
||||||
|
print('Oops. Packer is not installed!')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Init packer.
|
||||||
|
packer.init({
|
||||||
|
display = {
|
||||||
|
open_fn = function()
|
||||||
|
return require('packer.util').float({ border = 'single' })
|
||||||
|
end
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Plugins.
|
||||||
|
local plugins = require('axp.plugins')
|
||||||
|
|
||||||
|
-- Startup packer.
|
||||||
|
packer.startup(function(use)
|
||||||
|
use 'wbthomason/packer.nvim'
|
||||||
|
|
||||||
|
-- Use pludins.
|
||||||
|
for _, plugin in ipairs(plugins.list) do
|
||||||
|
use(plugin)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Automatically set up your configuration after cloning packer.nvim
|
||||||
|
-- Put this at the end after all plugins
|
||||||
|
if packer_bootstrap then
|
||||||
|
print('Packer sync...')
|
||||||
|
require('packer').sync()
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- Init plugins.
|
||||||
|
plugins.init()
|
2
nvim/.config/nvim/lua/axp/plugins/autopairs.lua
Normal file
2
nvim/.config/nvim/lua/axp/plugins/autopairs.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
local status, autopairs = pcall(require, 'nvim-autopairs')
|
||||||
|
if status then autopairs.setup {} end
|
10
nvim/.config/nvim/lua/axp/plugins/blankline.lua
Normal file
10
nvim/.config/nvim/lua/axp/plugins/blankline.lua
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
local status, blankline = pcall(require, 'indent_blankline')
|
||||||
|
if (not status) then return end
|
||||||
|
|
||||||
|
blankline.setup {
|
||||||
|
char = '┊',
|
||||||
|
show_trailing_blankline_indent = false,
|
||||||
|
-- for example, context is off by default, use this to turn it on
|
||||||
|
-- show_current_context = true,
|
||||||
|
-- show_current_context_start = true,
|
||||||
|
}
|
2
nvim/.config/nvim/lua/axp/plugins/comment.lua
Normal file
2
nvim/.config/nvim/lua/axp/plugins/comment.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
local status, comment = pcall(require, 'Comment')
|
||||||
|
if (status) then comment.setup {} end
|
55
nvim/.config/nvim/lua/axp/plugins/init.lua
Normal file
55
nvim/.config/nvim/lua/axp/plugins/init.lua
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.list = {
|
||||||
|
-- Common.
|
||||||
|
'nvim-lua/plenary.nvim',
|
||||||
|
|
||||||
|
-- Etc.
|
||||||
|
'nvim-treesitter/nvim-treesitter',
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
'windwp/nvim-autopairs',
|
||||||
|
'numToStr/Comment.nvim',
|
||||||
|
|
||||||
|
-- View.
|
||||||
|
'EdenEast/nightfox.nvim',
|
||||||
|
'lukas-reineke/indent-blankline.nvim',
|
||||||
|
-- 'nvim-lualine/lualine.nvim',
|
||||||
|
|
||||||
|
-- Lsp.
|
||||||
|
'neovim/nvim-lspconfig',
|
||||||
|
'williamboman/mason.nvim',
|
||||||
|
'williamboman/mason-lspconfig.nvim',
|
||||||
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
|
|
||||||
|
--- Null-ls.
|
||||||
|
'jose-elias-alvarez/null-ls.nvim',
|
||||||
|
|
||||||
|
-- Autocompletion
|
||||||
|
'L3MON4D3/LuaSnip',
|
||||||
|
'hrsh7th/nvim-cmp'
|
||||||
|
}
|
||||||
|
|
||||||
|
M.init = function ()
|
||||||
|
-- Etc.
|
||||||
|
require('axp.plugins.autopairs')
|
||||||
|
require('axp.plugins.comment')
|
||||||
|
require('axp.plugins.telescope')
|
||||||
|
require('axp.plugins.treesitter')
|
||||||
|
|
||||||
|
-- View.
|
||||||
|
require('axp.plugins.nightfox')
|
||||||
|
-- require('axp.plugins.lualine')
|
||||||
|
require('axp.plugins.blankline')
|
||||||
|
|
||||||
|
-- Lsp.
|
||||||
|
require('axp.plugins.lsp')
|
||||||
|
|
||||||
|
-- Null-ls.
|
||||||
|
require('axp.plugins.null-ls')
|
||||||
|
|
||||||
|
-- Autocompletion
|
||||||
|
require('axp.plugins.luasnip')
|
||||||
|
require('axp.plugins.nvim-cmp')
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
103
nvim/.config/nvim/lua/axp/plugins/lsp.lua
Normal file
103
nvim/.config/nvim/lua/axp/plugins/lsp.lua
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
-- Check Lspconfig.
|
||||||
|
local status_lspconfig, lspconfig = pcall(require, 'lspconfig')
|
||||||
|
if (not status_lspconfig) then return end
|
||||||
|
|
||||||
|
-- Check Mason.
|
||||||
|
local status_mason, mason = pcall(require, 'mason')
|
||||||
|
if (not status_mason) then return end
|
||||||
|
|
||||||
|
-- Check Mason lsp installer.
|
||||||
|
local status_mason_lspconfig, mason_lspconfig = pcall(require, 'mason-lspconfig')
|
||||||
|
if (not status_mason_lspconfig) then return end
|
||||||
|
|
||||||
|
-- Config servers.
|
||||||
|
local servers = {
|
||||||
|
lua_ls = {
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
-- Get the language server to recognize the 'vim' global.
|
||||||
|
globals = { 'vim' }
|
||||||
|
},
|
||||||
|
workspace = { checkThirdParty = false },
|
||||||
|
telemetry = { enable = false },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
bashls = {},
|
||||||
|
clangd = {},
|
||||||
|
cmake = {},
|
||||||
|
tsserver = {},
|
||||||
|
dockerls = {},
|
||||||
|
volar = {},
|
||||||
|
astro = {},
|
||||||
|
html = {},
|
||||||
|
cssls = {},
|
||||||
|
jsonls = {},
|
||||||
|
pyright = {},
|
||||||
|
yamlls = {}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- This function gets run when an LSP connects to a particular buffer.
|
||||||
|
local on_attach = function(_, bufnr)
|
||||||
|
-- NOTE: Remember that lua is a real programming language, and as such it is possible
|
||||||
|
-- to define small helper and utility functions so you don't have to repeat yourself
|
||||||
|
-- many times.
|
||||||
|
|
||||||
|
-- In this case, we create a function that lets us more easily define mappings specific
|
||||||
|
-- for LSP related items. It sets the mode, buffer and description for us each time.
|
||||||
|
local nmap = function(keys, func, desc)
|
||||||
|
if desc then
|
||||||
|
desc = 'LSP: ' .. desc
|
||||||
|
end
|
||||||
|
vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc })
|
||||||
|
end
|
||||||
|
|
||||||
|
nmap('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame')
|
||||||
|
nmap('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction')
|
||||||
|
|
||||||
|
nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition')
|
||||||
|
nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
|
||||||
|
nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation')
|
||||||
|
nmap('<leader>D', vim.lsp.buf.type_definition, 'Type [D]efinition')
|
||||||
|
nmap('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols')
|
||||||
|
nmap('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols')
|
||||||
|
|
||||||
|
-- See `:help K` for why this keymap
|
||||||
|
nmap('K', vim.lsp.buf.hover, 'Hover Documentation')
|
||||||
|
nmap('<C-k>', vim.lsp.buf.signature_help, 'Signature Documentation')
|
||||||
|
|
||||||
|
-- Lesser used LSP functionality
|
||||||
|
nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
||||||
|
nmap('<leader>wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder')
|
||||||
|
nmap('<leader>wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder')
|
||||||
|
nmap('<leader>wl', function()
|
||||||
|
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
|
end, '[W]orkspace [L]ist Folders')
|
||||||
|
|
||||||
|
-- Create a command `:Format` local to the LSP buffer
|
||||||
|
vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_)
|
||||||
|
vim.lsp.buf.format()
|
||||||
|
end, { desc = 'Format current buffer with LSP' })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- nvim-cmp supports additional completion capabilities, so broadcast that to servers
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||||
|
|
||||||
|
-- Mason.
|
||||||
|
mason.setup {}
|
||||||
|
|
||||||
|
-- Mason lsp installer.
|
||||||
|
mason_lspconfig.setup {
|
||||||
|
ensure_installed = vim.tbl_keys(servers),
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Mason configure servers.
|
||||||
|
mason_lspconfig.setup_handlers {
|
||||||
|
function(server_name)
|
||||||
|
lspconfig[server_name].setup {
|
||||||
|
capabilities = capabilities,
|
||||||
|
on_attach = on_attach,
|
||||||
|
settings = servers[server_name],
|
||||||
|
}
|
||||||
|
end
|
||||||
|
}
|
4
nvim/.config/nvim/lua/axp/plugins/lualine.lua
Normal file
4
nvim/.config/nvim/lua/axp/plugins/lualine.lua
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
local status, lualine = pcall(require, 'lualine')
|
||||||
|
if (not status) then return end
|
||||||
|
|
||||||
|
lualine.setup {}
|
18
nvim/.config/nvim/lua/axp/plugins/luasnip/init.lua
Normal file
18
nvim/.config/nvim/lua/axp/plugins/luasnip/init.lua
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
local status_luasnip, ls = pcall(require, 'luasnip')
|
||||||
|
if (not status_luasnip) then return end
|
||||||
|
|
||||||
|
-- Init.
|
||||||
|
ls.config.set_config {}
|
||||||
|
|
||||||
|
-- Snippets.
|
||||||
|
local snippets = require 'axp.plugins.luasnip.snippets'
|
||||||
|
for name, snippet in pairs(snippets.list) do
|
||||||
|
ls.add_snippets(name, snippet)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Keymaps.
|
||||||
|
vim.keymap.set({ 'i', 's' }, '<C-k>', function()
|
||||||
|
if ls.expand_or_jumpable() then
|
||||||
|
ls.expand_or_jump()
|
||||||
|
end
|
||||||
|
end, { silent = true })
|
109
nvim/.config/nvim/lua/axp/plugins/luasnip/snippets.lua
Normal file
109
nvim/.config/nvim/lua/axp/plugins/luasnip/snippets.lua
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
M.list = {}
|
||||||
|
|
||||||
|
local status_luasnip, ls = pcall(require, 'luasnip')
|
||||||
|
if (status_luasnip) then
|
||||||
|
local s = ls.snippet
|
||||||
|
local t = ls.text_node
|
||||||
|
local i = ls.insert_node
|
||||||
|
-- local c = ls.choice_node
|
||||||
|
local fmt = require('luasnip.extras.fmt').fmt
|
||||||
|
|
||||||
|
local javascript = {
|
||||||
|
s('import', {
|
||||||
|
t('import '),
|
||||||
|
i(2, 'lib'),
|
||||||
|
t(' from \''),
|
||||||
|
i(1, 'lib'),
|
||||||
|
t('\'')
|
||||||
|
}),
|
||||||
|
s('try', fmt(
|
||||||
|
[[
|
||||||
|
try {{
|
||||||
|
{}
|
||||||
|
}} catch (e) {{}}
|
||||||
|
]],
|
||||||
|
{
|
||||||
|
i(1)
|
||||||
|
}
|
||||||
|
)),
|
||||||
|
s('/**', fmt(
|
||||||
|
[[
|
||||||
|
/**
|
||||||
|
* {}
|
||||||
|
*/
|
||||||
|
]],
|
||||||
|
{
|
||||||
|
i(1)
|
||||||
|
}
|
||||||
|
)),
|
||||||
|
s('const fn', {
|
||||||
|
t('const '),
|
||||||
|
i(1, 'fn'),
|
||||||
|
t(' = '),
|
||||||
|
i(2, 'async'),
|
||||||
|
t(' ('),
|
||||||
|
i(3),
|
||||||
|
t(') => {'),
|
||||||
|
i(4),
|
||||||
|
t('}')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
local vue = {
|
||||||
|
s('<script', {
|
||||||
|
t('<script '),
|
||||||
|
i(1, 'setup'),
|
||||||
|
t(' lang="'),
|
||||||
|
i(2, 'ts'),
|
||||||
|
t('">'),
|
||||||
|
i(3),
|
||||||
|
t('</script>')
|
||||||
|
}),
|
||||||
|
s('<template', {
|
||||||
|
t('<template'),
|
||||||
|
i(1),
|
||||||
|
t('>'),
|
||||||
|
i(2),
|
||||||
|
t('</template>')
|
||||||
|
}),
|
||||||
|
s('<style', {
|
||||||
|
t('<style lang="'),
|
||||||
|
i(1, 'sass'),
|
||||||
|
t('">'),
|
||||||
|
i(2),
|
||||||
|
t('</style>')
|
||||||
|
}),
|
||||||
|
s('const props', {
|
||||||
|
t('const props = defineProps<{'),
|
||||||
|
i(1),
|
||||||
|
t('}>()')
|
||||||
|
}),
|
||||||
|
s('const emit', {
|
||||||
|
t('const emit = defineEmits<{ (e: \''),
|
||||||
|
i(1, 'update:modelValue'),
|
||||||
|
t('\', v: '),
|
||||||
|
i(2, 'any'),
|
||||||
|
t('): void }>()')
|
||||||
|
}),
|
||||||
|
s('onMounted', {
|
||||||
|
t('onMounted(() => '),
|
||||||
|
i(1, 'loadData()'),
|
||||||
|
t(')')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Add javascript in vue.
|
||||||
|
for number, value in ipairs(javascript) do
|
||||||
|
vue[6 + number] = value
|
||||||
|
end
|
||||||
|
|
||||||
|
M.list = {
|
||||||
|
javascript = javascript,
|
||||||
|
typescript = javascript,
|
||||||
|
vue = vue
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
return M
|
5
nvim/.config/nvim/lua/axp/plugins/nightfox.lua
Normal file
5
nvim/.config/nvim/lua/axp/plugins/nightfox.lua
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
local status = pcall(require, 'nightfox')
|
||||||
|
|
||||||
|
if status then
|
||||||
|
vim.cmd [[colorscheme terafox]]
|
||||||
|
end
|
9
nvim/.config/nvim/lua/axp/plugins/null-ls/.prettierrc
Normal file
9
nvim/.config/nvim/lua/axp/plugins/null-ls/.prettierrc
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"useTabs": true,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"singleQuote": true,
|
||||||
|
"semi": false,
|
||||||
|
"trailingComma": "none",
|
||||||
|
"arrowParens": "avoid",
|
||||||
|
"printWidth": 79
|
||||||
|
}
|
15
nvim/.config/nvim/lua/axp/plugins/null-ls/init.lua
Normal file
15
nvim/.config/nvim/lua/axp/plugins/null-ls/init.lua
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
-- Null-ls.
|
||||||
|
local status_null_ls, null_ls = pcall(require, 'null-ls')
|
||||||
|
if (not status_null_ls) then return end
|
||||||
|
|
||||||
|
-- Config.
|
||||||
|
local prettier_config = vim.fn.stdpath('config') .. '/lua/axp/plugins/null-ls/.prettierrc'
|
||||||
|
local formatting = null_ls.builtins.formatting
|
||||||
|
-- local diagnostics = null_ls.builtins.diagnostics
|
||||||
|
|
||||||
|
-- Init.
|
||||||
|
null_ls.setup {
|
||||||
|
sources = {
|
||||||
|
formatting.prettier.with({ extra_args = { "--config", prettier_config } })
|
||||||
|
}
|
||||||
|
}
|
27
nvim/.config/nvim/lua/axp/plugins/nvim-cmp.lua
Normal file
27
nvim/.config/nvim/lua/axp/plugins/nvim-cmp.lua
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
local status, cmp = pcall(require, 'cmp')
|
||||||
|
if (not status) then return end
|
||||||
|
|
||||||
|
local status_ls, ls = pcall(require, 'luasnip')
|
||||||
|
|
||||||
|
cmp.setup {
|
||||||
|
snippet = {
|
||||||
|
expand = function(args)
|
||||||
|
if (status_ls) then
|
||||||
|
ls.lsp_expand(args.body)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
mapping = cmp.mapping.preset.insert {
|
||||||
|
['<C-d>'] = cmp.mapping.scroll_docs( -4),
|
||||||
|
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||||
|
['<C-Space>'] = cmp.mapping.complete {},
|
||||||
|
['<CR>'] = cmp.mapping.confirm {
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
{ name = 'nvim_lsp' },
|
||||||
|
{ name = 'luasnip' },
|
||||||
|
}
|
||||||
|
}
|
31
nvim/.config/nvim/lua/axp/plugins/telescope.lua
Normal file
31
nvim/.config/nvim/lua/axp/plugins/telescope.lua
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
local status, telescope = pcall(require, 'telescope')
|
||||||
|
if (not status) then return end
|
||||||
|
|
||||||
|
telescope.setup {
|
||||||
|
defaults = {
|
||||||
|
file_ignore_patterns = {
|
||||||
|
'.git',
|
||||||
|
'node_modules',
|
||||||
|
'dist',
|
||||||
|
'static',
|
||||||
|
'public'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-- See `:help telescope.builtin`
|
||||||
|
vim.keymap.set('n', '<leader>?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' })
|
||||||
|
vim.keymap.set('n', '<leader><space>', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' })
|
||||||
|
vim.keymap.set('n', '<leader>/', function()
|
||||||
|
-- You can pass additional configuration to telescope to change theme, layout, etc.
|
||||||
|
require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown {
|
||||||
|
winblend = 10,
|
||||||
|
previewer = false,
|
||||||
|
})
|
||||||
|
end, { desc = '[/] Fuzzily search in current buffer' })
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' })
|
||||||
|
vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
|
||||||
|
vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' })
|
||||||
|
vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
|
||||||
|
vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
|
64
nvim/.config/nvim/lua/axp/plugins/treesitter.lua
Normal file
64
nvim/.config/nvim/lua/axp/plugins/treesitter.lua
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
local status, ts = pcall(require, 'nvim-treesitter.configs')
|
||||||
|
if (not status) then return end
|
||||||
|
|
||||||
|
ts.setup {
|
||||||
|
-- A list of parser names, or 'all' (the four listed parsers should always be installed)
|
||||||
|
ensure_installed = {
|
||||||
|
'dockerfile',
|
||||||
|
'lua',
|
||||||
|
'vim',
|
||||||
|
'bash',
|
||||||
|
'javascript',
|
||||||
|
'typescript',
|
||||||
|
'json',
|
||||||
|
'html',
|
||||||
|
'pug',
|
||||||
|
'vue',
|
||||||
|
'css',
|
||||||
|
'scss',
|
||||||
|
'python',
|
||||||
|
'regex',
|
||||||
|
'markdown',
|
||||||
|
'yaml',
|
||||||
|
'astro',
|
||||||
|
'cmake'
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Install parsers synchronously (only applied to `ensure_installed`)
|
||||||
|
sync_install = false,
|
||||||
|
|
||||||
|
-- Automatically install missing parsers when entering buffer
|
||||||
|
-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally
|
||||||
|
auto_install = true,
|
||||||
|
|
||||||
|
-- List of parsers to ignore installing (for 'all')
|
||||||
|
-- ignore_install = { 'javascript' },
|
||||||
|
|
||||||
|
---- If you need to change the installation directory of the parsers (see -> Advanced Setup)
|
||||||
|
-- parser_install_dir = '/some/path/to/store/parsers', -- Remember to run vim.opt.runtimepath:append('/some/path/to/store/parsers')!
|
||||||
|
|
||||||
|
highlight = {
|
||||||
|
enable = true,
|
||||||
|
|
||||||
|
-- NOTE: these are the names of the parsers and not the filetype. (for example if you want to
|
||||||
|
-- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is
|
||||||
|
-- the name of the parser)
|
||||||
|
-- list of language that will be disabled
|
||||||
|
-- disable = { 'c', 'rust' },
|
||||||
|
|
||||||
|
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
|
||||||
|
disable = function(lang, buf)
|
||||||
|
local max_filesize = 100 * 1024 -- 100 KB
|
||||||
|
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||||
|
if ok and stats and stats.size > max_filesize then
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
|
||||||
|
-- Setting this to true will run `:h syntax` and tree-sitter at the same time.
|
||||||
|
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).
|
||||||
|
-- Using this option may slow down your editor, and you may see some duplicate highlights.
|
||||||
|
-- Instead of true it can also be a list of languages
|
||||||
|
additional_vim_regex_highlighting = false,
|
||||||
|
}
|
||||||
|
}
|
169
nvim/.config/nvim/plugin/packer_compiled.lua
Normal file
169
nvim/.config/nvim/plugin/packer_compiled.lua
Normal file
@ -0,0 +1,169 @@
|
|||||||
|
-- Automatically generated packer.nvim plugin loader code
|
||||||
|
|
||||||
|
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
|
||||||
|
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.api.nvim_command('packadd packer.nvim')
|
||||||
|
|
||||||
|
local no_errors, error_msg = pcall(function()
|
||||||
|
|
||||||
|
_G._packer = _G._packer or {}
|
||||||
|
_G._packer.inside_compile = true
|
||||||
|
|
||||||
|
local time
|
||||||
|
local profile_info
|
||||||
|
local should_profile = false
|
||||||
|
if should_profile then
|
||||||
|
local hrtime = vim.loop.hrtime
|
||||||
|
profile_info = {}
|
||||||
|
time = function(chunk, start)
|
||||||
|
if start then
|
||||||
|
profile_info[chunk] = hrtime()
|
||||||
|
else
|
||||||
|
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
time = function(chunk, start) end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function save_profiles(threshold)
|
||||||
|
local sorted_times = {}
|
||||||
|
for chunk_name, time_taken in pairs(profile_info) do
|
||||||
|
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
|
||||||
|
end
|
||||||
|
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
|
||||||
|
local results = {}
|
||||||
|
for i, elem in ipairs(sorted_times) do
|
||||||
|
if not threshold or threshold and elem[2] > threshold then
|
||||||
|
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if threshold then
|
||||||
|
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
|
||||||
|
end
|
||||||
|
|
||||||
|
_G._packer.profile_output = results
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], true)
|
||||||
|
local package_path_str = "/home/antoxa/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/antoxa/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/antoxa/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/antoxa/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
|
||||||
|
local install_cpath_pattern = "/home/antoxa/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
|
||||||
|
if not string.find(package.path, package_path_str, 1, true) then
|
||||||
|
package.path = package.path .. ';' .. package_path_str
|
||||||
|
end
|
||||||
|
|
||||||
|
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
|
||||||
|
package.cpath = package.cpath .. ';' .. install_cpath_pattern
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[Luarocks path setup]], false)
|
||||||
|
time([[try_loadstring definition]], true)
|
||||||
|
local function try_loadstring(s, component, name)
|
||||||
|
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
|
||||||
|
if not success then
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
return result
|
||||||
|
end
|
||||||
|
|
||||||
|
time([[try_loadstring definition]], false)
|
||||||
|
time([[Defining packer_plugins]], true)
|
||||||
|
_G.packer_plugins = {
|
||||||
|
["Comment.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/Comment.nvim",
|
||||||
|
url = "https://github.com/numToStr/Comment.nvim"
|
||||||
|
},
|
||||||
|
LuaSnip = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/LuaSnip",
|
||||||
|
url = "https://github.com/L3MON4D3/LuaSnip"
|
||||||
|
},
|
||||||
|
["cmp-nvim-lsp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||||
|
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||||
|
},
|
||||||
|
["indent-blankline.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
|
||||||
|
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
|
||||||
|
},
|
||||||
|
["mason-lspconfig.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason-lspconfig.nvim"
|
||||||
|
},
|
||||||
|
["mason.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/mason.nvim",
|
||||||
|
url = "https://github.com/williamboman/mason.nvim"
|
||||||
|
},
|
||||||
|
["nightfox.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/nightfox.nvim",
|
||||||
|
url = "https://github.com/EdenEast/nightfox.nvim"
|
||||||
|
},
|
||||||
|
["null-ls.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/null-ls.nvim",
|
||||||
|
url = "https://github.com/jose-elias-alvarez/null-ls.nvim"
|
||||||
|
},
|
||||||
|
["nvim-autopairs"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/nvim-autopairs",
|
||||||
|
url = "https://github.com/windwp/nvim-autopairs"
|
||||||
|
},
|
||||||
|
["nvim-cmp"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
url = "https://github.com/hrsh7th/nvim-cmp"
|
||||||
|
},
|
||||||
|
["nvim-lspconfig"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/nvim-lspconfig",
|
||||||
|
url = "https://github.com/neovim/nvim-lspconfig"
|
||||||
|
},
|
||||||
|
["nvim-treesitter"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
|
||||||
|
url = "https://github.com/nvim-treesitter/nvim-treesitter"
|
||||||
|
},
|
||||||
|
["packer.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/packer.nvim",
|
||||||
|
url = "https://github.com/wbthomason/packer.nvim"
|
||||||
|
},
|
||||||
|
["plenary.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/plenary.nvim",
|
||||||
|
url = "https://github.com/nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
["telescope.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/antoxa/.local/share/nvim/site/pack/packer/start/telescope.nvim",
|
||||||
|
url = "https://github.com/nvim-telescope/telescope.nvim"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
time([[Defining packer_plugins]], false)
|
||||||
|
|
||||||
|
_G._packer.inside_compile = false
|
||||||
|
if _G._packer.needs_bufread == true then
|
||||||
|
vim.cmd("doautocmd BufRead")
|
||||||
|
end
|
||||||
|
_G._packer.needs_bufread = false
|
||||||
|
|
||||||
|
if should_profile then save_profiles() end
|
||||||
|
|
||||||
|
end)
|
||||||
|
|
||||||
|
if not no_errors then
|
||||||
|
error_msg = error_msg:gsub('"', '\\"')
|
||||||
|
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
|
||||||
|
end
|
198
polybar/.config/polybar/config.ini
Normal file
198
polybar/.config/polybar/config.ini
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
pseudo-transparency = true
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
primary = #77A7D2
|
||||||
|
secondary = #F00000
|
||||||
|
foreground = #CDCDCD
|
||||||
|
|
||||||
|
alert = #A54242
|
||||||
|
disabled = #707880
|
||||||
|
|
||||||
|
background = #242424
|
||||||
|
background-alt = #373B41
|
||||||
|
|
||||||
|
[bar/top]
|
||||||
|
monitor = ${env:MONITOR}
|
||||||
|
monitor-strict = true
|
||||||
|
|
||||||
|
font-0 = Terminus:pixelsize=18;3
|
||||||
|
font-1 = TerminessTTF Nerd Font:pixelsize=14;3
|
||||||
|
|
||||||
|
width = 100%
|
||||||
|
height = 28
|
||||||
|
radius = 0
|
||||||
|
|
||||||
|
line-size = 2
|
||||||
|
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
separator = |
|
||||||
|
separator-foreground = ${colors.disabled}
|
||||||
|
|
||||||
|
border-size = 0
|
||||||
|
border-color = #00000000
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 1
|
||||||
|
|
||||||
|
module-margin = 1
|
||||||
|
|
||||||
|
modules-left = xworkspaces i3 xwindow
|
||||||
|
modules-right = cpu temperature memory pulseaudio xkeyboard battery date
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-detached = false
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
|
||||||
|
[module/xworkspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
pin-workspaces = true
|
||||||
|
enable-scroll = false
|
||||||
|
|
||||||
|
label-active = %name%
|
||||||
|
label-active-background = ${colors.background-alt}
|
||||||
|
label-active-underline= ${colors.primary}
|
||||||
|
label-active-padding = 1
|
||||||
|
|
||||||
|
label-occupied = %name%
|
||||||
|
label-occupied-padding = 1
|
||||||
|
|
||||||
|
label-urgent = %name%
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 1
|
||||||
|
|
||||||
|
label-empty = %name%
|
||||||
|
label-empty-foreground = ${colors.disabled}
|
||||||
|
label-empty-padding = 1
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
|
||||||
|
label-mode = %mode%
|
||||||
|
label-mode-padding = 1
|
||||||
|
label-mode-background = ${colors.secondary}
|
||||||
|
|
||||||
|
format = <label-mode>
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:60:...%
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
label = %percentage:2%%
|
||||||
|
format-prefix = "Cpu:"
|
||||||
|
format-prefix-foreground = ${colors.primary}
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
|
||||||
|
thermal-zone = 0
|
||||||
|
warn-temperature = 70
|
||||||
|
|
||||||
|
format = <label>
|
||||||
|
format-underline = ${colors.primary}
|
||||||
|
format-warn = <label-warn>
|
||||||
|
format-warn-underline = ${self.format-underline}
|
||||||
|
|
||||||
|
label = %temperature-c%
|
||||||
|
label-warn = %temperature-c%
|
||||||
|
label-warn-foreground = ${colors.secondary}
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = "Ram:"
|
||||||
|
format-prefix-foreground = ${colors.primary}
|
||||||
|
label = %percentage_used:2%%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
label-volume = %percentage%%
|
||||||
|
label-muted = muted
|
||||||
|
label-muted-foreground = ${colors.disabled}
|
||||||
|
|
||||||
|
format-volume-prefix = "Vol:"
|
||||||
|
format-volume-prefix-foreground = ${colors.primary}
|
||||||
|
format-volume = <label-volume>
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-foreground = ${colors.primary}
|
||||||
|
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-margin = 1
|
||||||
|
label-indicator-background = ${colors.secondary}
|
||||||
|
|
||||||
|
format = <label-indicator><label-layout>
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
battery = BAT1
|
||||||
|
poll-interval = 5
|
||||||
|
full-at = 99
|
||||||
|
low-at = 5
|
||||||
|
; adapter = AC1AD
|
||||||
|
|
||||||
|
label-charging = %percentage%%
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
label-full = F
|
||||||
|
label-low = L
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
; format-discharging-prefix = "Discharging "
|
||||||
|
format-discharging-prefix-foreground = ${colors.secondary}
|
||||||
|
format-full = <ramp-capacity> <label-full>
|
||||||
|
format-low = <animation-low> <label-low>
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-low> is used
|
||||||
|
animation-low-0 =
|
||||||
|
animation-low-1 =
|
||||||
|
animation-low-framerate = 200
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %H:%M
|
||||||
|
date-alt = %Y-%m-%d %H:%M:%S
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ${colors.primary}
|
||||||
|
|
||||||
|
; [module/battery-info]
|
||||||
|
; type = custom/script
|
||||||
|
; interval = 5
|
||||||
|
; exec = $PATH_POLYBAR/scripts/battery-info.sh
|
||||||
|
|
||||||
|
; [module/bluetooth]
|
||||||
|
; type = custom/script
|
||||||
|
; exec = $PATH_POLYBAR/scripts/bluetooth.sh
|
||||||
|
; tail = true
|
||||||
|
; click-left = $PATH_POLYBAR/scripts/bluetooth.sh --toggle &
|
19
polybar/.config/polybar/launch.sh
Executable file
19
polybar/.config/polybar/launch.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export PATH_POLYBAR="$HOME/.config/polybar"
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
# If all your bars have ipc enabled, you can use
|
||||||
|
polybar-msg cmd quit &
|
||||||
|
|
||||||
|
# Otherwise you can use the nuclear option:
|
||||||
|
killall -q polybar &
|
||||||
|
|
||||||
|
# Launch.
|
||||||
|
if type "xrandr"; then
|
||||||
|
for m in $(xrandr --query | grep -w connected | cut -d " " -f1); do
|
||||||
|
MONITOR=$m polybar top --reload &
|
||||||
|
done
|
||||||
|
else
|
||||||
|
polybar top &
|
||||||
|
fi
|
4
polybar/.config/polybar/modules/network.ini
Normal file
4
polybar/.config/polybar/modules/network.ini
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[module/test]
|
||||||
|
type = custom/script
|
||||||
|
exec = "$HOME/.config/polybar/scripts/battery-shell.sh"
|
||||||
|
interval = 10
|
49
polybar/.config/polybar/scripts/battery-info.sh
Executable file
49
polybar/.config/polybar/scripts/battery-info.sh
Executable file
@ -0,0 +1,49 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PATH_BATTERY="/sys/class/power_supply/BAT0"
|
||||||
|
|
||||||
|
status=$(cat "$PATH_BATTERY/status")
|
||||||
|
charge=$(cat "$PATH_BATTERY/capacity")
|
||||||
|
|
||||||
|
if [ "$status" = "Charging" ]; then
|
||||||
|
# Идёт зарядка.
|
||||||
|
if [ "$charge" -le 20 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 50 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 70 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 80 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 90 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 97 ]; then
|
||||||
|
icon=""
|
||||||
|
else
|
||||||
|
icon=" "
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ "$charge" -le 10 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 30 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 40 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 50 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 60 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 70 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 80 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 90 ]; then
|
||||||
|
icon=""
|
||||||
|
elif [ "$charge" -le 97 ]; then
|
||||||
|
icon=""
|
||||||
|
else
|
||||||
|
icon=""
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$icon $charge%"
|
60
polybar/.config/polybar/scripts/bluetooth.sh
Executable file
60
polybar/.config/polybar/scripts/bluetooth.sh
Executable file
@ -0,0 +1,60 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
bluetooth_print() {
|
||||||
|
bluetoothctl | while read -r; do
|
||||||
|
if [ "$(systemctl is-active "bluetooth.service")" = "active" ]; then
|
||||||
|
printf '#1'
|
||||||
|
|
||||||
|
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
|
||||||
|
counter=0
|
||||||
|
|
||||||
|
for device in $devices_paired; do
|
||||||
|
device_info=$(bluetoothctl info "$device")
|
||||||
|
|
||||||
|
if echo "$device_info" | grep -q "Connected: yes"; then
|
||||||
|
device_alias=$(echo "$device_info" | grep "Alias" | cut -d ' ' -f 2-)
|
||||||
|
|
||||||
|
if [ $counter -gt 0 ]; then
|
||||||
|
printf ", %s" "$device_alias"
|
||||||
|
else
|
||||||
|
printf " %s" "$device_alias"
|
||||||
|
fi
|
||||||
|
|
||||||
|
counter=$((counter + 1))
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
printf '\n'
|
||||||
|
else
|
||||||
|
# printf 'test\n'
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
bluetooth_toggle() {
|
||||||
|
if bluetoothctl show | grep -q "Powered: no"; then
|
||||||
|
bluetoothctl power on >> /dev/null
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
|
||||||
|
echo "$devices_paired" | while read -r line; do
|
||||||
|
bluetoothctl connect "$line" >> /dev/null
|
||||||
|
done
|
||||||
|
else
|
||||||
|
devices_paired=$(bluetoothctl devices Paired | grep Device | cut -d ' ' -f 2)
|
||||||
|
echo "$devices_paired" | while read -r line; do
|
||||||
|
bluetoothctl disconnect "$line" >> /dev/null
|
||||||
|
done
|
||||||
|
|
||||||
|
bluetoothctl power off >> /dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--toggle)
|
||||||
|
bluetooth_toggle
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
bluetooth_print
|
||||||
|
;;
|
||||||
|
esac
|
2
ranger/.config/ranger/rc.conf
Normal file
2
ranger/.config/ranger/rc.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
set preview_images true
|
||||||
|
set preview_images_method ueberzug
|
3
scripts/.local/bin/volumedown.sh
Executable file
3
scripts/.local/bin/volumedown.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
/usr/bin/pactl set-sink-volume 0 -5% && pkill -RTMIN+10 dwmblocks
|
3
scripts/.local/bin/volumemute.sh
Executable file
3
scripts/.local/bin/volumemute.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
/usr/bin/pactl set-sink-mute 0 toggle && pkill -RTMIN+10 dwmblocks
|
3
scripts/.local/bin/volumeup.sh
Executable file
3
scripts/.local/bin/volumeup.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
/usr/bin/pactl set-sink-volume 0 +5% && pkill -RTMIN+10 dwmblocks
|
35
tmux/.config/tmux/tmux.conf
Normal file
35
tmux/.config/tmux/tmux.conf
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
DIR="$HOME/.config/tmux"
|
||||||
|
|
||||||
|
#-------------------------------------------------------#
|
||||||
|
# Key bind.
|
||||||
|
#-------------------------------------------------------#
|
||||||
|
# Reload tmux.
|
||||||
|
bind r source-file "$DIR/tmux.conf"
|
||||||
|
|
||||||
|
# Moving between panes with vim movement keys.
|
||||||
|
bind C-h select-pane -L
|
||||||
|
bind C-j select-pane -D
|
||||||
|
bind C-k select-pane -U
|
||||||
|
bind C-l select-pane -R
|
||||||
|
|
||||||
|
# Resize panes with vim movement keys.
|
||||||
|
bind -r H resize-pane -L 5
|
||||||
|
bind -r J resize-pane -D 5
|
||||||
|
bind -r K resize-pane -U 5
|
||||||
|
bind -r L resize-pane -R 5
|
||||||
|
|
||||||
|
#-------------------------------------------------------#
|
||||||
|
# View.
|
||||||
|
#-------------------------------------------------------#
|
||||||
|
# set -g window-style 'bg=cyan fg=default'
|
||||||
|
# set -g window-active-style 'bg=cyan fg=default'
|
||||||
|
|
||||||
|
set -g pane-border-style 'fg=blue'
|
||||||
|
set -g pane-active-border-style 'fg=blue'
|
||||||
|
|
||||||
|
set -g status-bg blue
|
||||||
|
|
||||||
|
# set -g status-fg white
|
||||||
|
|
||||||
|
# set -g status-right-style 'fg=blue'
|
||||||
|
# set -g status-right '#[fg=blue]%a%d-%m-%Y %H:%M:%S'
|
23
vim/.vimrc
Normal file
23
vim/.vimrc
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
" Common.
|
||||||
|
set encoding=utf-8
|
||||||
|
set fileencoding=utf-8
|
||||||
|
set nobackup
|
||||||
|
set noswapfile
|
||||||
|
|
||||||
|
" Tabs.
|
||||||
|
set expandtab
|
||||||
|
set tabstop=2
|
||||||
|
set shiftwidth=2
|
||||||
|
|
||||||
|
" Lines.
|
||||||
|
set number
|
||||||
|
set relativenumber
|
||||||
|
set cursorline
|
||||||
|
set colorcolumn=79
|
||||||
|
|
||||||
|
" set list
|
||||||
|
" set listchars=tab:-→
|
||||||
|
" set listchars=space:⋅,eol:$,tab:--,trail:~,extends:>,precedes:<
|
||||||
|
|
||||||
|
" Colors.
|
||||||
|
syntax on
|
5
x/.xinitrc
Normal file
5
x/.xinitrc
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# XProfile.
|
||||||
|
[ -f /etc/xprofile ] && source /etc/xprofile
|
||||||
|
[ -f ~/.xprofile ] && source ~/.xprofile
|
29
x/.xprofile
Normal file
29
x/.xprofile
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Keyboard.
|
||||||
|
setxkbmap us,ru -option grp:alt_shift_toggle &
|
||||||
|
|
||||||
|
# Picom.
|
||||||
|
if [ -x /usr/bin/picom ]; then
|
||||||
|
picom &
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Desctop wrapper.
|
||||||
|
if [ -x /usr/bin/nitrogen ]; then
|
||||||
|
nitrogen --restore &
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Polybar.
|
||||||
|
if [ -x /usr/bin/polybar ]; then
|
||||||
|
[ -f $HOME/.config/polybar/launch.sh ] && $HOME/.config/polybar/launch.sh &
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Start i3.
|
||||||
|
if [ -x /usr/bin/i3 ]; then
|
||||||
|
exec i3
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Dwm.
|
||||||
|
# if [ -x /usr/local/bin/dwm ]; then
|
||||||
|
# exec dwm
|
||||||
|
# fi
|
2
zsh/.config/zsh/.gitignore
vendored
Normal file
2
zsh/.config/zsh/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
.zcompdump
|
||||||
|
plugins
|
15
zsh/.config/zsh/.zshrc
Normal file
15
zsh/.config/zsh/.zshrc
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Paths.
|
||||||
|
export ZDOTDIR="$HOME/.config/zsh"
|
||||||
|
|
||||||
|
# Utils.
|
||||||
|
source "$ZDOTDIR/functions"
|
||||||
|
|
||||||
|
# Include files.
|
||||||
|
zsh_include_file "includes/environment"
|
||||||
|
zsh_include_file "includes/aliases"
|
||||||
|
zsh_include_file "includes/prompt"
|
||||||
|
zsh_include_file "includes/nvm"
|
||||||
|
|
||||||
|
# Add plugins.
|
||||||
|
# zsh_add_plugin "hlissner/zsh-autopair"
|
||||||
|
zsh_add_plugin "zsh-users/zsh-syntax-highlighting"
|
18
zsh/.config/zsh/functions
Normal file
18
zsh/.config/zsh/functions
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Function to source files if they exist.
|
||||||
|
function zsh_include_file() {
|
||||||
|
[ -f "$ZDOTDIR/$1" ] && source "$ZDOTDIR/$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add plugin.
|
||||||
|
function zsh_add_plugin() {
|
||||||
|
PLUGIN_NAME=$(echo $1 | cut -d "/" -f 2)
|
||||||
|
if [ -d "$ZDOTDIR/plugins/$PLUGIN_NAME" ]; then
|
||||||
|
# For plugins
|
||||||
|
zsh_include_file "plugins/$PLUGIN_NAME/$PLUGIN_NAME.plugin.zsh" || \
|
||||||
|
zsh_include_file "plugins/$PLUGIN_NAME/$PLUGIN_NAME.zsh"
|
||||||
|
else
|
||||||
|
git clone "https://github.com/$1.git" "$ZDOTDIR/plugins/$PLUGIN_NAME"
|
||||||
|
fi
|
||||||
|
}
|
7
zsh/.config/zsh/includes/aliases
Normal file
7
zsh/.config/zsh/includes/aliases
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
alias rm="rm -i"
|
||||||
|
alias mv="mv -i"
|
||||||
|
|
||||||
|
alias ls="ls --color=auto"
|
||||||
|
alias grep="grep --color=auto"
|
4
zsh/.config/zsh/includes/environment
Normal file
4
zsh/.config/zsh/includes/environment
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
export EDITOR="vim"
|
||||||
|
export TERMINAL="alacritty"
|
7
zsh/.config/zsh/includes/nvm
Normal file
7
zsh/.config/zsh/includes/nvm
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# NVM.
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
# nvm use --lts 1> /dev/null
|
||||||
|
# [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
39
zsh/.config/zsh/includes/prompt
Normal file
39
zsh/.config/zsh/includes/prompt
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# autoload vcs and colors
|
||||||
|
autoload -Uz vcs_info
|
||||||
|
autoload -U colors && colors
|
||||||
|
|
||||||
|
# enable only git
|
||||||
|
zstyle ':vcs_info:*' enable git
|
||||||
|
|
||||||
|
# setup a hook that runs before every ptompt.
|
||||||
|
precmd_vcs_info() { vcs_info }
|
||||||
|
precmd_functions+=( precmd_vcs_info )
|
||||||
|
setopt prompt_subst
|
||||||
|
|
||||||
|
# add a function to check for untracked files in the directory.
|
||||||
|
# from https://github.com/zsh-users/zsh/blob/master/Misc/vcs_info-examples
|
||||||
|
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
|
||||||
|
|
||||||
|
+vi-git-untracked(){
|
||||||
|
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
|
||||||
|
git status --porcelain | grep '??' &> /dev/null ; then
|
||||||
|
# This will show the marker if there are any untracked files in repo.
|
||||||
|
# If instead you want to show the marker only if there are untracked
|
||||||
|
# files in $PWD, use:
|
||||||
|
#[[ -n $(git ls-files --others --exclude-standard) ]] ; then
|
||||||
|
hook_com[staged]+='!' # signify new files with a bang
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
zstyle ':vcs_info:*' check-for-changes true
|
||||||
|
zstyle ':vcs_info:git:*' formats " %{$fg[blue]%}(%{$fg[red]%}%m%u%c%{$fg[yellow]%}%{$fg[magenta]%} %b%{$fg[blue]%})"
|
||||||
|
|
||||||
|
PROMPT="%F{blue}[%f%n%F{red}@%f%m%F{blue}]%f %F{blue}%~%f"
|
||||||
|
|
||||||
|
# Git info.
|
||||||
|
PROMPT+="\$vcs_info_msg_0_"
|
||||||
|
|
||||||
|
PROMPT+="
|
||||||
|
%F{blue}->%f "
|
1
zsh/.zshrc
Normal file
1
zsh/.zshrc
Normal file
@ -0,0 +1 @@
|
|||||||
|
source $HOME/.config/zsh/.zshrc
|
Loading…
Reference in New Issue
Block a user