Compare commits

...

76 Commits

Author SHA1 Message Date
Joel Beckmeyer
8adb11049d add Android SDK platform-tools to PATH 2025-05-02 10:00:06 -04:00
Joel Beckmeyer
e5ae14bb1c Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-04-22 16:32:07 +00:00
Joel Beckmeyer
0815537beb set TERMINFO_DIRS 2025-04-22 12:22:21 -04:00
Joel Beckmeyer
027eba011c remove zsh plugin fetch in favor of nix 2025-04-22 12:22:19 -04:00
006cc70889 update ignore 2025-04-22 12:22:19 -04:00
16cc781e60 fallback to regular SSH password prompt 2025-04-22 12:22:19 -04:00
Joel Beckmeyer
9e8ac7bce4 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-04-22 13:20:56 +00:00
Joel Beckmeyer
24c5277498 add ANDROID_STUDIO envvar pointing to flatpak install 2025-04-22 13:20:51 +00:00
bf172fb381 update ignore 2025-04-11 10:32:04 -04:00
25cfc15bd0 fallback to regular SSH password prompt 2025-04-11 09:52:16 -04:00
a710f648ae simplify ignores 2025-04-08 08:00:55 -04:00
Joel Beckmeyer
2f645a2c00 remove credential helper in favor of using SSH 2025-04-03 14:14:45 +00:00
c9b8dee5c6 remove wayland envvars (it's 2025) 2025-04-03 07:55:59 -04:00
Joel Beckmeyer
9b186eb23c add ideavimrc 2025-04-02 17:23:11 +00:00
9cdb8bee9d convert gitconfig to work/personal aware template 2025-04-02 12:36:55 +00:00
827ae25751 add zshenv link 2025-04-01 14:37:16 +00:00
95814eb86b add chroot prompt 2025-03-31 19:27:41 +00:00
ac84c755a9 set XDG vars to defaults if unset 2025-03-31 19:27:33 +00:00
1b3cb98eee use diff format available on older gits 2025-03-31 14:09:59 -04:00
198eebf21d Revert "add android sdk tools to path"
This reverts commit 18c2686bec.
2025-03-31 14:09:40 -04:00
ed4e2d3b3d add note to Firefox instructions 2025-03-31 13:52:20 -04:00
91127fde5b improve zsh plugin loading 2025-03-31 12:49:31 -04:00
cb07c1c3b7 remove alacritty 2025-03-31 12:47:46 -04:00
3bc4ea90c7 update ignored files 2025-03-31 12:12:17 -04:00
a7fe63b095 remove delta and add github auth helper 2025-03-31 08:38:07 -04:00
18c2686bec add android sdk tools to path 2025-03-31 08:37:08 -04:00
7fc46e0f13 zsh updates for Ubuntu 2025-03-31 08:36:15 -04:00
a6f6c8d577 add alternative location for zsh plugin 2025-03-31 08:33:07 -04:00
3ea2743893 update PC hostname 2025-03-31 08:32:47 -04:00
981b1d8008 update foot config to latest template 2025-03-21 10:39:27 -04:00
ffacf2038d make npm follow XDG 2025-03-21 10:39:12 -04:00
deda1f1281 variety: use 10 minute period 2025-03-05 12:40:42 -05:00
8086bb7a53 update occ user 2025-02-25 09:10:46 -05:00
5c730c5256 add zf pazi->fzf alias 2025-02-18 09:44:15 -05:00
6445b29a86 move to supported XDG-compliant location 2025-01-17 11:59:48 -05:00
28588ff57e only force using id_rsa password for that key 2025-01-17 08:35:11 -05:00
738955e19d bump for php8.4 2025-01-15 07:59:25 -05:00
67ea34d304 update variety config 2025-01-15 07:59:16 -05:00
4848c67a9c Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-01-15 07:57:38 -05:00
2ee3350512 no longer needed with python >=3.13 2025-01-14 15:25:47 -05:00
6b22272eb1 switch back to plasma handling keyboard layout 2024-12-11 11:21:11 -05:00
28fd1bd233 only warn on line-endings 2024-12-02 15:06:29 -05:00
605fc3dd51 fix issues with SSH_ASKPASS hanging 2024-11-29 16:22:49 +00:00
70ec6f36da update dotool wrapper to use keyd layout output 2024-11-13 16:17:39 -05:00
fe9f18c43d set runit SVDIR 2024-11-13 13:17:10 -05:00
9484efa16d try using delta 2024-11-13 11:19:24 -05:00
b8f053d270 finally got rofi-rbw working 2024-11-04 15:46:00 -05:00
45f5578291 remove unused scripts 2024-11-04 12:23:17 -05:00
6622f7300d get id_rsa pass from manager 2024-11-04 12:23:15 -05:00
13f49664cd do this the way everyone else does apparently 2024-11-01 08:33:11 -04:00
a615a24f42 only ssh-add if we have keychain running 2024-10-28 12:20:55 -04:00
0b4683d3e1 add usbipd 2024-10-28 11:26:28 -04:00
0a0186fe64 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-10-28 08:53:32 -04:00
ae94267b33 add WSL aliases 2024-10-28 08:52:39 -04:00
31a49da779 add code search thing from HN 2024-10-18 14:00:03 -04:00
acfb9ff9c0 git: autoSetupRemote = true 2024-10-18 13:36:55 -04:00
d858594201 drop GPG from keychain 2024-10-18 13:36:43 -04:00
72310b3b0a nvim: untrack generated code 2024-09-26 09:40:20 -04:00
1324e357e9 add idea vim plugin config 2024-09-26 09:19:56 -04:00
ff7a4fdbcd drop broken adb alias 2024-09-24 08:48:51 -04:00
68f8d35da8 add convenience xbps php update script 2024-09-16 09:10:54 -04:00
3521c1b612 ue pazi (autojump) if available 2024-09-11 10:16:04 -04:00
2423aa9c2f fix chezmoi diff pager 2024-09-11 09:34:24 -04:00
97ca59fc0c add convenience forward/reverse dep listers 2024-09-03 14:30:11 -04:00
6ae1f099af remove broken xbps helper script 2024-08-14 11:22:51 -04:00
4177d5aafb add zathura 2024-06-19 16:03:39 -04:00
b76aa2784c add gamma method for lightweight wms 2024-06-19 15:07:55 -04:00
0c012293e3 pgcli: respect XDG (kind of) 2024-06-19 14:55:46 -04:00
7734599a50 environment: set correct android vars 2024-06-19 14:55:36 -04:00
def82b1c74 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-05-15 15:34:44 -04:00
83b825f796 add tealdeer config 2024-05-15 15:34:39 -04:00
fedc3af129 add eslint to nvim 2024-05-10 09:51:24 -04:00
9b9b76cb2c xxdist: add install functionality 2024-05-01 09:31:41 -04:00
957b150359 lol 2024-05-01 09:30:59 -04:00
e9257b3c4b Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-04-29 13:27:47 -04:00
f516b68126 add occ wrapper 2024-04-29 13:26:55 -04:00
32 changed files with 440 additions and 1226 deletions

View File

@@ -2,3 +2,5 @@ sourceDir: ~/repos/dotfiles
merge: merge:
command: vim command: vim
args: "-d" args: "-d"
diff:
pager: "less -R"

View File

@@ -1,35 +1,14 @@
{{ if eq .chezmoi.hostname "daybreak" }} README.md
{{ if or (eq .chezmoi.hostname "daybreak") (eq .chezmoi.hostname "epoch") (eq .chezmoi.hostname "UGC13335X84") (env "ANDROID_ROOT") }}
.config/beets .config/beets
.config/davfs2/secrets .config/davfs2/secrets
.config/kitty .config/kitty
.config/kitty/kitty-gruvbox-theme .config/kitty/kitty-gruvbox-theme
.config/sway .config/sway
.config/waybar .config/waybar
.local/share/gnupg/sshcontrol
bin/kde-rofi-rbw-autotype
bin/kde-rofi-rbw-totp
{{ end }} {{ end }}
{{ if eq .chezmoi.hostname "epoch" }} {{ if or (eq .chezmoi.hostname "daybreak") (eq .chezmoi.hostname "epoch") (eq .chezmoi.hostname "UGC13335X84") }}
.config/beets
.config/davfs2/secrets
.config/kitty
.config/kitty/kitty-gruvbox-theme
.config/sway
.config/waybar
.local/share/gnupg/sshcontrol .local/share/gnupg/sshcontrol
bin/kde-rofi-rbw-totp
bin/kde-rofi-rbw-autotype
{{ end }}
{{ if eq .chezmoi.hostname "WGC100C647H24" }}
.config/beets
.config/davfs2/secrets
.config/kitty
.config/kitty/kitty-gruvbox-theme
.config/sway
.config/waybar
.local/share/gnupg/sshcontrol
bin/kde-rofi-rbw-totp
bin/kde-rofi-rbw-autotype
{{ end }} {{ end }}

View File

@@ -1,6 +1,7 @@
# Miscellaneous topics that I'm too lazy to script # Miscellaneous topics that I'm too lazy to script
## Firefox with tree-style tabs ## Firefox with tree-style tabs
1. Go to `about:config` in Firefox and make sure all of these are enabled/true: 1. Go to `about:config` in Firefox and make sure all of these are enabled/true
(as of 136, it appears the only one needed is the first):
``` ```
toolkit.legacyUserProfileCustomizations.stylesheets toolkit.legacyUserProfileCustomizations.stylesheets
layers.acceleration.force-enabled layers.acceleration.force-enabled

View File

@@ -1,911 +0,0 @@
# Configuration for Alacritty, the GPU enhanced terminal emulator.
# Import additional configuration files
#
# Imports are loaded in order, skipping all missing files, with the importing
# file being loaded last. If a field is already present in a previous import, it
# will be replaced.
#
# All imports must either be absolute paths starting with `/`, or paths relative
# to the user's home directory starting with `~/`.
#import:
# - /path/to/alacritty.yml
# Any items in the `env` entry below will be added as
# environment variables. Some entries may override variables
# set by alacritty itself.
#env:
# TERM variable
#
# This value is used to set the `$TERM` environment variable for
# each instance of Alacritty. If it is not present, alacritty will
# check the local terminfo database and use `alacritty` if it is
# available, otherwise `xterm-256color` is used.
#TERM: alacritty
window:
# Window dimensions (changes require restart)
#
# Number of lines/columns (not pixels) in the terminal. Both lines and columns
# must be non-zero for this to take effect. The number of columns must be at
# least `2`, while using a value of `0` for columns and lines will fall back
# to the window manager's recommended size
#dimensions:
# columns: 0
# lines: 0
# Window position (changes require restart)
#
# Specified in number of pixels.
# If the position is not set, the window manager will handle the placement.
#position:
# x: 0
# y: 0
# Window padding (changes require restart)
#
# Blank space added around the window in pixels. This padding is scaled
# by DPI and the specified value is always added at both opposing sides.
padding:
x: 1
y: 1
# Spread additional padding evenly around the terminal content.
#dynamic_padding: false
# Window decorations
#
# Values for `decorations`:
# - full: Borders and title bar
# - none: Neither borders nor title bar
#
# Values for `decorations` (macOS only):
# - transparent: Title bar, transparent background and title bar buttons
# - buttonless: Title bar, transparent background and no title bar buttons
#decorations: full
# Background opacity
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
#opacity: 1.0
# Startup Mode (changes require restart)
#
# Values for `startup_mode`:
# - Windowed
# - Maximized
# - Fullscreen
#
# Values for `startup_mode` (macOS only):
# - SimpleFullscreen
startup_mode: Maximized
# Window title
#title: Alacritty
# Allow terminal applications to change Alacritty's window title.
#dynamic_title: true
# Window class (Linux/BSD only):
#class:
# Application instance name
#instance: Alacritty
# General application class
#general: Alacritty
# Decorations theme variant
#
# Override the variant of the System theme/GTK theme/Wayland client side
# decorations. Commonly supported values are `Dark`, `Light`, and `None` for
# auto pick-up. Set this to `None` to use the default theme variant.
#decorations_theme_variant: None
# Resize increments
#
# Prefer resizing window by discrete steps equal to cell dimensions.
#resize_increments: false
# Make `Option` key behave as `Alt` (macOS only):
# - OnlyLeft
# - OnlyRight
# - Both
# - None (default)
#option_as_alt: None
#scrolling:
# Maximum number of lines in the scrollback buffer.
# Specifying '0' will disable scrolling.
#history: 10000
# Scrolling distance multiplier.
#multiplier: 3
# Font configuration
font:
# Normal (roman) font face
normal:
# Font family
#
# Default:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
family: FiraCode
# The `style` can be specified to pick a specific face.
#style: Regular
# Bold font face
#bold:
# Font family
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold
# Italic font face
#italic:
# Font family
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Italic
# Bold italic font face
#bold_italic:
# Font family
#
# If the bold italic family is not specified, it will fall back to the
# value specified for the normal font.
#family: monospace
# The `style` can be specified to pick a specific face.
#style: Bold Italic
# Point size
size: 10.0
# Offset is the extra space around each character. `offset.y` can be thought
# of as modifying the line spacing, and `offset.x` as modifying the letter
# spacing.
#offset:
# x: 0
# y: 0
# Glyph offset determines the locations of the glyphs within their cells with
# the default being at the bottom. Increasing `x` moves the glyph to the
# right, increasing `y` moves the glyph upward.
#glyph_offset:
# x: 0
# y: 0
# Use built-in font for box drawing characters.
#
# If `true`, Alacritty will use a custom built-in font for box drawing
# characters (Unicode points 2500 - 259f).
#
#builtin_box_drawing: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: false
# Colors (Tomorrow Night)
colors:
# Default colors
primary:
background: '#fbf1c7'
foreground: '#3c3836'
# 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: '#bdae93'
red: '#cc241d'
green: '#98971a'
yellow: '#d79921'
blue: '#458588'
magenta: '#b16286'
cyan: '#689d6a'
white: '#7c6f64'
# Bright colors
bright:
black: '#a89984'
red: '#9d0006'
green: '#79740e'
yellow: '#b57614'
blue: '#076678'
magenta: '#8f3f71'
cyan: '#427b58'
white: '#665c54'
# 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
# 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/winit/*/winit/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
# - ToggleMaximized
# - 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: CreateNewWindow }
#- { 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
# Renderer override.
# - glsl3
# - gles2
# - gles2_pure
#renderer: None
# Print all received window events.
#print_events: false
# Highlight window damage information.
#highlight_damage: false

View File

@@ -1,16 +1,23 @@
#!/bin/sh #!/bin/sh
# icky, but necessary since this might inject the needed XDG vars # icky, but necessary since this might inject the needed XDG vars
. "$HOME/.config/environment.local" 2>/dev/null . "$HOME/.config/environment.local" 2>/dev/null
. "$XDG_DATA_HOME/cargo/env" 2>/dev/null . "$XDG_DATA_HOME/cargo/env" 2>/dev/null
# set to defaults if any of these are unset
export XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
export XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
export XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
export XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
export TERMINFO_DIRS="$TERMINFO_DIRS:/usr/share/terminfo"
# runit
export SVDIR="$XDG_STATE_HOME"/service
# editor # editor
export EDITOR=nvim export EDITOR=nvim
export SUDO_EDITOR=nvim export SUDO_EDITOR=nvim
# wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=wayland
# sway stuff # sway stuff
#export XDG_CURRENT_DESKTOP=sway #export XDG_CURRENT_DESKTOP=sway
#export _JAVA_AWT_WM_NONREPARENTING=1 #export _JAVA_AWT_WM_NONREPARENTING=1
@@ -18,6 +25,7 @@ export QT_QPA_PLATFORM=wayland
# XDG enforcement # XDG enforcement
export ANDROID_HOME="$XDG_DATA_HOME"/android/Sdk export ANDROID_HOME="$XDG_DATA_HOME"/android/Sdk
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
export CARGO_HOME="$XDG_DATA_HOME"/cargo export CARGO_HOME="$XDG_DATA_HOME"/cargo
export GNUPGHOME="$XDG_DATA_HOME"/gnupg export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
@@ -28,10 +36,12 @@ export KDEHOME="$XDG_CONFIG_HOME"/kde
export LESSHISTFILE="$XDG_STATE_HOME"/less/history export LESSHISTFILE="$XDG_STATE_HOME"/less/history
export MINETEST_USER_PATH="$XDG_DATA_HOME"/minetest export MINETEST_USER_PATH="$XDG_DATA_HOME"/minetest
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
export NPM_CONFIG_CACHE="$XDG_CACHE_HOME"/npm
export NPM_CONFIG_INIT_MODULE="$XDG_CONFIG_HOME"/npm/config/npm-init.js
export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR"/npm
export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
export PATH="$HOME/.local/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin" export PATH="$HOME/.local/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin:$ANDROID_HOME/platform-tools"
export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/pythonrc
export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
@@ -50,3 +60,4 @@ export XBPS_DISTDIR="$HOME"/repos/void-packages
# Android build stuff # Android build stuff
export USE_CCACHE=1 export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache export CCACHE_EXEC=/usr/bin/ccache
export ANDROID_STUDIO="$XDG_DATA_HOME"/flatpak/app/com.google.AndroidStudio/current/active/files/extra/android-studio

View File

@@ -19,6 +19,7 @@ font=FiraCode:size=10
# vertical-letter-offset=0 # vertical-letter-offset=0
# underline-offset=<font metrics> # underline-offset=<font metrics>
# underline-thickness=<font underline thickness> # underline-thickness=<font underline thickness>
# strikeout-thickness=<font strikeout thickness>
# box-drawings-uses-font-glyphs=no # box-drawings-uses-font-glyphs=no
# dpi-aware=no # dpi-aware=no
@@ -26,10 +27,10 @@ font=FiraCode:size=10
# initial-window-size-chars=<COLSxROWS> # initial-window-size-chars=<COLSxROWS>
initial-window-mode=maximized initial-window-mode=maximized
pad=1x1 # optionally append 'center' pad=1x1 # optionally append 'center'
# resize-by-cells=yes
# resize-keep-grid=yes
# resize-delay-ms=100 # resize-delay-ms=100
# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}
# bold-text-in-bright=no # bold-text-in-bright=no
# word-delimiters=,│`|:"'()[]{}<> # word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary # selection-target=primary
@@ -40,12 +41,24 @@ pad=1x1 # optionally append 'center'
[environment] [environment]
# name=value # name=value
[security]
# osc52=enabled # disabled|copy-enabled|paste-enabled|enabled
[bell] [bell]
# system=yes
# urgent=no # urgent=no
# notify=no # notify=no
# visual=no
# command= # command=
# command-focused=no # command-focused=no
[desktop-notifications]
# command=notify-send --wait --app-name ${app-id} --icon ${app-id} --category ${category} --urgency ${urgency} --expire-time ${expire-time} --hint STRING:image-path:${icon} --hint BOOLEAN:suppress-sound:${muted} --hint STRING:sound-name:${sound-name} --replace-id ${replace-id} ${action-argument} --print-id -- ${title} ${body}
# command-action-argument=--action ${action-name}=${action-label}
# close=""
# inhibit-when-focused=yes
[scrollback] [scrollback]
# lines=1000 # lines=1000
# multiplier=3.0 # multiplier=3.0
@@ -56,13 +69,25 @@ pad=1x1 # optionally append 'center'
# launch=xdg-open ${url} # launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh # label-letters=sadfjklewcmpgh
# osc8-underline=url-mode # osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher # regex=(([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[]
# You can define your own regex's, by adding a section called
# 'regex:<ID>' with a 'regex' and 'launch' key. These can then be tied
# to a key-binding. See foot.ini(5) for details
# [regex:your-fancy-name]
# regex=<a POSIX-Extended Regular Expression>
# launch=<path to script or application> ${match}
#
# [key-bindings]
# regex-launch=[your-fancy-name] Control+Shift+q
# regex-copy=[your-fancy-name] Control+Alt+Shift+q
[cursor] [cursor]
# style=block # style=block
# color=<inverse foreground/background> # color=<inverse foreground/background>
# blink=no # blink=no
# blink-rate=500
# beam-thickness=1.5 # beam-thickness=1.5
# underline-thickness=<font underline thickness> # underline-thickness=<font underline thickness>
@@ -87,6 +112,7 @@ regular4=458588
regular5=b16286 regular5=b16286
regular6=689d6a regular6=689d6a
regular7=7c6f64 regular7=7c6f64
# Bright colors (color palette 8-15) # Bright colors (color palette 8-15)
bright0=a89984 bright0=a89984
bright1=9d0006 bright1=9d0006
@@ -107,6 +133,24 @@ bright7=665c54
# ... # ...
# 255 = <256-color palette #255> # 255 = <256-color palette #255>
## Sixel colors
# sixel0 = 000000
# sixel1 = 3333cc
# sixel2 = cc2121
# sixel3 = 33cc33
# sixel4 = cc33cc
# sixel5 = 33cccc
# sixel6 = cccc33
# sixel7 = 878787
# sixel8 = 424242
# sixel9 = 545499
# sixel10 = 994242
# sixel11 = 549954
# sixel12 = 995499
# sixel13 = 549999
# sixel14 = 999954
# sixel15 = cccccc
## Misc colors ## Misc colors
# selection-foreground=<inverse foreground/background> # selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background> # selection-background=<inverse foreground/background>
@@ -132,18 +176,20 @@ bright7=665c54
# button-close-color=<regular1> # button-close-color=<regular1>
[key-bindings] [key-bindings]
# scrollback-up-page=Shift+Page_Up # scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
# scrollback-up-half-page=none # scrollback-up-half-page=none
# scrollback-up-line=none # scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down # scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
# scrollback-down-half-page=none # scrollback-down-half-page=none
# scrollback-down-line=none # scrollback-down-line=none
# scrollback-home=none
# scrollback-end=none
# clipboard-copy=Control+Shift+c XF86Copy # clipboard-copy=Control+Shift+c XF86Copy
# clipboard-paste=Control+Shift+v XF86Paste # clipboard-paste=Control+Shift+v XF86Paste
# primary-paste=Shift+Insert # primary-paste=Shift+Insert
# search-start=Control+Shift+r # search-start=Control+Shift+r
font-increase=none # font-increase=Control+plus Control+equal Control+KP_Add
font-decrease=none # font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0 # font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n # spawn-terminal=Control+Shift+n
# minimize=none # minimize=none
@@ -152,6 +198,7 @@ font-decrease=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none # pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none # pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none # pipe-selected=[xargs -r firefox] none
# pipe-command-output=[wl-copy] none # Copy last command's output to the clipboard
# show-urls-launch=Control+Shift+o # show-urls-launch=Control+Shift+o
# show-urls-copy=none # show-urls-copy=none
# show-urls-persistent=none # show-urls-persistent=none
@@ -159,10 +206,11 @@ font-decrease=none
# prompt-next=Control+Shift+x # prompt-next=Control+Shift+x
# unicode-input=Control+Shift+u # unicode-input=Control+Shift+u
# noop=none # noop=none
# quit=none
[search-bindings] [search-bindings]
# cancel=Control+g Control+c Escape # cancel=Control+g Control+c Escape
# commit=Return # commit=Return KP_Enter
# find-prev=Control+r # find-prev=Control+r
# find-next=Control+s # find-next=Control+s
# cursor-left=Left Control+b # cursor-left=Left Control+b
@@ -175,11 +223,27 @@ font-decrease=none
# delete-prev-word=Mod1+BackSpace Control+BackSpace # delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete # delete-next=Delete
# delete-next-word=Mod1+d Control+Delete # delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w # delete-to-start=Control+u
# delete-to-end=Control+k
# extend-char=Shift+Right
# extend-to-word-boundary=Control+w Control+Shift+Right
# extend-to-next-whitespace=Control+Shift+w # extend-to-next-whitespace=Control+Shift+w
# extend-line-down=Shift+Down
# extend-backward-char=Shift+Left
# extend-backward-to-word-boundary=Control+Shift+Left
# extend-backward-to-next-whitespace=none
# extend-line-up=Shift+Up
# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste # clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste
# primary-paste=Shift+Insert # primary-paste=Shift+Insert
# unicode-input=none # unicode-input=none
# scrollback-up-page=Shift+Page_Up Shift+KP_Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down Shift+KP_Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# scrollback-home=none
# scrollback-end=none
[url-bindings] [url-bindings]
# cancel=Control+g Control+c Control+d Escape # cancel=Control+g Control+c Control+d Escape
@@ -189,6 +253,10 @@ font-decrease=none
# \x03=Mod4+c # Map Super+c -> Ctrl+c # \x03=Mod4+c # Map Super+c -> Ctrl+c
[mouse-bindings] [mouse-bindings]
# scrollback-up-mouse=BTN_WHEEL_BACK
# scrollback-down-mouse=BTN_WHEEL_FORWARD
# font-increase=Control+BTN_WHEEL_BACK
# font-decrease=Control+BTN_WHEEL_FORWARD
# selection-override-modifiers=Shift # selection-override-modifiers=Shift
# primary-paste=BTN_MIDDLE # primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT # select-begin=BTN_LEFT
@@ -197,6 +265,7 @@ font-decrease=none
# select-extend-character-wise=Control+BTN_RIGHT # select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2 # select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2 # select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3 # select-quote = BTN_LEFT-3
# select-row=BTN_LEFT-4
# vim: ft=dosini # vim: ft=dosini

View File

@@ -0,0 +1,6 @@
[general]
temp-day=4500
temp-night=3000
fade=1
adjustment-method=wayland
location-provider=geoclue2

View File

@@ -1,24 +0,0 @@
[user]
email = joel@beckmeyer.us
name = Joel Beckmeyer
[color]
ui = auto
[push]
default = current
[filesystem "N/A|13.0.2|/dev/sda2"]
timestampResolution = 10000 nanoseconds
minRacyThreshold = 6379 microseconds
[merge]
tool = meld
[review "review.lineageos.org"]
username = jbeckmeyer
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[pull]
rebase = false
[core]
autocrlf = input
safecrlf = true

View File

@@ -0,0 +1,30 @@
[core]
autocrlf = input
safecrlf = warn
[user]
{{- if eq .chezmoi.hostname "UGC13335X84" }}
email = jbeckmey@ford.com
{{- else }}
email = joel@beckmeyer.us
{{- end }}
name = Joel Beckmeyer
[color]
ui = auto
[push]
default = current
autoSetupRemote = true
[filesystem "N/A|13.0.2|/dev/sda2"]
timestampResolution = 10000 nanoseconds
minRacyThreshold = 6379 microseconds
[merge]
tool = meld
conflictstyle = diff3
[review "review.lineageos.org"]
username = jbeckmeyer
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[pull]
rebase = false

View File

@@ -0,0 +1,36 @@
" .ideavimrc is a configuration file for IdeaVim plugin. It uses
" the same commands as the original .vimrc configuration.
" You can find a list of commands here: https://jb.gg/h38q75
" Find more examples here: https://jb.gg/share-ideavimrc
"" -- Suggested options --
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=5
" Do incremental searching.
set incsearch
" Don't use Ex mode, use Q for formatting.
map Q gq
" --- Enable IdeaVim plugins https://jb.gg/ideavim-plugins
" Highlight copied text
Plug 'machakann/vim-highlightedyank'
" Commentary plugin
Plug 'tpope/vim-commentary'
"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
"" Map \r to the Reformat Code action
"map \r <Action>(ReformatCode)
"" Map <leader>d to start debug
"map <leader>d <Action>(Debug)
"" Map \b to toggle the breakpoint on the current line
"map \b <Action>(ToggleLineBreakpoint)
set clipboard+=unnamedplus

View File

@@ -1,3 +0,0 @@
prefix=${XDG_DATA_HOME}/npm
cache=${XDG_CACHE_HOME}/npm
init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js

View File

@@ -37,6 +37,9 @@ vim.keymap.set('i', '<S-Tab>', function()
return '<S-Tab>' return '<S-Tab>'
end, { expr=true }) end, { expr=true })
-- Code search? https://news.ycombinator.com/item?id=41739452
vim.keymap.set('n', 'gv', '<c-w>v<cmd>lua vim.lsp.buf.definition()<CR>', opts)
-- Tab stuff -- Tab stuff
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2 vim.opt.softtabstop = 2
@@ -65,10 +68,10 @@ require'nvim-treesitter.configs'.setup {
} }
-- Install coc extensions -- Install coc extensions
vim.g.coc_global_extensions = {'coc-json', 'coc-lua', 'coc-pyright', 'coc-rust-analyzer', 'coc-yaml'} vim.g.coc_global_extensions = {'coc-json', 'coc-lua', 'coc-pyright', 'coc-rust-analyzer', 'coc-yaml', 'coc-eslint'}
-- Turn on nice things -- Turn on nice things
vim.opt.clipboard = "unnamedplus" vim.opt.clipboard:append("unnamedplus")
vim.opt.mouse = "a" vim.opt.mouse = "a"
-- Colorscheme -- Colorscheme

