Compare commits

...

92 Commits

Author SHA1 Message Date
09bb156e47 Merge stash 2025-12-07 00:46:32 +01:00
Robert Kmiec
1437d1826e Nvim: update config for lsp and add few minor plugins 2025-12-05 10:46:37 +00:00
Robert Kmieć
2aa4027f9d Nvim: add two new plugins hardtime, yadm 2025-06-28 23:55:49 +02:00
Robert Kmieć
704a095798 Nvim: add minuet and some other stuff 2025-06-12 22:43:41 +02:00
Robert Kmieć
04bdd470fd Git: Improve defaults 2025-06-12 22:43:41 +02:00
Robert Kmieć
3e2ee388e6 Awesome: add some minor adjustment to workflow 2025-06-12 22:43:41 +02:00
Robert Kmieć
ee2bbcf84f Nvim: add new shadow colorscheme 2025-04-23 21:56:21 +02:00
Robert Kmieć
c665c5ba37 Nvim: Update all plugins 2025-04-23 01:37:19 +02:00
Robert Kmieć
43e7fb01f5 Git: add gitmessage to gitignore 2025-04-23 01:32:05 +02:00
Robert Kmieć
6f0948c365 Nvim: improve blink and inlay hints, add heirline 2025-02-07 11:38:51 +01:00
Robert Kmieć
ec21773823 Nvim: add back codecompanion and add replace (Subvert) 2025-02-07 11:37:42 +01:00
Robert Kmieć
4ebfe540ad Nvim: use blink instead of cmp 2025-01-10 11:10:51 +01:00
Robert Kmieć
f6ecd9592c Nvim: use proper branches for colorschemes
disable image.nvim
2024-09-23 22:10:56 +02:00
Robert Kmieć
fcecb7f575 Nvim: update treesitter and use themify 2024-09-06 09:36:15 +02:00
Robert Kmieć
801ba0dfdf Nvim: new pugins + some disabled ones
Some experiments with AI
2024-08-06 23:55:21 +02:00
Robert Kmieć
0daaf4add5 Nvim: replace neodev with lazydev 2024-06-06 22:51:44 +02:00
Robert Kmieć
14cf97683d Nvim: minor tweaks for multiple plugins, better folds 2024-06-03 23:36:36 +02:00
Robert Kmieć
27eda40ccb Nvim: new plugins 2024-06-03 23:34:22 +02:00
Robert Kmieć
063a693f19 Nvim: switch from nvim-cmp to epo 2024-05-23 00:13:18 +02:00
Robert Kmieć
6cfad76308 Nvim: add git-dev 2024-05-22 23:49:24 +02:00
Robert Kmieć
6e13939c5b Nvim: minor cmake and telescope changes 2024-04-22 23:54:16 +02:00
Robert Kmieć
cd711ea4bf Nvim: add new note taking candidates 2024-04-22 23:52:55 +02:00
Robert Kmieć
388d2b0b30 Picom: sync config with mainstream 2024-03-29 09:34:37 +01:00
Robert Kmieć
687646da32 Nvim: many small changes around whole project 2024-03-29 09:33:27 +01:00
Robert Kmieć
a2832ed454 Nvim: add treesj and tmux
tmux integration doesn't work yet
2024-03-29 09:31:07 +01:00
Robert Kmieć
e67379b132 Nvim: use oil instead of nvim-tree, add screensaver 2024-03-29 09:25:49 +01:00
Robert Kmieć
157d72fe33 Fish: only load colors if they are defined 2024-03-03 23:43:43 +01:00
Robert Kmieć
d37d2c2493 Nvim: VeryLazy load telescope and which-key 2024-03-03 23:38:16 +01:00
Robert Kmieć
4bd5c09035 Nvim: add new plugins 2024-02-29 23:25:41 +01:00
Robert Kmieć
05e8624509 Gdb: ignore c++12 std 2024-02-26 12:58:15 +01:00
Robert Kmieć
fc417a90fd Git: moultiple improvements (mostly optimization) 2024-02-26 12:57:34 +01:00
Robert Kmieć
373581fd36 Vim: simplify config 2024-02-26 12:57:07 +01:00
Robert Kmieć
c55b301dc4 Nvim: update most of the plugins 2024-02-26 12:51:21 +01:00
Robert Kmieć
71f71cb3ce Alacritty: remove old yaml file 2024-02-26 12:49:40 +01:00
Robert Kmieć
0acc861edd Nvim: add dap, tshjkl bindings, working gitlinker 2023-11-28 23:23:34 +01:00
Robert Kmieć
dbc1095cb4 Nvim: update plugins with newer maintainers 2023-11-20 10:30:28 +01:00
Robert Kmieć
050795801f Nvim: csv and action preview 2023-10-29 23:16:16 +01:00
Robert Kmieć
c436875e4b Nvim: update all plugins to used ones, disable unused 2023-10-19 23:47:02 +02:00
Robert Kmieć
ec0ae0ee13 Nvim: add new plugins, optimize old 2023-09-23 01:21:02 +02:00
Robert Kmieć
48b7bcbf4f Fish: add bc alias 2023-09-23 01:19:25 +02:00
Robert Kmieć
8723c409b6 xbindkeys: remove chromium from ingore list 2023-09-23 01:09:06 +02:00
Robert Kmieć
3ceeb5b7fb Nvim: optimize config 2023-09-23 01:06:21 +02:00
Robert Kmieć
3729e67247 Git: add few bits to improve mergetool and diff 2023-08-17 23:44:27 +02:00
Robert Kmieć
89b4343ca1 Nvim: add missing files for various plugins 2023-08-17 23:43:39 +02:00
Robert Kmieć
0db7f3a9c2 Nvim: update clangd_extensions with new config format 2023-08-08 10:04:36 +02:00
Robert Kmieć
8e017728d2 Nvim: optimize startup time 2023-08-02 10:52:41 +02:00
Robert Kmieć
0bb033cca0 Nvim: add colorschemes file 2023-08-02 10:52:07 +02:00
Robert Kmieć
e254e6e313 Nvim: further cleanup 2023-07-24 11:01:08 +02:00
Robert Kmieć
55cc17b86a Nvim: remove unused modules, update configs 2023-07-24 11:00:32 +02:00
Robert Kmieć
9f04f73f5e Fish: fix completion path 2023-07-24 10:57:38 +02:00
Robert Kmieć
a1e245f38c Awesome: fix floating toggle 2023-07-24 10:56:09 +02:00
Robert Kmieć
d933a42841 Alacritty: sync list of themes 2023-07-24 10:55:20 +02:00
Robert Kmieć
64e3bfcf63 Nvim: enable neorg properly 2023-05-23 11:44:23 +02:00
Robert Kmieć
c4a1e560ed Nvim: disable silicon 2023-05-23 11:41:24 +02:00
Robert Kmieć
ebfb84e7fe Nvim: remove null-ls completion spell 2023-05-11 12:08:44 +02:00
Robert Kmieć
7253772baa Rofi: use new colorscheme 2023-05-09 23:20:49 +02:00
Robert Kmieć
90378c1a75 Nvim: update plugins config to 0.10.0 version 2023-05-09 23:20:03 +02:00
Robert Kmieć
44d1da2188 Fish: print directory content on cd 2023-05-09 23:19:30 +02:00
Robert Kmieć
00f8c3a002 alacritty/awesome: update fonts and colosrcheme 2023-05-09 23:18:53 +02:00
Robert Kmieć
08e34a3227 X: adjust font and colorscheme 2023-05-09 23:17:45 +02:00
Robert Kmieć
05c22419bd Nvim: navbuddy, menufacture (C-o), no virtual diag 2023-04-05 09:50:51 +02:00
Robert Kmieć
8dd3f1942b Nvim: add new plugins 2023-04-04 00:53:51 +02:00
Robert Kmieć
bff439a6c6 Awesome: first awesome config 2023-04-04 00:50:23 +02:00
Robert Kmieć
593d27f333 Nvim: add nvim-buddy 2023-04-02 23:16:37 +02:00
Robert Kmieć
2acb8c969d Fish: fix lsd aliases 2023-03-29 00:07:04 +02:00
Robert Kmieć
0b566445a1 Fish: switch from exa to lsd 2023-03-29 00:03:13 +02:00
Robert Kmieć
dd12fee249 Nvim: optimize config, change colorscheme to kanagawa 2023-03-23 09:00:08 +01:00
Robert Kmieć
f1e79ee50e Alacritty: sync with latest master branch 2023-03-23 09:00:08 +01:00
Robert Kmieć
a8dc526720 Fish: packer -> lazy small cleanup 2023-03-20 22:45:21 +01:00
Robert Kmieć
535acc9e4d Nvim: add init.lua file 2023-03-01 22:11:41 +01:00
Robert Kmieć
d1dbfe720d Nvim: initialize leap in lua script 2023-02-16 10:40:24 +01:00
Robert Kmieć
f327679ca9 nvim: move to lazy package manager 2023-02-14 14:43:11 +01:00
Robert Kmieć
cf374dbbb5 fix everything after merge 2023-01-24 00:24:24 +01:00
Robert Kmieć
d3168cf44e Nvim: luify config 2023-01-23 23:40:26 +01:00
Robert Kmieć
4ecf4cda2d Fish: use bat instead of cat if available 2023-01-23 23:38:07 +01:00
Robert Kmieć
8718d88f83 Alacritty: sync with latest upstream 2023-01-23 23:37:30 +01:00
Robert Kmieć
c9e0347a5d Fish: optionally add broot alias 2023-01-22 00:27:59 +01:00
Robert Kmieć
e702769f39 Nvim: switch to packer from Plug 2023-01-22 00:25:36 +01:00
Robert Kmieć
b240029029 Vim: remove coc from config 2022-12-30 11:53:20 +01:00
Robert Kmieć
6d2af89197 Nvim: move config to lua, first step 2022-12-30 11:52:52 +01:00
Robert Kmieć
f377e88a6c Alacirtty: change the look of the window and fonts 2022-12-20 23:28:39 +01:00
Robert Kmieć
711e07c8d5 Nvim: add noneckpain and telescope undo 2022-12-19 23:21:03 +01:00
Robert Kmieć
1fd54c55ba Nvim: marksman + some plugins reordering 2022-12-16 00:29:56 +01:00
Robert Kmieć
68774a8c80 Nvim: move to nvim-cmp 2022-12-12 01:11:27 +01:00
Robert Kmieć
ba30d83f9e Alacritty: adapt font and colors to falcon
<BODY>

