First commit

This commit is contained in:
Jeffrey Serio 2022-02-10 10:08:11 -06:00
commit 74a2d749b3
19 changed files with 1805 additions and 0 deletions

View File

@ -0,0 +1,343 @@
# This is the default config file.
# It also shows all the default values, if you don't create the file.
# All URL values may omit the scheme and/or port, as well as the beginning double slash
# Valid URL examples:
# gemini://example.com
# //example.com
# example.com
# example.com:123
[a-general]
# Press Ctrl-H to access it
home = "gemini://gemini.circumlunar.space"
# Follow up to 5 Gemini redirects without prompting.
# A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
# If set to false, a prompt will be shown before following redirects.
auto_redirect = false
# What command to run to open a HTTP(S) URL.
# Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
# If a command is set, than the URL will be added (in quotes) to the end of the command.
# A space will be prepended to the URL.
#
# The best to define a command is using a string array.
# Examples:
# http = ['firefox']
# http = ['custom-browser', '--flag', '--option=2']
# http = ['/path/with spaces/in it/firefox']
#
# Note the use of single quotes, so that backslashes will not be escaped.
# Using just a string will also work, but it is deprecated, and will degrade if
# you use paths with spaces.
http = 'default'
# Any URL that will accept a query string can be put here
search = "gemini://gus.guru/search"
# Whether colors will be used in the terminal
color = true
# Whether ANSI color codes from the page content should be rendered
ansi = true
# Whether to replace list asterisks with unicode bullets
bullets = true
# Whether to show link after link text
show_link = false
# A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up.
left_margin = 0.15
# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
max_width = 100
# 'downloads' is the path to a downloads folder.
# An empty value means the code will find the default downloads folder for your system.
# If the path does not exist it will be created.
# Note the use of single quotes, so that backslashes will not be escaped.
downloads = ''
# Max size for displayable content in bytes - after that size a download window pops up
page_max_size = 2097152 # 2 MiB
# Max time it takes to load a page in seconds - after that a download window pops up
page_max_time = 10
# Whether to replace tab numbers with emoji favicons, which are cached.
emoji_favicons = false
# When a scrollbar appears. "never", "auto", and "always" are the only valid values.
# "auto" means the scrollbar only appears when the page is longer than the window.
scrollbar = "auto"
[auth]
# Authentication settings
# Note the use of single quotes for values, so that backslashes will not be escaped.
[auth.certs]
# Client certificates
# Set domain name equal to path to client cert
# "example.com" = 'mycert.crt'
[auth.keys]
# Client certificate keys
# Set domain name equal to path to key for the client cert above
# "example.com" = 'mycert.key'
[keybindings]
# If you have a non-US keyboard, use bind_tab1 through bind_tab0 to
# setup the shift-number bindings: Eg, for US keyboards (the default):
# bind_tab1 = "!"
# bind_tab2 = "@"
# bind_tab3 = "#"
# bind_tab4 = "$"
# bind_tab5 = "%"
# bind_tab6 = "^"
# bind_tab7 = "&"
# bind_tab8 = "*"
# bind_tab9 = "("
# bind_tab0 = ")"
# Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys.
# Multiple keys can be bound to one command, just use a TOML array.
# To add the Alt modifier, the binding must start with Alt-, should be reasonably universal
# Ctrl- won't work on all keys, see this for a list:
# https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83
# An example of a TOML array for multiple keys being bound to one command is the default
# binding for reload:
# bind_reload = ["R","Ctrl-R"]
# One thing to note here is that "R" is capitalization sensitive, so it means shift-r.
# "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on
# an ANSI terminal)
# The default binding for opening the bottom bar for entering a URL or link number is:
# bind_bottom = "Space"
# This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work.
# And, finally, an example of a simple, unmodified character is:
# bind_edit = "e"
# This binds the "e" key to the command to edit the current URL.
# The bind_link[1-90] options are for the commands to go to the first 10 links on a page,
# typically these are bound to the number keys:
# bind_link1 = "1"
# bind_link2 = "2"
# bind_link3 = "3"
# bind_link4 = "4"
# bind_link5 = "5"
# bind_link6 = "6"
# bind_link7 = "7"
# bind_link8 = "8"
# bind_link9 = "9"
# bind_link0 = "0"
# All keybindings:
#
# bind_bottom
# bind_edit
# bind_home
# bind_bookmarks
# bind_add_bookmark
# bind_save
# bind_reload
# bind_back
# bind_forward
# bind_pgup
# bind_pgdn
# bind_new_tab
# bind_close_tab
# bind_next_tab
# bind_prev_tab
# bind_quit
# bind_help
# bind_sub: for viewing the subscriptions page
# bind_add_sub
[url-handlers]
# Allows setting the commands to run for various URL schemes.
# E.g. to open FTP URLs with FileZilla set the following key:
# ftp = 'filezilla'
# You can set any scheme to "off" or "" to disable handling it, or
# just leave the key unset.
#
# DO NOT use this for setting the HTTP command.
# Use the http setting in the "a-general" section above.
#
# NOTE: These settings are overrided by the ones in the proxies section.
# Note the use of single quotes, so that backslashes will not be escaped.
# This is a special key that defines the handler for all URL schemes for which
# no handler is defined.
other = 'off'
# [[mediatype-handlers]] section
# ---------------------------------
#
# Specify what applications will open certain media types.
# By default your default application will be used to open the file when you select "Open".
# You only need to configure this section if you want to override your default application,
# or do special things like streaming.
#
# Note the use of single quotes for commands, so that backslashes will not be escaped.
#
#
# To open jpeg files with the feh command:
#
# [[mediatype-handlers]]
# cmd = ['feh']
# types = ["image/jpeg"]
#
# Each command that you specify must come under its own [[mediatype-handlers]]. You may
# specify as many [[mediatype-handlers]] as you want to setup multiple commands.
#
# If the subtype is omitted then the specified command will be used for the
# entire type:
#
# [[mediatype-handlers]]
# command = ['vlc', '--flag']
# types = ["audio", "video"]
#
# A catch-all handler can by specified with "*".
# Note that there are already catch-all handlers in place for all OSes,
# that open the file using your default application. This is only if you
# want to override that.
#
# [[mediatype-handlers]]
# cmd = ['some-command']
# types = [
# "application/pdf",
# "*",
# ]
#
# You can also choose to stream the data instead of downloading it all before
# opening it. This is especially useful for large video or audio files, as
# well as radio streams, which will never complete. You can do this like so:
#
# [[mediatype-handlers]]
# cmd = ['vlc', '-']
# types = ["audio", "video"]
# stream = true
#
# This uses vlc to stream all video and audio content.
# By default stream is set to off for all handlers
#
#
# If you want to always open a type in its viewer without the download or open
# prompt appearing, you can add no_prompt = true
#
# [[mediatype-handlers]]
# cmd = ['feh']
# types = ["image"]
# no_prompt = true
#
# Note: Multiple handlers cannot be defined for the same full media type, but
# still there needs to be an order for which handlers are used. The following
# order applies regardless of the order written in the config:
#
# 1. Full media type: "image/jpeg"
# 2. Just type: "image"
# 3. Catch-all: "*"
[cache]
# Options for page cache - which is only for text pages
# Increase the cache size to speed up browsing at the expense of memory
# Zero values mean there is no limit
max_size = 0 # Size in bytes
max_pages = 30 # The maximum number of pages the cache will store
# How long a page will stay in cache, in seconds.
timeout = 1800 # 30 mins
[proxies]
# Allows setting a Gemini proxy for different schemes.
# The settings are similar to the url-handlers section above.
# E.g. to open a gopher page by connecting to a Gemini proxy server:
# gopher = "example.com:123"
#
# Port 1965 is assumed if no port is specified.
#
# NOTE: These settings override any external handlers specified in
# the url-handlers section.
#
# Note that HTTP and HTTPS are treated as separate protocols here.
[subscriptions]
# For tracking feeds and pages
# Whether a pop-up appears when viewing a potential feed
popup = true
# How often to check for updates to subscriptions in the background, in seconds.
# Set it to 0 to disable this feature. You can still update individual feeds
# manually, or restart the browser.
#
# Note Amfora will check for updates on browser start no matter what this setting is.
update_interval = 1800 # 30 mins
# How many subscriptions can be checked at the same time when updating.
# If you have many subscriptions you may want to increase this for faster
# update times. Any value below 1 will be corrected to 1.
workers = 3
# The number of subscription updates displayed per page.
entries_per_page = 20
[theme]
bg = "#282a36"
tab_num = "#bd93f9"
tab_divider = "#f8f8f2"
bottombar_label = "#bd93f9"
bottombar_text = "#8be9fd"
bottombar_bg = "#44475a"
scrollbar = "#44475a"
hdg_1 = "#bd93f9"
hdg_2 = "#bd93f9"
hdg_3 = "#bd93f9"
amfora_link = "#ff79c6"
foreign_link = "#ffb86c"
link_number = "#8be9fd"
regular_text = "#f8f8f2"
quote_text = "#f1fa8c"
preformatted_text = "#ffb86c"
list_text = "#f8f8f2"
btn_bg = "#44475a"
btn_text = "#f8f8f2"
dl_choice_modal_bg = "#6272a4"
dl_choice_modal_text = "#f8f8f2"
dl_modal_bg = "#6272a4"
dl_modal_text = "#f8f8f2"
info_modal_bg = "#6272a4"
info_modal_text = "#f8f8f2"
error_modal_bg = "#ff5555"
error_modal_text = "#f8f8f2"
yesno_modal_bg = "#6272a4"
yesno_modal_text = "#f8f8f2"
tofu_modal_bg = "#6272a4"
tofu_modal_text = "#f8f8f2"
subscription_modal_bg = "#6272a4"
subscription_modal_text = "#f8f8f2"
input_modal_bg = "#6272a4"
input_modal_text = "#f8f8f2"
input_modal_field_bg = "#44475a"
input_modal_field_text = "#f8f8f2"
bkmk_modal_bg = "#6272a4"
bkmk_modal_text = "#f8f8f2"
bkmk_modal_label = "#f8f8f2"
bkmk_modal_field_bg = "#44475a"
bkmk_modal_field_text = "#f8f8f2"