View File

@@ -1,119 +0,0 @@
-- Automatically generated packer.nvim plugin loader code
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"')
return
end
vim.api.nvim_command('packadd packer.nvim')
local no_errors, error_msg = pcall(function()
_G._packer = _G._packer or {}
_G._packer.inside_compile = true
local time
local profile_info
local should_profile = false
if should_profile then
local hrtime = vim.loop.hrtime
profile_info = {}
time = function(chunk, start)
if start then
profile_info[chunk] = hrtime()
else
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6
end
end
else
time = function(chunk, start) end
end
local function save_profiles(threshold)
local sorted_times = {}
for chunk_name, time_taken in pairs(profile_info) do
sorted_times[#sorted_times + 1] = {chunk_name, time_taken}
end
table.sort(sorted_times, function(a, b) return a[2] > b[2] end)
local results = {}
for i, elem in ipairs(sorted_times) do
if not threshold or threshold and elem[2] > threshold then
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms'
end
end
if threshold then
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)')
end
_G._packer.profile_output = results
end
time([[Luarocks path setup]], true)
local package_path_str = "/home/joel/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/joel/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/joel/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/joel/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua"
local install_cpath_pattern = "/home/joel/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so"
if not string.find(package.path, package_path_str, 1, true) then
package.path = package.path .. ';' .. package_path_str
end
if not string.find(package.cpath, install_cpath_pattern, 1, true) then
package.cpath = package.cpath .. ';' .. install_cpath_pattern
end
time([[Luarocks path setup]], false)
time([[try_loadstring definition]], true)
local function try_loadstring(s, component, name)
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name])
if not success then
vim.schedule(function()
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {})
end)
end
return result
end
time([[try_loadstring definition]], false)
time([[Defining packer_plugins]], true)
_G.packer_plugins = {
["coc.nvim"] = {
loaded = true,
path = "/home/joel/.local/share/nvim/site/pack/packer/start/coc.nvim",
url = "https://github.com/neoclide/coc.nvim"
},
["gruvbox.nvim"] = {
loaded = true,
path = "/home/joel/.local/share/nvim/site/pack/packer/start/gruvbox.nvim",
url = "https://github.com/ellisonleao/gruvbox.nvim"
},
["indent-blankline.nvim"] = {
loaded = true,
path = "/home/joel/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
},
["nvim-treesitter"] = {
loaded = true,
path = "/home/joel/.local/share/nvim/site/pack/packer/start/nvim-treesitter",
url = "https://github.com/nvim-treesitter/nvim-treesitter"
},
["packer.nvim"] = {
loaded = true,
path = "/home/joel/.local/share/nvim/site/pack/packer/start/packer.nvim",
url = "https://github.com/wbthomason/packer.nvim"
}
}
time([[Defining packer_plugins]], false)
_G._packer.inside_compile = false
if _G._packer.needs_bufread == true then
vim.cmd("doautocmd BufRead")
end
_G._packer.needs_bufread = false
if should_profile then save_profiles() end
end)
if not no_errors then
error_msg = error_msg:gsub('"', '\\"')
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None')
end

