aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2021-07-28 00:30:19 +0200
committerBond_009 <bond.009@outlook.com>2021-07-28 00:30:19 +0200
commitd993bc6958517deaf98d893a81e157fae34ded12 (patch)
tree364747286d0fb221616a9ade284ccc96e66d1c52
First
-rw-r--r--alacritty/.config/alacritty/alacritty.yml549
-rwxr-xr-xcmus/.config/cmus/codedark.theme22
-rw-r--r--code/.config/Code/User/settings.json228
-rwxr-xr-xinitsh/.initsh69
-rwxr-xr-xneovim/.config/nvim/init.vim85
-rwxr-xr-xrofi/.config/rofi/config.rasi70
-rwxr-xr-xtmux/.tmux.conf43
-rw-r--r--tmux/.tmux.theme.conf19
-rw-r--r--zsh/.zprofile5
-rwxr-xr-xzsh/.zshrc124
10 files changed, 1214 insertions, 0 deletions
diff --git a/alacritty/.config/alacritty/alacritty.yml b/alacritty/.config/alacritty/alacritty.yml
new file mode 100644
index 0000000..2621d94
--- /dev/null
+++ b/alacritty/.config/alacritty/alacritty.yml
@@ -0,0 +1,549 @@
+# Configuration for Alacritty, the GPU enhanced terminal emulator.
+
+# 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: screen-256color
+
+window:
+ # Window dimensions (changes require restart)
+ #
+ # Specified in number of columns/lines, not pixels.
+ # If both are `0`, this setting is ignored.
+ dimensions:
+ columns: 128
+ lines: 32
+
+ # 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
+
+ dynamic_title: true
+
+ # 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, but no title bar buttons
+ decorations: none
+
+scrolling:
+ # Maximum number of lines in the scrollback buffer.
+ # Specifying '0' will disable scrolling.
+ history: 10000
+
+ # Number of lines the viewport will move for every line scrolled when
+ # scrollback is enabled (history > 0).
+ multiplier: 3
+
+# Font configuration (changes require restart)
+font:
+ # Normal (roman) font face
+ normal:
+ # Font family
+ #
+ # Default:
+ # - (macOS) Menlo
+ # - (Linux) monospace
+ # - (Windows) Consolas
+ family: Hack Nerd Font
+
+ # 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
+
+ # 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 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
+
+debug:
+ # Display the time it takes to redraw each frame.
+ render_timer: false
+
+ # Keep the log file after quitting Alacritty.
+ persistent_logging: false
+
+# Colors (Tomorrow Night Bright)
+colors:
+ # Default colors
+ primary:
+ background: '0x333333'
+ foreground: '0xeeeeee'
+
+ # 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: '0x9a9a9a'
+ #bright_foreground: '0xffffff'
+
+ # Cursor colors
+ #
+ # Colors which should be used to draw the terminal cursor. If these are unset,
+ # the cursor color will be the inverse of the cell color.
+ #cursor:
+ # text: '0x000000'
+ # cursor: '0xffffff'
+
+ # Selection colors
+ #
+ # Colors which should be used to draw the selection area. If selection
+ # background is unset, selection color will be the inverse of the cell colors.
+ # If only text is unset the cell text color will remain the same.
+ #selection:
+ # text: '0xeaeaea'
+ # background: '0x404040'
+
+ # Normal colors
+ normal:
+ black: '0x262626'
+ red: '0xf46060'
+ green: '0x5faf00'
+ yellow: '0xe6e56c'
+ blue: '0x0087ff'
+ magenta: '0x8787d7'
+ cyan: '0x12aa7e'
+ white: '0xbcbcbc'
+
+ # Bright colors
+ bright:
+ black: '0x808080'
+ red: '0xef1111'
+ green: '0x5CD85A'
+ yellow: '0xe6e56c'
+ blue: '0x5fafff'
+ magenta: '0xafafff'
+ cyan: '0x7fe7cc'
+ white: '0xeeeeee'
+
+ # Dim colors
+ #
+ # If the dim colors are not set, they will be calculated automatically based
+ # on the `normal` colors.
+ #dim:
+ # black: '0x000000'
+ # red: '0x8c3336'
+ # green: '0x7a8530'
+ # yellow: '0x97822e'
+ # blue: '0x506d8f'
+ # magenta: '0x80638e'
+ # cyan: '0x497e7a'
+ # white: '0x9a9a9a'
+
+ # 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: '0xff00ff' }`
+ #
+ indexed_colors: []
+
+# Visual Bell
+#
+# Any time the BEL code is received, Alacritty "rings" the visual bell. Once
+# rung, the terminal background will be set to white and transition back to the
+# default background color. You can control the rate of this transition by
+# setting the `duration` property (represented in milliseconds). You can also
+# configure the transition function by setting the `animation` property.
+#
+# Values for `animation`:
+# - Ease
+# - EaseOut
+# - EaseOutSine
+# - EaseOutQuad
+# - EaseOutCubic
+# - EaseOutQuart
+# - EaseOutQuint
+# - EaseOutExpo
+# - EaseOutCirc
+# - Linear
+#
+# Specifying a `duration` of `0` will disable the visual bell.
+bell:
+ animation: EaseOutExpo
+ duration: 0
+ color: '0xffffff'
+
+# 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.
+background_opacity: 0.9
+
+# Mouse bindings
+#
+# Available fields:
+# - mouse
+# - action
+# - mods (optional)
+#
+# Values for `mouse`:
+# - Middle
+# - Left
+# - Right
+# - Numeric identifier such as `5`
+#
+# All available `mods` and `action` values are documented in the key binding
+# section.
+mouse_bindings:
+ - { mouse: Middle, action: PasteSelection }
+
+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
+
+selection:
+ semantic_escape_chars: ",│`|:\"' ()[]{}<>"
+
+ # When set to `true`, selected text will be copied to the primary clipboard.
+ save_to_clipboard: true
+
+cursor:
+ # Cursor style
+ #
+ # Values for `style`:
+ # - ▇ Block
+ # - _ Underline
+ # - | Beam
+ style: Beam
+
+ # If this is `true`, the cursor will be rendered as a hollow box when the
+ # window is not focused.
+ unfocused_hollow: true
+
+# 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/macOS) /bin/bash --login
+# - (Windows) powershell
+shell:
+ program: /bin/tmux
+# args:
+# - --login
+
+# Windows 10 ConPTY backend (Windows only)
+#
+# This will enable better color support and may resolve other issues,
+# however this API and its implementation is still young and so is
+# disabled by default, as stability may not be as good as the winpty
+# backend.
+#
+# Alacritty will fall back to the WinPTY automatically if the ConPTY
+# backend cannot be initialized.
+enable_experimental_conpty_backend: false
+
+# Send ESC (\x1b) before characters when alt is pressed.
+alt_send_esc: true
+
+# Key bindings
+#
+# Key bindings are specified as a list of objects. Each binding will specify a
+# key and modifiers required to trigger it, terminal modes where the binding is
+# applicable, and what should be done when the key binding fires. It can either
+# send a byte sequence to the running application (`chars`), execute a
+# predefined action (`action`) or fork and execute a specified command plus
+# arguments (`command`).
+#
+# 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 `None` action.
+#
+# Example:
+# `- { key: V, mods: Control|Shift, action: Paste }`
+#
+# Available fields:
+# - key
+# - mods (optional)
+# - chars | action | command (exactly one required)
+# - mode (optional)
+#
+# Values for `key`:
+# - `A` -> `Z`
+# - `F1` -> `F12`
+# - `Key1` -> `Key0`
+#
+# A full list with available key codes can be found here:
+# https://docs.rs/glutin/*/glutin/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`
+#
+# Values for `mods`:
+# - Command
+# - Control
+# - Super
+# - Shift
+# - Alt
+#
+# Multiple `mods` can be combined using `|` like this: `mods: Control|Shift`.
+# Whitespace and capitalization is relevant and must match the example.
+#
+# Values for `chars`:
+# 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.
+#
+# Values for `action`:
+# - Paste
+# - PasteSelection
+# - Copy
+# - IncreaseFontSize
+# - DecreaseFontSize
+# - ResetFontSize
+# - ScrollPageUp
+# - ScrollPageDown
+# - ScrollLineUp
+# - ScrollLineDown
+# - ScrollToTop
+# - ScrollToBottom
+# - ClearHistory
+# - Hide
+# - Quit
+# - ClearLogNotice
+# - SpawnNewInstance
+# - None
+#
+# Values for `command`:
+# The `command` field must be a map containing a `program` string and
+# an `args` array of command line parameter strings.
+#
+# Example:
+# `command: { program: "alacritty", args: ["-e", "vttest"] }`
+#
+# Values for `mode`:
+# - ~AppCursor
+# - AppCursor
+# - ~AppKeypad
+# - AppKeypad
+key_bindings:
+ # (Windows/Linux only)
+ - { key: V, mods: Control|Shift, action: Paste }
+ - { key: C, mods: Control|Shift, action: Copy }
+ #- { key: Insert, mods: Shift, action: PasteSelection }
+ #- { key: Key0, mods: Control, action: ResetFontSize }
+ #- { key: Equals, mods: Control, action: IncreaseFontSize }
+ #- { key: Add, mods: Control, action: IncreaseFontSize }
+ #- { key: Subtract, mods: Control, action: DecreaseFontSize }
+ #- { key: Minus, mods: Control, action: DecreaseFontSize }
+
+ # (macOS only)
+ #- { key: Key0, mods: Command, action: ResetFontSize }
+ #- { key: Equals, mods: Command, action: IncreaseFontSize }
+ #- { key: Add, mods: Command, action: IncreaseFontSize }
+ #- { key: Minus, mods: Command, action: DecreaseFontSize }
+ #- { key: K, mods: Command, action: ClearHistory }
+ #- { key: K, mods: Command, chars: "\x0c" }
+ #- { key: V, mods: Command, action: Paste }
+ #- { key: C, mods: Command, action: Copy }
+ #- { key: H, mods: Command, action: Hide }
+ #- { key: Q, mods: Command, action: Quit }
+ #- { key: W, mods: Command, action: Quit }
+
+ - { key: Paste, action: Paste }
+ - { key: Copy, action: Copy }
+ - { key: L, mods: Control, action: ClearLogNotice }
+ - { key: L, mods: Control, chars: "\x0c" }
+ - { key: Home, mods: Alt, chars: "\x1b[1;3H" }
+ - { key: Home, chars: "\x1bOH", mode: AppCursor }
+ - { key: Home, chars: "\x1b[H", mode: ~AppCursor }
+ - { key: End, mods: Alt, chars: "\x1b[1;3F" }
+ - { key: End, chars: "\x1bOF", mode: AppCursor }
+ - { key: End, chars: "\x1b[F", mode: ~AppCursor }
+ - { key: PageUp, mods: Shift, action: ScrollPageUp, mode: ~Alt }
+ - { key: PageUp, mods: Shift, chars: "\x1b[5;2~", mode: Alt }
+ - { key: PageUp, mods: Control, chars: "\x1b[5;5~" }
+ - { key: PageUp, mods: Alt, chars: "\x1b[5;3~" }
+ - { key: PageUp, chars: "\x1b[5~" }
+ - { key: PageDown, mods: Shift, action: ScrollPageDown, mode: ~Alt }
+ - { key: PageDown, mods: Shift, chars: "\x1b[6;2~", mode: Alt }
+ - { key: PageDown, mods: Control, chars: "\x1b[6;5~" }
+ - { key: PageDown, mods: Alt, chars: "\x1b[6;3~" }
+ - { key: PageDown, chars: "\x1b[6~" }
+ - { key: Tab, mods: Shift, chars: "\x1b[Z" }
+ - { key: Back, chars: "\x7f" }
+ - { key: Back, mods: Alt, chars: "\x1b\x7f" }
+ - { key: Insert, chars: "\x1b[2~" }
+ - { key: Delete, chars: "\x1b[3~" }
+ - { key: Left, mods: Shift, chars: "\x1b[1;2D" }
+ - { key: Left, mods: Control, chars: "\x1b[1;5D" }
+ - { key: Left, mods: Alt, chars: "\x1b[1;3D" }
+ - { key: Left, chars: "\x1b[D", mode: ~AppCursor }
+ - { key: Left, chars: "\x1bOD", mode: AppCursor }
+ - { key: Right, mods: Shift, chars: "\x1b[1;2C" }
+ - { key: Right, mods: Control, chars: "\x1b[1;5C" }
+ - { key: Right, mods: Alt, chars: "\x1b[1;3C" }
+ - { key: Right, chars: "\x1b[C", mode: ~AppCursor }
+ - { key: Right, chars: "\x1bOC", mode: AppCursor }
+ - { key: Up, mods: Shift, chars: "\x1b[1;2A" }
+ - { key: Up, mods: Control, chars: "\x1b[1;5A" }
+ - { key: Up, mods: Alt, chars: "\x1b[1;3A" }
+ - { key: Up, chars: "\x1b[A", mode: ~AppCursor }
+ - { key: Up, chars: "\x1bOA", mode: AppCursor }
+ - { key: Down, mods: Shift, chars: "\x1b[1;2B" }
+ - { key: Down, mods: Control, chars: "\x1b[1;5B" }
+ - { key: Down, mods: Alt, chars: "\x1b[1;3B" }
+ - { key: Down, chars: "\x1b[B", mode: ~AppCursor }
+ - { key: Down, chars: "\x1bOB", mode: AppCursor }
+ - { key: F1, chars: "\x1bOP" }
+ - { key: F2, chars: "\x1bOQ" }
+ - { key: F3, chars: "\x1bOR" }
+ - { key: F4, chars: "\x1bOS" }
+ - { key: F5, chars: "\x1b[15~" }
+ - { key: F6, chars: "\x1b[17~" }
+ - { key: F7, chars: "\x1b[18~" }
+ - { key: F8, chars: "\x1b[19~" }
+ - { key: F9, chars: "\x1b[20~" }
+ - { key: F10, chars: "\x1b[21~" }
+ - { key: F11, chars: "\x1b[23~" }
+ - { key: F12, chars: "\x1b[24~" }
+ - { key: F1, mods: Shift, chars: "\x1b[1;2P" }
+ - { key: F2, mods: Shift, chars: "\x1b[1;2Q" }
+ - { key: F3, mods: Shift, chars: "\x1b[1;2R" }
+ - { key: F4, mods: Shift, chars: "\x1b[1;2S" }
+ - { key: F5, mods: Shift, chars: "\x1b[15;2~" }
+ - { key: F6, mods: Shift, chars: "\x1b[17;2~" }
+ - { key: F7, mods: Shift, chars: "\x1b[18;2~" }
+ - { key: F8, mods: Shift, chars: "\x1b[19;2~" }
+ - { key: F9, mods: Shift, chars: "\x1b[20;2~" }
+ - { key: F10, mods: Shift, chars: "\x1b[21;2~" }
+ - { key: F11, mods: Shift, chars: "\x1b[23;2~" }
+ - { key: F12, mods: Shift, chars: "\x1b[24;2~" }
+ - { key: F1, mods: Control, chars: "\x1b[1;5P" }
+ - { key: F2, mods: Control, chars: "\x1b[1;5Q" }
+ - { key: F3, mods: Control, chars: "\x1b[1;5R" }
+ - { key: F4, mods: Control, chars: "\x1b[1;5S" }
+ - { key: F5, mods: Control, chars: "\x1b[15;5~" }
+ - { key: F6, mods: Control, chars: "\x1b[17;5~" }
+ - { key: F7, mods: Control, chars: "\x1b[18;5~" }
+ - { key: F8, mods: Control, chars: "\x1b[19;5~" }
+ - { key: F9, mods: Control, chars: "\x1b[20;5~" }
+ - { key: F10, mods: Control, chars: "\x1b[21;5~" }
+ - { key: F11, mods: Control, chars: "\x1b[23;5~" }
+ - { key: F12, mods: Control, chars: "\x1b[24;5~" }
+ - { key: F1, mods: Alt, chars: "\x1b[1;6P" }
+ - { key: F2, mods: Alt, chars: "\x1b[1;6Q" }
+ - { key: F3, mods: Alt, chars: "\x1b[1;6R" }
+ - { key: F4, mods: Alt, chars: "\x1b[1;6S" }
+ - { key: F5, mods: Alt, chars: "\x1b[15;6~" }
+ - { key: F6, mods: Alt, chars: "\x1b[17;6~" }
+ - { key: F7, mods: Alt, chars: "\x1b[18;6~" }
+ - { key: F8, mods: Alt, chars: "\x1b[19;6~" }
+ - { key: F9, mods: Alt, chars: "\x1b[20;6~" }
+ - { key: F10, mods: Alt, chars: "\x1b[21;6~" }
+ - { key: F11, mods: Alt, chars: "\x1b[23;6~" }
+ - { key: F12, mods: Alt, chars: "\x1b[24;6~" }
+ - { key: F1, mods: Super, chars: "\x1b[1;3P" }
+ - { key: F2, mods: Super, chars: "\x1b[1;3Q" }
+ - { key: F3, mods: Super, chars: "\x1b[1;3R" }
+ - { key: F4, mods: Super, chars: "\x1b[1;3S" }
+ - { key: F5, mods: Super, chars: "\x1b[15;3~" }
+ - { key: F6, mods: Super, chars: "\x1b[17;3~" }
+ - { key: F7, mods: Super, chars: "\x1b[18;3~" }
+ - { key: F8, mods: Super, chars: "\x1b[19;3~" }
+ - { key: F9, mods: Super, chars: "\x1b[20;3~" }
+ - { key: F10, mods: Super, chars: "\x1b[21;3~" }
+ - { key: F11, mods: Super, chars: "\x1b[23;3~" }
+ - { key: F12, mods: Super, chars: "\x1b[24;3~" }
+ - { key: NumpadEnter, chars: "\n" }
diff --git a/cmus/.config/cmus/codedark.theme b/cmus/.config/cmus/codedark.theme
new file mode 100755
index 0000000..e6da3de
--- /dev/null
+++ b/cmus/.config/cmus/codedark.theme
@@ -0,0 +1,22 @@
+set color_cmdline_bg=default
+set color_cmdline_fg=default
+set color_error=lightred
+set color_info=lightyellow
+set color_statusline_bg=blue
+set color_statusline_fg=black
+set color_titleline_bg=236
+set color_titleline_fg=white
+set color_win_bg=default
+set color_win_cur=lightblue
+set color_win_cur_sel_bg=blue
+set color_win_cur_sel_fg=white
+set color_win_dir=lightblue
+set color_win_fg=default
+set color_win_inactive_cur_sel_bg=gray
+set color_win_inactive_cur_sel_fg=lightyellow
+set color_win_inactive_sel_bg=gray
+set color_win_inactive_sel_fg=black
+set color_win_sel_bg=blue
+set color_win_sel_fg=white
+set color_win_title_bg=blue
+set color_win_title_fg=236
diff --git a/code/.config/Code/User/settings.json b/code/.config/Code/User/settings.json
new file mode 100644
index 0000000..ebd8091
--- /dev/null
+++ b/code/.config/Code/User/settings.json
@@ -0,0 +1,228 @@
+{
+ "breadcrumbs.enabled": true,
+
+ "diffEditor.ignoreTrimWhitespace": false,
+ "diffEditor.renderIndicators": false,
+
+ "editor.acceptSuggestionOnCommitCharacter": false,
+ "editor.accessibilitySupport": "off",
+ "editor.dragAndDrop": false,
+ "editor.emptySelectionClipboard": false,
+ "editor.fontFamily": "'Hack Nerd Font', 'Hack', 'Source Code Pro', 'Droid Sans Mono', 'Courier New', monospace, 'Droid Sans Fallback'",
+ "editor.fontSize": 15,
+ "editor.formatOnPaste": false,
+ "editor.hover.delay": 200,
+ "editor.minimap.enabled": false,
+ "editor.mouseWheelZoom": true,
+ "editor.multiCursorModifier": "ctrlCmd",
+ "editor.quickSuggestions": {
+ "comments": true,
+ "other": true,
+ "strings": true
+ },
+ "editor.renderControlCharacters": true,
+ "editor.renderWhitespace": "boundary",
+ "editor.roundedSelection": false,
+ "editor.wordBasedSuggestions": false,
+
+ "explorer.confirmDelete": false,
+ "explorer.confirmDragAndDrop": false,
+
+ "extensions.ignoreRecommendations": true,
+
+ "files.associations": {
+ "*.clang-tidy": "yaml"
+ },
+ "files.eol": "\n",
+ "files.exclude": {
+ "**/.git": true,
+ "**/.svn": true,
+ "**/.hg": true,
+ "**/.DS_Store": true,
+ "**/bin": true,
+ "**/obj": true,
+ "**/Release": true,
+ "**/Debug": true,
+ "**/tidy-build": true,
+ },
+ "files.insertFinalNewline": true,
+ "files.trimTrailingWhitespace": true,
+
+ "git.detectSubmodules": false,
+
+ "telemetry.enableTelemetry": false,
+ "telemetry.enableCrashReporter": false,
+
+ "terminal.integrated.cursorBlinking": true,
+ "terminal.integrated.cursorStyle": "line",
+
+ "update.enableWindowsBackgroundUpdates": false,
+
+ "window.menuBarVisibility": "visible",
+ "window.newWindowDimensions": "inherit",
+ "window.openFilesInNewWindow": "default",
+ "window.restoreWindows": "none",
+ "window.title": "${dirty}${activeEditorShort}${separator}${rootName}${separator}${appName}",
+ "window.titleBarStyle": "custom",
+ "window.zoomLevel": -1,
+
+ "workbench.colorTheme": "dark-plus-syntax",
+ "workbench.editor.enablePreview": false,
+ "workbench.editor.enablePreviewFromQuickOpen": false,
+ "workbench.iconTheme": "material-icon-theme",
+ "workbench.list.horizontalScrolling": true,
+ "workbench.list.openMode": "doubleClick",
+
+ "zenMode.centerLayout": false,
+
+ "[lua]": {
+ "editor.insertSpaces": false,
+ "editor.autoIndent": "none"
+ },
+ "[yaml]": {
+ "editor.tabSize": 2,
+ "editor.insertSpaces": true,
+ "editor.autoIndent": "none"
+ },
+
+ "editor.tokenColorCustomizations": {
+ "[dark-plus-syntax]": {
+ "comments": "#6A9955",
+ "textMateRules": [
+ {
+ "scope": [
+ "entity.name.tag.localname.cs",
+ "punctuation.definition.tag.cs",
+ "punctuation.terminator.statement.cs",
+ "source.cs comment.block.documentation.cs punctuation.definition.comment.cs",
+ "source.cs comment.block.documentation.cs meta.tag.cs punctuation.separator.equals.cs"
+ ],
+ "settings": {
+ "foreground": "#d4d4d4"
+ }
+ },
+ {
+ "scope": [
+ "entity.name.variable.property.cs",
+ "entity.name.variable.parameter.cs",
+ "entity.name.variable.field.cs",
+ "entity.name.variable.local.cs",
+ "meta.interpolation.cs variable.other.object.property.cs"
+ ],
+ "settings": {
+ "foreground": "#d4d4d4"
+ },
+ },
+ {
+ "scope": [
+ "keyword.other.get.cs",
+ "keyword.other.set.cs"
+ ],
+ "settings": {
+ "foreground": "#569cd6"
+ }
+ },
+ {
+ "scope": [
+ "comment.block.c",
+ ],
+ "settings": {
+ "foreground": "#6A9955"
+ }
+ },
+ {
+ "scope": [
+ "punctuation.terminator.statement.c"
+ ],
+ "settings": {
+ "foreground": "#d4d4d4"
+ }
+ },
+ {
+ "scope": [
+ "storage.type.c",
+ ],
+ "settings": {
+ "foreground": "#569cd6"
+ }
+ },
+ ]
+ }
+ },
+
+ // Plugin settings
+
+ // C/C++
+ "C_Cpp.default.defines": [
+ "TARGET_AMD64",
+ "TARGET_64BIT"
+ ],
+ "C_Cpp.intelliSenseEngine": "Default",
+ "C_Cpp.workspaceParsingPriority": "high",
+
+ // C/C++ Advanced Lint
+ "c-cpp-flylint.clang.standard": [ "c++11" ],
+ "c-cpp-flylint.flexelint.enable": false,
+
+ // Crates
+ "crates.compatibleDecorator": "✓",
+
+ // GitLens
+ "gitlens.advanced.messages": {
+ "suppressCommitHasNoPreviousCommitWarning": false,
+ "suppressCommitNotFoundWarning": false,
+ "suppressFileNotUnderSourceControlWarning": false,
+ "suppressGitVersionWarning": false,
+ "suppressLineUncommittedWarning": false,
+ "suppressNoRepositoryWarning": false,
+ },
+
+ // Material Icon Theme
+ "material-icon-theme.folders.color": "#26a69a",
+
+ // C#
+ "csharp.suppressHiddenDiagnostics": false,
+ "csharp.suppressDotnetInstallWarning": true,
+ "csharp.suppressDotnetRestoreNotification": true,
+ "omnisharp.enableEditorConfigSupport": true,
+ "omnisharp.enableRoslynAnalyzers": true,
+ "omnisharp.useGlobalMono": "auto",
+ "razor.disabled": true,
+
+ // Rust (rls)
+ "rust.cfg_test": true,
+ "rust.clippy_preference": "on",
+ "rust.unstable_features": true,
+
+ // Rust analyzer
+ "rust-analyzer.inlayHints.enable": false,
+
+ "xmlTools.enforcePrettySelfClosingTagOnFormat": true,
+
+ "cSpell.userWords": [
+ "intrinsics",
+ "unpause",
+ "bitflags",
+ "cifs",
+ "cmus",
+ "datetime",
+ "derive",
+ "dylib",
+ "emby",
+ "encoder",
+ "image",
+ "jellyfin",
+ "magick",
+ "minecraft",
+ "mutex",
+ "openssl",
+ "peekable",
+ "read",
+ "serde",
+ "serilog",
+ "skia",
+ "ubyte",
+ "upnp",
+ "ushort"
+ ],
+}
diff --git a/initsh/.initsh b/initsh/.initsh
new file mode 100755
index 0000000..ecad570
--- /dev/null
+++ b/initsh/.initsh
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+KERNEL=$(uname -s)
+
+# EXPORTS
+[ -f ~/.exports ] && source ~/.exports
+# EDITORS
+export EDITOR="nano"
+export VISUAL="nvim"
+## C/C++
+export CC="clang"
+export CXX="clang++"
+export DCMAKE_C_COMPILER=$CC
+export DCMAKE_CXX_COMPILER=$CXX
+## RUST
+export RUST_BACKTRACE=full
+
+# Aliases
+## Replace ls with exa if installed
+if [ -x "$(command -v exa)" ]; then
+ alias ls="exa"
+ alias l="exa --icons"
+ alias tree="exa --tree"
+else
+ alias ls="ls --color=auto"
+fi
+## Editors
+alias e=$VISUAL
+alias vim=$VISUAL
+## Colors
+alias dir="dir --color=auto"
+alias grep="grep --color=auto"
+alias hexedit="hexedit --color"
+## Some more ls aliases
+alias ll="ls -alF"
+alias la="ls -a"
+
+# Easy to use copy/paste aliases for different platforms
+if [ "$KERNEL" = "Linux" ]; then
+ alias ucopy="xclip -selection c"
+ alias upaste="xclip -selection clipboard -o"
+elif [ "$KERNEL" = "Darwin" ]; then
+ alias ucopy="pbcopy"
+ alias upaste="pbpaste"
+fi
+
+# Greeting message
+if [ -n "$WELCOME_MSG" ]; then
+ if [ "$KERNEL" = "Linux" ]; then
+ DF_ARGS="-h -T -xtmpfs -xdevtmpfs"
+ OS_DESCRIPTION="$(lsb_release -sd)"
+ # Manjaro has a weird lsb_release, compensate
+ [ "$OS_DESCRIPTION" = '"Manjaro Linux"' ] && OS_DESCRIPTION="Manjaro Linux $(lsb_release -sr) ($(lsb_release -sc))"
+ elif [ "$KERNEL" = "Darwin" ]; then
+ DF_ARGS="-h -l"
+ OS_DESCRIPTION="$(system_profiler SPSoftwareDataType -detailLevel mini | grep -o "System Version: .*" | awk -F ': ' '{print $2}')"
+ fi
+
+ echo
+ echo -e " \e[1mUser: \e[0;32m$USER\e[0m"
+ echo -e " \e[1mHostname: \e[0;32m$(uname -n)\e[0m"
+ echo -e " \e[1mOS: \e[0;32m$OS_DESCRIPTION\e[0m"
+ echo -e " \e[1mKernel: \e[0;32m$KERNEL $(uname -r)\e[0m"
+ echo
+ echo -e " \e[1mDisk usage:\e[0m"
+ echo
+ echo -e "$(eval df $DF_ARGS | sed 's/^/ /')"
+ echo
+fi
diff --git a/neovim/.config/nvim/init.vim b/neovim/.config/nvim/init.vim
new file mode 100755
index 0000000..d58badf
--- /dev/null
+++ b/neovim/.config/nvim/init.vim
@@ -0,0 +1,85 @@
+set langmenu=en_US
+let $LANG = 'en_US'
+
+" Specify a directory for plugins
+call plug#begin('~/.local/share/nvim/plugged')
+
+" Visual theme
+Plug 'vim-airline/vim-airline'
+Plug 'tomasiser/vim-code-dark'
+
+Plug 'w0rp/ale'
+
+" tmux powerline generator
+" Plug 'edkolev/tmuxline.vim'
+
+" Language Support
+Plug 'lervag/vimtex'
+Plug 'rust-lang/rust.vim'
+Plug 'cespare/vim-toml'
+
+" Autocomplete
+Plug 'roxma/nvim-yarp'
+Plug 'ncm2/ncm2'
+Plug 'ncm2/ncm2-bufword'
+Plug 'ncm2/ncm2-tmux'
+Plug 'ncm2/ncm2-path'
+
+" Fuzzy finder
+Plug 'airblade/vim-rooter'
+Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
+
+" Initialize plugin system
+call plug#end()
+
+" Theme
+set background=dark
+colorscheme codedark
+let g:airline_theme = 'codedark'
+hi Normal ctermbg=NONE guibg=NONE
+"hi NonText ctermbg=NONE guibg=NONE
+hi LineNr ctermbg=NONE guibg=NONE
+hi EndOfBuffer ctermbg=NONE guibg=NONE
+
+" General settings
+"set termguicolors
+set number
+set nowrap
+set mouse=a " Enable mouse in all modes
+set colorcolumn=80
+au VimLeave * set guicursor=a:ver10-blinkon0
+
+" Speed
+" https://github.com/vim/vim/issues/1735#issuecomment-383353563
+set ttyfast
+set lazyredraw
+set synmaxcol=500
+
+" Default indent settings
+set expandtab! " Don't replace tabs with spaces
+set tabstop=4
+set shiftwidth=4
+set softtabstop=4
+set autoindent
+set smartindent
+set cindent
+
+" Keybinds
+map <C-f> /
+map <C-s> :w<Cr>
+" Open file keybind
+map <C-p> :Files<Cr>
+
+" Permanent undo
+set undodir=~/.vimdid
+set undofile
+
+" ncm2 settings
+autocmd BufEnter * call ncm2#enable_for_buffer()
+set completeopt=noinsert,menuone,noselect
+" tab to select
+" and don't hijack my enter key
+inoremap <expr><Tab> (pumvisible()?(empty(v:completed_item)?"\<C-n>":"\<C-y>"):"\<Tab>")
+inoremap <expr><CR> (pumvisible()?(empty(v:completed_item)?"\<CR>\<CR>":"\<C-y>"):"\<CR>")
+
+let g:tex_flavor = 'latex'
diff --git a/rofi/.config/rofi/config.rasi b/rofi/.config/rofi/config.rasi
new file mode 100755
index 0000000..ae36e8d
--- /dev/null
+++ b/rofi/.config/rofi/config.rasi
@@ -0,0 +1,70 @@
+configuration {
+/* modi: "window,run,ssh";*/
+ width: -64;
+ lines: 16;
+/* columns: 1;*/
+ font: "Hack 12";
+ bw: 0;
+/* location: 0;*/
+ padding: 5;
+/* yoffset: 0;*/
+/* xoffset: 0;*/
+/* fixed-num-lines: true;*/
+ show-icons: true;
+ terminal: "alacritty";
+/* ssh-client: "ssh";*/
+/* ssh-command: "{terminal} -e {ssh-client} {host}";*/
+/* run-command: "{cmd}";*/
+/* run-list-command: "";*/
+/* run-shell-command: "{terminal} -e {cmd}";*/
+/* window-command: "xkill -id {window}";*/
+/* window-match-fields: "all";*/
+// backlight: #ccffeedd;
+// background-color: transparent;
+// drun-icon-theme: "breath";
+/* drun-match-fields: "name,generic,exec,categories";*/
+/* disable-history: false;*/
+/* sort: false;*/
+/* levenshtein-sort: false;*/
+/* case-sensitive: false;*/
+/* cycle: true;*/
+/* sidebar-mode: false;*/
+// eh: 1;
+/* auto-select: false;*/
+/* parse-hosts: false;*/
+/* parse-known-hosts: true;*/
+/* combi-modi: "window,run";*/
+ matching: "fuzzy";
+/* tokenize: true;*/
+/* m: "-5";*/
+ line-margin: 3;
+/* line-padding: 1;*/
+/* filter: ;*/
+ separator-style: "solid";
+/* hide-scrollbar: false;*/
+/* fullscreen: false;*/
+/* fake-transparency: false;*/
+/* dpi: 100;*/
+ threads: 0;
+ scrollbar-width: 5;
+/* scroll-method: 0;*/
+/* fake-background: "screenshot";*/
+/* window-format: "{w} {i}{c} {t}";*/
+/* click-to-exit: true;*/
+/* show-match: true;*/
+// theme: "/usr/share/rofi/themes/Adapta-Nokto.rasi";
+ color-normal: "argb:a5333333, #ffffff, argb:a5262626, argb:a55fafff, #ffffff";
+/* color-urgent: ;*/
+/* color-active: ;*/
+ color-window: "argb:a5222222, #3a3a3a, #5fafff";
+/* max-history-size: 25;*/
+/* combi-hide-mode-prefix: false;*/
+/* pid: "/run/user/1000/rofi.pid";*/
+/* display-window: ;*/
+/* display-windowcd: ;*/
+ display-run: "run";
+ display-ssh: "ssh";
+/* display-drun: ;*/
+/* display-combi: ;*/
+/* display-keys: ;*/
+}
diff --git a/tmux/.tmux.conf b/tmux/.tmux.conf
new file mode 100755
index 0000000..77197aa
--- /dev/null
+++ b/tmux/.tmux.conf
@@ -0,0 +1,43 @@
+# Limit history to 100.000 lines
+set-option -g history-limit 100000
+
+set -g default-terminal "tmux-256color"
+set -ag terminal-overrides ",alacritty:RGB"
+
+# Remap prefix from 'C-b' to 'C-a'
+unbind C-b
+set-option -g prefix C-a
+bind-key C-a send-prefix
+
+# VI-mode
+set-window-option -g mode-keys vi
+
+# Remove ESC delay
+set -s escape-time 0
+
+set -g set-titles on
+set -g set-titles-string "#T"
+
+# Move between panes with Shift
+bind -n S-Left select-window -p
+bind -n S-Right select-window -n
+bind -n S-Down new-window
+bind -n S-Up command-prompt "rename-window %%"
+
+# Create new windows shortcut
+bind -n C-b split-window -v
+bind -n C-h split-window -h
+
+# Enable mouse mode (tmux 2.1 and above)
+set -g mouse on
+
+# Don't rename windows automatically
+setw -g automatic-rename off
+# Renumber windows when a window is closed
+set -g renumber-windows on
+
+# Set status bar to top
+#set-option -g status-position top
+
+# Load theme
+if '[ -f ~/.tmux.theme.conf ]' 'source ~/.tmux.theme.conf'
diff --git a/tmux/.tmux.theme.conf b/tmux/.tmux.theme.conf
new file mode 100644
index 0000000..1e42f34
--- /dev/null
+++ b/tmux/.tmux.theme.conf
@@ -0,0 +1,19 @@
+set -g status-justify "left"
+set -g status "on"
+set -g status-left-style "none"
+set -g message-command-style "fg=colour15,bg=colour236"
+set -g status-right-style "none"
+set -g pane-active-border-style "fg=colour32"
+set -g status-style "none,bg=default"
+set -g message-style "fg=colour15,bg=colour236"
+set -g pane-border-style "fg=colour236"
+set -g status-right-length "100"
+set -g status-left-length "100"
+setw -g window-status-activity-style "none"
+setw -g window-status-separator ""
+setw -g window-status-style "none,fg=colour15,bg=default"
+set -g status-left "#[fg=colour235,bg=blue,none] #S #[fg=blue,bg=default,none] "
+set -g status-right "#[fg=colour235,bg=default,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour235] %d-%m-%Y  %H:%M #[fg=blue,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour15,bg=colour32] #h "
+setw -g window-status-format "#[fg=colour15,bg=default,none] #I #[fg=colour15,bg=default] #W "
+setw -g window-status-current-format "#[fg=colour235,bg=colour32,none] #I #[fg=colour235,bg=colour32,none] #W "
+
diff --git a/zsh/.zprofile b/zsh/.zprofile
new file mode 100644
index 0000000..38e3dbf
--- /dev/null
+++ b/zsh/.zprofile
@@ -0,0 +1,5 @@
+if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]
+then
+ source .profile
+ startxfce4
+fi
diff --git a/zsh/.zshrc b/zsh/.zshrc
new file mode 100755
index 0000000..db49ac0
--- /dev/null
+++ b/zsh/.zshrc
@@ -0,0 +1,124 @@
+# Exec general init script
+source ~/.initsh
+
+# If not running interactively, don't do anything else
+case $- in
+ *i*) ;;
+ *) return;;
+esac
+
+# Set up the prompt
+
+autoload -Uz promptinit
+promptinit
+prompt default
+
+setopt histignorealldups sharehistory
+
+# Use vi keybindings even if our EDITOR is set to emacs
+bindkey -v
+
+# Remove delay when entering normal mode (vi)
+KEYTIMEOUT=5
+
+# create a zkbd compatible hash;
+# to add other keys to this hash, see: man 5 terminfo
+typeset -g -A key
+
+key[Home]="${terminfo[khome]}"
+key[End]="${terminfo[kend]}"
+key[Insert]="${terminfo[kich1]}"
+key[Backspace]="${terminfo[kbs]}"
+key[Delete]="${terminfo[kdch1]}"
+key[Up]="${terminfo[kcuu1]}"
+key[Down]="${terminfo[kcud1]}"
+key[Left]="${terminfo[kcub1]}"
+key[Right]="${terminfo[kcuf1]}"
+key[PageUp]="${terminfo[kpp]}"
+key[PageDown]="${terminfo[knp]}"
+key[Shift-Tab]="${terminfo[kcbt]}"
+
+# setup key accordingly
+[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
+[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
+[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
+[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
+[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
+[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
+[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
+[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
+[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
+[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
+[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
+[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
+
+# Finally, make sure the terminal is in application mode, when zle is
+# active. Only then are the values from $terminfo valid.
+if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
+ autoload -Uz add-zle-hook-widget
+ function zle_application_mode_start { echoti smkx }
+ function zle_application_mode_stop { echoti rmkx }
+ add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
+ add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
+fi
+
+# Keep 100.000 lines of history within the shell and save it to ~/.zsh_history
+HISTSIZE=100000
+SAVEHIST=100000
+HISTFILE=~/.zsh_history
+SHARE_HISTORY=1
+HIST_IGNORE_DUPS=1
+HIST_FIND_NO_DUPS=1
+NO_HIST_BEEP=1
+
+# Use modern completion system
+autoload -Uz compinit
+compinit
+
+zstyle ':completion:*' auto-description 'specify: %d'
+zstyle ':completion:*' completer _expand _complete _correct _approximate
+zstyle ':completion:*' format 'Completing %d'
+zstyle ':completion:*' group-name ''
+zstyle ':completion:*' menu select=2
+zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
+zstyle ':completion:*' list-colors ''
+zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
+zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'
+zstyle ':completion:*' menu select=long
+zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
+zstyle ':completion:*' use-compctl false
+zstyle ':completion:*' verbose true
+
+zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
+zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
+
+# Autocompletion of command line switches for aliases
+setopt COMPLETE_ALIASES
+
+# Disable autocorrect
+unsetopt correct_all
+
+# Don't show username and machine name
+export DEFAULT_USER="$USER"
+
+# Don't indent prompt
+export ZLE_RPROMPT_INDENT=0
+
+# Powerlevel9k
+[ -n "$POWERLEVEL9K_THEME" ] && source "$POWERLEVEL9K_THEME"
+## Settings
+POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context dir dir_writable vcs)
+POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status background_jobs command_execution_time time)
+POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
+## Style
+POWERLEVEL9K_STATUS_ERROR_BACKGROUND='009' # lightred
+POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='009' # lightred
+
+# Autosuggestions
+[ -n "$ZSH_AUTOSUGGEST_PATH" ] && source "$ZSH_AUTOSUGGEST_PATH"
+ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE=fg=7
+ZSH_AUTOSUGGEST_USE_ASYNC=1
+# Syntax highlighting
+[ -n "$ZSH_SYNTAX_HIGHLIGHTING_PATH" ] && source "$ZSH_SYNTAX_HIGHLIGHTING_PATH"
+
+[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh