diff --git a/.gitignore b/.gitignore index 18bfa98..c6ef0d2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ git/.gitconfig-work +home/ diff --git a/.gitmodules b/.gitmodules index 7d23de2..f692e3b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ -[submodule "external/termite"] - path = external/termite - url = https://github.com/thestinger/termite.git -[submodule "external/oh-my-zsh"] - path = external/oh-my-zsh +[submodule "zsh/.oh-my-zsh"] + path = zsh/.oh-my-zsh url = https://github.com/robbyrussell/oh-my-zsh.git -[submodule "config/awesome/awesome.battery-widget"] - path = config/awesome/awesome.battery-widget - url = https://github.com/velovix/awesome.battery-widget +[submodule "terminfo/termite"] + path = terminfo/termite + url = https://github.com/thestinger/termite.git diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..fd16ba2 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,10 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..6c3e5a9 --- /dev/null +++ b/alacritty/.config/alacritty/alacritty.yml @@ -0,0 +1,904 @@ + +# 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 + +import: + - ~/.config/alacritty/dracula.yml + - ~/.config/alacritty/qgodefro.yml + +#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: xterm + # 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: 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: none + + # Background opacity + # + # Window opacity as a floating point number from `0.0` to `1.0`. + # The value `0.0` is completely transparent and `1.0` is opaque. + #opacity: 0.8 + + # Startup Mode (changes require restart) + # + # Values for `startup_mode`: + # - Windowed + # - Maximized + # - Fullscreen + # + # Values for `startup_mode` (macOS only): + # - SimpleFullscreen + #startup_mode: Windowed + + # Window title + #title: Alacritty + + # Allow terminal applications to change Alacritty's window title. + #dynamic_title: true + + # Window class (Linux/BSD only): + #class: + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty + + # 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 (roman) font face + #normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Regular + + # Bold font face + #bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold + + # Italic font face + #italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Italic + + # Bold italic font face + #bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic + + # Point size + #size: 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: '#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' + + # 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: '#1d1f21' + # red: '#cc6666' + # green: '#b5bd68' + # yellow: '#f0c674' + # blue: '#81a2be' + # magenta: '#b294bb' + # cyan: '#8abeb7' + # white: '#c5c8c6' + + # Bright colors + #bright: + # black: '#666666' + # red: '#d54e53' + # green: '#b9ca4a' + # yellow: '#e7c547' + # blue: '#7aa6da' + # magenta: '#c397d8' + # cyan: '#70c0b1' + # white: '#eaeaea' + + # Dim colors + # + # If the dim colors are not set, they will be calculated automatically based + # on the `normal` colors. + #dim: + # black: '#131415' + # red: '#864343' + # green: '#777c44' + # yellow: '#9e824c' + # blue: '#556a7d' + # magenta: '#75617b' + # cyan: '#5b7d78' + # white: '#828482' + + # Indexed Colors + # + # The indexed colors include all colors from 16 to 256. + # When these are not set, they're filled with sensible defaults. + # + # Example: + # `- { index: 16, color: '#ff00ff' }` + # + #indexed_colors: [] + + # Transparent cell backgrounds + # + # Whether or not `window.opacity` applies to all cell backgrounds or only to + # the default background. When set to `true` all cells will be transparent + # regardless of their background color. + #transparent_background_colors: false + +# Bell +# +# The bell is rung every time the BEL control character is received. +#bell: + # Visual Bell Animation + # + # Animation effect for flashing the screen when the visual bell is rung. + # + # Values for `animation`: + # - Ease + # - EaseOut + # - EaseOutSine + # - EaseOutQuad + # - EaseOutCubic + # - EaseOutQuart + # - EaseOutQuint + # - EaseOutExpo + # - EaseOutCirc + # - Linear + #animation: EaseOutExpo + + # Duration of the visual bell flash in milliseconds. A `duration` of `0` will + # disable the visual bell animation. + #duration: 0 + + # Visual bell animation color. + #color: '#ffffff' + + # Bell Command + # + # This program is executed whenever the bell is rung. + # + # When set to `command: None`, no command will be executed. + # + # Example: + # command: + # program: notify-send + # args: ["Hello, World!"] + # + #command: None + +#selection: + # This string contains all characters that are used as separators for + # "semantic words" in Alacritty. + #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" + + # When set to `true`, selected text will be copied to the primary clipboard. + #save_to_clipboard: false + +#cursor: + # Cursor style + #style: + # Cursor shape + # + # Values for `shape`: + # - ▇ Block + # - _ Underline + # - | Beam + #shape: Block + + # Cursor blinking state + # + # Values for `blinking`: + # - Never: Prevent the cursor from ever blinking + # - Off: Disable blinking by default + # - On: Enable blinking by default + # - Always: Force the cursor to always blink + #blinking: Off + + # Vi mode cursor style + # + # If the vi mode cursor style is `None` or not specified, it will fall back to + # the style of the active value of the normal cursor. + # + # See `cursor.style` for available options. + #vi_mode_style: None + + # Cursor blinking interval in milliseconds. + #blink_interval: 750 + + # 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 diff --git a/alacritty/.config/alacritty/dracula.yml b/alacritty/.config/alacritty/dracula.yml new file mode 100644 index 0000000..ac78f1f --- /dev/null +++ b/alacritty/.config/alacritty/dracula.yml @@ -0,0 +1,145 @@ +abspaces: 4 +font: + # Normal (roman) font face + normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + family: monospace + + # The `style` can be specified to pick a specific face. + style: Regular + + # Bold font face + bold: + # Font family + # + # If the bold family is not specified, it will fall back to the + # value specified for the normal font. + family: monospace + + # The `style` can be specified to pick a specific face. + style: Bold + + # Italic font face + #italic: + # Font family + # + # If the italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Italic + + # Bold italic font face + #bold_italic: + # Font family + # + # If the bold italic family is not specified, it will fall back to the + # value specified for the normal font. + #family: monospace + + # The `style` can be specified to pick a specific face. + #style: Bold Italic + + # Point size + size: 8.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: 1 + 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 upwards. + #glyph_offset: + # x: 0 + # y: 0 + + # Thin stroke font rendering (macOS only) + # + # Thin strokes are suitable for retina displays, but for non-retina screens + # it is recommended to set `use_thin_strokes` to `false` + # + # macOS >= 10.14.x: + # + # If the font quality on non-retina display looks bad then set + # `use_thin_strokes` to `true` and enable font smoothing by running the + # following command: + # `defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO` + # + # This is a global setting and will require a log out or restart to take + # effect. + #use_thin_strokes: true + +# If `true`, bold text is drawn using the bright color variants. +#draw_bold_text_with_bright_colors: true + +# Dracula theme for Alacritty +# https://draculatheme.com/alacritty +# +# Color palette +# https://spec.draculatheme.com +# +# Template +# https://github.com/alacritty/alacritty/blob/master/alacritty.yml + + +colors: + primary: + background: "0x0e1419" + bright_foreground: '#ffffff' + foreground: "0xf8f8f2" + normal: + black: '#21222c' + red: '#ff5555' + green: '#50fa7b' + yellow: '#f1fa8c' + blue: '#bd93f9' + magenta: '#ff79c6' + cyan: '#8be9fd' + white: '#f8f8f2' + bright: + black: '#6272a4' + red: '#ff6e6e' + green: '#69ff94' + yellow: '#ffffa5' + blue: '#d6acff' + magenta: '#ff92df' + cyan: '#a4ffff' + white: '#ffffff' + cursor: + text: CellBackground + cursor: CellForeground + vi_mode_cursor: + text: CellBackground + cursor: CellForeground + search: + matches: + foreground: '#44475a' + background: '#50fa7b' + focused_match: + foreground: '#44475a' + background: '#ffb86c' + footer_bar: + background: '#282a36' + foreground: '#f8f8f2' + hints: + start: + foreground: '#282a36' + background: '#f1fa8c' + end: + foreground: '#f1fa8c' + background: '#282a36' + line_indicator: + foreground: None + background: None + selection: + text: CellForeground + background: '#44475a' diff --git a/alacritty/.config/alacritty/qgodefro.yml b/alacritty/.config/alacritty/qgodefro.yml new file mode 100644 index 0000000..0f6a2c7 --- /dev/null +++ b/alacritty/.config/alacritty/qgodefro.yml @@ -0,0 +1,26 @@ +windows: + decorations: none + opacity: 0.8 + dynamic_title: true + dimensions: + columns: 0 + lines: 0 + + class: + general: alacritty + +scrolling: + history: 10000 + multiplier: 1 + +draw_bold_text_with_bright_colors: true + +bell: + animation: EaseOutExpo + duration: 2 + +selection: + semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" + save_to_clipboard: true + +live_config_reload: true diff --git a/config/asciinema b/asciinema/.config/asciinema/config similarity index 97% rename from config/asciinema rename to asciinema/.config/asciinema/config index 712caa1..e0c117f 100644 --- a/config/asciinema +++ b/asciinema/.config/asciinema/config @@ -31,4 +31,4 @@ idle_time_limit = 1 A very minimal config file could look like that: [record] -idle_time_limit = 2 \ No newline at end of file +idle_time_limit = 2 diff --git a/config/awesome/rc.lua b/awesome/.config/awesome/rc.lua similarity index 99% rename from config/awesome/rc.lua rename to awesome/.config/awesome/rc.lua index 04dd351..3d14dc6 100644 --- a/config/awesome/rc.lua +++ b/awesome/.config/awesome/rc.lua @@ -588,4 +588,4 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n -- }}} local battery = battery_widget:new({}) -right_layout:add(battery.widget) \ No newline at end of file +right_layout:add(battery.widget) diff --git a/bin/homemaker.amd64 b/bin/homemaker.amd64 deleted file mode 100755 index 3249633..0000000 Binary files a/bin/homemaker.amd64 and /dev/null differ diff --git a/bin/homemaker.arm b/bin/homemaker.arm deleted file mode 100755 index 264bbf4..0000000 Binary files a/bin/homemaker.arm and /dev/null differ diff --git a/common.toml b/common.toml deleted file mode 100644 index fefc22c..0000000 --- a/common.toml +++ /dev/null @@ -1,102 +0,0 @@ -### -### Macros -### -[macros.clone] - deps = ["git"] - prefix = ["git", "clone"] - -[macros.go-get] - deps = ["golang"] - prefix = ["go", "get"] - -[macros.npm-install] - deps = ["node"] - prefix = ["npm", "install", "-u"] - -### -### Tasks -### -[tasks.zsh] - links = [ - [".oh-my-zsh", "external/oh-my-zsh"], - [".zshrc", "config/zshrc"], - ] - -[tasks.term] - cmds = [ - ["tic", "-x", "external/termite/termite.terminfo"] - ] - -[tasks.hx] - links = [[".config/helix", "config/helix"]] - deps = ["helix-editor"] - -[tasks.alacritty] - links = [[".config/alacritty", "config/alacritty"]] - deps = ["alacritty"] - -[tasks.tmux] - links = [[".tmux.conf", "config/tmux"]] - -[tasks.ssh] - templates = [ - [".ssh/config", "config/ssh/config"] - ] - -[tasks.git] - templates = [[".gitconfig", "config/gitconfig"]] - -[tasks.nano] - links = [[".nanorc", "config/nanorc"]] - -[tasks.vim] - links = [ - [".viminfo", "config/vim/viminfo"], - [".vimrc", "config/vim/vimrc"], - [".vim/autoload", "config/vim/autoload"], - [".vim/bundle", "config/vim/bundle"], - [".vim/colors", "config/vim/colors"], - ] - -[tasks.htop] - links = [[".config/htop/htoprc", "config/htop"]] - -[tasks.asciinema] - links = [[".config/asciinema/config", "config/asciinema"]] - -[tasks.golang] - envs = [["GOPATH", "${HM_DEST}/projects/go"]] - cmds = [ - ["mkdir", "-p", "$GOPATH"], - ] - -[tasks.profanity] - links = [[".config/profanity/profrc", "config/profrc"]] - -[tasks.awesome] - links = [[".config/awesome", "config/awesome"]] - -[tasks.nitrogen] - links = [[".config/nitrogen", "config/nitrogen"]] - -### -### Run -### -[tasks.default] - deps = [ - "zsh", - "tmux", - "ssh", - "git", - "nano", - "vim", - "htop", - "golang", - "asciinema", - "profanity", - "awesome", - "nitrogen", - "term", - "helix", - "alacritty" - ] diff --git a/config/awesome/awesome.battery-widget b/config/awesome/awesome.battery-widget deleted file mode 160000 index c4f9c9a..0000000 --- a/config/awesome/awesome.battery-widget +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c4f9c9a32dda55242fae17f2271739cc5ebc8821 diff --git a/config/gitconfig b/config/gitconfig deleted file mode 100644 index 21ab2d1..0000000 --- a/config/gitconfig +++ /dev/null @@ -1,23 +0,0 @@ -[user] -{{if eq .Env.USER "qgodefro"}} - name = "Quentin Godefroid" - email = "quentin.godefroid@corp.ovh.com" - signingkey = 9E5CBE8D -{{else if eq .Env.USER "quentin"}} - name = "Quentin Godefroid" - email = "quentin.git@godefroid.eu" -{{else if eq .Env.USER "hactar"}} - name = "Hactarus" - email = "hactarus.git@cresi.be" -{{else}} - name = "Hactarus" - email = "hactarus.git@cresi.be" -{{end}} - -[alias] - pushdev = !git push --set-upstream origin "`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`:dev/{{ .Env.USER }}/`git branch --no-color 2>/dev/null | grep '*' | sed -e 's/\\* //'`" - graph = !git log --oneline --graph --abbrev-commit --decorate --date=relative --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)\n' -[push] - default = simple -[commit] - gpgsign = true \ No newline at end of file diff --git a/config/profrc b/config/profrc deleted file mode 100644 index 3e62225..0000000 --- a/config/profrc +++ /dev/null @@ -1,74 +0,0 @@ -[connection] -autoping=0 -reconnect=5 -account=quentin.godefroid@corp.ovh.com -defaccount=quentin.godefroid@corp.ovh.com - -receipts.request=true -receipts.send=true - -[ui] -splash=false -intype=false -beep=false -statuses.muc=none -theme=boothj5 -history=false -titlebar=true -mouse=false -flash=true -vercheck=false -roster=true -roster.by=group -statuses.console=none -time.statusbar=%d/%m/%y %H:%M -statuses.console=none -statuses.chat=none -occupants.jid=false -roster.resource=hide - -roster.size=25 -presence=false -enc.warn=true -occupants=true -resource.message=false - -[chatstates] -enabled=false -outtype=false -gone=0 - -[notifications] -remind=60 -invite=true -sub=true -message=true -room=mention -message.current=false -room.current=false -typing=false -typing.current=true -message.text=true -room.text=true - -[alias] -friends=/who online friends -bob=/msg bob@server.org hey wassup? - -[logging] -chlog=true -grlog=true -maxsize=1073741824 -rotate=true -shared=false - -[otr] -warn=true -log=redact -policy=manual - -[presence] -autoaway.mode=away -autoaway.time=15 -autoaway.message=Away from computer -autoaway.check=false diff --git a/config/zshrc b/config/zshrc deleted file mode 100644 index 0d2aeaf..0000000 --- a/config/zshrc +++ /dev/null @@ -1,356 +0,0 @@ -export PATH=$HOME/bins/toolbox:$HOME/.local/bin:/usr/local/bin:$HOME/.pyenv/bin:$PATH -export ZSH=$HOME/.oh-my-zsh -# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes -ZSH_THEME="agnoster" - -# CASE_SENSITIVE="true" -# HYPHEN_INSENSITIVE="true" -DISABLE_AUTO_UPDATE="true" -# export UPDATE_ZSH_DAYS=13 -# DISABLE_LS_COLORS="true" -# DISABLE_AUTO_TITLE="true" -# ENABLE_CORRECTION="true" -# Uncomment the following line to display red dots whilst waiting for completion. -# COMPLETION_WAITING_DOTS="true" - -# DISABLE_UNTRACKED_FILES_DIRTY="true" -HIST_STAMPS="yyyy-mm-dd" - -# Would you like to use another custom folder than $ZSH/custom? -# ZSH_CUSTOM=/path/to/new-custom-folder - -# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) -# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ -# Example format: plugins=(rails git textmate ruby lighthouse) -# Add wisely, as too many plugins slow down shell startup. -plugins=( -adb -#ant -#apache2-macports -#arcanist -archlinux -#asdf -#autoenv -#autojump -#autopep8 -#aws -#battery -#bbedit -#bgnotify -#boot2docker -bower -branch -#brew -#bundler -#bwana -#cabal -#cake -#cakephp3 -#capistrano -#cargo -#cask -#catimg -#celery -#chruby -#chucknorris -#cloudapp -#codeclimate -#coffee -#colemak -colored-man-pages -colorize -#command-not-found -#common-aliases -#compleat -composer -#copybuffer -#copydir -#copyfile -cp -#cpanm -debian -#dircycle -#dirhistory -#dirpersist -#django -#dnf -docker -docker-compose -#docker-machine -#dotenv -#droplr -#eecms -#emacs -#ember-cli -emoji -#emoji-clock -#emotty -encode64 -#extract -#fabric -#fancy-ctrl-z -#fasd -#fastfile -#fbterm -#fedora -#firewalld -#forklift -#fossil -#frontend-search -#gas -#gb -#geeknote -#gem -git -git-extras -#git-flow -#git-flow-avh -#git-hubflow -#git-prompt -#git-remote-branch -#gitfast -#github -gitignore -#glassfish -#globalias -gnu-utils -golang -gpg-agent -#gradle -#grails -#grunt -#gulp -#hanami -#helm -#heroku -history -#history-substring-search -#httpie -iterm2 -#iwhois -#jake-node -#jhbuild -#jira -#jruby -jsontools -#jump -#kate -#kitchen -#knife -#knife_ssh -#kops -#kube-ps1 -#kubectl -#laravel -#laravel4 -#laravel5 -#last-working-dir -#lein -#lighthouse -#lol -#macports -man -#marked2 -#mercurial -#meteor -#minikube -#mix -#mix-fast -#mosh -#mvn -#mysql-macports -#n98-magerun -nanoc -#ng -#nmap -node -#nomad -npm -#npx -#nvm -#nyan -#oc -#osx -#pass -#paver -#pep8 -#per-directory-history -#perl -#perms -#phing -pip -#pj -#pod -postgres -#pow -#powder -#powify -#profiles -#pyenv -pylint -python -#rails -#rake -#rake-fast -#rand-quote -#rbenv -#rbfu -#react-native -#rebar -redis-cli -#repo -rsync -#ruby -rust -#rvm -#safe-paste -#sbt -#scala -#scd -#screen -#scw -#sfffe -#shrink-path -#singlechar -#spring -#sprunge -ssh-agent -#stack -#sublime -sudo -supervisor -#suse -#svn -#svn-fast-info -#swiftpm -#symfony -#symfony2 -#systemadmin -systemd -#taskwarrior -#terminalapp -#terminitor -#terraform -#textastic -#textmate -#thefuck -#themes -#thor -#tig -tmux -#tmux-cssh -#tmuxinator -#torrent -#tugboat -#ubuntu -#urltools -#vagrant -#vault -#vi-mode -#vim-interaction -#virtualenv -#virtualenvwrapper -#vundle -#wakeonlan -#wd -#web-search -#wp-cli -#xcode -#yarn -#yii -#yii2 -#yum -#z -#zeus -#zsh-navigation-tools -#zsh_reload -) - -zstyle :omz:plugins:ssh-agent agent-forwarding on -zstyle :omz:plugins:ssh-agent identities auberge -zstyle :omz:plugins:ssh-agent lifetime 4h - -source $ZSH/oh-my-zsh.sh - -# User configuration -# export MANPATH="/usr/local/man:$MANPATH" -# export LANG=en_US.UTF-8 - -# Preferred editor for local and remote sessions -# if [[ -n $SSH_CONNECTION ]]; then -# export EDITOR='vim' -# else -# export EDITOR='mvim' -# fi - -# Compilation flags -# export ARCHFLAGS="-arch x86_64" - -# ssh -# export SSH_KEY_PATH="~/.ssh/rsa_id" - -# Set personal aliases, overriding those provided by oh-my-zsh libs, -# plugins, and themes. Aliases can be placed here, though oh-my-zsh -# users are encouraged to define aliases within the ZSH_CUSTOM folder. -# For a full list of active aliases, run `alias`. -# -# Example aliases -# alias zshconfig="mate ~/.zshrc" -# alias ohmyzsh="mate ~/.oh-my-zsh" - - -HISTFILE="$HOME/.zshistory" -HISTSIZE=200000 -SAVEHIST=100000 -alias hist='history -D -E' -setopt hist_ignore_dups -#export TERM=rxvt-unicode-256color -unsetopt rm_star_silent -setopt auto_pushd - -# export SSH_KEY_PATH="~/.ssh/id_ed25519" - -status() { - print "" - print "Date..: "$(date "+%Y-%m-%d %H:%M:%S")"" - print "Shell.: Zsh $ZSH_VERSION (PID = $$, $SHLVL nests)" - print "Term..: $TTY ($TERM), $BAUD bauds, $COLUMNS x $LINES cars" - print "Login.: $LOGNAME (UID = $EUID) on $HOST" - print "System: $(cat /etc/[A-Za-z]*[_-][rv]e[lr]*)" - print "Uptime:$(uptime)" - print "" -} - -alias kbe='setxkbmap be' -alias kus='setxkbmap us' -alias meteo='curl -4 http://wttr.in/Roubaix' -alias dl='wget -r -k -T 5 -t 2 -U '\''Mozilla/5.0 (X11; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0'\'' ' -alias egrep='egrep --color=auto' -alias fgrep='fgrep --color=auto' -alias flip='shuf -i 0-1 -n 1 | sed -e '\''s/1/Pile/'\'' -e '\''s/0/Face/'\''' -alias grep='grep --color=auto' -alias ls='ls --classify --tabsize=0 --literal --color=auto --show-control-chars --human-readable' -alias l='ls -CF' -alias la='ls -A' -alias ll='ls -lah' -alias osj='openstack -f json' -alias osc='openstack console log show' -alias oss='openstack server' -alias pass='tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs' -alias paste='pastebin -m -n Hactar' -alias psa='ps auxwwwf' -alias toph='top -cHd1' -alias vdir='vdir --color=auto' -alias ip="ip --color" - -alias gw01='z3 gw01.infra.mps.gs.ovh.net' -alias hr-admin='z3 root@hr-admin.rungs.ovh' -alias public='z3 root@public01.infra.gs.ovh.net' -alias thot_cloudweb-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=c89ec346-ce0d-4504-b69b-b3c216e91385'\''' -alias thot_reseller-robot-preprod='thot '\''wss://thot.ovh.com/tail/?tk=e4bdf746-d041-41d3-81a5-7e4629d3e507'\''' -alias m5='sm3 ovh@mozg-mutu5.ovh.ha.ovh.net' -alias melt='sm3 gs@mozg-meltingpot.ovh.ha.ovh.net' -alias mis='sm3 mozg-mis.ovh.ha.ovh.net' -alias logalert='sm3 --osh logovh --log alert | grep -E "MUTU|INTERNE|CLOUDWEB"' -alias evilssh='ssh sm3.ovh.net -- --osh selfForgetHostKey --host mis-reseller.lb.engine.ha.ovh.net --port 10666 && ssh -t sm3.ovh.net -- root@mis-reseller.lb.engine.ha.ovh.net -p 10666' -alias c='connect' \ No newline at end of file diff --git a/external/oh-my-zsh b/external/oh-my-zsh deleted file mode 160000 index 12669f2..0000000 --- a/external/oh-my-zsh +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 12669f29f0843b8b980dd137f150a74511f88842 diff --git a/external/termite b/external/termite deleted file mode 160000 index 1b67c5c..0000000 --- a/external/termite +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1b67c5cdf575bd3d11b72f6f00d64dc7f3af0ba2 diff --git a/git/.gitconfig b/git/.gitconfig index 6b47a7d..3c32927 100644 --- a/git/.gitconfig +++ b/git/.gitconfig @@ -13,7 +13,10 @@ [init] defaultBranch = main - + +[commit] + gpgsign = true + [url "ssh://git@gitlab.com"] insteadOf = "https://www.gitlab.com" @@ -21,4 +24,4 @@ insteadOf = "https://www.github.com" [includeIf "gitdir:~/work"] - path = .gitconfig-work \ No newline at end of file + path = .gitconfig-work diff --git a/git/.gitconfig-work b/git/.gitconfig-work new file mode 100644 index 0000000..e16a53e --- /dev/null +++ b/git/.gitconfig-work @@ -0,0 +1,6 @@ +[user] + name = "Quentin Godefroid" + email = "quentin.godefroid@ovhcloud.com" + +[commit] + gpgsign = true diff --git a/helix/.config/helix/config.toml b/helix/.config/helix/config.toml new file mode 100644 index 0000000..0bc7d7d --- /dev/null +++ b/helix/.config/helix/config.toml @@ -0,0 +1,3 @@ +theme = "dracula_at_night" +[editor] +color-modes = true diff --git a/helix/.config/helix/languages.toml b/helix/.config/helix/languages.toml new file mode 100644 index 0000000..f9dac46 --- /dev/null +++ b/helix/.config/helix/languages.toml @@ -0,0 +1,1556 @@ +# Language support configuration. +# See the languages documentation: https://docs.helix-editor.com/master/languages.html + +[[language]] +name = "rust" +scope = "source.rust" +injection-regex = "rust" +file-types = ["rs"] +roots = ["Cargo.toml", "Cargo.lock"] +auto-format = true +comment-token = "//" +language-server = { command = "rust-analyzer" } +indent = { tab-width = 4, unit = " " } + +[language.auto-pairs] +'(' = ')' +'{' = '}' +'[' = ']' +'"' = '"' +'`' = '`' + +[language.debugger] +name = "lldb-vscode" +transport = "stdio" +command = "lldb-vscode" + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { program = "{0}" } + +[[language.debugger.templates]] +name = "binary (terminal)" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { program = "{0}", runInTerminal = true } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { pid = "{0}" } + +[[language.debugger.templates]] +name = "gdbserver attach" +request = "attach" +completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] +args = { attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } + +[[grammar]] +name = "rust" +source = { git = "https://github.com/tree-sitter/tree-sitter-rust", rev = "a360da0a29a19c281d08295a35ecd0544d2da211" } + +[[language]] +name = "toml" +scope = "source.toml" +injection-regex = "toml" +file-types = ["toml"] +roots = [] +comment-token = "#" +language-server = { command = "taplo", args = ["lsp", "stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "toml" +source = { git = "https://github.com/ikatyang/tree-sitter-toml", rev = "7cff70bbcbbc62001b465603ca1ea88edd668704" } + +[[language]] +name = "protobuf" +scope = "source.proto" +injection-regex = "protobuf" +file-types = ["proto"] +roots = [] +comment-token = "//" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "protobuf" +source = { git = "https://github.com/yusdacra/tree-sitter-protobuf", rev = "19c211a01434d9f03efff99f85e19f967591b175"} + +[[language]] +name = "elixir" +scope = "source.elixir" +injection-regex = "(elixir|ex)" +file-types = ["ex", "exs", "mix.lock"] +shebangs = ["elixir"] +roots = [] +comment-token = "#" +language-server = { command = "elixir-ls" } +config = { elixirLS.dialyzerEnabled = false } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "elixir" +source = { git = "https://github.com/elixir-lang/tree-sitter-elixir", rev = "1dabc1c790e07115175057863808085ea60dd08a" } + +[[language]] +name = "fish" +scope = "source.fish" +injection-regex = "fish" +file-types = ["fish"] +shebangs = ["fish"] +roots = [] +comment-token = "#" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "fish" +source = { git = "https://github.com/ram02z/tree-sitter-fish", rev = "04e54ab6585dfd4fee6ddfe5849af56f101b6d4f" } + +[[language]] +name = "mint" +scope = "source.mint" +injection-regex = "mint" +file-types = ["mint"] +shebangs = [] +roots = [] +comment-token = "//" +language-server = { command = "mint", args = ["ls"] } +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "json" +scope = "source.json" +injection-regex = "json" +file-types = ["json"] +roots = [] +language-server = { command = "vscode-json-language-server", args = ["--stdio"] } +auto-format = true +config = { "provideFormatter" = true } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "json" +source = { git = "https://github.com/tree-sitter/tree-sitter-json", rev = "65bceef69c3b0f24c0b19ce67d79f57c96e90fcb" } + +[[language]] +name = "c" +scope = "source.c" +injection-regex = "c" +file-types = ["c"] # TODO: ["h"] +roots = [] +comment-token = "//" +language-server = { command = "clangd" } +indent = { tab-width = 2, unit = " " } + +[language.debugger] +name = "lldb-vscode" +transport = "stdio" +command = "lldb-vscode" + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { console = "internalConsole", program = "{0}" } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { console = "internalConsole", pid = "{0}" } + +[[language.debugger.templates]] +name = "gdbserver attach" +request = "attach" +completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] +args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } + +[[grammar]] +name = "c" +source = { git = "https://github.com/tree-sitter/tree-sitter-c", rev = "f05e279aedde06a25801c3f2b2cc8ac17fac52ae" } + +[[language]] +name = "cpp" +scope = "source.cpp" +injection-regex = "cpp" +file-types = ["cc", "hh", "cpp", "hpp", "h", "ipp", "tpp", "cxx", "hxx", "ixx", "txx", "ino"] +roots = [] +comment-token = "//" +language-server = { command = "clangd" } +indent = { tab-width = 2, unit = " " } + +[language.debugger] +name = "lldb-vscode" +transport = "stdio" +command = "lldb-vscode" + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { console = "internalConsole", program = "{0}" } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { console = "internalConsole", pid = "{0}" } + +[[language.debugger.templates]] +name = "gdbserver attach" +request = "attach" +completion = [ { name = "lldb connect url", default = "connect://localhost:3333" }, { name = "file", completion = "filename" }, "pid" ] +args = { console = "internalConsole", attachCommands = [ "platform select remote-gdb-server", "platform connect {0}", "file {1}", "attach {2}" ] } + +[[grammar]] +name = "cpp" +source = { git = "https://github.com/tree-sitter/tree-sitter-cpp", rev = "e8dcc9d2b404c542fd236ea5f7208f90be8a6e89" } + +[[language]] +name = "c-sharp" +scope = "source.csharp" +injection-regex = "c-?sharp" +file-types = ["cs"] +roots = ["sln", "csproj"] +comment-token = "//" +indent = { tab-width = 4, unit = "\t" } +language-server = { command = "OmniSharp", args = [ "--languageserver", "--stdio" ] } + +[[grammar]] +name = "c-sharp" +source = { git = "https://github.com/tree-sitter/tree-sitter-c-sharp", rev = "53a65a908167d6556e1fcdb67f1ee62aac101dda" } + +[[language]] +name = "go" +scope = "source.go" +injection-regex = "go" +file-types = ["go"] +roots = ["Gopkg.toml", "go.mod"] +auto-format = true +comment-token = "//" +language-server = { command = "gopls" } +# TODO: gopls needs utf-8 offsets? +indent = { tab-width = 4, unit = "\t" } + +[language.debugger] +name = "go" +transport = "tcp" +command = "dlv" +args = ["dap"] +port-arg = "-l 127.0.0.1:{}" + +[[language.debugger.templates]] +name = "source" +request = "launch" +completion = [ { name = "entrypoint", completion = "filename", default = "." } ] +args = { mode = "debug", program = "{0}" } + +[[language.debugger.templates]] +name = "binary" +request = "launch" +completion = [ { name = "binary", completion = "filename" } ] +args = { mode = "exec", program = "{0}" } + +[[language.debugger.templates]] +name = "test" +request = "launch" +completion = [ { name = "tests", completion = "directory", default = "." } ] +args = { mode = "test", program = "{0}" } + +[[language.debugger.templates]] +name = "attach" +request = "attach" +completion = [ "pid" ] +args = { mode = "local", processId = "{0}" } + +[[grammar]] +name = "go" +source = { git = "https://github.com/tree-sitter/tree-sitter-go", rev = "0fa917a7022d1cd2e9b779a6a8fc5dc7fad69c75" } + +[[language]] +name = "gomod" +scope = "source.gomod" +injection-regex = "gomod" +file-types = ["go.mod"] +roots = [] +auto-format = true +comment-token = "//" +language-server = { command = "gopls" } +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "gomod" +source = { git = "https://github.com/camdencheek/tree-sitter-go-mod", rev = "e8f51f8e4363a3d9a427e8f63f4c1bbc5ef5d8d0" } + +[[language]] +name = "gowork" +scope = "source.gowork" +injection-regex = "gowork" +file-types = ["go.work"] +roots = [] +auto-format = true +comment-token = "//" +language-server = { command = "gopls" } +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "gowork" +source = { git = "https://github.com/omertuc/tree-sitter-go-work", rev = "6dd9dd79fb51e9f2abc829d5e97b15015b6a8ae2" } + +[[language]] +name = "javascript" +scope = "source.js" +injection-regex = "^(js|javascript)$" +file-types = ["js", "jsx", "mjs", "cjs"] +shebangs = ["node"] +roots = [] +comment-token = "//" +# TODO: highlights-params +language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" } +indent = { tab-width = 2, unit = " " } + +[language.debugger] +name = "node-debug2" +transport = "stdio" +# args consisting of cmd (node) and path to adapter should be added to user's configuration +quirks = { absolute-paths = true } + +[[language.debugger.templates]] +name = "source" +request = "launch" +completion = [ { name = "main", completion = "filename", default = "index.js" } ] +args = { program = "{0}" } + +[[grammar]] +name = "javascript" +source = { git = "https://github.com/tree-sitter/tree-sitter-javascript", rev = "4a95461c4761c624f2263725aca79eeaefd36cad" } + +[[language]] +name = "jsx" +scope = "source.jsx" +injection-regex = "jsx" +file-types = ["jsx"] +roots = [] +comment-token = "//" +language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "javascript" } +indent = { tab-width = 2, unit = " " } +grammar = "javascript" + +[[language]] +name = "typescript" +scope = "source.ts" +injection-regex = "^(ts|typescript)$" +file-types = ["ts"] +shebangs = [] +roots = [] +# TODO: highlights-params +language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescript"} +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "typescript" +source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "3e897ea5925f037cfae2e551f8e6b12eec2a201a", subpath = "typescript" } + +[[language]] +name = "tsx" +scope = "source.tsx" +injection-regex = "^(tsx)$" # |typescript +file-types = ["tsx"] +roots = [] +# TODO: highlights-params +language-server = { command = "typescript-language-server", args = ["--stdio"], language-id = "typescriptreact" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "tsx" +source = { git = "https://github.com/tree-sitter/tree-sitter-typescript", rev = "3e897ea5925f037cfae2e551f8e6b12eec2a201a", subpath = "tsx" } + +[[language]] +name = "css" +scope = "source.css" +injection-regex = "css" +file-types = ["css", "scss"] +roots = [] +language-server = { command = "vscode-css-language-server", args = ["--stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "css" +source = { git = "https://github.com/tree-sitter/tree-sitter-css", rev = "94e10230939e702b4fa3fa2cb5c3bc7173b95d07" } + +[[language]] +name = "scss" +scope = "source.scss" +injection-regex = "scss" +file-types = ["scss"] +roots = [] +language-server = { command = "vscode-css-language-server", args = ["--stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "scss" +source = { git = "https://github.com/serenadeai/tree-sitter-scss", rev = "c478c6868648eff49eb04a4df90d703dc45b312a" } + +[[language]] +name = "html" +scope = "text.html.basic" +injection-regex = "html" +file-types = ["html"] +roots = [] +language-server = { command = "vscode-html-language-server", args = ["--stdio"] } +auto-format = true +config = { "provideFormatter" = true } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "html" +source = { git = "https://github.com/tree-sitter/tree-sitter-html", rev = "d93af487cc75120c89257195e6be46c999c6ba18" } + +[[language]] +name = "python" +scope = "source.python" +injection-regex = "python" +file-types = ["py"] +shebangs = ["python"] +roots = [] +comment-token = "#" +language-server = { command = "pylsp" } +# TODO: pyls needs utf-8 offsets +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "python" +source = { git = "https://github.com/tree-sitter/tree-sitter-python", rev = "d6210ceab11e8d812d4ab59c07c81458ec6e5184" } + +[[language]] +name = "nickel" +scope = "source.nickel" +injection-regex = "nickel" +file-types = ["ncl"] +shebangs = [] +roots = [] +comment-token = "#" +language-server = { command = "nls" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "nickel" +source = { git = "https://github.com/nickel-lang/tree-sitter-nickel", rev = "9d83db400b6c11260b9106f131f93ddda8131933" } + +[[language]] +name = "nix" +scope = "source.nix" +injection-regex = "nix" +file-types = ["nix"] +shebangs = [] +roots = [] +comment-token = "#" +language-server = { command = "rnix-lsp" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "nix" +source = { git = "https://github.com/cstrahan/tree-sitter-nix", rev = "6b71a810c0acd49b980c50fc79092561f7cee307" } + +[[language]] +name = "ruby" +scope = "source.ruby" +injection-regex = "ruby" +file-types = ["rb", "rake", "rakefile", "irb", "gemfile", "gemspec", "Rakefile", "Gemfile"] +shebangs = ["ruby"] +roots = [] +comment-token = "#" +language-server = { command = "solargraph", args = ["stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "ruby" +source = { git = "https://github.com/tree-sitter/tree-sitter-ruby", rev = "dfff673b41df7fadcbb609c6338f38da3cdd018e" } + +[[language]] +name = "bash" +scope = "source.bash" +injection-regex = "(shell|bash|zsh|sh)" +file-types = ["sh", "bash", "zsh", ".bash_login", ".bash_logout", ".bash_profile", ".bashrc", ".profile", ".zshenv", ".zlogin", ".zlogout", ".zprofile", ".zshrc", "APKBUILD", "PKGBUILD", "eclass", "ebuild", "bazelrc"] +shebangs = ["sh", "bash", "dash"] +roots = [] +comment-token = "#" +language-server = { command = "bash-language-server", args = ["start"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "bash" +source = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "275effdfc0edce774acf7d481f9ea195c6c403cd" } + +[[language]] +name = "php" +scope = "source.php" +injection-regex = "php" +file-types = ["php", "inc"] +shebangs = ["php"] +roots = ["composer.json", "index.php"] +language-server = { command = "intelephense", args = ["--stdio"] } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "php" +source = { git = "https://github.com/tree-sitter/tree-sitter-php", rev = "57f855461aeeca73bd4218754fb26b5ac143f98f" } + +[[language]] +name = "twig" +scope = "source.twig" +injection-regex = "twig" +file-types = ["twig"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "twig" +source = { git = "https://github.com/eirabben/tree-sitter-twig", rev = "b7444181fb38e603e25ea8fcdac55f9492e49c27" } + +[[language]] +name = "latex" +scope = "source.tex" +injection-regex = "tex" +file-types = ["tex"] +roots = [] +comment-token = "%" +language-server = { command = "texlab" } +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "latex" +source = { git = "https://github.com/latex-lsp/tree-sitter-latex", rev = "7f720661de5316c0f8fee956526d4002fa1086d8" } + +[[language]] +name = "lean" +scope = "source.lean" +injection-regex = "lean" +file-types = ["lean"] +roots = [ "lakefile.lean" ] +comment-token = "--" +language-server = { command = "lean", args = [ "--server" ] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "lean" +source = { git = "https://github.com/Julian/tree-sitter-lean", rev = "d98426109258b266e1e92358c5f11716d2e8f638" } + +[[language]] +name = "julia" +scope = "source.julia" +injection-regex = "julia" +file-types = ["jl"] +roots = [] +comment-token = "#" +language-server = { command = "julia", args = [ + "--startup-file=no", + "--history-file=no", + "--quiet", + "-e", + "using LanguageServer; runserver()", + ] } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "julia" +source = { git = "https://github.com/tree-sitter/tree-sitter-julia", rev = "12ea597262125fc22fd2e91aa953ac69b19c26ca" } + +[[language]] +name = "java" +scope = "source.java" +injection-regex = "java" +file-types = ["java"] +roots = ["pom.xml"] +language-server = { command = "jdtls" } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "java" +source = { git = "https://github.com/tree-sitter/tree-sitter-java", rev = "bd6186c24d5eb13b4623efac9d944dcc095c0dad" } + +[[language]] +name = "ledger" +scope = "source.ledger" +injection-regex = "ledger" +file-types = ["ldg", "ledger", "journal"] +roots = [] +comment-token = ";" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "ledger" +source = { git = "https://github.com/cbarrete/tree-sitter-ledger", rev = "1f864fb2bf6a87fe1b48545cc6adc6d23090adf7" } + +[[language]] +name = "ocaml" +scope = "source.ocaml" +injection-regex = "ocaml" +file-types = ["ml"] +shebangs = [] +roots = [] +comment-token = "(**)" +language-server = { command = "ocamllsp" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "ocaml" +source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "ocaml" } + +[[language]] +name = "ocaml-interface" +scope = "source.ocaml.interface" +file-types = ["mli"] +shebangs = [] +roots = [] +comment-token = "(**)" +language-server = { command = "ocamllsp" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "ocaml-interface" +source = { git = "https://github.com/tree-sitter/tree-sitter-ocaml", rev = "23d419ba45789c5a47d31448061557716b02750a", subpath = "interface" } + +[[language]] +name = "lua" +scope = "source.lua" +file-types = ["lua"] +shebangs = ["lua"] +roots = [".luarc.json", ".luacheckrc", ".stylua.toml", "selene.toml", ".git"] +comment-token = "--" +indent = { tab-width = 2, unit = " " } +language-server = { command = "lua-language-server", args = [] } + +[[grammar]] +name = "lua" +source = { git = "https://github.com/nvim-treesitter/tree-sitter-lua", rev = "6f5d40190ec8a0aa8c8410699353d820f4f7d7a6" } + +[[language]] +name = "svelte" +scope = "source.svelte" +injection-regex = "svelte" +file-types = ["svelte"] +roots = [] +indent = { tab-width = 2, unit = " " } +language-server = { command = "svelteserver", args = ["--stdio"] } + +[[grammar]] +name = "svelte" +source = { git = "https://github.com/Himujjal/tree-sitter-svelte", rev = "349a5984513b4a4a9e143a6e746120c6ff6cf6ed" } + +[[language]] +name = "vue" +scope = "source.vue" +injection-regex = "vue" +file-types = ["vue"] +roots = ["package.json", "vue.config.js"] +indent = { tab-width = 2, unit = " " } +language-server = { command = "vls" } + +[[grammar]] +name = "vue" +source = { git = "https://github.com/ikatyang/tree-sitter-vue", rev = "91fe2754796cd8fba5f229505a23fa08f3546c06" } + +[[language]] +name = "yaml" +scope = "source.yaml" +file-types = ["yml", "yaml"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "yaml-language-server", args = ["--stdio"] } +injection-regex = "yml|yaml" + +[[grammar]] +name = "yaml" +source = { git = "https://github.com/ikatyang/tree-sitter-yaml", rev = "0e36bed171768908f331ff7dff9d956bae016efb" } + +[[language]] +name = "haskell" +scope = "source.haskell" +injection-regex = "haskell" +file-types = ["hs"] +roots = ["Setup.hs", "stack.yaml", "*.cabal"] +comment-token = "--" +language-server = { command = "haskell-language-server-wrapper", args = ["--lsp"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "haskell" +source = { git = "https://github.com/tree-sitter/tree-sitter-haskell", rev = "b6ec26f181dd059eedd506fa5fbeae1b8e5556c8" } + +[[language]] +name = "zig" +scope = "source.zig" +injection-regex = "zig" +file-types = ["zig"] +roots = ["build.zig"] +auto-format = true +comment-token = "//" +language-server = { command = "zls" } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "zig" +source = { git = "https://github.com/maxxnino/tree-sitter-zig", rev = "93331b8bd8b4ebee2b575490b2758f16ad4e9f30" } + +[[language]] +name = "prolog" +scope = "source.prolog" +roots = [] +file-types = ["pl", "prolog"] +shebangs = ["swipl"] +comment-token = "%" +language-server = { command = "swipl", args = [ + "-g", "use_module(library(lsp_server))", + "-g", "lsp_server:main", + "-t", "halt", "--", "stdio"] } + +[[language]] +name = "tsq" +scope = "source.tsq" +file-types = ["scm"] +roots = [] +comment-token = ";" +injection-regex = "tsq" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "tsq" +source = { git = "https://github.com/the-mikedavis/tree-sitter-tsq", rev = "48b5e9f82ae0a4727201626f33a17f69f8e0ff86" } + +[[language]] +name = "cmake" +scope = "source.cmake" +file-types = ["cmake", "CMakeLists.txt"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "cmake-language-server" } +injection-regex = "cmake" + +[[grammar]] +name = "cmake" +source = { git = "https://github.com/uyha/tree-sitter-cmake", rev = "f6616f1e417ee8b62daf251aa1daa5d73781c596" } + +[[language]] +name = "make" +scope = "source.make" +file-types = ["Makefile", "makefile", "mk", "justfile", ".justfile"] +injection-regex = "(make|makefile|Makefile|mk|just)" +roots = [] +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "make" +source = { git = "https://github.com/alemuller/tree-sitter-make", rev = "a4b9187417d6be349ee5fd4b6e77b4172c6827dd" } + +[[language]] +name = "glsl" +scope = "source.glsl" +file-types = ["glsl", "vert", "tesc", "tese", "geom", "frag", "comp" ] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = " " } +injection-regex = "glsl" + +[[grammar]] +name = "glsl" +source = { git = "https://github.com/theHamsta/tree-sitter-glsl", rev = "88408ffc5e27abcffced7010fc77396ae3636d7e" } + +[[language]] +name = "perl" +scope = "source.perl" +file-types = ["pl", "pm", "t"] +shebangs = ["perl"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "perl" +source = { git = "https://github.com/ganezdragon/tree-sitter-perl", rev = "0ac2c6da562c7a2c26ed7e8691d4a590f7e8b90a" } + +[[language]] +name = "racket" +scope = "source.rkt" +roots = [] +file-types = ["rkt"] +shebangs = ["racket"] +comment-token = ";" +language-server = { command = "racket", args = ["-l", "racket-langserver"] } + +[[language]] +name = "comment" +scope = "scope.comment" +roots = [] +file-types = [] +injection-regex = "comment" + +[[grammar]] +name = "comment" +source = { git = "https://github.com/stsewd/tree-sitter-comment", rev = "5dd3c62f1bbe378b220fe16b317b85247898639e" } + +[[language]] +name = "wgsl" +scope = "source.wgsl" +file-types = ["wgsl"] +roots = [] +comment-token = "//" +language-server = { command = "wgsl_analyzer" } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "wgsl" +source = { git = "https://github.com/szebniok/tree-sitter-wgsl", rev = "f00ff52251edbd58f4d39c9c3204383253032c11" } + +[[language]] +name = "llvm" +scope = "source.llvm" +roots = [] +file-types = ["ll"] +comment-token = ";" +indent = { tab-width = 2, unit = " " } +injection-regex = "llvm" + +[[grammar]] +name = "llvm" +source = { git = "https://github.com/benwilliamgraham/tree-sitter-llvm", rev = "3b213925b9c4f42c1acfe2e10bfbb438d9c6834d" } + +[[language]] +name = "llvm-mir" +scope = "source.llvm_mir" +roots = [] +file-types = [] +comment-token = ";" +indent = { tab-width = 2, unit = " " } +injection-regex = "mir" + +[[grammar]] +name = "llvm-mir" +source = { git = "https://github.com/Flakebi/tree-sitter-llvm-mir", rev = "06fabca19454b2dc00c1b211a7cb7ad0bc2585f1" } + +[[language]] +name = "llvm-mir-yaml" +# TODO allow languages to point to their grammar like so: +# +# grammar = "yaml" +scope = "source.yaml" +roots = [] +file-types = ["mir"] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[language]] +name = "tablegen" +scope = "source.tablegen" +roots = [] +file-types = ["td"] +comment-token = "//" +indent = { tab-width = 2, unit = " " } +injection-regex = "tablegen" + +[[grammar]] +name = "tablegen" +source = { git = "https://github.com/Flakebi/tree-sitter-tablegen", rev = "568dd8a937347175fd58db83d4c4cdaeb6069bd2" } + +[[language]] +name = "markdown" +scope = "source.md" +injection-regex = "md|markdown" +file-types = ["md"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "markdown" +source = { git = "https://github.com/MDeiml/tree-sitter-markdown", rev = "ab15701d8f3f68aeb74e30573b7d669a6ef2a7ed" } + +[[language]] +name = "dart" +scope = "source.dart" +file-types = ["dart"] +roots = ["pubspec.yaml"] +auto-format = true +comment-token = "//" +language-server = { command = "dart", args = ["language-server", "--client-id=helix"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "dart" +source = { git = "https://github.com/UserNobody14/tree-sitter-dart", rev = "6a25376685d1d47968c2cef06d4db8d84a70025e" } + +[[language]] +name = "scala" +scope = "source.scala" +roots = ["build.sbt", "pom.xml"] +file-types = ["scala", "sbt"] +comment-token = "//" +indent = { tab-width = 2, unit = " " } +language-server = { command = "metals" } + +[[grammar]] +name = "scala" +source = { git = "https://github.com/tree-sitter/tree-sitter-scala", rev = "0a3dd53a7fc4b352a538397d054380aaa28be54c" } + +[[language]] +name = "dockerfile" +scope = "source.dockerfile" +injection-regex = "docker|dockerfile" +roots = ["Dockerfile"] +file-types = ["Dockerfile", "dockerfile"] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "docker-langserver", args = ["--stdio"] } + +[[grammar]] +name = "dockerfile" +source = { git = "https://github.com/camdencheek/tree-sitter-dockerfile", rev = "7af32bc04a66ab196f5b9f92ac471f29372ae2ce" } + +[[language]] +name = "git-commit" +scope = "git.commitmsg" +roots = [] +file-types = ["COMMIT_EDITMSG"] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "git-commit" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-commit", rev = "318dd72abfaa7b8044c1d1fbeabcd06deaaf038f" } + +[[language]] +name = "git-diff" +scope = "source.diff" +roots = [] +file-types = ["diff"] +injection-regex = "diff" +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "git-diff" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-diff", rev = "c12e6ecb54485f764250556ffd7ccb18f8e2942b" } + +[[language]] +name = "git-rebase" +scope = "source.gitrebase" +roots = [] +file-types = ["git-rebase-todo"] +injection-regex = "git-rebase" +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "git-rebase" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-rebase", rev = "332dc528f27044bc4427024dbb33e6941fc131f2" } + +[[language]] +name = "regex" +scope = "source.regex" +injection-regex = "regex" +file-types = ["regex"] +roots = [] + +[[grammar]] +name = "regex" +source = { git = "https://github.com/tree-sitter/tree-sitter-regex", rev = "e1cfca3c79896ff79842f057ea13e529b66af636" } + +[[language]] +name = "git-config" +scope = "source.gitconfig" +roots = [] +# TODO: allow specifying file-types as a regex so we can read directory names (e.g. `.git/config`) +file-types = [".gitmodules", ".gitconfig"] +injection-regex = "git-config" +comment-token = "#" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "git-config" +source = { git = "https://github.com/the-mikedavis/tree-sitter-git-config", rev = "0e4f0baf90b57e5aeb62dcdbf03062c6315d43ea" } + +[[language]] +name = "git-attributes" +scope = "source.gitattributes" +roots = [] +file-types = [".gitattributes"] +injection-regex = "git-attributes" +comment-token = "#" +grammar = "gitattributes" + +[[grammar]] +name = "gitattributes" +source = { git = "https://github.com/mtoohey31/tree-sitter-gitattributes", rev = "3dd50808e3096f93dccd5e9dc7dc3dba2eb12dc4" } + +[[language]] +name = "git-ignore" +scope = "source.gitignore" +roots = [] +file-types = [".gitignore", ".gitignore_global"] +injection-regex = "git-ignore" +comment-token = "#" +grammar = "gitignore" + +[[grammar]] +name = "gitignore" +source = { git = "https://github.com/shunsambongi/tree-sitter-gitignore", rev = "f4685bf11ac466dd278449bcfe5fd014e94aa504" } + +[[language]] +name = "graphql" +scope = "source.graphql" +injection-regex = "graphql" +file-types = ["gql", "graphql"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "graphql" +source = { git = "https://github.com/bkegley/tree-sitter-graphql", rev = "5e66e961eee421786bdda8495ed1db045e06b5fe" } + +[[language]] +name = "elm" +scope = "source.elm" +injection-regex = "elm" +file-types = ["elm"] +roots = ["elm.json"] +auto-format = true +comment-token = "--" +language-server = { command = "elm-language-server" } +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "elm" +source = { git = "https://github.com/elm-tooling/tree-sitter-elm", rev = "bd50ccf66b42c55252ac8efc1086af4ac6bab8cd" } + +[[language]] +name = "iex" +scope = "source.iex" +injection-regex = "iex" +file-types = ["iex"] +roots = [] + +[[grammar]] +name = "iex" +source = { git = "https://github.com/elixir-lang/tree-sitter-iex", rev = "39f20bb51f502e32058684e893c0c0b00bb2332c" } + +[[language]] +name = "rescript" +scope = "source.rescript" +injection-regex = "rescript" +file-types = ["res"] +roots = ["bsconfig.json"] +auto-format = true +comment-token = "//" +language-server = { command = "rescript-language-server", args = ["--stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "rescript" +source = { git = "https://github.com/jaredramirez/tree-sitter-rescript", rev = "4cd7ba91696886fdaca086fb32b5fd8cc294a129" } + +[[language]] +name = "erlang" +scope = "source.erlang" +injection-regex = "erl(ang)?" +file-types = ["erl", "hrl", "app", "rebar.config", "rebar.lock"] +roots = ["rebar.config"] +comment-token = "%%" +indent = { tab-width = 4, unit = " " } +language-server = { command = "erlang_ls" } + +[[grammar]] +name = "erlang" +source = { git = "https://github.com/the-mikedavis/tree-sitter-erlang", rev = "0e7d677d11a7379686c53c616825714ccb728059" } + +[[language]] +name = "kotlin" +scope = "source.kotlin" +file-types = ["kt", "kts"] +roots = ["settings.gradle", "settings.gradle.kts"] +comment-token = "//" +indent = { tab-width = 4, unit = " " } +language-server = { command = "kotlin-language-server" } + +[[grammar]] +name = "kotlin" +source = { git = "https://github.com/fwcd/tree-sitter-kotlin", rev = "a4f71eb9b8c9b19ded3e0e9470be4b1b77c2b569" } + +[[language]] +name = "hcl" +scope = "source.hcl" +injection-regex = "(hcl|tf|nomad)" +file-types = ["hcl", "tf", "nomad"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform" } +auto-format = true + +[[grammar]] +name = "hcl" +source = { git = "https://github.com/MichaHoffmann/tree-sitter-hcl", rev = "3cb7fc28247efbcb2973b97e71c78838ad98a583" } + +[[language]] +name = "tfvars" +scope = "source.tfvars" +file-types = ["tfvars"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "terraform-ls", args = ["serve"], language-id = "terraform-vars" } +auto-format = true +grammar = "hcl" + +[[language]] +name = "org" +scope = "source.org" +injection-regex = "org" +file-types = ["org"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "org" +source = { git = "https://github.com/milisims/tree-sitter-org", rev = "1c3eb533a9cf6800067357b59e03ac3f91fc3a54" } + +[[language]] +name = "solidity" +scope = "source.sol" +injection-regex = "^(sol|solidity)$" +file-types = ["sol"] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = " " } +language-server = { command = "solc", args = ["--lsp"] } + +[[grammar]] +name = "solidity" +source = { git = "https://github.com/slinlee/tree-sitter-solidity", rev = "f3a002274744e859bf64cf3524985f8c31ea84fd" } + +[[language]] +name = "gleam" +scope = "source.gleam" +injection-regex = "gleam" +file-types = ["gleam"] +roots = ["gleam.toml"] +comment-token = "//" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "gleam" +source = { git = "https://github.com/gleam-lang/tree-sitter-gleam", rev = "d7861b2a4b4d594c58bb4f1be5f1f4ee4c67e5c3" } + +[[language]] +name = "ron" +scope = "source.ron" +injection-regex = "ron" +file-types = ["ron"] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = " " } +grammar = "rust" + +[[language]] +name = "r" +scope = "source.r" +injection-regex = "(r|R)" +file-types = ["r", "R"] +shebangs = ["r", "R"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] } + +[[grammar]] +name = "r" +source = { git = "https://github.com/r-lib/tree-sitter-r", rev = "cc04302e1bff76fa02e129f332f44636813b0c3c" } + +[[language]] +name = "rmarkdown" +scope = "source.rmd" +injection-regex = "(r|R)md" +file-types = ["rmd", "Rmd"] +roots = [] +indent = { tab-width = 2, unit = " " } +grammar = "markdown" +language-server = { command = "R", args = ["--slave", "-e", "languageserver::run()"] } + +[[language]] +name = "swift" +scope = "source.swift" +injection-regex = "swift" +file-types = ["swift"] +roots = [ "Package.swift" ] +comment-token = "//" +auto-format = true +language-server = { command = "sourcekit-lsp" } + +[[grammar]] +name = "swift" +source = { git = "https://github.com/Dispersia/tree-sitter-swift", rev = "e75240f89bb3bfd3396155859ae364e5c58d7377" } + +[[language]] +name = "erb" +scope = "text.html.erb" +injection-regex = "erb" +file-types = ["erb"] +roots = [] +indent = { tab-width = 2, unit = " " } +grammar = "embedded-template" + +[[language]] +name = "ejs" +scope = "text.html.ejs" +injection-regex = "ejs" +file-types = ["ejs"] +roots = [] +indent = { tab-width = 2, unit = " " } +grammar = "embedded-template" + +[[grammar]] +name = "embedded-template" +source = { git = "https://github.com/tree-sitter/tree-sitter-embedded-template", rev = "d21df11b0ecc6fd211dbe11278e92ef67bd17e97" } + +[[language]] +name = "eex" +scope = "source.eex" +injection-regex = "eex" +file-types = ["eex"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "eex" +source = { git = "https://github.com/connorlay/tree-sitter-eex", rev = "f742f2fe327463335e8671a87c0b9b396905d1d1" } + +[[language]] +name = "heex" +scope = "source.heex" +injection-regex = "heex" +file-types = ["heex"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "heex" +source = { git = "https://github.com/phoenixframework/tree-sitter-heex", rev = "961bc4d2937cfd24ceb0a5a6b2da607809f8822e" } + +[[language]] +name = "sql" +scope = "source.sql" +file-types = ["sql"] +roots = [] +comment-token = "--" +indent = { tab-width = 4, unit = " " } +injection-regex = "sql" + +[[grammar]] +name = "sql" +source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "0caa7fa2ee00e0b770493a79d4efacc1fc376cc5" } + +[[language]] +name = "gdscript" +scope = "source.gdscript" +injection-regex = "gdscript" +file-types = ["gd"] +shebangs = [] +roots = ["project.godot"] +auto-format = true +comment-token = "#" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "gdscript" +source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "2a6abdaa47fcb91397e09a97c7433fd995ea46c6" } + +[[language]] +name = "nu" +scope = "source.nu" +injection-regex = "nu" +file-types = ["nu"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "nu" +source = { git = "https://github.com/LhKipp/tree-sitter-nu", rev = "db4e990b78824c8abef3618e0f93b7fe1e8f4c0d" } + +[[language]] +name = "vala" +scope = "source.vala" +injection-regex = "vala" +file-types = ["vala", "vapi"] +roots = [] +comment-token = "//" +indent = { tab-width = 2, unit = " " } +language-server = { command = "vala-language-server" } + +[[grammar]] +name = "vala" +source = { git = "https://github.com/vala-lang/tree-sitter-vala", rev = "c9eea93ba2ec4ec1485392db11945819779745b3" } + +[[language]] +name = "hare" +scope = "source.hare" +injection-regex = "hare" +file-types = ["ha"] +roots = [] +comment-token = "//" +indent = { tab-width = 8, unit = "\t" } + +[[grammar]] +name = "hare" +source = { git = "https://git.sr.ht/~ecmma/tree-sitter-hare", rev = "bc26a6a949f2e0d98b7bfc437d459b250900a165" } + +[[language]] +name = "devicetree" +scope = "source.devicetree" +injection-regex = "(dtsi?|devicetree|fdt)" +file-types = ["dts", "dtsi"] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "devicetree" +source = { git = "https://github.com/joelspadin/tree-sitter-devicetree", rev = "877adbfa0174d25894c40fa75ad52d4515a36368" } + +[[language]] +name = "cairo" +scope = "source.cairo" +injection-regex = "cairo" +file-types = ["cairo"] +roots = [] +comment-token = "#" +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "cairo" +source = { git = "https://github.com/archseer/tree-sitter-cairo", rev = "5155c6eb40db6d437f4fa41b8bcd8890a1c91716" } + +[[language]] +name = "cpon" +scope = "scope.cpon" +injection-regex = "^cpon$" +file-types = ["cpon", "cp"] +roots = [] +auto-format = true +comment-token = "//" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "cpon" +source = { git = "https://github.com/fvacek/tree-sitter-cpon", rev = "0d01fcdae5a53191df5b1349f9bce053833270e7" } + +[[language]] +name = "odin" +auto-format = false +scope = "source.odin" +file-types = ["odin"] +roots = [] +comment-token = "//" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "odin" +source = { git = "https://github.com/MineBill/tree-sitter-odin", rev = "da885f4a387f169b9b69fe0968259ee257a8f69a" } + +[[language]] +name = "meson" +scope = "source.meson" +injection-regex = "meson" +file-types = ["meson.build"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "meson" +source = { git = "https://github.com/bearcove/tree-sitter-meson", rev = "feea83be9225842490066522ced2d13eb9cce0bd" } + +[[language]] +name = "sshclientconfig" +scope = "source.sshclientconfig" +file-types = [".ssh/config", "/etc/ssh/ssh_config"] +roots = [] + +[[grammar]] +name = "sshclientconfig" +source = { git = "https://github.com/metio/tree-sitter-ssh-client-config", rev = "769d7a01a2e5493b4bb5a51096c6bf4be130b024" } + +[[language]] +name = "scheme" +scope = "source.scheme" +injection-regex = "scheme" +file-types = ["ss", "rkt"] # "scm", +roots = [] +comment-token = ";" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "scheme" +source = { git = "https://github.com/6cdh/tree-sitter-scheme", rev = "27fb77db05f890c2823b4bd751c6420378df146b" } + +[[language]] +name = "v" +scope = "source.v" +file-types = ["v", "vv"] +shebangs = ["v run"] +roots = ["v.mod"] +language-server = { command = "vls", args = [] } +auto-format = true +comment-token = "//" +indent = { tab-width = 4, unit = "\t" } + +[[grammar]] +name = "v" +source = { git = "https://github.com/vlang/vls", subpath = "tree_sitter_v", rev = "3e8124ea4ab80aa08ec77f03df53f577902a0cdd" } + +[[language]] +name = "verilog" +scope = "source.verilog" +file-types = ["v", "sv", "svh"] +roots = [] +comment-token = "//" +language-server = { command = "svlangserver", args = [] } +indent = { tab-width = 2, unit = " " } +injection-regex = "verilog" + +[[grammar]] +name = "verilog" +source = { git = "https://github.com/andreytkachenko/tree-sitter-verilog", rev = "514d8d70593d29ef3ef667fa6b0e504ae7c977e3" } + +[[language]] +name = "edoc" +scope = "source.edoc" +file-types = ["edoc", "edoc.in"] +injection-regex = "edoc" +roots = [] +indent = { tab-width = 4, unit = " " } + +[[grammar]] +name = "edoc" +source = { git = "https://github.com/the-mikedavis/tree-sitter-edoc", rev = "1691ec0aa7ad1ed9fa295590545f27e570d12d60" } + +[[language]] +name = "jsdoc" +scope = "source.jsdoc" +injection-regex = "jsdoc" +file-types = ["jsdoc"] +roots = [] +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "jsdoc" +source = { git = "https://github.com/tree-sitter/tree-sitter-jsdoc", rev = "189a6a4829beb9cdbe837260653b4a3dfb0cc3db" } + + +[[language]] +name = "openscad" +scope = "source.openscad" +injection-regex = "openscad" +file-types = ["scad"] +roots = [] +comment-token = "//" +language-server = { command = "openscad-language-server" } +indent = { tab-width = 2, unit = "\t" } + +[[grammar]] +name = "openscad" +source = { git = "https://github.com/bollian/tree-sitter-openscad", rev = "5c3ce93df0ac1da7197cf6ae125aade26d6b8972" } + +[[language]] +name = "prisma" +scope = "source.prisma" +injection-regex = "prisma" +file-types = ["prisma"] +roots = ["package.json"] +comment-token = "//" +language-server = { command = "prisma-language-server", args = ["--stdio"] } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "prisma" +source = { git = "https://github.com/victorhqc/tree-sitter-prisma", rev = "17a59236ac25413b81b1613ea6ba5d8d52d7cd6c" } + +[[language]] +name = "clojure" +scope = "source.clojure" +injection-regex = "(clojure|clj)" +file-types = ["clj"] +roots = ["project.clj"] +comment-token = ";;" +language-server = { command = "clojure-lsp" } +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "clojure" +source = { git = "https://github.com/sogaiu/tree-sitter-clojure", rev = "e57c569ae332ca365da623712ae1f50f84daeae2" } + +[[language]] +name = "starlark" +scope = "source.starlark" +injection-regex = "(starlark|bzl|bazel)" +file-types = ["bzl", "bazel", "BUILD"] +roots = [] +comment-token = "#" +indent = { tab-width = 4, unit = " " } +grammar = "python" + +[[language]] +name = "elvish" +scope = "source.elvish" +file-types = ["elv"] +roots = [] +comment-token = "#" +indent = { tab-width = 2, unit = " " } +language-server = { command = "elvish", args = ["-lsp"] } +grammar = "elvish" + +[[grammar]] +name = "elvish" +source = { git = "https://github.com/ckafi/tree-sitter-elvish", rev = "e50787cadd3bc54f6d9c0704493a79078bb8a4e5" } + +[[language]] +name = "idris" +scope = "source.idr" +injection-regex = "idr" +file-types = ["idr"] +shebangs = [] +roots = [] +comment-token = "--" +indent = { tab-width = 2, unit = " " } +language-server = { command = "idris2-lsp" } + +[[language]] +name = "fortran" +scope = "source.fortran" +injection-regex = "fortran" +file-types = ["f", "for", "f90", "f95", "f03"] +roots = ["fpm.toml"] +comment-token = "!" +indent = { tab-width = 4, unit = " "} +language-server = { command = "fortls", args = ["--lowercase_intrinsics"] } + +[[grammar]] +name = "fortran" +source = { git = "https://github.com/stadelmanma/tree-sitter-fortran", rev = "f0f2f100952a353e64e26b0fa710b4c296d7af13" } + +[[language]] +name = "ungrammar" +scope = "source.ungrammar" +injection-regex = "ungrammar" +file-types = ["ungram", "ungrammar"] +roots = [] +comment-token = "//" +indent = { tab-width = 2, unit = " " } + +[[grammar]] +name = "ungrammar" +source = { git = "https://github.com/Philipp-M/tree-sitter-ungrammar", rev = "0113de880a58ea14f2a75802e9b99fcc25003d9c" } diff --git a/helix/.config/helix/runtime b/helix/.config/helix/runtime new file mode 120000 index 0000000..a90893a --- /dev/null +++ b/helix/.config/helix/runtime @@ -0,0 +1 @@ +/home/qgodefro/projects/helix/runtime/ \ No newline at end of file diff --git a/config/htop b/htop/.htop.conf similarity index 73% rename from config/htop rename to htop/.htop.conf index 1533c05..bb62d49 100644 --- a/config/htop +++ b/htop/.htop.conf @@ -1,6 +1,6 @@ # Beware! This file is rewritten by htop when settings are changed in the interface. # The parser is also very primitive, and not human-friendly. -fields=0 48 17 18 38 39 40 2 46 47 49 1 +fields=0 48 17 18 38 39 40 2 46 47 49 1 sort_key=46 sort_direction=1 hide_threads=0 @@ -19,8 +19,7 @@ update_process_names=0 account_guest_in_cpu_meter=0 color_scheme=0 delay=15 -left_meters=LeftCPUs Memory Swap -left_meter_modes=1 1 1 -right_meters=RightCPUs Tasks LoadAverage Uptime -right_meter_modes=1 2 2 2 - +left_meters=LeftCPUs Memory Swap +left_meter_modes=1 1 1 +right_meters=RightCPUs Tasks LoadAverage Uptime +right_meter_modes=1 2 2 2 diff --git a/config/nanorc b/nano/.nanorc similarity index 100% rename from config/nanorc rename to nano/.nanorc diff --git a/puppet/.config/puppet/analytics.yml b/puppet/.config/puppet/analytics.yml new file mode 100644 index 0000000..2196305 --- /dev/null +++ b/puppet/.config/puppet/analytics.yml @@ -0,0 +1,2 @@ +--- +disabled: true diff --git a/setup.sh b/setup.sh index 4fbf81d..4c646de 100755 --- a/setup.sh +++ b/setup.sh @@ -6,12 +6,24 @@ git submodule update # what directories should be installable by all users including the root user base=( + git + helix + home + htop + nano + puppet + ssh + terminfo + tmux + vim zsh ) # folders that should, or only need to be installed for a local user useronly=( - git + alacritty + asciinema + awesome ) # run the stow command for the passed in directory ($2) in location $1 @@ -29,15 +41,15 @@ echo "Stowing apps for user: ${whoami}" # install apps available to local users and root for app in ${base[@]}; do - stowit "${HOME}" $app + stowit "${HOME}" $app done # install only user space folders for app in ${useronly[@]}; do if [[ ! "$(whoami)" = "root" ]]; then - stowit "${HOME}" $app + stowit "${HOME}" $app fi done echo "" -echo "##### ALL DONE" \ No newline at end of file +echo "##### ALL DONE" diff --git a/config/ssh/config b/ssh/.ssh/config similarity index 100% rename from config/ssh/config rename to ssh/.ssh/config diff --git a/terminfo/termite b/terminfo/termite new file mode 160000 index 0000000..18de768 --- /dev/null +++ b/terminfo/termite @@ -0,0 +1 @@ +Subproject commit 18de7682e983e6562a87c63a2814c5e39461b081 diff --git a/config/termite.terminfo b/terminfo/termite.terminfo similarity index 100% rename from config/termite.terminfo rename to terminfo/termite.terminfo diff --git a/config/tmux b/tmux/.tmux.conf similarity index 99% rename from config/tmux rename to tmux/.tmux.conf index 5da5d9c..9c9e802 100644 --- a/config/tmux +++ b/tmux/.tmux.conf @@ -49,12 +49,12 @@ set -g base-index 1 # Allows for faster key repetition set -s escape-time 0 -# Rather than constraining window size to the maximum size of any client -# connected to the *session*, constrain window size to the maximum size of any +# Rather than constraining window size to the maximum size of any client +# connected to the *session*, constrain window size to the maximum size of any # client connected to *that window*. Much more reasonable. setw -g aggressive-resize on -# Allows us to use C-a a to send commands to a TMUX session inside +# Allows us to use C-a a to send commands to a TMUX session inside # another TMUX session bind-key a send-prefix diff --git a/config/vim/autoload/pathogen.vim b/vim/.vim/autoload/pathogen.vim similarity index 100% rename from config/vim/autoload/pathogen.vim rename to vim/.vim/autoload/pathogen.vim diff --git a/config/vim/bundle/.keep b/vim/.vim/bundle/.keep similarity index 100% rename from config/vim/bundle/.keep rename to vim/.vim/bundle/.keep diff --git a/config/vim/colors/molokai.vim b/vim/.vim/colors/molokai.vim similarity index 99% rename from config/vim/colors/molokai.vim rename to vim/.vim/colors/molokai.vim index a8894e8..6d97053 100644 --- a/config/vim/colors/molokai.vim +++ b/vim/.vim/colors/molokai.vim @@ -273,4 +273,4 @@ end " Must be at the end, because of ctermbg=234 bug. " https://groups.google.com/forum/#!msg/vim_dev/afPqwAFNdrU/nqh6tOM87QUJ -set background=dark \ No newline at end of file +set background=dark diff --git a/config/vim/filetype.vim b/vim/.vim/filetype.vim similarity index 64% rename from config/vim/filetype.vim rename to vim/.vim/filetype.vim index 5d24f8f..c7d3669 100644 --- a/config/vim/filetype.vim +++ b/vim/.vim/filetype.vim @@ -1 +1 @@ -au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif \ No newline at end of file +au BufRead,BufNewFile /etc/nginx/*,/usr/local/nginx/conf/* if &ft == '' | setfiletype nginx | endif diff --git a/config/vim/molokai.vim b/vim/.vim/molokai.vim similarity index 99% rename from config/vim/molokai.vim rename to vim/.vim/molokai.vim index f1d4354..fef585e 100644 --- a/config/vim/molokai.vim +++ b/vim/.vim/molokai.vim @@ -217,4 +217,3 @@ if &t_Co > 255 hi TabLine ctermfg=White ctermbg=234 cterm=none hi TabLineSel ctermfg=18 ctermbg=39 cterm=none end - diff --git a/config/vim/nginx.vim b/vim/.vim/nginx.vim similarity index 99% rename from config/vim/nginx.vim rename to vim/.vim/nginx.vim index c8cccb9..a200c63 100644 --- a/config/vim/nginx.vim +++ b/vim/.vim/nginx.vim @@ -368,7 +368,7 @@ syn keyword ngxDirective xslt_types syn keyword ngxDirectiveThirdParty set_from_accept_language " Access Key Module -" Denies access unless the request URL contains an access key. +" Denies access unless the request URL contains an access key. syn keyword ngxDirectiveThirdParty accesskey syn keyword ngxDirectiveThirdParty accesskey_arg syn keyword ngxDirectiveThirdParty accesskey_hashmethod @@ -522,7 +522,7 @@ syn keyword ngxDirectiveThirdParty mogilefs_send_timeout syn keyword ngxDirectiveThirdParty mogilefs_tracker " MP4 Streaming Lite Module -" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. +" Will seek to a certain time within H.264/MP4 files when provided with a 'start' parameter in the URL. syn keyword ngxDirectiveThirdParty mp4 " Nginx Notice Module diff --git a/config/vim/viminfo b/vim/.vim/viminfo similarity index 100% rename from config/vim/viminfo rename to vim/.vim/viminfo diff --git a/config/vim/vimrc b/vim/.vimrc similarity index 99% rename from config/vim/vimrc rename to vim/.vimrc index 5992c08..5b7efde 100644 --- a/config/vim/vimrc +++ b/vim/.vimrc @@ -1,14 +1,14 @@ filetype indent plugin on - + " Enable syntax highlighting syntax on - - + + "------------------------------------------------------------ " Must have options {{{1 " " These are highly recommended options. - + " Vim with default settings does not allow easy switching between multiple files " in the same editor window. Users can use multiple split windows or multiple " tab pages to edit multiple files, but it is still best to enable an option to @@ -23,29 +23,29 @@ syntax on " try to quit without saving, and swap files will keep you safe if your computer " crashes. set hidden - + " Note that not everyone likes working this way (with the hidden option). " Alternatives include using tabs or split windows instead of re-using the same " window as mentioned above, and/or either of the following options: " set confirm " set autowriteall - + " Better command-line completion set wildmenu - + " Show partial commands in the last line of the screen set showcmd - + " Highlight searches (use to temporarily turn off highlighting; see the " mapping of below) set hlsearch - + " Modelines have historically been a source of security vulnerabilities. As " such, it may be a good idea to disable them and use the securemodelines " script, . " set nomodeline - - + + "------------------------------------------------------------ " Usability options {{{1 " @@ -53,85 +53,85 @@ set hlsearch " change Vim's behaviour in ways which deviate from the true Vi way, but " which are considered to add usability. Which, if any, of these options to " use is very much a personal preference, but they are harmless. - + " Use case insensitive search, except when using capital letters set ignorecase set smartcase - + " Allow backspacing over autoindent, line breaks and start of insert action set backspace=indent,eol,start - + " When opening a new line and no filetype-specific indenting is enabled, keep " the same indent as the line you're currently on. Useful for READMEs, etc. set autoindent - + " Stop certain movements from always going to the first character of a line. " While this behaviour deviates from that of Vi, it does what most users " coming from other editors would expect. set nostartofline - + " Display the cursor position on the last line of the screen or in the status " line of a window set ruler - + " Always display the status line, even if only one window is displayed set laststatus=2 - + " Instead of failing a command because of unsaved changes, instead raise a " dialogue asking if you wish to save changed files. set confirm - + " Use visual bell instead of beeping when doing something wrong set visualbell - + " And reset the terminal code for the visual bell. If visualbell is set, and " this line is also included, vim will neither flash nor beep. If visualbell " is unset, this does nothing. set t_vb= - + " Enable use of the mouse for all modes set mouse=a - + " Set the command window height to 2 lines, to avoid many cases of having to " "press to continue" set cmdheight=2 - + " Display line numbers on the left set number - + " Quickly time out on keycodes, but never time out on mappings set notimeout ttimeout ttimeoutlen=200 - + " Use to toggle between 'paste' and 'nopaste' set pastetoggle= - - + + "------------------------------------------------------------ " Indentation options {{{1 " " Indentation settings according to personal preference. - + " Indentation settings for using 4 spaces instead of tabs. " Do not change 'tabstop' from its default value of 8 with this setup. set shiftwidth=4 set softtabstop=4 set expandtab - + " Indentation settings for using hard tabs for indent. Display tabs as " four characters wide. "set shiftwidth=4 "set tabstop=4 - - + + "------------------------------------------------------------ " Mappings {{{1 " " Useful mappings - + " Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy, " which is the default map Y y$ - + " Map (redraw screen) to also turn off search highlighting until the " next search nnoremap :nohl diff --git a/zsh/.oh-my-zsh b/zsh/.oh-my-zsh new file mode 160000 index 0000000..6d48309 --- /dev/null +++ b/zsh/.oh-my-zsh @@ -0,0 +1 @@ +Subproject commit 6d48309cd7da1b91038cf08be7865fb5bb9bc5ea diff --git a/zsh/.zshrc b/zsh/.zshrc index 0d2aeaf..6d07c97 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -353,4 +353,4 @@ alias melt='sm3 gs@mozg-meltingpot.ovh.ha.ovh.net' alias mis='sm3 mozg-mis.ovh.ha.ovh.net' alias logalert='sm3 --osh logovh --log alert | grep -E "MUTU|INTERNE|CLOUDWEB"' alias evilssh='ssh sm3.ovh.net -- --osh selfForgetHostKey --host mis-reseller.lb.engine.ha.ovh.net --port 10666 && ssh -t sm3.ovh.net -- root@mis-reseller.lb.engine.ha.ovh.net -p 10666' -alias c='connect' \ No newline at end of file +alias c='connect'