View File

@@ -40,7 +40,7 @@ generate_aliases = False
# In Unix/Linux: ~/.config/pgcli/log # In Unix/Linux: ~/.config/pgcli/log
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log # In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log
# %USERPROFILE% is typically C:\Users\{username} # %USERPROFILE% is typically C:\Users\{username}
log_file = default log_file = ~/.local/state/pgcli/log
# keyword casing preference. Possible values "lower", "upper", "auto" # keyword casing preference. Possible values "lower", "upper", "auto"
keyword_casing = auto keyword_casing = auto
@@ -62,7 +62,7 @@ case_column_headers = True
# In Unix/Linux: ~/.config/pgcli/history # In Unix/Linux: ~/.config/pgcli/history
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history # In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history
# %USERPROFILE% is typically C:\Users\{username} # %USERPROFILE% is typically C:\Users\{username}
history_file = default history_file = ~/.local/state/pgcli/history
# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO" # Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
# and "DEBUG". "NONE" disables logging. # and "DEBUG". "NONE" disables logging.

View File

@@ -1,45 +0,0 @@
#!/usr/bin/env python3
# This entire thing is unnecessary post v3.13.0a3
# https://github.com/python/cpython/issues/73965
def is_vanilla() -> bool:
""":return: whether running "vanilla" Python"""
import sys
return not hasattr(__builtins__, "__IPYTHON__") and "bpython" not in sys.argv[0]
def setup_history():
"""read and write history from state file"""
import os
import atexit
import readline
from pathlib import Path
# https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
if state_home := os.environ.get("XDG_STATE_HOME"):
state_home = Path(state_home)
else:
state_home = Path.home() / ".local" / "state"
if not state_home.is_dir():
print("Error: XDG_SATE_HOME does not exist at", state_home)
history: Path = state_home / "python_history"
# https://github.com/python/cpython/issues/105694
if not history.is_file():
with open(history, "w") as f:
f.write(
"_HiStOrY_V2_"
+ "\
\
"
) # breaks on macos + python3 without this.
readline.read_history_file(history)
atexit.register(readline.write_history_file, history)
if is_vanilla():
setup_history()

