Compare commits

...

No commits in common. "master" and "77d18a6e1f5c63026201e705fc74b00dd626bae4" have entirely different histories.

59 changed files with 1858 additions and 1707 deletions

View File

@ -1,21 +0,0 @@
{
"files.insertFinalNewline": true,
"files.trimFinalNewlines": true,
"window.menuBarVisibility": "hidden",
"git.confirmSync": false,
"go.useLanguageServer": true,
"debug.console.fontFamily": "Source Code Pro",
"terminal.integrated.fontFamily": "Source Code Pro",
"git.autofetch": true,
"explorer.confirmDragAndDrop": false,
"explorer.compactFolders": false,
"files.trimTrailingWhitespace": true,
"workbench.colorTheme": "Bluloco Light",
"workbench.preferredDarkColorTheme": "Bluloco Dark",
"workbench.preferredLightColorTheme": "Bluloco Light",
"editor.renderWhitespace": "all",
"workbench.editor.showTabs": false,
"go.toolsManagement.autoUpdate": true,
"editor.fontFamily": "JetBrains Mono",
"window.zoomLevel": -1
}

View File

@ -1,766 +0,0 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# These configuration files will be loaded in order, replacing values in files
# loaded earlier with those loaded later in the chain. The file itself will
# always be loaded last.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
#window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. The number of columns
# must be at least `2`, while using a value of `0` for columns and lines will
# fall back to the window manager's recommended size.
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
#padding:
# x: 0
# y: 0
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
#startup_mode: Windowed
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# GTK theme variant (Linux/BSD only)
#
# Override the variant of the GTK theme. Commonly supported values are `dark`
# and `light`. Set this to `None` to use the default theme variant.
#gtk_theme_variant: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
font:
size: 10
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: JetBrains Mono
# 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
# Thin stroke font rendering (macOS only)
#
# Thin strokes are suitable for retina displays, but for non-retina screens
# it is recommended to set `use_thin_strokes` to `false`.
#use_thin_strokes: true
# 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 and 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 and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground and CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: CellBackground
# background: CellForeground
#bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# 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: []
# 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
# 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: 1.0
#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
#
# Values for `style`:
# - ▇ Block
# - _ Underline
# - | Beam
#style: Block
# 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
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# WinPTY backend (Windows only)
#
# Alacritty defaults to using the newer ConPTY backend if it is available,
# since it resolves a lot of bugs and is quite a bit faster. If it is not
# available, the WinPTY backend will be used instead.
#
# Setting this option to `true` makes Alacritty use the legacy WinPTY backend,
# even if the ConPTY backend is available.
#winpty_backend: false
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: 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
#url:
# URL launcher
#
# This program is executed when clicking on a text which is recognized as a
# URL. The URL is always added to the command as the last parameter.
#
# When set to `launcher: None`, URL launching will be disabled completely.
#
# Default:
# - (macOS) open
# - (Linux/BSD) xdg-open
# - (Windows) explorer
#launcher:
# program: xdg-open
# args: []
# URL modifiers
#
# These are the modifiers that need to be held down for opening URLs when
# clicking on them. The available modifiers are documented in the key
# binding section.
#modifiers: None
# 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)
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Middle, 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.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Open URLs at the cursor location with the launcher configured in
# `url.launcher`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - 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
# - 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, 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: Vi, action: ScrollToBottom }
#- { key: Space, mods: Shift|Control, action: ToggleViMode }
#- { key: Escape, mode: Vi, action: ClearSelection }
#- { key: I, mode: Vi, action: ScrollToBottom }
#- { key: I, mode: Vi, action: ToggleViMode }
#- { key: C, mods: Control, mode: Vi, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi, action: ScrollLineDown }
#- { key: G, mode: Vi, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi, action: Copy }
#- { key: Y, mode: Vi, action: ClearSelection }
#- { key: Copy, mode: Vi, action: ClearSelection }
#- { key: V, mode: Vi, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi, action: Open }
#- { key: K, mode: Vi, action: Up }
#- { key: J, mode: Vi, action: Down }
#- { key: H, mode: Vi, action: Left }
#- { key: L, mode: Vi, action: Right }
#- { key: Up, mode: Vi, action: Up }
#- { key: Down, mode: Vi, action: Down }
#- { key: Left, mode: Vi, action: Left }
#- { key: Right, mode: Vi, action: Right }
#- { key: Key0, mode: Vi, action: First }
#- { key: Key4, mods: Shift, mode: Vi, action: Last }
#- { key: Key6, mods: Shift, mode: Vi, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi, action: High }
#- { key: M, mods: Shift, mode: Vi, action: Middle }
#- { key: L, mods: Shift, mode: Vi, action: Low }
#- { key: B, mode: Vi, action: SemanticLeft }
#- { key: W, mode: Vi, action: SemanticRight }
#- { key: E, mode: Vi, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi, action: WordRight }
#- { key: E, mods: Shift, mode: Vi, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi, action: Bracket }
#- { key: Slash, mode: Vi, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi, action: SearchBackward }
#- { key: N, mode: Vi, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi, action: SearchPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, action: SearchForward }
#- { key: B, mods: Control|Shift, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi, 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, chars: "\x0c" }
#- { 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: K, mods: Command, action: ClearHistory }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { 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, action: SearchForward }
#- { key: B, mods: Command, 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`:
# - None
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false

View File

@ -1,2 +0,0 @@
--force-device-scale-factor=2
--ozone-platform-hint=auto

View File

@ -1,20 +0,0 @@
font=Terminus 10
icons=1
max-icon-size=16
default-timeout=5000
[urgency=low]
text-color=#888888ff
background-color=#222222ff
[urgency=normal]
text-color=#ffffffff
background-color=#285577ff
[urgency=high]
ignore-timeout=1
default-timeout=0
text-color=#ffffffff
background-color=#900000ff
border-color=#ff0000ff