View File

@ -0,0 +1,79 @@
# --- Dracula Theme -----------------------------------------------------------
#
# Dracula Color Pallette
white='#f8f8f2' # Foreground
gray='#44475a' # Current Line / Selection
dark_gray='#282a36' # Background
light_purple='#bd93f9' # Purple
dark_purple='#6272a4' # Comment
cyan='#8be9fd' # Cyan
green='#50fa7b' # Green
orange='#ffb86c' # Orange
red='#ff5555' # Red
pink='#ff79c6' # Pink
yellow='#f1fa8c' # Yellow
# Focused pane colours:
tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg="${gray}"
# Pane borders colours:
tmux_conf_theme_pane_border="${gray}"
tmux_conf_theme_pane_active_border="${light_purple}"
# Pane indicator colours
tmux_conf_theme_pane_indicator="${dark_purple}"
tmux_conf_theme_pane_active_indicator="${light_purple}"
# Status line message style
tmux_conf_theme_message_fg="${white}"
tmux_conf_theme_message_bg="${dark_purple}"
tmux_conf_theme_message_attr='bold'
# Status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg="${white}"
tmux_conf_theme_message_command_bg="${gray}"
tmux_conf_theme_message_command_attr='bold'
# Window modes style
tmux_conf_theme_mode_fg="${gray}"
tmux_conf_theme_mode_bg="${pink}"
tmux_conf_theme_mode_attr='bold'
# Status line style
tmux_conf_theme_status_fg="${white}"
tmux_conf_theme_status_bg="${gray}"
tmux_conf_theme_status_attr='none'
# Window status style
tmux_conf_theme_window_status_fg="${white}"
tmux_conf_theme_window_status_bg="${gray}"
# Window current status style
tmux_conf_theme_window_status_current_fg="${white}"
tmux_conf_theme_window_status_current_bg="${dark_purple}"
tmux_conf_theme_window_status_current_attr='none'
# Window bell status style
tmux_conf_theme_window_status_bell_fg="${cyan}"
tmux_conf_theme_window_status_bell_bg='default'
tmux_conf_theme_window_status_bell_attr='blink,bold'
# Windows last status style
tmux_conf_theme_window_status_last_fg="${light_purple}"
tmux_conf_theme_window_status_last_bg='default'
tmux_conf_theme_window_status_last_attr='none'
# Status left style
tmux_conf_theme_status_left_fg="${dark_gray},${dark_gray},${dark_gray}"
tmux_conf_theme_status_left_bg="${green},${pink},${light_purple}"
tmux_conf_theme_status_left_attr='bold,none,none'
# Status right style
tmux_conf_theme_status_right_fg="${white},${dark_gray},${dark_gray}"
tmux_conf_theme_status_right_bg="${dark_purple},${light_purple},${orange}"
tmux_conf_theme_status_right_attr='none,none,bold'
# Clock
tmux_conf_theme_clock_colour="${light_purple}"

View File