Jira: FAD-
2022-12-06 01:21:52 +01:00
Robert Kmieć
ab7595214f Nvim: restructure all plugins configuration 2022-12-06 01:19:27 +01:00
Robert Kmieć
2b5a09d902 merge with master 2022-12-06 01:15:25 +01:00
Robert Kmieć
9e32359f2d Rofi: switch to srcery scheme 2022-12-06 01:09:31 +01:00
Robert Kmieć
e73ffa5e75 Gdb: ignore c++ standard libraries when debugging 2022-12-06 01:09:31 +01:00
Robert Kmieć
b1a6b49f99 Fish: add pdf alias for zathura 2022-12-06 01:09:31 +01:00
Robert Kmieć
b27b0cce5a Alacritty: sync with latest version 2022-12-06 01:09:31 +01:00
Robert Kmieć
dcba4841fd Urxvt: change fonts to ibm plex mono 2022-12-06 01:09:31 +01:00
172 changed files with 5668 additions and 2781 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1 @@
themes/srcery.lua

641
.config/awesome/rc.lua Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 KiB

View 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

View 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

View File

@@ -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

View File

@@ -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

View File

@@ -1,2 +1,3 @@
.ackrc
.notags
.gitmessage

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -1 +0,0 @@
../spell.vim

View File

@@ -1,3 +0,0 @@
setlocal spell
" Undo changes when switching to different buffer
"let b:undo_ftplugin .= '|setlocal spell<'