Binary file not shown.

View File

@ -1,6 +0,0 @@
{
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false,
"python.formatting.provider": "black"
}

View File

@ -1,60 +0,0 @@
"
" vim-plug
"
call plug#begin(stdpath('data') . '/plugged')
Plug 'ctrlpvim/ctrlp.vim'
" Code analysis and autocompletion
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Git
Plug 'airblade/vim-gitgutter'
" Undo tree
Plug 'mbbill/undotree'
call plug#end()
"
" General configuration
"
set title " Shows file name in title
set number " Shows line numbers
set nowrap " Do not wrap lines
set hidden " Allow buffer switch without saving
set ignorecase " Allows case insensitive searches
"set smartcase " Case sensitive searches if uppercase is used
set spelllang=en " Check language spelling in english
"
" Theming
"
colorscheme zellner
"
" CtrlP
"
map <C-S-P> <Esc>:CtrlPBuffer<CR>
"
" Deoplete
"
let g:deoplete#enable_at_startup = 1
" - Autocomplete with <Tab>
inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>"
"
" UndoTree
"
map <C-S-u> <Esc>:UndotreeToggle<CR>
"
" Golang
"
" Auto imports on save/format
autocmd BufWritePre *.go :silent call CocAction('runCommand', 'editor.action.organizeImport')

View File

@ -1,52 +0,0 @@
from qutebrowser.api import interceptor
# Youtube Ad Blocker
# From: https://gist.github.com/Gavinok/f9c310a66576dc00329dd7bef2b122a1
def filter_youtube_ads(info: interceptor.Request):
"""Block the given request if necessary."""
url = info.request_url
# Video ads
if (
url.host() == "www.youtube.com"
and url.path() == "/get_video_info"
and "&adformat=" in url.query()
):
info.block()
interceptor.register(filter_youtube_ads)
# Fonts
c.fonts.default_family = "JetBrains Mono"
# Session save/restore
c.auto_save.session = True
c.auto_save.interval = 15000
# Search engines
c.url.searchengines = {
'DEFAULT': 'https://google.com/search?hl=en&q={}',
'!a': 'https://www.amazon.es/s?k={}',
'!gh': 'https://github.com/search?o=desc&q={}&s=stars',
}
# Default page and new tab
c.url.default_page = "https://miniflux.fmartingr.dev"
c.url.start_pages = ["https://miniflux.fmartingr.dev"]
# Keybindings
config.bind("1pc", ":spawn --userscript ~/Code/qute-1password/qute_1pass.py --cache-session --auto-submit fill_credentials")
config.bind("1pu", ":spawn --userscript ~/Code/qute-1password/qute_1pass.py --cache-session --auto-submit fill_username")
config.bind("1pp", ":spawn --userscript ~/Code/qute-1password/qute_1pass.py --cache-session --auto-submit fill_password")
config.bind("1po", ":spawn --userscript ~/Code/qute-1password/qute_1pass.py --cache-session --auto-submit fill_totp")
# QT Configuration
# Enables Hardware Acceleration.
# ignore-gpu-blacklist should not be needed on all computers though, we may need to
# update this configuration once more computers use it.
c.qt.args = ["enable-gpu-rasterization", "ignore-gpu-blocklist", "enable-native-gpu-memory-buffers", "num-raster-threads=4"]
# Load autoconfig
config.load_autoconfig()

View File

@ -1,6 +0,0 @@
disc https://discord.com/channels/@me
gh https://github.com/
yt https://www.youtube.com/
tw https://twitter.com/
1p https://my.1password.com/signin
code https://code.fmartingr.dev/

View File

@ -1,4 +0,0 @@
configuration {
font: "Terminus 14";
}
@theme "/usr/share/rofi/themes/Paper.rasi"

View File