@ -0,0 +1,80 @@
# --- Embark Theme -----------------------------------------------------------
#
# Embark Color Pallette
white='#cbe3e7' # Foreground
gray='#2D2B40' # Current Line / Selection
dark_gray='#2D2B40' # Background
light_purple='#D4BFFF' # Purple
dark_purple='#585273' # Comment
cyan='#63f2f1' # Cyan
green='#62d196' # Green
orange='#f2b482' # Orange
red='#f02e6e' # Red
pink='#f48fb1' # Pink
yellow='#ffe6b3' # Yellow
blue='#65B2FF' # Blue
# Focused pane colours:
tmux_conf_theme_focused_pane_fg='default'
tmux_conf_theme_focused_pane_bg="${gray}"
# Pane borders colours:
tmux_conf_theme_pane_border="${gray}"
tmux_conf_theme_pane_active_border="${light_purple}"
# Pane indicator colours
tmux_conf_theme_pane_indicator="${dark_purple}"
tmux_conf_theme_pane_active_indicator="${light_purple}"
# Status line message style
tmux_conf_theme_message_fg="${white}"
tmux_conf_theme_message_bg="${dark_purple}"
tmux_conf_theme_message_attr='bold'
# Status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg="${white}"
tmux_conf_theme_message_command_bg="${gray}"
tmux_conf_theme_message_command_attr='bold'
# Window modes style
tmux_conf_theme_mode_fg="${gray}"
tmux_conf_theme_mode_bg="${pink}"
tmux_conf_theme_mode_attr='bold'
# Status line style
tmux_conf_theme_status_fg="${white}"
tmux_conf_theme_status_bg="${dark_gray}"
tmux_conf_theme_status_attr='none'
# Window status style
tmux_conf_theme_window_status_fg="${white}"
tmux_conf_theme_window_status_bg="${dark_gray}"
# Window current status style
tmux_conf_theme_window_status_current_fg="${white}"
tmux_conf_theme_window_status_current_bg="${dark_purple}"
tmux_conf_theme_window_status_current_attr='none'
# Window bell status style
tmux_conf_theme_window_status_bell_fg="${cyan}"
tmux_conf_theme_window_status_bell_bg='default'
tmux_conf_theme_window_status_bell_attr='blink,bold'
# Windows last status style
tmux_conf_theme_window_status_last_fg="${light_purple}"
tmux_conf_theme_window_status_last_bg='default'
tmux_conf_theme_window_status_last_attr='none'
# Status left style
tmux_conf_theme_status_left_fg="${dark_gray},${dark_gray},${dark_gray}"
tmux_conf_theme_status_left_bg="${green},${pink},${light_purple}"
tmux_conf_theme_status_left_attr='bold,none,none'
# Status right style
tmux_conf_theme_status_right_fg="${white},${dark_gray},${dark_gray}"
tmux_conf_theme_status_right_bg="${dark_purple},${cyan},${orange}"
tmux_conf_theme_status_right_attr='none,none,bold'
# Clock
tmux_conf_theme_clock_colour="${light_purple}"

144
dot_config/rofi/config.rasi Normal file
View File

@ -0,0 +1,144 @@
/**
* User: keystroke3
* Copyright: keystroke3
*
*/
configuration {
display-drun: "";
display-run: "";
display-window: "";
display-ssh: "~#";
show-icons: true;
sidebar-mode: false;
font: "BlexMono Nerd Font Mono 22";
}
* {
text-color: @foreground;
active-background: rgb(170, 70, 104);
active-foreground: @foreground;
normal-background: @background;
normal-foreground: @foreground;
urgent-background: #9E2A5E;
urgent-foreground: @foreground;
alternate-active-background: @background;
alternate-active-foreground: @foreground;
alternate-normal-background: @background;
alternate-normal-foreground: @foreground;
alternate-urgent-background: @background;
alternate-urgent-foreground: @foreground;
selected-active-background: #9E2A5E;
selected-active-foreground: @foreground;
selected-normal-background: rgb(170, 70, 104);
selected-normal-foreground: #0c0816;
selected-urgent-background: #9D596B;
selected-urgent-foreground: @foreground;
background-color: #0c0816;
background: #D03C6E30;
foreground: #8fc5c6;
spacing: 0;
}
window {
location: center;
anchor: center;
height: 50%;
width: 50%;
orientation: vertical;
children: [mainbox];
border: 2px 2px 2px 0px;
border-color: @active-background;
hide-scrollbar: true;
}
mainbox {
spacing: 0.2em;
children: [inputbar, listview];
}
listview {
spacing: 0.6em;
dynamic: false;
cycle: true;
padding: 0px 5px 0px 5px;
}
inputbar {
border-radius: 50%;
padding: 5px;
border-spacing: 5px 0 0 0;
border: 1px;
spacing: 10px;
margin: 5px 0 10px;
border-color: @foreground;
}
entry{
padding: 2px;
}
prompt{
padding: 5px;
background-color: @foreground;
text-color: @background-color;
border: 1px;
border-radius: 50%;
}
element {
padding: 10px;
border-radius: 50%;
}
element normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
border-color: @active-background;
}
element selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element alternate.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element alternate.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element alternate.active {
background-color: @active-background;
text-color: @active-foreground;
}

78
dot_config/starship.toml Normal file
View File

@ -0,0 +1,78 @@
## FIRST LINE/ROW: Info & Status
[username]
format = " [$user]($style)@"
style_user = "#F48FB1"
style_root = "bold red"
show_always = true
# Second param
[hostname]
format = "[$hostname]($style):"
style = "bright white"
trim_at = "-"
ssh_only = false
disabled = false
# Third param
[directory]
style = "#F2B482"
truncation_length = 0
truncate_to_repo = true
truncation_symbol = "repo: "
# Before all the version info (python, nodejs, php, etc.)
[git_status]
style = "white"
ahead = "⇡${count}"
diverged = "⇕⇡${ahead_count}⇣${behind_count}"
behind = "⇣${count}"
deleted = "x"
# Last param in the first line/row
[cmd_duration]
min_time = 1
style = "#FFE6B3"
format = "[$duration]($style)"
disabled = false
# Prompt: param 2
[character]
success_symbol = " [%%](#63F2F1)"
error_symbol = " [﬋](#ff0000)"
# SYMBOLS
[status]
format = '[$status_common_meaning$status_signal_name$status]($style)'
disabled = false
style = "bold #ff0000"
[docker_context]
symbol = " "
[git_branch]
symbol = " "
[golang]
symbol = " "
[nix_shell]
symbol = " "
[nodejs]
symbol = " "
[package]
symbol = " "
[perl]
symbol = " "
[python]
symbol = " "
[ruby]
symbol = " "
[rust]
symbol = " "

View File

@ -0,0 +1,51 @@
# /home/jas/.config/tmuxinator/azura.yml
name: azura
root: ~/
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- log: ssh jas@10.0.0.160 -t sudo journalctl -f
- iftop: ssh jas@10.0.0.160 -t sudo iftop
- htop: ssh jas@10.0.0.160 -t htop
- main: ssh jas@10.0.0.160

View File

