Catppuccin, hyprland, wezterm

This commit is contained in:
Daniel Flanagan 2023-05-09 12:05:12 -05:00
parent c6e4bab50f
commit d4e17c4459
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
32 changed files with 435 additions and 4372 deletions

View file

@ -1,31 +0,0 @@
complete -c alacritty -n "__fish_use_subcommand" -l embed -d 'X11 window ID to embed Alacritty within (decimal or hexadecimal with "0x" prefix)' -r
complete -c alacritty -n "__fish_use_subcommand" -l config-file -d 'Specify alternative configuration file [default: $XDG_CONFIG_HOME/alacritty/alacritty.yml]' -r -F
complete -c alacritty -n "__fish_use_subcommand" -l socket -d 'Path for IPC socket creation' -r -F
complete -c alacritty -n "__fish_use_subcommand" -s o -l option -d 'Override configuration file options [example: cursor.style=Beam]' -r
complete -c alacritty -n "__fish_use_subcommand" -l working-directory -d 'Start the shell in the specified working directory' -r -F
complete -c alacritty -n "__fish_use_subcommand" -s e -l command -d 'Command and args to execute (must be last argument)' -r
complete -c alacritty -n "__fish_use_subcommand" -s t -l title -d 'Defines the window title [default: Alacritty]' -r
complete -c alacritty -n "__fish_use_subcommand" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
complete -c alacritty -n "__fish_use_subcommand" -s h -l help -d 'Print help information'
complete -c alacritty -n "__fish_use_subcommand" -s V -l version -d 'Print version information'
complete -c alacritty -n "__fish_use_subcommand" -l print-events -d 'Print all events to stdout'
complete -c alacritty -n "__fish_use_subcommand" -l ref-test -d 'Generates ref test'
complete -c alacritty -n "__fish_use_subcommand" -s q -d 'Reduces the level of verbosity (the min level is -qq)'
complete -c alacritty -n "__fish_use_subcommand" -s v -d 'Increases the level of verbosity (the max level is -vvv)'
complete -c alacritty -n "__fish_use_subcommand" -l hold -d 'Remain open after child process exit'
complete -c alacritty -n "__fish_use_subcommand" -f -a "msg" -d 'Send a message to the Alacritty socket'
complete -c alacritty -n "__fish_use_subcommand" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s s -l socket -d 'IPC socket connection path override' -r -F
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -s h -l help -d 'Print help information'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "create-window" -d 'Create a new window in the same Alacritty process'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "config" -d 'Update the Alacritty configuration'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and not __fish_seen_subcommand_from create-window; and not __fish_seen_subcommand_from config; and not __fish_seen_subcommand_from help" -f -a "help" -d 'Print this message or the help of the given subcommand(s)'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l working-directory -d 'Start the shell in the specified working directory' -r -F
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s e -l command -d 'Command and args to execute (must be last argument)' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s t -l title -d 'Defines the window title [default: Alacritty]' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l class -d 'Defines window class/app_id on X11/Wayland [default: Alacritty]' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -l hold -d 'Remain open after child process exit'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from create-window" -s h -l help -d 'Print help information'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s w -l window-id -d 'Window ID for the new config' -r
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s r -l reset -d 'Clear all runtime configuration changes'
complete -c alacritty -n "__fish_seen_subcommand_from msg; and __fish_seen_subcommand_from config" -s h -l help -d 'Print help information'

View file