View File

@@ -0,0 +1,38 @@
[style.description]
underline = false
bold = false
italic = false
[style.command_name]
foreground = "cyan"
underline = false
bold = false
italic = false
[style.example_text]
foreground = "green"
underline = false
bold = false
italic = false
[style.example_code]
foreground = "cyan"
underline = false
bold = false
italic = false
[style.example_variable]
foreground = "cyan"
underline = true
bold = false
italic = false
[display]
compact = false
use_pager = false
[updates]
auto_update = true
auto_update_interval_hours = 720
[directories]

View File

@@ -5,7 +5,7 @@ change_on_start = True
change_enabled = True change_enabled = True
# change_interval = <interval in seconds - not less than 5> # change_interval = <interval in seconds - not less than 5>
change_interval = 300 change_interval = 600
# internet_enabled = <True or False> # internet_enabled = <True or False>
internet_enabled = True internet_enabled = True
@@ -121,7 +121,7 @@ stats_enabled = True
# copyto_folder = <Default or Path to a custom folder>, the default is Default # copyto_folder = <Default or Path to a custom folder>, the default is Default
# Default means to use the XDG Pictures folder when home folder is unencrypted and /usr/share/backgrounds when it is encrypted. # Default means to use the XDG Pictures folder when home folder is unencrypted and /usr/share/backgrounds when it is encrypted.
copyto_enabled = True copyto_enabled = True
copyto_folder = ~/.local/share/variety/current copyto_folder = Default
# Clock settings # Clock settings
# clock_enabled = <True or False> # clock_enabled = <True or False>
@@ -211,6 +211,8 @@ slideshow_seconds = 6.0
slideshow_fade = 0.4 slideshow_fade = 0.4
slideshow_zoom = 0.2 slideshow_zoom = 0.2
slideshow_pan = 0.05 slideshow_pan = 0.05
name_regex_enabled = False
name_regex = .*
# List of sources # List of sources
# Each source is srcX = <enabled or not|source type - one of image, folder, flickr, wallhaven, etc.|location> # Each source is srcX = <enabled or not|source type - one of image, folder, flickr, wallhaven, etc.|location>
@@ -223,7 +225,7 @@ src2 = True|fetched|The Fetched folder
src3 = True|folder|/usr/share/backgrounds src3 = True|folder|/usr/share/backgrounds
src4 = False|flickr|user:www.flickr.com/photos/peter-levi/;user_id:93647178@N00; src4 = False|flickr|user:www.flickr.com/photos/peter-levi/;user_id:93647178@N00;
src5 = True|apod|NASA's Astronomy Picture of the Day src5 = True|apod|NASA's Astronomy Picture of the Day
src6 = False|bing|Bing Photo of the Day src6 = True|bing|Bing Photo of the Day
src7 = True|earthview|Google Earth View Wallpapers src7 = True|earthview|Google Earth View Wallpapers
src8 = False|natgeo|National Geographic's photo of the day src8 = False|natgeo|National Geographic's photo of the day
src9 = False|unsplash|High-resolution photos from Unsplash.com src9 = False|unsplash|High-resolution photos from Unsplash.com