@ -1,227 +0,0 @@
# Default config for sway
#
# Copy this to ~/.config/sway/config and edit it to your liking.
#
# Read `man 5 sway` for a complete reference.
### Variables
#
# Logo key. Use Mod1 for Alt.
set $mod Mod4
# Home row direction keys, like vim
set $left h
set $down j
set $up k
set $right l
# Your preferred terminal emulator
set $term alacritty
# Your preferred application launcher
# Note: pass the final command to swaymsg so that the resulting window can be opened
# on the original workspace that the command was run on.
#set $menu dmenu_path | dmenu | xargs swaymsg exec --
set $menu rofi -show drun
# Fonts
set $font Terminus
font $font
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
output * bg ~/.wallpaper fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
### Idle configuration
#
# Example configuration:
#
# exec swayidle -w \
# timeout 300 'swaylock -f -c 000000' \
# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
# before-sleep 'swaylock -f -c 000000'
#
# This will lock your screen after 300 seconds of inactivity, then turn off
# your displays after another 300 seconds, and turn your screens back on when
# resumed. It will also lock your screen before your computer goes to sleep.
### Input configuration
#
# Example configuration:
#
# input "2:14:SynPS/2_Synaptics_TouchPad" {
# dwt enabled
# tap enabled
# natural_scroll enabled
# middle_emulation enabled
# }
#
# You can get the names of your inputs by running: swaymsg -t get_inputs
# Read `man 5 sway-input` for more information about this section.
### Key bindings
#
# Basics:
#
# Start a terminal
bindsym $mod+Return exec $term
# Kill focused window
bindsym $mod+Shift+q kill
# Start your launcher
bindsym $mod+d exec $menu
# Drag floating windows by holding down $mod and left mouse button.
# Resize them with right mouse button + $mod.
# Despite the name, also works for non-floating windows.
# Change normal to inverse to use left mouse button for resizing and right
# mouse button for dragging.
floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Exit sway (logs you out of your Wayland session)
# bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
#
# Moving around:
#
# Move your focus around
#bindsym $mod+$left focus left
#bindsym $mod+$down focus down
#bindsym $mod+$up focus up
#bindsym $mod+$right focus right
# Or use $mod+[up|down|left|right]
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move the focused window with the same, but add Shift
bindsym $mod+Shift+$left move left
bindsym $mod+Shift+$down move down
bindsym $mod+Shift+$up move up
bindsym $mod+Shift+$right move right
# Ditto, with arrow keys
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
#
# Workspaces:
#
# Switch to workspace
bindsym $mod+1 workspace number 1
bindsym $mod+2 workspace number 2
bindsym $mod+3 workspace number 3
bindsym $mod+4 workspace number 4
bindsym $mod+5 workspace number 5
bindsym $mod+6 workspace number 6
bindsym $mod+7 workspace number 7
bindsym $mod+8 workspace number 8
bindsym $mod+9 workspace number 9
bindsym $mod+0 workspace number 10
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10
# Note: workspaces can have any name you want, not just numbers.
# We just use 1-10 as the default.
#
# Layout stuff:
#
# You can "split" the current object of your focus with
# $mod+b or $mod+v, for horizontal and vertical splits
# respectively.
bindsym $mod+b splith
bindsym $mod+v splitv
# Switch the current container between different layout styles
bindsym $mod+shift+s layout stacking
bindsym $mod+shift+w layout tabbed
bindsym $mod+shift+e layout toggle split
# Make the current focus fullscreen
bindsym $mod+f fullscreen
# Toggle the current focus between tiling and floating mode
bindsym $mod+Shift+space floating toggle
# Swap focus between the tiling area and the floating area
bindsym $mod+space focus mode_toggle
# Move focus to the parent container
bindsym $mod+a focus parent
#
# Scratchpad:
#
# Sway has a "scratchpad", which is a bag of holding for windows.
# You can send windows there and get them back later.
# Move the currently focused window to the scratchpad
bindsym $mod+Shift+minus move scratchpad
# Show the next scratchpad window or hide the focused scratchpad window.
# If there are multiple scratchpad windows, this command cycles through them.
bindsym $mod+minus scratchpad show
#
# Resizing containers:
#
mode "resize" {
# left will shrink the containers width
# right will grow the containers width
# up will shrink the containers height
# down will grow the containers height
bindsym $left resize shrink width 10px
bindsym $down resize grow height 10px
bindsym $up resize shrink height 10px
bindsym $right resize grow width 10px
# Ditto, with arrow keys
bindsym Left resize shrink width 10px
bindsym Down resize grow height 10px
bindsym Up resize shrink height 10px
bindsym Right resize grow width 10px
# Return to default mode
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
#
# Status Bar:
#
# Read `man 5 sway-bar` for more information about this section.
bar {
position top
font $font
# When the status_command prints a new line to stdout, swaybar updates.
# The default just shows the current date and time.
#
#status_command while date +'%Y-%m-%d %l:%M:%S %p'; do sleep 1; done
status_command ~/.config/sway/swaybar.sh
colors {
statusline #ffffff
background #323232
inactive_workspace #32323200 #32323200 #5c5c5c
}
}
include ~/.config/sway/config.d/*.config

View File

@ -1,12 +0,0 @@
#
# Gaps:
#
gaps inner 8
smart_gaps on
#
# Window decorations:
#
default_border pixel 2
hide_edge_borders smart

View File

@ -1,45 +0,0 @@
set $locker ~/.dotfiles/bin/lock.sh
set $fileManager caja
# Notifications:
bindsym ctrl+space exec makoctl dismiss
bindsym ctrl+shift+space exec makoctl dismiss --all
# Screenshot
bindsym alt+shift+4 exec ~/.dotfiles/bin/screenshot.sh
# File manager
bindsym $mod+e exec $fileManager
# Multimedia Keys
# Requires: playerctl
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%-
bindsym XF86AudioMute exec amixer sset Master toggle
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
# Screen brightness
bindsym XF86MonBrightnessUp exec brightnessctl set +5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%-
# Lock
bindsym $mod+l exec $locker
# Sticky windows
bindsym $mod+j sticky toggle
# System menu
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown
mode "$mode_system" {
bindsym l exec --no-startup-id $locker, mode "default"
bindsym e exec --no-startup-id swaymsg exit, mode "default"
bindsym s exec --no-startup-id $locker && systemctl suspend, mode "default"
bindsym h exec --no-startup-id $locker && systemctl hibernate, mode "default"
bindsym r exec --no-startup-id systemctl reboot, mode "default"
bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode "default"
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+F12 mode "$mode_system"

View File

@ -1,43 +0,0 @@
#!/bin/bash
# vim: ts=4
source $HOME/.secrets/finnhub
function getPowerValue() {
POWER=$(cat /sys/class/power_supply/BAT0/capacity)%
echo $POWER
}
function getPowerStatus() {
POWERSTATUS=$(cat /sys/class/power_supply/BAT0/status)
if [ "$POWERSTATUS" == "Charging" ]; then
echo "+"
elif [ "$POWERSTATUS" == "Discharging" ]; then
echo "-"
fi
}
function getDate() {
echo $(date +'%Y-%m-%d %H:%M')
}
function getVolume() {
echo $(amixer get Master | grep 'Left:' | awk -F"[][]" '{ print $2 }')
}
function getStock() {
curl -s "https://finnhub.io/api/v1/quote?symbol=$1&token=$SECRET_FINNHUB_TOKEN" | jq ".c"
}
function getNextEvent() {
khal list now -df "" | grep -v "^ " | head -n 1
}
function getCurrentSong() {
echo $(playerctl metadata artist) - $(playerctl metadata title)
}
while [ True ]; do
echo "$(getCurrentSong) | $(getNextEvent) | $(getVolume) | $(getPowerValue)$(getPowerStatus) | $(getDate)"
sleep 30
done

5
.config/yadm/bootstrap Executable file
View File

@ -0,0 +1,5 @@
#!/bin/sh
for f in `ls $HOME/.dotfiles/bootstrap/*.sh`; do
bash $f
done

75
.dotfiles/Brewfile Normal file
View File

@ -0,0 +1,75 @@
# CLI
brew "act"
brew "ansible"
brew "ffmpeg"
brew "gh"
brew "go"
brew "golangci-lint"
brew "goreleaser/tap/goreleaser"
brew "grep" # Most recent grep
brew "httpie"
brew "jq"
brew "mas"
brew "mosh"
brew "ncdu"
brew "nodejs"
brew "nvim"
brew "pinentry-mac"
brew "pipx"
brew "tmux"
brew "watch"
brew "yadm"
# Cask
cask "arc"
cask "1password"
# cask "adobe-creative-cloud" # Just for testing Photoshop things
cask "appcleaner"
cask "caffeine"
cask "dash"
cask "element"
cask "fantastical"
# cask "firefox"
cask "gpg-suite"
cask "hammerspoon"
# cask "iterm2" # Downloaded beta version manually
cask "notion"
# cask "obsidian"
cask "orbstack"
cask "alfred"
cask "secretive"
cask "steam"
cask "synology-drive"
cask "tableplus"
cask "telegram"
cask "visual-studio-code"
cask "vlc"
# tap "guumaster/tap" # Wasn't using it
# brew "hostctl"
tap "homebrew/cask-versions"
cask "iterm2-beta"
# Fonts
tap "homebrew/cask-fonts"
cask "font-jetbrains-mono"
# Bun
tap "oven-sh/bun"
brew "bun"
# AI
cask "diffusionbee"
# Bandsnatch (download from bandcamp)
brew "ovyerus/tap/bandsnatch"
# Development dependencies
brew "imagemagick" # Required by lektor (installed using pipx)
# Applications from App Store
mas "Pixelmator Pro", id: 1289583905
mas "Tailscale", id: 1475387142
mas "virtualOS", id: 1614659226
mas "Xcode", id: 497799835

1141
.dotfiles/Brewfile.lock.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,54 +0,0 @@
#!/bin/bash
# vi: ts=4
# Lockscreen script that will capture a screenshot, pixelate and add an overlay (all optional).
# If no toggle is enabled, the overlay image for the final image is used instead. $overlayPath with
# a black backgrond color.
# Optional features require the `imagemagick` package.
# Constants
lockscreenDir=$(mktemp -d)
lockscreenPath=$lockscreenDir/lock.png
# Config
screenshotBin=grim
lockscreenBin=swaylock
overlayPath=~/.dotfiles/lock_overlay.png
font=Terminus
extraArguments=
# Toggles
screenshot=false
pixelate=false
overlay=false
cd $lockscreenDir
# Take screenshot
if $screenshot; then
$screenshotBin $lockscreenPath
else
cp $HOME/.wallpaper $lockscreenPath
fi
# Pixelate
if $pixelate; then
convert $lockscreenPath -scale 10% -scale 1000% $lockscreenPath
fi
# Overlay
if $overlay; then
convert "$lockscreenPath" "$overlayPath" -gravity center -composite "$lockscreenPath"
fi
if ! $screenshot && ! $pixelate && ! $overlay; then
lockscreenPath=$overlayPath
extraArguments="$extraArguments --scaling=center --color=#000001ff"
fi
# Lock screen
$lockscreenBin \
-n \
--image $lockscreenPath \
--font=$font \
$extraArguments

View File

@ -1,7 +0,0 @@
#!/bin/bash
FILE_PATH=$HOME/Pictures/Screenshots/$(date -u +"%Y-%m-%d_%H-%M-%S").png
grim -g "$(slurp)" $FILE_PATH
cat $FILE_PATH | wl-copy

11
.dotfiles/bootstrap/00_xcode.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash
# Check if Xcode CLI tools are installed. Install if not.
if [ "$(xcode-select --version)" == "" ]; then
sudo xcode-select --install
sudo xcodebuild -license accept
echo "Press [ENTER] when install has finished"
read
fi

12
.dotfiles/bootstrap/10_brew.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/sh
# install homebrew if it's missing
if ! command -v brew >/dev/null 2>&1; then
echo "Installing homebrew"
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
if [ -f "$HOME/.Brewfile" ]; then
echo "Updating homebrew bundle"
brew bundle --global
fi

11
.dotfiles/bootstrap/10_iterm.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
system_type=$(uname -s)
iterm_config_path=$HOME/.dotfiles/config/iterm2
if [ "$system_type" = "Darwin" ]; then
if [ -d "$iterm_config_path" ]; then
echo "Setting iTerm preference folder"
defaults write com.googlecode.iterm2 PrefsCustomFolder "$iterm_config_path"
fi
fi

View File

@ -0,0 +1,81 @@
#!/bin/bash
# <Dock>
# Autohide enabled
defaults write com.apple.dock "autohide" -bool "true" #&& killall Dock
# hide/show faster
defaults write com.apple.dock "autohide-delay" -float "0" #&& killall Dock
# Show only active applications
defaults write com.apple.dock "static-only" -bool "false" #&& killall Dock
# <Workspaces>
# Enable auto-switch to most recent app
defaults write com.apple.dock workspaces-auto-swoosh -bool YES #&& killall Dock
# Save in JPEG
defaults write com.apple.screencapture "type" -string "jpg"
# <Screenshots>
# Set default location
defaults write com.apple.screencapture "location" -string "$HOME/Desktop/Screenshots" && killall SystemUIServer
# <Finder>
# Show path bar
defaults write com.apple.finder "ShowPathbar" -bool "true" #&& killall Finder
# Show status bar
defaults write com.apple.finder ShowStatusBar -bool true #&& killall Finder
# Default view to columns
defaults write com.apple.finder "FXPreferredViewStyle" -string "clmv" #&& killall Finder
# Default search the current folder
defaults write com.apple.finder "FXDefaultSearchScope" -string "SCcf" #&& killall Finder
# Automatically delete old trash items
defaults write com.apple.finder "FXRemoveOldTrashItems" -bool "true" #&& killall Finder
# Disable file extension rename warning
defaults write com.apple.finder "FXEnableExtensionChangeWarning" -bool "true" #&& killall Finder
# Default save location to $HOME dir
defaults write NSGlobalDomain "NSDocumentSaveNewDocumentsToCloud" -bool "false"
# Show icons in the title bar
defaults write com.apple.universalaccess "showWindowTitlebarIcons" -bool "true" #&& killall Finder
# Hide internal disks on desktop
defaults write com.apple.finder "ShowHardDrivesOnDesktop" -bool "false" #&& killall Finder
# Show external disks on desktop
defaults write com.apple.finder "ShowExternalHardDrivesOnDesktop" -bool "true" #&& killall Finder
# Show removable media on desktop
defaults write com.apple.finder "ShowRemovableMediaOnDesktop" -bool "false" #&& killall Finder
# Show connected servers on desktop
defaults write com.apple.finder "ShowMountedServersOnDesktop" -bool "true" #&& killall Finder
# <Mouse>
# Disable natural scrolling
defaults write -g com.apple.swipescrolldirection -bool NO #&& killall SystemUIServer
# <Keyboard>
# Repeat characters on key hold
defaults write NSGlobalDomain "ApplePressAndHoldEnabled" -bool "false"
# <Time machine>
# Don't offer disks for backup
defaults write com.apple.TimeMachine "DoNotOfferNewDisksForBackup" -bool "false"
# <Music>
# Disable notifications for playing songs
defaults write com.apple.Music "userWantsPlaybackNotifications" -bool "false" #&& killall Music
# <Kill>
killall Dock 2> /dev/null
killall SystemUIServer 2> /dev/null
killall Finder 2> /dev/null
killall Music 2> /dev/null

View File

@ -0,0 +1,3 @@
#!/bin/bash
brew bundle --file=$HOME/.dotfiles/Brewfile

8
.dotfiles/bootstrap/81_pipx.sh Executable file
View File

@ -0,0 +1,8 @@
#!/bin/bash
pipx ensurepath
pipx install yt-dlp
pipx install lektor
pipx reinstall-all

13
.dotfiles/bootstrap/85_nvim.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash
# Install nvchad
if [ ! -d "$HOME/.config/nvim" ]; then
echo "Installing nvchad"
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1
fi
# Check if .config/nvim/custom is a symlink, and if not, symlink to .dotfiles/nvchad/custom
if [[ -d "$HOME/.config/nvim/lua/custom" && ! -L "$HOME/.config/nvim/lua/custom" ]]; then
mv $HOME/.config/nvim/lua/custom $HOME/.config/nvim/lua/custom_2
ln -s $HOME/.dotfiles/nvchad/custom/ $HOME/.config/nvim/lua/
fi

View File

@ -0,0 +1,7 @@
#!/bin/bash
# Install oh-my-zsh if the folder does not exist
if [ ! -d "$HOME/.oh-my-zsh" ]; then
echo "Installing oh-my-zsh"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fi

View File

@ -0,0 +1,7 @@
#!/bin/bash
# Handled by brewfile
# mas install 1475387142 # Tailscale
# mas install 497799835 # Xcode
# mas install 1289583905 # Pixelmator Pro

View File

@ -1,7 +0,0 @@
# ArchLinux
## Update mirrorlist
```
# systemctl start reflector
```

View File

@ -1,54 +0,0 @@
# Beets
## Setup configuration file:
``` yaml
# ~/.config/beets/config.yaml
directory: ~/music
library: ~/music/library.db
import:
copy: no # Do not copy files into directory
move: no # Do not delete original files
write: yes # Write tags to file
plugins: duplicates fetchart embedart
```
## Import music
Using `--incremental` to avoid scanning the already imported albums.
```
beet import ~/music --incremental
```
To re-scan the music library:
```
beet update
```
## Download art files into a `cover.jpg` file
Requires plugin: `fetchart`.
```
beet fetchart
```
## Embed art into files
Requires plugin: `embedart` & `fetchart`.
```
beet embedart
```
## Scan for duplicates
Requires plugin `duplicates`.
Use `-p` to show the path to the duplicates instead of the name.
```
beet duplicates -p
```

View File

@ -1,20 +0,0 @@
# Chromium
## Enable media casting
Just enable this flag and restart the browser:
```
chrome://flags/#load-media-router-component-extension
```
## Enable hardware acceleration
Enable this flag.
If not available, the VA-API packages must be required though I didn't have to
install anything to enable it.
```
chrome://flags/#enable-accelerated-video-decode
```

View File

@ -1,11 +0,0 @@
# Git
## Setup GPG signing key
```
$ gpg --list-secret-keys --keyid-format LONG
...
$ git config --global user.signingkey <keyid>
$ export GPG_TTY=$(tty)
```

View File

@ -1,10 +0,0 @@
# Khal
## Get only next event
```
# -df "": Show empty day headers
# grep -v "^ ": remove all-day events
# head -n 1: Get only the first item
khal list now -df "" | grep -v "^ " | head -n 1
```

View File

@ -1,7 +0,0 @@
# MPV
## Playerctl support
Project: [https://github.com/hoyon/mpv-mpris](https://github.com/hoyon/mpv-mpris)
Added `mpris.so` manually to `~/.config/mpv/scripts` and it'll auto load.

View File

@ -1,7 +0,0 @@
# Nemo
## Samba support
```
# pacman -S nemo-share gvfs-smb
```

View File

@ -1,9 +0,0 @@
# nmcli
## Import OpenVPN configuration
> Make sure the file is an openvpn configuration and not a network manager connection
```
# nmcli connection import type openvpn file file.ovpn
```

View File

@ -1,39 +0,0 @@
# Qutebrowser
## Update adblock lists
```
:adblock-update
```
## Set as default browser
``` bash
$ xdg-settings set default-web-browser org.qutebrowser.qutebrowser.desktop
```
## Change default search engine
``` python
# ~/.config/qutebrowser/config.py
c.url.searchengines = {
"DEFAULT": "https://google.com/search?q={}
}
```
## Change default start page
``` python
# ~/.config/qutebrowser/config.py
c.url.start_page = "https://google.es"
c.url.start_urls = ["https://google.es"]
```
## Auto load last session
``` python
# ~/.config/qutebrowser/config.py
c.auto_save.session true
c.auto_save.interval 15000
```

View File

@ -1,82 +0,0 @@
# RetroArch
## Enable core downloading
```
# retroarch.cfg
menu_show_core_updater = "true"
```
## Setup core/info directories into user folder
```
# retroarch.cfg
libretro_directory = "~/.config/retroarch/cores"
libretro_info_path = "~/.config/retroarch/cores/info"
```
## Setup screenshots on content folder by system
Given a content (games) folder where games are sorted in folders by system, this will make the screenshots be sorted as well, instead of everything on the same folder.
```
# retroarch.cfg
# Automatic screenshot filename in content (games) directory
screenshots_in_content_dir = "true"
auto_screenshot_filename = "true"
# Notifications
notification_show_screenshot = "true"
notification_show_screenshot_duration = "1"
```
## Saves
Store saves alongide games. Same _trick_ we use with screenshots.
```
savefiles_in_content_dir = "true"
```
## States
This will make retroarch auto save/load states on launching/closing a game.
```
savestate_auto_load = "true"
savestate_auto_save = "true"
```
Store states alongside games. Same _trick_ we use with screenshots.
```
savestates_in_content_dir = "true"
```
Create a screenshot for a savestate, just for eye-candy.
```
savestate_thumbnail_enable = "true"
```
## Achievements
Enables achievements through the menu and sets up the configuration:
```
settings_show_achievements = "true"
cheevos_enable = "true"
cheevos_username = "<username>"
cheevos_password = "<password>"
cheevos_auto_screenshot = "true"
cheevos_badges_enable = "true"
cheevos_hardcore_mode_enable = "true"
cheevos_leaderboards_enable = "true"
cheevos_richpresence_enable = "true"
cheevos_start_active = "false"
cheevos_test_unofficial = "false"
cheevos_token = ""
cheevos_unlock_sound_enable = "true"
cheevos_verbose_enable = "false"
```

View File

@ -1,18 +0,0 @@
# Weechat
- Website: https://weechat.org/
## Enable mouse support
```
/set weechat.look.mouse on
/mouse enable
```
## Hide join/part/quit messages
```
/set irc.look.smart_filter on
/filter add irc_smart * irc_smart_filter *
/set irc.look.smart_filter_delay 5
```

View File

@ -1,9 +0,0 @@
# wf-recorder
## Record screen geometry
Requires [slurp](https://github.com/emersion/slurp)
```
wf-recorder -g "$(slurp)"
```

View File

@ -1,17 +0,0 @@
# ZSH
## Use emacs style keybindings
``` zsh
bindkey -e
```
## Use selective up/down command history
In order to traverse the command history with up/down arrows but filtering by the command that is already written in the terminal, we need to use oh-my-zsh
Get installation instructions from [the oh-my-zsh github repository](https://github.com/ohmyzsh/ohmyzsh).
```
source $HOME/.oh-my-zsh/oh-my-zsh.sh
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

View File

@ -0,0 +1,3 @@
# Example_config
This can be used as an example custom config for NvChad. Do check the https://github.com/NvChad/nvcommunity

View File

@ -0,0 +1,20 @@
---@type ChadrcConfig
local M = {}
-- Path to overriding theme and highlights files
local highlights = require "custom.highlights"
M.ui = {
theme = "tokyodark",
theme_toggle = { "tokyodark", "tokyodark" },
hl_override = highlights.override,
hl_add = highlights.add,
}
M.plugins = "custom.plugins"
-- check core.mappings for table structure
M.mappings = require "custom.mappings"
return M

View File

@ -0,0 +1,4 @@
return {
light_theme = "ayu_light",
dark_theme = "ayu_dark",
}

View File

@ -0,0 +1,24 @@
local options = {
lsp_fallback = true,
formatters_by_ft = {
lua = { "stylua" },
javascript = { "prettier" },
css = { "prettier" },
html = { "prettier" },
sh = { "shfmt" },
},
-- adding same formatter for multiple filetypes can look too much work for some
-- instead of the above code you could just use a loop! the config is just a table after all!
-- format_on_save = {
-- -- These options will be passed to conform.format()
-- timeout_ms = 500,
-- lsp_fallback = true,
-- },
}
require("conform").setup(options)

View File

@ -0,0 +1,12 @@
-- local copilot = require "copilot"
local opts = {
suggestion = {
auto_trigger = true,
keymap = {
accept = "<TAB>",
}
}
}
return opts

View File

@ -0,0 +1,40 @@
local on_attach = require("plugins.configs.lspconfig").on_attach
local capabilities = require("plugins.configs.lspconfig").capabilities
local lspconfig = require "lspconfig"
local util = require "lspconfig/util"
-- if you just want default config for the servers then put them in a table
local servers = { "html", "cssls", "tsserver", "clangd", "lua_ls"}
for _, lsp in ipairs(servers) do
lspconfig[lsp].setup {
on_attach = on_attach,
capabilities = capabilities,
}
end
-- setup gopls manually
lspconfig.gopls.setup {
-- use defaults from lspconfig
on_attach = on_attach,
capabilities = capabilities,
-- server to use
cmd = {"gopls"},
-- files to run this server on
filetypes = {"go", "gomod", "gowork", "gotmpl"},
-- how to define the root directory
root_dir = util.root_pattern("go.work", "go.mod", ".git"),
-- settings
settings = {
gopls = {
-- complete imports automatically
completeUnimported = true,
-- use placeholders during autocompletion
usePlaceholders = true,
}
},
}
--
-- lspconfig.pyright.setup { blabla}

View File

@ -0,0 +1,34 @@
local none_ls = require("null-ls")
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
local opts = {
sources = {
-- gomft
none_ls.builtins.formatting.gofmt,
-- goimports-reviser (https://github.com/incu6us/goimports-reviser)
none_ls.builtins.formatting.goimports_reviser,
-- golangci-lint
none_ls.builtins.diagnostics.golangci_lint,
},
on_attach = function(client, bufnr)
-- check if there's any commands pre-running on the current buffer,
-- clear those and then run out own format command
if client.supports_method("textDocument/formatting") then
vim.api.nvim_clear_autocmds({
group = augroup,
buffer = bufnr,
})
vim.api.nvim_create_autocmd("BufWritePre", {
group = augroup,
buffer = bufnr,
callback = function ()
vim.lsp.buf.format({ bufnr = bufnr })
end
})
end
end,
}
return opts

View File

@ -0,0 +1,62 @@
local M = {}
M.treesitter = {
ensure_installed = {
"vim",
"lua",
"html",
"css",
"javascript",
"typescript",
"tsx",
"c",
"markdown",
"markdown_inline",
},
indent = {
enable = true,
-- disable = {
-- "python"
-- },
},
}
M.mason = {
ensure_installed = {
-- lua stuff
"lua-language-server",
"stylua",
-- web dev stuff
"css-lsp",
"html-lsp",
"typescript-language-server",
"deno",
"prettier",
-- c/cpp stuff
"clangd",
"clang-format",
-- golang
"gopls",
},
}
-- git support in nvimtree
M.nvimtree = {
git = {
enable = true,
},
renderer = {
highlight_git = true,
icons = {
show = {
git = true,
},
},
},
}
return M

View File

@ -0,0 +1,19 @@
-- To find any highlight groups: "<cmd> Telescope highlights"
-- Each highlight group can take a table with variables fg, bg, bold, italic, etc
-- base30 variable names can also be used as colors
local M = {}
---@type Base46HLGroupsList
M.override = {
Comment = {
italic = true,
},
}
---@type HLTable
M.add = {
NvimTreeOpenedFolderName = { fg = "green", bold = true },
}
return M

View File

@ -0,0 +1,7 @@
-- local autocmd = vim.api.nvim_create_autocmd
-- Auto resize panes when resizing nvim window
-- autocmd("VimResized", {
-- pattern = "*",
-- command = "tabdo wincmd =",
-- })

View File

@ -0,0 +1,34 @@
---@type MappingsTable
local M = {}
M.general = {
n = {
[";"] = { ":", "enter command mode", opts = { nowait = true } },
-- format with conform
["<leader>fm"] = {
function()
require("conform").format()
end,
"formatting",
}
},
v = {
[">"] = { ">gv", "indent"},
},
}
M.lsp = {
n = {
["<leader>ts"] = {":Telescope lsp_document_symbols<CR>", "Find symbols in document"}
}
}
M.neogit = {
n = {
["<Leader>gs"] = {":Neogit<CR>", "Open Neogit"}
}
}
return M

View File

@ -0,0 +1,134 @@
local overrides = require("custom.configs.overrides")
-- local auto_dark_mode = require("custom.configs.auto-dark-mode")
---@type NvPluginSpec[]
local plugins = {
-- Override plugin definition options
{
"neovim/nvim-lspconfig",
config = function()
require "plugins.configs.lspconfig"
require "custom.configs.lspconfig"
end, -- Override to setup mason-lspconfig
},
-- override plugin configs
{
"williamboman/mason.nvim",
opts = overrides.mason
},
{
"nvimtools/none-ls.nvim",
ft = "go",
opts = function ()
return require "custom.configs.none-ls"
end
},
{
"nvim-treesitter/nvim-treesitter",
opts = overrides.treesitter,
},
{
"nvim-tree/nvim-tree.lua",
opts = overrides.nvimtree,
},
{
"zbirenbaum/copilot.lua",
lazy = false,
enabled = true,
config = true,
opts = function ()
return require "custom.configs.copilot"
end,
},
-- Install a plugin
-- {
-- "max397574/better-escape.nvim",
-- event = "InsertEnter",
-- config = function()
-- require("better_escape").setup()
-- end,
-- },
--
-- {
-- "stevearc/conform.nvim",
-- -- for users those who want auto-save conform + lazyloading!
-- -- event = "BufWritePre"
-- config = function()
-- require "custom.configs.conform"
-- end,
-- },
--
-- To make a plugin not be loaded
-- {
-- "NvChad/nvim-colorizer.lua",
-- enabled = false
-- },
-- All NvChad plugins are lazy-loaded by default
-- For a plugin to be loaded, you will need to set either `ft`, `cmd`, `keys`, `event`, or set `lazy = false`
-- If you want a plugin to load on startup, add `lazy = false` to a plugin spec, for example
-- {
-- "mg979/vim-visual-multi",
-- lazy = false,
-- }
--
{
"NeogitOrg/neogit",
enabled = true,
lazy = false,
dependencies = {
"nvim-lua/plenary.nvim",
"sindrets/diffview.nvim", -- optional - Diff integration
"nvim-telescope/telescope.nvim", -- optional
},
opts = function (_, opts)
opts.kind = "auto"
end,
config = true
},
--
-- {
-- "folke/trouble.nvim",
-- lazy = false,
-- dependencies = { "nvim-tree/nvim-web-devicons" },
-- opts = {
-- -- your configuration comes here
-- -- or leave it empty to use the default settings
-- -- refer to the configuration section below
-- },
-- }
-- {
-- "f-person/auto-dark-mode.nvim",
-- lazy = false,
-- enabled = true,
-- config = {
-- update_interval = 1000,
-- set_dark_mode = function()
-- vim.api.nvim_set_option("background", "dark")
-- -- vim.cmd("colorscheme gruvbox")
-- local M = require("base46")
-- M.override_theme(M, auto_dark_mode.dark_theme)
-- end,
-- set_light_mode = function()
-- vim.api.nvim_set_option("background", "light")
-- -- vim.cmd("colorscheme gruvbox")
-- local M = require("base46")
-- M.override_theme(auto_dark_mode.light_theme)
-- end,
-- },
-- }
}
return plugins

View File

@ -1,28 +0,0 @@
(require 'package)
(setq package-enable-at-startup nil)
(setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/")
("melpa" . "https://melpa.org/packages/")
("melpa-stable" . "https://stable.melpa.org/packages/")))
(package-initialize)
(unless (package-installed-p 'use-package)
(package-refresh-contents)
(package-install 'use-package))
(eval-when-compile
(require 'use-package))
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages '(magit use-package)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)

View File

@ -1,30 +0,0 @@
[user]
name = Felipe M.
email = me@fmartingr.com
signingkey = 716BC147715E716F
[commit]
gpgsign = true
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[core]
editor = nvim
askpass = /usr/bin/pinentry
[alias]
s = status
d = diff
co = checkout
br = branch
last = log -1 HEAD
cane = commit --amend --no-edit
lo = log --oneline -n 10
pr = pull --rebase
[diff]
noprefix = true

1
.gitignore vendored
View File

@ -1 +0,0 @@
*

View File

@ -1,4 +0,0 @@
alexcvzz.vscode-sqlite
golang.go
ms-python.python
vscodevim.vim

120
.zshrc
View File

@ -1,41 +1,103 @@
bindkey -e
# If you come from bash you might have to change your $PATH.
# export PATH=$HOME/bin:/usr/local/bin:$PATH
# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"
plugins=(fzf)
# Set name of the theme to load --- if set to "random", it will
# load a random theme each time oh-my-zsh is loaded, in which case,
# to know which specific one was loaded, run: echo $RANDOM_THEME
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
ZSH_THEME="half-life"
# Set list of themes to pick from when loading at random
# Setting this variable when ZSH_THEME=random will cause zsh to load
# a theme from this variable instead of looking in $ZSH/themes/
# If set to an empty array, this variable will have no effect.
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"
# Uncomment the following line to use hyphen-insensitive completion.
# Case-sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"
# Uncomment one of the following lines to change the auto-update behavior
# zstyle ':omz:update' mode disabled # disable automatic updates
zstyle ':omz:update' mode auto # update automatically without asking
# zstyle ':omz:update' mode reminder # just remind me to update when it's time
# Uncomment the following line to change how often to auto-update (in days).
zstyle ':omz:update' frequency 7
# Uncomment the following line if pasting URLs and other text is messed up.
# DISABLE_MAGIC_FUNCTIONS="true"
# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
# You can also set it to another string to have that shown instead of the default red dots.
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
# COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
DISABLE_UNTRACKED_FILES_DIRTY="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# 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?
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(git)
source $ZSH/oh-my-zsh.sh
alias magit="emacs -nw --eval '(progn (magit-status) (delete-other-windows))'"
alias ytdlf="youtube-dl -a ./youtube-dl.txt -f best -o \"./%(playlist_title)s/%(playlist_index)s_%(title)s.%(ext)s\""
# User configuration
function webp2jpg {
for x in ls *.webp; do
ffmpeg -i "$x" "${x%.webp}.jpg";
done
# export MANPATH="/usr/local/man:$MANPATH"
rm *.webp
}
# You may need to manually set your language environment
export LANG=en_US.UTF-8
# GPG tty
export GPG_TTY=$(tty)
# Preferred editor for local and remote sessions
if [[ -n $SSH_CONNECTION ]]; then
export EDITOR='vim'
else
export EDITOR='nvim'
fi
# Golang
export GOPATH=~/.gocode
export PATH=$PATH:~/go/bin
# Path
export PATH=$PATH:$(go env GOPATH)/bin
export PATH=$PATH:$HOME/.local/bin
# Compilation flags
# export ARCHFLAGS="-arch x86_64"
# Editor
export EDITOR=nvim
source /usr/share/zsh/share/antigen.zsh
antigen use oh-my-zsh
antigen bundle git
antigen theme steeef
antigen apply
# 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"