@ -0,0 +1,53 @@
# /home/jas/.config/tmuxinator/nocturnal.yml
name: nocturnal
root: ~/
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- main:
- toolbox:
layout: main-vertical
panes:
- toolbox run -c fedora-toolbox-35 nvim ~/sync/org/home.org
- toolbox enter

View File

@ -0,0 +1,49 @@
# /home/jas/.config/tmuxinator/unixcat.yml
name: unixcat
root: ~/
# Optional tmux socket
# socket_name: foo
# Note that the pre and post options have been deprecated and will be replaced by
# project hooks.
# Project hooks
# Runs on project start, always
# on_project_start: command
# Run on project start, the first time
# on_project_first_start: command
# Run on project start, after the first time
# on_project_restart: command
# Run on project exit ( detaching from tmux session )
# on_project_exit: command
# Run on project stop
# on_project_stop: command
# Runs in each window and pane before window/pane specific commands. Useful for setting up interpreter versions.
# pre_window: rbenv shell 2.0.0-p247
# Pass command line options to tmux. Useful for specifying a different tmux.conf.
# tmux_options: -f ~/.tmux.mac.conf
# Change the command to call tmux. This can be used by derivatives/wrappers like byobu.
# tmux_command: byobu
# Specifies (by name or index) which window will be selected on project startup. If not set, the first window is used.
# startup_window: editor
# Specifies (by index) which pane of the specified window will be selected on project startup. If not set, the first pane is used.
# startup_pane: 1
# Controls whether the tmux session should be attached to automatically. Defaults to true.
# attach: false
windows:
- log: ssh core@unixcat.coffee -t sudo lnav /var/log/messages
- main: ssh core@unixcat.coffee

View File

@ -0,0 +1,56 @@
set window-title-basename "true"
set selection-clipboard "clipboard"
# Dracula color theme for Zathura
# Swaps Foreground for Background to get a light version if the user prefers
#
# Dracula color theme
#
set notification-error-bg "#ff5555" # Red
set notification-error-fg "#f8f8f2" # Foreground
set notification-warning-bg "#ffb86c" # Orange
set notification-warning-fg "#44475a" # Selection
set notification-bg "#282a36" # Background
set notification-fg "#f8f8f2" # Foreground
set completion-bg "#282a36" # Background
set completion-fg "#6272a4" # Comment
set completion-group-bg "#282a36" # Background
set completion-group-fg "#6272a4" # Comment
set completion-highlight-bg "#44475a" # Selection
set completion-highlight-fg "#f8f8f2" # Foreground
set index-bg "#282a36" # Background
set index-fg "#f8f8f2" # Foreground
set index-active-bg "#44475a" # Current Line
set index-active-fg "#f8f8f2" # Foreground
set inputbar-bg "#282a36" # Background
set inputbar-fg "#f8f8f2" # Foreground
set statusbar-bg "#282a36" # Background
set statusbar-fg "#f8f8f2" # Foreground
set highlight-color "#ffb86c" # Orange
set highlight-active-color "#ff79c6" # Pink
set default-bg "#282a36" # Background
set default-fg "#f8f8f2" # Foreground
set render-loading true
set render-loading-fg "#282a36" # Background
set render-loading-bg "#f8f8f2" # Foreground
#
# Recolor mode settings
#
set recolor-lightcolor "#282a36" # Background
set recolor-darkcolor "#f8f8f2" # Foreground
#
# Startup options
#
set adjust-open width
set recolor true

7
dot_fzf-marks Normal file
View File

@ -0,0 +1,7 @@
: /home/jas/.config
: /home/jas/.ssh
: /home/jas/.zsh
: /home/jas/.local/share
: /home/jas/.local/share/Trash/files
: /home/jas/.config/nvim
: /home/jas/sync/org

11
dot_ssh/config Normal file
View File

@ -0,0 +1,11 @@
Host az
HostName azura.local
User jas
Host uc
HostName unixcat.coffee
User core
Host envs
HostName envs.net
User hyperreal

418
dot_tmux.conf.local Normal file
View File

