Compare commits
92 Commits
b07e2a2699
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 09bb156e47 | |||
|
|
1437d1826e | ||
|
|
2aa4027f9d | ||
|
|
704a095798 | ||
|
|
04bdd470fd | ||
|
|
3e2ee388e6 | ||
|
|
ee2bbcf84f | ||
|
|
c665c5ba37 | ||
|
|
43e7fb01f5 | ||
|
|
6f0948c365 | ||
|
|
ec21773823 | ||
|
|
4ebfe540ad | ||
|
|
f6ecd9592c | ||
|
|
fcecb7f575 | ||
|
|
801ba0dfdf | ||
|
|
0daaf4add5 | ||
|
|
14cf97683d | ||
|
|
27eda40ccb | ||
|
|
063a693f19 | ||
|
|
6cfad76308 | ||
|
|
6e13939c5b | ||
|
|
cd711ea4bf | ||
|
|
388d2b0b30 | ||
|
|
687646da32 | ||
|
|
a2832ed454 | ||
|
|
e67379b132 | ||
|
|
157d72fe33 | ||
|
|
d37d2c2493 | ||
|
|
4bd5c09035 | ||
|
|
05e8624509 | ||
|
|
fc417a90fd | ||
|
|
373581fd36 | ||
|
|
c55b301dc4 | ||
|
|
71f71cb3ce | ||
|
|
0acc861edd | ||
|
|
dbc1095cb4 | ||
|
|
050795801f | ||
|
|
c436875e4b | ||
|
|
ec0ae0ee13 | ||
|
|
48b7bcbf4f | ||
|
|
8723c409b6 | ||
|
|
3ceeb5b7fb | ||
|
|
3729e67247 | ||
|
|
89b4343ca1 | ||
|
|
0db7f3a9c2 | ||
|
|
8e017728d2 | ||
|
|
0bb033cca0 | ||
|
|
e254e6e313 | ||
|
|
55cc17b86a | ||
|
|
9f04f73f5e | ||
|
|
a1e245f38c | ||
|
|
d933a42841 | ||
|
|
64e3bfcf63 | ||
|
|
c4a1e560ed | ||
|
|
ebfb84e7fe | ||
|
|
7253772baa | ||
|
|
90378c1a75 | ||
|
|
44d1da2188 | ||
|
|
00f8c3a002 | ||
|
|
08e34a3227 | ||
|
|
05c22419bd | ||
|
|
8dd3f1942b | ||
|
|
bff439a6c6 | ||
|
|
593d27f333 | ||
|
|
2acb8c969d | ||
|
|
0b566445a1 | ||
|
|
dd12fee249 | ||
|
|
f1e79ee50e | ||
|
|
a8dc526720 | ||
|
|
535acc9e4d | ||
|
|
d1dbfe720d | ||
|
|
f327679ca9 | ||
|
|
cf374dbbb5 | ||
|
|
d3168cf44e | ||
|
|
4ecf4cda2d | ||
|
|
8718d88f83 | ||
|
|
c9e0347a5d | ||
|
|
e702769f39 | ||
|
|
b240029029 | ||
|
|
6d2af89197 | ||
|
|
f377e88a6c | ||
|
|
711e07c8d5 | ||
|
|
1fd54c55ba | ||
|
|
68774a8c80 | ||
|
|
ba30d83f9e | ||
|
|
ab7595214f | ||
|
|
2b5a09d902 | ||
|
|
9e32359f2d | ||
|
|
e73ffa5e75 | ||
|
|
b1a6b49f99 | ||
|
|
b27b0cce5a | ||
|
|
dcba4841fd |
80
.Xresources
80
.Xresources
@@ -1,8 +1,17 @@
|
||||
Xcursor.size: 16
|
||||
Xft.dpi: 96
|
||||
Xcursor.size: 6
|
||||
Xft.antialias: true
|
||||
Xft.hinting: true
|
||||
Xft.rgba: rgb
|
||||
Xft.hintstyle: hintslight
|
||||
! URxvt
|
||||
URxvt.font:xft:xos4 Terminus:size=8
|
||||
URxvt.font:xft:iM WritingMonoS Nerd Font:size=12
|
||||
URxvt.boldFont:xft:iM WritingMonoS Nerd Font:size=12:style=bold
|
||||
URxvt.italicFont:xft:iM WritingMonoS Nerd Font:size=12:style=italic
|
||||
URxvt.boldItalicFont:xft:iM WritingMonoS Nerd Font:size=12:style=bold italic
|
||||
URxvt.secondaryScreen: 1
|
||||
URxvt.secondaryScroll: 0
|
||||
URxvt.letterSpace: -1
|
||||
|
||||
! General settings
|
||||
URxvt.iso14755 : false
|
||||
@@ -32,43 +41,42 @@ URxvt.underlineURLs: True
|
||||
URxvt.keysym.Shift-Control-C: perl:clipboard:copy
|
||||
URxvt.keysym.Shift-Control-V: perl:clipboard:paste
|
||||
|
||||
! Font
|
||||
!URxvt.font: xft:Fantasque Sans Mono-10,xft:FontAwesome-10
|
||||
!URxvt.boldFont: xft:Fantasque Sans Mono-10,xft:FontAwesome-10
|
||||
URxvt.letterSpace: 0
|
||||
! special
|
||||
*foreground: #fce8c3
|
||||
*background: #1c1b19
|
||||
*cursorColor: #fbb829
|
||||
|
||||
! Gruvbox theme
|
||||
URxvt.background: #282828
|
||||
URxvt.foreground: #ebdbb2
|
||||
! black
|
||||
*color0: #1c1b19
|
||||
*color8: #918175
|
||||
|
||||
! Black + DarkGrey
|
||||
URxvt.color0: #282828
|
||||
URxvt.color8: #928374
|
||||
! DarkRed + Red
|
||||
URxvt.color1: #cc241d
|
||||
URxvt.color9: #fb4934
|
||||
! DarkGreen + Green
|
||||
URxvt.color2: #98971a
|
||||
URxvt.color10: #b8bb26
|
||||
! DarkYellow + Yellow
|
||||
URxvt.color3: #d79921
|
||||
URxvt.color11: #fabd2f
|
||||
! DarkBlue + Blue
|
||||
URxvt.color4: #458588
|
||||
URxvt.color12: #83a598
|
||||
! DarkMagenta + Magenta
|
||||
URxvt.color5: #b16286
|
||||
URxvt.color13: #d3869b
|
||||
! DarkCyan + Cyan
|
||||
URxvt.color6: #689d6a
|
||||
URxvt.color14: #8ec07c
|
||||
! LightGrey + White
|
||||
URxvt.color7: #a89984
|
||||
URxvt.color15: #ebdbb2
|
||||
! red
|
||||
*color1: #ef2f27
|
||||
*color9: #f75341
|
||||
|
||||
! Fading text on focus lost
|
||||
URxvt.fading: 30
|
||||
URxvt.cutchars: BACKSLASH '"'&()*,;<=>?@[]^{|}/
|
||||
! green
|
||||
*color2: #519f50
|
||||
*color10: #98bc37
|
||||
|
||||
! yellow
|
||||
*color3: #fbb829
|
||||
*color11: #fed06e
|
||||
|
||||
! blue
|
||||
*color4: #2c78bf
|
||||
*color12: #68a8e4
|
||||
|
||||
! magenta
|
||||
*color5: #e02c6d
|
||||
*color13: #ff5c8f
|
||||
|
||||
! cyan
|
||||
*color6: #0aaeb3
|
||||
*color14: #2be4d0
|
||||
|
||||
! white
|
||||
*color7: #baa67f
|
||||
*color15: #fce8c3
|
||||
|
||||
! Xresources
|
||||
|
||||
|
||||
@@ -1,916 +0,0 @@
|
||||
# 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: 1.0
|
||||
|
||||
# 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: IBM Plex Mono
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Text
|
||||
|
||||
# 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:
|
||||
|
||||
# The `style` can be specified to pick a specific face.
|
||||
style: Bold Italic
|
||||
|
||||
# Point size
|
||||
size: 7.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: 1
|
||||
|
||||
# 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: '#1d1f21'
|
||||
# foreground: '#c5c8c6'
|
||||
|
||||
# Bright and dim foreground colors
|
||||
#
|
||||
# The dimmed foreground color is calculated automatically if it is not
|
||||
# present. If the bright foreground color is not set, or
|
||||
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
|
||||
# color will be used.
|
||||
#dim_foreground: '#828482'
|
||||
#bright_foreground: '#eaeaea'
|
||||
|
||||
# Cursor colors
|
||||
#
|
||||
# Colors which should be used to draw the terminal cursor.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Vi mode cursor colors
|
||||
#
|
||||
# Colors for the cursor when the vi mode is active.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#vi_mode_cursor:
|
||||
# text: CellBackground
|
||||
# cursor: CellForeground
|
||||
|
||||
# Search colors
|
||||
#
|
||||
# Colors used for the search bar and match highlighting.
|
||||
#search:
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#matches:
|
||||
# foreground: '#000000'
|
||||
# background: '#ffffff'
|
||||
#focused_match:
|
||||
# foreground: '#ffffff'
|
||||
# background: '#000000'
|
||||
|
||||
#bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
|
||||
# Keyboard regex hints
|
||||
#hints:
|
||||
# First character in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#start:
|
||||
# foreground: '#1d1f21'
|
||||
# background: '#e9ff5e'
|
||||
|
||||
# All characters after the first one in the hint label
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#end:
|
||||
# foreground: '#e9ff5e'
|
||||
# background: '#1d1f21'
|
||||
|
||||
# Line indicator
|
||||
#
|
||||
# Color used for the indicator displaying the position in history during
|
||||
# search and vi mode.
|
||||
#
|
||||
# By default, these will use the opposing primary color.
|
||||
#line_indicator:
|
||||
# foreground: None
|
||||
# background: None
|
||||
|
||||
# Selection colors
|
||||
#
|
||||
# Colors which should be used to draw the selection area.
|
||||
#
|
||||
# Allowed values are CellForeground/CellBackground, which reference the
|
||||
# affected cell, or hexadecimal colors like #ff00ff.
|
||||
#selection:
|
||||
# text: CellBackground
|
||||
# background: CellForeground
|
||||
|
||||
# Normal colors
|
||||
#normal:
|
||||
# black: '#1d1f21'
|
||||
# red: '#cc6666'
|
||||
# green: '#b5bd68'
|
||||
# yellow: '#f0c674'
|
||||
# blue: '#81a2be'
|
||||
# magenta: '#b294bb'
|
||||
# cyan: '#8abeb7'
|
||||
# white: '#c5c8c6'
|
||||
|
||||
# Bright colors
|
||||
#bright:
|
||||
# black: '#666666'
|
||||
# red: '#d54e53'
|
||||
# green: '#b9ca4a'
|
||||
# yellow: '#e7c547'
|
||||
# blue: '#7aa6da'
|
||||
# magenta: '#c397d8'
|
||||
# cyan: '#70c0b1'
|
||||
# white: '#eaeaea'
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
#dim:
|
||||
# black: '#131415'
|
||||
# red: '#864343'
|
||||
# green: '#777c44'
|
||||
# yellow: '#9e824c'
|
||||
# blue: '#556a7d'
|
||||
# magenta: '#75617b'
|
||||
# cyan: '#5b7d78'
|
||||
# white: '#828482'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '#ff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
#transparent_background_colors: false
|
||||
# https://github.com/srcery-colors/srcery-terminal/
|
||||
# Colors (Srcery)
|
||||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '#1c1b19'
|
||||
foreground: '#fce8c3'
|
||||
|
||||
# Cursor colors
|
||||
cursor:
|
||||
text: CellBackground
|
||||
cursor: '#fbb829'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '#1c1b19'
|
||||
red: '#ef2f27'
|
||||
green: '#519f50'
|
||||
yellow: '#fbb829'
|
||||
blue: '#2c78bf'
|
||||
magenta: '#e02c6d'
|
||||
cyan: '#0aaeb3'
|
||||
white: '#baa67f'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#918175'
|
||||
red: '#f75341'
|
||||
green: '#98bc37'
|
||||
yellow: '#fed06e'
|
||||
blue: '#68a8e4'
|
||||
magenta: '#ff5c8f'
|
||||
cyan: '#2be4d0'
|
||||
white: '#fce8c3'
|
||||
|
||||
# Bell
|
||||
#
|
||||
# The bell is rung every time the BEL control character is received.
|
||||
#bell:
|
||||
# Visual Bell Animation
|
||||
#
|
||||
# Animation effect for flashing the screen when the visual bell is rung.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#animation: EaseOutExpo
|
||||
|
||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||
# disable the visual bell animation.
|
||||
#duration: 0
|
||||
|
||||
# Visual bell animation color.
|
||||
#color: '#ffffff'
|
||||
|
||||
# Bell Command
|
||||
#
|
||||
# This program is executed whenever the bell is rung.
|
||||
#
|
||||
# When set to `command: None`, no command will be executed.
|
||||
#
|
||||
# Example:
|
||||
# command:
|
||||
# program: notify-send
|
||||
# args: ["Hello, World!"]
|
||||
#
|
||||
#command: None
|
||||
|
||||
#selection:
|
||||
# This string contains all characters that are used as separators for
|
||||
# "semantic words" in Alacritty.
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#style:
|
||||
# Cursor shape
|
||||
#
|
||||
# Values for `shape`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#shape: Block
|
||||
|
||||
# Cursor blinking state
|
||||
#
|
||||
# Values for `blinking`:
|
||||
# - Never: Prevent the cursor from ever blinking
|
||||
# - Off: Disable blinking by default
|
||||
# - On: Enable blinking by default
|
||||
# - Always: Force the cursor to always blink
|
||||
#blinking: Off
|
||||
|
||||
# Vi mode cursor style
|
||||
#
|
||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||
# the style of the active value of the normal cursor.
|
||||
#
|
||||
# See `cursor.style` for available options.
|
||||
#vi_mode_style: None
|
||||
|
||||
# Cursor blinking interval in milliseconds.
|
||||
#blink_interval: 750
|
||||
|
||||
# If this is `true`, the cursor will be rendered as a hollow box when the
|
||||
# window is not focused.
|
||||
#unfocused_hollow: true
|
||||
|
||||
# Thickness of the cursor relative to the cell width as floating point number
|
||||
# from `0.0` to `1.0`.
|
||||
#thickness: 0.15
|
||||
|
||||
# Live config reload (changes require restart)
|
||||
#live_config_reload: true
|
||||
|
||||
# Shell
|
||||
#
|
||||
# You can set `shell.program` to the path of your favorite shell, e.g.
|
||||
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
|
||||
# shell.
|
||||
#
|
||||
# Default:
|
||||
# - (macOS) /bin/bash --login
|
||||
# - (Linux/BSD) user login shell
|
||||
# - (Windows) powershell
|
||||
#shell:
|
||||
# program: /bin/bash
|
||||
# args:
|
||||
# - --login
|
||||
|
||||
# Startup directory
|
||||
#
|
||||
# Directory the shell is started in. If this is unset, or `None`, the working
|
||||
# directory of the parent process will be used.
|
||||
#working_directory: None
|
||||
|
||||
# Send ESC (\x1b) before characters when alt is pressed.
|
||||
#alt_send_esc: true
|
||||
|
||||
# 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: Control
|
||||
# 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: N, mods: Control|Shift, action: SpawnNewInstance }
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp, }
|
||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop, }
|
||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||
|
||||
# Vi Mode
|
||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||
#- { key: K, mode: Vi|~Search, action: Up }
|
||||
#- { key: J, mode: Vi|~Search, action: Down }
|
||||
#- { key: H, mode: Vi|~Search, action: Left }
|
||||
#- { key: L, mode: Vi|~Search, action: Right }
|
||||
#- { key: Up, mode: Vi|~Search, action: Up }
|
||||
#- { key: Down, mode: Vi|~Search, action: Down }
|
||||
#- { key: Left, mode: Vi|~Search, action: Left }
|
||||
#- { key: Right, mode: Vi|~Search, action: Right }
|
||||
#- { key: Key0, mode: Vi|~Search, action: First }
|
||||
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
|
||||
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
|
||||
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
|
||||
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
|
||||
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
|
||||
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
|
||||
#- { key: W, mode: Vi|~Search, action: SemanticRight }
|
||||
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
|
||||
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
|
||||
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
|
||||
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
|
||||
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
|
||||
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
|
||||
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
|
||||
#- { key: N, mode: Vi|~Search, action: SearchNext }
|
||||
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
|
||||
|
||||
# Search Mode
|
||||
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
|
||||
#- { key: Escape, mode: Search, action: SearchCancel }
|
||||
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
|
||||
#- { key: U, mods: Control, mode: Search, action: SearchClear }
|
||||
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
|
||||
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
|
||||
#- { key: Down, mode: Search, action: SearchHistoryNext }
|
||||
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
|
||||
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
|
||||
|
||||
# (Windows, Linux, and BSD only)
|
||||
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
|
||||
#- { key: C, mods: Control|Shift, action: Copy }
|
||||
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
|
||||
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Insert, mods: Shift, action: PasteSelection }
|
||||
#- { key: Key0, mods: Control, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Control, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
|
||||
|
||||
# (Windows only)
|
||||
#- { key: Return, mods: Alt, action: ToggleFullscreen }
|
||||
|
||||
# (macOS only)
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
|
||||
#- { key: Key0, mods: Command, action: ResetFontSize }
|
||||
#- { key: Equals, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Plus, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
|
||||
#- { key: Minus, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
|
||||
#- { key: V, mods: Command, action: Paste }
|
||||
#- { key: C, mods: Command, action: Copy }
|
||||
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: H, mods: Command, action: Hide }
|
||||
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
|
||||
#- { key: M, mods: Command, action: Minimize }
|
||||
#- { key: Q, mods: Command, action: Quit }
|
||||
#- { key: W, mods: Command, action: Quit }
|
||||
#- { key: N, mods: Command, action: SpawnNewInstance }
|
||||
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
|
||||
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
|
||||
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
|
||||
|
||||
#debug:
|
||||
# Display the time it takes to redraw each frame.
|
||||
#render_timer: false
|
||||
|
||||
# Keep the log file after quitting Alacritty.
|
||||
#persistent_logging: false
|
||||
|
||||
# Log level
|
||||
#
|
||||
# Values for `log_level`:
|
||||
# - Off
|
||||
# - Error
|
||||
# - Warn
|
||||
# - Info
|
||||
# - Debug
|
||||
# - Trace
|
||||
#log_level: Warn
|
||||
|
||||
# Print all received window events.
|
||||
#print_events: false
|
||||
|
||||
# Highlight window damage information.
|
||||
#highlight_damage: false
|
||||
1
.config/awesome/my_theme.lua
Symbolic link
1
.config/awesome/my_theme.lua
Symbolic link
@@ -0,0 +1 @@
|
||||
themes/srcery.lua
|
||||
641
.config/awesome/rc.lua
Normal file
641
.config/awesome/rc.lua
Normal file
@@ -0,0 +1,641 @@
|
||||
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||
pcall(require, "luarocks.loader")
|
||||
|
||||
-- Standard awesome library
|
||||
local gears = require("gears")
|
||||
local awful = require("awful")
|
||||
require("awful.autofocus")
|
||||
-- Widget and layout library
|
||||
local wibox = require("wibox")
|
||||
-- Theme handling library
|
||||
local beautiful = require("beautiful")
|
||||
-- Notification library
|
||||
local naughty = require("naughty")
|
||||
-- Declarative object management
|
||||
local ruled = require("ruled")
|
||||
local menubar = require("menubar")
|
||||
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||
-- Enable hotkeys help widget for VIM and other apps
|
||||
-- when client with a matching name is opened:
|
||||
require("awful.hotkeys_popup.keys")
|
||||
|
||||
-- {{{ Error handling
|
||||
-- Check if awesome encountered an error during startup and fell back to
|
||||
-- another config (This code will only ever execute for the fallback config)
|
||||
naughty.connect_signal("request::display_error", function(message, startup)
|
||||
naughty.notification {
|
||||
urgency = "critical",
|
||||
title = "Oops, an error happened"..(startup and " during startup!" or "!"),
|
||||
message = message
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Variable definitions
|
||||
-- Themes define colours, icons, font and wallpapers.
|
||||
beautiful.init(gears.filesystem.get_configuration_dir() .. "my_theme.lua")
|
||||
|
||||
-- This is used later as the default terminal and editor to run.
|
||||
terminal = "/home/rkmiec/.cargo/bin/alacritty"
|
||||
editor = os.getenv("EDITOR") or "neovide"
|
||||
editor_cmd = terminal .. " -e " .. editor
|
||||
|
||||
-- Default modkey.
|
||||
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||
-- If you do not like this or do not have such a key,
|
||||
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||
modkey = "Mod4"
|
||||
-- }}}
|
||||
|
||||
-- {{{ Menu
|
||||
-- Create a launcher widget and a main menu
|
||||
myawesomemenu = {
|
||||
{ "hotkeys", function() hotkeys_popup.show_help(nil, awful.screen.focused()) end },
|
||||
{ "manual", terminal .. " -e man awesome" },
|
||||
{ "edit config", editor_cmd .. " " .. awesome.conffile },
|
||||
{ "restart", awesome.restart },
|
||||
{ "quit", function() awesome.quit() end },
|
||||
}
|
||||
|
||||
local menu_awesome = { "awesome", myawesomemenu, beautiful.awesome_icon }
|
||||
local menu_terminal = { "open terminal", terminal }
|
||||
|
||||
mymainmenu = awful.menu({
|
||||
items = {
|
||||
menu_awesome,
|
||||
menu_terminal,
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
mylauncher = awful.widget.launcher({ image = beautiful.awesome_icon,
|
||||
menu = mymainmenu })
|
||||
|
||||
-- Menubar configuration
|
||||
menubar.utils.terminal = terminal -- Set the terminal for applications that require it
|
||||
-- }}}
|
||||
|
||||
-- {{{ Tag layout
|
||||
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||
tag.connect_signal("request::default_layouts", function()
|
||||
awful.layout.append_default_layouts({
|
||||
awful.layout.suit.floating,
|
||||
awful.layout.suit.tile,
|
||||
awful.layout.suit.tile.left,
|
||||
-- awful.layout.suit.tile.bottom,
|
||||
-- awful.layout.suit.tile.top,
|
||||
-- awful.layout.suit.fair,
|
||||
-- awful.layout.suit.fair.horizontal,
|
||||
-- awful.layout.suit.spiral,
|
||||
-- awful.layout.suit.spiral.dwindle,
|
||||
awful.layout.suit.max,
|
||||
awful.layout.suit.max.fullscreen,
|
||||
-- awful.layout.suit.magnifier,
|
||||
-- awful.layout.suit.corner.nw,
|
||||
})
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Wallpaper
|
||||
screen.connect_signal("request::wallpaper", function(s)
|
||||
-- awful.wallpaper {
|
||||
-- screen = s,
|
||||
-- widget = {
|
||||
-- {
|
||||
-- image = beautiful.wallpaper,
|
||||
-- upscale = true,
|
||||
-- downscale = true,
|
||||
-- widget = wibox.widget.imagebox,
|
||||
-- },
|
||||
-- valign = "center",
|
||||
-- halign = "center",
|
||||
-- tiled = false,
|
||||
-- widget = wibox.container.tile,
|
||||
-- }
|
||||
-- }
|
||||
awful.spawn.single_instance("feh --bg-scale /home/rkmiec/Downloads/a45eca3302b5d07d7f95b57f1df52f96.webp")
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Wibar
|
||||
|
||||
-- Keyboard map indicator and switcher
|
||||
mykeyboardlayout = awful.widget.keyboardlayout()
|
||||
|
||||
-- Create a textclock widget
|
||||
mytextclock = wibox.widget {
|
||||
format = "%a %y %m %_d - %_H %M %S",
|
||||
refresh = 5,
|
||||
widget = wibox.widget.textclock
|
||||
}
|
||||
|
||||
screen.connect_signal("request::desktop_decoration", function(s)
|
||||
-- Each screen has its own tag table.
|
||||
if s.index == 1 then
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[3])
|
||||
else
|
||||
awful.tag({ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, s, awful.layout.layouts[2])
|
||||
end
|
||||
|
||||
-- Create a promptbox for each screen
|
||||
s.mypromptbox = awful.widget.prompt()
|
||||
|
||||
-- Create an imagebox widget which will contain an icon indicating which layout we're using.
|
||||
-- We need one layoutbox per screen.
|
||||
s.mylayoutbox = awful.widget.layoutbox {
|
||||
screen = s,
|
||||
buttons = {
|
||||
awful.button({ }, 1, function () awful.layout.inc( 1) end),
|
||||
awful.button({ }, 3, function () awful.layout.inc(-1) end),
|
||||
awful.button({ }, 4, function () awful.layout.inc(-1) end),
|
||||
awful.button({ }, 5, function () awful.layout.inc( 1) end),
|
||||
}
|
||||
}
|
||||
|
||||
-- Create a taglist widget
|
||||
s.mytaglist = awful.widget.taglist {
|
||||
screen = s,
|
||||
filter = awful.widget.taglist.filter.all,
|
||||
--widget = wibox.container.rotate,
|
||||
buttons = {
|
||||
awful.button({ }, 1, function(t) t:view_only() end),
|
||||
awful.button({ modkey }, 1, function(t)
|
||||
if client.focus then
|
||||
client.focus:move_to_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 3, awful.tag.viewtoggle),
|
||||
awful.button({ modkey }, 3, function(t)
|
||||
if client.focus then
|
||||
client.focus:toggle_tag(t)
|
||||
end
|
||||
end),
|
||||
awful.button({ }, 4, function(t) awful.tag.viewprev(t.screen) end),
|
||||
awful.button({ }, 5, function(t) awful.tag.viewnext(t.screen) end),
|
||||
}
|
||||
}
|
||||
|
||||
-- Create a tasklist widget
|
||||
s.mytasklist = awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = {
|
||||
awful.button({ }, 1, function (c)
|
||||
c:activate { context = "tasklist", action = "toggle_minimization" }
|
||||
end),
|
||||
awful.button({ }, 3, function() awful.menu.client_list { theme = { width = 250 } } end),
|
||||
awful.button({ }, 4, function() awful.client.focus.byidx(-1) end),
|
||||
awful.button({ }, 5, function() awful.client.focus.byidx( 1) end),
|
||||
}
|
||||
}
|
||||
|
||||
-- Create the wibox
|
||||
if s.index == 2 then
|
||||
s.mywibox = awful.wibar({ position = "right", screen = s })
|
||||
s.rotation = "west"
|
||||
else
|
||||
s.mywibox = awful.wibar({ position = "left", screen = s })
|
||||
s.rotation = "east"
|
||||
end
|
||||
s.tasklist = wibox.container {
|
||||
awful.widget.tasklist {
|
||||
screen = s,
|
||||
filter = awful.widget.tasklist.filter.currenttags,
|
||||
buttons = tasklist_buttons,
|
||||
},
|
||||
direction = s.rotation,
|
||||
widget = wibox.container.rotate
|
||||
}
|
||||
s.systray = wibox.container {
|
||||
wibox.widget.systray(),
|
||||
direction = s.rotation,
|
||||
widget = wibox.container.rotate
|
||||
}
|
||||
-- Add widgets to the wibox
|
||||
s.mywibox:setup {
|
||||
layout = wibox.layout.align.vertical,
|
||||
{ -- Left widgets
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
s.mylayoutbox,
|
||||
mylauncher,
|
||||
s.mytaglist,
|
||||
s.mypromptbox,
|
||||
},
|
||||
s.tasklist,
|
||||
{ -- Right widgets
|
||||
layout = wibox.layout.fixed.vertical,
|
||||
mykeyboardlayout,
|
||||
s.systray,
|
||||
mytextclock,
|
||||
},
|
||||
}
|
||||
end)
|
||||
|
||||
-- }}}
|
||||
|
||||
-- {{{ Mouse bindings
|
||||
awful.mouse.append_global_mousebindings({
|
||||
awful.button({ }, 3, function () mymainmenu:toggle() end),
|
||||
awful.button({ }, 4, awful.tag.viewprev),
|
||||
awful.button({ }, 5, awful.tag.viewnext),
|
||||
})
|
||||
-- }}}
|
||||
|
||||
-- {{{ Key bindings
|
||||
|
||||
-- General Awesome keys
|
||||
awful.keyboard.append_global_keybindings({
|
||||
awful.key({ modkey, }, "s", hotkeys_popup.show_help,
|
||||
{description="show help", group="awesome"}),
|
||||
awful.key({ modkey, }, "w", function () mymainmenu:show() end,
|
||||
{description = "show main menu", group = "awesome"}),
|
||||
awful.key({ modkey, "Control" }, "r", awesome.restart,
|
||||
{description = "reload awesome", group = "awesome"}),
|
||||
awful.key({ modkey, "Shift" }, "c", awesome.quit,
|
||||
{description = "quit awesome", group = "awesome"}),
|
||||
-- awful.key({ modkey }, "y",
|
||||
-- function ()
|
||||
-- awful.prompt.run {
|
||||
-- prompt = "Run Lua code: ",
|
||||
-- textbox = awful.screen.focused().mypromptbox.widget,
|
||||
-- exe_callback = awful.util.eval,
|
||||
-- history_path = awful.util.get_cache_dir() .. "/history_eval"
|
||||
-- }
|
||||
-- end,
|
||||
-- {description = "lua execute prompt", group = "awesome"}),
|
||||
awful.key({ modkey, }, "Return", function () awful.spawn(terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
-- awful.key({ modkey }, "r", function () awful.screen.focused().mypromptbox:run() end,
|
||||
-- {description = "run prompt", group = "launcher"}),
|
||||
awful.key({ modkey, }, "d", function () awful.spawn(terminal) end,
|
||||
{description = "open a terminal", group = "launcher"}),
|
||||
awful.key({ modkey }, "p", function() menubar.show() end,
|
||||
{description = "show the menubar", group = "launcher"}),
|
||||
})
|
||||
|
||||
-- Tags related keybindings
|
||||
awful.keyboard.append_global_keybindings({
|
||||
awful.key({ modkey, }, "Left", awful.tag.viewprev,
|
||||
{description = "view previous", group = "tag"}),
|
||||
awful.key({ modkey, }, "Right", awful.tag.viewnext,
|
||||
{description = "view next", group = "tag"}),
|
||||
awful.key({ modkey, }, "Escape", awful.tag.history.restore,
|
||||
{description = "go back", group = "tag"}),
|
||||
})
|
||||
|
||||
-- Focus related keybindings
|
||||
awful.keyboard.append_global_keybindings({
|
||||
awful.key({ modkey, }, "j",
|
||||
function ()
|
||||
awful.client.focus.byidx( 1)
|
||||
end,
|
||||
{description = "focus next by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "k",
|
||||
function ()
|
||||
awful.client.focus.byidx(-1)
|
||||
end,
|
||||
{description = "focus previous by index", group = "client"}
|
||||
),
|
||||
awful.key({ modkey, }, "Tab",
|
||||
function ()
|
||||
awful.client.focus.history.previous()
|
||||
if client.focus then
|
||||
client.focus:raise()
|
||||
end
|
||||
end,
|
||||
{description = "go back", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.screen.focus_relative( 1) end,
|
||||
{description = "focus the next screen", group = "screen"}),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.screen.focus_relative(-1) end,
|
||||
{description = "focus the previous screen", group = "screen"}),
|
||||
awful.key({ modkey, "Control" }, "n",
|
||||
function ()
|
||||
local c = awful.client.restore()
|
||||
-- Focus restored client
|
||||
if c then
|
||||
c:activate { raise = true, context = "key.unminimize" }
|
||||
end
|
||||
end,
|
||||
{description = "restore minimized", group = "client"}),
|
||||
})
|
||||
|
||||
-- Layout related keybindings
|
||||
awful.keyboard.append_global_keybindings({
|
||||
awful.key({ modkey, "Shift" }, "j", function () awful.client.swap.byidx( 1) end,
|
||||
{description = "swap with next client by index", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "k", function () awful.client.swap.byidx( -1) end,
|
||||
{description = "swap with previous client by index", group = "client"}),
|
||||
awful.key({ modkey, }, "u", awful.client.urgent.jumpto,
|
||||
{description = "jump to urgent client", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "j", function () awful.tag.incmwfact( 0.05) end,
|
||||
{description = "increase master width factor", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "k", function () awful.tag.incmwfact(-0.05) end,
|
||||
{description = "decrease master width factor", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "h", function () awful.tag.incnmaster( 1, nil, true) end,
|
||||
{description = "increase the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1, nil, true) end,
|
||||
{description = "decrease the number of master clients", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "h", function () awful.tag.incncol( 1, nil, true) end,
|
||||
{description = "increase the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, "Control" }, "l", function () awful.tag.incncol(-1, nil, true) end,
|
||||
{description = "decrease the number of columns", group = "layout"}),
|
||||
awful.key({ modkey, }, "space", function () awful.layout.inc( 1) end,
|
||||
{description = "select next", group = "layout"}),
|
||||
awful.key({ modkey, "Shift" }, "space", function () awful.layout.inc(-1) end,
|
||||
{description = "select previous", group = "layout"}),
|
||||
})
|
||||
|
||||
|
||||
awful.keyboard.append_global_keybindings({
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numrow",
|
||||
description = "only view tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
tag:view_only()
|
||||
end
|
||||
end,
|
||||
},
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control" },
|
||||
keygroup = "numrow",
|
||||
description = "toggle tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
local screen = awful.screen.focused()
|
||||
local tag = screen.tags[index]
|
||||
if tag then
|
||||
awful.tag.viewtoggle(tag)
|
||||
end
|
||||
end,
|
||||
},
|
||||
awful.key {
|
||||
modifiers = { modkey, "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "move focused client to tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:move_to_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
awful.key {
|
||||
modifiers = { modkey, "Control", "Shift" },
|
||||
keygroup = "numrow",
|
||||
description = "toggle focused client on tag",
|
||||
group = "tag",
|
||||
on_press = function (index)
|
||||
if client.focus then
|
||||
local tag = client.focus.screen.tags[index]
|
||||
if tag then
|
||||
client.focus:toggle_tag(tag)
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
awful.key {
|
||||
modifiers = { modkey },
|
||||
keygroup = "numpad",
|
||||
description = "select layout directly",
|
||||
group = "layout",
|
||||
on_press = function (index)
|
||||
local t = awful.screen.focused().selected_tag
|
||||
if t then
|
||||
t.layout = t.layouts[index] or t.layout
|
||||
end
|
||||
end,
|
||||
}
|
||||
})
|
||||
|
||||
client.connect_signal("request::default_mousebindings", function()
|
||||
awful.mouse.append_client_mousebindings({
|
||||
awful.button({ }, 1, function (c)
|
||||
c:activate { context = "mouse_click" }
|
||||
end),
|
||||
awful.button({ modkey }, 1, function (c)
|
||||
c:activate { context = "mouse_click", action = "mouse_move" }
|
||||
end),
|
||||
awful.button({ modkey }, 3, function (c)
|
||||
c:activate { context = "mouse_click", action = "mouse_resize"}
|
||||
end),
|
||||
})
|
||||
end)
|
||||
|
||||
client.connect_signal("request::default_keybindings", function()
|
||||
awful.keyboard.append_client_keybindings({
|
||||
awful.key({ modkey, }, "f",
|
||||
function (c)
|
||||
c.fullscreen = not c.fullscreen
|
||||
c:raise()
|
||||
end,
|
||||
{description = "toggle fullscreen", group = "client"}),
|
||||
awful.key({ modkey, }, "q", function (c) c:kill() end,
|
||||
{description = "close", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "space", awful.client.floating.toggle ,
|
||||
{description = "toggle floating", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "Return", function (c) c:swap(awful.client.getmaster()) end,
|
||||
{description = "move to master", group = "client"}),
|
||||
awful.key({ modkey, }, "o", function (c) c:move_to_screen() end,
|
||||
{description = "move to screen", group = "client"}),
|
||||
awful.key({ modkey, }, "t", function (c) c.ontop = not c.ontop end,
|
||||
{description = "toggle keep on top", group = "client"}),
|
||||
awful.key({ modkey, }, "n",
|
||||
function (c)
|
||||
-- The client currently has the input focus, so it cannot be
|
||||
-- minimized, since minimized clients can't have the focus.
|
||||
c.minimized = true
|
||||
end ,
|
||||
{description = "minimize", group = "client"}),
|
||||
awful.key({ modkey, }, "m",
|
||||
function (c)
|
||||
c.maximized = not c.maximized
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize", group = "client"}),
|
||||
awful.key({ modkey, "Control" }, "m",
|
||||
function (c)
|
||||
c.maximized_vertical = not c.maximized_vertical
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize vertically", group = "client"}),
|
||||
awful.key({ modkey, "Shift" }, "m",
|
||||
function (c)
|
||||
c.maximized_horizontal = not c.maximized_horizontal
|
||||
c:raise()
|
||||
end ,
|
||||
{description = "(un)maximize horizontally", group = "client"}),
|
||||
})
|
||||
end)
|
||||
|
||||
-- }}}
|
||||
|
||||
-- {{{ Rules
|
||||
-- Rules to apply to new clients.
|
||||
ruled.client.connect_signal("request::rules", function()
|
||||
-- All clients will match this rule.
|
||||
ruled.client.append_rule {
|
||||
id = "global",
|
||||
rule = { },
|
||||
properties = {
|
||||
focus = awful.client.focus.filter,
|
||||
raise = true,
|
||||
screen = awful.screen.preferred,
|
||||
placement = awful.placement.no_overlap+awful.placement.no_offscreen
|
||||
}
|
||||
}
|
||||
|
||||
-- Floating clients.
|
||||
ruled.client.append_rule {
|
||||
id = "floating",
|
||||
rule_any = {
|
||||
instance = {
|
||||
"DTA", -- Firefox addon DownThemAll.
|
||||
"copyq", -- Includes session name in class.
|
||||
"pinentry", },
|
||||
class = {
|
||||
"Arandr", "Blueman-manager", "Gpick", "Sxiv",
|
||||
"Tor Browser", "Wpa_gui", "veromix", "xtightvncviewer"
|
||||
},
|
||||
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||
-- and the name shown there might not match defined rules here.
|
||||
name = {
|
||||
"Event Tester", -- xev.
|
||||
},
|
||||
role = {
|
||||
"AlarmWindow", -- Thunderbird's calendar.
|
||||
"ConfigManager", -- Thunderbird's about:config.
|
||||
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||
}
|
||||
},
|
||||
properties = { floating = true }
|
||||
}
|
||||
|
||||
-- Add titlebars to normal clients and dialogs
|
||||
ruled.client.append_rule {
|
||||
id = "titlebars",
|
||||
rule_any = { type = { "normal", "dialog" } },
|
||||
properties = { titlebars_enabled = false }
|
||||
}
|
||||
|
||||
-- Set Firefox to always map on the tag named "1" on screen 1 and disable
|
||||
-- title for that window
|
||||
--{ rule = { class = "Firefox" },
|
||||
-- properties = { screen = 1, tag = "1", titlebars_enabled = false } },
|
||||
--{ rule = { class = "firefox" },
|
||||
-- properties = { screen = 1, tag = "1", titlebars_enabled = false } },
|
||||
--{ rule = { class = "Google-chrome-beta" },
|
||||
-- properties = { screen = 1, tag = "1", titlebars_enabled = false } },
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Titlebars
|
||||
-- Add a titlebar if titlebars_enabled is set to true in the rules.
|
||||
client.connect_signal("request::titlebars", function(c)
|
||||
-- buttons for the titlebar
|
||||
local buttons = {
|
||||
awful.button({ }, 1, function()
|
||||
c:activate { context = "titlebar", action = "mouse_move" }
|
||||
end),
|
||||
awful.button({ }, 3, function()
|
||||
c:activate { context = "titlebar", action = "mouse_resize"}
|
||||
end),
|
||||
}
|
||||
|
||||
awful.titlebar(c).widget = {
|
||||
{ -- Left
|
||||
awful.titlebar.widget.iconwidget(c),
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.fixed.horizontal
|
||||
},
|
||||
{ -- Middle
|
||||
{ -- Title
|
||||
halign = "center",
|
||||
widget = awful.titlebar.widget.titlewidget(c)
|
||||
},
|
||||
buttons = buttons,
|
||||
layout = wibox.layout.flex.horizontal
|
||||
},
|
||||
{ -- Right
|
||||
awful.titlebar.widget.floatingbutton (c),
|
||||
awful.titlebar.widget.maximizedbutton(c),
|
||||
awful.titlebar.widget.stickybutton (c),
|
||||
awful.titlebar.widget.ontopbutton (c),
|
||||
awful.titlebar.widget.closebutton (c),
|
||||
layout = wibox.layout.fixed.horizontal()
|
||||
},
|
||||
layout = wibox.layout.align.horizontal
|
||||
}
|
||||
end)
|
||||
-- }}}
|
||||
|
||||
-- {{{ Notifications
|
||||
|
||||
ruled.notification.connect_signal('request::rules', function()
|
||||
-- All notifications will match this rule.
|
||||
ruled.notification.append_rule {
|
||||
rule = { },
|
||||
properties = {
|
||||
screen = awful.screen.preferred,
|
||||
implicit_timeout = 5,
|
||||
}
|
||||
}
|
||||
end)
|
||||
|
||||
naughty.connect_signal("request::display", function(n)
|
||||
naughty.layout.box { notification = n }
|
||||
end)
|
||||
|
||||
-- }}}
|
||||
|
||||
-- Enable sloppy focus, so that focus follows mouse.
|
||||
client.connect_signal("mouse::enter", function(c)
|
||||
c:activate { context = "mouse_enter", raise = false }
|
||||
end)
|
||||
|
||||
client.connect_signal("focus", function(c) c.border_color = beautiful.border_focus end)
|
||||
client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
|
||||
|
||||
awful.spawn.with_shell(
|
||||
'if (xrdb -query | grep -q "^awesome\\.started:\\s*true$"); then exit; fi;' ..
|
||||
'echo "awesome.started:true" | xrdb -merge ; ' ..
|
||||
-- list each of your autostart commands, followed by ; inside single quotes, followed by ..
|
||||
'dex --environment Awesome --autostart --search-paths "$XDG_CONFIG_DIRS/autostart:$XDG_CONFIG_HOME/autostart"' -- https://github.com/jceb/dex
|
||||
)
|
||||
|
||||
do
|
||||
local cmds_once =
|
||||
{
|
||||
"xset b off",
|
||||
"xdotool key --clearmodifiers Num_Lock",
|
||||
--"autorandr -c",
|
||||
"pasystray -m 100",
|
||||
--"cbatticon",
|
||||
--"barrierc --disable-crypto 192.168.10.2:24800",
|
||||
"xbindkeys -f /home/rkmiec/.config/xbindkeysrc",
|
||||
}
|
||||
for _,i in ipairs(cmds_once) do
|
||||
awful.spawn(i)
|
||||
end
|
||||
--"dunst -config /home/kmcr/.config/i3/dunst_config",
|
||||
local cmds_single_instance =
|
||||
{
|
||||
--"nm-applet",
|
||||
"blueman-applet",
|
||||
"flameshot",
|
||||
"feh --bg-scale /home/rkmiec/Downloads/a45eca3302b5d07d7f95b57f1df52f96.webp",
|
||||
}
|
||||
for _,i in ipairs(cmds_single_instance) do
|
||||
awful.spawn.single_instance(i)
|
||||
end
|
||||
end
|
||||
BIN
.config/awesome/themes/background.jpg
Normal file
BIN
.config/awesome/themes/background.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 520 KiB |
151
.config/awesome/themes/falcon.lua
Normal file
151
.config/awesome/themes/falcon.lua
Normal file
@@ -0,0 +1,151 @@
|
||||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
local theme_assets = require("beautiful.theme_assets")
|
||||
local xresources = require("beautiful.xresources")
|
||||
local dpi = xresources.apply_dpi
|
||||
|
||||
local gfs = require("gears.filesystem")
|
||||
local themes_path = gfs.get_themes_dir()
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.font = "sans 8"
|
||||
|
||||
local falcon_colors = {}
|
||||
falcon_colors.black = "#000004"
|
||||
falcon_colors.red = "#ff3600"
|
||||
falcon_colors.green = "#859933"
|
||||
falcon_colors.yellow = "#ffc552"
|
||||
falcon_colors.blue = "#635196"
|
||||
falcon_colors.magenta = "#ff761a"
|
||||
falcon_colors.cyan = "#34bfa4"
|
||||
falcon_colors.white = "#b4b4b9"
|
||||
|
||||
falcon_colors.brightblack = "#020221"
|
||||
falcon_colors.brightred = "#ff8e78"
|
||||
falcon_colors.brightgreen = "#b2bc55"
|
||||
falcon_colors.brightyellow = "#ffd392"
|
||||
falcon_colors.brightblue = "#99a4bc"
|
||||
falcon_colors.brightmagenta = "#ffb07b"
|
||||
falcon_colors.brightcyan = "#8bccbf"
|
||||
falcon_colors.brightwhite = "#f8f8ff"
|
||||
|
||||
-- Theme setting.
|
||||
theme.bg_normal = falcon_colors.brightblack
|
||||
theme.bg_focus = falcon_colors.blue
|
||||
theme.bg_urgent = falcon_colors.brightred
|
||||
theme.bg_minimize = falcon_colors.black
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
theme.fg_normal = falcon_colors.white
|
||||
theme.fg_focus = falcon_colors.brightwhite
|
||||
theme.fg_urgent = falcon_colors.brightwhite
|
||||
theme.fg_minimize = falcon_colors.brightwhite
|
||||
|
||||
theme.useless_gap = dpi(0)
|
||||
theme.border_width = dpi(2)
|
||||
theme.border_normal = falcon_colors.black
|
||||
theme.border_focus = falcon_colors.blue
|
||||
theme.border_marked = falcon_colors.magenta
|
||||
|
||||
-- There are other variable sets
|
||||
-- overriding the default one when
|
||||
-- defined, the sets are:
|
||||
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
|
||||
-- tasklist_[bg|fg]_[focus|urgent]
|
||||
-- titlebar_[bg|fg]_[normal|focus]
|
||||
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
|
||||
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
|
||||
-- Example:
|
||||
--theme.taglist_bg_focus = "#ff0000"
|
||||
|
||||
-- Generate taglist squares:
|
||||
local taglist_square_size = dpi(5)
|
||||
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
|
||||
-- Variables set for theming notifications:
|
||||
-- notification_font
|
||||
-- notification_[bg|fg]
|
||||
-- notification_[width|height|margin]
|
||||
-- notification_[border_color|border_width|shape|opacity]
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = themes_path.."default/submenu.png"
|
||||
theme.menu_height = dpi(20)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- You can add as many variables as
|
||||
-- you wish and access them by using
|
||||
-- beautiful.variable in your rc.lua
|
||||
--theme.bg_widget = "#cc0000"
|
||||
|
||||
-- Define the image to load
|
||||
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
|
||||
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
|
||||
|
||||
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
|
||||
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
|
||||
|
||||
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
|
||||
|
||||
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
|
||||
|
||||
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
|
||||
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
|
||||
|
||||
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
|
||||
|
||||
theme.wallpaper = themes_path.."default/background.jpg"
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||
|
||||
-- Generate Awesome icon:
|
||||
theme.awesome_icon = theme_assets.awesome_icon(
|
||||
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||
)
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/share/icons and /usr/share/icons/kicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||
150
.config/awesome/themes/srcery.lua
Normal file
150
.config/awesome/themes/srcery.lua
Normal file
@@ -0,0 +1,150 @@
|
||||
---------------------------
|
||||
-- Default awesome theme --
|
||||
---------------------------
|
||||
|
||||
local theme_assets = require("beautiful.theme_assets")
|
||||
local xresources = require("beautiful.xresources")
|
||||
local dpi = xresources.apply_dpi
|
||||
|
||||
local gfs = require("gears.filesystem")
|
||||
local themes_path = gfs.get_themes_dir()
|
||||
|
||||
local theme = {}
|
||||
|
||||
theme.font = "iM WritingMonoS Nerd Font 8"
|
||||
|
||||
local srcery_colors = {}
|
||||
srcery_colors.black = "#1C1B19"
|
||||
srcery_colors.red = "#EF2F27"
|
||||
srcery_colors.green = "#519F50"
|
||||
srcery_colors.yellow = "#FBB829"
|
||||
srcery_colors.blue = "#2C78BF"
|
||||
srcery_colors.magenta = "#E02C6D"
|
||||
srcery_colors.cyan = "#0AAEB3"
|
||||
srcery_colors.white = "#D0BFA1"
|
||||
srcery_colors.brightblack = "#918175"
|
||||
srcery_colors.brightred = "#F75341"
|
||||
srcery_colors.brightgreen = "#98BC37"
|
||||
srcery_colors.brightyellow = "#FED06E"
|
||||
srcery_colors.brightblue = "#68A8E4"
|
||||
srcery_colors.brightmagenta = "#FF5C8F"
|
||||
srcery_colors.brightcyan = "#2BE4D0"
|
||||
srcery_colors.brightwhite = "#FCE8C3"
|
||||
|
||||
-- Theme setting.
|
||||
theme.bg_normal = srcery_colors.brightblack
|
||||
theme.bg_focus = srcery_colors.white
|
||||
theme.bg_urgent = srcery_colors.brightred
|
||||
theme.bg_minimize = srcery_colors.black
|
||||
theme.bg_systray = theme.bg_normal
|
||||
|
||||
theme.fg_normal = srcery_colors.black
|
||||
theme.fg_focus = srcery_colors.blue
|
||||
theme.fg_urgent = srcery_colors.magenta
|
||||
theme.fg_minimize = srcery_colors.white
|
||||
|
||||
theme.useless_gap = dpi(1)
|
||||
theme.border_width = dpi(1)
|
||||
theme.border_normal = srcery_colors.brightblack
|
||||
theme.border_focus = srcery_colors.white
|
||||
theme.border_marked = srcery_colors.brightred
|
||||
|
||||
-- There are other variable sets
|
||||
-- overriding the default one when
|
||||
-- defined, the sets are:
|
||||
-- taglist_[bg|fg]_[focus|urgent|occupied|empty|volatile]
|
||||
-- tasklist_[bg|fg]_[focus|urgent]
|
||||
-- titlebar_[bg|fg]_[normal|focus]
|
||||
-- tooltip_[font|opacity|fg_color|bg_color|border_width|border_color]
|
||||
-- mouse_finder_[color|timeout|animate_timeout|radius|factor]
|
||||
-- prompt_[fg|bg|fg_cursor|bg_cursor|font]
|
||||
-- hotkeys_[bg|fg|border_width|border_color|shape|opacity|modifiers_fg|label_bg|label_fg|group_margin|font|description_font]
|
||||
-- Example:
|
||||
--theme.taglist_bg_focus = "#ff0000"
|
||||
|
||||
-- Generate taglist squares:
|
||||
local taglist_square_size = dpi(4)
|
||||
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||
taglist_square_size, theme.fg_normal
|
||||
)
|
||||
|
||||
-- Variables set for theming notifications:
|
||||
-- notification_font
|
||||
-- notification_[bg|fg]
|
||||
-- notification_[width|height|margin]
|
||||
-- notification_[border_color|border_width|shape|opacity]
|
||||
|
||||
-- Variables set for theming the menu:
|
||||
-- menu_[bg|fg]_[normal|focus]
|
||||
-- menu_[border_color|border_width]
|
||||
theme.menu_submenu_icon = themes_path.."default/submenu.png"
|
||||
theme.menu_height = dpi(20)
|
||||
theme.menu_width = dpi(100)
|
||||
|
||||
-- You can add as many variables as
|
||||
-- you wish and access them by using
|
||||
-- beautiful.variable in your rc.lua
|
||||
--theme.bg_widget = "#cc0000"
|
||||
|
||||
-- Define the image to load
|
||||
theme.titlebar_close_button_normal = themes_path.."default/titlebar/close_normal.png"
|
||||
theme.titlebar_close_button_focus = themes_path.."default/titlebar/close_focus.png"
|
||||
|
||||
theme.titlebar_minimize_button_normal = themes_path.."default/titlebar/minimize_normal.png"
|
||||
theme.titlebar_minimize_button_focus = themes_path.."default/titlebar/minimize_focus.png"
|
||||
|
||||
theme.titlebar_ontop_button_normal_inactive = themes_path.."default/titlebar/ontop_normal_inactive.png"
|
||||
theme.titlebar_ontop_button_focus_inactive = themes_path.."default/titlebar/ontop_focus_inactive.png"
|
||||
theme.titlebar_ontop_button_normal_active = themes_path.."default/titlebar/ontop_normal_active.png"
|
||||
theme.titlebar_ontop_button_focus_active = themes_path.."default/titlebar/ontop_focus_active.png"
|
||||
|
||||
theme.titlebar_sticky_button_normal_inactive = themes_path.."default/titlebar/sticky_normal_inactive.png"
|
||||
theme.titlebar_sticky_button_focus_inactive = themes_path.."default/titlebar/sticky_focus_inactive.png"
|
||||
theme.titlebar_sticky_button_normal_active = themes_path.."default/titlebar/sticky_normal_active.png"
|
||||
theme.titlebar_sticky_button_focus_active = themes_path.."default/titlebar/sticky_focus_active.png"
|
||||
|
||||
theme.titlebar_floating_button_normal_inactive = themes_path.."default/titlebar/floating_normal_inactive.png"
|
||||
theme.titlebar_floating_button_focus_inactive = themes_path.."default/titlebar/floating_focus_inactive.png"
|
||||
theme.titlebar_floating_button_normal_active = themes_path.."default/titlebar/floating_normal_active.png"
|
||||
theme.titlebar_floating_button_focus_active = themes_path.."default/titlebar/floating_focus_active.png"
|
||||
|
||||
theme.titlebar_maximized_button_normal_inactive = themes_path.."default/titlebar/maximized_normal_inactive.png"
|
||||
theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar/maximized_focus_inactive.png"
|
||||
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
|
||||
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
|
||||
|
||||
theme.wallpaper = themes_path.."default/background.jpg"
|
||||
|
||||
-- You can use your own layout icons like this:
|
||||
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
|
||||
theme.layout_fairv = themes_path.."default/layouts/fairvw.png"
|
||||
theme.layout_floating = themes_path.."default/layouts/floatingw.png"
|
||||
theme.layout_magnifier = themes_path.."default/layouts/magnifierw.png"
|
||||
theme.layout_max = themes_path.."default/layouts/maxw.png"
|
||||
theme.layout_fullscreen = themes_path.."default/layouts/fullscreenw.png"
|
||||
theme.layout_tilebottom = themes_path.."default/layouts/tilebottomw.png"
|
||||
theme.layout_tileleft = themes_path.."default/layouts/tileleftw.png"
|
||||
theme.layout_tile = themes_path.."default/layouts/tilew.png"
|
||||
theme.layout_tiletop = themes_path.."default/layouts/tiletopw.png"
|
||||
theme.layout_spiral = themes_path.."default/layouts/spiralw.png"
|
||||
theme.layout_dwindle = themes_path.."default/layouts/dwindlew.png"
|
||||
theme.layout_cornernw = themes_path.."default/layouts/cornernww.png"
|
||||
theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
|
||||
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
|
||||
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
|
||||
|
||||
-- Generate Awesome icon:
|
||||
theme.awesome_icon = theme_assets.awesome_icon(
|
||||
theme.menu_height, theme.bg_focus, theme.fg_focus
|
||||
)
|
||||
|
||||
-- Define the icon theme for application icons. If not set then the icons
|
||||
-- from /usr/share/icons and /usr/share/icons/kicolor will be used.
|
||||
theme.icon_theme = nil
|
||||
|
||||
return theme
|
||||
|
||||
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||
@@ -6,10 +6,24 @@ alias .5='cd ../../../../..'
|
||||
|
||||
alias v='nvim'
|
||||
alias n='nnn -e'
|
||||
alias pdf='zathura'
|
||||
alias bc='bc -q'
|
||||
|
||||
if type -q exa
|
||||
alias lsl="exa -l -g --icons"
|
||||
alias ls="exa -g --icons"
|
||||
alias lss="exa --sort=oldest"
|
||||
alias lst="exa -F -g --icons -T"
|
||||
if type -q lsd
|
||||
alias lsl="lsd -l"
|
||||
alias ls="lsd"
|
||||
alias lsa="lsd -a"
|
||||
alias lss="lsd -ltr"
|
||||
end
|
||||
|
||||
if type -q xcp
|
||||
alias cp="xcp"
|
||||
end
|
||||
|
||||
if type -q broot
|
||||
alias tree="broot"
|
||||
end
|
||||
|
||||
if type -q bat
|
||||
alias cat="bat"
|
||||
end
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
set -x EDITOR nvim
|
||||
set -x PAGER less
|
||||
set -x MANPAGER "sh -c 'col -bx | bat -l man -p'"
|
||||
#set -x MANPAGER 'sh -c \'col -bx | bat -l man -p\''
|
||||
set -x fish_prompt_pwd_dir_length 1
|
||||
set -x fish_greeting ''
|
||||
set fish_complete_path $fish_complete_path /usr/share/fish/competions
|
||||
set fish_complete_path $fish_complete_path /usr/share/fish/completions
|
||||
set -x JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
|
||||
set -x JIRA_API_TOKEN NDE2ODEyOTM5OTI2Ontw1zkanbJ8sAFMDUI1Y0QxOH7d
|
||||
set -x PATH $PATH /home/kmcr/.codon
|
||||
|
||||
# This file is run by all fish instances.
|
||||
# To include configuration only for login shells, use
|
||||
@@ -18,3 +21,12 @@ set fish_complete_path $fish_complete_path /usr/share/fish/competions
|
||||
#if status is-interactive
|
||||
# cat ~/.cache/wal/sequences
|
||||
#end
|
||||
if test -e ~/.local/share/nvim/lazy/falcon/exa/EXA_COLORS
|
||||
source ~/.local/share/nvim/lazy/falcon/exa/EXA_COLORS
|
||||
end
|
||||
|
||||
if status is-interactive
|
||||
function list_dir --on-variable PWD
|
||||
ls
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
.ackrc
|
||||
.notags
|
||||
.gitmessage
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
# start a terminal
|
||||
bindsym Mod4+t exec ~/.cargo/bin/alacritty
|
||||
|
||||
# Use pulseaudio-ctl to adjust volume in PulseAudio.
|
||||
bindsym XF86AudioRaiseVolume exec pulseaudio-ctl up && $refresh_i3status
|
||||
bindsym XF86AudioLowerVolume exec pulseaudio-ctl down && $refresh_i3status
|
||||
bindsym XF86AudioMute exec pulseaudio-ctl mute && $refresh_i3status
|
||||
bindsym XF86AudioMicMute exec pulseaudio-ctl mute-input
|
||||
bindsym XF86AudioPlay exec playerctl --ignore-player=chromium play-pause
|
||||
bindsym XF86AudioPause exec playerctl --ignore-player=chromium play-pause
|
||||
bindsym XF86AudioStop exec playerctl --ignore-player=chromium stop
|
||||
bindsym XF86AudioNext exec playerctl --ignore-player=chromium next
|
||||
bindsym XF86AudioPrev exec playerctl --ignore-player=chromium previous
|
||||
|
||||
bindsym XF86Calculator exec --no-startup-id gnome-calculator
|
||||
|
||||
# System state management
|
||||
bindsym Pause exec systemctl suspend
|
||||
bindsym Mod4+z exec i3lock -c 151515 -e -f
|
||||
|
||||
# Screen brightness controls
|
||||
bindsym Mod1+Up exec brightnessctl s 5\%+
|
||||
bindsym Mod1+Down exec brightnessctl s 5\%-
|
||||
|
||||
# start rofi (a program launcher)
|
||||
bindsym Mod4+d exec --no-startup-id "rofi -show run"
|
||||
bindsym Mod4+Shift+d exec --no-startup-id "rofi -show window"
|
||||
bindsym Mod1+Tab exec --no-startup-id "rofi -show window"
|
||||
bindsym Mod4+ctrl+d exec rofi-pass
|
||||
@@ -1,28 +0,0 @@
|
||||
# Start XDG autostart .desktop files using dex. See also
|
||||
# https://wiki.archlinux.org/index.php/XDG_Autostart
|
||||
exec --no-startup-id dex --autostart --environment i3
|
||||
|
||||
# The combination of xss-lock, nm-applet and pactl is a popular choice, so
|
||||
# they are included here as an example. Modify as you see fit.
|
||||
|
||||
# xss-lock grabs a logind suspend inhibit lock and will use i3lock to lock the
|
||||
# screen before suspend. Use loginctl lock-session to lock your screen.
|
||||
exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
|
||||
|
||||
# NetworkManager is the most popular way to manage wireless networks on Linux,
|
||||
# and nm-applet is a desktop environment-independent system tray GUI for it.
|
||||
exec --no-startup-id nm-applet
|
||||
|
||||
exec setxkbmap pl
|
||||
exec --no-startup-id dunst -config ~/.config/i3/dunst_config
|
||||
exec --no-startup-id pasystray -m 100
|
||||
exec --no-startup-id blueman-applet
|
||||
exec --no-startup-id xset b off
|
||||
exec --no-startup-id flameshot
|
||||
exec --no-startup-id autorandr -c
|
||||
exec --no-startup-id wal -n -i ~/.config/i3/wallpaper.jpg
|
||||
exec --no-startup-id feh --no-xinerama --bg-scale ~/.config/i3/wallpaper.jpg
|
||||
exec --no-startup-id xdotool key --clearmodifiers Num_Lock
|
||||
#exec --no-startup-id unclutter # generates some issues on work laptop
|
||||
#exec --no-startup-id barriers -c ~/.config/barrier.conf --screen-change-script ~/.local/bin/switch_pc.sh
|
||||
exec --no-startup-id barrierc 192.168.10.2:24800
|
||||
@@ -1,30 +1,25 @@
|
||||
# i3 config file (v4)
|
||||
#
|
||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||
#
|
||||
# This config file uses keycodes (bindsym) and was written for the QWERTY
|
||||
# layout.
|
||||
#
|
||||
# To get a config file with the same key positions, but for your current
|
||||
# layout, use the i3-config-wizard
|
||||
#
|
||||
|
||||
set $mod Mod4
|
||||
set_from_resource $main_color i3wm.color1 #fdff00
|
||||
set_from_resource $secondary_color i3wm.color0 #98d1ce
|
||||
set_from_resource $bg_color i3wm.color4 #0c1014
|
||||
set $output_main DP-0
|
||||
set $output_secondary DVI-D-0
|
||||
set $output_main DP-0.1
|
||||
set $output_secondary DP-0.3
|
||||
set $refresh_i3status killall -SIGUSR1 i3status-rs
|
||||
|
||||
# Font for window titles. Will also be used by the bar unless a different font
|
||||
# is used in the bar {} block below.
|
||||
font Monoid Nerd Font 9
|
||||
font pango:CommitMonotuned 9
|
||||
|
||||
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||
#font pango:DejaVu Sans Mono 8
|
||||
|
||||
include conf.d/exec.conf
|
||||
include conf.d/binds.conf
|
||||
include exec.conf
|
||||
#include binds.conf
|
||||
|
||||
# use these keys for focus, movement, and resize directions when reaching for
|
||||
# the arrows is not convenient
|
||||
@@ -33,68 +28,84 @@ set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
|
||||
# use Mouse+Mod4 to drag floating windows to their wanted position
|
||||
floating_modifier Mod4
|
||||
# use Mouse+$mod to drag floating windows to their wanted position
|
||||
floating_modifier $mod
|
||||
|
||||
# move tiling windows via drag & drop by left-clicking into the title bar,
|
||||
# or left-clicking anywhere into the window while holding the floating modifier.
|
||||
tiling_drag modifier titlebar
|
||||
|
||||
# start a terminal
|
||||
set $TERMINAL ~/.cargo/bin/wezterm
|
||||
bindsym $mod+t exec $TERMINAL
|
||||
|
||||
# kill focused window
|
||||
bindsym Mod4+Shift+q kill
|
||||
bindsym $mod+Shift+q kill
|
||||
|
||||
# start dmenu (a program launcher)
|
||||
bindsym $mod+d exec --no-startup-id dmenu_run
|
||||
# A more modern dmenu replacement is rofi:
|
||||
# bindcode $mod+40 exec "rofi -modi drun,run -show drun"
|
||||
# There also is i3-dmenu-desktop which only displays applications shipping a
|
||||
# .desktop file. It is a wrapper around dmenu, so you need that installed.
|
||||
# bindcode $mod+40 exec --no-startup-id i3-dmenu-desktop
|
||||
|
||||
# change focus
|
||||
bindsym Mod4+$left focus left
|
||||
bindsym Mod4+$down focus down
|
||||
bindsym Mod4+$up focus up
|
||||
bindsym Mod4+$right focus right
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym Mod4+Left focus left
|
||||
bindsym Mod4+Down focus down
|
||||
bindsym Mod4+Up focus up
|
||||
bindsym Mod4+Right focus right
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# move focused window
|
||||
bindsym Mod4+Shift+$left move left
|
||||
bindsym Mod4+Shift+$down move down
|
||||
bindsym Mod4+Shift+$up move up
|
||||
bindsym Mod4+Shift+$right move right
|
||||
bindsym $mod+Shift+$left move left
|
||||
bindsym $mod+Shift+$down move down
|
||||
bindsym $mod+Shift+$up move up
|
||||
bindsym $mod+Shift+$right move right
|
||||
|
||||
# alternatively, you can use the cursor keys:
|
||||
bindsym Mod4+Shift+Left move left
|
||||
bindsym Mod4+Shift+Down move down
|
||||
bindsym Mod4+Shift+Up move up
|
||||
bindsym Mod4+Shift+Right move right
|
||||
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 Mod4+b split h
|
||||
bindsym $mod+semicolon split h
|
||||
|
||||
# split in vertical orientation
|
||||
bindsym Mod4+v split v
|
||||
bindsym $mod+v split v
|
||||
|
||||
# enter fullscreen mode for the focused container
|
||||
bindsym Mod4+f fullscreen toggle
|
||||
bindsym $mod+f fullscreen toggle
|
||||
|
||||
# change container layout (stacked, tabbed, toggle split)
|
||||
bindsym Mod4+q layout stacking
|
||||
bindsym Mod4+w layout tabbed
|
||||
bindsym Mod4+e layout toggle split
|
||||
bindsym $mod+q layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# toggle tiling / floating
|
||||
bindsym Mod4+Shift+space floating toggle
|
||||
bindsym $mod+Shift+space floating toggle
|
||||
|
||||
# change focus between tiling / floating windows
|
||||
bindsym Mod4+space focus mode_toggle
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# focus the parent container
|
||||
bindsym Mod4+a focus parent
|
||||
bindsym $mod+a focus parent
|
||||
|
||||
# focus the child container
|
||||
#bindsym Mod4+d focus child
|
||||
#bindsym $mod+d focus child
|
||||
|
||||
# move the currently focused window to the scratchpad
|
||||
bindsym Mod4+m move scratchpad
|
||||
bindsym $mod+m move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym Mod4+s scratchpad show
|
||||
bindsym $mod+s scratchpad show
|
||||
|
||||
# Define names for default workspaces for which we configure key bindings later on.
|
||||
# We use variables to avoid repeating the names in multiple places.
|
||||
@@ -108,90 +119,38 @@ set $ws7 " 7 "
|
||||
set $ws8 " 8 "
|
||||
set $ws9 " 9 "
|
||||
set $ws10 " 10 "
|
||||
set $ws11 " 11 "
|
||||
set $ws12 " 12 "
|
||||
set $ws13 " 13 "
|
||||
set $ws14 " 14 "
|
||||
set $ws15 " 15 "
|
||||
set $ws16 " 16 "
|
||||
set $ws17 " 17 "
|
||||
set $ws18 " 18 "
|
||||
set $ws19 " 19 "
|
||||
set $ws20 " 20 "
|
||||
|
||||
workspace $ws1 output $output_main
|
||||
workspace $ws2 output $output_main
|
||||
workspace $ws3 output $output_main
|
||||
workspace $ws4 output $output_main
|
||||
workspace $ws5 output $output_main
|
||||
workspace $ws6 output $output_main
|
||||
workspace $ws7 output $output_main
|
||||
workspace $ws8 output $output_main
|
||||
workspace $ws9 output $output_main
|
||||
workspace $ws10 output $output_main
|
||||
workspace $ws11 output $output_secondary
|
||||
workspace $ws12 output $output_secondary
|
||||
workspace $ws13 output $output_secondary
|
||||
workspace $ws14 output $output_secondary
|
||||
workspace $ws15 output $output_secondary
|
||||
workspace $ws16 output $output_secondary
|
||||
workspace $ws17 output $output_secondary
|
||||
workspace $ws18 output $output_secondary
|
||||
workspace $ws19 output $output_secondary
|
||||
workspace $ws20 output $output_secondary
|
||||
|
||||
# switch to workspace
|
||||
bindsym Mod4+1 workspace number $ws1
|
||||
bindsym Mod4+2 workspace number $ws2
|
||||
bindsym Mod4+3 workspace number $ws3
|
||||
bindsym Mod4+4 workspace number $ws4
|
||||
bindsym Mod4+5 workspace number $ws5
|
||||
bindsym Mod4+6 workspace number $ws6
|
||||
bindsym Mod4+7 workspace number $ws7
|
||||
bindsym Mod4+8 workspace number $ws8
|
||||
bindsym Mod4+9 workspace number $ws9
|
||||
bindsym Mod4+0 workspace number $ws10
|
||||
bindsym Mod1+1 workspace number $ws11
|
||||
bindsym Mod1+2 workspace number $ws12
|
||||
bindsym Mod1+3 workspace number $ws13
|
||||
bindsym Mod1+4 workspace number $ws14
|
||||
bindsym Mod1+5 workspace number $ws15
|
||||
bindsym Mod1+6 workspace number $ws16
|
||||
bindsym Mod1+7 workspace number $ws17
|
||||
bindsym Mod1+8 workspace number $ws18
|
||||
bindsym Mod1+9 workspace number $ws19
|
||||
bindsym Mod1+0 workspace number $ws20
|
||||
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
|
||||
bindsym $mod+0 workspace number $ws10
|
||||
|
||||
# move focused container to workspace
|
||||
bindsym Mod4+Shift+1 move container to workspace number $ws1
|
||||
bindsym Mod4+Shift+2 move container to workspace number $ws2
|
||||
bindsym Mod4+Shift+3 move container to workspace number $ws3
|
||||
bindsym Mod4+Shift+4 move container to workspace number $ws4
|
||||
bindsym Mod4+Shift+5 move container to workspace number $ws5
|
||||
bindsym Mod4+Shift+6 move container to workspace number $ws6
|
||||
bindsym Mod4+Shift+7 move container to workspace number $ws7
|
||||
bindsym Mod4+Shift+8 move container to workspace number $ws8
|
||||
bindsym Mod4+Shift+9 move container to workspace number $ws9
|
||||
bindsym Mod4+Shift+0 move container to workspace number $ws10
|
||||
bindsym Mod1+Shift+1 move container to workspace number $ws11
|
||||
bindsym Mod1+Shift+2 move container to workspace number $ws12
|
||||
bindsym Mod1+Shift+3 move container to workspace number $ws13
|
||||
bindsym Mod1+Shift+4 move container to workspace number $ws14
|
||||
bindsym Mod1+Shift+5 move container to workspace number $ws15
|
||||
bindsym Mod1+Shift+6 move container to workspace number $ws16
|
||||
bindsym Mod1+Shift+7 move container to workspace number $ws17
|
||||
bindsym Mod1+Shift+8 move container to workspace number $ws18
|
||||
bindsym Mod1+Shift+9 move container to workspace number $ws19
|
||||
bindsym Mod1+Shift+0 move container to workspace number $ws20
|
||||
|
||||
bindsym Mod4+n exec i3-new-workspace
|
||||
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
|
||||
bindsym $mod+Shift+0 move container to workspace number $ws10
|
||||
bindsym $mod+n exec i3-new-workspace
|
||||
|
||||
# reload the configuration file
|
||||
bindsym Mod4+Shift+c reload
|
||||
bindsym $mod+Shift+c reload
|
||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||
bindsym Mod4+Shift+r restart
|
||||
bindsym $mod+Shift+r restart
|
||||
# exit i3 (logs you out of your X session)
|
||||
bindsym Mod4+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'"
|
||||
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" {
|
||||
@@ -207,29 +166,26 @@ mode "resize" {
|
||||
bindsym $right 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
|
||||
bindsym Left resize shrink width 5 px or 5 ppt
|
||||
bindsym Down resize grow height 5 px or 5 ppt
|
||||
bindsym Up resize shrink height 5 px or 5 ppt
|
||||
bindsym Right resize grow width 5 px or 5 ppt
|
||||
|
||||
# back to normal: Enter or Escape or Mod4+r
|
||||
# back to normal: Enter or Escape or $mod+r
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
bindsym Mod4+r mode "default"
|
||||
bindsym $mod+r mode "default"
|
||||
}
|
||||
|
||||
bindsym Mod4+r mode "resize"
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||
# finds out, if available)
|
||||
bar {
|
||||
font pango:Monoid Nerd Font 9
|
||||
status_command ~/.cargo/bin/i3status-rs ~/.config/i3/i3status-rs.toml
|
||||
mode dock
|
||||
modifier Mod4
|
||||
tray_padding 0
|
||||
tray_output primary
|
||||
|
||||
mode hide
|
||||
status_command i3status-rs ~/.config/i3/i3status-rs.toml
|
||||
modifier $mod
|
||||
font pango:CommitMonotuned 9
|
||||
colors {
|
||||
separator #268bd2
|
||||
background $bg_color
|
||||
@@ -246,8 +202,6 @@ client.focused $main_color $main_color $bg_color #2e9ef4
|
||||
client.focused_inactive $main_color $bg_color $main_color #2e9ef4
|
||||
client.unfocused $bg_color $bg_color $main_color #2e9ef4
|
||||
|
||||
focus_on_window_activation focus
|
||||
|
||||
for_window [instance="fontpreview"] floating enable
|
||||
for_window [class="^Chrome$" title=" - Chromium$"] border none
|
||||
for_window [class="firefox"] border none
|
||||
@@ -256,11 +210,14 @@ for_window [title="Figure *"] move container to workspace $ws10 floating enable
|
||||
assign [class="com-mathworks-util-PostVMInit" title="^Fig"] $ws10
|
||||
|
||||
#without borders
|
||||
new_window pixel 1
|
||||
new_float pixel 3
|
||||
default_border pixel 2
|
||||
default_floating_border pixel 3
|
||||
hide_edge_borders smart
|
||||
#focus_on_window_activation focus
|
||||
focus_on_window_activation urgent
|
||||
|
||||
workspace_auto_back_and_forth yes
|
||||
|
||||
popup_during_fullscreen smart
|
||||
|
||||
focus_wrapping false
|
||||
|
||||
@@ -1,35 +1,52 @@
|
||||
theme = "solarized-dark"
|
||||
[icons]
|
||||
icons = "awesome"
|
||||
|
||||
[theme]
|
||||
theme = "solarized-dark"
|
||||
|
||||
[[block]]
|
||||
block = "disk_space"
|
||||
path = "/home"
|
||||
alias = "~"
|
||||
info_type = "available"
|
||||
unit = "GB"
|
||||
alert_unit = "GB"
|
||||
interval = 20
|
||||
warning = 20.0
|
||||
alert = 10.0
|
||||
format = " $icon home: $available.eng(w:2) "
|
||||
|
||||
[[block]]
|
||||
block = "disk_space"
|
||||
path = "/"
|
||||
info_type = "available"
|
||||
alert_unit = "GB"
|
||||
interval = 20
|
||||
warning = 20.0
|
||||
alert = 10.0
|
||||
format = " $icon root: $available.eng(w:2) "
|
||||
|
||||
[[block]]
|
||||
block = "memory"
|
||||
display_type = "memory"
|
||||
format_mem = "{mem_total_used_percents}"
|
||||
format_swap = "{swap_used_percents}"
|
||||
format = " $icon $mem_total_used_percents.eng(w:2) "
|
||||
format_alt = " $icon_swap $swap_used_percents.eng(w:2) "
|
||||
|
||||
[[block]]
|
||||
block = "amd_gpu"
|
||||
format = " $icon $utilization "
|
||||
format_alt = " $icon MEM: $vram_used_percents ($vram_used/$vram_total) "
|
||||
interval = 1
|
||||
|
||||
[[block]]
|
||||
block = "cpu"
|
||||
interval = 1
|
||||
info_cpu = 20
|
||||
warning_cpu = 50
|
||||
critical_cpu = 90
|
||||
|
||||
[[block]]
|
||||
block = "load"
|
||||
interval = 1
|
||||
format = "{1m}"
|
||||
|
||||
[[block]]
|
||||
block = "sound"
|
||||
format = " $icon 1min avg: $1m.eng(w:4) "
|
||||
|
||||
[[block]]
|
||||
block = "time"
|
||||
interval = 60
|
||||
format = "%a %d.%m %R"
|
||||
interval = 5
|
||||
format = " $timestamp.datetime(f:'%a %F %T') "
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 292 KiB |
@@ -1 +0,0 @@
|
||||
../spell.vim
|
||||
@@ -1,3 +0,0 @@
|
||||
setlocal spell
|
||||
" Undo changes when switching to different buffer
|
||||
"let b:undo_ftplugin .= '|setlocal spell<'
|
||||
@@ -1 +0,0 @@
|
||||
../spell.vim
|
||||
@@ -1,5 +0,0 @@
|
||||
let g:airline_theme = 'minimalist'
|
||||
let g:airline_powerline_fonts = 1
|
||||
let g:airline_stl_path_style = 'short'
|
||||
let g:airline_highlighting_cache = 1
|
||||
let g:airline#extensions#searchcount#enabled = 0
|
||||
@@ -1 +0,0 @@
|
||||
require('Comment').setup()
|
||||
@@ -1,35 +0,0 @@
|
||||
-- " Configuration for context.vim
|
||||
-- "" Disable context.vim on json files
|
||||
-- ""let g:context_filetype_blacklist = ["json", "log"]
|
||||
require'treesitter-context'.setup{
|
||||
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
||||
throttle = true, -- Throttles plugin updates (may improve performance)
|
||||
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
|
||||
patterns = { -- Match patterns for TS nodes. These get wrapped to match at word boundaries.
|
||||
-- For all filetypes
|
||||
-- Note that setting an entry here replaces all other patterns for this entry.
|
||||
-- By setting the 'default' entry below, you can control which nodes you want to
|
||||
-- appear in the context window.
|
||||
default = {
|
||||
'class',
|
||||
'function',
|
||||
'method',
|
||||
'for',
|
||||
'while',
|
||||
'if',
|
||||
'switch',
|
||||
-- 'case',
|
||||
},
|
||||
-- Example for a specific filetype.
|
||||
-- If a pattern is missing, *open a PR* so everyone can benefit.
|
||||
rust = {
|
||||
'impl_item',
|
||||
},
|
||||
},
|
||||
exact_patterns = {
|
||||
-- Example for a specific filetype with Lua patterns
|
||||
-- Treat patterns.rust as a Lua pattern (i.e "^impl_item$" will
|
||||
-- exactly match "impl_item" only)
|
||||
rust = true,
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
require('crates').setup()
|
||||
@@ -1 +0,0 @@
|
||||
inoremap <C-k><C-k> <Cmd>lua require'betterdigraphs'.digraphs("i")<CR>
|
||||
@@ -1,116 +0,0 @@
|
||||
require('dressing').setup({
|
||||
input = {
|
||||
-- Set to false to disable the vim.ui.input implementation
|
||||
enabled = true,
|
||||
|
||||
-- Default prompt string
|
||||
default_prompt = "➤ ",
|
||||
|
||||
-- When true, <Esc> will close the modal
|
||||
insert_only = true,
|
||||
|
||||
-- These are passed to nvim_open_win
|
||||
anchor = "SW",
|
||||
border = "rounded",
|
||||
-- 'editor' and 'win' will default to being centered
|
||||
relative = "cursor",
|
||||
|
||||
-- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||
prefer_width = 40,
|
||||
width = nil,
|
||||
-- min_width and max_width can be a list of mixed types.
|
||||
-- min_width = {20, 0.2} means "the greater of 20 columns or 20% of total"
|
||||
max_width = { 140, 0.9 },
|
||||
min_width = { 20, 0.2 },
|
||||
|
||||
-- Window transparency (0-100)
|
||||
winblend = 10,
|
||||
-- Change default highlight groups (see :help winhl)
|
||||
winhighlight = "",
|
||||
|
||||
override = function(conf)
|
||||
-- This is the config that will be passed to nvim_open_win.
|
||||
-- Change values here to customize the layout
|
||||
return conf
|
||||
end,
|
||||
|
||||
-- see :help dressing_get_config
|
||||
get_config = nil,
|
||||
},
|
||||
select = {
|
||||
-- Set to false to disable the vim.ui.select implementation
|
||||
enabled = true,
|
||||
|
||||
-- Priority list of preferred vim.select implementations
|
||||
backend = { "telescope", "fzf_lua", "fzf", "builtin", "nui" },
|
||||
|
||||
-- Options for telescope selector
|
||||
-- These are passed into the telescope picker directly. Can be used like:
|
||||
-- telescope = require('telescope.themes').get_ivy({...})
|
||||
-- telescope = require('telescope.themes').get_dropdown({}),
|
||||
|
||||
-- Options for fzf selector
|
||||
fzf = {
|
||||
window = {
|
||||
width = 0.5,
|
||||
height = 0.4,
|
||||
},
|
||||
},
|
||||
|
||||
-- Options for fzf_lua selector
|
||||
fzf_lua = {
|
||||
winopts = {
|
||||
width = 0.5,
|
||||
height = 0.4,
|
||||
},
|
||||
},
|
||||
|
||||
-- Options for nui Menu
|
||||
nui = {
|
||||
position = "50%",
|
||||
size = nil,
|
||||
relative = "editor",
|
||||
border = {
|
||||
style = "rounded",
|
||||
},
|
||||
max_width = 80,
|
||||
max_height = 40,
|
||||
},
|
||||
|
||||
-- Options for built-in selector
|
||||
builtin = {
|
||||
-- These are passed to nvim_open_win
|
||||
anchor = "NW",
|
||||
border = "rounded",
|
||||
-- 'editor' and 'win' will default to being centered
|
||||
relative = "editor",
|
||||
|
||||
-- Window transparency (0-100)
|
||||
winblend = 10,
|
||||
-- Change default highlight groups (see :help winhl)
|
||||
winhighlight = "",
|
||||
|
||||
-- These can be integers or a float between 0 and 1 (e.g. 0.4 for 40%)
|
||||
-- the min_ and max_ options can be a list of mixed types.
|
||||
-- max_width = {140, 0.8} means "the lesser of 140 columns or 80% of total"
|
||||
width = nil,
|
||||
max_width = { 140, 0.8 },
|
||||
min_width = { 40, 0.2 },
|
||||
height = nil,
|
||||
max_height = 0.9,
|
||||
min_height = { 10, 0.2 },
|
||||
|
||||
override = function(conf)
|
||||
-- This is the config that will be passed to nvim_open_win.
|
||||
-- Change values here to customize the layout
|
||||
return conf
|
||||
end,
|
||||
},
|
||||
|
||||
-- Used to override format_item. See :help dressing-format
|
||||
format_item_override = {},
|
||||
|
||||
-- see :help dressing_get_config
|
||||
get_config = nil,
|
||||
},
|
||||
})
|
||||
@@ -1,45 +0,0 @@
|
||||
require'FTerm'.setup({
|
||||
-- Filetype of the terminal buffer
|
||||
ft = 'FTerm',
|
||||
|
||||
-- Command to run inside the terminal. It could be a `string` or `table`
|
||||
cmd = os.getenv('SHELL'),
|
||||
|
||||
-- Neovim's native window border. See `:h nvim_open_win` for more configuration options.
|
||||
border = 'double',
|
||||
|
||||
-- Close the terminal as soon as shell/command exits.
|
||||
-- Disabling this will mimic the native terminal behaviour.
|
||||
auto_close = true,
|
||||
|
||||
-- Highlight group for the terminal. See `:h winhl`
|
||||
hl = 'Normal',
|
||||
|
||||
-- Transparency of the floating window. See `:h winblend`
|
||||
blend = 0,
|
||||
|
||||
-- Object containing the terminal window dimensions.
|
||||
-- The value for each field should be between `0` and `1`
|
||||
dimensions = {
|
||||
height = 0.8, -- Height of the terminal window
|
||||
width = 0.8, -- Width of the terminal window
|
||||
x = 0.5, -- X axis of the terminal window
|
||||
y = 0.5, -- Y axis of the terminal window
|
||||
},
|
||||
|
||||
-- Callback invoked when the terminal exits.
|
||||
-- See `:h jobstart-options`
|
||||
on_exit = nil,
|
||||
|
||||
-- Callback invoked when the terminal emits stdout data.
|
||||
-- See `:h jobstart-options`
|
||||
on_stdout = nil,
|
||||
|
||||
-- Callback invoked when the terminal emits stderr data.
|
||||
-- See `:h jobstart-options`
|
||||
on_stderr = nil,
|
||||
})
|
||||
|
||||
-- Example keybindings
|
||||
vim.keymap.set('n', '<leader>i', '<CMD>lua require("FTerm").toggle()<CR>')
|
||||
vim.keymap.set('t', '<leader>i', '<C-\\><C-n><CMD>lua require("FTerm").toggle()<CR>')
|
||||
@@ -1,65 +0,0 @@
|
||||
require('gitsigns').setup {
|
||||
signs = {
|
||||
add = {hl = 'GitSignsAdd' , text = '+', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'},
|
||||
change = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
delete = {hl = 'GitSignsDelete', text = '-', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
keymaps = {
|
||||
-- Default keymap options
|
||||
noremap = true,
|
||||
|
||||
['n ]c'] = { expr = true, "&diff ? ']c' : '<cmd>Gitsigns next_hunk<CR>'"},
|
||||
['n [c'] = { expr = true, "&diff ? '[c' : '<cmd>Gitsigns prev_hunk<CR>'"},
|
||||
|
||||
['n <leader>hs'] = '<cmd>Gitsigns stage_hunk<CR>',
|
||||
['v <leader>hs'] = ':Gitsigns stage_hunk<CR>',
|
||||
['n <leader>hu'] = '<cmd>Gitsigns undo_stage_hunk<CR>',
|
||||
['n <leader>hr'] = '<cmd>Gitsigns reset_hunk<CR>',
|
||||
['v <leader>hr'] = ':Gitsigns reset_hunk<CR>',
|
||||
['n <leader>hR'] = '<cmd>Gitsigns reset_buffer<CR>',
|
||||
['n <leader>hp'] = '<cmd>Gitsigns preview_hunk<CR>',
|
||||
['n <leader>hb'] = '<cmd>lua require"gitsigns".blame_line{full=true}<CR>',
|
||||
['n <leader>hS'] = '<cmd>Gitsigns stage_buffer<CR>',
|
||||
['n <leader>hU'] = '<cmd>Gitsigns reset_buffer_index<CR>',
|
||||
|
||||
-- Text objects
|
||||
['o ih'] = ':<C-U>Gitsigns select_hunk<CR>',
|
||||
['x ih'] = ':<C-U>Gitsigns select_hunk<CR>'
|
||||
},
|
||||
watch_gitdir = {
|
||||
interval = 1000,
|
||||
follow_files = true
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 1000,
|
||||
ignore_whitespace = false,
|
||||
},
|
||||
current_line_blame_formatter_opts = {
|
||||
relative_time = false
|
||||
},
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 40000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = 'single',
|
||||
style = 'minimal',
|
||||
relative = 'cursor',
|
||||
row = 0,
|
||||
col = 1
|
||||
},
|
||||
yadm = {
|
||||
enable = true
|
||||
},
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
"noremap <silent> n <Cmd>execute('normal! ' . v:count1 . 'n')<CR>
|
||||
" \<Cmd>lua require('hlslens').start()<CR>
|
||||
"noremap <silent> N <Cmd>execute('normal! ' . v:count1 . 'N')<CR>
|
||||
" \<Cmd>lua require('hlslens').start()<CR>
|
||||
"noremap * *<Cmd>lua require('hlslens').start()<CR>
|
||||
"noremap # #<Cmd>lua require('hlslens').start()<CR>
|
||||
"noremap g* g*<Cmd>lua require('hlslens').start()<CR>
|
||||
"noremap g# g#<Cmd>lua require('hlslens').start()<CR>
|
||||
"
|
||||
"" use : instead of <Cmd>
|
||||
"nnoremap <silent> <leader>l :noh<CR>
|
||||
@@ -1,5 +0,0 @@
|
||||
require("icon-picker")
|
||||
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
vim.keymap.set("n", "<leader>o", "<cmd>PickIcons<cr>", opts)
|
||||
@@ -1,22 +0,0 @@
|
||||
require("indent_blankline").setup {
|
||||
char = "",
|
||||
show_current_context = true,
|
||||
--show_current_context_start = true,
|
||||
space_char_blankline = " ",
|
||||
char_highlight_list = {
|
||||
"IndentBlanklineIndent1",
|
||||
"IndentBlanklineIndent2",
|
||||
"IndentBlanklineIndent3",
|
||||
"IndentBlanklineIndent4",
|
||||
"IndentBlanklineIndent5",
|
||||
"IndentBlanklineIndent6",
|
||||
},
|
||||
space_char_highlight_list = {
|
||||
"IndentBlanklineIndent1",
|
||||
"IndentBlanklineIndent2",
|
||||
"IndentBlanklineIndent3",
|
||||
"IndentBlanklineIndent4",
|
||||
"IndentBlanklineIndent5",
|
||||
"IndentBlanklineIndent6",
|
||||
},
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
require('iswap').setup{}
|
||||
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.api.nvim_set_keymap('n', 'ta', '<cmd>ISwapWith<cr>', opts)
|
||||
vim.api.nvim_set_keymap('n', 'tn', '<cmd>ISwap<cr>', opts)
|
||||
@@ -1,29 +0,0 @@
|
||||
local gknapsettings = {
|
||||
htmloutputext = "html",
|
||||
htmltohtml = "touch %outputfile%",
|
||||
htmltohtmlviewerlaunch = "google-chrome-beta %outputfile%",
|
||||
htmltohtmlviewerrefresh = "none",
|
||||
mdoutputext = "html",
|
||||
mdtohtml = "pandoc --standalone %docroot% -o %outputfile%",
|
||||
mdtohtmlviewerlaunch = "google-chrome-beta %outputfile%",
|
||||
mdtohtmlviewerrefresh = "none",
|
||||
mdtopdf = "pandoc %docroot% -o %outputfile%",
|
||||
mdtopdfviewerlaunch = "sioyek %outputfile%",
|
||||
mdtopdfviewerrefresh = "none",
|
||||
markdownoutputext = "html",
|
||||
markdowntohtml = "pandoc --standalone %docroot% -o %outputfile%",
|
||||
markdowntohtmlviewerlaunch = "google-chrome-beta %outputfile%",
|
||||
markdowntohtmlviewerrefresh = "none",
|
||||
markdowntopdf = "pandoc %docroot% -o %outputfile%",
|
||||
markdowntopdfviewerlaunch = "sioyek %outputfile%",
|
||||
markdowntopdfviewerrefresh = "none",
|
||||
texoutputext = "pdf",
|
||||
textopdf = "pdflatex -interaction=batchmode -halt-on-error -synctex=1 %docroot%",
|
||||
textopdfviewerlaunch = "sioyek --inverse-search 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%1'\"'\"',%2,%3)\"' --reuse-instance %outputfile%",
|
||||
textopdfviewerrefresh = "none",
|
||||
textopdfforwardjump = "sioyek --inverse-search 'nvim --headless -es --cmd \"lua require('\"'\"'knaphelper'\"'\"').relayjump('\"'\"'%servername%'\"'\"','\"'\"'%1'\"'\"',%2,%3)\"' --reuse-instance --forward-search-file %srcfile% --forward-search-line %line% %outputfile%",
|
||||
textopdfshorterror = "A=%outputfile% ; LOGFILE=\"${A%.pdf}.log\" ; rubber-info \"$LOGFILE\" 2>&1 | head -n 1",
|
||||
delay = 250
|
||||
}
|
||||
|
||||
vim.g.knap_settings = gknapsettings
|
||||
@@ -1,20 +0,0 @@
|
||||
local leap = require('leap')
|
||||
|
||||
leap.setup {
|
||||
case_insensitive = true,
|
||||
-- Leaving the appropriate list empty effectively disables "smart" mode,
|
||||
-- and forces auto-jump to be on or off.
|
||||
--safe_labels = { . . . },
|
||||
--labels = { . . . },
|
||||
-- These keys are captured directly by the plugin at runtime.
|
||||
special_keys = {
|
||||
repeat_search = '<enter>',
|
||||
next_match = '<enter>',
|
||||
prev_match = '<tab>',
|
||||
next_group = '<space>',
|
||||
prev_group = '<tab>',
|
||||
eol = '<space>',
|
||||
},
|
||||
}
|
||||
|
||||
leap.set_default_keymaps()
|
||||
@@ -1,154 +0,0 @@
|
||||
local nvim_lsp = require'lspconfig'
|
||||
local coq = require'coq'
|
||||
--local cmp = require'cmp_nvim_lsp'
|
||||
local clangd_extensions = require("clangd_extensions")
|
||||
|
||||
-- Mappings.
|
||||
local opts = { noremap=true, silent=true }
|
||||
vim.api.nvim_set_keymap('n', '<leader>e', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
|
||||
vim.api.nvim_set_keymap('n', '<leader>E', '<cmd>lua vim.diagnostic.set_loclist()<CR>', opts)
|
||||
vim.api.nvim_set_keymap("n", "<leader>q", "<cmd>lua vim.lsp.buf.format{ async = true }<CR>", opts)
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(client, bufnr)
|
||||
--Enable completion triggered by <c-x><c-o>
|
||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
---- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gD', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'K', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
--vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>wa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
|
||||
--vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>wr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
|
||||
--vim.api.nvim_buf_set_keymap(bufnr, 'n', '<space>wl', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>D', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<leader>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, 'n', '<F6>', '<cmd>ClangdSwitchSourceHeader<cr>', opts)
|
||||
|
||||
require'illuminate'.on_attach(client)
|
||||
require'virtualtypes'.on_attach()
|
||||
end
|
||||
|
||||
local signs = {
|
||||
{ name = "DiagnosticSignError", text = "" },
|
||||
{ name = "DiagnosticSignWarn", text = "" },
|
||||
{ name = "DiagnosticSignHint", text = "" },
|
||||
{ name = "DiagnosticSignInfo", text = "" },
|
||||
}
|
||||
|
||||
for _, sign in ipairs(signs) do
|
||||
vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" })
|
||||
end
|
||||
|
||||
vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(
|
||||
vim.lsp.diagnostic.on_publish_diagnostics, {
|
||||
signs = {
|
||||
active = signs,
|
||||
--severity_limit = 'info',
|
||||
},
|
||||
severity_sort = true,
|
||||
underline = false,
|
||||
update_in_insert = false,
|
||||
--virtual_text = {
|
||||
-- spacing = 40,
|
||||
-- severity_limit = 'Warning',
|
||||
--},
|
||||
virtual_text = false,
|
||||
}
|
||||
)
|
||||
|
||||
nvim_lsp.groovyls.setup (coq.lsp_ensure_capabilities({
|
||||
cmd = { "java", "-jar", "/home/kmcr/tools/groovy-language-server/build/libs/groovy-language-server-all.jar" },
|
||||
on_attach = on_attach,
|
||||
on_publish_diagnostics = diagnostic_handler,
|
||||
capabilities = vim.lsp.protocol.make_client_capabilities(),
|
||||
})
|
||||
)
|
||||
|
||||
-- nvim_lsp.ccls.setup(
|
||||
-- coq.lsp_ensure_capabilities({
|
||||
-- init_options = {
|
||||
-- compilationDatabaseDirectory = ".";
|
||||
-- index = {
|
||||
-- threads = 0;
|
||||
-- },
|
||||
-- clang = {
|
||||
-- excludeArgs = { "-frounding-math"} ;
|
||||
-- },
|
||||
-- },
|
||||
-- root_dir = nvim_lsp.util.root_pattern("compile_commands.json"),
|
||||
-- on_attach = on_attach,
|
||||
-- on_publish_diagnostics = diagnostic_handler,
|
||||
-- capabilities = cmp.update_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
||||
-- flags = {
|
||||
-- debounce_text_changes = 150,
|
||||
-- }}
|
||||
-- )
|
||||
-- )
|
||||
|
||||
clangd_extensions.setup(coq.lsp_ensure_capabilities({
|
||||
server = {
|
||||
on_attach = on_attach,
|
||||
root_pattern = {
|
||||
'.clangd',
|
||||
'.clang-tidy',
|
||||
'.clang-format',
|
||||
'compile_commands.json',
|
||||
'compile_flags.txt',
|
||||
'configure.ac',
|
||||
}
|
||||
},
|
||||
inlay_hints = {
|
||||
max_len_align = true,
|
||||
max_len_align_padding = 3,
|
||||
right_align = true,
|
||||
}
|
||||
}))
|
||||
-- nvim_lsp.clangd.setup(
|
||||
-- coq.lsp_ensure_capabilities({
|
||||
-- root_dir = nvim_lsp.util.root_pattern("compile_commands.json"),
|
||||
-- on_attach = on_attach,
|
||||
-- capabilities = cmp.update_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
||||
-- flags = {
|
||||
-- debounce_text_changes = 150,
|
||||
-- }}
|
||||
-- )
|
||||
-- )
|
||||
|
||||
nvim_lsp.pylsp.setup(coq.lsp_ensure_capabilities({
|
||||
settings = {
|
||||
pylint = {
|
||||
enabled = false
|
||||
},
|
||||
pyflakes = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
},
|
||||
on_attach = on_attach,
|
||||
on_publish_diagnostics = diagnostic_handler,
|
||||
capabilities = vim.lsp.protocol.make_client_capabilities(),
|
||||
}))
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
local servers = { "cmake", "rust_analyzer", "bashls" }
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup(coq.lsp_ensure_capabilities({
|
||||
on_attach = on_attach,
|
||||
on_publish_diagnostics = diagnostic_handler,
|
||||
capabilities = vim.lsp.protocol.make_client_capabilities(),
|
||||
flags = {
|
||||
debounce_text_changes = 150,
|
||||
}
|
||||
}))
|
||||
end
|
||||
@@ -1 +0,0 @@
|
||||
let g:mkdp_filetypes = ['markdown', 'plantuml']
|
||||
@@ -1,13 +0,0 @@
|
||||
require('neorg').setup {
|
||||
load = {
|
||||
["core.defaults"] = {}
|
||||
},
|
||||
["core.norg.dirman"] = {
|
||||
config = {
|
||||
workspaces = {
|
||||
work = "~/notes/work",
|
||||
home = "~/notes/home",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
-- require('neoscroll').setup({
|
||||
-- -- All these keys will be mapped to their corresponding default scrolling animation
|
||||
-- mappings = {'<C-u>', '<C-d>', '<C-b>', '<C-f>',
|
||||
-- '<C-y>', '<C-e>', 'zt', 'zz', 'zb'},
|
||||
-- hide_cursor = true, -- Hide cursor while scrolling
|
||||
-- stop_eof = true, -- Stop at <EOF> when scrolling downwards
|
||||
-- use_local_scrolloff = false, -- Use the local scope of scrolloff instead of the global scope
|
||||
-- respect_scrolloff = false, -- Stop scrolling when the cursor reaches the scrolloff margin of the file
|
||||
-- cursor_scrolls_alone = true, -- The cursor will keep on scrolling even if the window cannot scroll further
|
||||
-- easing_function = nil, -- Default easing function
|
||||
-- pre_hook = nil, -- Function to run before the scrolling animation starts
|
||||
-- post_hook = nil, -- Function to run after the scrolling animation ends
|
||||
-- })
|
||||
@@ -1,73 +0,0 @@
|
||||
-- Setup nvim-cmp.
|
||||
--local cmp = require'cmp'
|
||||
--
|
||||
--cmp.setup({
|
||||
-- snippet = {
|
||||
-- expand = function(args)
|
||||
-- -- For `vsnip` user.
|
||||
-- -- vim.fn["vsnip#anonymous"](args.body)
|
||||
--
|
||||
-- -- For `luasnip` user.
|
||||
-- -- require('luasnip').lsp_expand(args.body)
|
||||
--
|
||||
-- -- For `ultisnips` user.
|
||||
-- vim.fn["UltiSnips#Anon"](args.body)
|
||||
-- end,
|
||||
-- },
|
||||
-- mapping = cmp.mapping.preset.insert({
|
||||
-- ['<C-b>'] = cmp.mapping(cmp.mapping.scroll_docs(-4), { 'i', 'c' }),
|
||||
-- ['<C-f>'] = cmp.mapping(cmp.mapping.scroll_docs(4), { 'i', 'c' }),
|
||||
-- ['<C-Space>'] = cmp.mapping(cmp.mapping.complete(), { 'i', 'c' }),
|
||||
-- ['<tab>'] = cmp.mapping.confirm({ select = true }),
|
||||
-- ['<C-e>'] = cmp.mapping({
|
||||
-- i = cmp.mapping.abort(),
|
||||
-- c = cmp.mapping.close(),
|
||||
-- }),
|
||||
-- }),
|
||||
-- sources = cmp.config.sources({
|
||||
-- { name = 'nvim_lsp' },
|
||||
--
|
||||
-- { name = 'path' },
|
||||
--
|
||||
-- { name = 'ultisnips' },
|
||||
--
|
||||
-- { name = 'calc' },
|
||||
--
|
||||
-- { name = 'cmp_matlab' },
|
||||
--
|
||||
-- { name = 'cmp_git' },
|
||||
-- }, {
|
||||
-- { name = 'buffer', keyword_length = 5, max_item_count = 10, priority = -5 },
|
||||
-- }),
|
||||
-- --experimental = {
|
||||
-- -- native_menu = false
|
||||
-- --}
|
||||
--
|
||||
-- sorting = {
|
||||
-- comparators = {
|
||||
-- cmp.config.compare.offset,
|
||||
-- cmp.config.compare.exact,
|
||||
-- cmp.config.compare.recently_used,
|
||||
-- require("clangd_extensions.cmp_scores"),
|
||||
-- cmp.config.compare.kind,
|
||||
-- cmp.config.compare.sort_text,
|
||||
-- cmp.config.compare.length,
|
||||
-- cmp.config.compare.order,
|
||||
-- },
|
||||
-- },
|
||||
--})
|
||||
--
|
||||
--cmp.setup.cmdline('/', {
|
||||
-- sources = {
|
||||
-- { name = 'buffer' }
|
||||
-- }
|
||||
--})
|
||||
--
|
||||
--cmp.setup.cmdline(':', {
|
||||
-- sources = {
|
||||
-- { name = 'cmdline' }
|
||||
-- },
|
||||
-- mapping = cmp.mapping.preset.cmdline()
|
||||
--})
|
||||
--
|
||||
--require("cmp_git").setup()
|
||||
@@ -1,148 +0,0 @@
|
||||
let g:nvim_tree_refresh_wait = 1000 " control how often the tree can be refreshed, 1000 means the tree can be refresh once per 1000ms.
|
||||
" Dictionary of buffer option names mapped to a list of option values that
|
||||
" indicates to the window picker that the buffer's window should not be
|
||||
" selectable.
|
||||
"If 0, do not show the icons for one of 'git' 'folder' and 'files'
|
||||
"1 by default, notice that if 'files' is 1, it will only display
|
||||
"if nvim-web-devicons is installed and on your runtimepath.
|
||||
"if folder is 1, you can also tell folder_arrows 1 to show small arrows next to the folder icons.
|
||||
"but this will not work when you set indent_markers (because of UI conflict)
|
||||
|
||||
" default will show icon by default if no icon is provided
|
||||
" default shows no icon by default
|
||||
|
||||
nnoremap <leader>tt :NvimTreeToggle<CR>
|
||||
"nnoremap <leader>r :NvimTreeRefresh<CR>
|
||||
nnoremap <leader>tf :NvimTreeFindFile<CR>
|
||||
" NvimTreeOpen, NvimTreeClose, NvimTreeFocus, NvimTreeFindFileToggle, and NvimTreeResize are also available if you need them
|
||||
|
||||
"set termguicolors " this variable must be enabled for colors to be applied properly
|
||||
|
||||
" a list of groups can be found at `:help nvim_tree_highlight`
|
||||
"highlight NvimTreeFolderIcon guibg=blue
|
||||
|
||||
lua << EOF
|
||||
-- following options are the default
|
||||
-- each of these are documented in `:help nvim-tree.OPTION_NAME`
|
||||
require'nvim-tree'.setup {
|
||||
disable_netrw = true,
|
||||
hijack_netrw = true,
|
||||
open_on_setup = false,
|
||||
ignore_ft_on_setup = {},
|
||||
open_on_tab = false,
|
||||
hijack_cursor = true,
|
||||
update_cwd = false,
|
||||
respect_buf_cwd = false,
|
||||
create_in_closed_folder = false,
|
||||
hijack_directories = {
|
||||
enable = true,
|
||||
auto_open = true,
|
||||
},
|
||||
diagnostics = {
|
||||
enable = false,
|
||||
icons = {
|
||||
hint = "",
|
||||
info = "",
|
||||
warning = "",
|
||||
error = "",
|
||||
}
|
||||
},
|
||||
update_focused_file = {
|
||||
enable = true,
|
||||
update_cwd = false,
|
||||
ignore_list = {}
|
||||
},
|
||||
system_open = {
|
||||
cmd = nil,
|
||||
args = {}
|
||||
},
|
||||
filters = {
|
||||
dotfiles = false,
|
||||
custom = {}
|
||||
},
|
||||
git = {
|
||||
enable = true,
|
||||
ignore = false,
|
||||
timeout = 500,
|
||||
},
|
||||
view = {
|
||||
width = 30,
|
||||
height = 30,
|
||||
hide_root_folder = true,
|
||||
side = 'left',
|
||||
mappings = {
|
||||
custom_only = false,
|
||||
list = {}
|
||||
},
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
signcolumn = "no"
|
||||
},
|
||||
trash = {
|
||||
cmd = "trash",
|
||||
require_confirm = true
|
||||
},
|
||||
actions = {
|
||||
open_file = {
|
||||
quit_on_open = false,
|
||||
window_picker = {
|
||||
exclude = {
|
||||
filetype = { "notify", "packer", "qf" },
|
||||
buftype = { "terminal" },
|
||||
},
|
||||
},
|
||||
},
|
||||
change_dir = {
|
||||
global = true,
|
||||
},
|
||||
},
|
||||
renderer = {
|
||||
indent_markers = {
|
||||
enable = true -- this option shows indent markers when folders are open
|
||||
},
|
||||
icons = {
|
||||
show = {
|
||||
git = true,
|
||||
folder = true,
|
||||
file = true,
|
||||
folder_arrow = false,
|
||||
},
|
||||
glyphs = {
|
||||
default = '',
|
||||
symlink = '',
|
||||
git = {
|
||||
unstaged = "✗",
|
||||
staged = "✓",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
untracked = "★",
|
||||
deleted = "",
|
||||
ignored = "◌"
|
||||
},
|
||||
folder = {
|
||||
arrow_open = "",
|
||||
arrow_closed = "",
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = "",
|
||||
symlink_open = "",
|
||||
}
|
||||
},
|
||||
padding = ' ',
|
||||
symlink_arrow = ' -> ',
|
||||
},
|
||||
group_empty = true,
|
||||
add_trailing = true,
|
||||
highlight_git = true,
|
||||
highlight_opened_files = 'icon',
|
||||
root_folder_modifier = ':~',
|
||||
special_files = {
|
||||
'README.md',
|
||||
'Makefile',
|
||||
'MAKEFILE'
|
||||
},
|
||||
},
|
||||
}
|
||||
EOF
|
||||
@@ -1,2 +0,0 @@
|
||||
let g:vim_search_pulse_mode = 'pattern'
|
||||
let g:vim_search_pulse_duration = 400
|
||||
@@ -1,9 +0,0 @@
|
||||
"let g:signature_help_config = {
|
||||
" \ 'border': v:true,
|
||||
" \ 'maxWidth': 80,
|
||||
" \ 'maxHeight': 30,
|
||||
" \ 'style': "virtual",
|
||||
" \ 'onTriggerChar': v:false,
|
||||
" \ 'multiLabel': v:false,
|
||||
" \ }
|
||||
"call signature_help#enable()
|
||||
@@ -1 +0,0 @@
|
||||
let g:startify_custom_header = ''
|
||||
@@ -1,33 +0,0 @@
|
||||
" Find files using Telescope command-line sugar.
|
||||
"nnoremap <leader>f <cmd>Telescope find_files<cr>
|
||||
"nnoremap <leader>g <cmd>Telescope live_grep<cr>
|
||||
"nnoremap <leader>b <cmd>Telescope buffers<cr>
|
||||
"nnoremap <leader>fh <cmd>Telescope help_tags<cr>
|
||||
|
||||
lua << EOF
|
||||
|
||||
require('telescope').load_extension('ultisnips')
|
||||
|
||||
EOF
|
||||
|
||||
" Using Lua functions
|
||||
nnoremap <leader>f <cmd>lua require('telescope.builtin').find_files()<cr>
|
||||
nnoremap <leader>a <cmd>lua require('telescope.builtin').live_grep()<cr>
|
||||
nnoremap <leader>b <cmd>lua require('telescope.builtin').buffers()<cr>
|
||||
nnoremap <leader>r <cmd>lua require('telescope.builtin').resume()<cr>
|
||||
"nnoremap <leader>fh <cmd>lua require('telescope.builtin').help_tags()<cr>
|
||||
nnoremap <leader>tc <cmd>lua require('telescope.builtin').commands()<cr>
|
||||
nnoremap <leader>t: <cmd>lua require('telescope.builtin').command_history()<cr>
|
||||
nnoremap <leader>t/ <cmd>lua require('telescope.builtin').search_history()<cr>
|
||||
nnoremap <leader>tr <cmd>lua require('telescope.builtin').registers()<cr>
|
||||
|
||||
" Neovim lsp pickers
|
||||
nnoremap <leader>tr <cmd>lua require('telescope.builtin').lsp_references()<cr>
|
||||
nnoremap <leader>td <cmd>lua require('telescope.builtin').lsp_definitions()<cr>
|
||||
|
||||
" git pickers
|
||||
nnoremap <leader>gc <cmd>lua require('telescope.builtin').git_commits()<cr>
|
||||
nnoremap <leader>gC <cmd>lua require('telescope.builtin').git_bcommits()<cr>
|
||||
nnoremap <leader>gb <cmd>lua require('telescope.builtin').git_branches()<cr>
|
||||
|
||||
nnoremap <leader>s <cmd>lua require('telescope').extensions.ultisnips.ultisnips()<cr>
|
||||
@@ -1,11 +0,0 @@
|
||||
require("themer").setup({
|
||||
colorscheme = "scery",
|
||||
enable_installer = true,
|
||||
styles = {
|
||||
["function"] = { style = 'italic' },
|
||||
functionbuiltin = { style = 'italic' },
|
||||
variable = { style = 'italic' },
|
||||
variableBuiltIn = { style = 'italic' },
|
||||
parameter = { style = 'italic' },
|
||||
},
|
||||
})
|
||||
@@ -1,58 +0,0 @@
|
||||
-- Tree-sitter configuration
|
||||
|
||||
ts = require'nvim-treesitter.configs'
|
||||
|
||||
ts.setup {
|
||||
highlight = {
|
||||
enable = true,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"c",
|
||||
"cmake",
|
||||
"cpp",
|
||||
"fish",
|
||||
"lua",
|
||||
"rust",
|
||||
},
|
||||
-- disabled, since it mostly shifts to four characters
|
||||
--indent = {
|
||||
-- enable = true,
|
||||
--},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "tis",
|
||||
node_incremental = "ti",
|
||||
scope_incremental = "ts",
|
||||
node_decremental = "td",
|
||||
},
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
-- disable = { "jsx", "cpp" }, list of languages you want to disable the plugin for
|
||||
extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean
|
||||
max_file_lines = 10000, -- Do not enable for files with more than n lines, int
|
||||
-- colors = {}, -- table of hex strings
|
||||
-- termcolors = {} -- table of colour name strings
|
||||
},
|
||||
--textobjects = {
|
||||
-- swap = {
|
||||
-- enable = true,
|
||||
-- swap_next = {
|
||||
-- ["tan"] = "@parameter.inner",
|
||||
-- },
|
||||
-- swap_previous = {
|
||||
-- ["tap"] = "@parameter.inner",
|
||||
-- },
|
||||
-- },
|
||||
--},
|
||||
matchup = {
|
||||
enable = true,
|
||||
-- disable = { "c", "ruby" },
|
||||
include_match_words
|
||||
},
|
||||
}
|
||||
--vim.opt.foldmethod = "expr"
|
||||
--vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
@@ -1,12 +0,0 @@
|
||||
vim.wo.foldcolumn = '1'
|
||||
vim.wo.foldlevel = 99 -- feel free to decrease the value
|
||||
vim.wo.foldenable = true
|
||||
|
||||
-- tell the sever the capability of foldingRange
|
||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities.textDocument.foldingRange = {
|
||||
dynamicRegistration = false,
|
||||
lineFoldingOnly = true
|
||||
}
|
||||
|
||||
--require('ufo').setup()
|
||||
@@ -1,8 +0,0 @@
|
||||
" Set completeopt to have a better completion experience
|
||||
"set completeopt=menuone,noinsert,noselect
|
||||
let g:completion_enable_snippet = 'UltiSnips'
|
||||
"iunmap <Tab>
|
||||
"map <c-s> <C-R>=UltiSnips#ExpandSnippet()<CR>
|
||||
"let g:UltiSnipsExpandTrigger="<c-s>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<tab>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<S-tab>"
|
||||
@@ -1,11 +0,0 @@
|
||||
let g:cmake_build_options = [ "-j10" ]
|
||||
|
||||
|
||||
let g:cmake_jump_on_error = 0 " We do not want to focus the console
|
||||
augroup vim-cmake-group
|
||||
autocmd User CMakeBuildFailed :cfirst
|
||||
augroup END
|
||||
|
||||
augroup vim-cmake-group
|
||||
autocmd! User CMakeBuildSucceeded CMakeClose
|
||||
augroup END
|
||||
@@ -1,7 +0,0 @@
|
||||
"nmap <silent> <leader>tn :TestNearest<CR>
|
||||
"nmap <silent> <leader>tf :TestFile<CR>
|
||||
"nmap <silent> <leader>ts :TestSuite<CR>
|
||||
"nmap <silent> <leader>tl :TestLast<CR>
|
||||
"nmap <silent> <leader>tv :TestVisit<CR>
|
||||
"
|
||||
"let test#strategy = "floaterm"
|
||||
@@ -1,5 +0,0 @@
|
||||
require("which-key").setup {
|
||||
-- your configuration comes here
|
||||
-- or leave it empty to use the default settings
|
||||
-- refer to the configuration section below
|
||||
}
|
||||
4
.config/nvim/init.lua
Normal file
4
.config/nvim/init.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
require('core.config')
|
||||
require('core.plugins')
|
||||
require('core.mappings')
|
||||
require('core.autocmd')
|
||||
@@ -1,278 +0,0 @@
|
||||
let plug_install = 0
|
||||
let autoload_plug_path = stdpath('config') . '/autoload/plug.vim'
|
||||
|
||||
if !filereadable(autoload_plug_path)
|
||||
silent exe '!curl -fL --create-dirs -o ' . autoload_plug_path .
|
||||
\ ' https://raw.github.com/junegunn/vim-plug/master/plug.vim'
|
||||
execute 'source ' . fnameescape(autoload_plug_path)
|
||||
let plug_install = 1
|
||||
endif
|
||||
unlet autoload_plug_path
|
||||
|
||||
call plug#begin('~/.config/nvim/plugins')
|
||||
|
||||
" Code development helpers {{{
|
||||
Plug 'neovim/nvim-lspconfig'
|
||||
Plug 'p00f/clangd_extensions.nvim'
|
||||
"Plug 'ray-x/lsp_signature.nvim'
|
||||
Plug 'matsui54/denops-signature_help'
|
||||
Plug 'jubnzv/virtual-types.nvim'
|
||||
Plug 'RRethy/vim-illuminate'
|
||||
Plug 'mizlan/iswap.nvim'
|
||||
Plug 'Saecki/crates.nvim' | Plug 'jose-elias-alvarez/null-ls.nvim'
|
||||
|
||||
"Plug 'dbeniamine/cheat.sh-vim'
|
||||
"Plug 'puremourning/vimspector'
|
||||
"Plug 'vim-test/vim-test'
|
||||
Plug 'lukas-reineke/indent-blankline.nvim'
|
||||
Plug 'liuchengxu/vista.vim'
|
||||
|
||||
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
|
||||
Plug 'nvim-treesitter/playground'
|
||||
Plug 'p00f/nvim-ts-rainbow'
|
||||
Plug 'romgrk/nvim-treesitter-context'
|
||||
|
||||
Plug 'cdelledonne/vim-cmake'
|
||||
|
||||
Plug 'andymass/vim-matchup'
|
||||
Plug 'numToStr/Comment.nvim'
|
||||
Plug 'danymat/neogen'
|
||||
|
||||
Plug 'krady21/compiler-explorer.nvim'
|
||||
" }}}
|
||||
|
||||
" Completion {{{
|
||||
Plug 'ms-jpq/coq_nvim'
|
||||
Plug 'ms-jpq/coq.artifacts', {'branch': 'artifacts'}
|
||||
" }}}
|
||||
|
||||
" Files switch, jump and grep-like tools {{{
|
||||
Plug 'kyazdani42/nvim-web-devicons'
|
||||
Plug 'kyazdani42/nvim-tree.lua'
|
||||
Plug 'nvim-lua/popup.nvim'
|
||||
Plug 'nvim-lua/plenary.nvim'
|
||||
Plug 'nvim-telescope/telescope.nvim'
|
||||
Plug 'fhill2/telescope-ultisnips.nvim'
|
||||
Plug 'stevearc/dressing.nvim'
|
||||
Plug 'MunifTanjim/nui.nvim'
|
||||
Plug 'inside/vim-search-pulse'
|
||||
Plug 'wellle/targets.vim'
|
||||
Plug 'numToStr/FTerm.nvim'
|
||||
Plug 'ggandor/leap.nvim'
|
||||
" }}}
|
||||
|
||||
" Git integration {{{
|
||||
Plug 'tpope/vim-fugitive'
|
||||
Plug 'APZelos/blamer.nvim'
|
||||
Plug 'lewis6991/gitsigns.nvim'
|
||||
" }}}
|
||||
|
||||
" Support for random filetypes {{{
|
||||
"Plug 'weirongxu/plantuml-previewer.vim' |
|
||||
Plug 'kergoth/vim-bitbake' " Bitbake templates and syntax
|
||||
Plug 'aklt/plantuml-syntax'
|
||||
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
|
||||
"Plug 'vim-pandoc/vim-pandoc'
|
||||
Plug 'chrisbra/csv.vim'
|
||||
" }}}
|
||||
|
||||
" Other plugins (external tools, etc) {{{
|
||||
"Plug 'MortenStabenau/matlab-vim'
|
||||
"Plug 'junegunn/goyo.vim'
|
||||
Plug 'lukas-reineke/virt-column.nvim'
|
||||
Plug 'folke/which-key.nvim'
|
||||
"Plug 'glacambre/firenvim'
|
||||
"Plug 'JMcKiern/vim-shoot'
|
||||
"Plug 'protex/better-digraphs.nvim'
|
||||
" }}}
|
||||
|
||||
" Note taking {{{
|
||||
"Plug 'vimwiki/vimwiki'
|
||||
"Plug 'michal-h21/vimwiki-sync'
|
||||
"Plug 'michal-h21/vim-zettel'
|
||||
" }}}
|
||||
|
||||
" Colorschemes {{{
|
||||
Plug 'vim-airline/vim-airline' | Plug 'vim-airline/vim-airline-themes'
|
||||
"Plug 'jaredgorski/spacecamp'
|
||||
"Plug 'lifepillar/vim-gruvbox8'
|
||||
"Plug 'dylanaraps/wal'
|
||||
"Plug 'tanvirtin/monokai.nvim'
|
||||
"Plug 'marko-cerovac/material.nvim'
|
||||
" }}}
|
||||
|
||||
" Testing phase {{{
|
||||
Plug 'nvim-neorg/neorg'
|
||||
Plug 'themercorp/themer.lua'
|
||||
"Plug 'mfussenegger/nvim-dap'
|
||||
Plug 'frabjous/knap'
|
||||
Plug 'kevinhwang91/nvim-ufo' | Plug 'kevinhwang91/promise-async'
|
||||
Plug 'ziontee113/icon-picker.nvim'
|
||||
Plug 'RRethy/vim-hexokinase', { 'do': 'make hexokinase' }
|
||||
Plug 'anuvyklack/pretty-fold.nvim'
|
||||
Plug 'anuvyklack/fold-preview.nvim' | Plug 'anuvyklack/keymap-amend.nvim'
|
||||
Plug 'anuvyklack/windows.nvim' | Plug 'anuvyklack/middleclass' | Plug 'anuvyklack/animation.nvim'
|
||||
"Plug 'https://git.sr.ht/%7Ewhynothugo/lsp_lines.nvim'
|
||||
" }}}
|
||||
|
||||
call plug#end()
|
||||
|
||||
lua << EOF
|
||||
|
||||
require('fold-preview').setup()
|
||||
|
||||
require('pretty-fold').ft_setup('cpp', {
|
||||
process_comment_signs = false,
|
||||
comment_signs = {
|
||||
'/**', -- C++ Doxygen comments
|
||||
},
|
||||
stop_words = {
|
||||
-- ╟─ "*" ──╭───────╮── "@brief" ──╭───────╮──╢
|
||||
-- ╰─ WSP ─╯ ╰─ WSP ─╯
|
||||
'%*%s*@brief%s*',
|
||||
},
|
||||
})
|
||||
|
||||
--require('lsp_lines').setup()
|
||||
|
||||
require('compiler-explorer').setup()
|
||||
EOF
|
||||
|
||||
set termguicolors
|
||||
set shell=bash
|
||||
|
||||
if plug_install
|
||||
PlugInstall --sync
|
||||
endif
|
||||
unlet plug_install
|
||||
|
||||
set number
|
||||
set clipboard+=unnamedplus
|
||||
|
||||
set noshowmode
|
||||
set laststatus=2
|
||||
|
||||
lua << EOF
|
||||
require("virt-column").setup { }
|
||||
vim.o.winwidth = 10
|
||||
vim.o.winminwidth = 10
|
||||
require("windows").setup()
|
||||
EOF
|
||||
set colorcolumn=80
|
||||
|
||||
set background=dark
|
||||
"Wal scheme:
|
||||
"colorscheme wal
|
||||
"Material scheme:
|
||||
"let g:material_style = "deep ocean"
|
||||
"colorscheme material
|
||||
|
||||
"highlight MatchParen cterm=underline ctermbg=black ctermfg=NONE
|
||||
"highlight VirtColumn ctermfg=DarkGrey ctermbg=NONE
|
||||
set listchars=tab:▸\ ,trail:¬
|
||||
set list
|
||||
"hi clear SpellBad
|
||||
"hi SpellBad cterm=underline
|
||||
|
||||
set tabstop=2
|
||||
set shiftwidth=2
|
||||
set softtabstop=2
|
||||
|
||||
set expandtab
|
||||
|
||||
set ignorecase
|
||||
set smartcase
|
||||
|
||||
set gdefault
|
||||
|
||||
set textwidth=80
|
||||
set formatoptions+=t
|
||||
set scrolloff=10
|
||||
set nowrap
|
||||
set sidescroll=5
|
||||
|
||||
set inccommand="split"
|
||||
|
||||
set lazyredraw
|
||||
|
||||
" space one line, home,end globally increase/decrease
|
||||
nnoremap <Home> zc
|
||||
nnoremap <End> zo
|
||||
|
||||
" Ctags {{{
|
||||
if isdirectory($HOME . '/.cache/nvim/tags') == 0
|
||||
:silent !mkdir -p ~/.cache/nvim/tags > /dev/null 2>&1
|
||||
endif
|
||||
let g:gutentags_cache_dir='~/.cache/nvim/tags'
|
||||
"let g:gutentags_ctags_extra_args=['--fields=+l']
|
||||
|
||||
if isdirectory($HOME . '/.cache/nvim/undo') == 0
|
||||
:silent !mkdir -p ~/.cache/nvim/undo > /dev/null 2>&1
|
||||
endif
|
||||
set undodir=~/.cache/nvim/undo/
|
||||
set undofile
|
||||
|
||||
"let mapleader = "\\"
|
||||
nmap <space> <leader>
|
||||
|
||||
tnoremap <ESC><ESC> <C-\><C-n>
|
||||
|
||||
inoremap jj <ESC>
|
||||
inoremap jk <ESC>
|
||||
"inoremap :w<CR> <Esc>:w<CR>
|
||||
nnoremap Q <cmd>q
|
||||
|
||||
" Reselect visual block after incrementing/decrementing
|
||||
vnoremap <c-a> <c-a>gv
|
||||
vnoremap <c-x> <c-x>gv
|
||||
|
||||
nnoremap <leader>2 <esc>:set tabstop=2 softtabstop=2 shiftwidth=2<cr>
|
||||
nnoremap <leader>4 <esc>:set tabstop=4 softtabstop=4 shiftwidth=4<cr>
|
||||
nnoremap <leader>8 <esc>:set tabstop=8 softtabstop=8 shiftwidth=8<cr>
|
||||
|
||||
nnoremap <leader><space> :nohlsearch<cr>
|
||||
|
||||
" TextEdit might fail if hidden is not set.
|
||||
set hidden
|
||||
|
||||
" Some servers have issues with backup files, see #649.
|
||||
set nobackup
|
||||
set nowritebackup
|
||||
|
||||
" New dynamic window height
|
||||
set cmdheight=0
|
||||
|
||||
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
|
||||
" delays and poor user experience.
|
||||
set updatetime=300
|
||||
|
||||
" Don't pass messages to |ins-completion-menu|.
|
||||
set shortmess+=c
|
||||
set shortmess-=F
|
||||
|
||||
set signcolumn=number
|
||||
|
||||
set wildmode=longest,list,full
|
||||
|
||||
match Error /\s\+$\|DU\cPA/
|
||||
|
||||
setglobal virtualedit=block
|
||||
setglobal shiftround
|
||||
|
||||
let g:vimwiki_list = [{'path': '~/vimwiki/',
|
||||
\ 'syntax': 'markdown', 'ext': '.md'}]
|
||||
|
||||
let g:blamer_enabled = 1
|
||||
let g:blamer_show_in_insert_modes = 0
|
||||
let g:blamer_template = '<committer> <committer-time> <summary>'
|
||||
let g:blamer_date_format = '%Y-%m-%d'
|
||||
let g:blamer_relative_time = 0
|
||||
"highlight Blamer guifg=lightgrey
|
||||
|
||||
"packadd termdebug
|
||||
|
||||
""""""""""""""""""
|
||||
" gui settings "
|
||||
""""""""""""""""""
|
||||
set guifont=IBM\ Plex\ Mono\ Text:h8
|
||||
let g:neovide_cursor_vfx_mode = "pixiedust"
|
||||
3
.config/nvim/lua/.luarc.json
Normal file
3
.config/nvim/lua/.luarc.json
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"workspace.checkThirdParty": false
|
||||
}
|
||||
29
.config/nvim/lua/core/autocmd.lua
Normal file
29
.config/nvim/lua/core/autocmd.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
local api = vim.api
|
||||
local autocmd = api.nvim_create_autocmd
|
||||
local augroup = api.nvim_create_augroup
|
||||
local opt = vim.opt
|
||||
local o = vim.o
|
||||
local g = vim.g
|
||||
local fn = vim.fn
|
||||
|
||||
autocmd("BufWritePre", {
|
||||
desc = "Autocreate a dir when saving a file",
|
||||
group = augroup("auto_create_dir", { clear = true }),
|
||||
callback = function(event)
|
||||
if event.match:match("^%w%w+:[\\/][\\/]") then
|
||||
return
|
||||
end
|
||||
local file = vim.uv.fs_realpath(event.match) or event.match
|
||||
fn.mkdir(fn.fnamemodify(file, ":p:h"), "p")
|
||||
end,
|
||||
})
|
||||
|
||||
autocmd("BufReadPost", {
|
||||
desc = "Auto jump to last position",
|
||||
group = augroup("auto-last-position", { clear = true }),
|
||||
callback = function(args)
|
||||
local position = api.nvim_buf_get_mark(args.buf, [["]])
|
||||
local winid = fn.bufwinid(args.buf)
|
||||
pcall(api.nvim_win_set_cursor, winid, position)
|
||||
end,
|
||||
})
|
||||
110
.config/nvim/lua/core/config.lua
Normal file
110
.config/nvim/lua/core/config.lua
Normal file
@@ -0,0 +1,110 @@
|
||||
vim.g.loaded = 1
|
||||
-- uncomment to disable netrw, but nvim scp://xx will not work:
|
||||
-- vim.g.loaded_netrwPlugin = 1
|
||||
vim.g.plug_install = 0
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.startofline = true
|
||||
|
||||
vim.g.loaded_ruby_provider = 0
|
||||
vim.g.loaded_perl_provider = 0
|
||||
|
||||
local undodir = vim.fn.expand('~/.cache/nvim/undo')
|
||||
vim.fn.mkdir(undodir, 'p')
|
||||
vim.opt.undodir = undodir
|
||||
vim.opt.undofile = true
|
||||
|
||||
vim.opt.conceallevel = 1
|
||||
|
||||
--vim.opt.shell = '/bin/bash'
|
||||
|
||||
vim.opt.number = true
|
||||
--vim.o.relativenumber = 1
|
||||
vim.opt.numberwidth = 2
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
vim.opt.showmode = true
|
||||
vim.opt.laststatus = 2
|
||||
|
||||
vim.opt.background = 'dark'
|
||||
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.splitright = true
|
||||
|
||||
-- gui settings
|
||||
vim.opt.guifont="IBM Plex Mono Text:h9:e-subpixelantyalias"
|
||||
vim.g.neovide_cursor_vfx_mode = 'pixiedust'
|
||||
vim.g.neovide_refresh_rate = 165
|
||||
vim.g.neovide_refresh_rate_idle = 5
|
||||
vim.g.neovide_remember_window_size = 0
|
||||
|
||||
vim.opt.listchars = { tab = "▸ ", trail = "¬" }
|
||||
vim.opt.list = true
|
||||
vim.opt.tabstop=4
|
||||
vim.opt.shiftwidth=4
|
||||
vim.opt.softtabstop=4
|
||||
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
|
||||
vim.opt.gdefault = true
|
||||
|
||||
vim.opt.textwidth = 80
|
||||
vim.opt.colorcolumn = { 80 }
|
||||
vim.opt.formatoptions:append("tlo/qj")
|
||||
vim.opt.scrolloff = 10
|
||||
vim.opt.wrap = false
|
||||
vim.opt.sidescroll = 5
|
||||
vim.opt.sidescroll = 5
|
||||
|
||||
vim.opt.inccommand = "split"
|
||||
|
||||
vim.opt.lazyredraw = true
|
||||
|
||||
vim.opt.hidden = true
|
||||
|
||||
vim.opt.backup = false
|
||||
vim.opt.writebackup = false
|
||||
|
||||
-- New dynamic window height
|
||||
--vim.opt.cmdheight = 0
|
||||
vim.opt.cmdheight = 1
|
||||
|
||||
-- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable
|
||||
-- delays and poor user experience.
|
||||
vim.opt.updatetime = 300
|
||||
|
||||
-- Don't pass messages to |ins-completion-menu|.
|
||||
vim.opt.shortmess:append('c')
|
||||
vim.opt.shortmess:remove('F')
|
||||
|
||||
vim.opt.signcolumn = "yes"
|
||||
|
||||
vim.opt.wildmode = { "longest", "list", "full" }
|
||||
vim.opt.completeopt = { "menu", "menuone", "noselect" }
|
||||
|
||||
vim.opt.mouse = ""
|
||||
|
||||
vim.cmd.match([[Error /\s\+$\|DU\cPA/]])
|
||||
|
||||
vim.opt.virtualedit = "block"
|
||||
vim.opt.shiftround = true
|
||||
|
||||
vim.opt.wildignorecase = true -- When set case is ignored when completing file names and directories
|
||||
vim.opt.wildignore = [[
|
||||
.git,.hg,.svn
|
||||
*.aux,*.out,*.toc
|
||||
*.o,*.obj,*.exe,*.dll,*.manifest,*.rbc,*.class
|
||||
*.ai,*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png,*.psd,*.webp
|
||||
*.avi,*.divx,*.mp4,*.webm,*.mov,*.m2ts,*.mkv,*.vob,*.mpg,*.mpeg
|
||||
*.mp3,*.oga,*.ogg,*.wav,*.flac
|
||||
*.eot,*.otf,*.ttf,*.woff
|
||||
*.doc,*.pdf,*.cbr,*.cbz
|
||||
*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*.kgb
|
||||
*.swp,.lock,.DS_Store,._*
|
||||
*.log
|
||||
*/tmp/*,*.so,*.swp,*.zip,**/node_modules/**,**/target/**,**.terraform/**"
|
||||
]]
|
||||
|
||||
vim.g.loaded_perl_provider = 0
|
||||
28
.config/nvim/lua/core/mappings.lua
Normal file
28
.config/nvim/lua/core/mappings.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
local map = vim.keymap.set
|
||||
local default_options = { noremap = true, silent = true }
|
||||
--local expr_options = { noremap = true, expr = true, silent = true }
|
||||
|
||||
-- space one line, home,end globally increase/decrease
|
||||
map('n', '<Home>', 'zc', default_options)
|
||||
map('n', '<End>', 'zo', default_options)
|
||||
|
||||
map('t', '<ESC><ESC>', '<C-\\><C-n>', default_options)
|
||||
|
||||
map('i', 'jj', '<ESC>', default_options)
|
||||
map('i', 'jk', '<ESC>', default_options)
|
||||
--map('i', ':w<CR>', '<Esc>:w<CR>', default_options)
|
||||
map('n', 'Q', ':q', default_options)
|
||||
|
||||
-- Reselect visual block after incrementing/decrementing
|
||||
map('v', '<c-a>', '<c-a>gv', default_options)
|
||||
map('v', '<c-x>', '<c-x>gv', default_options)
|
||||
|
||||
map('n', '<leader>y', '"_y', default_options)
|
||||
map('n', '<leader>d', '"_d', default_options)
|
||||
map('v', '<leader>p', '"_p', default_options)
|
||||
map('v', 'p', '"_dp', default_options)
|
||||
map('v', 'P', '"_dP', default_options)
|
||||
|
||||
map('n', '<leader>2', '<cmd>set tabstop=2 softtabstop=2 shiftwidth=2<cr>', default_options)
|
||||
map('n', '<leader>4', '<cmd>set tabstop=4 softtabstop=4 shiftwidth=4<cr>', default_options)
|
||||
map('n', '<leader>8', '<cmd>set tabstop=8 softtabstop=8 shiftwidth=8<cr>', default_options)
|
||||
26
.config/nvim/lua/core/plugins.lua
Normal file
26
.config/nvim/lua/core/plugins.lua
Normal file
@@ -0,0 +1,26 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
--"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
require'lazy'.setup('plugins')
|
||||
-- , {
|
||||
-- change_detection = {
|
||||
-- enabled = false,
|
||||
-- notify = false
|
||||
-- },
|
||||
-- dev = {
|
||||
-- path = '/home/kmcr'
|
||||
-- }
|
||||
-- })
|
||||
6
.config/nvim/lua/plugins/actions-preview.lua
Normal file
6
.config/nvim/lua/plugins/actions-preview.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
"aznhe21/actions-preview.nvim",
|
||||
config = function()
|
||||
vim.keymap.set({ "v", "n" }, "gra", require("actions-preview").code_actions)
|
||||
end,
|
||||
}
|
||||
14
.config/nvim/lua/plugins/ascii_image.lua
Normal file
14
.config/nvim/lua/plugins/ascii_image.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
'samodostal/image.nvim',
|
||||
name = 'ascii-image',
|
||||
opts = {
|
||||
render = {
|
||||
min_padding = 5,
|
||||
show_label = true,
|
||||
use_dither = true,
|
||||
},
|
||||
events = {
|
||||
update_on_nvim_resize = true,
|
||||
},
|
||||
}
|
||||
}
|
||||
5
.config/nvim/lua/plugins/auto-diff.lua
Normal file
5
.config/nvim/lua/plugins/auto-diff.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"yutkat/git-rebase-auto-diff.nvim",
|
||||
ft = { "gitrebase" },
|
||||
opts = {},
|
||||
}
|
||||
17
.config/nvim/lua/plugins/bigfile.lua
Normal file
17
.config/nvim/lua/plugins/bigfile.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"LunarVim/bigfile.nvim",
|
||||
opts = {
|
||||
filesize = 2, -- size of the file in MiB, the plugin round file sizes to the closest MiB
|
||||
pattern = { "*" }, -- autocmd pattern or function see <### Overriding the detection of big files>
|
||||
features = { -- features to disable
|
||||
"indent_blankline",
|
||||
"illuminate",
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"syntax",
|
||||
"matchparen",
|
||||
"vimopts",
|
||||
"filetype",
|
||||
},
|
||||
}
|
||||
}
|
||||
4
.config/nvim/lua/plugins/bitbake.lua
Normal file
4
.config/nvim/lua/plugins/bitbake.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
'kergoth/vim-bitbake', -- Bitbake templates and syntax
|
||||
ft = { 'bitbake' }
|
||||
}
|
||||
12
.config/nvim/lua/plugins/bitbucket.lua
Normal file
12
.config/nvim/lua/plugins/bitbucket.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
--'tools/bitbucket.nvim',
|
||||
dir = '~/tools/bitbucket.nvim/',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim'
|
||||
},
|
||||
-- dev = true,
|
||||
config = function()
|
||||
require('bitbucket-nvim').setup({ opt = "test"})
|
||||
end,
|
||||
enabled = false
|
||||
}
|
||||
191
.config/nvim/lua/plugins/blink.lua
Normal file
191
.config/nvim/lua/plugins/blink.lua
Normal file
@@ -0,0 +1,191 @@
|
||||
return { {
|
||||
'Saghen/blink.cmp',
|
||||
-- optional: provides snippets for the snippet source
|
||||
dependencies = {
|
||||
'rafamadriz/friendly-snippets',
|
||||
'xzbdmw/colorful-menu.nvim',
|
||||
'disrupted/blink-cmp-conventional-commits',
|
||||
'moyiz/blink-emoji.nvim',
|
||||
'milanglacier/minuet-ai.nvim',
|
||||
'mikavilpas/blink-ripgrep.nvim',
|
||||
},
|
||||
|
||||
-- use a release tag to download pre-built binaries
|
||||
version = '*',
|
||||
-- AND/OR build from source, requires nightly: https://rust-lang.github.io/rustup/concepts/channels.html#working-with-nightly-rust
|
||||
-- build = 'cargo build --release',
|
||||
-- If you use nix, you can build from source using latest nightly rust with:
|
||||
-- build = 'nix run .#build-plugin',
|
||||
|
||||
---@module 'blink.cmp'
|
||||
---@type blink.cmp.Config
|
||||
opts = {
|
||||
-- 'default' for mappings similar to built-in completion
|
||||
-- 'super-tab' for mappings similar to vscode (tab to accept, arrow keys to navigate)
|
||||
-- 'enter' for mappings similar to 'super-tab' but with 'enter' to accept
|
||||
-- See the full "keymap" documentation for information on defining your own keymap.
|
||||
keymap = {
|
||||
preset = 'default',
|
||||
--['A-y'] = require('minuet').make_blink_map()
|
||||
},
|
||||
|
||||
appearance = {
|
||||
-- -- Sets the fallback highlight groups to nvim-cmp's highlight groups
|
||||
-- -- Useful for when your theme doesn't support blink.cmp
|
||||
-- -- Will be removed in a future release
|
||||
-- use_nvim_cmp_as_default = true,
|
||||
-- Set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font'
|
||||
-- Adjusts spacing to ensure icons are aligned
|
||||
nerd_font_variant = 'mono'
|
||||
},
|
||||
|
||||
-- Default list of enabled providers defined so that you can extend it
|
||||
-- elsewhere in your config, without redefining it, due to `opts_extend`
|
||||
sources = {
|
||||
default = {
|
||||
'conventional_commits',
|
||||
'lsp',
|
||||
'path',
|
||||
'snippets',
|
||||
'buffer',
|
||||
'emoji',
|
||||
--'ripgrep',
|
||||
--[[ 'minuet' ]]
|
||||
},
|
||||
providers = {
|
||||
conventional_commits = {
|
||||
name = "Conventional Commits",
|
||||
module = 'blink-cmp-conventional-commits',
|
||||
enabled = function()
|
||||
return vim.bo.filetype == 'gitcommit'
|
||||
end,
|
||||
opts = {}
|
||||
},
|
||||
emoji = {
|
||||
module = 'blink-emoji',
|
||||
name = "Emoji",
|
||||
score_offset = 15,
|
||||
opts = { insert = true },
|
||||
should_show_items = function()
|
||||
return vim.tbl_contains({ "gitcommit", "markdown" }, vim.o.filetype)
|
||||
end,
|
||||
},
|
||||
minuet = {
|
||||
name = 'minuet',
|
||||
module = 'minuet.blink',
|
||||
async = true,
|
||||
-- Should match minuet.config.request_timeout * 1000,
|
||||
-- since minuet.config.request_timeout is in seconds
|
||||
timeout_ms = 3000,
|
||||
score_offset = 50, -- Gives minuet higher priority among suggestions
|
||||
},
|
||||
ripgrep = {
|
||||
module = 'blink-ripgrep',
|
||||
name = 'Ripgrep',
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
},
|
||||
|
||||
completion = {
|
||||
menu = {
|
||||
draw = {
|
||||
columns = { { "kind_icon" }, { "label", gap = 1 } },
|
||||
components = {
|
||||
label = {
|
||||
text = function(ctx)
|
||||
return require("colorful-menu").blink_components_text(ctx)
|
||||
end,
|
||||
highlight = function(ctx)
|
||||
return require("colorful-menu").blink_components_highlight(ctx)
|
||||
end,
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
--trigger = { prefetch_on_insert = false },
|
||||
|
||||
accept = { auto_brackets = { enabled = false }, },
|
||||
ghost_text = { enabled = false },
|
||||
},
|
||||
-- experimental:
|
||||
signature = { enabled = true },
|
||||
},
|
||||
opts_extend = { "sources.default" }
|
||||
}, {
|
||||
"xzbdmw/colorful-menu.nvim",
|
||||
config = function()
|
||||
-- You don't need to set these options.
|
||||
require("colorful-menu").setup({
|
||||
ls = {
|
||||
lua_ls = {
|
||||
-- Maybe you want to dim arguments a bit.
|
||||
arguments_hl = "@comment",
|
||||
},
|
||||
gopls = {
|
||||
-- By default, we render variable/function's type in the right most side,
|
||||
-- to make them not to crowd together with the original label.
|
||||
|
||||
-- when true:
|
||||
-- foo *Foo
|
||||
-- ast "go/ast"
|
||||
|
||||
-- when false:
|
||||
-- foo *Foo
|
||||
-- ast "go/ast"
|
||||
align_type_to_right = true,
|
||||
-- When true, label for field and variable will format like "foo: Foo"
|
||||
-- instead of go's original syntax "foo Foo". If align_type_to_right is
|
||||
-- true, this option has no effect.
|
||||
add_colon_before_type = false,
|
||||
},
|
||||
-- for lsp_config or typescript-tools
|
||||
ts_ls = {
|
||||
extra_info_hl = "@comment",
|
||||
},
|
||||
vtsls = {
|
||||
extra_info_hl = "@comment",
|
||||
},
|
||||
["rust-analyzer"] = {
|
||||
-- Such as (as Iterator), (use std::io).
|
||||
extra_info_hl = "@comment",
|
||||
-- Similar to the same setting of gopls.
|
||||
align_type_to_right = true,
|
||||
},
|
||||
clangd = {
|
||||
-- Such as "From <stdio.h>".
|
||||
extra_info_hl = "@comment",
|
||||
-- Similar to the same setting of gopls.
|
||||
align_type_to_right = true,
|
||||
-- the hl group of leading dot of "•std::filesystem::permissions(..)"
|
||||
import_dot_hl = "@comment",
|
||||
},
|
||||
zls = {
|
||||
-- Similar to the same setting of gopls.
|
||||
align_type_to_right = true,
|
||||
},
|
||||
roslyn = {
|
||||
extra_info_hl = "@comment",
|
||||
},
|
||||
-- The same applies to pyright/pylance
|
||||
basedpyright = {
|
||||
-- It is usually import path such as "os"
|
||||
extra_info_hl = "@comment",
|
||||
},
|
||||
|
||||
-- If true, try to highlight "not supported" languages.
|
||||
fallback = true,
|
||||
},
|
||||
-- If the built-in logic fails to find a suitable highlight group,
|
||||
-- this highlight is applied to the label.
|
||||
fallback_highlight = "@variable",
|
||||
-- If provided, the plugin truncates the final displayed text to
|
||||
-- this width (measured in display cells). Any highlights that extend
|
||||
-- beyond the truncation point are ignored. When set to a float
|
||||
-- between 0 and 1, it'll be treated as percentage of the width of
|
||||
-- the window: math.floor(max_width * vim.api.nvim_win_get_width(0))
|
||||
-- Default 60.
|
||||
max_width = 60,
|
||||
})
|
||||
end
|
||||
} }
|
||||
7
.config/nvim/lua/plugins/block.lua
Normal file
7
.config/nvim/lua/plugins/block.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
"HampusHauffman/block.nvim",
|
||||
enabled = false,
|
||||
config = function()
|
||||
require("block").setup({})
|
||||
end
|
||||
}
|
||||
21
.config/nvim/lua/plugins/boole.lua
Normal file
21
.config/nvim/lua/plugins/boole.lua
Normal file
@@ -0,0 +1,21 @@
|
||||
return {
|
||||
'nat-418/boole.nvim',
|
||||
config = function()
|
||||
require'boole'.setup({
|
||||
mappings = {
|
||||
increment = '<C-a>',
|
||||
decrement = '<C-x>'
|
||||
},
|
||||
-- User defined loops
|
||||
additions = {
|
||||
{'light', 'dark'},
|
||||
{'phaseOne', 'phaseTwo', 'phaseThree'},
|
||||
{'PhaseOne', 'PhaseTwo', 'PhaseThree'},
|
||||
{'Enable', 'Disable'},
|
||||
{'ENABLE', 'DISABLE'},
|
||||
{'enable', 'disable'},
|
||||
{'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'},
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
37
.config/nvim/lua/plugins/cd-project.lua
Normal file
37
.config/nvim/lua/plugins/cd-project.lua
Normal file
@@ -0,0 +1,37 @@
|
||||
return {
|
||||
'LintaoAmons/cd-project.nvim',
|
||||
opts = {
|
||||
-- this json file is acting like a database to update and read the projects in real time.
|
||||
-- So because it's just a json file, you can edit directly to add more paths you want manually
|
||||
projects_config_filepath = vim.fs.normalize(vim.fn.stdpath("config") .. "/cd-project.nvim.json"),
|
||||
-- this controls the behaviour of `CdProjectAdd` command about how to get the project directory
|
||||
project_dir_pattern = { ".git", ".gitignore", "Cargo.toml", "package.json", "go.mod" },
|
||||
choice_format = "both", -- optional, you can switch to "name" or "path"
|
||||
projects_picker = "vim-ui", -- optional, you can switch to `telescope`
|
||||
-- do whatever you like by hooks
|
||||
hooks = {
|
||||
{
|
||||
callback = function(dir)
|
||||
vim.notify("switched to dir: " .. dir)
|
||||
end,
|
||||
},
|
||||
{
|
||||
callback = function(_)
|
||||
vim.cmd("Telescope find_files")
|
||||
end,
|
||||
},
|
||||
{
|
||||
callback = function(dir)
|
||||
vim.notify("switched to dir: " .. dir)
|
||||
end, -- required, action when trigger the hook
|
||||
name = "cd hint", -- optional
|
||||
order = 1, -- optional, the execution order if there're multiple hooks to be trigger at one point
|
||||
pattern = "cd-project.nvim", -- optional, trigger hook if contains pattern
|
||||
trigger_point = "DISABLE", -- optional, enum of trigger_points, default to `AFTER_CD`
|
||||
match_rule = function(dir) -- optional, a function return bool. if have this fields, then pattern will be ignored
|
||||
return true
|
||||
end,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
17
.config/nvim/lua/plugins/chatgpt.lua
Normal file
17
.config/nvim/lua/plugins/chatgpt.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"jackMort/ChatGPT.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
require("chatgpt").setup({
|
||||
|
||||
--api_key_cmd = "op read op://private/OpenAI/credential --no-newline"
|
||||
api_key = "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"
|
||||
})
|
||||
end,
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim"
|
||||
},
|
||||
enabled = false
|
||||
}
|
||||
49
.config/nvim/lua/plugins/codecompanion.lua
Normal file
49
.config/nvim/lua/plugins/codecompanion.lua
Normal file
@@ -0,0 +1,49 @@
|
||||
return {
|
||||
"olimorris/codecompanion.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {
|
||||
strategies = {
|
||||
-- Change the default chat adapter
|
||||
chat = {
|
||||
adapter = "ollama",
|
||||
},
|
||||
inline = {
|
||||
adapter = "ollama",
|
||||
}
|
||||
},
|
||||
adapters = {
|
||||
ollama = function()
|
||||
return require("codecompanion.adapters").extend("ollama", {
|
||||
name = "gemma3:12b",
|
||||
env = {
|
||||
url = "http://192.168.10.99:11434",
|
||||
api_key = "OLLAMA_API_KEY",
|
||||
},
|
||||
headers = {
|
||||
["Content-Type"] = "application/json",
|
||||
["Authorization"] = "Bearer ${api_key}",
|
||||
},
|
||||
parameters = {
|
||||
sync = true,
|
||||
},
|
||||
schema = {
|
||||
model = {
|
||||
default = "deepseek-r1:32b",
|
||||
},
|
||||
num_ctx = {
|
||||
default = 16384,
|
||||
},
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
opts = {
|
||||
-- Set debug logging
|
||||
log_level = "DEBUG",
|
||||
},
|
||||
},
|
||||
enabled = false
|
||||
}
|
||||
53
.config/nvim/lua/plugins/colorschemes.lua
Normal file
53
.config/nvim/lua/plugins/colorschemes.lua
Normal file
@@ -0,0 +1,53 @@
|
||||
return {
|
||||
'lmantw/themify.nvim',
|
||||
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
dependencies = {
|
||||
--'Iron-E/nvim-highlite'
|
||||
},
|
||||
config = function()
|
||||
require('themify').setup({
|
||||
activity = true,
|
||||
"xero/miasma.nvim",
|
||||
"wuelnerdotexe/vim-enfocado",
|
||||
"fenetikm/falcon",
|
||||
"casr/vim-colors-reference",
|
||||
"blazkowolf/gruber-darker.nvim",
|
||||
"rebelot/kanagawa.nvim",
|
||||
"jaredgorski/spacecamp",
|
||||
"lifepillar/vim-gruvbox8",
|
||||
"marko-cerovac/material.nvim",
|
||||
"srcery-colors/srcery-vim",
|
||||
"tanvirtin/monokai.nvim",
|
||||
"dasupradyumna/midnight.nvim",
|
||||
"bluz71/vim-moonfly-colors",
|
||||
"kepano/flexoki-neovim",
|
||||
"nuvic/flexoki-nvim",
|
||||
{
|
||||
url = "https://gitlab.com/bartekjaszczak/distinct-nvim",
|
||||
},
|
||||
{
|
||||
url = "https://gitlab.com/bartekjaszczak/finale-nvim",
|
||||
},
|
||||
'kevinm6/kurayami.nvim',
|
||||
'gerardbm/vim-atomic',
|
||||
'fynnfluegge/monet.nvim',
|
||||
'thesimonho/kanagawa-paper.nvim',
|
||||
'qaptoR-nvim/chocolatier.nvim',
|
||||
'aliqyan-21/darkvoid.nvim',
|
||||
'paulo-granthon/hyper.nvim',
|
||||
'diegoulloao/neofusion.nvim',
|
||||
'aktersnurra/no-clown-fiesta.nvim',
|
||||
'kdheepak/monochrome.nvim',
|
||||
'ficcdaf/ashen.nvim',
|
||||
-- 'm15a/nvim-srcerite', - requires buggy highlite
|
||||
'nyoom-engineering/oxocarbon.nvim',
|
||||
'rjshkhr/shadow.nvim',
|
||||
'folke/tokyonight.nvim',
|
||||
'nendix/zen.nvim',
|
||||
'mcauley-penney/techbase.nvim',
|
||||
'default'
|
||||
})
|
||||
end
|
||||
}
|
||||
24
.config/nvim/lua/plugins/column.lua
Normal file
24
.config/nvim/lua/plugins/column.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
'Bekaboo/deadcolumn.nvim',
|
||||
opts = {
|
||||
scope = 'buffer',
|
||||
---@type string[]|fun(mode: string): boolean
|
||||
modes = function() return true end,
|
||||
blending = {
|
||||
threshold = 0.4,
|
||||
colorcode = '#000000',
|
||||
hlgroup = { 'Normal', 'bg' },
|
||||
},
|
||||
warning = {
|
||||
alpha = 0.3,
|
||||
offset = 0,
|
||||
colorcode = '#CC0000',
|
||||
hlgroup = { 'Error', 'bg' },
|
||||
},
|
||||
extra = {
|
||||
---@type string?
|
||||
follow_tw = nil,
|
||||
},
|
||||
},
|
||||
enabled = true
|
||||
}
|
||||
23
.config/nvim/lua/plugins/comment.lua
Normal file
23
.config/nvim/lua/plugins/comment.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
return {{
|
||||
-- 'gcc' to toggle comments
|
||||
'numToStr/Comment.nvim',
|
||||
config = true
|
||||
}, {
|
||||
"soemre/commentless.nvim",
|
||||
cmd = "Commentless",
|
||||
keys = {
|
||||
{
|
||||
"z/",
|
||||
function()
|
||||
require("commentless").toggle()
|
||||
end,
|
||||
desc = "Toggle Comments",
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
opts = {
|
||||
-- Customize Configuration
|
||||
},
|
||||
}}
|
||||
4
.config/nvim/lua/plugins/compiler-explorer.lua
Normal file
4
.config/nvim/lua/plugins/compiler-explorer.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
'krady21/compiler-explorer.nvim',
|
||||
config = true
|
||||
}
|
||||
50
.config/nvim/lua/plugins/context.lua
Normal file
50
.config/nvim/lua/plugins/context.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
return {
|
||||
'romgrk/nvim-treesitter-context',
|
||||
dependencies = 'nvim-treesitter/nvim-treesitter',
|
||||
config = function()
|
||||
-- " Configuration for context.vim
|
||||
-- "" Disable context.vim on json files
|
||||
vim.g.context_filetype_blacklist = {"json", "log"}
|
||||
require('treesitter-context').setup{
|
||||
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
||||
throttle = true, -- Throttles plugin updates (may improve performance)
|
||||
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
|
||||
mode = 'topline',
|
||||
patterns = { -- Match patterns for TS nodes. These get wrapped to match at word boundaries.
|
||||
-- For all filetypes
|
||||
-- Note that setting an entry here replaces all other patterns for this entry.
|
||||
-- By setting the 'default' entry below, you can control which nodes you want to
|
||||
-- appear in the context window.
|
||||
default = {
|
||||
'class',
|
||||
'function',
|
||||
'method',
|
||||
'for',
|
||||
'while',
|
||||
'if',
|
||||
'switch',
|
||||
-- 'case',
|
||||
},
|
||||
-- Example for a specific filetype.
|
||||
-- If a pattern is missing, *open a PR* so everyone can benefit.
|
||||
rust = {
|
||||
'impl_item',
|
||||
},
|
||||
},
|
||||
exact_patterns = {
|
||||
-- Example for a specific filetype with Lua patterns
|
||||
-- Treat patterns.rust as a Lua pattern (i.e "^impl_item$" will
|
||||
-- exactly match "impl_item" only)
|
||||
rust = true,
|
||||
},
|
||||
on_attach = function(buf)
|
||||
local max_filesize = 100 * 1024
|
||||
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 false
|
||||
end
|
||||
return true
|
||||
end
|
||||
}
|
||||
end
|
||||
}
|
||||
11
.config/nvim/lua/plugins/coolchunk.lua
Normal file
11
.config/nvim/lua/plugins/coolchunk.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
'Mr-LLLLL/cool-chunk.nvim',
|
||||
event = { "CursorHold", "CursorHoldI" },
|
||||
dependencies = {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
},
|
||||
config = function()
|
||||
require('cool-chunk').setup({})
|
||||
end,
|
||||
enabled = false
|
||||
}
|
||||
6
.config/nvim/lua/plugins/crates.lua
Normal file
6
.config/nvim/lua/plugins/crates.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'Saecki/crates.nvim',
|
||||
dependencies = 'jose-elias-alvarez/null-ls.nvim',
|
||||
config = true,
|
||||
ft = { "rust", "toml" }
|
||||
}
|
||||
23
.config/nvim/lua/plugins/csv.lua
Normal file
23
.config/nvim/lua/plugins/csv.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
return {{
|
||||
-- :DataViewer
|
||||
-- :DataViewer [filepath] [filetype]
|
||||
-- :DataViewerNextTable
|
||||
-- :DataViewerPrevTable
|
||||
|
||||
'vidocqh/data-viewer.nvim',
|
||||
opts = {},
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
ft = { "csv" }
|
||||
},
|
||||
{
|
||||
"chrisbra/csv.vim",
|
||||
ft = { "csv" }
|
||||
},
|
||||
{
|
||||
"hat0uma/csvview.nvim",
|
||||
ft = { "csv" },
|
||||
cmd = { "CsvViewEnable" },
|
||||
config = true
|
||||
}}
|
||||
14
.config/nvim/lua/plugins/cursor.lua
Normal file
14
.config/nvim/lua/plugins/cursor.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
"DanilaMihailov/beacon.nvim",
|
||||
opts = {
|
||||
enabled = true, --- (boolean | fun():boolean) check if enabled
|
||||
speed = 2, --- integer speed at which animation goes
|
||||
width = 40, --- integer width of the beacon window
|
||||
winblend = 70, --- integer starting transparency of beacon window :h winblend
|
||||
fps = 60, --- integer how smooth the animation going to be
|
||||
min_jump = 10, --- integer what is considered a jump. Number of lines
|
||||
cursor_events = { 'CursorMoved' }, -- table<string> what events trigger check for cursor moves
|
||||
window_events = { 'WinEnter', 'FocusGained' }, -- table<string> what events trigger cursor highlight
|
||||
highlight = { bg = 'white', ctermbg = 15 }, -- vim.api.keyset.highlight table passed to vim.api.nvim_set_hl
|
||||
}
|
||||
}
|
||||
167
.config/nvim/lua/plugins/dap.lua
Normal file
167
.config/nvim/lua/plugins/dap.lua
Normal file
@@ -0,0 +1,167 @@
|
||||
return {
|
||||
{
|
||||
'mfussenegger/nvim-dap',
|
||||
config = function()
|
||||
local dap = require("dap")
|
||||
dap.adapters.gdb = {
|
||||
type = "executable",
|
||||
command = "gdb",
|
||||
args = { "--interpreter=dap", "--eval-command", "set print pretty on" }
|
||||
}
|
||||
dap.configurations.c = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "gdb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = "${workspaceFolder}",
|
||||
},
|
||||
}
|
||||
dap.configurations.cpp = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "gdb",
|
||||
request = "launch",
|
||||
program = function()
|
||||
return vim.fn.input('Path to executable: ', vim.fn.getcwd() .. '/', 'file')
|
||||
end,
|
||||
cwd = "${workspaceFolder}",
|
||||
},
|
||||
}
|
||||
dap.configurations.matlab = {
|
||||
{
|
||||
name = "Launch",
|
||||
type = "matlab",
|
||||
request = "launch",
|
||||
program = "${file}",
|
||||
cwd = "${workspaceFolder}",
|
||||
rootDir = "${workspaceFolder}",
|
||||
},
|
||||
}
|
||||
dap.adapters.matlab = function(cb, config)
|
||||
cb({
|
||||
type = 'executable',
|
||||
command = 'matlab-language-server',
|
||||
args = { '--stdio' },
|
||||
options = {
|
||||
source_filetype = 'matlab',
|
||||
},
|
||||
})
|
||||
end
|
||||
dap.configurations.python = {
|
||||
{
|
||||
-- The first three options are required by nvim-dap
|
||||
type = 'python'; -- the type here established the link to the adapter definition: `dap.adapters.python`
|
||||
request = 'launch';
|
||||
name = "Launch file";
|
||||
|
||||
-- Options below are for debugpy, see https://github.com/microsoft/debugpy/wiki/Debug-configuration-settings for supported options
|
||||
|
||||
program = "${file}"; -- This configuration will launch the current file if used.
|
||||
pythonPath = function()
|
||||
-- debugpy supports launching an application with a different interpreter then the one used to launch debugpy itself.
|
||||
-- The code below looks for a `venv` or `.venv` folder in the current directly and uses the python within.
|
||||
-- You could adapt this - to for example use the `VIRTUAL_ENV` environment variable.
|
||||
local cwd = vim.fn.getcwd()
|
||||
if vim.fn.executable(cwd .. '/venv/bin/python') == 1 then
|
||||
return cwd .. '/venv/bin/python'
|
||||
elseif vim.fn.executable(cwd .. '/.venv/bin/python') == 1 then
|
||||
return cwd .. '/.venv/bin/python'
|
||||
else
|
||||
return '/usr/bin/python3'
|
||||
end
|
||||
end;
|
||||
}
|
||||
}
|
||||
dap.adapters.python = function(cb, config)
|
||||
if config.request == 'attach' then
|
||||
---@diagnostic disable-next-line: undefined-field
|
||||
local port = (config.connect or config).port
|
||||
---@diagnostic disable-next-line: undefined-field
|
||||
local host = (config.connect or config).host or '127.0.0.1'
|
||||
cb({
|
||||
type = 'server',
|
||||
port = assert(port, '`connect.port` is required for a python `attach` configuration'),
|
||||
host = host,
|
||||
options = {
|
||||
source_filetype = 'python',
|
||||
},
|
||||
})
|
||||
else
|
||||
cb({
|
||||
type = 'executable',
|
||||
command = '/home/kmcr/.virtualenvs/debugpy/bin/python',
|
||||
args = { '-m', 'debugpy.adapter' },
|
||||
options = {
|
||||
source_filetype = 'python',
|
||||
},
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
vim.keymap.set('n', '\\c', function() require("dap").continue() end, { noremap = true, silent = true, desc = "Continue" });
|
||||
vim.keymap.set('n', '\\b', function() require("dap").toggle_breakpoint() end, { noremap = true, silent = true, desc = "breakpoint toggle" });
|
||||
vim.keymap.set('n', '\\B', function() require("dap").set_breakpoint(vim.fn.input("Breakpoint condition: ")) end, { noremap = true, silent = true, desc = "conditional breakpoint" });
|
||||
vim.keymap.set('n', '\\n', function() require("dap").step_over() end, { noremap = true, silent = true, desc = "step over" });
|
||||
vim.keymap.set('n', '\\s', function() require("dap").step_into() end, { noremap = true, silent = true, desc = "step into" });
|
||||
vim.keymap.set('n', '\\u', function() require("dap").step_out() end, { noremap = true, silent = true, desc = "step out" });
|
||||
vim.keymap.set('n', '\\l', function() require("dap").run_last() end, { noremap = true, silent = true, desc = "run last" });
|
||||
end
|
||||
},
|
||||
{
|
||||
'rcarriga/nvim-dap-ui',
|
||||
dependencies = {
|
||||
'mfussenegger/nvim-dap',
|
||||
'nvim-neotest/nvim-nio'
|
||||
},
|
||||
config = function()
|
||||
local ui = require('dapui')
|
||||
local dap = require('dap')
|
||||
vim.keymap.set('n', '\\d', function()
|
||||
dap.continue()
|
||||
ui.toggle({})
|
||||
end, { noremap = true, silent = true, desc = "toggle UI" })
|
||||
vim.keymap.set('v', 'K', function() require("dapui").eval() end, { noremap = true, silent = true, desc = "eval val" })
|
||||
ui.setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
'theHamsta/nvim-dap-virtual-text',
|
||||
config = function()
|
||||
require("nvim-dap-virtual-text").setup{
|
||||
enabled = true, -- enable this plugin (the default)
|
||||
enabled_commands = true, -- create commands DapVirtualTextEnable, DapVirtualTextDisable, DapVirtualTextToggle, (DapVirtualTextForceRefresh for refreshing when debug adapter did not notify its termination)
|
||||
highlight_changed_variables = true, -- highlight changed values with NvimDapVirtualTextChanged, else always NvimDapVirtualText
|
||||
highlight_new_as_changed = false, -- highlight new variables in the same way as changed variables (if highlight_changed_variables)
|
||||
show_stop_reason = true, -- show stop reason when stopped for exceptions
|
||||
commented = false, -- prefix virtual text with comment string
|
||||
only_first_definition = true, -- only show virtual text at first definition (if there are multiple)
|
||||
all_references = false, -- show virtual text on all all references of the variable (not only definitions)
|
||||
clear_on_continue = false, -- clear virtual text on "continue" (might cause flickering when stepping)
|
||||
--- A callback that determines how a variable is displayed or whether it should be omitted
|
||||
--- @param variable Variable https://microsoft.github.io/debug-adapter-protocol/specification#Types_Variable
|
||||
--- @param buf number
|
||||
--- @param stackframe dap.StackFrame https://microsoft.github.io/debug-adapter-protocol/specification#Types_StackFrame
|
||||
--- @param node userdata tree-sitter node identified as variable definition of reference (see `:h tsnode`)
|
||||
--- @param options nvim_dap_virtual_text_options Current options for nvim-dap-virtual-text
|
||||
--- @return string|nil A text how the virtual text should be displayed or nil, if this variable shouldn't be displayed
|
||||
display_callback = function(variable, buf, stackframe, node, options)
|
||||
if options.virt_text_pos == 'inline' then
|
||||
return ' = ' .. variable.value
|
||||
else
|
||||
return variable.name .. ' = ' .. variable.value
|
||||
end
|
||||
end,
|
||||
-- position of virtual text, see `:h nvim_buf_set_extmark()`, default tries to inline the virtual text. Use 'eol' to set to end of line
|
||||
virt_text_pos = vim.fn.has 'nvim-0.10' == 1 and 'inline' or 'eol',
|
||||
|
||||
-- experimental features:
|
||||
all_frames = false, -- show virtual text for all stack frames not only current. Only works for debugpy on my machine.
|
||||
virt_lines = false, -- show virtual lines instead of virtual text (will flicker!)
|
||||
virt_text_win_col = nil, -- position the virtual text at a fixed window column (starting from the first text column)
|
||||
}
|
||||
end
|
||||
}
|
||||
}
|
||||
6
.config/nvim/lua/plugins/debugprint.lua
Normal file
6
.config/nvim/lua/plugins/debugprint.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
-- g?v print variable
|
||||
-- g?p print line
|
||||
'andrewferrier/debugprint.nvim',
|
||||
config = true,
|
||||
}
|
||||
94
.config/nvim/lua/plugins/devcontainer.lua
Normal file
94
.config/nvim/lua/plugins/devcontainer.lua
Normal file
@@ -0,0 +1,94 @@
|
||||
return {
|
||||
url = "https://codeberg.org/esensar/nvim-dev-container",
|
||||
opts = {
|
||||
config_search_start = function()
|
||||
-- By default this function uses vim.loop.cwd()
|
||||
-- This is used to find a starting point for .devcontainer.json file search
|
||||
-- Since by default, it is searched for recursively
|
||||
-- That behavior can also be disabled
|
||||
end,
|
||||
workspace_folder_provider = function()
|
||||
-- By default this function uses first workspace folder for integrated lsp if available and vim.loop.cwd() as a fallback
|
||||
-- This is used to replace `${localWorkspaceFolder}` in devcontainer.json
|
||||
-- Also used for creating default .devcontainer.json file
|
||||
end,
|
||||
terminal_handler = function(command)
|
||||
-- By default this function creates a terminal in a new tab using :terminal command
|
||||
-- It also removes statusline when that tab is active, to prevent double statusline
|
||||
-- It can be overridden to provide custom terminal handling
|
||||
end,
|
||||
nvim_installation_commands_provider = function(path_binaries, version_string)
|
||||
-- Returns table - list of commands to run when adding neovim to container
|
||||
-- Each command can either be a string or a table (list of command parts)
|
||||
-- Takes binaries available in path on current container and version_string passed to the command or current version of neovim
|
||||
end,
|
||||
devcontainer_json_template = function()
|
||||
-- Returns table - list of lines to set when creating new devcontainer.json files
|
||||
-- As a template
|
||||
-- Used only when using functions from commands module or created commands
|
||||
end,
|
||||
-- Can be set to false to prevent generating default commands
|
||||
-- Default commands are listed below
|
||||
generate_commands = true,
|
||||
-- By default no autocommands are generated
|
||||
-- This option can be used to configure automatic starting and cleaning of containers
|
||||
autocommands = {
|
||||
-- can be set to true to automatically start containers when devcontainer.json is available
|
||||
init = false,
|
||||
-- can be set to true to automatically remove any started containers and any built images when exiting vim
|
||||
clean = false,
|
||||
-- can be set to true to automatically restart containers when devcontainer.json file is updated
|
||||
update = false,
|
||||
},
|
||||
-- can be changed to increase or decrease logging from library
|
||||
log_level = "info",
|
||||
-- can be set to true to disable recursive search
|
||||
-- in that case only .devcontainer.json and .devcontainer/devcontainer.json files will be checked relative
|
||||
-- to the directory provided by config_search_start
|
||||
disable_recursive_config_search = false,
|
||||
-- can be set to false to disable image caching when adding neovim
|
||||
-- by default it is set to true to make attaching to containers faster after first time
|
||||
cache_images = true,
|
||||
-- By default all mounts are added (config, data and state)
|
||||
-- This can be changed to disable mounts or change their options
|
||||
-- This can be useful to mount local configuration
|
||||
-- And any other mounts when attaching to containers with this plugin
|
||||
attach_mounts = {
|
||||
neovim_config = {
|
||||
-- enables mounting local config to /root/.config/nvim in container
|
||||
enabled = false,
|
||||
-- makes mount readonly in container
|
||||
options = { "readonly" }
|
||||
},
|
||||
neovim_data = {
|
||||
-- enables mounting local data to /root/.local/share/nvim in container
|
||||
enabled = false,
|
||||
-- no options by default
|
||||
options = {}
|
||||
},
|
||||
-- Only useful if using neovim 0.8.0+
|
||||
neovim_state = {
|
||||
-- enables mounting local state to /root/.local/state/nvim in container
|
||||
enabled = false,
|
||||
-- no options by default
|
||||
options = {}
|
||||
},
|
||||
},
|
||||
-- This takes a list of mounts (strings) that should always be added to every run container
|
||||
-- This is passed directly as --mount option to docker command
|
||||
-- Or multiple --mount options if there are multiple values
|
||||
always_mount = {},
|
||||
-- This takes a string (usually either "podman" or "docker") representing container runtime - "devcontainer-cli" is also partially supported
|
||||
-- That is the command that will be invoked for container operations
|
||||
-- If it is nil, plugin will use whatever is available (trying "podman" first)
|
||||
container_runtime = nil,
|
||||
-- Similar to container runtime, but will be used if main runtime does not support an action - useful for "devcontainer-cli"
|
||||
backup_runtime = nil,
|
||||
-- This takes a string (usually either "podman-compose" or "docker-compose") representing compose command - "devcontainer-cli" is also partially supported
|
||||
-- That is the command that will be invoked for compose operations
|
||||
-- If it is nil, plugin will use whatever is available (trying "podman-compose" first)
|
||||
compose_command = nil,
|
||||
-- Similar to compose command, but will be used if main command does not support an action - useful for "devcontainer-cli"
|
||||
backup_compose_command = nil,
|
||||
}
|
||||
}
|
||||
4
.config/nvim/lua/plugins/diffview.lua
Normal file
4
.config/nvim/lua/plugins/diffview.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
"sindrets/diffview.nvim",
|
||||
cmd = { "DiffviewFileHistory", "DiffviewOpen"}
|
||||
}
|
||||
6
.config/nvim/lua/plugins/digraphs.lua
Normal file
6
.config/nvim/lua/plugins/digraphs.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'protex/better-digraphs.nvim',
|
||||
config = function()
|
||||
vim.keymap.set('i', '<C-k>d', '<cmd>lua require("better-digraphs").digraphs("i")<cr>', { noremap = true, silent = true})
|
||||
end
|
||||
}
|
||||
6
.config/nvim/lua/plugins/doxygen.lua
Normal file
6
.config/nvim/lua/plugins/doxygen.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'kkoomen/vim-doge',
|
||||
config = function()
|
||||
vim.cmd([[ let g:doge_doxygen_settings = { 'char': '@' } ]])
|
||||
end
|
||||
}
|
||||
6
.config/nvim/lua/plugins/dressing.lua
Normal file
6
.config/nvim/lua/plugins/dressing.lua
Normal file
@@ -0,0 +1,6 @@
|
||||
return {
|
||||
'stevearc/dressing.nvim',
|
||||
enabled = true,
|
||||
opts = {
|
||||
}
|
||||
}
|
||||
9
.config/nvim/lua/plugins/femaco.lua
Normal file
9
.config/nvim/lua/plugins/femaco.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
'AckslD/nvim-FeMaco.lua',
|
||||
config = function()
|
||||
require('femaco').setup()
|
||||
vim.keymap.set('n', '<leader>!', '<cmd>FeMaco<cr>', { noremap = true, silent = true })
|
||||
end,
|
||||
cmd = { "FeMaco" },
|
||||
keys = { "<leader>!" }
|
||||
}
|
||||
14
.config/nvim/lua/plugins/firenvim.lua
Normal file
14
.config/nvim/lua/plugins/firenvim.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
'glacambre/firenvim',
|
||||
build = ":call firenvim#install(0)",
|
||||
config = function()
|
||||
vim.api.nvim_create_autocmd({'UIEnter'}, {
|
||||
callback = function(event)
|
||||
local client = vim.api.nvim_get_chan_info(vim.v.event.chan).client
|
||||
if client ~= nil and client.name == "Firenvim" then
|
||||
vim.o.laststatus = 0
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
}
|
||||
7
.config/nvim/lua/plugins/focus.lua
Normal file
7
.config/nvim/lua/plugins/focus.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {{
|
||||
"Pocco81/true-zen.nvim",
|
||||
--"junegunn/goyo.vim",
|
||||
},
|
||||
{
|
||||
"nullchilly/fsread.nvim",
|
||||
}}
|
||||
84
.config/nvim/lua/plugins/fold.lua
Normal file
84
.config/nvim/lua/plugins/fold.lua
Normal file
@@ -0,0 +1,84 @@
|
||||
-- return {
|
||||
-- 'anuvyklack/pretty-fold.nvim',
|
||||
-- config = function()
|
||||
-- require('pretty-fold').setup()
|
||||
-- require('pretty-fold').ft_setup('cpp', {
|
||||
-- process_comment_signs = false,
|
||||
-- --comment_signs = {
|
||||
-- -- '//', -- C++ Doxygen comments
|
||||
-- --},
|
||||
-- })
|
||||
-- end
|
||||
-- },
|
||||
-- {
|
||||
-- 'anuvyklack/fold-preview.nvim',
|
||||
-- dependencies = 'anuvyklack/keymap-amend.nvim',
|
||||
-- config = function()
|
||||
-- require('fold-preview').setup({
|
||||
-- -- Your configuration goes here.
|
||||
-- })
|
||||
-- end
|
||||
-- },
|
||||
|
||||
|
||||
return
|
||||
{
|
||||
{
|
||||
"chrisgrieser/nvim-origami",
|
||||
event = "BufReadPost", -- later or on keypress would prevent saving folds
|
||||
opts = {
|
||||
keepFoldsAcrossSessions = false,
|
||||
},
|
||||
enabled = false
|
||||
}, {
|
||||
"kevinhwang91/nvim-ufo",
|
||||
dependencies = {
|
||||
"kevinhwang91/promise-async"
|
||||
},
|
||||
config = function()
|
||||
local handler = function(virtText, lnum, endLnum, width, truncate)
|
||||
local newVirtText = {}
|
||||
local suffix = (' %d '):format(endLnum - lnum)
|
||||
local sufWidth = vim.fn.strdisplaywidth(suffix)
|
||||
local targetWidth = width - sufWidth
|
||||
local curWidth = 0
|
||||
for _, chunk in ipairs(virtText) do
|
||||
local chunkText = chunk[1]
|
||||
local chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
||||
if targetWidth > curWidth + chunkWidth then
|
||||
table.insert(newVirtText, chunk)
|
||||
else
|
||||
chunkText = truncate(chunkText, targetWidth - curWidth)
|
||||
local hlGroup = chunk[2]
|
||||
table.insert(newVirtText, {chunkText, hlGroup})
|
||||
chunkWidth = vim.fn.strdisplaywidth(chunkText)
|
||||
-- str width returned from truncate() may less than 2nd argument, need padding
|
||||
if curWidth + chunkWidth < targetWidth then
|
||||
suffix = suffix .. (' '):rep(targetWidth - curWidth - chunkWidth)
|
||||
end
|
||||
break
|
||||
end
|
||||
curWidth = curWidth + chunkWidth
|
||||
end
|
||||
table.insert(newVirtText, {suffix, 'MoreMsg'})
|
||||
return newVirtText
|
||||
end
|
||||
|
||||
vim.cmd [[
|
||||
hi default UfoFoldedFg guifg=Normal.foreground
|
||||
hi default UfoFoldedBg guibg=Visual.background
|
||||
hi default link UfoPreviewSbar PmenuSbar
|
||||
hi default link UfoPreviewThumb PmenuThumb
|
||||
hi default link UfoPreviewWinBar UfoFoldedBg
|
||||
hi default link UfoPreviewCursorLine Visual
|
||||
hi default link UfoFoldedEllipsis Visual
|
||||
hi default link UfoCursorFoldedLine Normal
|
||||
hi Folded gui=NONE guibg=Normal.background
|
||||
]]
|
||||
|
||||
require("ufo").setup({
|
||||
fold_virt_text_handler = handler
|
||||
})
|
||||
end
|
||||
}
|
||||
}
|
||||
50
.config/nvim/lua/plugins/fterm.lua
Normal file
50
.config/nvim/lua/plugins/fterm.lua
Normal file
@@ -0,0 +1,50 @@
|
||||
return {
|
||||
'numToStr/FTerm.nvim',
|
||||
config = function()
|
||||
require('FTerm').setup({
|
||||
-- Filetype of the terminal buffer
|
||||
ft = 'FTerm',
|
||||
|
||||
-- Command to run inside the terminal. It could be a `string` or `table`
|
||||
cmd = os.getenv('SHELL'),
|
||||
|
||||
-- Neovim's native window border. See `:h nvim_open_win` for more configuration options.
|
||||
border = 'double',
|
||||
|
||||
-- Close the terminal as soon as shell/command exits.
|
||||
-- Disabling this will mimic the native terminal behaviour.
|
||||
auto_close = true,
|
||||
|
||||
-- Highlight group for the terminal. See `:h winhl`
|
||||
hl = 'Normal',
|
||||
|
||||
-- Transparency of the floating window. See `:h winblend`
|
||||
blend = 0,
|
||||
|
||||
-- Object containing the terminal window dimensions.
|
||||
-- The value for each field should be between `0` and `1`
|
||||
dimensions = {
|
||||
height = 0.9, -- Height of the terminal window
|
||||
width = 0.9, -- Width of the terminal window
|
||||
x = 0.5, -- X axis of the terminal window
|
||||
y = 0.5, -- Y axis of the terminal window
|
||||
},
|
||||
|
||||
-- Callback invoked when the terminal exits.
|
||||
-- See `:h jobstart-options`
|
||||
on_exit = nil,
|
||||
|
||||
-- Callback invoked when the terminal emits stdout data.
|
||||
-- See `:h jobstart-options`
|
||||
on_stdout = nil,
|
||||
|
||||
-- Callback invoked when the terminal emits stderr data.
|
||||
-- See `:h jobstart-options`
|
||||
on_stderr = nil,
|
||||
})
|
||||
|
||||
vim.keymap.set('n', '<leader>i', '<cmd>lua require("FTerm").toggle()<CR>', { noremap = true, silent = true })
|
||||
vim.keymap.set('t', '<leader>i', '<cmd>lua require("FTerm").toggle()<CR>', { noremap = true, silent = true })
|
||||
end,
|
||||
enabled = false
|
||||
}
|
||||
3
.config/nvim/lua/plugins/fugitive.lua
Normal file
3
.config/nvim/lua/plugins/fugitive.lua
Normal file
@@ -0,0 +1,3 @@
|
||||
return {
|
||||
"tpope/vim-fugitive",
|
||||
}
|
||||
7
.config/nvim/lua/plugins/garbage-day.lua
Normal file
7
.config/nvim/lua/plugins/garbage-day.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'zeioth/garbage-day.nvim',
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
wakeup_delay = 5000
|
||||
}
|
||||
}
|
||||
28
.config/nvim/lua/plugins/gen.lua
Normal file
28
.config/nvim/lua/plugins/gen.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
return {
|
||||
"David-Kunz/gen.nvim",
|
||||
opts = {
|
||||
--model = "codellama:code", -- The default model to use.
|
||||
model = "gemma2:9b", -- The default model to use.
|
||||
host = "batman.local", -- The host running the Ollama service.
|
||||
port = "11434", -- The port on which the Ollama service is listening.
|
||||
quit_map = "q", -- set keymap for closing the response window
|
||||
retry_map = "<c-r>", -- set keymap to re-send the current prompt
|
||||
init = function(options) pcall(io.popen, "ollama serve > /dev/null 2>&1 &") end,
|
||||
-- Function to initialize Ollama
|
||||
command = function(options)
|
||||
local body = { model = options.model, stream = true }
|
||||
return "curl --silent --no-buffer -X POST http://" .. options.host .. ":" .. options.port .. "/api/chat -d $body"
|
||||
end,
|
||||
-- The command for the Ollama service. You can use placeholders $prompt, $model and $body (shellescaped).
|
||||
-- This can also be a command string.
|
||||
-- The executed command must return a JSON object with { response, context }
|
||||
-- (context property is optional).
|
||||
-- list_models = '<omitted lua function>', -- Retrieves a list of model names
|
||||
display_mode = "float", -- The display mode. Can be "float" or "split".
|
||||
show_prompt = false, -- Shows the Prompt submitted to Ollama.
|
||||
show_model = false, -- Displays which model you are using at the beginning of your chat session.
|
||||
no_auto_close = false, -- Never closes the window automatically.
|
||||
debug = false -- Prints errors and the command which is run.
|
||||
},
|
||||
enabled = false
|
||||
}
|
||||
5
.config/nvim/lua/plugins/git-dev.lua
Normal file
5
.config/nvim/lua/plugins/git-dev.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
"moyiz/git-dev.nvim",
|
||||
lazy = true,
|
||||
cmd = { "GitDevOpen", "GitDevCleanAll" }, opts = {},
|
||||
}
|
||||
24
.config/nvim/lua/plugins/gitlinker.lua
Normal file
24
.config/nvim/lua/plugins/gitlinker.lua
Normal file
@@ -0,0 +1,24 @@
|
||||
return {
|
||||
'linrongbin16/gitlinker.nvim',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim'
|
||||
},
|
||||
config = function()
|
||||
require('gitlinker').setup({
|
||||
router = {
|
||||
browse = {
|
||||
-- example: ssh://git@git.viessmann.com:7999/sysfunc/efmclib.git
|
||||
["^git%.viessmann%.com"] = "https://git.viessmann.com/projects/"
|
||||
.. "{_A.USER}/repos/"
|
||||
.. "{_A.REPO}/browse/"
|
||||
.. "{_A.FILE}"
|
||||
.. "#{_A.LSTART}"
|
||||
.. "{(_A.LEND > _A.LSTART and ('-' .. _A.LEND) or '')}",
|
||||
}
|
||||
},
|
||||
debug = true,
|
||||
file_log = true,
|
||||
})
|
||||
end,
|
||||
cmd = "GitLink"
|
||||
}
|
||||
101
.config/nvim/lua/plugins/gitsigns.lua
Normal file
101
.config/nvim/lua/plugins/gitsigns.lua
Normal file
@@ -0,0 +1,101 @@
|
||||
return {
|
||||
'lewis6991/gitsigns.nvim',
|
||||
opts = {
|
||||
-- signs = {
|
||||
-- add = {hl = 'GitSignsAdd' , text = '+', numhl='GitSignsAddNr' , linehl='GitSignsAddLn'},
|
||||
-- change = {hl = 'GitSignsChange', text = '│', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
-- delete = {hl = 'GitSignsDelete', text = '_', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
-- topdelete = {hl = 'GitSignsDelete', text = '‾', numhl='GitSignsDeleteNr', linehl='GitSignsDeleteLn'},
|
||||
-- changedelete = {hl = 'GitSignsChange', text = '~', numhl='GitSignsChangeNr', linehl='GitSignsChangeLn'},
|
||||
-- },
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
--keymaps = {
|
||||
-- -- Default keymap options
|
||||
-- noremap = true,
|
||||
|
||||
-- ['n ]c'] = { expr = true, "&diff ? ']c' : '<cmd>Gitsigns next_hunk<CR>'"},
|
||||
-- ['n [c'] = { expr = true, "&diff ? '[c' : '<cmd>Gitsigns prev_hunk<CR>'"},
|
||||
|
||||
-- ['n <leader>hs'] = '<cmd>Gitsigns stage_hunk<CR>',
|
||||
-- ['v <leader>hs'] = '<cmd>Gitsigns stage_hunk<CR>',
|
||||
-- ['n <leader>hu'] = '<cmd>Gitsigns undo_stage_hunk<CR>',
|
||||
-- ['n <leader>hr'] = '<cmd>Gitsigns reset_hunk<CR>',
|
||||
-- ['v <leader>hr'] = '<cmd>:Gitsigns reset_hunk<CR>',
|
||||
-- ['n <leader>hR'] = '<cmd>Gitsigns reset_buffer<CR>',
|
||||
-- ['n <leader>hp'] = '<cmd>Gitsigns preview_hunk<CR>',
|
||||
-- ['n <leader>hb'] = '<cmd>lua require"gitsigns".blame_line{full=true}<CR>',
|
||||
-- ['n <leader>hS'] = '<cmd>Gitsigns stage_buffer<CR>',
|
||||
-- ['n <leader>hU'] = '<cmd>Gitsigns reset_buffer_index<CR>',
|
||||
|
||||
-- -- Text objects
|
||||
-- ['o ih'] = '<cmd><C-U>Gitsigns select_hunk<CR>',
|
||||
-- ['x ih'] = '<cmd><C-U>Gitsigns select_hunk<CR>'
|
||||
--},
|
||||
on_attach = function(bufnr)
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
local function map(mode, l, r, opts)
|
||||
opts = opts or {}
|
||||
opts.buffer = bufnr
|
||||
vim.keymap.set(mode, l, r, opts)
|
||||
end
|
||||
|
||||
-- Navigation
|
||||
map('n', ']c', function()
|
||||
if vim.wo.diff then return ']c' end
|
||||
vim.schedule(function() gs.next_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, {expr=true})
|
||||
|
||||
map('n', '[c', function()
|
||||
if vim.wo.diff then return '[c' end
|
||||
vim.schedule(function() gs.prev_hunk() end)
|
||||
return '<Ignore>'
|
||||
end, {expr=true})
|
||||
|
||||
-- Actions
|
||||
map({'n', 'v'}, '<leader>hs', '<cmd>Gitsigns stage_hunk<CR>')
|
||||
map({'n', 'v'}, '<leader>hr', '<cmd>Gitsigns reset_hunk<CR>')
|
||||
map('n', '<leader>hS', gs.stage_buffer)
|
||||
map('n', '<leader>hu', gs.undo_stage_hunk)
|
||||
map('n', '<leader>hR', gs.reset_buffer)
|
||||
map('n', '<leader>hp', gs.preview_hunk)
|
||||
map('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
||||
map('n', '<leader>tb', gs.toggle_current_line_blame)
|
||||
map('n', '<leader>hd', gs.diffthis)
|
||||
map('n', '<leader>hD', function() gs.diffthis('~') end)
|
||||
map('n', '<leader>td', gs.toggle_deleted)
|
||||
|
||||
-- Text object
|
||||
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||
end,
|
||||
|
||||
watch_gitdir = {
|
||||
interval = 1000,
|
||||
follow_files = true
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 2000,
|
||||
ignore_whitespace = true,
|
||||
},
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 4000,
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = 'single',
|
||||
style = 'minimal',
|
||||
relative = 'cursor',
|
||||
row = 0,
|
||||
col = 1
|
||||
},
|
||||
}
|
||||
}
|
||||
16
.config/nvim/lua/plugins/godbolt.lua
Normal file
16
.config/nvim/lua/plugins/godbolt.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
return {
|
||||
url = "https://git.sr.ht/~p00f/godbolt.nvim",
|
||||
opts = {
|
||||
languages = {
|
||||
cpp = { compiler = "g122", options = {} },
|
||||
c = { compiler = "cg122", options = {} },
|
||||
rust = { compiler = "r1650", options = {} },
|
||||
-- any_additional_filetype = { compiler = ..., options = ... },
|
||||
},
|
||||
quickfix = {
|
||||
enable = false, -- whether to populate the quickfix list in case of errors
|
||||
auto_open = false -- whether to open the quickfix list in case of errors
|
||||
},
|
||||
url = "https://godbolt.org" -- can be changed to a different godbolt instance
|
||||
}
|
||||
}
|
||||
5
.config/nvim/lua/plugins/gptmodels.lua
Normal file
5
.config/nvim/lua/plugins/gptmodels.lua
Normal file
@@ -0,0 +1,5 @@
|
||||
return {
|
||||
'Aaronik/GPTModels.nvim',
|
||||
config = true,
|
||||
enabled = false
|
||||
}
|
||||
7
.config/nvim/lua/plugins/hardtime.lua
Normal file
7
.config/nvim/lua/plugins/hardtime.lua
Normal file
@@ -0,0 +1,7 @@
|
||||
return {
|
||||
'm4xshen/hardtime.nvim',
|
||||
dependencies = { "MunifTanjim/nui.nvim" },
|
||||
opts = {
|
||||
},
|
||||
enabled = false
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user