View File

@@ -1,3 +1,4 @@
Net/SoundThemeName "ocean"
Gdk/UnscaledDPI 98304 Gdk/UnscaledDPI 98304
Gdk/WindowScalingFactor 1 Gdk/WindowScalingFactor 1
Gtk/ButtonImages 1 Gtk/ButtonImages 1
@@ -7,8 +8,8 @@ Gtk/DecorationLayout "icon:minimize,maximize,close"
Gtk/EnableAnimations 1 Gtk/EnableAnimations 1
Gtk/FontName "Noto Sans, 10" Gtk/FontName "Noto Sans, 10"
Gtk/MenuImages 1 Gtk/MenuImages 1
Gtk/PrimaryButtonWarpsSlider 0 Gtk/PrimaryButtonWarpsSlider 1
Gtk/ToolbarStyle 3 Gtk/ToolbarStyle 3
Net/IconThemeName "breeze-dark" Net/IconThemeName "breeze-dark"
Net/ThemeName "Breeze" Net/ThemeName "Breeze-Dark"

View File

@@ -0,0 +1 @@
set selection-clipboard clipboard

View File

@@ -33,7 +33,12 @@ zstyle ':vcs_info:*' formats ' %F{green}%b'
PROMPT='%F{yellow}%n@%m %F{white}%1~%(?.. %?) $ ' PROMPT='%F{yellow}%n@%m %F{white}%1~%(?.. %?) $ '
RPROMPT='%f$vcs_info_msg_0_ ' RPROMPT='%f$vcs_info_msg_0_ '
alias adb='HOME="$XDG_DATA_HOME"/android adb' # Detect if we're in a schroot and modify prompt accordingly
if [[ -n "$SCHROOT_CHROOT_NAME" ]]; then
# We're in a schroot - add [chroot:name] to the prompt
PS1="[chroot:$SCHROOT_CHROOT_NAME] $PS1"
fi
alias boinctui='boinctui --boinchost=localhost' alias boinctui='boinctui --boinchost=localhost'
alias bt='bluetoothctl' alias bt='bluetoothctl'
alias c='clear' alias c='clear'
@@ -48,26 +53,105 @@ alias lss='eza -a'
alias vim='nvim' alias vim='nvim'
alias wake_circadian='ssh epoch wol a8:a1:59:11:06:f1' alias wake_circadian='ssh epoch wol a8:a1:59:11:06:f1'
alias xrm='sudo xbps-remove' alias xrm='sudo xbps-remove'
alias zf='z --pipe="fzf"'
if [[ -n "$WSL_DISTRO_NAME" ]]; then
alias adb='adb.exe'
alias choco='choco.exe'
alias fastboot='fastboot.exe'
alias gsudo='gsudo.exe'
alias pwsh='pwsh.exe'
alias usbipd='usbipd.exe'
fi
# GPG setup (and SSH) # GPG setup (and SSH)
# SSH setup
# I finally figured out how to export my id_rsa from GPG using
# https://superuser.com/a/1681454 (copied/summarized here to avoid link rot):
# 0. Run `gpg -K --with-keygrip` and note the desired keygrip (probably the one
# with [A] for auth).
# 1. Run `gpgsm --gen-key -o tempcert`:
# a. Select "Existing Key".
# b. Enter the keygrip from step 0.
# c. Select "(1) sign, encrypt". This and following steps don't really apply
# for our use case, but we need to do it to make the tool happy.
# d. Enter some valid X.509 subject, e.g. "C=US".
# e. Press enter for rest of fields.
# f. "y" to create self-signed certificate.
# g. "y" to proceed with creation.
# 2. `gpgsm --import tempcert` and `gpgsm -K` to get the (new) keyid.
# 3. `gpgsm --export-secret-key-p8 -a -o id_rsa $keyid`
# 4. (optional) `rm tempcert`, probably don't want that sitting around.
# 5. (optional) Trim the phony metadata we gave to gpgsm that is prepended to
# the exported PEM cert (id_rsa).
if command -v keychain >/dev/null; then if command -v keychain >/dev/null; then
alias keychain="keychain --nolock --absolute --dir $XDG_RUNTIME_DIR" alias keychain="keychain --nolock --absolute --dir $XDG_RUNTIME_DIR"
eval "$(keychain --quick --eval --agents gpg D7F966B85D985743C76A17AC5A9572AE7B2E7E1C)" eval "$(keychain --quick --eval)"
if command -v rbw >/dev/null; then
rbw unlock
SSH_ASKPASS=get_id_rsa_pass SSH_ASKPASS_REQUIRE=force ssh-add ~/.ssh/id_rsa
else
ssh-add ~/.ssh/id_rsa
fi
fi fi
if command -v gpgconf >/dev/null; then
SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" # Command not found handler
export SSH_AUTH_SOCK if [ -x /usr/lib/command-not-found -o -x /usr/share/command-not-found/command-not-found ]; then
function command_not_found_handler {
if [ -x /usr/lib/command-not-found ]; then
/usr/lib/command-not-found -- "$1"
return $?
elif [ -x /usr/share/command-not-found/command-not-found ]; then
/usr/share/command-not-found/command-not-found -- "$1"
return $?
else
printf "zsh: command not found: %s\n" "$1" >&2
return 127
fi
}
fi fi
### End user configuration
### hooks/includes ### hooks/includes
for plugin in zsh-syntax-highlighting zsh-history-substring-search \ for plugin in zsh-syntax-highlighting zsh-history-substring-search zsh-autosuggestions; do
zsh-autosuggestions; do # Define possible locations for this plugin
if [ -f /usr/share/zsh/plugins/$plugin/${plugin}.zsh ]; then possible_locations=(
source /usr/share/zsh/plugins/$plugin/${plugin}.zsh # Standard location
fi "/usr/share/zsh/plugins/$plugin/$plugin.zsh"
# Nix
"/nix/var/nix/profiles/default/share/$plugin/$plugin.zsh"
# Direct in /usr/share
"/usr/share/$plugin/$plugin.zsh"
# Home directory locations
"$HOME/.local/share/$plugin/$plugin.zsh"
# Version-specific directory (for history-substring-search)
"$HOME/.local/share/$plugin/$plugin-*/($plugin).zsh"
# Oh-My-Zsh style plugin location
"$HOME/.oh-my-zsh/custom/plugins/$plugin/$plugin.zsh"
# Homebrew location (for macOS users)
"/usr/local/share/$plugin/$plugin.zsh"
)
# Try each location until we find one that exists
for location in "${possible_locations[@]}"; do
# Expand the path in case it contains wildcards
expanded_locations=( ${~location} )
# Check each expanded location
for expanded_location in "${expanded_locations[@]}"; do
if [[ -f "$expanded_location" ]]; then
source "$expanded_location"
# Break out of the inner loop
break 2
fi
done
done
done done
bindkey '^[[A' history-substring-search-up bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down bindkey '^[[B' history-substring-search-down
bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'k' history-substring-search-up
bindkey -M vicmd 'j' history-substring-search-down bindkey -M vicmd 'j' history-substring-search-down
if command -v pazi &>/dev/null; then
eval "$(pazi init zsh)" # or 'bash'
fi
### End user configuration