View File

@@ -1 +0,0 @@
../spell.vim

View File

@@ -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

View File

@@ -1 +0,0 @@
require('Comment').setup()

View File

@@ -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,
}
}

View File

@@ -1 +0,0 @@
require('crates').setup()

View File

@@ -1 +0,0 @@
inoremap <C-k><C-k> <Cmd>lua require'betterdigraphs'.digraphs("i")<CR>

View File

@@ -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,
},
})

View File

@@ -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>')

View File

@@ -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
},
}

View File

@@ -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>

View File

@@ -1,5 +0,0 @@
require("icon-picker")
local opts = { noremap = true, silent = true }
vim.keymap.set("n", "<leader>o", "<cmd>PickIcons<cr>", opts)

View File

@@ -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",
},
}

View File

@@ -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)

View File

@@ -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

View File

@@ -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()

View File

@@ -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

View File

@@ -1 +0,0 @@
let g:mkdp_filetypes = ['markdown', 'plantuml']

View File

@@ -1,13 +0,0 @@
require('neorg').setup {
load = {
["core.defaults"] = {}
},
["core.norg.dirman"] = {
config = {
workspaces = {
work = "~/notes/work",
home = "~/notes/home",
}
}
}
}

View File

@@ -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
-- })

View File

@@ -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()

