Merge branch 'main' of github.com:GHOSCHT/nix-config
Configured 2 machines asynchronously. Now merging states together.
This commit is contained in:
commit
3b58fe0b41
23 changed files with 1790 additions and 17 deletions
|
@ -7,12 +7,13 @@
|
|||
vars,
|
||||
...
|
||||
}: {
|
||||
imports = (import ../modules/desktops) ++ (import ../modules/shell);
|
||||
imports =
|
||||
(import ../modules/desktops) ++ (import ../modules/shell) ++ [../modules/programs/librewolf.nix ../modules/programs/alacritty.nix] ++ (import ../modules/theming) ++ (import ../modules/coding);
|
||||
|
||||
users.users.${vars.user} = {
|
||||
# System User
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "video" "audio" "camera" "networkmanager" "lp" "scanner" "kvm" "libvirtd" "i2c"];
|
||||
extraGroups = ["wheel" "video" "audio" "camera" "networkmanager" "lp" "scanner" "kvm" "libvirtd" "i2c" "tty" "dialout"];
|
||||
};
|
||||
|
||||
boot.supportedFilesystems = ["ntfs"];
|
||||
|
@ -23,7 +24,6 @@
|
|||
programs.fish.enable = true;
|
||||
|
||||
services.flatpak.enable = true;
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
|
||||
|
@ -31,13 +31,17 @@
|
|||
|
||||
# Enable the KDE Plasma Desktop Environment.
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
# services.xserver = {
|
||||
# layout = "de";
|
||||
# xkbVariant = "";
|
||||
# };
|
||||
|
||||
environment.defaultCursor = {
|
||||
enable = true;
|
||||
theme = "breeze_cursors";
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
|
@ -79,6 +83,7 @@
|
|||
source-code-pro
|
||||
ttf_bitstream_vera
|
||||
inter
|
||||
noto-fonts-cjk-sans
|
||||
(nerdfonts.override {
|
||||
# Nerdfont Icons override
|
||||
fonts = [
|
||||
|
@ -121,11 +126,10 @@
|
|||
pavucontrol # Audio Control
|
||||
pipewire # Audio Server/Control
|
||||
pulseaudio # Audio Server/Control
|
||||
jellyfin-media-player
|
||||
|
||||
# Apps
|
||||
appimage-run # Runs AppImages on NixOS
|
||||
fcitx5
|
||||
fcitx5-mozc
|
||||
webcord
|
||||
signal-desktop
|
||||
alacritty
|
||||
|
@ -155,6 +159,7 @@
|
|||
feishin
|
||||
sddm
|
||||
electron-mail
|
||||
xournalpp
|
||||
]);
|
||||
};
|
||||
|
||||
|
@ -162,6 +167,14 @@
|
|||
dconf.enable = true;
|
||||
};
|
||||
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
printing = {
|
||||
# CUPS
|
||||
|
|
|
@ -45,16 +45,28 @@
|
|||
# hyprland.enable = true;
|
||||
kde.enable = true;
|
||||
awesome.enable = true;
|
||||
|
||||
# home-manager.users.${vars.user} = {
|
||||
# services.kdeconnect.enable = true;
|
||||
# };
|
||||
nixpkgs.config.librewolf.enablePlasmaBrowserIntegration = true;
|
||||
programs.kdeconnect.enable = true;
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
# System-Wide Packages
|
||||
discord # Messaging
|
||||
obs-studio # Live Streaming
|
||||
simple-scan # Scanning
|
||||
easyeffects
|
||||
firefox
|
||||
heroic
|
||||
];
|
||||
systemPackages = with pkgs;
|
||||
[
|
||||
# System-Wide Packages
|
||||
discord # Messaging
|
||||
obs-studio # Live Streaming
|
||||
simple-scan # Scanning
|
||||
firefox
|
||||
heroic
|
||||
nextcloud-client
|
||||
anki
|
||||
easyeffects
|
||||
qpwgraph
|
||||
calibre
|
||||
]
|
||||
++ (with unstable; [
|
||||
libsForQt5.kdeconnect-kde
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
|
4
modules/coding/default.nix
Normal file
4
modules/coding/default.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
[
|
||||
./nvim.nix
|
||||
./vscode.nix
|
||||
]
|
30
modules/coding/nvim.nix
Normal file
30
modules/coding/nvim.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
home-manager.users.${vars.user} = {
|
||||
home.file.".config/nvim/lua/custom/" = {
|
||||
source = ../../rsc/config/nvim;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
gcc
|
||||
black
|
||||
python310Packages.debugpy # is this working?
|
||||
mypy
|
||||
ruff
|
||||
nodePackages.pyright
|
||||
clang-tools_16
|
||||
rnix-lsp
|
||||
rust-analyzer
|
||||
nodePackages.eslint_d
|
||||
nodePackages.jsonlint
|
||||
alejandra
|
||||
];
|
||||
}
|
66
modules/coding/vscode.nix
Normal file
66
modules/coding/vscode.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: let
|
||||
in {
|
||||
home-manager.users.${vars.user} = {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
enableUpdateCheck = false;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
pkief.material-icon-theme
|
||||
vscodevim.vim
|
||||
bbenoist.nix
|
||||
ms-python.python
|
||||
ms-toolsai.jupyter
|
||||
ms-toolsai.jupyter-renderers
|
||||
ms-toolsai.jupyter-keymap
|
||||
];
|
||||
userSettings = {
|
||||
#Theming
|
||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||
"catppuccin.accentColor" = "teal";
|
||||
"workbench.iconTheme" = "material-icon-theme";
|
||||
"window.menuBarVisibility" = "toggle";
|
||||
"editor.minimap.autohide" = false;
|
||||
#Extensions - General
|
||||
"extensions.autoCheckUpdates" = false;
|
||||
"extensions.autoUpdate" = false;
|
||||
# Startup
|
||||
"workbench.startupEditor" = "none";
|
||||
# Vim
|
||||
"editor.lineNumbers" = "relative";
|
||||
};
|
||||
keybindings = [
|
||||
# Navigating Autosuggest and Quick Open entries
|
||||
{
|
||||
"key" = "ctrl+j";
|
||||
"command" = "selectNextSuggestion";
|
||||
"when" = "suggestWidgetVisible";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+k";
|
||||
"command" = "selectPrevSuggestion";
|
||||
"when" = "suggestWidgetVisible";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+j";
|
||||
"command" = "workbench.action.quickOpenSelectNext";
|
||||
"when" = "inQuickOpen";
|
||||
}
|
||||
{
|
||||
"key" = "ctrl+k";
|
||||
"command" = "workbench.action.quickOpenSelectPrevious";
|
||||
"when" = "inQuickOpen";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# programs.vscode.package = pkgs.vscodium.fhsWithPackages (ps: with ps; [rustup zlib]);
|
||||
}
|
14
modules/programs/alacritty.nix
Normal file
14
modules/programs/alacritty.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.${vars.user} = {
|
||||
home.file.".config/alacritty" = {
|
||||
source = ../../rsc/config/alacritty;
|
||||
recursive = true;
|
||||
};
|
||||
};
|
||||
}
|
23
modules/programs/librewolf.nix
Normal file
23
modules/programs/librewolf.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.${vars.user} = {
|
||||
programs.librewolf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"identity.fxaccounts.enabled" = true;
|
||||
"browser.sessionstore.enabled" = false;
|
||||
"browser.startup.page" = 1;
|
||||
"browser.sessionstore.resume_session_once" = true;
|
||||
"browser.sessionstore.resume_from_crash" = false;
|
||||
"middlemouse.paste" = false;
|
||||
"general.autoScroll" = true;
|
||||
"security.OCSP.require" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
44
modules/theming/cursor.nix
Normal file
44
modules/theming/cursor.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Module to set a default cursor theme
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.environment.defaultCursor;
|
||||
|
||||
indexThemeText = theme: generators.toINI {} {"icon theme" = {Inherits = "${theme}";};};
|
||||
|
||||
mkDefaultCursorFile = theme:
|
||||
pkgs.writeTextDir
|
||||
"share/icons/default/index.theme"
|
||||
"${indexThemeText theme}";
|
||||
|
||||
defaultCursorPkg = mkDefaultCursorFile cfg.theme;
|
||||
in {
|
||||
options = {
|
||||
environment.defaultCursor = {
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to set a default cursor theme for graphical environments.
|
||||
'';
|
||||
};
|
||||
|
||||
theme = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "Adwaita";
|
||||
description = "The name of the defualt cursor theme.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
defaultCursorPkg
|
||||
];
|
||||
};
|
||||
}
|
5
modules/theming/default.nix
Normal file
5
modules/theming/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
[
|
||||
# ./gtk.nix
|
||||
# ./qt.nix
|
||||
./cursor.nix
|
||||
]
|
20
modules/theming/gtk.nix
Normal file
20
modules/theming/gtk.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.${vars.user} = {
|
||||
gtk.enable = true;
|
||||
|
||||
# gtk.cursorTheme.package = pkgs.bibata-cursors;
|
||||
# gtk.cursorTheme.name = "Bibata-Modern-Ice";
|
||||
|
||||
gtk.theme.package = pkgs.adw-gtk3;
|
||||
gtk.theme.name = "adw-gtk3";
|
||||
|
||||
# gtk.iconTheme.package = gruvboxPlus;
|
||||
# gtk.iconTheme.name = "GruvboxPlus";
|
||||
};
|
||||
}
|
31
modules/theming/qt.nix
Normal file
31
modules/theming/qt.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
vars,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
libsForQt5.qtstyleplugins
|
||||
libsForQt5.qtstyleplugin-kvantum
|
||||
#other stuff
|
||||
];
|
||||
home-manager.users.${vars.user} = {
|
||||
qt.enable = true;
|
||||
|
||||
# platform theme "gtk" or "gnome"
|
||||
qt.platformTheme = "gtk";
|
||||
|
||||
# name of the qt theme
|
||||
qt.style.name = "adwaita";
|
||||
|
||||
# detected automatically:
|
||||
# adwaita, adwaita-dark, adwaita-highcontrast,
|
||||
# adwaita-highcontrastinverse, breeze,
|
||||
# bb10bright, bb10dark, cde, cleanlooks,
|
||||
# gtk2, motif, plastique
|
||||
|
||||
# package to use
|
||||
qt.style.package = pkgs.adwaita-qt;
|
||||
};
|
||||
}
|
860
rsc/config/alacritty/alacritty.yml
Normal file
860
rsc/config/alacritty/alacritty.yml
Normal file
|
@ -0,0 +1,860 @@
|
|||
# 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. Both lines and columns
|
||||
# must be non-zero for this to take effect. 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: 0s
|
||||
# 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: 5
|
||||
|
||||
# Spread additional padding evenly around the terminal content.
|
||||
#dynamic_padding: false
|
||||
|
||||
# Window decorations
|
||||
#
|
||||
# Values for `decorations`:
|
||||
# - full: Borders and title bar
|
||||
# - none: Neither borders nor title bar
|
||||
#
|
||||
# Values for `decorations` (macOS only):
|
||||
# - transparent: Title bar, transparent background and title bar buttons
|
||||
# - buttonless: Title bar, transparent background and no title bar buttons
|
||||
#decorations: full
|
||||
|
||||
# Background opacity
|
||||
#
|
||||
# Window opacity as a floating point number from `0.0` to `1.0`.
|
||||
# The value `0.0` is completely transparent and `1.0` is opaque.
|
||||
opacity: 0.9
|
||||
|
||||
# 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
|
||||
|
||||
# Decorations theme variant (Linux/BSD only)
|
||||
#
|
||||
# Override the variant of the GTK theme/Wayland client side decorations.
|
||||
# Commonly supported values are `dark` and `light`. Set this to `None` to use
|
||||
# the default theme variant.
|
||||
#decorations_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:
|
||||
family: JetBrains Mono Nerd Font
|
||||
style: Medium
|
||||
bold:
|
||||
family: JetBrains Mono Nerd Font
|
||||
style: Bold
|
||||
italic:
|
||||
family: JetBrains Mono Nerd Font
|
||||
style: MediumItalic
|
||||
|
||||
# Point size
|
||||
#size: 11.0
|
||||
|
||||
# Offset is the extra space around each character. `offset.y` can be thought
|
||||
# of as modifying the line spacing, and `offset.x` as modifying the letter
|
||||
# spacing.
|
||||
#offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# Glyph offset determines the locations of the glyphs within their cells with
|
||||
# the default being at the bottom. Increasing `x` moves the glyph to the
|
||||
# right, increasing `y` moves the glyph upward.
|
||||
#glyph_offset:
|
||||
# x: 0
|
||||
# y: 0
|
||||
|
||||
# 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: '#24273A'
|
||||
background: '#1e1e2e'
|
||||
foreground: '#CAD3F5'
|
||||
|
||||
# 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'
|
||||
|
||||
# Keyboard 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
|
||||
|
||||
# Footer bar
|
||||
#
|
||||
# Color used for the footer bar on the bottom, used by search regex input,
|
||||
# hyperlink URI preview, etc.
|
||||
#
|
||||
#footer_bar:
|
||||
# background: '#c5c8c6'
|
||||
# foreground: '#1d1f21'
|
||||
|
||||
# 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: '#494D64'
|
||||
red: '#ED8796'
|
||||
green: '#A6DA95'
|
||||
yellow: '#EED49F'
|
||||
blue: '#8AADF4'
|
||||
magenta: '#F5BDE6'
|
||||
cyan: '#8BD5CA'
|
||||
white: '#B8C0E0'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '#5B6078'
|
||||
red: '#ED8796'
|
||||
green: '#A6DA95'
|
||||
yellow: '#EED49F'
|
||||
blue: '#8AADF4'
|
||||
magenta: '#F5BDE6'
|
||||
cyan: '#8BD5CA'
|
||||
white: '#A5ADCB'
|
||||
|
||||
# Dim colors
|
||||
#
|
||||
# If the dim colors are not set, they will be calculated automatically based
|
||||
# on the `normal` colors.
|
||||
dim:
|
||||
black: '#131415'
|
||||
red: '#864343'
|
||||
green: '#777c44'
|
||||
yellow: '#9e824c'
|
||||
blue: '#556a7d'
|
||||
magenta: '#75617b'
|
||||
cyan: '#5b7d78'
|
||||
white: '#828482'
|
||||
|
||||
# Indexed Colors
|
||||
#
|
||||
# The indexed colors include all colors from 16 to 256.
|
||||
# When these are not set, they're filled with sensible defaults.
|
||||
#
|
||||
# Example:
|
||||
# `- { index: 16, color: '#ff00ff' }`
|
||||
#
|
||||
#indexed_colors: []
|
||||
|
||||
# Transparent cell backgrounds
|
||||
#
|
||||
# Whether or not `window.opacity` applies to all cell backgrounds or only to
|
||||
# the default background. When set to `true` all cells will be transparent
|
||||
# regardless of their background color.
|
||||
#transparent_background_colors: false
|
||||
|
||||
# Bell
|
||||
#
|
||||
# The bell is rung every time the BEL control character is received.
|
||||
#bell:
|
||||
# Visual Bell Animation
|
||||
#
|
||||
# Animation effect for flashing the screen when the visual bell is rung.
|
||||
#
|
||||
# Values for `animation`:
|
||||
# - Ease
|
||||
# - EaseOut
|
||||
# - EaseOutSine
|
||||
# - EaseOutQuad
|
||||
# - EaseOutCubic
|
||||
# - EaseOutQuart
|
||||
# - EaseOutQuint
|
||||
# - EaseOutExpo
|
||||
# - EaseOutCirc
|
||||
# - Linear
|
||||
#animation: EaseOutExpo
|
||||
|
||||
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
|
||||
# disable the visual bell animation.
|
||||
#duration: 0
|
||||
|
||||
# Visual bell animation color.
|
||||
#color: '#ffffff'
|
||||
|
||||
# Bell Command
|
||||
#
|
||||
# This program is executed whenever the bell is rung.
|
||||
#
|
||||
# When set to `command: None`, no command will be executed.
|
||||
#
|
||||
# Example:
|
||||
# command:
|
||||
# program: notify-send
|
||||
# args: ["Hello, World!"]
|
||||
#
|
||||
#command: None
|
||||
|
||||
#selection:
|
||||
# This string contains all characters that are used as separators for
|
||||
# "semantic words" in Alacritty.
|
||||
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
|
||||
|
||||
# When set to `true`, selected text will be copied to the primary clipboard.
|
||||
#save_to_clipboard: false
|
||||
|
||||
#cursor:
|
||||
# Cursor style
|
||||
#style:
|
||||
# Cursor shape
|
||||
#
|
||||
# Values for `shape`:
|
||||
# - ▇ Block
|
||||
# - _ Underline
|
||||
# - | Beam
|
||||
#shape: Block
|
||||
|
||||
# Cursor blinking state
|
||||
#
|
||||
# Values for `blinking`:
|
||||
# - Never: Prevent the cursor from ever blinking
|
||||
# - Off: Disable blinking by default
|
||||
# - On: Enable blinking by default
|
||||
# - Always: Force the cursor to always blink
|
||||
#blinking: Off
|
||||
|
||||
# Vi mode cursor style
|
||||
#
|
||||
# If the vi mode cursor style is `None` or not specified, it will fall back to
|
||||
# the style of the active value of the normal cursor.
|
||||
#
|
||||
# See `cursor.style` for available options.
|
||||
#vi_mode_style: None
|
||||
|
||||
# Cursor blinking interval in milliseconds.
|
||||
#blink_interval: 750
|
||||
|
||||
# Time after which cursor stops blinking, in seconds.
|
||||
#
|
||||
# Specifying '0' will disable timeout for blinking.
|
||||
#blink_timeout: 5
|
||||
|
||||
# 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:
|
||||
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
|
||||
# - (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
|
||||
|
||||
# Hints
|
||||
#
|
||||
# Terminal hints can be used to find text or hyperlink 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 any of `regex` or `hyperlinks` field and either an
|
||||
# `action` or a `command` field. The fields `mouse`, `binding` and
|
||||
# `post_processing` are optional.
|
||||
#
|
||||
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
|
||||
# highlighted.
|
||||
#
|
||||
# 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 and applies only to
|
||||
# `regex` matches.
|
||||
#
|
||||
# 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{-}\\^⟨⟩`]+"
|
||||
# hyperlinks: true
|
||||
# command: xdg-open
|
||||
# post_processing: true
|
||||
# mouse:
|
||||
# enabled: true
|
||||
# mods: None
|
||||
# binding:
|
||||
# key: U
|
||||
# mods: Control|Shift
|
||||
|
||||
# Mouse bindings
|
||||
#
|
||||
# Mouse bindings are specified as a list of objects, much like the key
|
||||
# bindings further below.
|
||||
#
|
||||
# To trigger mouse bindings when an application running within Alacritty
|
||||
# captures the mouse, the `Shift` modifier is automatically added as a
|
||||
# requirement.
|
||||
#
|
||||
# Each mouse binding will specify a:
|
||||
#
|
||||
# - `mouse`:
|
||||
#
|
||||
# - Middle
|
||||
# - Left
|
||||
# - Right
|
||||
# - Numeric identifier such as `5`
|
||||
#
|
||||
# - `action` (see key bindings for actions not exclusive to mouse mode)
|
||||
#
|
||||
# - Mouse exclusive actions:
|
||||
#
|
||||
# - ExpandSelection
|
||||
# Expand the selection to the current mouse cursor location.
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods` (see key bindings)
|
||||
#mouse_bindings:
|
||||
# - { mouse: Right, action: ExpandSelection }
|
||||
# - { mouse: Right, mods: Control, action: ExpandSelection }
|
||||
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
|
||||
|
||||
# Key bindings
|
||||
#
|
||||
# Key bindings are specified as a list of objects. For example, this is the
|
||||
# default paste binding:
|
||||
#
|
||||
# `- { key: V, mods: Control|Shift, action: Paste }`
|
||||
#
|
||||
# Each key binding will specify a:
|
||||
#
|
||||
# - `key`: Identifier of the key pressed
|
||||
#
|
||||
# - A-Z
|
||||
# - F1-F24
|
||||
# - Key0-Key9
|
||||
#
|
||||
# A full list with available key codes can be found here:
|
||||
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
|
||||
#
|
||||
# Instead of using the name of the keys, the `key` field also supports using
|
||||
# the scancode of the desired key. Scancodes have to be specified as a
|
||||
# decimal number. This command will allow you to display the hex scancodes
|
||||
# for certain keys:
|
||||
#
|
||||
# `showkey --scancodes`.
|
||||
#
|
||||
# Then exactly one of:
|
||||
#
|
||||
# - `chars`: Send a byte sequence to the running application
|
||||
#
|
||||
# The `chars` field writes the specified string to the terminal. This makes
|
||||
# it possible to pass escape sequences. To find escape codes for bindings
|
||||
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
|
||||
# of tmux. Note that applications use terminfo to map escape sequences back
|
||||
# to keys. It is therefore required to update the terminfo when changing an
|
||||
# escape sequence.
|
||||
#
|
||||
# - `action`: Execute a predefined action
|
||||
#
|
||||
# - ToggleViMode
|
||||
# - SearchForward
|
||||
# Start searching toward the right of the search origin.
|
||||
# - SearchBackward
|
||||
# Start searching toward the left of the search origin.
|
||||
# - Copy
|
||||
# - Paste
|
||||
# - IncreaseFontSize
|
||||
# - DecreaseFontSize
|
||||
# - ResetFontSize
|
||||
# - ScrollPageUp
|
||||
# - ScrollPageDown
|
||||
# - ScrollHalfPageUp
|
||||
# - ScrollHalfPageDown
|
||||
# - ScrollLineUp
|
||||
# - ScrollLineDown
|
||||
# - ScrollToTop
|
||||
# - ScrollToBottom
|
||||
# - ClearHistory
|
||||
# Remove the terminal's scrollback history.
|
||||
# - Hide
|
||||
# Hide the Alacritty window.
|
||||
# - Minimize
|
||||
# Minimize the Alacritty window.
|
||||
# - Quit
|
||||
# Quit Alacritty.
|
||||
# - ToggleFullscreen
|
||||
# - SpawnNewInstance
|
||||
# Spawn a new instance of Alacritty.
|
||||
# - CreateNewWindow
|
||||
# Create a new Alacritty window from the current process.
|
||||
# - ClearLogNotice
|
||||
# Clear Alacritty's UI warning and error notice.
|
||||
# - ClearSelection
|
||||
# Remove the active selection.
|
||||
# - ReceiveChar
|
||||
# - None
|
||||
#
|
||||
# - Vi mode exclusive actions:
|
||||
#
|
||||
# - Open
|
||||
# Perform the action of the first matching hint under the vi mode cursor
|
||||
# with `mouse.enabled` set to `true`.
|
||||
# - ToggleNormalSelection
|
||||
# - ToggleLineSelection
|
||||
# - ToggleBlockSelection
|
||||
# - ToggleSemanticSelection
|
||||
# Toggle semantic selection based on `selection.semantic_escape_chars`.
|
||||
# - CenterAroundViCursor
|
||||
# Center view around vi mode cursor
|
||||
#
|
||||
# - Vi mode exclusive cursor motion actions:
|
||||
#
|
||||
# - Up
|
||||
# One line up.
|
||||
# - Down
|
||||
# One line down.
|
||||
# - Left
|
||||
# One character left.
|
||||
# - Right
|
||||
# One character right.
|
||||
# - First
|
||||
# First column, or beginning of the line when already at the first column.
|
||||
# - Last
|
||||
# Last column, or beginning of the line when already at the last column.
|
||||
# - FirstOccupied
|
||||
# First non-empty cell in this terminal row, or first non-empty cell of
|
||||
# the line when already at the first cell of the row.
|
||||
# - High
|
||||
# Top of the screen.
|
||||
# - Middle
|
||||
# Center of the screen.
|
||||
# - Low
|
||||
# Bottom of the screen.
|
||||
# - SemanticLeft
|
||||
# Start of the previous semantically separated word.
|
||||
# - SemanticRight
|
||||
# Start of the next semantically separated word.
|
||||
# - SemanticLeftEnd
|
||||
# End of the previous semantically separated word.
|
||||
# - SemanticRightEnd
|
||||
# End of the next semantically separated word.
|
||||
# - WordLeft
|
||||
# Start of the previous whitespace separated word.
|
||||
# - WordRight
|
||||
# Start of the next whitespace separated word.
|
||||
# - WordLeftEnd
|
||||
# End of the previous whitespace separated word.
|
||||
# - WordRightEnd
|
||||
# End of the next whitespace separated word.
|
||||
# - Bracket
|
||||
# Character matching the bracket at the cursor's location.
|
||||
# - SearchNext
|
||||
# Beginning of the next match.
|
||||
# - SearchPrevious
|
||||
# Beginning of the previous match.
|
||||
# - SearchStart
|
||||
# Start of the match to the left of the vi mode cursor.
|
||||
# - SearchEnd
|
||||
# End of the match to the right of the vi mode cursor.
|
||||
#
|
||||
# - Search mode exclusive actions:
|
||||
# - SearchFocusNext
|
||||
# Move the focus to the next search match.
|
||||
# - SearchFocusPrevious
|
||||
# Move the focus to the previous search match.
|
||||
# - SearchConfirm
|
||||
# - SearchCancel
|
||||
# - SearchClear
|
||||
# Reset the search regex.
|
||||
# - SearchDeleteWord
|
||||
# Delete the last word in the search regex.
|
||||
# - SearchHistoryPrevious
|
||||
# Go to the previous regex in the search history.
|
||||
# - SearchHistoryNext
|
||||
# Go to the next regex in the search history.
|
||||
#
|
||||
# - macOS exclusive actions:
|
||||
# - ToggleSimpleFullscreen
|
||||
# Enter fullscreen without occupying another space.
|
||||
#
|
||||
# - Linux/BSD exclusive actions:
|
||||
#
|
||||
# - CopySelection
|
||||
# Copy from the selection buffer.
|
||||
# - PasteSelection
|
||||
# Paste from the selection buffer.
|
||||
#
|
||||
# - `command`: Fork and execute a specified command plus arguments
|
||||
#
|
||||
# The `command` field must be a map containing a `program` string and an
|
||||
# `args` array of command line parameter strings. For example:
|
||||
# `{ program: "alacritty", args: ["-e", "vttest"] }`
|
||||
#
|
||||
# And optionally:
|
||||
#
|
||||
# - `mods`: Key modifiers to filter binding actions
|
||||
#
|
||||
# - Command
|
||||
# - Control
|
||||
# - Option
|
||||
# - Super
|
||||
# - Shift
|
||||
# - Alt
|
||||
#
|
||||
# Multiple `mods` can be combined using `|` like this:
|
||||
# `mods: Control|Shift`.
|
||||
# Whitespace and capitalization are relevant and must match the example.
|
||||
#
|
||||
# - `mode`: Indicate a binding for only specific terminal reported modes
|
||||
#
|
||||
# This is mainly used to send applications the correct escape sequences
|
||||
# when in different modes.
|
||||
#
|
||||
# - AppCursor
|
||||
# - AppKeypad
|
||||
# - Search
|
||||
# - Alt
|
||||
# - Vi
|
||||
#
|
||||
# A `~` operator can be used before a mode to apply the binding whenever
|
||||
# the mode is *not* active, e.g. `~Alt`.
|
||||
#
|
||||
# Bindings are always filled by default, but will be replaced when a new
|
||||
# binding with the same triggers is defined. To unset a default binding, it can
|
||||
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
|
||||
# a no-op if you do not wish to receive input characters for that binding.
|
||||
#
|
||||
# If the same trigger is assigned to multiple actions, all of them are executed
|
||||
# in the order they were defined in.
|
||||
#key_bindings:
|
||||
#- { key: Paste, action: Paste }
|
||||
#- { key: Copy, action: Copy }
|
||||
#- { key: L, mods: Control, action: ClearLogNotice }
|
||||
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
|
||||
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
|
||||
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
|
||||
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
|
||||
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
|
||||
|
||||
# Vi Mode
|
||||
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
|
||||
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
|
||||
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
|
||||
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
|
||||
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
|
||||
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
|
||||
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
|
||||
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
|
||||
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
|
||||
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
|
||||
#- { key: Y, mode: Vi|~Search, action: Copy }
|
||||
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
|
||||
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
|
||||
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
|
||||
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
|
||||
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
|
||||
#- { key: Return, mode: Vi|~Search, action: Open }
|
||||
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
|
||||
#- { 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
|
|
@ -24,7 +24,9 @@ function autostart.exec(awful)
|
|||
-- awful.spawn.with_shell("autocutsel -fork -selection PRIMARY")
|
||||
awful.spawn.with_shell("xmousepasteblock")
|
||||
awful.spawn.with_shell("xinput map-to-output 20 DVI-I")
|
||||
-- awful.spawn.with_shell("fcitx5 -d")
|
||||
awful.spawn.with_shell("xrandr --output DP-0 --mode 1920x1080 --rate 74.97 --pos 0x0 --rotate normal --output DP-4 --primary --mode 2560x1440 --rate 143.86 --pos 1920x0 --rotate normal")
|
||||
awful.spawn.with_shell('dbus-daemon --session --address="unix:path=$XDG_RUNTIME_DIR/bus"')
|
||||
awful.spawn.with_shell("fcitx5 -d")
|
||||
end
|
||||
|
||||
return autostart
|
||||
|
|
19
rsc/config/nvim/chadrc.lua
Normal file
19
rsc/config/nvim/chadrc.lua
Normal file
|
@ -0,0 +1,19 @@
|
|||
local headers = require("custom.headers")
|
||||
|
||||
---@type ChadrcConfig
|
||||
local M = {}
|
||||
M.ui = {
|
||||
theme = 'catppuccin',
|
||||
nvdash = {
|
||||
load_on_startup = true,
|
||||
header=headers.Bloody,
|
||||
},
|
||||
statusline = {
|
||||
separator_style = "block",
|
||||
theme = "default",
|
||||
},
|
||||
transparency = true,
|
||||
}
|
||||
M.plugins = "custom.plugins"
|
||||
M.mappings = require "custom.mappings"
|
||||
return M
|
34
rsc/config/nvim/configs/illuminate.lua
Normal file
34
rsc/config/nvim/configs/illuminate.lua
Normal file
|
@ -0,0 +1,34 @@
|
|||
local status, illuminate = pcall(require, "illuminate")
|
||||
|
||||
if not status then
|
||||
return
|
||||
end
|
||||
|
||||
illuminate.configure {
|
||||
-- providers: provider used to get references in the buffer, ordered by priority
|
||||
providers = {
|
||||
"lsp",
|
||||
"treesitter",
|
||||
"regex",
|
||||
},
|
||||
delay = 100,
|
||||
filetypes_denylist = {
|
||||
"dirvish",
|
||||
"fugitive",
|
||||
"alpha",
|
||||
"NvimTree",
|
||||
"packer",
|
||||
"neogitstatus",
|
||||
"Trouble",
|
||||
"lir",
|
||||
"Outline",
|
||||
"spectre_panel",
|
||||
"toggleterm",
|
||||
"DressingSelect",
|
||||
"TelescopePrompt",
|
||||
"aerial",
|
||||
"Empty",
|
||||
},
|
||||
under_cursor = true,
|
||||
max_file_lines = nil,
|
||||
}
|
26
rsc/config/nvim/configs/lspconfig.lua
Normal file
26
rsc/config/nvim/configs/lspconfig.lua
Normal file
|
@ -0,0 +1,26 @@
|
|||
local config = require("plugins.configs.lspconfig")
|
||||
|
||||
local on_attach = config.on_attach
|
||||
local capabilities = config.capabilities
|
||||
|
||||
local lspconfig = require("lspconfig")
|
||||
|
||||
lspconfig.pyright.setup({
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
filetypes = {"python"},
|
||||
})
|
||||
|
||||
lspconfig.rnix.setup({
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
filetypes = {"nix"},
|
||||
})
|
||||
|
||||
lspconfig.clangd.setup {
|
||||
on_attach = function(client, bufnr)
|
||||
client.server_capabilities.signatureHelpProvider = false
|
||||
on_attach(client, bufnr)
|
||||
end,
|
||||
capabilities = capabilities,
|
||||
}
|
30
rsc/config/nvim/configs/null-ls.lua
Normal file
30
rsc/config/nvim/configs/null-ls.lua
Normal file
|
@ -0,0 +1,30 @@
|
|||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
local null_ls = require('null-ls')
|
||||
|
||||
local opts = {
|
||||
sources = {
|
||||
null_ls.builtins.formatting.black,
|
||||
null_ls.builtins.diagnostics.mypy,
|
||||
null_ls.builtins.diagnostics.eslint_d,
|
||||
null_ls.builtins.diagnostics.jsonlint,
|
||||
null_ls.builtins.diagnostics.ruff,
|
||||
null_ls.builtins.formatting.clang_format,
|
||||
null_ls.builtins.formatting.alejandra,
|
||||
},
|
||||
on_attach = function(client, bufnr)
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
})
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({ bufnr = bufnr })
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
}
|
||||
return opts
|
12
rsc/config/nvim/configs/rust-tools.lua
Normal file
12
rsc/config/nvim/configs/rust-tools.lua
Normal file
|
@ -0,0 +1,12 @@
|
|||
local on_attach = require("plugins.configs.lspconfig").on_attach
|
||||
local capabilities = require("plugins.configs.lspconfig").capabilities
|
||||
|
||||
|
||||
local options = {
|
||||
server = {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
},
|
||||
}
|
||||
|
||||
return options
|
55
rsc/config/nvim/configs/todo.lua
Normal file
55
rsc/config/nvim/configs/todo.lua
Normal file
|
@ -0,0 +1,55 @@
|
|||
require("todo-comments").setup {
|
||||
signs = true,
|
||||
sign_priority = 8,
|
||||
keywords = {
|
||||
FIX = {
|
||||
icon = " ", -- icon used for the sign, and in search results
|
||||
color = "error", -- can be a hex color, or a named color (see below)
|
||||
alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords
|
||||
-- signs = false, -- configure signs for some keywords individually
|
||||
},
|
||||
TODO = { icon = " ", color = "info" },
|
||||
HACK = { icon = " ", color = "warning" },
|
||||
WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } },
|
||||
PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } },
|
||||
NOTE = { icon = " ", color = "hint", alt = { "INFO" } },
|
||||
TEST = { icon = " ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } },
|
||||
},
|
||||
gui_style = {
|
||||
fg = "NONE", -- The gui style to use for the fg highlight group.
|
||||
bg = "BOLD", -- The gui style to use for the bg highlight group.
|
||||
},
|
||||
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||
highlight = {
|
||||
multiline = true, -- enable multine todo comments
|
||||
multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword
|
||||
multiline_context = 10, -- extra lines that will be re-evaluated when changing a line
|
||||
before = "", -- "fg" or "bg" or empty
|
||||
keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg)
|
||||
after = "fg", -- "fg" or "bg" or empty
|
||||
pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex)
|
||||
comments_only = true, -- uses treesitter to match keywords in comments only
|
||||
max_line_len = 400, -- ignore lines longer than this
|
||||
exclude = {}, -- list of file types to exclude highlighting
|
||||
},
|
||||
colors = {
|
||||
error = { "DiagnosticError", "ErrorMsg", "#DC2626" },
|
||||
warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" },
|
||||
info = { "DiagnosticInfo", "#2563EB" },
|
||||
hint = { "DiagnosticHint", "#10B981" },
|
||||
default = { "Identifier", "#7C3AED" },
|
||||
test = { "Identifier", "#FF00FF" },
|
||||
},
|
||||
search = {
|
||||
command = "rg",
|
||||
args = {
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
},
|
||||
pattern = [[\b(KEYWORDS):]], -- ripgrep regex
|
||||
-- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon.
|
||||
},
|
||||
}
|
206
rsc/config/nvim/headers.lua
Normal file
206
rsc/config/nvim/headers.lua
Normal file
|
@ -0,0 +1,206 @@
|
|||
local M = {}
|
||||
|
||||
M.Default = {
|
||||
[[ ██████ █████ ███ ]],
|
||||
[[░░██████ ░░███ ░░░ ]],
|
||||
[[ ░███░███ ░███ ██████ ██████ █████ █████ ████ █████████████ ]],
|
||||
[[ ░███░░███░███ ███░░███ ███░░███░░███ ░░███ ░░███ ░░███░░███░░███ ]],
|
||||
[[ ░███ ░░██████ ░███████ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ░███ ]],
|
||||
[[ ░███ ░░█████ ░███░░░ ░███ ░███ ░░███ ███ ░███ ░███ ░███ ░███ ]],
|
||||
[[ █████ ░░█████░░██████ ░░██████ ░░█████ █████ █████░███ █████]],
|
||||
[[░░░░░ ░░░░░ ░░░░░░ ░░░░░░ ░░░░░ ░░░░░ ░░░░░ ░░░ ░░░░░ ]],
|
||||
}
|
||||
|
||||
M.Default2 = {
|
||||
[[███╗░░██╗███████╗░█████╗░██╗░░░██╗██╗███╗░░░███╗]],
|
||||
[[████╗░██║██╔════╝██╔══██╗██║░░░██║██║████╗░████║]],
|
||||
[[██╔██╗██║█████╗░░██║░░██║╚██╗░██╔╝██║██╔████╔██║]],
|
||||
[[██║╚████║██╔══╝░░██║░░██║░╚████╔╝░██║██║╚██╔╝██║]],
|
||||
[[██║░╚███║███████╗╚█████╔╝░░╚██╔╝░░██║██║░╚═╝░██║]],
|
||||
[[╚═╝░░╚══╝╚══════╝░╚════╝░░░░╚═╝░░░╚═╝╚═╝░░░░░╚═╝]],
|
||||
}
|
||||
|
||||
M.ThreeDimensionsDiagonal = {
|
||||
[[ ,--. ]],
|
||||
[[ ,--.'| ____ ]],
|
||||
[[ ,--,: : | ,--, ,' , `.]],
|
||||
[[,`--.'`| ' : ,---. ,--.'| ,-+-,.' _ |]],
|
||||
[[| : : | | ' ,'\ .---.| |, ,-+-. ; , ||]],
|
||||
[[: | \ | : ,---. / / | /. ./|`--'_ ,--.'|' | ||]],
|
||||
[[| : ' '; | / \ . ; ,. : .-' . ' |,' ,'| | | ,', | |,]],
|
||||
[[' ' ;. ; / / |' | |: :/___/ \: |' | | | | / | |--' ]],
|
||||
[[| | | \ |. ' / |' | .; :. \ ' .| | : | : | | , ]],
|
||||
[[' : | ; .'' ; /|| : | \ \ '' : |__ | : | |/ ]],
|
||||
[[| | '`--' ' | / | \ \ / \ \ | | '.'|| | |`-' ]],
|
||||
[[' : | | : | `----' \ \ |; : ;| ;/ ]],
|
||||
[[; |.' \ \ / '---" | , / '---' ]],
|
||||
[['---' `----' ---`-' ]],
|
||||
}
|
||||
|
||||
M.Alpha = {
|
||||
[[ _____ _____ _______ _____ _____ _____ ]],
|
||||
[[ /\ \ /\ \ /::\ \ /\ \ /\ \ /\ \ ]],
|
||||
[[ /::\____\ /::\ \ /::::\ \ /::\____\ /::\ \ /::\____\ ]],
|
||||
[[ /::::| | /::::\ \ /::::::\ \ /:::/ / \:::\ \ /::::| | ]],
|
||||
[[ /:::::| | /::::::\ \ /::::::::\ \ /:::/ / \:::\ \ /:::::| | ]],
|
||||
[[ /::::::| | /:::/\:::\ \ /:::/~~\:::\ \ /:::/ / \:::\ \ /::::::| | ]],
|
||||
[[ /:::/|::| | /:::/__\:::\ \ /:::/ \:::\ \ /:::/____/ \:::\ \ /:::/|::| | ]],
|
||||
[[ /:::/ |::| | /::::\ \:::\ \ /:::/ / \:::\ \ |::| | /::::\ \ /:::/ |::| | ]],
|
||||
[[ /:::/ |::| | _____ /::::::\ \:::\ \ /:::/____/ \:::\____\ |::| | _____ ____ /::::::\ \ /:::/ |::|___|______ ]],
|
||||
[[ /:::/ |::| |/\ \ /:::/\:::\ \:::\ \ |:::| | |:::| | |::| | /\ \ /\ \ /:::/\:::\ \ /:::/ |::::::::\ \ ]],
|
||||
[[/:: / |::| /::\____\/:::/__\:::\ \:::\____\|:::|____| |:::| | |::| | /::\____\/::\ \/:::/ \:::\____\/:::/ |:::::::::\____\]],
|
||||
[[\::/ /|::| /:::/ /\:::\ \:::\ \::/ / \:::\ \ /:::/ / |::| | /:::/ /\:::\ /:::/ \::/ /\::/ / ~~~~~/:::/ /]],
|
||||
[[ \/____/ |::| /:::/ / \:::\ \:::\ \/____/ \:::\ \ /:::/ / |::| | /:::/ / \:::\/:::/ / \/____/ \/____/ /:::/ / ]],
|
||||
[[ |::|/:::/ / \:::\ \:::\ \ \:::\ /:::/ / |::|____|/:::/ / \::::::/ / /:::/ / ]],
|
||||
[[ |::::::/ / \:::\ \:::\____\ \:::\__/:::/ / |:::::::::::/ / \::::/____/ /:::/ / ]],
|
||||
[[ |:::::/ / \:::\ \::/ / \::::::::/ / \::::::::::/____/ \:::\ \ /:::/ / ]],
|
||||
[[ |::::/ / \:::\ \/____/ \::::::/ / ~~~~~~~~~~ \:::\ \ /:::/ / ]],
|
||||
[[ /:::/ / \:::\ \ \::::/ / \:::\ \ /:::/ / ]],
|
||||
[[ /:::/ / \:::\____\ \::/____/ \:::\____\ /:::/ / ]],
|
||||
[[ \::/ / \::/ / ~~ \::/ / \::/ / ]],
|
||||
[[ \/____/ \/____/ \/____/ \/____/ ]],
|
||||
}
|
||||
|
||||
M.FiraFontK = {
|
||||
[[ ) ]],
|
||||
[[ ( /( ]],
|
||||
[[ )\()) ( ) ( ) ]],
|
||||
[[((_)\ ))\ ( /(( )\ ( ]],
|
||||
[[ _((_) /((_) )\ (_))\((_) )\ ']],
|
||||
[[| \| |(_)) ((_)_)((_)(_) _((_)) ]],
|
||||
[[| .` |/ -_)/ _ \\ V / | || ' \()]],
|
||||
[[|_|\_|\___|\___/ \_/ |_||_|_|_| ]],
|
||||
}
|
||||
|
||||
M.FiraFontS = {
|
||||
[[ ) ]],
|
||||
[[ ( /( ]],
|
||||
[[ )\()) ( ) ( ) ]],
|
||||
[[((_)\ ))\ ( /(( )\ ( ]],
|
||||
[[ _((_)/((_))\(_))((_) )\ ']],
|
||||
[[| \| (_)) ((_))((_|_)_((_)) ]],
|
||||
[[| .` / -_) _ \ V /| | ' \()]],
|
||||
[[|_|\_\___\___/\_/ |_|_|_|_| ]],
|
||||
}
|
||||
|
||||
M.Impossible = {
|
||||
[[ _ _ _ _ _ _ _ _ ]],
|
||||
[[ /\ \ _ /\ \ /\ \ /\ \ _ / /\ /\ \ /\_\/\_\ _ ]],
|
||||
[[ / \ \ /\_\ / \ \ / \ \ \ \ \ /_/ / / \ \ \ / / / / //\_\]],
|
||||
[[ / /\ \ \_/ / // /\ \ \ / /\ \ \ \ \ \ \___\/ /\ \_\ /\ \/ \ \/ / /]],
|
||||
[[ / / /\ \___/ // / /\ \_\ / / /\ \ \ / / / \ \ \ / /\/_/ / \____\__/ / ]],
|
||||
[[ / / / \/____// /_/_ \/_/ / / / \ \_\\ \ \ \_\ \ / / / / /\/________/ ]],
|
||||
[[ / / / / / // /____/\ / / / / / / \ \ \ / / / / / / / / /\/_// / / ]],
|
||||
[[ / / / / / // /\____\/ / / / / / / \ \ \/ / / / / / / / / / / / ]],
|
||||
[[ / / / / / // / /______ / / /___/ / / \ \ \/ /___/ / /__ / / / / / / ]],
|
||||
[[/ / / / / // / /_______\/ / /____\/ / \ \ //\__\/_/___\\/_/ / / / ]],
|
||||
[[\/_/ \/_/ \/__________/\/_________/ \_\/ \/_________/ \/_/ ]],
|
||||
}
|
||||
|
||||
M.Isometric1 = {
|
||||
[[ ___ ___ ___ ___ ___ ]],
|
||||
[[ /\__\ /\ \ /\ \ /\__\ ___ /\__\ ]],
|
||||
[[ /::| | /::\ \ /::\ \ /:/ / /\ \ /::| | ]],
|
||||
[[ /:|:| | /:/\:\ \ /:/\:\ \ /:/ / \:\ \ /:|:| | ]],
|
||||
[[ /:/|:| |__ /::\~\:\ \ /:/ \:\ \ /:/__/ ___ /::\__\ /:/|:|__|__ ]],
|
||||
[[ /:/ |:| /\__\ /:/\:\ \:\__\ /:/__/ \:\__\ |:| | /\__\ __/:/\/__/ /:/ |::::\__\]],
|
||||
[[ \/__|:|/:/ / \:\~\:\ \/__/ \:\ \ /:/ / |:| |/:/ / /\/:/ / \/__/~~/:/ /]],
|
||||
[[ |:/:/ / \:\ \:\__\ \:\ /:/ / |:|__/:/ / \::/__/ /:/ / ]],
|
||||
[[ |::/ / \:\ \/__/ \:\/:/ / \::::/__/ \:\__\ /:/ / ]],
|
||||
[[ /:/ / \:\__\ \::/ / ~~~~ \/__/ /:/ / ]],
|
||||
[[ \/__/ \/__/ \/__/ \/__/ ]],
|
||||
}
|
||||
|
||||
M.Isometric2 = {
|
||||
[[ ___ ___ ___ ___ ]],
|
||||
[[ /\ \ /\__\ /\ \ ___ /\ \ ]],
|
||||
[[ \:\ \ /:/ _/_ /::\ \ /\ \ ___ |::\ \ ]],
|
||||
[[ \:\ \ /:/ /\__\ /:/\:\ \ \:\ \ /\__\ |:|:\ \ ]],
|
||||
[[ _____\:\ \ /:/ /:/ _/_ /:/ \:\ \ \:\ \ /:/__/ __|:|\:\ \ ]],
|
||||
[[/::::::::\__\ /:/_/:/ /\__\ /:/__/ \:\__\ ___ \:\__\ /::\ \ /::::|_\:\__\]],
|
||||
[[\:\~~\~~\/__/ \:\/:/ /:/ / \:\ \ /:/ / /\ \ |:| | \/\:\ \__ \:\~~\ \/__/]],
|
||||
[[ \:\ \ \::/_/:/ / \:\ /:/ / \:\ \|:| | ~~\:\/\__\ \:\ \ ]],
|
||||
[[ \:\ \ \:\/:/ / \:\/:/ / \:\__|:|__| \::/ / \:\ \ ]],
|
||||
[[ \:\__\ \::/ / \::/ / \::::/__/ /:/ / \:\__\ ]],
|
||||
[[ \/__/ \/__/ \/__/ ~~~~ \/__/ \/__/ ]],
|
||||
}
|
||||
|
||||
M.Isometric3 = {
|
||||
[[ ___ ___ ___ ___ ]],
|
||||
[[ /__/\ / /\ / /\ ___ ___ /__/\ ]],
|
||||
[[ \ \:\ / /:/_ / /::\ /__/\ / /\ | |::\ ]],
|
||||
[[ \ \:\ / /:/ /\ / /:/\:\ \ \:\ / /:/ | |:|:\ ]],
|
||||
[[ _____\__\:\ / /:/ /:/_ / /:/ \:\ \ \:\ /__/::\ __|__|:|\:\ ]],
|
||||
[[/__/::::::::\ /__/:/ /:/ /\ /__/:/ \__\:\ ___ \__\:\ \__\/\:\__ /__/::::| \:\]],
|
||||
[[\ \:\~~\~~\/ \ \:\/:/ /:/ \ \:\ / /:/ /__/\ | |:| \ \:\/\ \ \:\~~\__\/]],
|
||||
[[ \ \:\ ~~~ \ \::/ /:/ \ \:\ /:/ \ \:\| |:| \__\::/ \ \:\ ]],
|
||||
[[ \ \:\ \ \:\/:/ \ \:\/:/ \ \:\__|:| /__/:/ \ \:\ ]],
|
||||
[[ \ \:\ \ \::/ \ \::/ \__\::::/ \__\/ \ \:\ ]],
|
||||
[[ \__\/ \__\/ \__\/ ~~~~ \__\/ ]],
|
||||
}
|
||||
|
||||
M.Isometric4 = {
|
||||
[[ ___ ___ ___ ___ ]],
|
||||
[[ / /\ / /\ / /\ ___ ___ / /\ ]],
|
||||
[[ / /::| / /::\ / /::\ / /\ /__/\ / /::| ]],
|
||||
[[ / /:|:| / /:/\:\ / /:/\:\ / /:/ \__\:\ / /:|:| ]],
|
||||
[[ / /:/|:|__ / /::\ \:\ / /:/ \:\ / /:/ / /::\ / /:/|:|__ ]],
|
||||
[[/__/:/ |:| /\ /__/:/\:\ \:\ /__/:/ \__\:\ /__/:/ ___ __/ /:/\/ /__/:/_|::::\]],
|
||||
[[\__\/ |:|/:/ \ \:\ \:\_\/ \ \:\ / /:/ | |:| / /\ /__/\/:/~~ \__\/ /~~/:/]],
|
||||
[[ | |:/:/ \ \:\ \:\ \ \:\ /:/ | |:|/ /:/ \ \::/ / /:/ ]],
|
||||
[[ |__|::/ \ \:\_\/ \ \:\/:/ |__|:|__/:/ \ \:\ / /:/ ]],
|
||||
[[ /__/:/ \ \:\ \ \::/ \__\::::/ \__\/ /__/:/ ]],
|
||||
[[ \__\/ \__\/ \__\/ ~~~~ \__\/ ]],
|
||||
}
|
||||
|
||||
M.Bloody = {
|
||||
[[ ███▄ █ ▓█████ ▒█████ ██▒ █▓ ██▓ ███▄ ▄███▓]],
|
||||
[[ ██ ▀█ █ ▓█ ▀ ▒██▒ ██▒▓██░ █▒▓██▒▓██▒▀█▀ ██▒]],
|
||||
[[▓██ ▀█ ██▒▒███ ▒██░ ██▒ ▓██ █▒░▒██▒▓██ ▓██░]],
|
||||
[[▓██▒ ▐▌██▒▒▓█ ▄ ▒██ ██░ ▒██ █░░░██░▒██ ▒██ ]],
|
||||
[[▒██░ ▓██░░▒████▒░ ████▓▒░ ▒▀█░ ░██░▒██▒ ░██▒]],
|
||||
[[░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒░▒░▒░ ░ ▐░ ░▓ ░ ▒░ ░ ░]],
|
||||
[[░ ░░ ░ ▒░ ░ ░ ░ ░ ▒ ▒░ ░ ░░ ▒ ░░ ░ ░]],
|
||||
[[ ░ ░ ░ ░ ░ ░ ░ ▒ ░░ ▒ ░░ ░ ]],
|
||||
[[ ░ ░ ░ ░ ░ ░ ░ ░ ]],
|
||||
[[ ░ ]],
|
||||
}
|
||||
|
||||
M.TheEdge = {
|
||||
[[ ▄ ▄███▄ ████▄ ▄ ▄█ █▀▄▀█]],
|
||||
[[ █ █▀ ▀ █ █ █ ██ █ █ █]],
|
||||
[[██ █ ██▄▄ █ █ █ █ ██ █ ▄ █]],
|
||||
[[█ █ █ █▄ ▄▀ ▀████ █ █ ▐█ █ █]],
|
||||
[[█ █ █ ▀███▀ █ █ ▐ █ ]],
|
||||
[[█ ██ █▐ ▀ ]],
|
||||
[[ ▐ ]],
|
||||
}
|
||||
|
||||
M.Fraktur = {
|
||||
[[ ... ... _ . ]],
|
||||
[[ .=*8888n.."%888: u @88> ]],
|
||||
[[ X ?8888f '8888 u. 88Nu. u. %8P .. . : ]],
|
||||
[[ 88x. '8888X 8888> .u ...ue888b '88888.o888c . .888: x888 x888. ]],
|
||||
[['8888k 8888X '"*8h. ud8888. 888R Y888r ^8888 8888 .@88u ~`8888~'888X`?888f`]],
|
||||
[[ "8888 X888X .xH8 :888'8888. 888R I888> 8888 8888 ''888E` X888 888X '888> ]],
|
||||
[[ `8" X888!:888X d888 '88%" 888R I888> 8888 8888 888E X888 888X '888> ]],
|
||||
[[ =~` X888 X888X 8888.+" 888R I888> 8888 8888 888E X888 888X '888> ]],
|
||||
[[ :h. X8*` !888X 8888L u8888cJ888 .8888b.888P 888E X888 888X '888> ]],
|
||||
[[ X888xX" '8888..: '8888c. .+ "*888*P" ^Y8888*"" 888& "*88%""*88" '888!`]],
|
||||
[[:~`888f '*888*" "88888% 'Y" `Y" R888" `~ " `"` ]],
|
||||
[[ "" `"` "YP' "" ]],
|
||||
}
|
||||
|
||||
M.Larry3D = {
|
||||
[[ __ __ ]],
|
||||
[[/\ \/\ \ __ ]],
|
||||
[[\ \ `\\ \ __ ___ __ __ /\_\ ___ ___ ]],
|
||||
[[ \ \ , ` \ /'__`\ / __`\/\ \/\ \\/\ \ /' __` __`\ ]],
|
||||
[[ \ \ \`\ \/\ __//\ \L\ \ \ \_/ |\ \ \/\ \/\ \/\ \ ]],
|
||||
[[ \ \_\ \_\ \____\ \____/\ \___/ \ \_\ \_\ \_\ \_\]],
|
||||
[[ \/_/\/_/\/____/\/___/ \/__/ \/_/\/_/\/_/\/_/]],
|
||||
}
|
||||
|
||||
-- These ASCII art have been generated in: http://patorjk.com/software/taag/
|
||||
|
||||
return M
|
6
rsc/config/nvim/init.lua
Normal file
6
rsc/config/nvim/init.lua
Normal file
|
@ -0,0 +1,6 @@
|
|||
vim.opt.relativenumber = true
|
||||
vim.o.guifont = "JetBrainsMono Nerd Font:h12"
|
||||
vim.g.neovide_transparency = 0.8
|
||||
vim.g.transparency = 1.0
|
||||
vim.g.neovide_cursor_vfx_mode = "torpedo"
|
||||
--vim.g.neovide_background_color = "#1e1e2e"
|
68
rsc/config/nvim/mappings.lua
Normal file
68
rsc/config/nvim/mappings.lua
Normal file
|
@ -0,0 +1,68 @@
|
|||
local M = {}
|
||||
|
||||
M.dap = {
|
||||
plugin = true,
|
||||
n = {
|
||||
["<leader>db"] = {
|
||||
"<cmd> DapToggleBreakpoint <CR>",
|
||||
"Add breakpoint at line"
|
||||
},
|
||||
["<leader>dr"] = {
|
||||
"<cmd> DapContinue <CR>",
|
||||
"Start or continue the debugger",
|
||||
},
|
||||
["<leader>dus"] = {
|
||||
function ()
|
||||
local widgets = require('dap.ui.widgets');
|
||||
local sidebar = widgets.sidebar(widgets.scopes);
|
||||
sidebar.open();
|
||||
end,
|
||||
"Open debugging sidebar"
|
||||
},
|
||||
["<F5>"] = {
|
||||
function ()
|
||||
require("dap").continue()
|
||||
end
|
||||
},
|
||||
["<F10>"] = {
|
||||
function ()
|
||||
require("dap").step_over()
|
||||
end
|
||||
},
|
||||
["<F11>"] = {
|
||||
function ()
|
||||
require("dap").step_into()
|
||||
end
|
||||
},
|
||||
["<F12>"] = {
|
||||
function ()
|
||||
require("dap").step_out()
|
||||
end
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
M.dap_python = {
|
||||
plugin = true,
|
||||
n = {
|
||||
["<leader>dpr"] = {
|
||||
function()
|
||||
require('dap-python').test_method()
|
||||
end
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
M.crates = {
|
||||
plugin = true,
|
||||
n = {
|
||||
["<leader>rcu"] = {
|
||||
function ()
|
||||
require('crates').upgrade_all_crates()
|
||||
end,
|
||||
"update crates"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return M
|
193
rsc/config/nvim/plugins.lua
Normal file
193
rsc/config/nvim/plugins.lua
Normal file
|
@ -0,0 +1,193 @@
|
|||
local cmp = require "cmp"
|
||||
|
||||
local plugins = {
|
||||
{
|
||||
'numToStr/Comment.nvim',
|
||||
lazy = false,
|
||||
},
|
||||
{
|
||||
"simrat39/rust-tools.nvim",
|
||||
ft = "rust",
|
||||
dependencies = "neovim/nvim-lspconfig",
|
||||
opts = function ()
|
||||
return require "custom.configs.rust-tools"
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require('rust-tools').setup(opts)
|
||||
end
|
||||
},
|
||||
{
|
||||
'saecki/crates.nvim',
|
||||
ft = {"toml"},
|
||||
config = function(_, opts)
|
||||
local crates = require('crates')
|
||||
crates.setup(opts)
|
||||
require('cmp').setup.buffer({
|
||||
sources = { { name = "crates" }}
|
||||
})
|
||||
crates.show()
|
||||
require("core.utils").load_mappings("crates")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rust-lang/rust.vim",
|
||||
ft = "rust",
|
||||
init = function ()
|
||||
vim.g.rustfmt_autosave = 1
|
||||
end
|
||||
},
|
||||
{
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
lazy = false,
|
||||
config = function(_, opts)
|
||||
require("nvim-dap-virtual-text").setup()
|
||||
end
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
opts = function()
|
||||
local M = require "plugins.configs.cmp"
|
||||
M.completion.completeopt = "menu,menuone,noselect"
|
||||
M.mapping["<CR>"] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Insert,
|
||||
select = false,
|
||||
}
|
||||
table.insert(M.sources, {name = "crates"})
|
||||
return M
|
||||
end,
|
||||
},
|
||||
{
|
||||
"m4xshen/hardtime.nvim",
|
||||
dependencies = { "MunifTanjim/nui.nvim", "nvim-lua/plenary.nvim" },
|
||||
cmd = { "Hardtime" },
|
||||
opts = {}
|
||||
},
|
||||
{
|
||||
"folke/todo-comments.nvim",
|
||||
event = "BufReadPost",
|
||||
dependencies = { "nvim-lua/plenary.nvim" },
|
||||
config = function()
|
||||
require "custom.configs.todo"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"RRethy/vim-illuminate",
|
||||
event = { "CursorHold", "CursorHoldI" },
|
||||
config = function()
|
||||
require "custom.configs.illuminate"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hiphish/rainbow-delimiters.nvim",
|
||||
event = "BufReadPost",
|
||||
config = function()
|
||||
local rainbow_delimiters = require "rainbow-delimiters"
|
||||
|
||||
vim.g.rainbow_delimiters = {
|
||||
strategy = {
|
||||
[""] = rainbow_delimiters.strategy["global"],
|
||||
vim = rainbow_delimiters.strategy["local"],
|
||||
},
|
||||
query = {
|
||||
[""] = "rainbow-delimiters",
|
||||
lua = "rainbow-blocks",
|
||||
},
|
||||
highlight = {
|
||||
"RainbowDelimiterRed",
|
||||
"RainbowDelimiterYellow",
|
||||
"RainbowDelimiterBlue",
|
||||
"RainbowDelimiterOrange",
|
||||
"RainbowDelimiterGreen",
|
||||
"RainbowDelimiterViolet",
|
||||
"RainbowDelimiterCyan",
|
||||
},
|
||||
}
|
||||
end,
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
event = "VeryLazy",
|
||||
dependencies = "mfussenegger/nvim-dap",
|
||||
config = function()
|
||||
local dap = require("dap")
|
||||
local dapui = require("dapui")
|
||||
dapui.setup()
|
||||
dap.listeners.after.event_initialized["dapui_config"] = function()
|
||||
dapui.open()
|
||||
end
|
||||
dap.listeners.before.event_terminated["dapui_config"] = function()
|
||||
dapui.close()
|
||||
end
|
||||
dap.listeners.before.event_exited["dapui_config"] = function()
|
||||
dapui.close()
|
||||
end
|
||||
end
|
||||
},
|
||||
{
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
opts = {
|
||||
handlers = {}
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
config = function (_,opts)
|
||||
require("core.utils").load_mappings("dap")
|
||||
end
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap-python",
|
||||
ft = "python",
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
"rcarriga/nvim-dap-ui"
|
||||
},
|
||||
config = function (_,opts)
|
||||
local path = "~/.local/share/nvim/mason/packages/debugpy/venv/bin/python"
|
||||
require("dap-python").setup(path)
|
||||
require("core.utils").load_mappings("dap_python")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jose-elias-alvarez/null-ls.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return require "custom.configs.null-ls"
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
config = function ()
|
||||
require "plugins.configs.lspconfig"
|
||||
require "custom.configs.lspconfig"
|
||||
end
|
||||
},
|
||||
{
|
||||
"nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"ocaml",
|
||||
"python",
|
||||
"rust",
|
||||
"css",
|
||||
"html",
|
||||
"dockerfile",
|
||||
"gitignore",
|
||||
"typescript",
|
||||
"nix",
|
||||
"rust",
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"theRealCarneiro/hyprland-vim-syntax",
|
||||
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||
ft = "hypr",
|
||||
},
|
||||
}
|
||||
return plugins
|
Loading…
Reference in a new issue