View File

@@ -0,0 +1 @@
../environment

View File

@@ -0,0 +1,8 @@
#!/bin/sh
current_layer=$(get_plasma_keyboard_layout)
#current_layer=$(timeout 0.1s keyd listen | grep -m 1 '^/' | sed 's/^\///')
#if [ "$current_layer" = "qwerty" ]; then
# current_layer="basic"
#fi
DOTOOL_XKB_LAYOUT=us DOTOOL_XKB_VARIANT=$current_layer /usr/bin/dotool "$@"

View File

@@ -0,0 +1,31 @@
#!/usr/bin/env python3
import dbus
def get_keyboard_info():
bus = dbus.SessionBus()
keyboard = bus.get_object('org.kde.keyboard', '/Layouts')
keyboard_interface = dbus.Interface(keyboard, dbus_interface='org.kde.KeyboardLayouts')
layouts_list = keyboard_interface.getLayoutsList()
current_layout_index = keyboard_interface.getLayout()
return layouts_list, current_layout_index
def set_keyboard_layout_env(layouts_list, current_layout_index):
current_layout = layouts_list[current_layout_index]
_, _, name = current_layout
if "Dvorak" in name:
keyboard_layout = "dvorak"
elif "US" in name:
keyboard_layout = "basic"
else:
keyboard_layout = "unknown"
return keyboard_layout
if __name__ == "__main__":
layouts_list, current_layout_index = get_keyboard_info()
keyboard_layout = set_keyboard_layout_env(layouts_list, current_layout_index)
print(keyboard_layout)