@ -1,747 +0,0 @@
import:
- ~/.alacritty-colorscheme/themes/thelovelace.yaml
env: {}
window:
dynamic_padding: false
padding:
x: 10
y: 10
class:
instance: Alacritty
general: Alacritty
scrolling:
history: 1000
font:
normal:
family: IosevkaLyteTerm Nerd Font
style: Regular
bold:
family: IosevkaLyteTerm Nerd Font
style: Heavy
italic:
family: IosevkaLyteTerm Nerd Font
style: Italic
bold_italic:
family: IosevkaLyteTerm Nerd Font
style: Bold Italic
size: 12.5
offset:
x: 0
y: 0
glyph_offset:
x: 0
y: 0
builtin_box_drawing: false
draw_bold_text_with_bright_colors: false
#colors:
# Default colors
#primary:
# background: '#1d1f21'
# foreground: '#c5c8c6'
# Bright and dim foreground colors
#
# The dimmed foreground color is calculated automatically if it is not
# present. If the bright foreground color is not set, or
# `draw_bold_text_with_bright_colors` is `false`, the normal foreground
# color will be used.
#dim_foreground: '#828482'
#bright_foreground: '#eaeaea'
# Cursor colors
#
# Colors which should be used to draw the terminal cursor.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#cursor:
# text: CellBackground
# cursor: CellForeground
# Vi mode cursor colors
#
# Colors for the cursor when the vi mode is active.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#vi_mode_cursor:
# text: CellBackground
# cursor: CellForeground
# Search colors
#
# Colors used for the search bar and match highlighting.
#search:
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#matches:
# foreground: '#000000'
# background: '#ffffff'
#focused_match:
# foreground: '#ffffff'
# background: '#000000'
# Keyboard hints
#hints:
# First character in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#start:
# foreground: '#1d1f21'
# background: '#e9ff5e'
# All characters after the first one in the hint label
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#end:
# foreground: '#e9ff5e'
# background: '#1d1f21'
# Line indicator
#
# Color used for the indicator displaying the position in history during
# search and vi mode.
#
# By default, these will use the opposing primary color.
#line_indicator:
# foreground: None
# background: None
# Footer bar
#
# Color used for the footer bar on the bottom, used by search regex input,
# hyperlink URI preview, etc.
#
#footer_bar:
# background: '#c5c8c6'
# foreground: '#1d1f21'
# Selection colors
#
# Colors which should be used to draw the selection area.
#
# Allowed values are CellForeground/CellBackground, which reference the
# affected cell, or hexadecimal colors like #ff00ff.
#selection:
# text: CellBackground
# background: CellForeground
# Normal colors
#normal:
# black: '#1d1f21'
# red: '#cc6666'
# green: '#b5bd68'
# yellow: '#f0c674'
# blue: '#81a2be'
# magenta: '#b294bb'
# cyan: '#8abeb7'
# white: '#c5c8c6'
# Bright colors
#bright:
# black: '#666666'
# red: '#d54e53'
# green: '#b9ca4a'
# yellow: '#e7c547'
# blue: '#7aa6da'
# magenta: '#c397d8'
# cyan: '#70c0b1'
# white: '#eaeaea'
# Dim colors
#
# If the dim colors are not set, they will be calculated automatically based
# on the `normal` colors.
#dim:
# black: '#131415'
# red: '#864343'
# green: '#777c44'
# yellow: '#9e824c'
# blue: '#556a7d'
# magenta: '#75617b'
# cyan: '#5b7d78'
# white: '#828482'
# Indexed Colors
#
# The indexed colors include all colors from 16 to 256.
# When these are not set, they're filled with sensible defaults.
#
# Example:
# `- { index: 16, color: '#ff00ff' }`
#
#indexed_colors: []
# Transparent cell backgrounds
#
# Whether or not `window.opacity` applies to all cell backgrounds or only to
# the default background. When set to `true` all cells will be transparent
# regardless of their background color.
#transparent_background_colors: false
# Bell
#
# The bell is rung every time the BEL control character is received.
#bell:
# Visual Bell Animation
#
# Animation effect for flashing the screen when the visual bell is rung.
#
# Values for `animation`:
# - Ease
# - EaseOut
# - EaseOutSine
# - EaseOutQuad
# - EaseOutCubic
# - EaseOutQuart
# - EaseOutQuint
# - EaseOutExpo
# - EaseOutCirc
# - Linear
#animation: EaseOutExpo
# Duration of the visual bell flash in milliseconds. A `duration` of `0` will
# disable the visual bell animation.
#duration: 0
# Visual bell animation color.
#color: '#ffffff'
# Bell Command
#
# This program is executed whenever the bell is rung.
#
# When set to `command: None`, no command will be executed.
#
# Example:
# command:
# program: notify-send
# args: ["Hello, World!"]
#
#command: None
#selection:
# This string contains all characters that are used as separators for
# "semantic words" in Alacritty.
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
# When set to `true`, selected text will be copied to the primary clipboard.
#save_to_clipboard: false
#cursor:
# Cursor style
#style:
# Cursor shape
#
# Values for `shape`:
# - ▇ Block
# - _ Underline
# - | Beam
#shape: Block
# Cursor blinking state
#
# Values for `blinking`:
# - Never: Prevent the cursor from ever blinking
# - Off: Disable blinking by default
# - On: Enable blinking by default
# - Always: Force the cursor to always blink
#blinking: Off
# Vi mode cursor style
#
# If the vi mode cursor style is `None` or not specified, it will fall back to
# the style of the active value of the normal cursor.
#
# See `cursor.style` for available options.
#vi_mode_style: None
# Cursor blinking interval in milliseconds.
#blink_interval: 750
# Time after which cursor stops blinking, in seconds.
#
# Specifying '0' will disable timeout for blinking.
#blink_timeout: 5
# If this is `true`, the cursor will be rendered as a hollow box when the
# window is not focused.
#unfocused_hollow: true
# Thickness of the cursor relative to the cell width as floating point number
# from `0.0` to `1.0`.
#thickness: 0.15
# Live config reload (changes require restart)
#live_config_reload: true
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (Linux/BSD/macOS) `$SHELL` or the user's login shell, if `$SHELL` is unset
# - (Windows) powershell
#shell:
# program: /bin/bash
# args:
# - --login
# Startup directory
#
# Directory the shell is started in. If this is unset, or `None`, the working
# directory of the parent process will be used.
#working_directory: None
# Send ESC (\x1b) before characters when alt is pressed.
#alt_send_esc: true
# Offer IPC using `alacritty msg` (unix only)
#ipc_socket: true
#mouse:
# Click settings
#
# The `double_click` and `triple_click` settings control the time
# alacritty should wait for accepting multiple clicks as one double
# or triple click.
#double_click: { threshold: 300 }
#triple_click: { threshold: 300 }
# If this is `true`, the cursor is temporarily hidden when typing.
#hide_when_typing: false
# Hints
#
# Terminal hints can be used to find text or hyperlink in the visible part of
# the terminal and pipe it to other applications.
#hints:
# Keys used for the hint labels.
#alphabet: "jfkdls;ahgurieowpq"
# List with all available hints
#
# Each hint must have any of `regex` or `hyperlinks` field and either an
# `action` or a `command` field. The fields `mouse`, `binding` and
# `post_processing` are optional.
#
# The `hyperlinks` option will cause OSC 8 escape sequence hyperlinks to be
# highlighted.
#
# The fields `command`, `binding.key`, `binding.mods`, `binding.mode` and
# `mouse.mods` accept the same values as they do in the `key_bindings` section.
#
# The `mouse.enabled` field controls if the hint should be underlined while
# the mouse with all `mouse.mods` keys held or the vi mode cursor is above it.
#
# If the `post_processing` field is set to `true`, heuristics will be used to
# shorten the match if there are characters likely not to be part of the hint
# (e.g. a trailing `.`). This is most useful for URIs and applies only to
# `regex` matches.
#
# Values for `action`:
# - Copy
# Copy the hint's text to the clipboard.
# - Paste
# Paste the hint's text to the terminal or search.
# - Select
# Select the hint's text.
# - MoveViModeCursor
# Move the vi mode cursor to the beginning of the hint.
#enabled:
# - regex: "(ipfs:|ipns:|magnet:|mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
# [^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
# hyperlinks: true
# command: xdg-open
# post_processing: true
# mouse:
# enabled: true
# mods: None
# binding:
# key: U
# mods: Control|Shift
# Mouse bindings
#
# Mouse bindings are specified as a list of objects, much like the key
# bindings further below.
#
# To trigger mouse bindings when an application running within Alacritty
# captures the mouse, the `Shift` modifier is automatically added as a
# requirement.
#
# Each mouse binding will specify a:
#
# - `mouse`:
#
# - Middle
# - Left
# - Right
# - Numeric identifier such as `5`
#
# - `action` (see key bindings for actions not exclusive to mouse mode)
#
# - Mouse exclusive actions:
#
# - ExpandSelection
# Expand the selection to the current mouse cursor location.
#
# And optionally:
#
# - `mods` (see key bindings)
#mouse_bindings:
# - { mouse: Right, action: ExpandSelection }
# - { mouse: Right, mods: Control, action: ExpandSelection }
# - { mouse: Middle, mode: ~Vi, action: PasteSelection }
# Key bindings
#
# Key bindings are specified as a list of objects. For example, this is the
# default paste binding:
#
# `- { key: V, mods: Control|Shift, action: Paste }`
#
# Each key binding will specify a:
#
# - `key`: Identifier of the key pressed
#
# - A-Z
# - F1-F24
# - Key0-Key9
#
# A full list with available key codes can be found here:
# https://docs.rs/glutin/*/glutin/event/enum.VirtualKeyCode.html#variants
#
# Instead of using the name of the keys, the `key` field also supports using
# the scancode of the desired key. Scancodes have to be specified as a
# decimal number. This command will allow you to display the hex scancodes
# for certain keys:
#
# `showkey --scancodes`.
#
# Then exactly one of:
#
# - `chars`: Send a byte sequence to the running application
#
# The `chars` field writes the specified string to the terminal. This makes
# it possible to pass escape sequences. To find escape codes for bindings
# like `PageUp` (`"\x1b[5~"`), you can run the command `showkey -a` outside
# of tmux. Note that applications use terminfo to map escape sequences back
# to keys. It is therefore required to update the terminfo when changing an
# escape sequence.
#
# - `action`: Execute a predefined action
#
# - ToggleViMode
# - SearchForward
# Start searching toward the right of the search origin.
# - SearchBackward
# Start searching toward the left of the search origin.
# - Copy
# - Paste
# - IncreaseFontSize
# - DecreaseFontSize
# - ResetFontSize
# - ScrollPageUp
# - ScrollPageDown
# - ScrollHalfPageUp
# - ScrollHalfPageDown
# - ScrollLineUp
# - ScrollLineDown
# - ScrollToTop
# - ScrollToBottom
# - ClearHistory
# Remove the terminal's scrollback history.
# - Hide
# Hide the Alacritty window.
# - Minimize
# Minimize the Alacritty window.
# - Quit
# Quit Alacritty.
# - ToggleFullscreen
# - SpawnNewInstance
# Spawn a new instance of Alacritty.
# - CreateNewWindow
# Create a new Alacritty window from the current process.
# - ClearLogNotice
# Clear Alacritty's UI warning and error notice.
# - ClearSelection
# Remove the active selection.
# - ReceiveChar
# - None
#
# - Vi mode exclusive actions:
#
# - Open
# Perform the action of the first matching hint under the vi mode cursor
# with `mouse.enabled` set to `true`.
# - ToggleNormalSelection
# - ToggleLineSelection
# - ToggleBlockSelection
# - ToggleSemanticSelection
# Toggle semantic selection based on `selection.semantic_escape_chars`.
# - CenterAroundViCursor
# Center view around vi mode cursor
#
# - Vi mode exclusive cursor motion actions:
#
# - Up
# One line up.
# - Down
# One line down.
# - Left
# One character left.
# - Right
# One character right.
# - First
# First column, or beginning of the line when already at the first column.
# - Last
# Last column, or beginning of the line when already at the last column.
# - FirstOccupied
# First non-empty cell in this terminal row, or first non-empty cell of
# the line when already at the first cell of the row.
# - High
# Top of the screen.
# - Middle
# Center of the screen.
# - Low
# Bottom of the screen.
# - SemanticLeft
# Start of the previous semantically separated word.
# - SemanticRight
# Start of the next semantically separated word.
# - SemanticLeftEnd
# End of the previous semantically separated word.
# - SemanticRightEnd
# End of the next semantically separated word.
# - WordLeft
# Start of the previous whitespace separated word.
# - WordRight
# Start of the next whitespace separated word.
# - WordLeftEnd
# End of the previous whitespace separated word.
# - WordRightEnd
# End of the next whitespace separated word.
# - Bracket
# Character matching the bracket at the cursor's location.
# - SearchNext
# Beginning of the next match.
# - SearchPrevious
# Beginning of the previous match.
# - SearchStart
# Start of the match to the left of the vi mode cursor.
# - SearchEnd
# End of the match to the right of the vi mode cursor.
#
# - Search mode exclusive actions:
# - SearchFocusNext
# Move the focus to the next search match.
# - SearchFocusPrevious
# Move the focus to the previous search match.
# - SearchConfirm
# - SearchCancel
# - SearchClear
# Reset the search regex.
# - SearchDeleteWord
# Delete the last word in the search regex.
# - SearchHistoryPrevious
# Go to the previous regex in the search history.
# - SearchHistoryNext
# Go to the next regex in the search history.
#
# - macOS exclusive actions:
# - ToggleSimpleFullscreen
# Enter fullscreen without occupying another space.
#
# - Linux/BSD exclusive actions:
#
# - CopySelection
# Copy from the selection buffer.
# - PasteSelection
# Paste from the selection buffer.
#
# - `command`: Fork and execute a specified command plus arguments
#
# The `command` field must be a map containing a `program` string and an
# `args` array of command line parameter strings. For example:
# `{ program: "alacritty", args: ["-e", "vttest"] }`
#
# And optionally:
#
# - `mods`: Key modifiers to filter binding actions
#
# - Command
# - Control
# - Option
# - Super
# - Shift
# - Alt
#
# Multiple `mods` can be combined using `|` like this:
# `mods: Control|Shift`.
# Whitespace and capitalization are relevant and must match the example.
#
# - `mode`: Indicate a binding for only specific terminal reported modes
#
# This is mainly used to send applications the correct escape sequences
# when in different modes.
#
# - AppCursor
# - AppKeypad
# - Search
# - Alt
# - Vi
#
# A `~` operator can be used before a mode to apply the binding whenever
# the mode is *not* active, e.g. `~Alt`.
#
# Bindings are always filled by default, but will be replaced when a new
# binding with the same triggers is defined. To unset a default binding, it can
# be mapped to the `ReceiveChar` action. Alternatively, you can use `None` for
# a no-op if you do not wish to receive input characters for that binding.
#
# If the same trigger is assigned to multiple actions, all of them are executed
# in the order they were defined in.
#key_bindings:
#- { key: Paste, action: Paste }
#- { key: Copy, action: Copy }
#- { key: L, mods: Control, action: ClearLogNotice }
#- { key: L, mods: Control, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: PageUp, mods: Shift, mode: ~Alt, action: ScrollPageUp }
#- { key: PageDown, mods: Shift, mode: ~Alt, action: ScrollPageDown }
#- { key: Home, mods: Shift, mode: ~Alt, action: ScrollToTop }
#- { key: End, mods: Shift, mode: ~Alt, action: ScrollToBottom }
# Vi Mode
#- { key: Space, mods: Shift|Control, mode: ~Search, action: ToggleViMode }
#- { key: Space, mods: Shift|Control, mode: Vi|~Search, action: ScrollToBottom }
#- { key: Escape, mode: Vi|~Search, action: ClearSelection }
#- { key: I, mode: Vi|~Search, action: ToggleViMode }
#- { key: I, mode: Vi|~Search, action: ScrollToBottom }
#- { key: C, mods: Control, mode: Vi|~Search, action: ToggleViMode }
#- { key: Y, mods: Control, mode: Vi|~Search, action: ScrollLineUp }
#- { key: E, mods: Control, mode: Vi|~Search, action: ScrollLineDown }
#- { key: G, mode: Vi|~Search, action: ScrollToTop }
#- { key: G, mods: Shift, mode: Vi|~Search, action: ScrollToBottom }
#- { key: B, mods: Control, mode: Vi|~Search, action: ScrollPageUp }
#- { key: F, mods: Control, mode: Vi|~Search, action: ScrollPageDown }
#- { key: U, mods: Control, mode: Vi|~Search, action: ScrollHalfPageUp }
#- { key: D, mods: Control, mode: Vi|~Search, action: ScrollHalfPageDown }
#- { key: Y, mode: Vi|~Search, action: Copy }
#- { key: Y, mode: Vi|~Search, action: ClearSelection }
#- { key: Copy, mode: Vi|~Search, action: ClearSelection }
#- { key: V, mode: Vi|~Search, action: ToggleNormalSelection }
#- { key: V, mods: Shift, mode: Vi|~Search, action: ToggleLineSelection }
#- { key: V, mods: Control, mode: Vi|~Search, action: ToggleBlockSelection }
#- { key: V, mods: Alt, mode: Vi|~Search, action: ToggleSemanticSelection }
#- { key: Return, mode: Vi|~Search, action: Open }
#- { key: Z, mode: Vi|~Search, action: CenterAroundViCursor }
#- { key: K, mode: Vi|~Search, action: Up }
#- { key: J, mode: Vi|~Search, action: Down }
#- { key: H, mode: Vi|~Search, action: Left }
#- { key: L, mode: Vi|~Search, action: Right }
#- { key: Up, mode: Vi|~Search, action: Up }
#- { key: Down, mode: Vi|~Search, action: Down }
#- { key: Left, mode: Vi|~Search, action: Left }
#- { key: Right, mode: Vi|~Search, action: Right }
#- { key: Key0, mode: Vi|~Search, action: First }
#- { key: Key4, mods: Shift, mode: Vi|~Search, action: Last }
#- { key: Key6, mods: Shift, mode: Vi|~Search, action: FirstOccupied }
#- { key: H, mods: Shift, mode: Vi|~Search, action: High }
#- { key: M, mods: Shift, mode: Vi|~Search, action: Middle }
#- { key: L, mods: Shift, mode: Vi|~Search, action: Low }
#- { key: B, mode: Vi|~Search, action: SemanticLeft }
#- { key: W, mode: Vi|~Search, action: SemanticRight }
#- { key: E, mode: Vi|~Search, action: SemanticRightEnd }
#- { key: B, mods: Shift, mode: Vi|~Search, action: WordLeft }
#- { key: W, mods: Shift, mode: Vi|~Search, action: WordRight }
#- { key: E, mods: Shift, mode: Vi|~Search, action: WordRightEnd }
#- { key: Key5, mods: Shift, mode: Vi|~Search, action: Bracket }
#- { key: Slash, mode: Vi|~Search, action: SearchForward }
#- { key: Slash, mods: Shift, mode: Vi|~Search, action: SearchBackward }
#- { key: N, mode: Vi|~Search, action: SearchNext }
#- { key: N, mods: Shift, mode: Vi|~Search, action: SearchPrevious }
# Search Mode
#- { key: Return, mode: Search|Vi, action: SearchConfirm }
#- { key: Escape, mode: Search, action: SearchCancel }
#- { key: C, mods: Control, mode: Search, action: SearchCancel }
#- { key: U, mods: Control, mode: Search, action: SearchClear }
#- { key: W, mods: Control, mode: Search, action: SearchDeleteWord }
#- { key: P, mods: Control, mode: Search, action: SearchHistoryPrevious }
#- { key: N, mods: Control, mode: Search, action: SearchHistoryNext }
#- { key: Up, mode: Search, action: SearchHistoryPrevious }
#- { key: Down, mode: Search, action: SearchHistoryNext }
#- { key: Return, mode: Search|~Vi, action: SearchFocusNext }
#- { key: Return, mods: Shift, mode: Search|~Vi, action: SearchFocusPrevious }
# (Windows, Linux, and BSD only)
#- { key: V, mods: Control|Shift, mode: ~Vi, action: Paste }
#- { key: C, mods: Control|Shift, action: Copy }
#- { key: F, mods: Control|Shift, mode: ~Search, action: SearchForward }
#- { key: B, mods: Control|Shift, mode: ~Search, action: SearchBackward }
#- { key: C, mods: Control|Shift, mode: Vi|~Search, action: ClearSelection }
#- { key: Insert, mods: Shift, action: PasteSelection }
#- { key: Key0, mods: Control, action: ResetFontSize }
#- { key: Equals, mods: Control, action: IncreaseFontSize }
#- { key: Plus, mods: Control, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Control, action: IncreaseFontSize }
#- { key: Minus, mods: Control, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Control, action: DecreaseFontSize }
# (Windows only)
#- { key: Return, mods: Alt, action: ToggleFullscreen }
# (macOS only)
#- { key: K, mods: Command, mode: ~Vi|~Search, chars: "\x0c" }
#- { key: K, mods: Command, mode: ~Vi|~Search, action: ClearHistory }
#- { key: Key0, mods: Command, action: ResetFontSize }
#- { key: Equals, mods: Command, action: IncreaseFontSize }
#- { key: Plus, mods: Command, action: IncreaseFontSize }
#- { key: NumpadAdd, mods: Command, action: IncreaseFontSize }
#- { key: Minus, mods: Command, action: DecreaseFontSize }
#- { key: NumpadSubtract, mods: Command, action: DecreaseFontSize }
#- { key: V, mods: Command, action: Paste }
#- { key: C, mods: Command, action: Copy }
#- { key: C, mods: Command, mode: Vi|~Search, action: ClearSelection }
#- { key: H, mods: Command, action: Hide }
#- { key: H, mods: Command|Alt, action: HideOtherApplications }
#- { key: M, mods: Command, action: Minimize }
#- { key: Q, mods: Command, action: Quit }
#- { key: W, mods: Command, action: Quit }
#- { key: N, mods: Command, action: SpawnNewInstance }
#- { key: F, mods: Command|Control, action: ToggleFullscreen }
#- { key: F, mods: Command, mode: ~Search, action: SearchForward }
#- { key: B, mods: Command, mode: ~Search, action: SearchBackward }
#debug:
# Display the time it takes to redraw each frame.
#render_timer: false
# Keep the log file after quitting Alacritty.
#persistent_logging: false
# Log level
#
# Values for `log_level`:
# - Off
# - Error
# - Warn
# - Info
# - Debug
# - Trace
#log_level: Warn
# Print all received window events.
#print_events: false
# Highlight window damage information.
#highlight_damage: false

