From cf4e9a19a95e68352ab38b668b08968096433a37 Mon Sep 17 00:00:00 2001 From: TuDatTr Date: Tue, 27 Dec 2022 22:15:56 +0100 Subject: [PATCH] Changes: - Added alacritty - Removed customization on byobu - Zathura for ranger - Added mikrotik to sshconfig - Added aya01 to sshconfig - Added git.aya01 to sshconfig - Fixed some ledger stuff - Misc Signed-off-by: TuDatTr --- config/.byobu/keybindings.tmux | 10 +- config/.config/alacritty/alacritty.yml | 895 +++++++++++++++++++++++++ config/.config/i3/config | 6 +- config/.config/polybar/config | 8 +- config/.config/ranger/rifle.conf | 4 +- config/.local/share/ranger/bookmarks | 8 +- config/.ssh/config | 154 +++-- emacs/.emacs.d/config.org | 240 +++++-- emacs/.emacs.d/init.el | 6 +- zsh/.zshrc | 8 + 10 files changed, 1208 insertions(+), 131 deletions(-) create mode 100644 config/.config/alacritty/alacritty.yml diff --git a/config/.byobu/keybindings.tmux b/config/.byobu/keybindings.tmux index 87273c3..3b962e1 100644 --- a/config/.byobu/keybindings.tmux +++ b/config/.byobu/keybindings.tmux @@ -1,10 +1,2 @@ set -g prefix F12 -unbind-key -n C-a - -bind-key -n M-F1 display-panes \; split-window -v -c "#{pane_current_path}" -bind-key -n C-F1 display-panes \; split-window -h -c "#{pane_current_path}" -bind-key -n F1 new-window -c "#{pane_current_path}" \; rename-window "-" -bind-key -n F2 previous-window -bind-key -n F3 next-window -bind-key -n S-F2 previous-split -bind-key -n S-F3 next-split +unbind-key -n C-a \ No newline at end of file diff --git a/config/.config/alacritty/alacritty.yml b/config/.config/alacritty/alacritty.yml new file mode 100644 index 0000000..e090ec7 --- /dev/null +++ b/config/.config/alacritty/alacritty.yml @@ -0,0 +1,895 @@ +# Configuration for Alacritty, the GPU enhanced terminal emulator. + +# Import additional configuration files +# +# Imports are loaded in order, skipping all missing files, with the importing +# file being loaded last. If a field is already present in a previous import, it +# will be replaced. +# +# All imports must either be absolute paths starting with `/`, or paths relative +# to the user's home directory starting with `~/`. +#import: +# - /path/to/alacritty.yml + +# Any items in the `env` entry below will be added as +# environment variables. Some entries may override variables +# set by alacritty itself. +#env: + # TERM variable + # + # This value is used to set the `$TERM` environment variable for + # each instance of Alacritty. If it is not present, alacritty will + # check the local terminfo database and use `alacritty` if it is + # available, otherwise `xterm-256color` is used. + #TERM: alacritty + +window: + # Window dimensions (changes require restart) + # + # Number of lines/columns (not pixels) in the terminal. Both lines and columns + # must be non-zero for this to take effect. The number of columns must be at + # least `2`, while using a value of `0` for columns and lines will fall back + # to the window manager's recommended size + #dimensions: + # columns: 0 + # lines: 0 + + # Window position (changes require restart) + # + # Specified in number of pixels. + # If the position is not set, the window manager will handle the placement. + #position: + # x: 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.9 + + # Startup Mode (changes require restart) + # + # Values for `startup_mode`: + # - Windowed + # - Maximized + # - Fullscreen + # + # Values for `startup_mode` (macOS only): + # - SimpleFullscreen + #startup_mode: Windowed + + # Window title + #title: Alacritty + + # Allow terminal applications to change Alacritty's window title. + #dynamic_title: true + + # Window class (Linux/BSD only): + #class: + # Application instance name + #instance: Alacritty + # General application class + #general: Alacritty + + # Decorations theme variant (Linux/BSD only) + # + # Override the variant of the GTK theme/Wayland client side decorations. + # Commonly supported values are `dark` and `light`. Set this to `None` to use + # the default theme variant. + #decorations_theme_variant: None + +#scrolling: + # Maximum number of lines in the scrollback buffer. + # Specifying '0' will disable scrolling. + #history: 10000 + + # Scrolling distance multiplier. + #multiplier: 3 + +# Font configuration +font: + # Normal (roman) font face + normal: + # Font family + # + # Default: + # - (macOS) Menlo + # - (Linux/BSD) monospace + # - (Windows) Consolas + family: DejaVu Sans Mono for Powerline + + # 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: 7 + + # 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/config/.config/i3/config b/config/.config/i3/config index 6c209c3..947235d 100644 --- a/config/.config/i3/config +++ b/config/.config/i3/config @@ -123,8 +123,8 @@ bindsym $mod+Shift+space exec --no-startup-id python ~/.scripts/i3lock.py bindsym $mod+Shift+s exec poweroff # start a terminal -bindsym $mod+space exec termite -bindsym $mod+Return exec termite -e byobu +bindsym $mod+space exec alacritty +bindsym $mod+Return exec alacritty -e byobu # kill focused window bindsym $mod+Shift+q kill @@ -149,7 +149,7 @@ bindsym XF86AudioPrevious exec "playerctl previous; cmus-remote -r" # Application Shortcuts bindsym $mod+b exec firefox bindsym $mod+p exec firefox --private-window https://mos4.de -bindsym $mod+e exec termite -e ranger +bindsym $mod+e exec alacritty -e ranger bindsym $mod+m exec thunderbird # Whole Screen diff --git a/config/.config/polybar/config b/config/.config/polybar/config index 8cd8832..adb8b34 100644 --- a/config/.config/polybar/config +++ b/config/.config/polybar/config @@ -28,10 +28,10 @@ foreground = ${colors.foreground} module-margin-left = 1 module-margin-right = 1 -font-0 = fixed:pixelsize=10;1 -font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 -font-2 = siji:pixelsize=10;1 -font-3 = FontAwesome:style=Regular:pixelsize=10 +font-0 = DejaVu Sans Mono for Powerline:pixelsize=10;1 +# font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 +# font-2 = siji:pixelsize=10;1 +# font-3 = FontAwesome:style=Regular:pixelsize=10 modules-left = modules-center = i3 diff --git a/config/.config/ranger/rifle.conf b/config/.config/ranger/rifle.conf index ee7b8ae..6921ec7 100644 --- a/config/.config/ranger/rifle.conf +++ b/config/.config/ranger/rifle.conf @@ -60,7 +60,7 @@ mime ^video, terminal, !X, has mplayer = mplayer -- "$@" # Documents #------------------------------------------- ext pdf, has llpp, X, flag f = llpp "$@" -ext pdf, has sioyek, X, flag f = sioyek -- "$@" +ext pdf, has zathura, X, flag f = zathura -- "$@" ext pdf, has mupdf, X, flag f = mupdf "$@" ext pdf, has mupdf-x11,X, flag f = mupdf-x11 "$@" ext pdf, has apvlv, X, flag f = apvlv -- "$@" @@ -80,7 +80,7 @@ ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, f ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has soffice, X, flag f = soffice "$@" ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has ooffice, X, flag f = ooffice "$@" -ext djvu, has sioyek,X, flag f = sioyek -- "$@" +ext djvu, has zathura,X, flag f = zathura -- "$@" ext djvu, has evince, X, flag f = evince -- "$@" ext djvu, has atril, X, flag f = atril -- "$@" ext djvu, has djview, X, flag f = djview -- "$@" diff --git a/config/.local/share/ranger/bookmarks b/config/.local/share/ranger/bookmarks index dafb9b1..7c4fdb5 100644 --- a/config/.local/share/ranger/bookmarks +++ b/config/.local/share/ranger/bookmarks @@ -1,15 +1,15 @@ -u:/home/tuan/Documents/Uni/Studium/2022_Sommersemester +u:/home/tuan/Documents/Uni/Studium/2022&2023_Wintersemester p:/home/tuan/Documents/Protokolle/FSE o:/home/tuan/.dotfiles/config m:/run/media/tuan -a:/home/tuan/.syncthing/Documents/Arbeit +a:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK l:/home/tuan/Local c:/home/tuan/Documents/CTF t:/home/tuan/Templates w:/home/tuan/workspace_l/home_lab/wiki k:/home/tuan/.syncthing/Documents/Uni/Studium/2022_Sommersemester/Bachelorprojekt/Implement EFCF based on libAFL/git/foundry/evm/src/executor -q:/home/tuan/Quick Drop -':/home/tuan/.byobu +q:/home/tuan/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/04-5G_IANA/02-gps +':/home/tuan/workspace_l/home_lab e:/home/tuan/Documents/CTF/TryHackMe/Ice/2_Recon s:/home/tuan/Pictures/Screenshots v:/home/tuan/.aya01/Documents/Arbeit/Uni-DuE_NCS_SHK/04_-_Projekte/06-Server_Setup/ansible diff --git a/config/.ssh/config b/config/.ssh/config index 160f859..a0fe29b 100644 --- a/config/.ssh/config +++ b/config/.ssh/config @@ -24,71 +24,72 @@ Host git.uni-due.de IdentityFile /mnt/veracrypt1/git # Homeserver -Host laya01 - HostName 192.168.2.100 - Port 22 - User tudattr - IdentityFile /mnt/veracrypt1/genesis +Host mikrotik + HostName 192.168.70.1 + Port 2200 + User tudattr + IdentityFile /mnt/veracrypt1/mikrotik_rsa Host aya01 - HostName 10.0.0.100 + HostName 192.168.20.12 Port 22 User tudattr IdentityFile /mnt/veracrypt1/genesis - ForwardX11 yes Host git.aya01 - HostName 10.0.0.100 + HostName 192.168.20.12 Port 23231 User tudattr IdentityFile /mnt/veracrypt1/genesis -Host mikrotik - HostName 192.168.2.1 - Port 2200 +Host pi + HostName 192.168.20.11 + Port 22 User tudattr - IdentityFile /mnt/veracrypt1/tudattr_rsa + IdentityFile /mnt/veracrypt1/genesis # Work -Host iperf-client - HostName 10.1.11.114 - Port 22 - User user - IdentityFile /mnt/veracrypt1/proxmox - -Host iperf-server - HostName 10.1.11.112 - Port 22 - User user - IdentityFile /mnt/veracrypt1/proxmox - -Host ncs-headnode +Host ncs-head HostName 132.252.68.50 Port 2122 User tuan-dat.tran IdentityFile /mnt/veracrypt1/genesis ForwardX11 yes -Host ncs-headnode-user +Host ncs-head-user HostName 132.252.68.50 Port 2122 User user IdentityFile /mnt/veracrypt1/tudattr ForwardX11 yes +Host ncs2 + HostName 192.168.1.13 + Port 22 + User tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + ProxyJump ncs-head + +Host ncs2-user + HostName 192.168.1.13 + Port 22 + User user # tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + ProxyJump ncs-head + Host ncs-node1 HostName 192.168.1.11 Port 22 User user IdentityFile /mnt/veracrypt1/tudattr - ProxyJump ncs-headnode + ProxyJump ncs-head Host ncs-node2 HostName 192.168.1.7 Port 22 User tuan-dat.tran IdentityFile /mnt/veracrypt1/genesis - ProxyJump ncs-headnode + ProxyJump ncs-head ForwardX11 yes Host ncs-node2-user @@ -96,35 +97,68 @@ Host ncs-node2-user Port 22 User user IdentityFile /mnt/veracrypt1/tudattr - ProxyJump ncs-headnode + ProxyJump ncs-head + +Host ncs-node3 + Hostname 192.168.1.19 + Port 22 + User tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + ForwardX11 yes + ProxyJump ncs-head + +Host ncs-node3-user + Hostname 192.168.1.19 + Port 22 + User user + IdentityFile /mnt/veracrypt1/tudattr + ForwardX11 yes + ProxyJump ncs-head Host ncs-node4 HostName 192.168.1.9 Port 22 User tuan-dat.tran IdentityFile /mnt/veracrypt1/genesis - ProxyJump ncs-headnode + ProxyJump ncs-head Host ncs-node4-user HostName 192.168.1.9 Port 22 User user IdentityFile /mnt/veracrypt1/tudattr - ProxyJump ncs-headnode - -Host ncs2 - HostName 192.168.1.13 - Port 22 - User user # tuan-dat.tran - IdentityFile /mnt/veracrypt1/genesis - ProxyJump ncs-headnode + ProxyJump ncs-head Host ncs-node5 HostName 192.168.1.15 Port 22 User tuan-dat.tran IdentityFile /mnt/veracrypt1/genesis - ProxyJump ncs-headnode + ProxyJump ncs-head + +Host ncs-node6 + Hostname 192.168.1.17 + Port 22 + User tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + # ForwardX11 yes + ProxyJump ncs-head + +Host ncs-node6-user + Hostname 192.168.1.17 + Port 22 + User user + IdentityFile /mnt/veracrypt1/tudattr + # ForwardX11 yes + ProxyJump ncs-head + +Host ncs-node7 + Hostname 192.168.1.18 + Port 22 + User tuan-dat.tran + IdentityFile /mnt/veracrypt1/genesis + ForwardX11 yes + ProxyJump ncs-head Host ncs-wedge Hostname 192.168.1.5 @@ -132,17 +166,17 @@ Host ncs-wedge User user IdentityFile /mnt/veracrypt1/genesis # ForwardX11 yes - ProxyJump ncs-headnode + ProxyJump ncs-head Host ncs-local-server - HostName 192.168.1.3 + HostName 192.168.1.1 Port 22 User tuan-dat.tran IdentityFile /mnt/veracrypt1/tudattr StrictHostKeyChecking no Host ncs-local-server-user - HostName 192.168.1.3 + HostName 192.168.1.1 Port 22 User user IdentityFile /mnt/veracrypt1/tudattr @@ -156,34 +190,22 @@ Host ncs-local-server2 StrictHostKeyChecking no ProxyJump ncs-local-server -Host ncs-node6 - Hostname 192.168.1.17 - Port 22 +Host phone + Hostname 192.168.203.23 + Port 2222 User tuan-dat.tran IdentityFile /mnt/veracrypt1/genesis - # ForwardX11 yes - ProxyJump ncs-headnode -Host ncs-node6-user - Hostname 192.168.1.17 +Host ncs-gpu + Hostname 192.168.1.21 Port 22 - User user - IdentityFile /mnt/veracrypt1/tudattr - # ForwardX11 yes - ProxyJump ncs-headnode - -Host ncs-node3 - Hostname 192.168.1.19 - Port 22 - User user + User tuan IdentityFile /mnt/veracrypt1/tudattr ForwardX11 yes - ProxyJump ncs-headnode - -Host ncs-node7 - Hostname 192.168.1.18 + ProxyJump ncs-head + +Host ncs-aws-iperf3 + Hostname 18.185.5.191 Port 22 - User tuan-dat.tran - IdentityFile /mnt/veracrypt1/genesis - ForwardX11 yes - ProxyJump ncs-headnode \ No newline at end of file + User ec2-user + IdentityFile /mnt/veracrypt1/aws_ncs.pem diff --git a/emacs/.emacs.d/config.org b/emacs/.emacs.d/config.org index 2bdfe4c..0363a9d 100644 --- a/emacs/.emacs.d/config.org +++ b/emacs/.emacs.d/config.org @@ -14,7 +14,8 @@ Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]] #+begin_src emacs-lisp (require 'package) - (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) + (setq package-archives '(("melpa" . "http://melpa.org/packages/") + ("gnu" . "http://elpa.gnu.org/packages/"))) (package-initialize) (package-refresh-contents) #+end_src @@ -25,6 +26,7 @@ Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]] #+begin_src emacs-lisp (unless (package-installed-p 'use-package) + (package-refresh-contents) (package-install 'use-package)) (require 'use-package) @@ -155,9 +157,13 @@ Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]] #+begin_src emacs-lisp (use-package yasnippet + :ensure :config (setq yas-snippet-dirs '("~/.emacs.d/snippets/")) - (yas-global-mode 1)) + (yas-reload-all) + (add-hook 'prog-mode-hook 'yas-minor-mode) + (add-hook 'text-mode-hook 'yas-minor-mode) + ) #+end_src *** [[https://github.com/company-mode/company-mode][company-mode]] @@ -165,30 +171,69 @@ Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]] #+begin_src emacs-lisp (use-package company - :config - (global-company-mode)) + :ensure + ;; :custom + ;; (company-idle-delay 0.5) ;; how long to wait until popup + ;; (company-begin-commands nil) ;; uncomment to disable popup + :bind + (:map company-active-map + ("C-n". company-select-next) + ("C-p". company-select-previous) + ("M-<". company-select-first) + ("M->". company-select-last)) + (:map company-mode-map + ("" . tab-indent-or-complete) + ("TAB" . tab-indent-or-complete))) + + (defun company-yasnippet-or-completion () + (interactive) + (or (do-yas-expand) + (company-complete-common))) + + (defun check-expansion () + (save-excursion + (if (looking-at "\\_>") t + (backward-char 1) + (if (looking-at "\\.") t + (backward-char 1) + (if (looking-at "::") t nil))))) + + (defun do-yas-expand () + (let ((yas/fallback-behavior 'return-nil)) + (yas/expand))) + + (defun tab-indent-or-complete () + (interactive) + (if (minibufferp) + (minibuffer-complete) + (if (or (not yas/minor-mode) + (null (do-yas-expand))) + (if (check-expansion) + (company-complete-common) + (indent-for-tab-command))))) #+end_src -*** [[https://github.com/TommyX12/company-tabnine][tabnine-company]] -=A company-mode backend for TabNine, the all-language autocompleter: https://tabnine.com/= - -#+begin_src emacs-lisp - (use-package company-tabnine - :ensure t) - ;; Trigger completion immediately. - (setq company-idle-delay 0) - - ;; Number the candidates (use M-1, M-2 etc to select completions). - (setq company-show-numbers t) - - (add-to-list 'company-backends #'company-tabnine) -#+end_src +# *** [[https://github.com/TommyX12/company-tabnine][tabnine-company]] +# =A company-mode backend for TabNine, the all-language autocompleter: https://tabnine.com/= +# +# #+begin_src emacs-lisp +# (use-package company-tabnine +# :ensure t) +# ;; Trigger completion immediately. +# (setq company-idle-delay 0) +# +# ;; Number the candidates (use M-1, M-2 etc to select completions). +# (setq company-show-numbers t) +# +# (add-to-list 'company-backends #'company-tabnine) +# #+end_src *** [[https://github.com/flycheck/flycheck][flycheck]] =On the fly syntax checking for GNU Emacs= #+begin_src emacs-lisp (use-package flycheck + :ensure :config (global-flycheck-mode)) #+end_src @@ -200,23 +245,107 @@ Initialize Emacs builtin package system and add the [[https://melpa.org][melpa]] (use-package htmlize) #+end_src -*** [[https://github.com/flycheck/flycheck-rust][flycheck-rust]] -=Better Rust/Cargo support for Flycheck= -#+BEGIN_SRC emacs-lisp - (use-package flycheck-rust) -#+END_SRC - -*** [[https://github.com/rust-lang/rust-mode][rust-mode]] +** lsp-mode +#+begin_src emacs-lisp + (use-package lsp-mode + :ensure + :commands lsp + :custom + ;; what to use when checking on-save. "check" is default, I prefer clippy + (lsp-rust-analyzer-cargo-watch-command "clippy") + (lsp-eldoc-render-all t) + (lsp-idle-delay 2.0) + ;; This controls the overlays that display type and other hints inline. Enable + ;; / disable as you prefer. Well require a `lsp-workspace-restart' to have an + ;; effect on open projects. + (lsp-rust-server 'rust-analyzer) + (lsp-rust-analyzer-server-display-inlay-hints t) + (lsp-rust-analyzer-display-lifetime-elision-hints-enable "skip_trivial") + (lsp-rust-analyzer-display-chaining-hints t) + (lsp-rust-analyzer-display-lifetime-elision-hints-use-parameter-names t) + (lsp-rust-analyzer-display-closure-return-type-hints t) + (lsp-rust-analyzer-display-parameter-hints t) + (lsp-rust-analyzer-display-reborrow-hints t) + :config + (add-hook 'lsp-mode-hook 'lsp-ui-mode)) + (add-hook 'python-mode-hook (lambda() (lsp-python-enable))) + + (use-package lsp-ui + :ensure + :commands lsp-ui-mode + :custom + (lsp-ui-peek-always-show t) + (lsp-ui-sideline-show-hover t) + (lsp-ui-doc-enable nil)) +#+end_src + +*** [[https://github.com/brotzeit/rustic][rustic]] =Emacs configuration for Rust= #+BEGIN_SRC emacs-lisp - (use-package rust-mode) + (use-package rustic + :ensure + :bind (:map rustic-mode-map + ;; ("M-j" . lsp-ui-imenu) + ("M-?" . lsp-find-references) + ("C-c C-c l" . flycheck-list-errors) + ("C-c C-c a" . lsp-execute-code-action) + ("C-c C-c r" . lsp-rename) + ("C-c C-c q" . lsp-workspace-restart) + ("C-c C-c Q" . lsp-workspace-shutdown) + ("C-c C-c s" . lsp-rust-analyzer-status)) + :config + ;; comment to disable rustfmt on save + (setq rustic-format-on-save t)) #+END_SRC -*** [[https://github.com/kwrooijen/cargo.el][cargo.el]] +*** dash.el #+BEGIN_SRC emacs-lisp - (use-package cargo) + (use-package dash) #+END_SRC +*** rust-playground +#+begin_src emacs-lisp + (use-package rust-playground :ensure) +#+end_src + +*** rust-playground +#+begin_src emacs-lisp + (use-package toml-mode :ensure) +#+end_src + +*** lldb +#+begin_src emacs-lisp + (use-package exec-path-from-shell + :ensure + :init (exec-path-from-shell-initialize)) + + (when (executable-find "lldb-mi") + (use-package dap-mode + :ensure + :config + (dap-ui-mode) + (dap-ui-controls-mode 1) + + (require 'dap-lldb) + (require 'dap-gdb-lldb) + ;; installs .extension/vscode + (dap-gdb-lldb-setup) + (dap-register-debug-template + "Rust::LLDB Run Configuration" + (list :type "lldb" + :request "launch" + :name "LLDB::Run" + :gdbpath "rust-lldb" + ;; uncomment if lldb-mi is not in PATH + ;; :lldbmipath "path/to/lldb-mi" + )))) +#+end_src + +*** projectile +#+begin_src emacs-lisp + (use-package projectile) +#+end_src + *** [[https://github.com/astahlman/ob-async][ob-async]] #+begin_src emacs-lisp (use-package ob-async) @@ -271,10 +400,11 @@ This is kind of a janky solution, but it works. #+end_comment ** Menubar -Remove the menu-bar at the top of the screen for better immersion. +Remove the menu/tool-bar at the top of the screen for better immersion. #+begin_src emacs-lisp (menu-bar-mode -1) + (tool-bar-mode -1) #+end_src * Emacs Configuration @@ -291,7 +421,6 @@ Follow symlinks without asking for confirmation. (setq-default indent-tabs-mode nil) #+END_SRC - * Mode Configuration ** Org-mode *** Enable org-bullets and hide leading stars. @@ -323,10 +452,41 @@ Follow symlinks without asking for confirmation. ("breakanywhere" "true"))) #+end_src +** yassnipped code completion in company +https://robert.kra.hn/posts/rust-emacs-setup/#changelog +#+begin_src emacs-lisp + (defun company-yasnippet-or-completion () + (interactive) + (or (do-yas-expand) + (company-complete-common))) + + (defun check-expansion () + (save-excursion + (if (looking-at "\\_>") t + (backward-char 1) + (if (looking-at "\\.") t + (backward-char 1) + (if (looking-at "::") t nil))))) + + (defun do-yas-expand () + (let ((yas/fallback-behavior 'return-nil)) + (yas/expand))) + + (defun tab-indent-or-complete () + (interactive) + (if (minibufferp) + (minibuffer-complete) + (if (or (not yas/minor-mode) + (null (do-yas-expand))) + (if (check-expansion) + (company-complete-common) + (indent-for-tab-command))))) +#+end_src + *** Keybindings #+begin_src emacs-lisp (define-key org-mode-map (kbd "C-c ,") 'org-insert-structure-template) - (define-key evil-normal-state-map (kbd "Y") 'simpleclip-copy) + (define-key evil-visual-state-map "Y" 'simpleclip-copy) #+end_src Enables specific languages for org-babel, so those languages can be used and compiled in code blocks and disable the compilation confirmation. The code afterwords enables proper indentation inside those source blocks. @@ -338,6 +498,7 @@ Enables specific languages for org-babel, so those languages can be used and com (makefile . t) (shell . t) (latex . t) + ;; (rust . t) (python . t))) (setq org-confirm-babel-evaluate nil) @@ -358,17 +519,14 @@ Enables specific languages for org-babel, so those languages can be used and com (display-line-numbers-mode 1))) #+end_src -** rust-mode -cargo.el -#+begin_src emacs-lisp - (add-hook 'rust-mode-hook 'cargo-minor-mode) -#+end_src - -flycheck-rust -#+begin_src emacs-lisp - (add-hook 'flycheck-mode-hook #'flycheck-rust-setup) -#+end_src ** p4-mode #+begin_src emacs-lisp (add-to-list 'auto-mode-alist '("\\.p4\\'" . c-mode)) #+end_src + +** markdown-mode +#+begin_src emacs-lisp + (add-hook 'markdown-mode-hook + (lambda () + (setq markdown-fontify-code-blocks-natively t))) +#+end_src diff --git a/emacs/.emacs.d/init.el b/emacs/.emacs.d/init.el index e804cc7..7d3b796 100644 --- a/emacs/.emacs.d/init.el +++ b/emacs/.emacs.d/init.el @@ -6,14 +6,16 @@ ;; If there is more than one, they won't work right. '(auth-source-save-behavior nil) '(ledger-reports - '(("privatausgaben" "%(binary) -f %(ledger-file) reg Girokonto and not expr 'any(account =~ /Unternehmenskosten|Versicherung|Wohnungskosten|Gemeinschaftskonto|LiviaE/)' and not @Umbuchung and not @Kleingeld --period 'this month'") + '(("privatausgaben" "%(binary) -f %(ledger-file) reg \\(Girokonto or Extrakonto\\) and not expr 'any(account =~ /Unternehmenskosten|Versicherung|Wohnungskosten|Investitionen/)' and not @Umbuchung and not @Gehalt and not @Halbwaisenrente --period 'this month'") ("bal" "%(binary) -f %(ledger-file) bal") ("reg" "%(binary) -f %(ledger-file) reg") ("payee" "%(binary) -f %(ledger-file) reg @%(payee)") ("account" "%(binary) -f %(ledger-file) reg %(account)"))) + '(lsp-rust-analyzer-display-chaining-hints t) + '(lsp-rust-analyzer-server-display-inlay-hints t) '(org-export-backends '(ascii html latex md odt)) '(package-selected-packages - '(auctex-latexmk flycheck-rust ansible yasnippet use-package theme-magic rainbow-mode rainbow-delimiters ox-twbs ox-reveal ox-hugo org-bullets no-littering moe-theme magit ivy-prescient htmlize god-mode go-mode flycheck evil-collection diminish counsel company auctex))) + '(dash auctex-latexmk flycheck-rust ansible yasnippet use-package theme-magic rainbow-mode rainbow-delimiters ox-twbs ox-reveal ox-hugo org-bullets no-littering moe-theme magit ivy-prescient htmlize god-mode go-mode flycheck evil-collection diminish counsel company auctex))) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/zsh/.zshrc b/zsh/.zshrc index 22d3245..b4ff7d1 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -7,6 +7,8 @@ export CTF=$HOME/Documents/CTF/ export WORKSPACE=$HOME/workspace_l export ZSHRC="$HOME/.zshrc" export VISUAL="emacsclient -t" +export EDITOR="emacsclient -t" + # History export HISTSIZE=10000000 @@ -31,6 +33,12 @@ alias sshconfig="e ~/.ssh/config" alias econfig="e ~/.emacs.d/config.org" alias wttr="curl wttr.in/Essen" alias tvres="xrandr --output HDMI1 --transform 1.02,0,-20,0,1.02,-10,0,0,1" +alias defaultres="xrandr --output HDMI1 --transform 1.00,0,0,0,1.00,0,0,0,1" +alias ezsh="e ~/.zshrc; source ~/.zshrc;" +alias notify="dunstify \"ping~\"" +alias ekill="pkill emacs; rm ~/.emacs.d/config.el; ed" +alias latexmk="latexmk -f -pdf -interaction=nonstopmode" +alias picotik="picocom --b 115200 /dev/ttyUSB0" # Theme ZSH_THEME="agnoster"