View File

@@ -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

View File

@@ -1,2 +0,0 @@
let g:vim_search_pulse_mode = 'pattern'
let g:vim_search_pulse_duration = 400

View File

@@ -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()

View File

@@ -1 +0,0 @@
let g:startify_custom_header = ''

View File

@@ -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>

View File

@@ -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' },
},
})

View File

@@ -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()"

View File

@@ -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()

View File

@@ -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>"

View File

@@ -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

View File

@@ -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"

View File

@@ -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
View File

@@ -0,0 +1,4 @@
require('core.config')
require('core.plugins')
require('core.mappings')
require('core.autocmd')

View File

@@ -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"

View File

@@ -0,0 +1,3 @@
{
"workspace.checkThirdParty": false
}

View 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,
})

View 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

View 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)

View 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'
-- }
-- })

View File

@@ -0,0 +1,6 @@
return {
"aznhe21/actions-preview.nvim",
config = function()
vim.keymap.set({ "v", "n" }, "gra", require("actions-preview").code_actions)
end,
}

View 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,
},
}
}

View File

@@ -0,0 +1,5 @@
return {
"yutkat/git-rebase-auto-diff.nvim",
ft = { "gitrebase" },
opts = {},
}

View 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",
},
}
}

View File

@@ -0,0 +1,4 @@
return {
'kergoth/vim-bitbake', -- Bitbake templates and syntax
ft = { 'bitbake' }
}

View 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
}

View 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
} }

View File

@@ -0,0 +1,7 @@
return {
"HampusHauffman/block.nvim",
enabled = false,
config = function()
require("block").setup({})
end
}

View 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
}

View 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,
},
},
}
}

View 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
}

View 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
}

View 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
}

View 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
}

View 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
},
}}

View File

@@ -0,0 +1,4 @@
return {
'krady21/compiler-explorer.nvim',
config = true
}

View 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
}

View 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
}

View File

@@ -0,0 +1,6 @@
return {
'Saecki/crates.nvim',
dependencies = 'jose-elias-alvarez/null-ls.nvim',
config = true,
ft = { "rust", "toml" }
}

View 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
}}

View 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
}
}

View 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
}
}

View File

@@ -0,0 +1,6 @@
return {
-- g?v print variable
-- g?p print line
'andrewferrier/debugprint.nvim',
config = true,
}

View 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,
}
}

View File

@@ -0,0 +1,4 @@
return {
"sindrets/diffview.nvim",
cmd = { "DiffviewFileHistory", "DiffviewOpen"}
}

View 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
}

View File

@@ -0,0 +1,6 @@
return {
'kkoomen/vim-doge',
config = function()
vim.cmd([[ let g:doge_doxygen_settings = { 'char': '@' } ]])
end
}

View File

@@ -0,0 +1,6 @@
return {
'stevearc/dressing.nvim',
enabled = true,
opts = {
}
}

View 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>!" }
}

View 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
}

View File

@@ -0,0 +1,7 @@
return {{
"Pocco81/true-zen.nvim",
--"junegunn/goyo.vim",
},
{
"nullchilly/fsread.nvim",
}}

View 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
}
}

View 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
}

View File

@@ -0,0 +1,3 @@
return {
"tpope/vim-fugitive",
}

View File

@@ -0,0 +1,7 @@
return {
'zeioth/garbage-day.nvim',
event = "VeryLazy",
opts = {
wakeup_delay = 5000
}
}

View 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
}

View File

@@ -0,0 +1,5 @@
return {
"moyiz/git-dev.nvim",
lazy = true,
cmd = { "GitDevOpen", "GitDevCleanAll" }, opts = {},
}

View 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"
}

View 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
},
}
}

View 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
}
}

View File

@@ -0,0 +1,5 @@
return {
'Aaronik/GPTModels.nvim',
config = true,
enabled = false
}

View 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