View file

@ -1,6 +0,0 @@
/auto-save-list
/elpa
/backup
# This is quite silly. Setup a
*~

View file

@ -1,181 +0,0 @@
#+TITLE: emacs config
#+AUTHOR: Daniel "lytedev" Flanagan
#+EMAIL: daniel@lyte.dev
I have very little idea what I'm doing. Here goes!
* Meta
User information.
#+begin_src
(setq user-full-name "Daniel Flanagan"
user-mail-address "daniel@lyte.dev"
calendar-location-name "Kansas City, MO")
#+end_src
* Package Setup
Make sure packages in use are installed.
#+begin_src emacs-lisp
(require 'use-package-ensure)
(setq use-package-always-ensure t)
#+end_src
... and that we compile them.
#+begin_src emacs-lisp
(use-package auto-compile :config (auto-compile-on-load-mode))
(setq load-prefer-newer t)
#+end_src
* Setup a text editor
Get vimmy with it.
#+begin_src emacs-lisp
(setq evil-want-abbrev-expand-on-insert-exit nil)
(setq evil-want-keybinding nil)
(use-package evil
:config
(evil-mode 1))
(use-package evil-collection
:after evil)
(use-package evil-surround
:config
(global-evil-surround-mode 1))
(use-package evil-org
:after org
:config
(add-hook 'org-mode-hook 'evil-org-mode)
(add-hook 'evil-org-mode-hook
(lambda () (evil-org-set-key-theme)))
(require 'evil-org-agenda)
(evil-org-agenda-set-keys))
#+end_src
Map the `jk` chord to escape.
#+begin_src emacs-lisp
(use-package key-chord :after evil)
(key-chord-mode 1)
(key-chord-define evil-insert-state-map "jk" 'evil-normal-state)
#+end_src
And so that I can iterate quickly while writing this, setup the chord `<space>r` to reload my config.
#+begin_src emacs-lisp
(defun lytedev/reload-config ()
(interactive)
(load-file "~/.emacs.d/init.el"))
(global-set-key (kbd "C-x M-r") 'lytedev/reload-config)
#+end_src
Kill GUI elements unnecessary for my usage.
#+begin_src emacs-lisp
(tool-bar-mode 0)
(menu-bar-mode 1) ;; Keep the menu while I'm a newb.
(scroll-bar-mode -1)
#+end_src
Kill minibuffer scroll bars.
#+begin_src emacs-lisp
(set-window-scroll-bars (minibuffer-window) nil nil)
#+end_src
** Editor
Setup a decent theme.
#+begin_src emacs-lisp
(use-package monokai-theme)
(let ((line (face-attribute 'mode-line :underline)))
(set-face-attribute 'mode-line nil :overline line)
(set-face-attribute 'mode-line-inactive nil :overline line)
(set-face-attribute 'mode-line-inactive nil :underline nil)
(set-face-attribute 'mode-line nil :box nil)
(set-face-attribute 'mode-line-inactive nil :box nil)
(set-face-attribute 'mode-line-inactive nil :background "#f9f2d9"))
(defun lytedev/apply-theme ()
(interactive)
(load-theme 'monokai t))
#+end_src
... and make it work in daemon mode.
#+begin_src emacs-lisp
;; (if (daemonp)
;; (add-hook 'after-make-frame-functions (lambda (frame) (with-selected-frame frame
#+end_src
Setup a pretty modeline.
#+begin_src emacs-lisp
(use-package moody
:config
(setq x-underline-at-descent-line t)
(moody-replace-mode-line-buffer-identification)
(moody-replace-vc-mode))
#+end_src
Setup the best font and bindings to adjust its size on the fly.
#+begin_src emacs-lisp
(setq lytedev/default-font "Iosevka Type")
(setq lytedev/default-font-size 10)
(setq lytedev/min-font-size 4)
(setq lytedev/current-font-size lytedev/default-font-size)
(setq lytedev/font-change-increment 1.1)
(defun lytedev/font-code ()
(concat lytedev/default-font "-" (number-to-string lytedev/current-font-size)))
(defun lytedev/set-font-size ()
(let ((font-code (lytedev/font-code)))
(if (assoc 'font default-frame-alist)
(setcdr (assoc 'font default-frame-alist) font-code)
(add-to-list 'default-frame-alist (cons 'font font-code)))
(set-frame-font font-code)))
(defun lytedev/reset-font-size ()
(interactive)
(setq lytedev/current-font-size lytedev/default-font-size)
(lytedev/set-font-size))
(defun lytedev/increase-font-size ()
(interactive)
(setq lytedev/current-font-size (ceiling (* lytedev/current-font-size lytedev/font-change-increment)))
(lytedev/set-font-size))
(defun lytedev/decrease-font-size ()
(interactive)
(setq lytedev/current-font-size (max lytedev/min-font-size (floor (/ lytedev/current-font-size lytedev/font-change-increment))))
(lytedev/set-font-size))
(define-key global-map (kbd "C-+") 'lytedev/increase-font-size)
(define-key global-map (kbd "C--") 'lytedev/decrease-font-size)
(define-key global-map (kbd "C-0") 'lytedev/reset-font-size)
#+end_src
** Misc
NOTE: What exactly does this get me?
#+begin_src emacs-lisp
;; NOTE: I have no clue what this does... yet.
(global-prettify-symbols-mode t)
#+end_src
* To Do
1. Setup theme
2. Setup an editor

View file

@ -1,14 +0,0 @@
;; Setup package archives.
(require 'package)
(add-to-list 'package-archives '("gnu" . "https://elpa.gnu.org/packages/") t)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
(package-initialize)
;; Setup `use-package`.
(when (not (package-installed-p 'use-package))
(package-refresh-contents)
(package-install 'use-package))
;; Load the bulk of our configuration from a fancy org file.
(org-babel-load-file "~/.emacs.d/config.org")

View file

@ -60,5 +60,6 @@ end
# end # end
if status is-interactive; and not set -q TMUX; and not string match '/dev/tty*' (tty) if status is-interactive; and not set -q TMUX; and not string match '/dev/tty*' (tty)
tmux att -t default || tmux new -s default true
# tmux att -t default || tmux new -s default
end end

View file

@ -1,4 +1,4 @@
theme = "donokai" theme = "catppuccin_mocha"
[editor] [editor]
auto-pairs = false auto-pairs = false

View file

@ -1,10 +0,0 @@
[[language]]
name = "typescript"
scope = "source.ts"
injection-regex = "^(ts|typescript)$"
file-types = ["ts"]
shebangs = []
roots = []
# TODO: highlights-params
language-server = { command = "deno", args = ["lsp"], language-id = "typescript"}
indent = { tab-width = 2, unit = " " }

View file

@ -1,88 +0,0 @@
"namespace" = { fg = "yellow" }
"module" = { fg = "yellow" }
"type" = { fg = "cyan" }
"type.builtin" = { fg = "cyan" }
"type.enum.variant" = { fg = "white" }
"constructor" = { fg = "white" }
"variable.other.member" = { fg = "white" }
"keyword" = { fg = "blue" }
"keyword.directive" = { fg = "blue" }
"keyword.control" = { fg = "blue" }
"label" = { fg = "blue" }
"special" = { fg = "blue" }
"operator" = { fg = "magenta" }
"punctuation" = { fg = "white" }
"punctuation.delimiter" = { fg = "white" }
"variable" = { fg = "white" }
"variable.parameter" = { fg = "white" }
"variable.builtin" = { fg = "blue" }
"constant" = { fg = "red" }
"constant.builtin" = { fg = "red" }
"function" = { fg = "green" }
"function.builtin" = { fg = "green" }
"function.macro" = { fg = "green" }
"attribute" = { fg = "green" }
"comment" = { fg = "gray" }
"ui.virtual" = "gray"
# "ui.virtual.ruler" = { bg = "#333333" }
"string" = { fg = "yellow" }
"constant.character" = { fg = "yellow" }
"string.regexp" = { fg = "yellow" }
"constant.numeric" = { fg = "blue" }
"constant.character.escape" = { fg = "blue" }
"markup.heading" = "Cyan"
"markup.list" = "red"
"markup.bold" = { fg = "yellow", modifiers = ["bold"] }
"markup.italic" = { fg = "magenta", modifiers = ["italic"] }
"markup.link.url" = { fg = "yellow", modifiers = ["underlined"] }
"markup.link.text" = "blue"
"markup.quote" = "yellow"
"markup.raw" = "green"
"diff.plus" = { fg = "green" }
"diff.delta" = { fg = "blue" }
"diff.minus" = { fg = "red" }
"ui.background" = { fg = "fg", bg = "bg" }
"ui.window" = { bg = "bg" }
"ui.popup" = { bg = "bg", fg = "white" }
"ui.help" = { bg = "bg" }
"ui.menu" = { bg = "bg" }
"ui.menu.selected" = { bg = "blue", fg = "bg" }
"ui.cursor" = { bg = "white", modifiers = ["reversed"] }
"ui.cursor.primary" = { fg = "white", modifiers = ["reversed"] }
"ui.cursor.match" = { fg = "gray", bg = "white", modifiers = ["reversed"] }
"ui.selection" = { bg = "black" }
"ui.selection.primary" = { bg = "black" }
"ui.linenr" = { fg = "gray" }
"ui.linenr.selected" = { fg = "white" }
"ui.statusline" = { fg = "gray", bg = "bg" }
"ui.statusline.inactive" = { fg = "bg", bg = "gray" }
"ui.text" = { fg = "gray", bg = "bg" }
"ui.text.focus" = { fg = "white" }
"warning" = { fg = "yellow" }
"error" = { fg = "red" }
"info" = { fg = "blue" }
"hint" = { fg = "green" }
diagnostic = { underline = { style = "curl" } }
"diagnostic.error" = { underline = { style = "curl", color = "red" } }
"ui.bufferline" = { fg = "gray", bg = "bg" }
"ui.bufferline.active" = { fg = "blue" }

View file

@ -1 +0,0 @@
plugins

View file

@ -1,83 +0,0 @@
####################
# SELENIZED BLACK #
####################
# theme by Jan Warchoł
# ported by TeddyDD
evaluate-commands %sh{
bg="rgb:181818"
black="rgb:252525"
br_black="rgb:3b3b3b"
white="rgb:777777"
fg="rgb:b9b9b9"
br_white="rgb:dedede"
red="rgb:ed4a46"
green="rgb:70b433"
yellow="rgb:dbb32d"
blue="rgb:368aeb"
magenta="rgb:eb6eb7"
cyan="rgb:3fc5b7"
orange="rgb:e67f43"
violet="rgb:a580e2"
br_red="rgb:ff5e56"
br_green="rgb:83c746"
br_yellow="rgb:efc541"
br_blue="rgb:4f9cfe"
br_magenta="rgb:ff81ca"
br_cyan="rgb:56d8c9"
br_orange="rgb:fa9153"
br_violet="rgb:b891f5"
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${blue}
set-face global function ${br_cyan}
set-face global string ${br_green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${white}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
set-face global title ${blue}+u
set-face global header ${br_cyan}+u
set-face global bold ${br_white}+b
set-face global italic ${br_white}+i
set-face global mono ${br_green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
set-face global Default ${fg},${bg}
set-face global PrimarySelection $black,$white
set-face global SecondarySelection ${fg},$br_black+i
set-face global PrimaryCursor $bg,$red+b
set-face global SecondaryCursor $black,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
set-face global MenuForeground $cyan,$br_black+b
set-face global MenuBackground $fg,$black
set-face global Information $br_yellow,$black
set-face global Error $black,$br_red
set-face global BufferPadding $black,$black
set-face global Whitespace $white
set-face global StatusLine $fg,$black
set-face global StatusLineInfo $yellow,$black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -1,83 +0,0 @@
##################
# SELENIZED DARK #
##################
# theme by Jan Warchoł
# ported by Delapouite
evaluate-commands %sh{
bg="rgb:103c48"
black="rgb:184956"
br_black="rgb:2d5b69"
white="rgb:72898f"
fg="rgb:adbcbc"
br_white="rgb:cad8d9"
red="rgb:fa5750"
green="rgb:75b938"
yellow="rgb:dbb32d"
blue="rgb:4695f7"
magenta="rgb:f275be"
cyan="rgb:41c7b9"
orange="rgb:ed8649"
violet="rgb:af88eb"
br_red="rgb:ff665c"
br_green="rgb:84c747"
br_yellow="rgb:ebc13d"
br_blue="rgb:58a3ff"
br_magenta="rgb:ff84cd"
br_cyan="rgb:53d6c7"
br_orange="rgb:fd9456"
br_violet="rgb:bd96fa"
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${blue}
set-face global function ${br_cyan}
set-face global string ${br_green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${white}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
set-face global title ${blue}+u
set-face global header ${br_cyan}+u
set-face global bold ${br_white}+b
set-face global italic ${br_white}+i
set-face global mono ${br_green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
set-face global Default ${fg},${bg}
set-face global PrimarySelection $black,$white
set-face global SecondarySelection ${fg},$br_black+i
set-face global PrimaryCursor $bg,$red+b
set-face global SecondaryCursor $black,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
set-face global MenuForeground $cyan,$br_black+b
set-face global MenuBackground $fg,$black
set-face global Information $br_yellow,$black
set-face global Error $black,$br_red
set-face global BufferPadding $black,$black
set-face global Whitespace $white
set-face global StatusLine $fg,$black
set-face global StatusLineInfo $yellow,$black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -1,90 +0,0 @@
####################
# SELENIZED LIGHT #
####################
# theme by Jan Warchoł
# ported by TeddyDD
evaluate-commands %sh{
bg='rgb:fbf3db'
black='rgb:ece3cc'
br_black='rgb:d5cdb6'
white='rgb:909995'
fg='rgb:53676d'
br_white='rgb:3a4d53'
red='rgb:d2212d'
green='rgb:489100'
yellow='rgb:ad8900'
blue='rgb:0072d4'
magenta='rgb:ca4898'
cyan='rgb:009c8f'
orange='rgb:c25d1e'
violet='rgb:8762c6'
br_red='rgb:cc1729'
br_green='rgb:428b00'
br_yellow='rgb:a78300'
br_blue='rgb:006dce'
br_magenta='rgb:c44392'
br_cyan='rgb:00978a'
br_orange='rgb:bc5819'
br_violet='rgb:825dc0'
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${green}
set-face global function ${br_cyan}
set-face global string ${green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${br_black}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
"
## markup
echo "
set-face global title ${blue}+u
set-face global header ${br_cyan}
set-face global bold ${br_orange}+b
set-face global italic ${orange}+i
set-face global mono ${green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
"
echo "
set-face global Default ${br_white},${bg}
set-face global PrimarySelection ${fg},$br_black+i
set-face global SecondarySelection $black,$white
set-face global PrimaryCursor $black,$red+b
set-face global SecondaryCursor $bg,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
# when item focused in menu
set-face global MenuForeground $orange,$br_black+d
# default bottom menu and autocomplete
set-face global MenuBackground $fg,$black
set-face global Information $yellow,$black
set-face global Error $black,$red
set-face global BufferPadding $black,$black
set-face global Whitespace $br_black
set-face global StatusLine $fg,$br_black
set-face global StatusLineInfo $blue,$br_black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -1,90 +0,0 @@
###################
# SELENIZED WHITE #
###################
# theme by Jan Warchoł
# ported by Delapouite
evaluate-commands %sh{
bg='rgb:ffffff'
black='rgb:ebebeb'
br_black='rgb:cdcdcd'
white='rgb:878787'
fg='rgb:474747'
br_white='rgb:282828'
red='rgb:d6000c'
green='rgb:1d9700'
yellow='rgb:c49700'
blue='rgb:0064e4'
magenta='rgb:dd0f9d'
cyan='rgb:00ad9c'
orange='rgb:d04a00'
violet='rgb:7f51d6'
br_red='rgb:bf0000'
br_green='rgb:008400'
br_yellow='rgb:af8500'
br_blue='rgb:0054cf'
br_magenta='rgb:c7008b'
br_cyan='rgb:009a8a'
br_orange='rgb:ba3700'
br_violet='rgb:6b40c3'
## code
echo "
set-face global value ${orange}+b
set-face global type ${br_orange}
set-face global variable ${magenta}
set-face global module ${green}
set-face global function ${br_cyan}
set-face global string ${green}
set-face global keyword ${violet}+b
set-face global operator ${br_cyan}
set-face global attribute ${orange}
set-face global comment ${br_black}
set-face global meta ${br_orange}
set-face global builtin ${fg}+b
"
## markup
echo "
set-face global title ${blue}+u
set-face global header ${br_cyan}
set-face global bold ${br_orange}+b
set-face global italic ${orange}+i
set-face global mono ${green}
set-face global block ${orange}
set-face global link $blue
set-face global bullet ${br_magenta}
set-face global list ${magenta}
"
echo "
set-face global Default ${br_white},${bg}
set-face global PrimarySelection ${fg},$br_black+i
set-face global SecondarySelection $black,$white
set-face global PrimaryCursor $black,$red+b
set-face global SecondaryCursor $bg,$br_cyan+i
set-face global MatchingChar $black,$blue
set-face global Search $br_white,$green
set-face global CurrentWord $white,$blue
# when item focused in menu
set-face global MenuForeground $orange,$br_black+d
# default bottom menu and autocomplete
set-face global MenuBackground $fg,$black
set-face global Information $yellow,$black
set-face global Error $black,$red
set-face global BufferPadding $black,$black
set-face global Whitespace $br_black
set-face global StatusLine $fg,$br_black
set-face global StatusLineInfo $blue,$br_black
set-face global LineNumbers default
set-face global LineNumberCursor default,default+r
"
}

View file

@ -1,49 +0,0 @@
source "%val{config}/plugins/plug.kak/rc/plug.kak"
plug "TeddyDD/kakoune-selenized" theme
plug "robertmeta/plug.kak" noload config %{
set global plug_always_ensure true
set global plug_max_active_downloads 25
}
plug "alexherbo2/connect.kak"
plug "kak-lsp/kak-lsp" do %{
cargo install --locked --force --path .
}
plug 'delapouite/kakoune-buffers' %{
# map global normal ^ q
# map global normal <a-^> Q
# map global normal q b
# map global normal Q B
# map global normal <a-q> <a-b>
# map global normal <a-Q> <a-B>
# map global normal b ': enter-buffers-mode<ret>' -docstring 'buffers'
# map global normal B ': enter-user-mode -lock buffers<ret>' -docstring 'buffers (lock)'
}
# eval %sh{kak-lsp --kakoune -s $kak_session}
hook global WinSetOption filetype=(rust|python|go|javascript|typescript|c|cpp|nim) %{
lsp-enable-window
}
map global normal D '<a-l>d' -docstring 'delete to end of line'
map global normal Y '<a-l>y' -docstring 'yank to end of line'
hook global InsertChar k %{ try %{
exec -draft hH <a-k>jk<ret> d
exec <esc>
}}
map global normal '^' '<a-h>' -docstring 'jump to start of line'
# add-highlighter global/show-trailing-whitespaces regex '\h+$' 0:Error
# add-highlighter global show-matching
set global tabstop 2
set global indentwidth 2
face global Information white,black
face global MenuBackground white,black
face global MenuForeground black,blue
face global PrimarySelection black,blue
face global PrimarySelection black,white
face global MatchingChar default,bright-black

View file

@ -1,3 +0,0 @@
#!/usr/bin/env sh
git clone https://github.com/andreyorst/plug.kak.git ~/.config/kak/plugins/plug.kak

View file

@ -1 +0,0 @@
kitty-themes

View file

@ -1,118 +0,0 @@
font_family IosevkaLyteTerm
bold_font IosevkaLyteTerm Heavy
italic_font IosevkaLyteTerm Italic
bold_italic_font IosevkaLyteTerm Heavy Italic
font_size 12.5
symbol_map U+23FB-U+23FE,U+2665,U+26A1,U+2B58,U+E000-U+E00A,U+E0A0-U+E0A3,U+E0B0-U+E0D4,U+E200-U+E2A9,U+E300-U+E3E3,U+E5FA-U+E6AA,U+E700-U+E7C5,U+EA60-U+EBEB,U+F000-U+F2E0,U+F300-U+F32F,U+F400-U+F4A9,U+F500-U+F8FF,U+F0001-U+F1AF0 Symbols Nerd Font Mono
# use `kitty + list-fonts --psnames` to get the font's PostScript name
# font_features IosevkaLyte
# font_features Iosevka-Heavy +calt +dlig
# font_features Iosevka-Italic +calt +dlig
# font_features Iosevka-Heavy-Italic +calt +dlig
allow_remote_control yes
# listen_on unix:/$TMPDIR/kitty
repaint_delay 5
input_delay 5
sync_to_monitor yes
adjust_line_height 0
window_padding_width 10.0
window_margin_width 0.0
confirm_os_window_close 0
enabled_layouts tall:bias=50;full_size=1;mirrored=true
map ctrl+shift+1 change_font_size all 12.5
map ctrl+shift+2 change_font_size all 18.5
map ctrl+shift+3 change_font_size all 26
map ctrl+shift+equal change_font_size all +0.5
map ctrl+shift+minus change_font_size all -0.5
map shift+insert paste_from_clipboard
map ctrl+shift+v paste_from_selection
map ctrl+shift+c copy_to_clipboard
map ctrl+shift+h neighboring_window left
map ctrl+shift+l neighboring_window right
map ctrl+shift+k neighboring_window up
map ctrl+shift+j neighboring_window down
map ctrl+shift+h nth_window -1
map ctrl+shift+p>u kitten hints --type=url --program @
shell_integration disabled
enable_audio_bell yes
visual_bell_duration 0.25
visual_bell_color #333033
url_style single
strip_trailing_spaces smart
# open_url_modifiers ctrl
background #110811
foreground #f8f2f8
# black
color0 #333033
# red
color1 #f92672
# green
color2 #a6e22e
# yellow
color3 #f4bf75
# blue
color4 #66d9ef
# purple
color5 #ae81ff
# cyan
color6 #a1efe4
# white
color7 #f8f2f8
# TODO: where did these colors come from? donokai?
# color8 #75715e
# color9 #fd971f
# color10 #383830
# color11 #49483e
# color12 #a59f85
# color13 #f5f4f1
# color14 #cc6633
# color15 #f9f8f5
color18 #333033
# # light theme
#
# background #eeeeee
# foreground #000000
#
# color0 #eeeeee
# color1 #f92672
# color2 #a6e22e
# color3 #f4bf75
# color4 #66d9ef
# color5 #ae81ff
# color6 #a1efe4
# color7 #000000
#
# color8 #aaaaaa
# color9 #fd971f
# color10 #cccccc
# color11 #49483e
# color12 #a59f85
# color13 #f5f4f1
# color14 #cc6633
# color15 #f9f8f5
#
# color18 #cccccc
wheel_scroll_multiplier 5.0
touch_scroll_multiplier 5.0
# same as bg, used by tmux to ensure the same bg color is used in pane border
# and statusline
color19 #100814

View file

@ -1,28 +0,0 @@
auto_update "yes"
audio_output {
type "pulse"
name "pulse audio"
}
db_file "~/.local/mpd/database"
log_file "syslog"
pid_file "~/.local/mpd/pid"
state_file "~/.local/mpd/pid"
sticker_file "~/.local/mpd/sticker.sql"
playlist_directory "~/../music/mpd-playlists"
music_directory "~/../music"
# bind_to_address "~/.local/mpd/socket"
bind_to_address "any"
port "6600"
restore_paused "yes"
log_level "verbose"
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}

View file

@ -1,702 +0,0 @@
# vim: ft=conf
#
# In this config file, qutebrowser's key bindings are configured.
# The format looks like this:
#
# [keymode]
#
# command
# keychain
# keychain2
# ...
#
# All blank lines and lines starting with '#' are ignored.
# Inline-comments are not permitted.
#
# keymode is a comma separated list of modes in which the key binding should be
# active. If keymode starts with !, the key binding is active in all modes
# except the listed modes.
#
# For special keys (can't be part of a keychain), enclose them in `<`...`>`.
# For modifiers, you can use either `-` or `+` as delimiters, and these names:
#
# * Control: `Control`, `Ctrl`
# * Meta: `Meta`, `Windows`, `Mod4`
# * Alt: `Alt`, `Mod1`
# * Shift: `Shift`
#
# For simple keys (no `<>`-signs), a capital letter means the key is pressed
# with Shift. For special keys (with `<>`-signs), you need to explicitly add
# `Shift-` to match a key pressed with shift.
#
# Note that default keybindings are always bound, and need to be explicitly
# unbound if you wish to remove them:
#
# <unbound>
# keychain
# keychain2
# ...
[!normal]
leave-mode
<escape>
<ctrl-[>
[normal]
# Keybindings for normal mode.
clear-keychain ;; search ;; fullscreen --leave
<escape>
<ctrl-[>
set-cmd-text -s :open
o
set-cmd-text :open {url:pretty}
go
set-cmd-text -s :open -t
O
set-cmd-text :open -t -i {url:pretty}
gO
set-cmd-text -s :open -b
xo
set-cmd-text :open -b -i {url:pretty}
xO
set-cmd-text -s :open -w
wo
set-cmd-text :open -w {url:pretty}
wO
set-cmd-text /
/
set-cmd-text ?
?
set-cmd-text :
:
open -t
ga
<ctrl-t>
open -w
<ctrl-n>
tab-close
d
<ctrl-w>
tab-close -o
D
tab-only
co
tab-focus
T
tab-move
gm
tab-move -
gl
tab-move +
gr
tab-next
J
<ctrl-pgdown>
tab-prev
K
<ctrl-pgup>
tab-clone
gC
reload
r
<f5>
reload -f
R
<ctrl-f5>
back
H
<back>
back -t
th
back -w
wh
forward
L
<forward>
forward -t
tl
forward -w
wl
fullscreen
<f11>
hint
f
hint all tab
F
hint all window
wf
hint all tab-bg
;b
hint all tab-fg
;f
hint all hover
;h
hint images
;i
hint images tab
;I
hint links fill :open {hint-url}
;o
hint links fill :open -t -i {hint-url}
;O
hint links yank
;y
hint links yank-primary
;Y
hint --rapid links tab-bg
;r
hint --rapid links window
;R
hint links download
;d
hint inputs
;t
scroll left
h
scroll down
j
scroll up
k
scroll right
l
undo
u
<ctrl-shift-t>
scroll-perc 0
gg
scroll-perc
G
search-next
n
search-prev
N
enter-mode insert
i
enter-mode caret
v
enter-mode set_mark
`
enter-mode jump_mark
'
yank
yy
yank -s
yY
yank title
yt
yank title -s
yT
yank domain
yd
yank domain -s
yD
yank pretty-url
yp
yank pretty-url -s
yP
open -- {clipboard}
pp
open -- {primary}
pP
open -t -- {clipboard}
Pp
open -t -- {primary}
PP
open -w -- {clipboard}
wp
open -w -- {primary}
wP
quickmark-save
m
set-cmd-text -s :quickmark-load
b
set-cmd-text -s :quickmark-load -t
B
set-cmd-text -s :quickmark-load -w
wb
bookmark-add
M
set-cmd-text -s :bookmark-load
gb
set-cmd-text -s :bookmark-load -t
gB
set-cmd-text -s :bookmark-load -w
wB
save
sf
set-cmd-text -s :set
ss
set-cmd-text -s :set -t
sl
set-cmd-text -s :bind
sk
zoom-out
-
zoom-in
+
zoom
=
navigate prev
[[
navigate next
]]
navigate prev -t
{{
navigate next -t
}}
navigate up
gu
navigate up -t
gU
navigate increment
<ctrl-a>
navigate decrement
<ctrl-x>
inspector
wi
download
gd
download-cancel
ad
download-clear
cd
view-source
gf
set-cmd-text -s :buffer
gt
tab-focus last
<ctrl-tab>
enter-mode passthrough
<ctrl-v>
quit
<ctrl-q>
scroll-page 0 1
<ctrl-f>
scroll-page 0 -1
<ctrl-b>
scroll-page 0 0.5
<ctrl-d>
scroll-page 0 -0.5
<ctrl-u>
tab-focus 1
<alt-1>
tab-focus 2
<alt-2>
tab-focus 3
<alt-3>
tab-focus 4
<alt-4>
tab-focus 5
<alt-5>
tab-focus 6
<alt-6>
tab-focus 7
<alt-7>
tab-focus 8
<alt-8>
tab-focus 9
<alt-9>
home
<ctrl-h>
stop
<ctrl-s>
print
<ctrl-alt-p>
open qute:settings
Ss
follow-selected
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
follow-selected -t
<ctrl-return>
<ctrl-enter>
repeat-command
.
record-macro
q
run-macro
@
wq
ZZ
tab-focus -1
g$
tab-pin
<ctrl-p>
[insert]
# Keybindings for insert mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `open-editor`: Open a texteditor with the focused field.
# * `paste-primary`: Paste primary selection at cursor position.
open-editor
<ctrl-e>
insert-text {primary}
<shift-ins>
[hint]
# Keybindings for hint mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `follow-hint`: Follow the currently selected hint.
follow-hint
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
hint --rapid links tab-bg
<ctrl-r>
hint links
<ctrl-f>
hint all tab-bg
<ctrl-b>
[command]
# Keybindings for command mode.
# Since normal keypresses are passed through, only special keys are
# supported in this mode.
# Useful hidden commands to map in this section:
# * `command-history-prev`: Switch to previous command in history.
# * `command-history-next`: Switch to next command in history.
# * `completion-item-focus`: Select another item in completion.
# * `command-accept`: Execute the command currently in the commandline.
command-history-prev
<ctrl-p>
command-history-next
<ctrl-n>
completion-item-focus prev
<shift-tab>
<up>
completion-item-focus next
<tab>
<down>
completion-item-focus next-category
<ctrl-tab>
completion-item-focus prev-category
<ctrl-shift-tab>
completion-item-del
<ctrl-d>
command-accept
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
[prompt]
# Keybindings for prompts in the status line.
# You can bind normal keys in this mode, but they will be only active
# when a yes/no-prompt is asked. For other prompt modes, you can only
# bind special keys.
# Useful hidden commands to map in this section:
# * `prompt-accept`: Confirm the entered value.
# * `prompt-accept yes`: Answer yes to a yes/no question.
# * `prompt-accept no`: Answer no to a yes/no question.
prompt-accept
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
prompt-accept yes
y
prompt-accept no
n
prompt-open-download
<ctrl-x>
prompt-item-focus prev
<shift-tab>
<up>
prompt-item-focus next
<tab>
<down>
[command,prompt]
rl-backward-char
<ctrl-b>
rl-forward-char
<ctrl-f>
rl-backward-word
<alt-b>
rl-forward-word
<alt-f>
rl-beginning-of-line
<ctrl-a>
rl-end-of-line
<ctrl-e>
rl-unix-line-discard
<ctrl-u>
rl-kill-line
<ctrl-k>
rl-kill-word
<alt-d>
rl-unix-word-rubout
<ctrl-w>
rl-backward-kill-word
<alt-backspace>
rl-yank
<ctrl-y>
rl-delete-char
<ctrl-?>
rl-backward-delete-char
<ctrl-h>
[caret]
toggle-selection
v
<space>
drop-selection
<ctrl-space>
enter-mode normal
c
move-to-next-line
j
move-to-prev-line
k
move-to-next-char
l
move-to-prev-char
h
move-to-end-of-word
e
move-to-next-word
w
move-to-prev-word
b
move-to-start-of-next-block
]
move-to-start-of-prev-block
[
move-to-end-of-next-block
}
move-to-end-of-prev-block
{
move-to-start-of-line
0
move-to-end-of-line
$
move-to-start-of-document
gg
move-to-end-of-document
G
yank selection -s
Y
yank selection
y
<return>
<ctrl-m>
<ctrl-j>
<shift-return>
<enter>
<shift-enter>
scroll left
H
scroll down
J
scroll up
K
scroll right
L

File diff suppressed because it is too large Load diff

View file

@ -1,116 +0,0 @@
unbind C-b
set -g prefix C-s
bind s send-prefix
bind v split-window -h -c "#{pane_current_path}"
bind b split-window -c "#{pane_current_path}"
bind T source-file "$HOME/.tmux.conf" \; display-message "Reloaded $HOME/.tmux.conf"
# dump buffer contents to file
bind O display-message "#(tmux-save-buffer '#S')"
# TODO: dump buffer to file and open in EDITOR?
bind D attach-session -t . -c '#{pane_current_path}' \; display-message "Set session path to #{pane_current_path}"
# toggle status bar
bind H set -s status
# pane navigation
bind -n C-l select-pane -R
bind -n C-k select-pane -U
bind -n C-j select-pane -D
bind -n C-h select-pane -L
# tab creation
bind -n C-t new-window
bind Tab next-window
# tab nav is the default p and n binds
# window switcher is the default w bind
# session switcher
bind s run "tmux split-window -l 12 'tmuxswitcher'"
set -g update-environment "WAYLAND_DISPLAY DISPLAY"
set -g mouse on
set -g escape-time 0
set -g monitor-activity on
set -g visual-bell off
set -g bell-action other
set -g activity-action none
set -g mode-keys vi
set -g history-limit 1000000
set -g status on
set -g status-position bottom
set -g status-style "fg=colour8 bg=default"
# set -g status-bg default
# set -g status-fg colour8
set -g status-interval 5
set -g status-left-length 50
set -g window-status-style "fg=colour8 bg=default"
set -g window-status-format "#W"
set -g window-status-separator " "
set -g window-status-activity-style "fg=colour7 bg=default"
set -g window-status-bell-style "fg=colour1 bg=default"
set -g window-status-current-style "fg=colour4 bg=default"
set -g window-status-current-format " #W "
set -g status-left "#h:#S "
set -g status-right ""
# set -ag status-right "#(pwd | $XDG_CONFIG_HOME/lytedev-dotfiles/common/bin/glancepath) "
set -ag status-right "#(kubeline && printf ' ')"
set -g status-left-length 1000
# set -g status-right-length 280
# set -ag status-right "#{pane_current_command}"
set -g message-style "fg=colour7 bg=default"
set -g pane-active-border-style fg=blue
set -g pane-border-style fg=colour0
set -g clock-mode-colour colour8
set -g base-index 1
set -g pane-base-index 1
set -g window-status-current-format "#W"
# present a menu of urls to open from the visible pane
# TODO: fuzzy search this
# bind u capture-pane \;\
# save-buffer /tmp/tmux-buffer \;\
# split-window -l 10 "urlscan /tmp/tmux-buffer"
bind -T copy-mode-vi "y" send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!'
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-no-clear 'wl-copy' \; display-message 'Copied to clipboard!'
bind K kill-pane
bind C-S-k kill-window
# TODO: handle tmux nesting by being able to toggle the prefix (and indicate in status bar?)
# TODO: styles after `set -u key-table`
#if -F '#{pane_in_mode}' 'send-keys -X cancel' \;\
bind -T root F12 set -g prefix None \; set -g key-table off \; display-message "Keys OFF" \; refresh-client -S
# TODO: styles after `set -u key-table`
bind -T off F12 \
set -g -u prefix \;\
set -g -u key-table \;\
display-message "Keys ON" \;\
refresh-client -S
source-file "$ENV_PATH/*/tmux.d.conf"
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @resurrect-capture-pane-contents 'on'
set -g @resurrect-processes 'helix hx vi vim nvim emacs man less more tail top htop btm irssi weechat mutt "git log" iex mix deno watchexec mosh-client ssh'
bind A run-shell "#{@resurrect-save-script-path}"
bind L run-shell "#{@resurrect-restore-script-path}"
set -g @continuum-restore 'on'
set -g @continuum-save-interval '120'

View file

@ -0,0 +1,291 @@
local wezterm = require("wezterm")
local M = {}
local colors = {
latte = {
rosewater = "#dc8a78",
flamingo = "#dd7878",
pink = "#ea76cb",
mauve = "#8839ef",
red = "#d20f39",
maroon = "#e64553",
peach = "#fe640b",
yellow = "#df8e1d",
green = "#40a02b",
teal = "#179299",
sky = "#04a5e5",
sapphire = "#209fb5",
blue = "#1e66f5",
lavender = "#7287fd",
text = "#4c4f69",
subtext1 = "#5c5f77",
subtext0 = "#6c6f85",
overlay2 = "#7c7f93",
overlay1 = "#8c8fa1",
overlay0 = "#9ca0b0",
surface2 = "#acb0be",
surface1 = "#bcc0cc",
surface0 = "#ccd0da",
crust = "#dce0e8",
mantle = "#e6e9ef",
base = "#eff1f5",
},
frappe = {
rosewater = "#f2d5cf",
flamingo = "#eebebe",
pink = "#f4b8e4",
mauve = "#ca9ee6",
red = "#e78284",
maroon = "#ea999c",
peach = "#ef9f76",
yellow = "#e5c890",
green = "#a6d189",
teal = "#81c8be",
sky = "#99d1db",
sapphire = "#85c1dc",
blue = "#8caaee",
lavender = "#babbf1",
text = "#c6d0f5",
subtext1 = "#b5bfe2",
subtext0 = "#a5adce",
overlay2 = "#949cbb",
overlay1 = "#838ba7",
overlay0 = "#737994",
surface2 = "#626880",
surface1 = "#51576d",
surface0 = "#414559",
base = "#303446",
mantle = "#292c3c",
crust = "#232634",
},
macchiato = {
rosewater = "#f4dbd6",
flamingo = "#f0c6c6",
pink = "#f5bde6",
mauve = "#c6a0f6",
red = "#ed8796",
maroon = "#ee99a0",
peach = "#f5a97f",
yellow = "#eed49f",
green = "#a6da95",
teal = "#8bd5ca",
sky = "#91d7e3",
sapphire = "#7dc4e4",
blue = "#8aadf4",
lavender = "#b7bdf8",
text = "#cad3f5",
subtext1 = "#b8c0e0",
subtext0 = "#a5adcb",
overlay2 = "#939ab7",
overlay1 = "#8087a2",
overlay0 = "#6e738d",
surface2 = "#5b6078",
surface1 = "#494d64",
surface0 = "#363a4f",
base = "#24273a",
mantle = "#1e2030",
crust = "#181926",
},
mocha = {
rosewater = "#f5e0dc",
flamingo = "#f2cdcd",
pink = "#f5c2e7",
mauve = "#cba6f7",
red = "#f38ba8",
maroon = "#eba0ac",
peach = "#fab387",
yellow = "#f9e2af",
green = "#a6e3a1",
teal = "#94e2d5",
sky = "#89dceb",
sapphire = "#74c7ec",
blue = "#89b4fa",
lavender = "#b4befe",
text = "#cdd6f4",
subtext1 = "#bac2de",
subtext0 = "#a6adc8",
overlay2 = "#9399b2",
overlay1 = "#7f849c",
overlay0 = "#6c7086",
surface2 = "#585b70",
surface1 = "#45475a",
surface0 = "#313244",
base = "#1e1e2e",
mantle = "#181825",
crust = "#11111b",
},
}
local mappings = {
mocha = "Catppuccin Mocha",
macchiato = "Catppuccin Macchiato",
frappe = "Catppuccin Frappe",
latte = "Catppuccin Latte",
}
function M.select(palette, flavor, accent)
local c = palette[flavor]
-- shorthand to check for the Latte flavor
local isLatte = palette == "latte"
return {
foreground = c.text,
background = c.base,
cursor_fg = isLatte and c.base or c.crust,
cursor_bg = c.rosewater,
cursor_border = c.rosewater,
selection_fg = c.text,
selection_bg = c.surface2,
scrollbar_thumb = c.surface2,
split = c.overlay0,
ansi = {
isLatte and c.subtext1 or c.surface1,
c.red,
c.green,
c.yellow,
c.blue,
c.pink,
c.teal,
isLatte and c.surface2 or c.subtext1,
},
brights = {
isLatte and c.subtext0 or c.surface2,
c.red,
c.green,
c.yellow,
c.blue,
c.pink,
c.teal,
isLatte and c.surface1 or c.subtext0,
},
indexed = { [16] = c.peach, [17] = c.rosewater },
-- nightbuild only
compose_cursor = c.flamingo,
tab_bar = {
background = c.crust,
active_tab = {
bg_color = c[accent],
fg_color = c.crust,
},
inactive_tab = {
bg_color = c.mantle,
fg_color = c.text,
},
inactive_tab_hover = {
bg_color = c.base,
fg_color = c.text,
},
new_tab = {
bg_color = c.surface0,
fg_color = c.text,
},
new_tab_hover = {
bg_color = c.surface1,
fg_color = c.text,
},
-- fancy tab bar
inactive_tab_edge = c.surface0,
},
visual_bell = c.surface0,
}
end
local function select_for_appearance(appearance, options)
if appearance:find("Dark") then
return options.dark
else
return options.light
end
end
local function tableMerge(t1, t2)
for k, v in pairs(t2) do
if type(v) == "table" then
if type(t1[k] or false) == "table" then
tableMerge(t1[k] or {}, t2[k] or {})
else
t1[k] = v
end
else
t1[k] = v
end
end
return t1
end
function M.apply_to_config(c, opts)
if not opts then
opts = {}
end
-- default options
local defaults = {
flavor = "mocha",
accent = "mauve",
sync = false,
sync_flavors = { light = "latte", dark = "mocha" },
color_overrides = { mocha = {}, macchiato = {}, frappe = {}, latte = {} },
token_overrides = { mocha = {}, macchiato = {}, frappe = {}, latte = {} },
}
local o = tableMerge(defaults, opts)
-- insert all flavors
local color_schemes = {}
local palette = tableMerge(colors, o.color_overrides)
for flavor, name in pairs(mappings) do
local spec = M.select(palette, flavor, o.accent)
local overrides = o.token_overrides[flavor]
color_schemes[name] = tableMerge(spec, overrides)
end
if c.color_schemes == nil then
c.color_schemes = {}
end
c.color_schemes = tableMerge(c.color_schemes, color_schemes)
if opts.sync then
c.color_scheme = select_for_appearance(wezterm.gui.get_appearance(), {
dark = mappings[o.sync_flavors.dark],
light = mappings[o.sync_flavors.light],
})
c.command_palette_bg_color = select_for_appearance(wezterm.gui.get_appearance(), {
dark = colors[o.sync_flavors.dark].crust,
light = colors[o.sync_flavors.light].crust,
})
c.command_palette_fg_color = select_for_appearance(wezterm.gui.get_appearance(), {
dark = colors[o.sync_flavors.dark].text,
light = colors[o.sync_flavors.light].text,
})
else
c.color_scheme = mappings[o.flavor]
c.command_palette_bg_color = colors[o.flavor].crust
c.command_palette_fg_color = colors[o.flavor].text
end
local window_frame = {
active_titlebar_bg = colors[o.flavor].crust,
active_titlebar_fg = colors[o.flavor].text,
inactive_titlebar_bg = colors[o.flavor].crust,
inactive_titlebar_fg = colors[o.flavor].text,
button_fg = colors[o.flavor].text,
button_bg = colors[o.flavor].base,
}
if c.window_frame == nil then
c.window_frame = {}
end
c.window_frame = tableMerge(c.window_frame, window_frame)
end
return M

View file

@ -0,0 +1,56 @@
local wezterm = require 'wezterm'
local catpuccin = require 'catpuccin'
local config = {}
if wezterm.config_builder then
config = wezterm.config_builder()
end
catpuccin.apply_to_config(config)
config.font = wezterm.font('IosevkaLyteTerm', { weight = 'Regular', italic = false })
config.font_size = 12.0
config.hide_tab_bar_if_only_one_tab = true
config.use_fancy_tab_bar = false
config.window_background_opacity = 1.0
config.keys = {
{
key = 'j',
mods = 'CTRL',
action = wezterm.action.ActivatePaneDirection'Down'
},
{
key = 'h',
mods = 'CTRL',
action = wezterm.action.ActivatePaneDirection'Left'
},
{
key = 'l',
mods = 'CTRL',
action = wezterm.action.ActivatePaneDirection'Right'
},
{
key = 'k',
mods = 'CTRL',
action = wezterm.action.ActivatePaneDirection'Up'
},
{
key = 'j',
mods = 'CTRL|SHIFT',
action = wezterm.action.SplitVertical{domain='CurrentPaneDomain'}
},
{
key = 'l',
mods = 'CTRL|SHIFT',
action = wezterm.action.SplitHorizontal{domain='CurrentPaneDomain'}
},
}
-- 😋
-- -> => ==>
-- -* ** :: >> |>
return config

View file

@ -1,302 +0,0 @@
// If you'd like to override the default keybindings completely, be sure to change "keybinds" to "keybinds clear-defaults=true"
keybinds clear-defaults=true {
normal {
bind "Ctrl h" { MoveFocusOrTab "Left"; }
bind "Ctrl l" { MoveFocusOrTab "Right"; }
bind "Ctrl j" { MoveFocus "Down"; }
bind "Ctrl J" { MoveFocus "Down"; }
bind "Ctrl k" { MoveFocus "Up"; }
}
locked {
bind "Ctrl g" { SwitchToMode "Normal"; }
}
resize {
bind "Ctrl z" { SwitchToMode "Normal"; }
bind "h" "Left" { Resize "Increase Left"; }
bind "j" "Down" { Resize "Increase Down"; }
bind "k" "Up" { Resize "Increase Up"; }
bind "l" "Right" { Resize "Increase Right"; }
bind "H" { Resize "Decrease Left"; }
bind "J" { Resize "Decrease Down"; }
bind "K" { Resize "Decrease Up"; }
bind "L" { Resize "Decrease Right"; }
bind "=" "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
}
pane {
bind "Ctrl n" { SwitchToMode "Normal"; }
bind "h" "Left" { MoveFocus "Left"; }
bind "l" "Right" { MoveFocus "Right"; }
bind "j" "Down" { MoveFocus "Down"; }
bind "k" "Up" { MoveFocus "Up"; }
bind "p" { SwitchFocus; }
bind "n" { NewPane; SwitchToMode "Normal"; }
bind "d" { NewPane "Down"; SwitchToMode "Normal"; }
bind "r" { NewPane "Right"; SwitchToMode "Normal"; }
bind "x" { CloseFocus; SwitchToMode "Normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "Normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "Normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "Normal"; }
bind "c" { SwitchToMode "RenamePane"; PaneNameInput 0;}
}
move {
bind "Ctrl h" { SwitchToMode "Normal"; }
bind "n" "Tab" { MovePane; }
bind "h" "Left" { MovePane "Left"; }
bind "j" "Down" { MovePane "Down"; }
bind "k" "Up" { MovePane "Up"; }
bind "l" "Right" { MovePane "Right"; }
}
tab {
bind "Ctrl t" { SwitchToMode "Normal"; }
bind "r" { SwitchToMode "RenameTab"; TabNameInput 0; }
bind "h" "Left" "Up" "k" { GoToPreviousTab; }
bind "l" "Right" "Down" "j" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "Normal"; }
bind "x" { CloseTab; SwitchToMode "Normal"; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "Normal"; }
bind "1" { GoToTab 1; SwitchToMode "Normal"; }
bind "2" { GoToTab 2; SwitchToMode "Normal"; }
bind "3" { GoToTab 3; SwitchToMode "Normal"; }
bind "4" { GoToTab 4; SwitchToMode "Normal"; }
bind "5" { GoToTab 5; SwitchToMode "Normal"; }
bind "6" { GoToTab 6; SwitchToMode "Normal"; }
bind "7" { GoToTab 7; SwitchToMode "Normal"; }
bind "8" { GoToTab 8; SwitchToMode "Normal"; }
bind "9" { GoToTab 9; SwitchToMode "Normal"; }
bind "Tab" { ToggleTab; }
}
scroll {
bind "Ctrl s" { SwitchToMode "Normal"; }
bind "e" { EditScrollback; SwitchToMode "Normal"; }
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
// uncomment this and adjust key if using copy_on_select=false
// bind "Alt c" { Copy; }
}
search {
bind "Ctrl s" { SwitchToMode "Normal"; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
bind "j" "Down" { ScrollDown; }
bind "k" "Up" { ScrollUp; }
bind "Ctrl f" "PageDown" "Right" "l" { PageScrollDown; }
bind "Ctrl b" "PageUp" "Left" "h" { PageScrollUp; }
bind "d" { HalfPageScrollDown; }
bind "u" { HalfPageScrollUp; }
bind "n" { Search "down"; }
bind "p" { Search "up"; }
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "w" { SearchToggleOption "Wrap"; }
bind "o" { SearchToggleOption "WholeWord"; }
}
entersearch {
bind "Ctrl c" "Esc" { SwitchToMode "Scroll"; }
bind "Enter" { SwitchToMode "Search"; }
}
renametab {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenameTab; SwitchToMode "Tab"; }
}
renamepane {
bind "Ctrl c" { SwitchToMode "Normal"; }
bind "Esc" { UndoRenamePane; SwitchToMode "Pane"; }
}
session {
bind "Ctrl o" { SwitchToMode "Normal"; }
bind "Ctrl s" { SwitchToMode "Scroll"; }
bind "d" { Detach; }
}
tmux {
bind "[" { SwitchToMode "Scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "Normal"; }
bind "\"" { NewPane "Down"; SwitchToMode "Normal"; }
bind "%" { NewPane "Right"; SwitchToMode "Normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "Normal"; }
bind "c" { NewTab; SwitchToMode "Normal"; }
bind "," { SwitchToMode "RenameTab"; }
bind "p" { GoToPreviousTab; SwitchToMode "Normal"; }
bind "n" { GoToNextTab; SwitchToMode "Normal"; }
bind "Left" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "Right" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "Down" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "Up" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "h" { MoveFocus "Left"; SwitchToMode "Normal"; }
bind "l" { MoveFocus "Right"; SwitchToMode "Normal"; }
bind "j" { MoveFocus "Down"; SwitchToMode "Normal"; }
bind "k" { MoveFocus "Up"; SwitchToMode "Normal"; }
bind "o" { FocusNextPane; }
bind "d" { Detach; }
}
shared_except "locked" {
bind "Ctrl h" { MoveFocusOrTab "Left"; }
bind "Ctrl l" { MoveFocusOrTab "Right"; }
bind "Ctrl j" { MoveFocus "Down"; }
bind "Ctrl J" { MoveFocus "Down"; }
bind "Ctrl k" { MoveFocus "Up"; }
bind "Ctrl g" { SwitchToMode "Locked"; }
bind "Ctrl q" { Quit; }
bind "Alt n" { NewPane; }
bind "Alt h" "Alt Left" { MoveFocusOrTab "Left"; }
bind "Alt l" "Alt Right" { MoveFocusOrTab "Right"; }
bind "Alt j" "Alt Down" { MoveFocus "Down"; }
bind "Alt k" "Alt Up" { MoveFocus "Up"; }
bind "Alt =" "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
}
shared_except "normal" "locked" {
bind "Enter" "Esc" { SwitchToMode "Normal"; }
}
shared_except "pane" "locked" {
bind "Ctrl n" { SwitchToMode "Pane"; }
}
shared_except "resize" "locked" {
bind "Ctrl z" { SwitchToMode "Resize"; }
}
shared_except "scroll" "locked" {
bind "Ctrl s" { SwitchToMode "Scroll"; }
}
shared_except "session" "locked" {
bind "Ctrl o" { SwitchToMode "Session"; }
}
shared_except "tab" "locked" {
bind "Ctrl t" { SwitchToMode "Tab"; }
}
shared_except "move" "locked" {
bind "Ctrl h" { SwitchToMode "Move"; }
}
shared_except "tmux" "locked" {
bind "Ctrl b" { SwitchToMode "Tmux"; }
}
}
plugins {
tab-bar { path "tab-bar"; }
status-bar { path "status-bar"; }
strider { path "strider"; }
compact-bar { path "compact-bar"; }
}
// Choose what to do when zellij receives SIGTERM, SIGINT, SIGQUIT or SIGHUP
// eg. when terminal window with an active zellij session is closed
// Options:
// - detach (Default)
// - quit
//
on_force_close "detach"
// Send a request for a simplified ui (without arrow fonts) to plugins
// Options:
// - true
// - false (Default)
//
simplified_ui true
// Toggle between having pane frames around the panes
// Options:
// - true (default)
// - false
//
pane_frames false
// Define color themes for Zellij
// For more examples, see: https://github.com/zellij-org/zellij/tree/main/example/themes
// Once these themes are defined, one of them should to be selected in the "theme" section of this file
themes {
default {
fg 7
bg 0
black 0
red 1
green 2
yellow 3
blue 4
magenta 5
cyan 6
white 7
orange 3
}
}
// Choose the theme that is specified in the themes section.
// Default: default
//
// theme "default"
// The name of the default layout to load on startup
// Default: "default"
//
// default_layout "compact"
// Choose the mode that zellij uses when starting up.
// Default: normal
//
// default_mode "locked"
// Toggle enabling the mouse mode.
// On certain configurations, or terminals this could
// potentially interfere with copying text.
// Options:
// - true (default)
// - false
//
mouse_mode true
// Configure the scroll back buffer size
// This is the number of lines zellij stores for each pane in the scroll back
// buffer. Excess number of lines are discarded in a FIFO fashion.
// Valid values: positive integers
// Default value: 10000
//
scroll_buffer_size 1000000
// Provide a command to execute when copying text. The text will be piped to
// the stdin of the program to perform the copy. This can be used with
// terminal emulators which do not support the OSC 52 ANSI control sequence
// that will be used by default if this option is not set.
// Examples:
//
// copy_command "xclip -selection clipboard" // x11
copy_command "wl-copy" // wayland
// copy_command "pbcopy" // osx
// Choose the destination for copied text
// Allows using the primary selection buffer (on x11/wayland) instead of the system clipboard.
// Does not apply when using copy_command.
// Options:
// - system (default)
// - primary
//
// copy_clipboard "primary"
// Enable or disable automatic copy (and clear) of selection when releasing mouse
// Default: true
//
// copy_on_select false
// Path to the default editor to use to edit pane scrollbuffer
// Default: $EDITOR or $VISUAL
//
// scrollback_editor "/usr/bin/vim"
// When attaching to an existing session with other users,
// should the session be mirrored (true)
// or should each user have their own cursor (false)
// Default: false
//
// mirror_session true
// The folder in which Zellij will look for layouts
//
// layout_dir "/path/to/my/layout_dir"
// The folder in which Zellij will look for themes
//
// theme_dir "/path/to/my/theme_dir"

View file

@ -29,11 +29,13 @@ paru -Sy --needed \
hunspell-en_US `# Firefox Spell Checking` \ hunspell-en_US `# Firefox Spell Checking` \
passff-host `# Pass integration in Firefox` \ passff-host `# Pass integration in Firefox` \
kitty-git `# Terminal Emulator` \ kitty-git `# Terminal Emulator` \
wezterm `# Terminal Emulator` \
pavucontrol pulsemixer `# Pulseaudio Controls` \ pavucontrol pulsemixer `# Pulseaudio Controls` \
playerctl `# Media Keys Controls` \ playerctl `# Media Keys Controls` \
feh `# Image Viewer and Wallpaper Manager` \ feh `# Image Viewer and Wallpaper Manager` \
wlroots sway swaybg `# Wayland Compositor` \ hyprland hyprpaper `# Wayland Compositor` \
swaylock swayidle `# Auto-Locking for Sway` \ polkit-kde-agent `# Privilege Escalation` \
swaylock swayidle `# Locking and Idling` \
waybar mako `# Bar and Notifications` \ waybar mako `# Bar and Notifications` \
slurp grim wl-clipboard `# Screenshots and Clipboard Utilities` \ slurp grim wl-clipboard `# Screenshots and Clipboard Utilities` \
pipewire pipewire-pulse wireplumber `# Audio System` \ pipewire pipewire-pulse wireplumber `# Audio System` \

View file

@ -1,2 +1,3 @@
#!/usr/bin/env sh #!/usr/bin/env sh
exec "$(dirname "$0")/../sway/init" # exec "$(dirname "$0")/../sway/init"
exec Hyprland

View file

@ -1,10 +1,13 @@
# See https://wiki.hyprland.org/Configuring/Monitors/ # See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto monitor=,preferred,auto,auto
monitor=DP-1,3840x2160@60,0x0,1.5,transform,3
monitor=DP-2,3840x2160@60,5280x0,1.5,transform,3
monitor=DP-3,3840x2160@120,1440x0,1,bitdepth,10
# See https://wiki.hyprland.org/Configuring/Keywords/ for more # See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Execute your favorite apps at launch # Execute your favorite apps at launch
exec-once = kitty & firefox & wezterm exec-once = kitty & firefox & wezterm & hyprpaper & mako & /usr/lib/polkit-kde-authentication-agent-1 & waybar
# Source a file (multi-file configs) # Source a file (multi-file configs)
# source = ~/.config/hypr/myColors.conf # source = ~/.config/hypr/myColors.conf
@ -22,26 +25,27 @@ input {
follow_mouse = 0 follow_mouse = 0
keyboard { repeat_delay = 200
repeat_delay 200 repeat_rate = 60
repeat_rate 60
}
touchpad { touchpad {
natural_scroll = no natural_scroll = no
tap-to-click = true
middle_button_emulation = true
} }
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. force_no_accel = true
sensitivity = 1 # -1.0 - 1.0, 0 means no modification.
} }
general { general {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
gaps_in = 5 gaps_in = 3
gaps_out = 20 gaps_out = 6
border_size = 2 border_size = 1
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
col.inactive_border = rgba(595959aa) col.inactive_border = rgba(59595988)
layout = dwindle layout = dwindle
} }
@ -49,7 +53,7 @@ general {
decoration { decoration {
# See https://wiki.hyprland.org/Configuring/Variables/ for more # See https://wiki.hyprland.org/Configuring/Variables/ for more
rounding = 10 rounding = 3
blur = yes blur = yes
blur_size = 3 blur_size = 3
blur_passes = 1 blur_passes = 1
@ -59,6 +63,8 @@ decoration {
shadow_range = 4 shadow_range = 4
shadow_render_power = 3 shadow_render_power = 3
col.shadow = rgba(1a1a1aee) col.shadow = rgba(1a1a1aee)
dim_inactive = 0.5
} }
animations { animations {
@ -67,13 +73,14 @@ animations {
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05 bezier = myBezier, 0.05, 0.9, 0.1, 1.05
bezier=overshot,0.05,0.9,0.1,1.1
animation = windows, 1, 7, myBezier animation = windows, 1, 2, default
animation = windowsOut, 1, 7, default, popin 80% animation = windowsOut, 1, 2, default, popin 80%
animation = border, 1, 10, default animation = border, 1, 2, default
animation = borderangle, 1, 8, default animation = borderangle, 1, 2, default
animation = fade, 1, 7, default animation = fade, 1, 2, default
animation = workspaces, 1, 6, default animation = workspaces, 1, 2, default
} }
dwindle { dwindle {
@ -108,7 +115,7 @@ device:epic-mouse-v1 {
$mainMod = SUPER $mainMod = SUPER
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, kitty bind = $mainMod, Q, exec, wezterm
bind = $mainMod, U, exec, firefox bind = $mainMod, U, exec, firefox
bind = $mainMod, ret, exec, kitty bind = $mainMod, ret, exec, kitty
bind = $mainMod, return, exec, kitty bind = $mainMod, return, exec, kitty

View file

@ -1,15 +1,15 @@
max-visible=5 max-visible=5
default-timeout=30000 default-timeout=30000
background-color=#111111 font=IosevkaLyteTerm Regular 12, Symbols Nerd Font 12
border-color=#666666
font=IosevkaLyteTerm Nerd Font Complete 11
progress-color=source #33333388
# format="<b>%s</b>
default-timeout=15000 default-timeout=15000
# history=1
# max-history=100
[urgency="high"] # theme src: https://github.com/catppuccin/mako/blob/main/src/mocha
background-color=#f92672 # Colors
text-color=#111111
border-color=#f92672 background-color=#1e1e2e
text-color=#cdd6f4
border-color=#89b4fa
progress-color=over #313244
[urgency=high]
border-color=#fab387

View file

@ -1,7 +1,7 @@
{ {
"layer": "top", "layer": "top",
"position": "bottom", "position": "bottom",
"output": ["eDP-1", "DP-3", "DP-1"], "output": ["eDP-1", "DP-3"],
"height": 32, "height": 32,
"modules-left": ["clock", "sway/title"], "modules-left": ["clock", "sway/title"],
"modules-center": ["sway/workspaces"], "modules-center": ["sway/workspaces"],

37
os/linux/waybar/mocha.css Normal file
View file

@ -0,0 +1,37 @@
/*
* Catppuccin Mocha palette
* Maintainer: rubyowo
* Source: https://raw.githubusercontent.com/catppuccin/waybar/main/themes/mocha.css
*/
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
@define-color text #cdd6f4;
@define-color subtext0 #a6adc8;
@define-color subtext1 #bac2de;
@define-color surface0 #313244;
@define-color surface1 #45475a;
@define-color surface2 #585b70;
@define-color overlay0 #6c7086;
@define-color overlay1 #7f849c;
@define-color overlay2 #9399b2;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color sapphire #74c7ec;
@define-color sky #89dceb;
@define-color teal #94e2d5;
@define-color green #a6e3a1;
@define-color yellow #f9e2af;
@define-color peach #fab387;
@define-color maroon #eba0ac;
@define-color red #f38ba8;
@define-color mauve #cba6f7;
@define-color pink #f5c2e7;
@define-color flamingo #f2cdcd;
@define-color rosewater #f5e0dc;

View file

@ -1,3 +1,5 @@
@import "mocha.css";
* { * {
border: none; border: none;
border-radius: 0; border-radius: 0;
@ -7,8 +9,8 @@
} }
window#waybar { window#waybar {
background-color: #100814; background-color: @base;
color: #9b9ebf; color: @crust;
transition: none; transition: none;
} }
@ -33,7 +35,7 @@ window#waybar.empty {
} }
#workspaces button.visible { #workspaces button.visible {
background-color: #666666; background-color: @base;
} }
#workspaces button.focused { #workspaces button.focused {