@ -0,0 +1,418 @@
# : << EOF
# https://github.com/gpakosz/.tmux
# (‑●‑●)> dual licensed under the WTFPL v2 license and the MIT license,
# without any warranty.
# Copyright 2012— Gregory Pakosz (@gpakosz).
# -- navigation ----------------------------------------------------------------
# if you're running tmux within iTerm2
# - and tmux is 1.9 or 1.9a
# - and iTerm2 is configured to let option key act as +Esc
# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys
# then uncomment the following line to make Meta + arrow keys mapping work
#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D"
# Appropriate terminal colors
set -g default-terminal "xterm-256color"
set -ga terminal-overrides ",xterm-256color:Tc"
# -- windows & pane creation ---------------------------------------------------
# new window retains current path, possible values are:
# - true
# - false (default)
tmux_conf_new_window_retain_current_path=false
# new pane retains current path, possible values are:
# - true (default)
# - false
tmux_conf_new_pane_retain_current_path=true
# new pane tries to reconnect ssh sessions (experimental), possible values are:
# - true
# - false (default)
tmux_conf_new_pane_reconnect_ssh=false
# prompt for session name when creating a new session, possible values are:
# - true
# - false (default)
tmux_conf_new_session_prompt=false
# -- display -------------------------------------------------------------------
# RGB 24-bit colour support (tmux >= 2.2), possible values are:
# - true
# - false (default)
tmux_conf_24b_colour=false
# default theme
tmux_conf_theme_colour_1="#080808" # dark gray
tmux_conf_theme_colour_2="#303030" # gray
tmux_conf_theme_colour_3="#8a8a8a" # light gray
tmux_conf_theme_colour_4="#00afff" # light blue
tmux_conf_theme_colour_5="#ffff00" # yellow
tmux_conf_theme_colour_6="#080808" # dark gray
tmux_conf_theme_colour_7="#e4e4e4" # white
tmux_conf_theme_colour_8="#080808" # dark gray
tmux_conf_theme_colour_9="#ffff00" # yellow
tmux_conf_theme_colour_10="#ff00af" # pink
tmux_conf_theme_colour_11="#5fff00" # green
tmux_conf_theme_colour_12="#8a8a8a" # light gray
tmux_conf_theme_colour_13="#e4e4e4" # white
tmux_conf_theme_colour_14="#080808" # dark gray
tmux_conf_theme_colour_15="#080808" # dark gray
tmux_conf_theme_colour_16="#d70000" # red
tmux_conf_theme_colour_17="#e4e4e4" # white
# default theme (ansi)
#tmux_conf_theme_colour_1="colour0"
#tmux_conf_theme_colour_2="colour8"
#tmux_conf_theme_colour_3="colour8"
#tmux_conf_theme_colour_4="colour14"
#tmux_conf_theme_colour_5="colour11"
#tmux_conf_theme_colour_6="colour0"
#tmux_conf_theme_colour_7="colour15"
#tmux_conf_theme_colour_8="colour0"
#tmux_conf_theme_colour_9="colour11"
#tmux_conf_theme_colour_10="colour13"
#tmux_conf_theme_colour_11="colour10"
#tmux_conf_theme_colour_12="colour8"
#tmux_conf_theme_colour_13="colour15"
#tmux_conf_theme_colour_14="colour0"
#tmux_conf_theme_colour_15="colour0"
#tmux_conf_theme_colour_16="colour1"
#tmux_conf_theme_colour_17="colour15"
# window style
tmux_conf_theme_window_fg="default"
tmux_conf_theme_window_bg="default"
# highlight focused pane (tmux >= 2.1), possible values are:
# - true
# - false (default)
tmux_conf_theme_highlight_focused_pane=false
# focused pane colours:
tmux_conf_theme_focused_pane_bg="$tmux_conf_theme_colour_2"
# pane border style, possible values are:
# - thin (default)
# - fat
tmux_conf_theme_pane_border_style=thin
# pane borders colours:
tmux_conf_theme_pane_border="$tmux_conf_theme_colour_2"
tmux_conf_theme_pane_active_border="$tmux_conf_theme_colour_4"
# pane indicator colours (when you hit <prefix> + q)
tmux_conf_theme_pane_indicator="$tmux_conf_theme_colour_4"
tmux_conf_theme_pane_active_indicator="$tmux_conf_theme_colour_4"
# status line style
tmux_conf_theme_message_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_message_bg="$tmux_conf_theme_colour_5"
tmux_conf_theme_message_attr="bold"
# status line command style (<prefix> : Escape)
tmux_conf_theme_message_command_fg="$tmux_conf_theme_colour_5"
tmux_conf_theme_message_command_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_message_command_attr="bold"
# window modes style
tmux_conf_theme_mode_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_mode_bg="$tmux_conf_theme_colour_5"
tmux_conf_theme_mode_attr="bold"
# status line style
tmux_conf_theme_status_fg="$tmux_conf_theme_colour_3"
tmux_conf_theme_status_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_status_attr="none"
# terminal title
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{hostname_full}
# - #{hostname_full_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_terminal_title="[#h] [#S] [#I #W]"
# window status style
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{hostname_full}
# - #{hostname_full_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_window_status_fg="$tmux_conf_theme_colour_3"
tmux_conf_theme_window_status_bg="$tmux_conf_theme_colour_1"
tmux_conf_theme_window_status_attr="none"
#tmux_conf_theme_window_status_format="#I #W"
tmux_conf_theme_window_status_format="#{circled_window_index} #W"
#tmux_conf_theme_window_status_format="#I #W#{?window_bell_flag,🔔,}#{?window_zoomed_flag,🔍,}"
# window current status style
# - built-in variables are:
# - #{circled_window_index}
# - #{circled_session_name}
# - #{hostname}
# - #{hostname_ssh}
# - #{hostname_full}
# - #{hostname_full_ssh}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_window_status_current_fg="$tmux_conf_theme_colour_1"
tmux_conf_theme_window_status_current_bg="$tmux_conf_theme_colour_4"
tmux_conf_theme_window_status_current_attr="bold"
#tmux_conf_theme_window_status_current_format="#I #W"
tmux_conf_theme_window_status_current_format="#{circled_window_index} #W"
#tmux_conf_theme_window_status_current_format="#I #W#{?window_zoomed_flag,🔍,}"
# window activity status style
tmux_conf_theme_window_status_activity_fg="default"
tmux_conf_theme_window_status_activity_bg="default"
tmux_conf_theme_window_status_activity_attr="underscore"
# window bell status style
tmux_conf_theme_window_status_bell_fg="$tmux_conf_theme_colour_5"
tmux_conf_theme_window_status_bell_bg="default"
tmux_conf_theme_window_status_bell_attr="blink,bold"
# window last status style
tmux_conf_theme_window_status_last_fg="$tmux_conf_theme_colour_4"
tmux_conf_theme_window_status_last_bg="$tmux_conf_theme_colour_2"
tmux_conf_theme_window_status_last_attr="none"
# status left/right sections separators
#tmux_conf_theme_left_separator_main=""
#tmux_conf_theme_left_separator_sub="|"
#tmux_conf_theme_right_separator_main=""
#tmux_conf_theme_right_separator_sub="|"
tmux_conf_theme_left_separator_main="\uE0B0" # /!\ you don't need to install Powerline
tmux_conf_theme_left_separator_sub="\uE0B1" # you only need fonts patched with
tmux_conf_theme_right_separator_main="\uE0B2" # Powerline symbols or the standalone
tmux_conf_theme_right_separator_sub="\uE0B3" # PowerlineSymbols.otf font, see README.md
# tmux_conf_theme_left_separator_main='\ue0b8'
# tmux_conf_theme_left_separator_sub='\ue0b9'
# tmux_conf_theme_right_separator_main='\ue0be'
# tmux_conf_theme_right_separator_sub='\ue0b9'
# status left/right content:
# - separate main sections with "|"
# - separate subsections with ","
# - built-in variables are:
# - #{battery_bar}
# - #{battery_hbar}
# - #{battery_percentage}
# - #{battery_status}
# - #{battery_vbar}
# - #{circled_session_name}
# - #{hostname_ssh}
# - #{hostname}
# - #{hostname_full}
# - #{hostname_full_ssh}
# - #{loadavg}
# - #{mouse}
# - #{pairing}
# - #{prefix}
# - #{root}
# - #{synchronized}
# - #{uptime_y}
# - #{uptime_d} (modulo 365 when #{uptime_y} is used)
# - #{uptime_h}
# - #{uptime_m}
# - #{uptime_s}
# - #{username}
# - #{username_ssh}
tmux_conf_theme_status_left="  #S | ↑#{?uptime_y, #{uptime_y}y,}#{?uptime_d, #{uptime_d}d,}#{?uptime_h, #{uptime_h}h,}#{?uptime_m, #{uptime_m}m,} "
tmux_conf_theme_status_right="#{prefix} , %R , %d %b | #{username}#{root} | #{hostname} "
# status left style
tmux_conf_theme_status_left_fg="$tmux_conf_theme_colour_6,$tmux_conf_theme_colour_7,$tmux_conf_theme_colour_8"
tmux_conf_theme_status_left_bg="$tmux_conf_theme_colour_9,$tmux_conf_theme_colour_10,$tmux_conf_theme_colour_11"
tmux_conf_theme_status_left_attr="bold,none,none"
# status right style
tmux_conf_theme_status_right_fg="$tmux_conf_theme_colour_12,$tmux_conf_theme_colour_13,$tmux_conf_theme_colour_14"
tmux_conf_theme_status_right_bg="$tmux_conf_theme_colour_15,$tmux_conf_theme_colour_16,$tmux_conf_theme_colour_17"
tmux_conf_theme_status_right_attr="none,none,bold"
# pairing indicator
tmux_conf_theme_pairing="⚇" # U+2687
tmux_conf_theme_pairing_fg="none"
tmux_conf_theme_pairing_bg="none"
tmux_conf_theme_pairing_attr="none"
# prefix indicator
tmux_conf_theme_prefix="⌨" # U+2328
tmux_conf_theme_prefix_fg="none"
tmux_conf_theme_prefix_bg="none"
tmux_conf_theme_prefix_attr="none"
# mouse indicator
tmux_conf_theme_mouse="↗" # U+2197
tmux_conf_theme_mouse_fg="none"
tmux_conf_theme_mouse_bg="none"
tmux_conf_theme_mouse_attr="none"
# root indicator
tmux_conf_theme_root="ﲂ"
tmux_conf_theme_root_fg="none"
tmux_conf_theme_root_bg="none"
tmux_conf_theme_root_attr="bold,blink"
# synchronized indicator
tmux_conf_theme_synchronized="⚏" # U+268F
tmux_conf_theme_synchronized_fg="none"
tmux_conf_theme_synchronized_bg="none"
tmux_conf_theme_synchronized_attr="none"
# battery bar symbols
#tmux_conf_battery_bar_symbol_full="◼"
#tmux_conf_battery_bar_symbol_empty="◻"
tmux_conf_battery_bar_symbol_full="♥"
tmux_conf_battery_bar_symbol_empty="·"
# battery bar length (in number of symbols), possible values are:
# - auto
# - a number, e.g. 5
tmux_conf_battery_bar_length="auto"
# battery bar palette, possible values are:
# - gradient (default)
# - heat
# - "colour_full_fg,colour_empty_fg,colour_bg"
tmux_conf_battery_bar_palette="gradient"
#tmux_conf_battery_bar_palette="#d70000,#e4e4e4,#000000" # red, white, black
# battery hbar palette, possible values are:
# - gradient (default)
# - heat
# - "colour_low,colour_half,colour_full"
tmux_conf_battery_hbar_palette="gradient"
#tmux_conf_battery_hbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green
# battery vbar palette, possible values are:
# - gradient (default)
# - heat
# - "colour_low,colour_half,colour_full"
tmux_conf_battery_vbar_palette="gradient"
#tmux_conf_battery_vbar_palette="#d70000,#ff5f00,#5fff00" # red, orange, green
# symbols used to indicate whether battery is charging or discharging
tmux_conf_battery_status_charging="↑" # U+2191
tmux_conf_battery_status_discharging="↓" # U+2193
#tmux_conf_battery_status_charging="🔌" # U+1F50C
#tmux_conf_battery_status_discharging="🔋" # U+1F50B
# clock style (when you hit <prefix> + t)
# you may want to use %I:%M %p in place of %R in tmux_conf_theme_status_right
tmux_conf_theme_clock_colour="$tmux_conf_theme_colour_4"
tmux_conf_theme_clock_style="12"
# -- clipboard -----------------------------------------------------------------
# in copy mode, copying selection also copies to the OS clipboard
# - true
# - false (default)
# on macOS, this requires installing reattach-to-user-namespace, see README.md
# on Linux, this requires xsel or xclip
tmux_conf_copy_to_os_clipboard=true
# -- user customizations -------------------------------------------------------
# this is the place to override or undo settings
# increase history size
#set -g history-limit 10000
# start with mouse mode enabled
#set -g mouse on
# force Vi mode
# really you should export VISUAL or EDITOR environment variable, see manual
#set -g status-keys vi
#set -g mode-keys vi
# replace C-b by C-a instead of using both prefixes
# set -gu prefix2
# unbind C-a
# unbind C-b
# set -g prefix C-a
# bind C-a send-prefix
# move status line to top
#set -g status-position top
# -- tpm -----------------------------------------------------------------------
# while I don't use tpm myself, many people requested official support so here
# is a seamless integration that automatically installs plugins in parallel
# whenever a plugin introduces a variable to be used in 'status-left' or
# 'status-right', you can use it in 'tmux_conf_theme_status_left' and
# 'tmux_conf_theme_status_right' variables.
# by default, launching tmux will update tpm and all plugins
# - true (default)
# - false
tmux_conf_update_plugins_on_launch=true
tmux_conf_uninstall_plugins_on_reload=true
# by default, reloading the configuration will update tpm and all plugins
# - true (default)
# - false
tmux_conf_update_plugins_on_reload=true
# /!\ do not add set -g @plugin 'tmux-plugins/tpm'
# /!\ do not add run '~/.tmux/plugins/tpm/tpm'
# to enable a plugin, use the 'set -g @plugin' syntax:
# visit https://github.com/tmux-plugins for available plugins
#set -g @plugin 'tmux-plugins/tmux-copycat'
#set -g @plugin 'tmux-plugins/tmux-cpu'
#set -g @plugin 'tmux-plugins/tmux-resurrect'
#set -g @plugin 'tmux-plugins/tmux-continuum'
#set -g @continuum-restore 'on'
# -- custom variables ----------------------------------------------------------
# to define a custom #{foo} variable, define a POSIX shell function between the
# '# EOF' and the '# "$@"' lines. Please note that the opening brace { character
# must be on the same line as the function name otherwise the parse won't detect
# it.
#
# then, use #{foo} in e.g. the 'tmux_conf_theme_status_left' or the
# 'tmux_conf_theme_status_right' variables.
# # /!\ do not remove the following line
# EOF
#
# # /!\ do not "uncomment" the functions: the leading "# " characters are needed
#
# weather() {
# curl -m 1 wttr.in?format=3 2>/dev/null
# sleep 900 # sleep for 15 minutes, throttle network requests whatever the value of status-interval
# }
#
# online() {
# ping -c 1 1.1.1.1 >/dev/null 2>&1 && printf '✔' || printf '✘'
# }
#
# "$@"
# # /!\ do not remove the previous line
#
themes_folder='~/.config/oh-my-tmux/themes/'
theme="embark.conf"
if "[ -d ${themes_folder} ]" "source ${themes_folder}${theme}"