View File

@@ -1,14 +0,0 @@
#!/bin/sh
current_layout=$(dbus-send --print-reply=literal --dest=org.kde.keyboard \
/Layouts org.kde.KeyboardLayouts.getLayout | xargs | tr " " ":")
trap reset_layout 1 2 3 6 15
reset_layout() {
dbus-send --type=method_call --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.setLayout "$current_layout"
}
dbus-send --type=method_call --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.setLayout uint32:0
rofi-rbw --typer=dotool
reset_layout

View File

@@ -1,14 +0,0 @@
#!/bin/sh
current_layout=$(dbus-send --print-reply=literal --dest=org.kde.keyboard \
/Layouts org.kde.KeyboardLayouts.getLayout | xargs | tr " " ":")
trap reset_layout 1 2 3 6 15
reset_layout() {
dbus-send --type=method_call --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.setLayout "$current_layout"
}
dbus-send --type=method_call --dest=org.kde.keyboard /Layouts org.kde.KeyboardLayouts.setLayout uint32:0
rofi-rbw --typer=dotool --target=totp
reset_layout

View File

@@ -0,0 +1,2 @@
#!/bin/sh
sudo -u _phpfpm php /usr/share/webapps/nextcloud/occ "$@"

View File

@@ -1,29 +1,2 @@
#!/bin/sh #!/bin/sh
xbps-query -Rx "$1"
_check() {
for p in $(xbps-query -Rx "$1" | cut -d '>' -f1); do
num_child_deps=$(xbps-query -Rx "$p" | wc -l)
update_check_result=$("${XBPS_DISTDIR}"/xbps-src update-check "$p")
if [ "$num_child_deps" -lt 3 ]; then
if [ -n "$update_check_result" ]; then
printf '%s' "$update_check_result" |
while IFS= read -r line; do
for _i in $(seq "$2"); do
printf ' '
done
printf '%s\n' "$line"
done
else
for _i in $(seq "$2"); do
printf ' '
done
printf '%s (latest version)\n' "$p"
fi
_check "$p" "$(($2+1))"
fi
done
}
_check "$1" 0