76
dot_zsh/aliases.zsh Normal file
View File

@ -0,0 +1,76 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : aliases.zsh
# @load_order : post-zshrc
## the ls family
if test -x "$(command -v exa)"; then
alias ls="exa"
fi
alias l="exa -lFhg"
alias la="exa -a"
alias ll="exa -lg --git"
alias lal="exa -alg --git"
alias ldot="exa -gld .*"
alias lse="/bin/ls -lZ"
lgn() { exa --tree --level=$1 ; }
## open zshrc in EDITOR
alias zshrc="${=EDITOR} ${HOME}/.zshrc"
## greps
alias grep="grep --color"
alias sgrep="grep -R -n -H -C 5 --exclude-dir={.git,.svn,CVS}"
## copy SSH pubkey to clipboard
alias pubkey="more ~/.ssh/id_ed25519.pub | xclip -selection clipboard | echo '==> SSH public key copied'"
## display disk usage with dust
alias dud="dust --depth 1 -w 88"
## prompt user before overwriting copied and moved files
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"
## display zsh functions with bat
alias zfun="functions | bat -l zsh"
## luamake
alias luamake="/home/jas/.local/share/sumneko/lua-language-server/3rd/luamake/luamake"
## assorted globals
alias -g H="| head"
alias -g T="| tail"
alias -g G="| grep"
alias -g L="| less -X"
alias -g B="| bat -p"
alias -g LL="2>&1 | less"
alias -g CA="2>&1 | cat -A"
alias -g NE="2> /dev/null"
alias -g NUL="> /dev/null 2>&1"
alias -g P="2>&1| pygmentize -l pytb"
alias -g J="| jq ."
alias -g CC="| xclip -selection clipboard"
## networking
alias pubip="curl ipinfo.io"
alias netCons="lsof -i"
alias tulp="ss -tulp"
alias openPorts="sudo lsof -i | grep LISTEN"
alias pong="ping -c 3 www.google.com"
alias lsock="sudo lsof -i -P"
alias lsockU="sudo lsof -nP | grep UDP"
alias lsockT="sudo lsof -nP | grep TCP"
alias lslog="ls /var/log/"
## reboot/poweroff
alias rbt="sudo shutdown -r now"
alias shut="sudo shutdown now"

View File

@ -0,0 +1,74 @@
# Embark Theme (for zsh-syntax-highlighting)
#
# Paste this files contents inside your ~/.zshrc before you activate zsh-syntax-highlighting
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main cursor)
typeset -gA ZSH_HIGHLIGHT_STYLES
# Main highlighter styling: https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters/main.md
#
## General
### Diffs
### Markup
## Classes
## Comments
ZSH_HIGHLIGHT_STYLES[comment]='fg=#585273'
## Constants
## Entitites
## Functions/methods
ZSH_HIGHLIGHT_STYLES[alias]='fg=#62D196'
ZSH_HIGHLIGHT_STYLES[suffix-alias]='fg=#62D196'
ZSH_HIGHLIGHT_STYLES[global-alias]='fg=#62D196'
ZSH_HIGHLIGHT_STYLES[function]='fg=#62D196'
ZSH_HIGHLIGHT_STYLES[command]='fg=#62D196'
ZSH_HIGHLIGHT_STYLES[precommand]='fg=#62D196,italic'
ZSH_HIGHLIGHT_STYLES[autodirectory]='fg=#F2B482,italic'
ZSH_HIGHLIGHT_STYLES[single-hyphen-option]='fg=#F2B482'
ZSH_HIGHLIGHT_STYLES[double-hyphen-option]='fg=#F2B482'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument]='fg=#A37ACC'
## Keywords
## Built ins
ZSH_HIGHLIGHT_STYLES[builtin]='fg=#63F2F1'
ZSH_HIGHLIGHT_STYLES[reserved-word]='fg=#63F2F1'
ZSH_HIGHLIGHT_STYLES[hashed-command]='fg=#63F2F1'
## Punctuation
ZSH_HIGHLIGHT_STYLES[commandseparator]='fg=#F48FB1'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-unquoted]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[process-substitution-delimiter]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-delimiter]='fg=#F48FB1'
ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]='fg=#F48FB1'
ZSH_HIGHLIGHT_STYLES[back-dollar-quoted-argument]='fg=#F48FB1'
## Serializable / Configuration Languages
## Storage
## Strings
ZSH_HIGHLIGHT_STYLES[command-substitution-quoted]='fg=#FFE6B3'
ZSH_HIGHLIGHT_STYLES[command-substitution-delimiter-quoted]='fg=#FFE6B3'
ZSH_HIGHLIGHT_STYLES[single-quoted-argument]='fg=#FFE6B3'
ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]='fg=#F02E6E'
ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=#FFE6B3'
ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]='fg=#F02E6E'
ZSH_HIGHLIGHT_STYLES[rc-quote]='fg=#FFE6B3'
## Variables
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]='fg=#F02E6E'
ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[assign]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[named-fd]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[numeric-fd]='fg=#CBE3E7'
## No category relevant in spec
ZSH_HIGHLIGHT_STYLES[unknown-token]='fg=#F02E6E'
ZSH_HIGHLIGHT_STYLES[path]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[path_pathseparator]='fg=#F48FB1'
ZSH_HIGHLIGHT_STYLES[path_prefix]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[path_prefix_pathseparator]='fg=#F48FB1'
ZSH_HIGHLIGHT_STYLES[globbing]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[history-expansion]='fg=#A37ACC'
#ZSH_HIGHLIGHT_STYLES[command-substitution]='fg=?'
#ZSH_HIGHLIGHT_STYLES[command-substitution-unquoted]='fg=?'
#ZSH_HIGHLIGHT_STYLES[process-substitution]='fg=?'
#ZSH_HIGHLIGHT_STYLES[arithmetic-expansion]='fg=?'
ZSH_HIGHLIGHT_STYLES[back-quoted-argument-unclosed]='fg=#F02E6E'
ZSH_HIGHLIGHT_STYLES[redirection]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[arg0]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[default]='fg=#CBE3E7'
ZSH_HIGHLIGHT_STYLES[cursor]='fg=#CBE3E7'

48
dot_zsh/functions.zsh Normal file
View File

@ -0,0 +1,48 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : functions.zsh
# @load_order : post-zshrc
## Do an ls after cd
cd() { builtin cd "$@" && ls; }
## Create new directory and enter it
mkd() { mkdir -p "$@" && cd "$_"; }
## pids
pids() { pgrep -a "$@"; }
## variation of our manzsh() function; pick you poison:
manzsh() { /usr/bin/man zshall | most +/"$1" ; }
## restart zsh
restart () {
exec $SHELL $SHELL_ARGS "$@"
}
rsrc() { cd && clear && restart; }
## parse HackerNews feed (https://hnrss.org/newest)
hn() {
python3 <(cat <<EOF
import feedparser
HNFeed = feedparser.parse("https://hnrss.org/newest")
class bcolors:
HEADER = '\033[95m'
ENDC = '\033[0m'
for item in HNFeed.entries:
print(f"{bcolors.HEADER}%s{bcolors.ENDC}" % item.title)
print(item.links[0].href)
print("")
EOF
) | bat -p
}