View File

@@ -1,17 +1,39 @@
#!/bin/sh #!/bin/sh
branch_name="$(git branch --show-current)" branch_name="$(git branch --show-current)"
targets=""
install=false
distribute() {
rsync -P -r "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" "$1":
}
install() {
package_dir=$(basename "$branch_name")
ssh "$1" "xi -R $package_dir -Suy && rm -rf $package_dir"
}
if [ "$1" = "-i" ]; then
install=true
shift
fi
if [ $# = 0 ]; then if [ $# = 0 ]; then
rsync -P -r "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" daybreak: targets="daybreak epoch"
rsync -P -r "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" epoch:
elif [ "$1" = "repo" ]; then elif [ "$1" = "repo" ]; then
cd "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" cd "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" || exit 1
for p in *.xbps; do for p in *.xbps; do
rsync -P $p daybreak:/srv/repo rsync -P "$p" daybreak:/srv/repo
ssh daybreak "xbps-rindex --add /srv/repo/$p; ssh daybreak "xbps-rindex --add /srv/repo/$p;
xbps-rindex --privkey /srv/repo/private.pem --sign-pkg /srv/repo/*.xbps" xbps-rindex --privkey /srv/repo/private.pem --sign-pkg /srv/repo/*.xbps"
done done
else else
rsync -P -r "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" "$1": targets="$1"
fi fi
for t in $targets; do
distribute "$t"
if [ "$install" = true ]; then
install "$t"
fi
done

View File

@@ -0,0 +1,2 @@
#!/bin/sh
xbps-query -RX "$1"

View File

@@ -0,0 +1,4 @@
#!/bin/bash
xxautobump php8.{1,2,3,4}{-{apcu,ast,igbinary,imagick,mongodb,redis},} xdebug8.{1,2,3,4}
git add .
xbump :

View File

@@ -0,0 +1,2 @@
#!/bin/sh
rbw get id_rsa

36
private_dot_ideavimrc Normal file
View File

@@ -0,0 +1,36 @@
" .ideavimrc is a configuration file for IdeaVim plugin. It uses
" the same commands as the original .vimrc configuration.
" You can find a list of commands here: https://jb.gg/h38q75
" Find more examples here: https://jb.gg/share-ideavimrc
"" -- Suggested options --
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=5
" Do incremental searching.
set incsearch
" Don't use Ex mode, use Q for formatting.
map Q gq
" --- Enable IdeaVim plugins https://jb.gg/ideavim-plugins
" Highlight copied text
Plug 'machakann/vim-highlightedyank'
" Commentary plugin
Plug 'tpope/vim-commentary'
"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
"" Map \r to the Reformat Code action
"map \r <Action>(ReformatCode)
"" Map <leader>d to start debug
"map <leader>d <Action>(Debug)
"" Map \b to toggle the breakpoint on the current line
"map \b <Action>(ToggleLineBreakpoint)
set clipboard+=unnamedplus