29
dot_zsh/fzf.zsh Normal file
View File

@ -0,0 +1,29 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : fzf.zsh
# @load_order : post-zshrc
## default opts uses Embark color palette
export FZF_DEFAULT_OPTS="--color=fg:#CBE3E7,bg:#1E1C31,hl:#D4BFFF --color=fg+:#CBE3E7,bg+:#2D2B40,hl+:#D4BFFF --color=info:#F2B482,prompt:#62D196,pointer:#F48FB1 --color=marker:#F48FB1,spinner:#F2B482,header:#585273"
## completion trigger
export FZF_COMPLETION_TRIGGER="~~"
## default source for fzf
export FZF_DEFAULT_COMMAND="fd --type f --hidden --follow --exclude .git"
## fzf manpages
man-find() {
f=$(fd . "${MANPATH}/man${1:-1}" -t f -x echo {/.} | fzf) && man "$f"
}
## keystroke shortcuts widget
shortcuts-widget() {
cat /home/jas/.shortcuts.txt | fzf-tmux -r 40% -- --reverse
}
zle -N shortcuts-widget
bindkey '\es' shortcuts-widget

42
dot_zsh/input.zsh Normal file
View File

@ -0,0 +1,42 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : input.zsh
# @load_order : post-zshrc
$include /etc/inputrc
bindkey -v
typeset -g -A key
key[Home]="${terminfo[khome]}"
key[End]="${terminfo[kend]}"
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
## check if fzf keybindings file exists
if test -f /home/jas/.fzf/shell/key-bindings.zsh; then
source /home/jas/.fzf/shell/key-bindings.zsh
bindkey -M viins "^H" fzf-history-widget
bindkey -M vicmd "^H" fzf-history-widget
bindkey -M vicmd "/" history-incremental-search-backward
bindkey -M vicmd "?" history-incremental-search-forward
page-up-within-tmux() {
if (( ${+TMUX} )); then
tmux copy-mode -u
fi
}
zle -N page-up-within-tmux
# page up
bindkey "${terminfo[kpp]}" page-up-within-tmux
fi
## history substring search
bindkey '^[[1;5A' history-substring-search-up
bindkey '^[[1;5B' history-substring-search-down

99
dot_zshenv Normal file
View File

@ -0,0 +1,99 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : .zshenv
# @load_order : pre-zshrc
## lscolors
export LS_COLORS=$(cat ~/.lscolors.sh)
## go paths
export GOPATH="${HOME}/go"
## path variable
typeset -U PATH path
path=(
/usr/local/bin
/usr/local/sbin
/usr/lib/ruby/gems/3.0.0/bin
"${HOME}/.local/bin"
"${GOPATH}/bin"
"${HOME}/.cargo/bin"
"${path[@]}"
)
export PATH
## reply-to email address
export REPLYTO="hyperreal@unixcat.coffee"
## set language
export LANG=en_US.UTF-8
## set default editor
export EDITOR="nvim"
## set pager stuffs
export PAGER="less -X"
export BAT_THEME="Dracula"
## set history stuffs
export HISTFILE=~/.zsh_history
export HISTSIZE=10000
export SAVEHIST=10000
## set TERM if in tmux
if (( ${+TMUX} )); then
export TERM="screen-256color"
else
export TERM="xterm-256color"
fi
## load private vars
if test -f ~/.private_vars; then
source ~/.private_vars
fi
## fzf-tmux
export PATH="${PATH}:${HOME}/.fzf/bin"
## spaceship prompt
SPACESHIP_PROMPT_ORDER=(
time
user
host
dir
git
hg
package
node
ruby
golang
rust
docker
venv
pyenv
exec_time
line_sep
jobs
exit_code
char
)
SPACESHIP_CHAR_SUFFIX=" "
SPACESHIP_CHAR_SYMBOL="%%"
SPACESHIP_DIR_PREFIX=":"
SPACESHIP_DIR_SUFFIX="> "
SPACESHIP_EXIT_CODE_SHOW=true
SPACESHIP_EXIT_CODE_SYMBOL=""
SPACESHIP_HOST_COLOR="#F776AC"
SPACESHIP_HOST_PREFIX="@"
SPACESHIP_HOST_SHOW=always
SPACESHIP_HOST_SUFFIX=""
SPACESHIP_TIME_COLOR="#A9B1D6"
SPACESHIP_TIME_SHOW=true
SPACESHIP_USER_COLOR="#E08C68"
SPACESHIP_USER_PREFIX=""
SPACESHIP_USER_SHOW=always
SPACESHIP_USER_SUFFIX=""

68
dot_zshrc Normal file
View File

@ -0,0 +1,68 @@
#!/usr/bin/env zsh
##############################################################################
# vim:set ft=zsh ai et sw=4 ts=4:
#
# @author : Jeffrey Serio <hyperreal@unixcat.coffee>
# @file : .zshrc
#
# @description : Z-shell rc file
##############################################################################
# PLUGINS
##############################################################################
if ! test -f ~/.zplug/init.zsh; then
export ZPLUG_HOME=~/.zplug
git clone https://github.com/zplug/zplug $ZPLUG_HOME
fi
source ~/.zplug/init.zsh
zplug "~/.zsh", from:local, use:'(*).zsh'
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-history-substring-search"
zplug "zsh-users/zsh-syntax-highlighting"
zplug "amaya382/zsh-fzf-widgets"
zplug "chitoku-k/fzf-zsh-completions"
zplug "plugins/dnf", from:oh-my-zsh
zplug "plugins/colored-man-pages", from:oh-my-zsh
zplug "plugins/extract", from:oh-my-zsh
zplug "plugins/firewalld", from:oh-my-zsh
zplug "plugins/git", from:oh-my-zsh
zplug "plugins/sudo", from:oh-my-zsh
zplug "plugins/systemd", from:oh-my-zsh
zplug "urbainvaes/fzf-marks"
zplug "spaceship-prompt/spaceship-prompt", use:spaceship.zsh, from:github, as:theme
# zplug "~/.zsh", use:dracula-pro.zsh-theme, from:local, as:theme
if ! zplug check; then
zplug install;
exec $SHELL $SHELL_ARGS "$@"
fi
zplug load
##############################################################################
# GENERAL SHELL OPTIONS
##############################################################################
# See https://zsh-manual.netlify.app/options
setopt appendhistory
setopt autocd
setopt autolist
setopt automenu
setopt autoremoveslash
setopt cdablevars
setopt histallowclobber
setopt histignorealldups
setopt histignoredups
setopt histsavenodups
setopt interactivecomments
setopt listpacked
setopt listtypes
setopt longlistjobs
ZSH_THEME="dracula-pro"
alias luamake=/var/home/jas/downloads/lua-language-server/3rd/luamake/luamake