Compare commits
161 Commits
be4c20b3e5
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
0f5adc489c | ||
![]() |
8adb11049d | ||
![]() |
e5ae14bb1c | ||
![]() |
0815537beb | ||
![]() |
027eba011c | ||
006cc70889 | |||
16cc781e60 | |||
![]() |
9e8ac7bce4 | ||
![]() |
24c5277498 | ||
bf172fb381 | |||
25cfc15bd0 | |||
a710f648ae | |||
![]() |
2f645a2c00 | ||
c9b8dee5c6 | |||
![]() |
9b186eb23c | ||
9cdb8bee9d | |||
827ae25751 | |||
95814eb86b | |||
ac84c755a9 | |||
1b3cb98eee | |||
198eebf21d | |||
ed4e2d3b3d | |||
91127fde5b | |||
cb07c1c3b7 | |||
3bc4ea90c7 | |||
a7fe63b095 | |||
18c2686bec | |||
7fc46e0f13 | |||
a6f6c8d577 | |||
3ea2743893 | |||
981b1d8008 | |||
ffacf2038d | |||
deda1f1281 | |||
8086bb7a53 | |||
5c730c5256 | |||
6445b29a86 | |||
28588ff57e | |||
738955e19d | |||
67ea34d304 | |||
4848c67a9c | |||
2ee3350512 | |||
6b22272eb1 | |||
28fd1bd233 | |||
605fc3dd51 | |||
70ec6f36da | |||
fe9f18c43d | |||
9484efa16d | |||
b8f053d270 | |||
45f5578291 | |||
6622f7300d | |||
13f49664cd | |||
a615a24f42 | |||
0b4683d3e1 | |||
0a0186fe64 | |||
ae94267b33 | |||
31a49da779 | |||
acfb9ff9c0 | |||
d858594201 | |||
72310b3b0a | |||
1324e357e9 | |||
ff7a4fdbcd | |||
68f8d35da8 | |||
3521c1b612 | |||
2423aa9c2f | |||
97ca59fc0c | |||
6ae1f099af | |||
4177d5aafb | |||
b76aa2784c | |||
0c012293e3 | |||
7734599a50 | |||
def82b1c74 | |||
83b825f796 | |||
fedc3af129 | |||
9b9b76cb2c | |||
957b150359 | |||
e9257b3c4b | |||
f516b68126 | |||
4ca6b4c8aa | |||
a5010b43ac | |||
bf2f3952ad | |||
53d847d783 | |||
16ab9afe83 | |||
de937b8c44 | |||
fefe9b93a7 | |||
1ba118652c | |||
e26e9db2e1 | |||
ff7b8f243c | |||
b4e8ccb8c7 | |||
![]() |
96d6b99ed6 | ||
e3a3a491f5 | |||
e6bd24164c | |||
dec37fe397 | |||
9f6db93472 | |||
eb71d8839f | |||
18b645436d | |||
15bf832b30 | |||
fa23d478cd | |||
c937f338c1 | |||
2fdbe37063 | |||
628fd789a9 | |||
3f6245124b | |||
957bfc9c6f | |||
cb234c9775 | |||
d246d18dfb | |||
40ec8db964 | |||
245976844e | |||
64dac3dc6c | |||
ee741b7517 | |||
42c88c9eef | |||
2538eed296 | |||
d8548f93b5 | |||
d00a229382 | |||
3f48e9f050 | |||
ca1d4cf955 | |||
0adcd754e1 | |||
90d2f4337f | |||
7893e7e6d2 | |||
4fd2acf8fa | |||
24d96347b2 | |||
7ecff92959 | |||
e3146e2d4a | |||
e93dc5a484 | |||
8495a21f62 | |||
446a6b17ec | |||
a0ca88fc3d | |||
e3e89c456e | |||
7c376d009d | |||
334cdd525a | |||
8377c9454b | |||
4fdd26f407 | |||
eddc42b3ec | |||
c63753e599 | |||
b339a8e9db | |||
331af7f488 | |||
a1eaf76575 | |||
a5c5a9315a | |||
58998df871 | |||
f766ce0b60 | |||
cbe5f594b5 | |||
08e7bb2f31 | |||
c33b936f84 | |||
6a34659052 | |||
1237d4b356 | |||
723962b0da | |||
402eed13f1 | |||
80e2a0ea21 | |||
684e21a4eb | |||
1ec548bbca | |||
b56c89529b | |||
9d48e747ad | |||
4be3b48cd9 | |||
65808aed66 | |||
03dc9528e1 | |||
9fee2d2216 | |||
bee4fba744 | |||
adf9a740f0 | |||
fe22720cae | |||
76cea58fb0 | |||
c9c615a2db | |||
28682f4a98 | |||
c5a88decef |
6
.chezmoi.yaml.tmpl
Normal file
6
.chezmoi.yaml.tmpl
Normal file
@@ -0,0 +1,6 @@
|
||||
sourceDir: ~/repos/dotfiles
|
||||
merge:
|
||||
command: vim
|
||||
args: "-d"
|
||||
diff:
|
||||
pager: "less -R"
|
@@ -4,3 +4,13 @@
|
||||
exact = true
|
||||
stripComponents = 1
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".config/variety/plugins/verse.py"]
|
||||
type = "file"
|
||||
url = "https://raw.githubusercontent.com/Crissium/variety-daily-verse/master/verse.py"
|
||||
refreshPeriod = "168h"
|
||||
|
||||
[".local/share/xxtools"]
|
||||
type = "git-repo"
|
||||
url = "https://github.com/Piraty/xxtools.git"
|
||||
refreshPeriod = "168h"
|
||||
|
14
.chezmoiignore
Normal file
14
.chezmoiignore
Normal file
@@ -0,0 +1,14 @@
|
||||
README.md
|
||||
|
||||
{{ if or (eq .chezmoi.hostname "daybreak") (eq .chezmoi.hostname "epoch") (eq .chezmoi.hostname "UGC13335X84") (env "ANDROID_ROOT") }}
|
||||
.config/beets
|
||||
.config/davfs2/secrets
|
||||
.config/kitty
|
||||
.config/kitty/kitty-gruvbox-theme
|
||||
.config/sway
|
||||
.config/waybar
|
||||
{{ end }}
|
||||
|
||||
{{ if or (eq .chezmoi.hostname "daybreak") (eq .chezmoi.hostname "epoch") (eq .chezmoi.hostname "UGC13335X84") }}
|
||||
.local/share/gnupg/sshcontrol
|
||||
{{ end }}
|
27
README.md
Normal file
27
README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Miscellaneous topics that I'm too lazy to script
|
||||
## Firefox with tree-style tabs
|
||||
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
|
||||
layers.acceleration.force-enabled
|
||||
gfx.webrender.all
|
||||
gfx.webrender.enabled
|
||||
layout.css.backdrop-filter.enabled
|
||||
svg.context-properties.content.enabled
|
||||
```
|
||||
2. Close Firefox.
|
||||
3. Create the file `<firefox profile>/chrome/userChrome.css` in the Firefox
|
||||
profile directory (there may be multiple directories, one will only have one
|
||||
file called `times.json`, this is the wrong one, choose the other one):
|
||||
- Windows: `%AppData%/Mozilla/Firefox/Profiles`
|
||||
- Linux: `~/.mozilla/firefox`
|
||||
```
|
||||
#TabsToolbar
|
||||
{
|
||||
visibility: collapse;
|
||||
}
|
||||
```
|
||||
4. Open Firefox and confirm the top bar is gone. To enable the title bar, go to
|
||||
`Menu -> More Tools -> Customize toolbar...` and check "Title Bar" in the
|
||||
bottom-left corner.
|
47
dot_config/beets/config.yaml.tmpl
Normal file
47
dot_config/beets/config.yaml.tmpl
Normal file
@@ -0,0 +1,47 @@
|
||||
directory: ~/Music
|
||||
library: ~/.config/beets/library.db
|
||||
plugins: chroma embedart edit convert fetchart missing unimported
|
||||
|
||||
import:
|
||||
write: yes
|
||||
move: yes
|
||||
resume: no
|
||||
timid: no
|
||||
incremental: no
|
||||
|
||||
musicbrainz:
|
||||
user: {{ (rbw "musicbrainz.org").data.username }}
|
||||
pass: {{ (rbw "musicbrainz.org").data.password }}
|
||||
|
||||
embedart:
|
||||
auto: no
|
||||
|
||||
convert:
|
||||
format: opus
|
||||
formats:
|
||||
vorbis:
|
||||
command: ffmpeg -i $source -y -vn -acodec libvorbis -aq 5 $dest
|
||||
extension: vorbis.ogg
|
||||
opus:
|
||||
command: ffmpeg -i $source -y -vn -acodec libopus -ab 128k $dest
|
||||
extension: opus.ogg
|
||||
embed: yes
|
||||
copy_album_art: no
|
||||
never_convert_lossy_files: yes
|
||||
dest: ~/Downloads
|
||||
|
||||
acoustid:
|
||||
apikey: {{ (rbw "acoustid.org").data.password }}
|
||||
|
||||
fetchart:
|
||||
sources: filesystem *
|
||||
auto: yes
|
||||
maxwidth: 600
|
||||
minwidth: 200
|
||||
|
||||
chroma:
|
||||
auto: no
|
||||
|
||||
unimported:
|
||||
ignore_extensions: jpg png
|
||||
ignore_subdirectories: temp
|
170
dot_config/bottom/bottom.toml
Normal file
170
dot_config/bottom/bottom.toml
Normal file
@@ -0,0 +1,170 @@
|
||||
# This is a default config file for bottom. All of the settings are commented
|
||||
# out by default; if you wish to change them uncomment and modify as you see
|
||||
# fit.
|
||||
|
||||
# This group of options represents a command-line flag/option. Flags explicitly
|
||||
# added when running (ie: btm -a) will override this config file if an option
|
||||
# is also set here.
|
||||
|
||||
[flags]
|
||||
# Whether to hide the average cpu entry.
|
||||
#hide_avg_cpu = false
|
||||
# Whether to use dot markers rather than braille.
|
||||
#dot_marker = false
|
||||
# The update rate of the application.
|
||||
#rate = 1000
|
||||
# Whether to put the CPU legend to the left.
|
||||
#left_legend = false
|
||||
# Whether to set CPU% on a process to be based on the total CPU or just current usage.
|
||||
#current_usage = false
|
||||
# Whether to group processes with the same name together by default.
|
||||
#group_processes = false
|
||||
# Whether to make process searching case sensitive by default.
|
||||
#case_sensitive = false
|
||||
# Whether to make process searching look for matching the entire word by default.
|
||||
#whole_word = false
|
||||
# Whether to make process searching use regex by default.
|
||||
#regex = false
|
||||
# Defaults to Celsius. Temperature is one of:
|
||||
#temperature_type = "k"
|
||||
#temperature_type = "f"
|
||||
#temperature_type = "c"
|
||||
#temperature_type = "kelvin"
|
||||
#temperature_type = "fahrenheit"
|
||||
#temperature_type = "celsius"
|
||||
# The default time interval (in milliseconds).
|
||||
#default_time_value = 60000
|
||||
# The time delta on each zoom in/out action (in milliseconds).
|
||||
#time_delta = 15000
|
||||
# Hides the time scale.
|
||||
#hide_time = false
|
||||
# Override layout default widget
|
||||
#default_widget_type = "proc"
|
||||
#default_widget_count = 1
|
||||
# Use basic mode
|
||||
#basic = false
|
||||
# Use the old network legend style
|
||||
#use_old_network_legend = false
|
||||
# Remove space in tables
|
||||
#hide_table_gap = false
|
||||
# Show the battery widgets
|
||||
#battery = false
|
||||
# Disable mouse clicks
|
||||
#disable_click = false
|
||||
# Built-in themes. Valid values are "default", "default-light", "gruvbox", "gruvbox-light", "nord", "nord-light"
|
||||
color = "gruvbox-light"
|
||||
# Show memory values in the processes widget as values by default
|
||||
#mem_as_value = false
|
||||
# Show tree mode by default in the processes widget.
|
||||
#tree = false
|
||||
# Shows an indicator in table widgets tracking where in the list you are.
|
||||
#show_table_scroll_position = false
|
||||
# Show processes as their commands by default in the process widget.
|
||||
#process_command = false
|
||||
# Displays the network widget with binary prefixes.
|
||||
#network_use_binary_prefix = false
|
||||
# Displays the network widget using bytes.
|
||||
#network_use_bytes = false
|
||||
# Displays the network widget with a log scale.
|
||||
#network_use_log = false
|
||||
# Hides advanced options to stop a process on Unix-like systems.
|
||||
#disable_advanced_kill = false
|
||||
|
||||
# These are all the components that support custom theming. Note that colour support
|
||||
# will depend on terminal support.
|
||||
|
||||
#[colors] # Uncomment if you want to use custom colors
|
||||
# Represents the colour of table headers (processes, CPU, disks, temperature).
|
||||
#table_header_color="LightBlue"
|
||||
# Represents the colour of the label each widget has.
|
||||
#widget_title_color="Gray"
|
||||
# Represents the average CPU color.
|
||||
#avg_cpu_color="Red"
|
||||
# Represents the colour the core will use in the CPU legend and graph.
|
||||
#cpu_core_colors=["LightMagenta", "LightYellow", "LightCyan", "LightGreen", "LightBlue", "LightRed", "Cyan", "Green", "Blue", "Red"]
|
||||
# Represents the colour RAM will use in the memory legend and graph.
|
||||
#ram_color="LightMagenta"
|
||||
# Represents the colour SWAP will use in the memory legend and graph.
|
||||
#swap_color="LightYellow"
|
||||
# Represents the colour rx will use in the network legend and graph.
|
||||
#rx_color="LightCyan"
|
||||
# Represents the colour tx will use in the network legend and graph.
|
||||
#tx_color="LightGreen"
|
||||
# Represents the colour of the border of unselected widgets.
|
||||
#border_color="Gray"
|
||||
# Represents the colour of the border of selected widgets.
|
||||
#highlighted_border_color="LightBlue"
|
||||
# Represents the colour of most text.
|
||||
#text_color="Gray"
|
||||
# Represents the colour of text that is selected.
|
||||
#selected_text_color="Black"
|
||||
# Represents the background colour of text that is selected.
|
||||
#selected_bg_color="LightBlue"
|
||||
# Represents the colour of the lines and text of the graph.
|
||||
#graph_color="Gray"
|
||||
# Represents the colours of the battery based on charge
|
||||
#high_battery_color="green"
|
||||
#medium_battery_color="yellow"
|
||||
#low_battery_color="red"
|
||||
|
||||
# Layout - layouts follow a pattern like this:
|
||||
# [[row]] represents a row in the application.
|
||||
# [[row.child]] represents either a widget or a column.
|
||||
# [[row.child.child]] represents a widget.
|
||||
#
|
||||
# All widgets must have the type value set to one of ["cpu", "mem", "proc", "net", "temp", "disk", "empty"].
|
||||
# All layout components have a ratio value - if this is not set, then it defaults to 1.
|
||||
# The default widget layout:
|
||||
#[[row]]
|
||||
# ratio=30
|
||||
# [[row.child]]
|
||||
# type="cpu"
|
||||
#[[row]]
|
||||
# ratio=40
|
||||
# [[row.child]]
|
||||
# ratio=4
|
||||
# type="mem"
|
||||
# [[row.child]]
|
||||
# ratio=3
|
||||
# [[row.child.child]]
|
||||
# type="temp"
|
||||
# [[row.child.child]]
|
||||
# type="disk"
|
||||
#[[row]]
|
||||
# ratio=30
|
||||
# [[row.child]]
|
||||
# type="net"
|
||||
# [[row.child]]
|
||||
# type="proc"
|
||||
# default=true
|
||||
|
||||
|
||||
# Filters - you can hide specific temperature sensors, network interfaces, and disks using filters. This is admittedly
|
||||
# a bit hard to use as of now, and there is a planned in-app interface for managing this in the future:
|
||||
#[disk_filter]
|
||||
#is_list_ignored = true
|
||||
#list = ["/dev/sda\\d+", "/dev/nvme0n1p2"]
|
||||
#regex = true
|
||||
#case_sensitive = false
|
||||
#whole_word = false
|
||||
|
||||
#[mount_filter]
|
||||
#is_list_ignored = true
|
||||
#list = ["/mnt/.*", "/boot"]
|
||||
#regex = true
|
||||
#case_sensitive = false
|
||||
#whole_word = false
|
||||
|
||||
#[temp_filter]
|
||||
#is_list_ignored = true
|
||||
#list = ["cpu", "wifi"]
|
||||
#regex = false
|
||||
#case_sensitive = false
|
||||
#whole_word = false
|
||||
|
||||
#[net_filter]
|
||||
#is_list_ignored = true
|
||||
#list = ["virbr0.*"]
|
||||
#regex = true
|
||||
#case_sensitive = false
|
||||
#whole_word = false
|
@@ -1,12 +1,23 @@
|
||||
. "$XDG_DATA_HOME/cargo/env"
|
||||
#!/bin/sh
|
||||
|
||||
# icky, but necessary since this might inject the needed XDG vars
|
||||
. "$HOME/.config/environment.local" 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
|
||||
export EDITOR=/usr/bin/nvim
|
||||
export SUDO_EDITOR=/usr/bin/nvim
|
||||
|
||||
# wayland
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export QT_QPA_PLATFORM=wayland
|
||||
export EDITOR=nvim
|
||||
export SUDO_EDITOR=nvim
|
||||
export PAGER=less
|
||||
|
||||
# sway stuff
|
||||
#export XDG_CURRENT_DESKTOP=sway
|
||||
@@ -14,18 +25,40 @@ export QT_QPA_PLATFORM=wayland
|
||||
#export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
|
||||
|
||||
# XDG enforcement
|
||||
export ANDROID_HOME="$XDG_DATA_HOME"/android
|
||||
export ANDROID_HOME="$XDG_DATA_HOME"/android/Sdk
|
||||
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
|
||||
export CARGO_HOME="$XDG_DATA_HOME"/cargo
|
||||
export GNUPGHOME="$XDG_DATA_HOME"/gnupg
|
||||
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
|
||||
export GRIDCOIN_DATADIR="$XDG_DATA_HOME"/GridcoinResearch
|
||||
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
|
||||
export KDEHOME="$XDG_CONFIG_HOME"/kde
|
||||
export LESSHISTFILE="$XDG_STATE_HOME"/less/history
|
||||
export MINETEST_USER_PATH="$XDG_DATA_HOME"/minetest
|
||||
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 PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
|
||||
export PATH="$HOME/.local/bin:$PATH:$XDG_DATA_HOME/xxtools:$XDG_DATA_HOME/flutter/bin:$ANDROID_HOME/platform-tools"
|
||||
export PYTHON_HISTORY="$XDG_STATE_HOME"/python_history
|
||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
|
||||
export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||
export XCURSOR_PATH=/usr/share/icons:"$XDG_DATA_HOME"/icons
|
||||
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
||||
|
||||
export XBPS_DISTDIR=$HOME/repos/void-packages
|
||||
export PGUSER=postgres
|
||||
export XBPS_DISTDIR="$HOME"/repos/void-packages
|
||||
|
||||
# pipewire logging
|
||||
#export PIPEWIRE_DEBUG="*:1,mod.raop*:5,default*:5"
|
||||
#export PIPEWIRE_LOG=/home/joel/pipewire.log
|
||||
|
||||
# Android build stuff
|
||||
export USE_CCACHE=1
|
||||
export CCACHE_EXEC=/usr/bin/ccache
|
||||
export ANDROID_STUDIO=/opt/android-studio
|
||||
|
271
dot_config/foot/foot.ini
Normal file
271
dot_config/foot/foot.ini
Normal file
@@ -0,0 +1,271 @@
|
||||
# -*- conf -*-
|
||||
|
||||
# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
|
||||
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
|
||||
# login-shell=no
|
||||
|
||||
# app-id=foot # globally set wayland app-id. Default values are "foot" and "footclient" for desktop and server mode
|
||||
# title=foot
|
||||
# locked-title=no
|
||||
|
||||
font=FiraCode:size=10
|
||||
# font-bold=<bold variant of regular font>
|
||||
# font-italic=<italic variant of regular font>
|
||||
# font-bold-italic=<bold+italic variant of regular font>
|
||||
# font-size-adjustment=0.5
|
||||
# line-height=<font metrics>
|
||||
# letter-spacing=0
|
||||
# horizontal-letter-offset=0
|
||||
# vertical-letter-offset=0
|
||||
# underline-offset=<font metrics>
|
||||
# underline-thickness=<font underline thickness>
|
||||
# strikeout-thickness=<font strikeout thickness>
|
||||
# box-drawings-uses-font-glyphs=no
|
||||
# dpi-aware=no
|
||||
|
||||
# initial-window-size-pixels=700x500 # Or,
|
||||
# initial-window-size-chars=<COLSxROWS>
|
||||
initial-window-mode=maximized
|
||||
pad=1x1 # optionally append 'center'
|
||||
# resize-by-cells=yes
|
||||
# resize-keep-grid=yes
|
||||
# resize-delay-ms=100
|
||||
|
||||
# bold-text-in-bright=no
|
||||
# word-delimiters=,│`|:"'()[]{}<>
|
||||
# selection-target=primary
|
||||
# workers=<number of logical CPUs>
|
||||
# utmp-helper=/usr/lib/utempter/utempter # When utmp backend is ‘libutempter’ (Linux)
|
||||
# utmp-helper=/usr/libexec/ulog-helper # When utmp backend is ‘ulog’ (FreeBSD)
|
||||
|
||||
[environment]
|
||||
# name=value
|
||||
|
||||
[security]
|
||||
# osc52=enabled # disabled|copy-enabled|paste-enabled|enabled
|
||||
|
||||
[bell]
|
||||
# system=yes
|
||||
# urgent=no
|
||||
# notify=no
|
||||
# visual=no
|
||||
# command=
|
||||
# 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]
|
||||
# lines=1000
|
||||
# multiplier=3.0
|
||||
# indicator-position=relative
|
||||
# indicator-format=""
|
||||
|
||||
[url]
|
||||
# launch=xdg-open ${url}
|
||||
# label-letters=sadfjklewcmpgh
|
||||
# osc8-underline=url-mode
|
||||
# regex=(([a-z][[:alnum:]-]+:(/{1,3}|[a-z0-9%])|www[:digit:]{0,3}[.])([^[:space:](){}<>]+|\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\])+(\(([^[:space:](){}<>]+|(\([^[:space:](){}<>]+\)))*\)|\[([^]\[[:space:](){}<>]+|(\[[^]\[[:space:](){}<>]+\]))*\]|[^]\[[:space:]`!(){};:'".,<>?«»“”‘’]))
|
||||
|
||||
# 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]
|
||||
# style=block
|
||||
# color=<inverse foreground/background>
|
||||
# blink=no
|
||||
# blink-rate=500
|
||||
# beam-thickness=1.5
|
||||
# underline-thickness=<font underline thickness>
|
||||
|
||||
[mouse]
|
||||
# hide-when-typing=no
|
||||
# alternate-scroll-mode=yes
|
||||
|
||||
[touch]
|
||||
# long-press-delay=400
|
||||
|
||||
[colors]
|
||||
alpha=0.95
|
||||
background=fbf1c7
|
||||
foreground=3c3836
|
||||
|
||||
# Normal/regular colors (color palette 0-7)
|
||||
regular0=bdae93
|
||||
regular1=cc241d
|
||||
regular2=98971a
|
||||
regular3=d79921
|
||||
regular4=458588
|
||||
regular5=b16286
|
||||
regular6=689d6a
|
||||
regular7=7c6f64
|
||||
|
||||
# Bright colors (color palette 8-15)
|
||||
bright0=a89984
|
||||
bright1=9d0006
|
||||
bright2=79740e
|
||||
bright3=b57614
|
||||
bright4=076678
|
||||
bright5=8f3f71
|
||||
bright6=427b58
|
||||
bright7=665c54
|
||||
|
||||
## dimmed colors (see foot.ini(5) man page)
|
||||
# dim0=<not set>
|
||||
# ...
|
||||
# dim7=<not-set>
|
||||
|
||||
## The remaining 256-color palette
|
||||
# 16 = <256-color palette #16>
|
||||
# ...
|
||||
# 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
|
||||
# selection-foreground=<inverse foreground/background>
|
||||
# selection-background=<inverse foreground/background>
|
||||
# jump-labels=<regular0> <regular3> # black-on-yellow
|
||||
# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue
|
||||
# search-box-no-match=<regular0> <regular1> # black-on-red
|
||||
# search-box-match=<regular0> <regular3> # black-on-yellow
|
||||
# urls=<regular3>
|
||||
|
||||
[csd]
|
||||
# preferred=server
|
||||
# size=26
|
||||
# font=<primary font>
|
||||
# color=<foreground color>
|
||||
# hide-when-maximized=no
|
||||
# double-click-to-maximize=yes
|
||||
# border-width=0
|
||||
# border-color=<csd.color>
|
||||
# button-width=26
|
||||
# button-color=<background color>
|
||||
# button-minimize-color=<regular4>
|
||||
# button-maximize-color=<regular2>
|
||||
# button-close-color=<regular1>
|
||||
|
||||
[key-bindings]
|
||||
# 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
|
||||
# clipboard-copy=Control+Shift+c XF86Copy
|
||||
# clipboard-paste=Control+Shift+v XF86Paste
|
||||
# primary-paste=Shift+Insert
|
||||
# search-start=Control+Shift+r
|
||||
# font-increase=Control+plus Control+equal Control+KP_Add
|
||||
# font-decrease=Control+minus Control+KP_Subtract
|
||||
# font-reset=Control+0 Control+KP_0
|
||||
# spawn-terminal=Control+Shift+n
|
||||
# minimize=none
|
||||
# maximize=none
|
||||
# fullscreen=none
|
||||
# pipe-visible=[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-command-output=[wl-copy] none # Copy last command's output to the clipboard
|
||||
# show-urls-launch=Control+Shift+o
|
||||
# show-urls-copy=none
|
||||
# show-urls-persistent=none
|
||||
# prompt-prev=Control+Shift+z
|
||||
# prompt-next=Control+Shift+x
|
||||
# unicode-input=Control+Shift+u
|
||||
# noop=none
|
||||
# quit=none
|
||||
|
||||
[search-bindings]
|
||||
# cancel=Control+g Control+c Escape
|
||||
# commit=Return KP_Enter
|
||||
# find-prev=Control+r
|
||||
# find-next=Control+s
|
||||
# cursor-left=Left Control+b
|
||||
# cursor-left-word=Control+Left Mod1+b
|
||||
# cursor-right=Right Control+f
|
||||
# cursor-right-word=Control+Right Mod1+f
|
||||
# cursor-home=Home Control+a
|
||||
# cursor-end=End Control+e
|
||||
# delete-prev=BackSpace
|
||||
# delete-prev-word=Mod1+BackSpace Control+BackSpace
|
||||
# delete-next=Delete
|
||||
# delete-next-word=Mod1+d Control+Delete
|
||||
# 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-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
|
||||
# primary-paste=Shift+Insert
|
||||
# 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]
|
||||
# cancel=Control+g Control+c Control+d Escape
|
||||
# toggle-url-visible=t
|
||||
|
||||
[text-bindings]
|
||||
# \x03=Mod4+c # Map Super+c -> Ctrl+c
|
||||
|
||||
[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
|
||||
# primary-paste=BTN_MIDDLE
|
||||
# select-begin=BTN_LEFT
|
||||
# select-begin-block=Control+BTN_LEFT
|
||||
# select-extend=BTN_RIGHT
|
||||
# select-extend-character-wise=Control+BTN_RIGHT
|
||||
# select-word=BTN_LEFT-2
|
||||
# select-word-whitespace=Control+BTN_LEFT-2
|
||||
# select-quote = BTN_LEFT-3
|
||||
# select-row=BTN_LEFT-4
|
||||
|
||||
# vim: ft=dosini
|
6
dot_config/gammastep/config.ini
Normal file
6
dot_config/gammastep/config.ini
Normal file
@@ -0,0 +1,6 @@
|
||||
[general]
|
||||
temp-day=4500
|
||||
temp-night=3000
|
||||
fade=1
|
||||
adjustment-method=wayland
|
||||
location-provider=geoclue2
|
30
dot_config/git/config.tmpl
Normal file
30
dot_config/git/config.tmpl
Normal 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
|
36
dot_config/ideavim/ideavimrc
Normal file
36
dot_config/ideavim/ideavimrc
Normal 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
|
@@ -893,7 +893,7 @@ font_size 10.0
|
||||
#: insensitive, from the set [0-9A-Z]. Specify your preference as a
|
||||
#: string of characters.
|
||||
|
||||
# confirm_os_window_close -1
|
||||
confirm_os_window_close 2
|
||||
|
||||
#: Ask for confirmation when closing an OS window or a tab with at
|
||||
#: least this number of kitty windows in it by window manager (e.g.
|
||||
|
122
dot_config/litecli/config
Normal file
122
dot_config/litecli/config
Normal file
@@ -0,0 +1,122 @@
|
||||
# vi: ft=dosini
|
||||
[main]
|
||||
|
||||
# Multi-line mode allows breaking up the sql statements into multiple lines. If
|
||||
# this is set to True, then the end of the statements must have a semi-colon.
|
||||
# If this is set to False then sql statements can't be split into multiple
|
||||
# lines. End of line (return) is considered as the end of the statement.
|
||||
multi_line = False
|
||||
|
||||
# Destructive warning mode will alert you before executing a sql statement
|
||||
# that may cause harm to the database such as "drop table", "drop database"
|
||||
# or "shutdown".
|
||||
destructive_warning = True
|
||||
|
||||
# log_file location.
|
||||
# In Unix/Linux: ~/.config/litecli/log
|
||||
# In Windows: %USERPROFILE%\AppData\Local\dbcli\litecli\log
|
||||
# %USERPROFILE% is typically C:\Users\{username}
|
||||
log_file = default
|
||||
|
||||
# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
|
||||
# and "DEBUG". "NONE" disables logging.
|
||||
log_level = INFO
|
||||
|
||||
# Log every query and its results to a file. Enable this by uncommenting the
|
||||
# line below.
|
||||
# audit_log = ~/.litecli-audit.log
|
||||
|
||||
# Default pager.
|
||||
# By default '$PAGER' environment variable is used
|
||||
# pager = less -SRXF
|
||||
|
||||
# Table format. Possible values:
|
||||
# ascii, double, github, psql, plain, simple, grid, fancy_grid, pipe, orgtbl,
|
||||
# rst, mediawiki, html, latex, latex_booktabs, textile, moinmoin, jira,
|
||||
# vertical, tsv, csv.
|
||||
# Recommended: ascii
|
||||
table_format = ascii
|
||||
|
||||
# Syntax coloring style. Possible values (many support the "-dark" suffix):
|
||||
# manni, igor, xcode, vim, autumn, vs, rrt, native, perldoc, borland, tango, emacs,
|
||||
# friendly, monokai, paraiso, colorful, murphy, bw, pastie, paraiso, trac, default,
|
||||
# fruity.
|
||||
# Screenshots at http://mycli.net/syntax
|
||||
syntax_style = default
|
||||
|
||||
# Keybindings: Possible values: emacs, vi.
|
||||
# Emacs mode: Ctrl-A is home, Ctrl-E is end. All emacs keybindings are available in the REPL.
|
||||
# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.
|
||||
key_bindings = vi
|
||||
|
||||
# Enabling this option will show the suggestions in a wider menu. Thus more items are suggested.
|
||||
wider_completion_menu = False
|
||||
|
||||
# Autocompletion is on by default. This can be truned off by setting this
|
||||
# option to False. Pressing tab will still trigger completion.
|
||||
autocompletion = True
|
||||
|
||||
# litecli prompt
|
||||
# \D - The full current date
|
||||
# \d - Database name
|
||||
# \f - File basename of the "main" database
|
||||
# \m - Minutes of the current time
|
||||
# \n - Newline
|
||||
# \P - AM/PM
|
||||
# \R - The current time, in 24-hour military time (0-23)
|
||||
# \r - The current time, standard 12-hour time (1-12)
|
||||
# \s - Seconds of the current time
|
||||
# \x1b[...m - insert ANSI escape sequence
|
||||
prompt = '\d> '
|
||||
prompt_continuation = '-> '
|
||||
|
||||
# Show/hide the informational toolbar with function keymap at the footer.
|
||||
show_bottom_toolbar = True
|
||||
|
||||
# Skip intro info on startup and outro info on exit
|
||||
less_chatty = False
|
||||
|
||||
# Use alias from --login-path instead of host name in prompt
|
||||
login_path_as_host = False
|
||||
|
||||
# Cause result sets to be displayed vertically if they are too wide for the current window,
|
||||
# and using normal tabular format otherwise. (This applies to statements terminated by ; or \G.)
|
||||
auto_vertical_output = False
|
||||
|
||||
# keyword casing preference. Possible values "lower", "upper", "auto"
|
||||
keyword_casing = auto
|
||||
|
||||
# disabled pager on startup
|
||||
enable_pager = True
|
||||
|
||||
# Custom colors for the completion menu, toolbar, etc.
|
||||
[colors]
|
||||
completion-menu.completion.current = 'bg:#ffffff #000000'
|
||||
completion-menu.completion = 'bg:#008888 #ffffff'
|
||||
completion-menu.meta.completion.current = 'bg:#44aaaa #000000'
|
||||
completion-menu.meta.completion = 'bg:#448888 #ffffff'
|
||||
completion-menu.multi-column-meta = 'bg:#aaffff #000000'
|
||||
scrollbar.arrow = 'bg:#003333'
|
||||
scrollbar = 'bg:#00aaaa'
|
||||
selected = '#ffffff bg:#6666aa'
|
||||
search = '#ffffff bg:#4444aa'
|
||||
search.current = '#ffffff bg:#44aa44'
|
||||
bottom-toolbar = 'bg:#222222 #aaaaaa'
|
||||
bottom-toolbar.off = 'bg:#222222 #888888'
|
||||
bottom-toolbar.on = 'bg:#222222 #ffffff'
|
||||
search-toolbar = 'noinherit bold'
|
||||
search-toolbar.text = 'nobold'
|
||||
system-toolbar = 'noinherit bold'
|
||||
arg-toolbar = 'noinherit bold'
|
||||
arg-toolbar.text = 'nobold'
|
||||
bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold'
|
||||
bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold'
|
||||
|
||||
# style classes for colored table output
|
||||
output.header = "#00ff5f bold"
|
||||
output.odd-row = ""
|
||||
output.even-row = ""
|
||||
|
||||
|
||||
# Favorite queries.
|
||||
[favorite_queries]
|
@@ -37,10 +37,14 @@ vim.keymap.set('i', '<S-Tab>', function()
|
||||
return '<S-Tab>'
|
||||
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
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.expandtab = true
|
||||
|
||||
-- set filetype for void-packages templates
|
||||
vim.api.nvim_create_autocmd(
|
||||
@@ -63,8 +67,11 @@ require'nvim-treesitter.configs'.setup {
|
||||
}
|
||||
}
|
||||
|
||||
-- Install coc extensions
|
||||
vim.g.coc_global_extensions = {'coc-json', 'coc-lua', 'coc-pyright', 'coc-rust-analyzer', 'coc-yaml', 'coc-eslint'}
|
||||
|
||||
-- Turn on nice things
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
vim.opt.clipboard:append("unnamedplus")
|
||||
vim.opt.mouse = "a"
|
||||
|
||||
-- Colorscheme
|
||||
|
188
dot_config/pgcli/config
Normal file
188
dot_config/pgcli/config
Normal file
@@ -0,0 +1,188 @@
|
||||
# vi: ft=dosini
|
||||
[main]
|
||||
|
||||
# Enables context sensitive auto-completion. If this is disabled, all
|
||||
# possible completions will be listed.
|
||||
smart_completion = True
|
||||
|
||||
# Display the completions in several columns. (More completions will be
|
||||
# visible.)
|
||||
wider_completion_menu = False
|
||||
|
||||
# Multi-line mode allows breaking up the sql statements into multiple lines. If
|
||||
# this is set to True, then the end of the statements must have a semi-colon.
|
||||
# If this is set to False then sql statements can't be split into multiple
|
||||
# lines. End of line (return) is considered as the end of the statement.
|
||||
multi_line = False
|
||||
|
||||
# If multi_line_mode is set to "psql", in multi-line mode, [Enter] will execute
|
||||
# the current input if the input ends in a semicolon.
|
||||
# If multi_line_mode is set to "safe", in multi-line mode, [Enter] will always
|
||||
# insert a newline, and [Esc] [Enter] or [Alt]-[Enter] must be used to execute
|
||||
# a command.
|
||||
multi_line_mode = psql
|
||||
|
||||
# Destructive warning mode will alert you before executing a sql statement
|
||||
# that may cause harm to the database such as "drop table", "drop database"
|
||||
# or "shutdown".
|
||||
destructive_warning = True
|
||||
|
||||
# Enables expand mode, which is similar to `\x` in psql.
|
||||
expand = False
|
||||
|
||||
# Enables auto expand mode, which is similar to `\x auto` in psql.
|
||||
auto_expand = False
|
||||
|
||||
# If set to True, table suggestions will include a table alias
|
||||
generate_aliases = False
|
||||
|
||||
# log_file location.
|
||||
# In Unix/Linux: ~/.config/pgcli/log
|
||||
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\log
|
||||
# %USERPROFILE% is typically C:\Users\{username}
|
||||
log_file = ~/.local/state/pgcli/log
|
||||
|
||||
# keyword casing preference. Possible values "lower", "upper", "auto"
|
||||
keyword_casing = auto
|
||||
|
||||
# casing_file location.
|
||||
# In Unix/Linux: ~/.config/pgcli/casing
|
||||
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\casing
|
||||
# %USERPROFILE% is typically C:\Users\{username}
|
||||
casing_file = default
|
||||
|
||||
# If generate_casing_file is set to True and there is no file in the above
|
||||
# location, one will be generated based on usage in SQL/PLPGSQL functions.
|
||||
generate_casing_file = False
|
||||
|
||||
# Casing of column headers based on the casing_file described above
|
||||
case_column_headers = True
|
||||
|
||||
# history_file location.
|
||||
# In Unix/Linux: ~/.config/pgcli/history
|
||||
# In Windows: %USERPROFILE%\AppData\Local\dbcli\pgcli\history
|
||||
# %USERPROFILE% is typically C:\Users\{username}
|
||||
history_file = ~/.local/state/pgcli/history
|
||||
|
||||
# Default log level. Possible values: "CRITICAL", "ERROR", "WARNING", "INFO"
|
||||
# and "DEBUG". "NONE" disables logging.
|
||||
log_level = INFO
|
||||
|
||||
# Order of columns when expanding * to column list
|
||||
# Possible values: "table_order" and "alphabetic"
|
||||
asterisk_column_order = table_order
|
||||
|
||||
# Whether to qualify with table alias/name when suggesting columns
|
||||
# Possible values: "always", never" and "if_more_than_one_table"
|
||||
qualify_columns = if_more_than_one_table
|
||||
|
||||
# When no schema is entered, only suggest objects in search_path
|
||||
search_path_filter = False
|
||||
|
||||
# Default pager.
|
||||
# By default 'PAGER' environment variable is used
|
||||
# pager = less -SRXF
|
||||
|
||||
# Timing of sql statments and table rendering.
|
||||
timing = True
|
||||
|
||||
# Table format. Possible values: psql, plain, simple, grid, fancy_grid, pipe,
|
||||
# ascii, double, github, orgtbl, rst, mediawiki, html, latex, latex_booktabs,
|
||||
# textile, moinmoin, jira, vertical, tsv, csv.
|
||||
# Recommended: psql, fancy_grid and grid.
|
||||
table_format = psql
|
||||
|
||||
# Syntax Style. Possible values: manni, igor, xcode, vim, autumn, vs, rrt,
|
||||
# native, perldoc, borland, tango, emacs, friendly, monokai, paraiso-dark,
|
||||
# colorful, murphy, bw, pastie, paraiso-light, trac, default, fruity
|
||||
syntax_style = default
|
||||
|
||||
# Keybindings:
|
||||
# When Vi mode is enabled you can use modal editing features offered by Vi in the REPL.
|
||||
# When Vi mode is disabled emacs keybindings such as Ctrl-A for home and Ctrl-E
|
||||
# for end are available in the REPL.
|
||||
vi = True
|
||||
|
||||
# Error handling
|
||||
# When one of multiple SQL statements causes an error, choose to either
|
||||
# continue executing the remaining statements, or stopping
|
||||
# Possible values "STOP" or "RESUME"
|
||||
on_error = STOP
|
||||
|
||||
# Set threshold for row limit. Use 0 to disable limiting.
|
||||
row_limit = 1000
|
||||
|
||||
# Skip intro on startup and goodbye on exit
|
||||
less_chatty = False
|
||||
|
||||
# Postgres prompt
|
||||
# \t - Current date and time
|
||||
# \u - Username
|
||||
# \h - Short hostname of the server (up to first '.')
|
||||
# \H - Hostname of the server
|
||||
# \d - Database name
|
||||
# \p - Database port
|
||||
# \i - Postgres PID
|
||||
# \# - "@" sign if logged in as superuser, '>' in other case
|
||||
# \n - Newline
|
||||
# \dsn_alias - name of dsn alias if -D option is used (empty otherwise)
|
||||
# \x1b[...m - insert ANSI escape sequence
|
||||
# eg: prompt = '\x1b[35m\u@\x1b[32m\h:\x1b[36m\d>'
|
||||
prompt = '\u@\h:\d> '
|
||||
|
||||
# Number of lines to reserve for the suggestion menu
|
||||
min_num_menu_lines = 4
|
||||
|
||||
# Character used to left pad multi-line queries to match the prompt size.
|
||||
multiline_continuation_char = ''
|
||||
|
||||
# The string used in place of a null value.
|
||||
null_string = '<null>'
|
||||
|
||||
# manage pager on startup
|
||||
enable_pager = True
|
||||
|
||||
# Use keyring to automatically save and load password in a secure manner
|
||||
keyring = True
|
||||
|
||||
# Custom colors for the completion menu, toolbar, etc.
|
||||
[colors]
|
||||
completion-menu.completion.current = 'bg:#ffffff #000000'
|
||||
completion-menu.completion = 'bg:#008888 #ffffff'
|
||||
completion-menu.meta.completion.current = 'bg:#44aaaa #000000'
|
||||
completion-menu.meta.completion = 'bg:#448888 #ffffff'
|
||||
completion-menu.multi-column-meta = 'bg:#aaffff #000000'
|
||||
scrollbar.arrow = 'bg:#003333'
|
||||
scrollbar = 'bg:#00aaaa'
|
||||
selected = '#ffffff bg:#6666aa'
|
||||
search = '#ffffff bg:#4444aa'
|
||||
search.current = '#ffffff bg:#44aa44'
|
||||
bottom-toolbar = 'bg:#222222 #aaaaaa'
|
||||
bottom-toolbar.off = 'bg:#222222 #888888'
|
||||
bottom-toolbar.on = 'bg:#222222 #ffffff'
|
||||
search-toolbar = 'noinherit bold'
|
||||
search-toolbar.text = 'nobold'
|
||||
system-toolbar = 'noinherit bold'
|
||||
arg-toolbar = 'noinherit bold'
|
||||
arg-toolbar.text = 'nobold'
|
||||
bottom-toolbar.transaction.valid = 'bg:#222222 #00ff5f bold'
|
||||
bottom-toolbar.transaction.failed = 'bg:#222222 #ff005f bold'
|
||||
|
||||
# style classes for colored table output
|
||||
output.header = "#00ff5f bold"
|
||||
output.odd-row = ""
|
||||
output.even-row = ""
|
||||
|
||||
# Named queries are queries you can execute by name.
|
||||
[named queries]
|
||||
|
||||
# DSN to call by -D option
|
||||
[alias_dsn]
|
||||
# example_dsn = postgresql://[user[:password]@][netloc][:port][/dbname]
|
||||
|
||||
# Format for number representation
|
||||
# for decimal "d" - 12345678, ",d" - 12,345,678
|
||||
# for float "g" - 123456.78, ",g" - 123,456.78
|
||||
[data_formats]
|
||||
decimal = ""
|
||||
float = ""
|
1
dot_config/private_davfs2/private_secrets.tmpl
Normal file
1
dot_config/private_davfs2/private_secrets.tmpl
Normal file
@@ -0,0 +1 @@
|
||||
https://cloud.beckmeyer.us/remote.php/dav/files/joel joel {{ (rbw "cloud.beckmeyer.us" "joel").data.password }}
|
2
dot_config/sqlite3/sqliterc
Normal file
2
dot_config/sqlite3/sqliterc
Normal file
@@ -0,0 +1,2 @@
|
||||
.mode column
|
||||
.headers on
|
359
dot_config/sway/config
Normal file
359
dot_config/sway/config
Normal file
@@ -0,0 +1,359 @@
|
||||
# config for sway
|
||||
#
|
||||
# Read `man 5 sway` for a complete reference.
|
||||
|
||||
# Import theme first so invidual modifications can be made
|
||||
include ~/.config/sway/themes/gruvbox
|
||||
|
||||
### Variables
|
||||
#
|
||||
# Logo key. Use Mod1 for Alt.
|
||||
set $mod Mod4
|
||||
# Home row direction keys, like vim
|
||||
set $left h
|
||||
set $down j
|
||||
set $up k
|
||||
set $right l
|
||||
# Your preferred terminal emulator
|
||||
set $term GDK_BACKEND=wayland kitty
|
||||
# Your preferred application launcher
|
||||
set $DMENU_LINES 6
|
||||
set $menu wofi --show drun
|
||||
set $userpass rofi-rbw
|
||||
set $user rofi-rbw --target username
|
||||
set $pass rofi-rbw --target password
|
||||
set $totp rofi-rbw --target TOTP
|
||||
# Your preferred screen locker (also starts BOINC to ensure all idle time is
|
||||
# being used)
|
||||
set $lock swaylock -f --scaling=center -i ~/Pictures/wallpapers/the-northern-forest-1920×1080.jpg
|
||||
# Volume commands
|
||||
set $volume-up pactl set-sink-volume @DEFAULT_SINK@ +2% && killall -SIGUSR1 i3status
|
||||
set $volume-down pactl set-sink-volume @DEFAULT_SINK@ -2% && killall -SIGUSR1 i3status
|
||||
set $volume-mute pactl set-sink-mute @DEFAULT_SINK@ toggle && killall -SIGUSR1 i3status
|
||||
|
||||
# Brightness commands
|
||||
set $brightness-up brightnessctl s 1%+
|
||||
set $brightness-down brightnessctl s 1%-
|
||||
|
||||
# BOINC commands
|
||||
set $start_boinc boinccmd --set_run_mode auto
|
||||
set $stop_boinc boinccmd --set_run_mode never
|
||||
|
||||
# lazy-load Xwayland
|
||||
xwayland enable
|
||||
|
||||
### Output configuration
|
||||
#
|
||||
# Configuration for TV:
|
||||
output DP-1 pos 0,0
|
||||
output HDMI-A-1 pos 1680,0
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# output VGA-1 resolution 1920x1080 position 1920,0
|
||||
#
|
||||
# You can get the names of your outputs by running: swaymsg -t get_outputs
|
||||
#output eDP-1 resolution 1366X768 position 0,0
|
||||
#output VGA-1 resolution 1680x1050 position 1366,0
|
||||
|
||||
### Input configuration
|
||||
#
|
||||
# Example configuration:
|
||||
#
|
||||
# input "2:14:SynPS/2_Synaptics_TouchPad" {
|
||||
# dwt enabled
|
||||
# tap enabled
|
||||
# natural_scroll enabled
|
||||
# middle_emulation enabled
|
||||
# }
|
||||
#
|
||||
# You can get the names of your inputs by running: swaymsg -t get_inputs
|
||||
# Read `man 5 sway-input` for more information about this section.
|
||||
|
||||
# Keyboard configuration
|
||||
input "16700:8197:DELL_DELL_USB_Keyboard" {
|
||||
xkb_layout "us,us"
|
||||
xkb_variant ",dvorak"
|
||||
xkb_options "caps:swapescape, grp:shifts_toggle"
|
||||
}
|
||||
|
||||
input "1118:2092:Microsoft_Microsoft_Ergonomic_Keyboard" {
|
||||
xkb_layout "us,us"
|
||||
xkb_variant ",dvorak"
|
||||
xkb_options "caps:swapescape, grp:shifts_toggle"
|
||||
}
|
||||
|
||||
input "1155:22288:STMicroelectronics_obins_anne_keyboard" {
|
||||
xkb_layout "us,us"
|
||||
xkb_variant ",dvorak"
|
||||
xkb_options "caps:swapescape, grp:shifts_toggle"
|
||||
}
|
||||
|
||||
focus_follows_mouse no
|
||||
focus_wrapping yes
|
||||
|
||||
font "Ubuntu Light 8"
|
||||
title_align center
|
||||
|
||||
### Key bindings
|
||||
#
|
||||
# Basics:
|
||||
#
|
||||
# start a terminal
|
||||
bindsym $mod+Return exec $term
|
||||
|
||||
# kill focused window
|
||||
bindsym $mod+u kill
|
||||
|
||||
# start your launcher/dmenu
|
||||
bindsym $mod+o exec $menu
|
||||
|
||||
# screenshot
|
||||
bindsym $mod+x exec grim -c -g "$(slurp)" ~/Pictures/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')
|
||||
bindsym $mod+Shift+x exec grim -c ~/Pictures/screenshots/$(date +'%Y-%m-%d-%H%M%S_grim.png')
|
||||
|
||||
# Drag floating windows by holding down $mod and left mouse button.
|
||||
# Resize them with right mouse button + $mod.
|
||||
# Despite the name, also works for non-floating windows.
|
||||
# Change normal to inverse to use left mouse button for resizing and right
|
||||
# mouse button for dragging.
|
||||
floating_modifier $mod normal
|
||||
|
||||
# reload the configuration file
|
||||
bindsym $mod+Alt+c reload
|
||||
|
||||
#
|
||||
# Moving around:
|
||||
#
|
||||
# Move your focus around
|
||||
bindsym $mod+$left focus left
|
||||
bindsym $mod+$down focus down
|
||||
bindsym $mod+$up focus up
|
||||
bindsym $mod+$right focus right
|
||||
# or use $mod+[up|down|left|right]
|
||||
bindsym $mod+Left focus left
|
||||
bindsym $mod+Down focus down
|
||||
bindsym $mod+Up focus up
|
||||
bindsym $mod+Right focus right
|
||||
|
||||
# Move the focused window with the same, but add Alt
|
||||
bindsym $mod+Alt+$left move left
|
||||
bindsym $mod+Alt+$down move down
|
||||
bindsym $mod+Alt+$up move up
|
||||
bindsym $mod+Alt+$right move right
|
||||
# ditto, with arrow keys
|
||||
bindsym $mod+Alt+Left move left
|
||||
bindsym $mod+Alt+Down move down
|
||||
bindsym $mod+Alt+Up move up
|
||||
bindsym $mod+Alt+Right move right
|
||||
#
|
||||
# Workspaces:
|
||||
#
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
workspace 1 output DP-2
|
||||
bindsym $mod+2 workspace 2
|
||||
workspace 2 output DP-2
|
||||
bindsym $mod+3 workspace 3
|
||||
workspace 3 output DP-2
|
||||
bindsym $mod+4 workspace 4
|
||||
workspace 4 output DP-2
|
||||
bindsym $mod+5 workspace 5
|
||||
workspace 5 output HDMI-A-1
|
||||
bindsym $mod+6 workspace 6
|
||||
workspace 6 output HDMI-A-1
|
||||
bindsym $mod+7 workspace 7
|
||||
workspace 7 output HDMI-A-1
|
||||
bindsym $mod+8 workspace 8
|
||||
workspace 8 output HDMI-A-1
|
||||
bindsym $mod+9 workspace 9
|
||||
workspace 9 output HDMI-A-1
|
||||
bindsym $mod+0 workspace 10
|
||||
workspace 10 output HDMI-A-1
|
||||
bindsym $mod+i workspace back_and_forth
|
||||
bindsym alt+tab workspace back_and_forth
|
||||
bindsym $mod+semicolon workspace prev
|
||||
bindsym $mod+apostrophe workspace next
|
||||
|
||||
bindsym $mod+Control+l move workspace to output HDMI-A-1
|
||||
bindsym $mod+Control+h move workspace to output DP-2
|
||||
# move focused container to workspace
|
||||
bindsym $mod+Alt+1 move container to workspace 1
|
||||
bindsym $mod+Alt+2 move container to workspace 2
|
||||
bindsym $mod+Alt+3 move container to workspace 3
|
||||
bindsym $mod+Alt+4 move container to workspace 4
|
||||
bindsym $mod+Alt+5 move container to workspace 5
|
||||
bindsym $mod+Alt+6 move container to workspace 6
|
||||
bindsym $mod+Alt+7 move container to workspace 7
|
||||
bindsym $mod+Alt+8 move container to workspace 8
|
||||
bindsym $mod+Alt+9 move container to workspace 9
|
||||
bindsym $mod+Alt+0 move container to workspace 10
|
||||
bindsym $mod+Alt+t move container to workspace prev
|
||||
bindsym $mod+Alt+y move container to workspace next
|
||||
|
||||
# Note: workspaces can have any name you want, not just numbers.
|
||||
# We just use 1-10 as the default.
|
||||
#
|
||||
# Layout stuff:
|
||||
#
|
||||
# You can "split" the current object of your focus with
|
||||
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||
# respectively. (This is disgusting, but the only way I can find
|
||||
# to bind square brackets)
|
||||
bindsym $mod+m splith
|
||||
bindsym $mod+n splitv
|
||||
|
||||
# Switch the current container between different layout styles
|
||||
bindsym $mod+s layout stacking
|
||||
bindsym $mod+w layout tabbed
|
||||
bindsym $mod+e layout toggle split
|
||||
|
||||
# Make the current focus fullscreen
|
||||
bindsym $mod+f fullscreen
|
||||
|
||||
# Toggle the current focus between tiling and floating mode
|
||||
bindsym $mod+Alt+space floating toggle
|
||||
|
||||
# Swap focus between the tiling area and the floating area
|
||||
bindsym $mod+space focus mode_toggle
|
||||
|
||||
# move focus to the parent container
|
||||
bindsym $mod+a focus parent
|
||||
bindsym $mod+d focus child
|
||||
#
|
||||
# Scratchpad:
|
||||
#
|
||||
# Sway has a "scratchpad", which is a bag of holding for windows.
|
||||
# You can send windows there and get them back later.
|
||||
|
||||
# Move the currently focused window to the scratchpad
|
||||
bindsym $mod+Alt+minus move scratchpad
|
||||
|
||||
# Show the next scratchpad window or hide the focused scratchpad window.
|
||||
# If there are multiple scratchpad windows, this command cycles through them.
|
||||
bindsym $mod+minus scratchpad show
|
||||
#
|
||||
# Resizing containers:
|
||||
#
|
||||
mode "resize" {
|
||||
# left will shrink the containers width
|
||||
# right will grow the containers width
|
||||
# up will shrink the containers height
|
||||
# down will grow the containers height
|
||||
bindsym $left resize shrink width 10 px or 10 ppt
|
||||
bindsym $down resize grow height 10 px or 10 ppt
|
||||
bindsym $up resize shrink height 10 px or 10 ppt
|
||||
bindsym $right resize grow width 10 px or 10 ppt
|
||||
|
||||
# ditto, with arrow keys
|
||||
bindsym Left resize shrink width 10 px or 10 ppt
|
||||
bindsym Down resize grow height 10 px or 10 ppt
|
||||
bindsym Up resize shrink height 10 px or 10 ppt
|
||||
bindsym Right resize grow width 10 px or 10 ppt
|
||||
|
||||
# return to default mode
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+r mode "resize"
|
||||
|
||||
mode "(l)ock, (s)uspend, (e)xit, (r)eboot, (p)ower" {
|
||||
bindsym l exec $lock, mode "default"
|
||||
bindsym s exec $lock && loginctl suspend, mode "default"
|
||||
bindsym e exit
|
||||
bindsym r exec loginctl reboot, mode "default"
|
||||
bindsym p exec loginctl poweroff, mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+y mode "(l)ock, (s)uspend, (e)xit, (r)eboot, (p)ower"
|
||||
|
||||
mode "(a)utotype, (u)sername only, (p)assword only, (t) totp" {
|
||||
bindsym a exec $userpass, mode "default"
|
||||
bindsym u exec $user, mode "default"
|
||||
bindsym p exec $pass, mode "default"
|
||||
bindsym t exec $totp, mode "default"
|
||||
|
||||
bindsym Return mode "default"
|
||||
bindsym Escape mode "default"
|
||||
}
|
||||
bindsym $mod+p mode "(a)utotype, (u)sername only, (p)assword only, (t) totp"
|
||||
|
||||
bindsym $mod+shift+p exec wofi-pass --type
|
||||
|
||||
### Brightness control keybindings
|
||||
bindsym --locked XF86MonBrightnessUp exec --no-startup-id $brightness-up
|
||||
bindsym --locked XF86MonBrightnessDown exec --no-startup-id $brightness-down
|
||||
|
||||
### Volume control keybindings
|
||||
bindsym --locked XF86AudioRaiseVolume exec --no-startup-id $volume-up
|
||||
bindsym --locked XF86AudioLowerVolume exec --no-startup-id $volume-down
|
||||
bindsym --locked XF86AudioMute exec --no-startup-id $volume-mute
|
||||
# Same, for external keyboards
|
||||
bindsym --locked $mod+period exec --no-startup-id $volume-up
|
||||
bindsym --locked $mod+comma exec --no-startup-id $volume-down
|
||||
bindsym --locked $mod+slash exec --no-startup-id $volume-mute
|
||||
|
||||
#
|
||||
# Status Bar:
|
||||
#
|
||||
# Read `man 5 sway-bar` for more information about this section.
|
||||
bar {
|
||||
swaybar_command waybar
|
||||
}
|
||||
|
||||
# swayidle
|
||||
exec swayidle -w \
|
||||
# timeout 300 '$start_boinc && $lock' \
|
||||
# timeout 600 'swaymsg "output * dpms off" && $start_boinc' \
|
||||
# resume 'swaymsg "output * dpms on"' \
|
||||
# before-sleep '$start_boinc && $lock' \
|
||||
|
||||
# window rules to make Steam games behave nice
|
||||
#inhibit_idle fullscreen
|
||||
|
||||
# NOTE: app_id, title, etc. can potentially be found using `swaymsg -t get_tree`
|
||||
# window rules to deeply integrate browser with WM (aka I'm lazy and want to
|
||||
# save myself a few keystrokes on opening)
|
||||
exec firefox
|
||||
for_window [app_id="Firefox"] move container to workspace 9
|
||||
|
||||
for_window [app_id="pinentry*"]; floating enable
|
||||
|
||||
# Stick window to output
|
||||
bindsym $mod+grave sticky toggle
|
||||
|
||||
### Export GTK theme to all programs running under Sway
|
||||
set $gnome-schema org.gnome.desktop.interface
|
||||
|
||||
exec_always {
|
||||
gsettings set $gnome-schema gtk-theme 'Adwaita-dark'
|
||||
gsettings set $gnome-schema icon-theme 'Adwaita'
|
||||
gsettings set $gnome-schema cursor-theme 'Adwaita'
|
||||
}
|
||||
|
||||
### Notification Service
|
||||
exec mako
|
||||
|
||||
### Screen tint
|
||||
exec wlsunset -l 42.2 -L -83.4
|
||||
|
||||
### for BOINC GPU computing ###
|
||||
exec xhost si:localuser:boinc
|
||||
|
||||
### devmon (automounting daemon) ###
|
||||
exec devmon
|
||||
|
||||
### pipewire (PulseAudio/ALSA/JACK replacement) ###
|
||||
exec pipewire
|
||||
exec pipewire-pulse
|
||||
|
||||
### https://wiki.archlinux.org/title/Xsettingsd ###
|
||||
exec xsettingsd
|
||||
|
||||
exec variety
|
||||
|
||||
exec blueman-applet
|
||||
|
||||
include /etc/sway/config.d/*
|
57
dot_config/sway/themes/gruvbox
Normal file
57
dot_config/sway/themes/gruvbox
Normal file
@@ -0,0 +1,57 @@
|
||||
#
|
||||
# Color definition
|
||||
#
|
||||
|
||||
set $c1 #fd472f
|
||||
set $c2 #d79921
|
||||
set $c3 #99a2ea
|
||||
set $c4 #333142
|
||||
set $c5 #342f73
|
||||
|
||||
|
||||
set $white #f4f4f8
|
||||
set $dark #333333
|
||||
set $dim #666666
|
||||
|
||||
|
||||
set $focused_bgcolor $c2
|
||||
set $focused_textcolor $dark
|
||||
set $focused_indicator $c3
|
||||
|
||||
set $inactive_bgcolor $c5
|
||||
set $inactive_textcolor $white
|
||||
set $inactive_indicator $c5
|
||||
|
||||
set $unfocused_bgcolor $c4
|
||||
set $unfocused_textcolor $dim
|
||||
set $unfocused_indicator $c5
|
||||
|
||||
set $urgent_bgcolor $c1
|
||||
set $urgent_textcolor $c4
|
||||
set $urgent_indicator $c3
|
||||
|
||||
#
|
||||
# Appearance:
|
||||
#
|
||||
|
||||
# Set inner/outer gaps
|
||||
default_border normal 0
|
||||
gaps inner 0
|
||||
gaps outer 0
|
||||
|
||||
# Smart gaps (gaps used if only more than one container on the workspace)
|
||||
smart_gaps on
|
||||
|
||||
# Smart borders (draw borders around container only if it is not the only container on this workspace)
|
||||
smart_borders on
|
||||
|
||||
# Hide Title Bars
|
||||
for_window [app_id="^.*"] border pixel 2, opacity 1
|
||||
default_border pixel 2
|
||||
default_floating_border pixel 5
|
||||
hide_edge_borders smart
|
||||
|
||||
client.focused $focused_bgcolor $focused_bgcolor $focused_textcolor $focused_indicator $focused_bgcolor
|
||||
client.focused_inactive $inactive_bgcolor $inactive_bgcolor $inactive_textcolor $inactive_indicator $inactive_bgcolor
|
||||
client.unfocused $unfocused_bgcolor $unfocused_bgcolor $unfocused_textcolor $unfocused_indicator $unfocused_bgcolor
|
||||
client.urgent $urgent_bgcolor $urgent_bgcolor $urgent_textcolor $urgent_indicator $urgent_bgcolor
|
38
dot_config/tealdeer/config.toml
Normal file
38
dot_config/tealdeer/config.toml
Normal 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]
|
11
dot_config/tmux/tmux.conf
Normal file
11
dot_config/tmux/tmux.conf
Normal file
@@ -0,0 +1,11 @@
|
||||
# vim keybindings in copy mode
|
||||
set-option -g mouse on
|
||||
setw -g mode-keys vi
|
||||
# set-option -s set-clipboard off
|
||||
bind P paste-buffer
|
||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi y send-keys -X rectangle-toggle
|
||||
# increase scrollback
|
||||
set-option -g history-limit 25000
|
||||
# Enable RGB colour if running in xterm(1)
|
||||
set-option -sa terminal-overrides ",xterm*:Tc"
|
8
dot_config/variety/ui.conf
Normal file
8
dot_config/variety/ui.conf
Normal file
@@ -0,0 +1,8 @@
|
||||
# Position of thumbnails stripe: bottom, top, left or right
|
||||
thumbs_position = bottom
|
||||
|
||||
# Size of thumbnails stripe in pixels
|
||||
thumbs_size = 120
|
||||
|
||||
# Limit number of shown images for better performance, use "Unlimited" for no limit
|
||||
thumbs_limit = 200
|
243
dot_config/variety/variety.conf
Normal file
243
dot_config/variety/variety.conf
Normal file
@@ -0,0 +1,243 @@
|
||||
# change_on_start = <True or False>
|
||||
change_on_start = True
|
||||
|
||||
# change_enabled = <True or False>
|
||||
change_enabled = True
|
||||
|
||||
# change_interval = <interval in seconds - not less than 5>
|
||||
change_interval = 600
|
||||
|
||||
# internet_enabled = <True or False>
|
||||
internet_enabled = True
|
||||
|
||||
# safe_mode = <True or False>
|
||||
safe_mode = False
|
||||
|
||||
# What scripts to use to set the wallpaper, or to obtain the path to the current wallpaper
|
||||
# Variety automatically manages and upgrades these two files:
|
||||
# ~/.config/variety/scripts/set_wallpaper
|
||||
# ~/.config/variety/scripts/get_wallpaper
|
||||
# If you want some custom logic to happen when Variety tries to set/get the wallpaper, e.g. because
|
||||
# you use some Desktop Environment that is not supported by default, please create copies of one
|
||||
# or both of these files, make the new files executable, and provide the new paths here.
|
||||
# Having a functional set_wallpaper script is essential, get_wallpaper is not so important.
|
||||
set_wallpaper_script = ~/.config/variety/scripts/set_wallpaper
|
||||
get_wallpaper_script = ~/.config/variety/scripts/get_wallpaper
|
||||
|
||||
# download_folder = <some folder> - when not specified, the default is ~/.config/variety/Downloaded
|
||||
download_folder = ~/.config/variety/Downloaded
|
||||
|
||||
# download_preference_ratio - if we have "unconsumed" download sources, we'll prefer to show a newly
|
||||
# downloaded image instead of an existing one in this percentage of the cases
|
||||
download_preference_ratio = 0.9
|
||||
|
||||
# Determine if the download folder should not exceed a certain size (in megabytes)
|
||||
# quota_enabled = <True or False>
|
||||
# quota_size = <size in MB, minimum 50>
|
||||
quota_enabled = True
|
||||
quota_size = 1000
|
||||
|
||||
# Wallhaven API key, by default it's an empty string
|
||||
wallhaven_api_key = ""
|
||||
|
||||
# favorites_folder = <some folder> - when not specified, the default is ~/.config/variety/Favorites
|
||||
favorites_folder = ~/.config/variety/Favorites
|
||||
|
||||
# Prefer Copy to Favorites or Move to Favorites operation (or both), depending on the folder of the current image
|
||||
# favorites_operations = <A list of directories and the preferred operation (Copy, Move or Both) for each of them>
|
||||
# The default is: Downloaded:Copy;Fetched:Move;Others:Copy
|
||||
# Order is important - the first matching entry will determine what operation(s) to show in the menu for a specific file
|
||||
# Special folder names you can use: Downloaded, Fetched and Others (same as "/" - use it as last entry to determine the default operation)
|
||||
# Example1: Downloaded:Copy;Fetched:Move;/pics/RandomImages:Move;/pics/OrganizedAlbums:Copy;Others:Copy
|
||||
# Example2: Others:Both - always show both Copy and Move to Favorites, no matter which image is shown
|
||||
# Move to Favorites is only shown when the user has write permissions over the file, otherwise we fallback to Copy
|
||||
favorites_operations = Downloaded:Copy;Fetched:Move;Others:Copy
|
||||
|
||||
# wallpaper_auto_rotate = <True or False>
|
||||
wallpaper_auto_rotate = True
|
||||
|
||||
# wallpaper_display_mode = <"os" |
|
||||
# "smart" | "zoom" | "fill-with-black" | "fill-with-blur" |
|
||||
# "gnome-zoom" | "gnome-centered" | "gnome-scaled" | "gnome-stretched" | "gnome-spanned", "gnome-wallpaper">
|
||||
wallpaper_display_mode = smart
|
||||
|
||||
# fetch_folder = <some folder> - when not specified, the default is ~/.config/variety/Fetched
|
||||
fetched_folder = ~/.config/variety/Fetched
|
||||
|
||||
# Clipboard monitoring settings
|
||||
# clipboard_enabled = <True or False>
|
||||
# clipboard_use_whitelist = <will we use a hosts whitelist, or we'll fetch from everywhere - True or False>
|
||||
# clipboard_hosts = <comma-separated whitelist of hosts for which clipboard fetching is enabled>
|
||||
clipboard_enabled = False
|
||||
clipboard_use_whitelist = True
|
||||
clipboard_hosts = "wallhaven.cc,wallpapers.net,flickr.com,imgur.com,deviantart.com,interfacelift.com,vladstudio.com,imageshack.us,deviantart.net,imageshack.com"
|
||||
|
||||
# Icon settings
|
||||
# icon = <Light, Dark, Current, 1, 2, 3, 4, None, or a full path to an image file>
|
||||
icon = Current
|
||||
|
||||
# Prefer only images with this color:
|
||||
# desired_color_enabled = <True or False>
|
||||
# desired_color = <None or rgb like this: 100 150 200>
|
||||
# DISCLAIMER: This feature is still experimental
|
||||
desired_color_enabled = False
|
||||
desired_color = 160 160 160
|
||||
|
||||
# Minimum size of images to use, as a percentage of the screen resolution
|
||||
# min_size_enabled = <True or False>
|
||||
# min_size = <Percentage>
|
||||
min_size_enabled = False
|
||||
min_size = 80
|
||||
|
||||
# Should we use only landscape-oriented images?
|
||||
# use_landscape_enabled = <True or False>
|
||||
use_landscape_enabled = True
|
||||
|
||||
# Prefer light or dark images
|
||||
# lightness_enabled = <True or False>
|
||||
# lightness_mode = <0 for Dark, 1 for Light>
|
||||
lightness_enabled = False
|
||||
lightness_mode = 0
|
||||
|
||||
# Use a filter by rating?
|
||||
# min_rating_enabled = <True or False>
|
||||
# min_rating = <1 | 2 | 3 | 4 | 5>
|
||||
min_rating_enabled = False
|
||||
min_rating = 4
|
||||
|
||||
# What parts of the initial wizard have we covered
|
||||
smart_notice_shown = False
|
||||
smart_register_shown = False
|
||||
stats_notice_shown = False
|
||||
|
||||
# Are smart features enabled (i.e. data collection on Fav/Trash operations), also sync, and anonymous usage stats collection?
|
||||
# smart_enabled = <True or False>
|
||||
smart_enabled = False
|
||||
sync_enabled = True
|
||||
stats_enabled = True
|
||||
|
||||
# Folder to copy the wallpaper image to and make it world-readable. Provides LightDM support.
|
||||
# copyto_enabled = <True or False>, default is False
|
||||
# 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.
|
||||
copyto_enabled = True
|
||||
copyto_folder = Default
|
||||
|
||||
# Clock settings
|
||||
# clock_enabled = <True or False>
|
||||
# clock_font = <FontName Size>, default is "Serif 70"
|
||||
# clock_date_font = <FontName Size>, default is "Serif 30"
|
||||
clock_enabled = False
|
||||
|
||||
clock_font = Serif 70
|
||||
clock_date_font = Serif 30
|
||||
# clock_filter = <an ImageMagick filter, read below>
|
||||
#
|
||||
# The filter defines the ImageMagick command that Variety uses to render the clock on the wallpaper.
|
||||
# First some scaling is applied to get the image down to the screen size - this ensures
|
||||
# the final drawn clock won't be rescaled by the desktop wallpaper system.
|
||||
# Easiest way to see what's happening is to run variety with -v, enable clock and see what ImageMagick
|
||||
# commands Variety dumps in the log.
|
||||
#
|
||||
# The user may want to customize the following aspects:
|
||||
# fill - color of "filling"
|
||||
# stroke - color of outline
|
||||
# strokewidth - width of outline
|
||||
# gravity - in which corner to display the clock - SouthEast, NorthEast, SouthWest, NorthWest
|
||||
# annotate - these must be in the form 0x0+[%HOFFSET+X]+[%VOFFSET+Y], where you can edit X and Y -
|
||||
# distance from the screen corner defined by gravity. Write them in even if they are 0.
|
||||
#
|
||||
# The %HOFFSET and %VOFFSET parameters are there for Variety to replace in order to compensate for the
|
||||
# diferent dimensions of every image and screen.
|
||||
# The several %FONT parameters are there for Variety to replace with the font settings from the GUI.
|
||||
#
|
||||
# The texts can contain these symbols:
|
||||
#
|
||||
# %H - hours (24), %I - zero-padded hours (12), %l - hours (12), %p - am or pm, %M - minutes,
|
||||
# %A - day of week (full), %a - day of week abbreviation, %B - month name, %b - month abbreviation, %d - day of month, %Y - year.
|
||||
# The full list for these can be seen here: http://docs.python.org/library/datetime.html#strftime-strptime-behavior
|
||||
# Have in mind that Variety will not update the clock more often than once every minute, so using seconds (%S) for example is pointless
|
||||
#
|
||||
# A tutorial on "annotating" with ImageMagick that you may use as a reference: http://www.imagemagick.org/Usage/annotating/
|
||||
# You can get a very uniquely looking clock with some of the more advanced techniques (e.g. circle-shaped text, interesting colors and shading, etc....).
|
||||
|
||||
clock_filter = "-density 100 -font `fc-match -f '%{file[0]}' '%CLOCK_FONT_NAME'` -pointsize %CLOCK_FONT_SIZE -gravity SouthEast -fill '#00000044' -annotate 0x0+[%HOFFSET+58]+[%VOFFSET+108] '%H:%M' -fill white -annotate 0x0+[%HOFFSET+60]+[%VOFFSET+110] '%H:%M' -font `fc-match -f '%{file[0]}' '%DATE_FONT_NAME'` -pointsize %DATE_FONT_SIZE -fill '#00000044' -annotate 0x0+[%HOFFSET+58]+[%VOFFSET+58] '%A, %B %d' -fill white -annotate 0x0+[%HOFFSET+60]+[%VOFFSET+60] '%A, %B %d'"
|
||||
|
||||
# Quotes settings
|
||||
# quotes_enabled = <True or False>
|
||||
# quotes_font = <FontName Size>, default is "Serif 30"
|
||||
# quotes_text_color = <r g b>, default is 255 255 255
|
||||
# quotes_bg_color = <r g b>, default is 80 80 80
|
||||
# quotes_bg_opacity = <0-100>, default is 55
|
||||
# quotes_width = <0-100>, default is 70
|
||||
# quotes_hpos = <0-100>, default is 100
|
||||
# quotes_vpos = <0-100>, default is 40
|
||||
# quotes_max_length = a positive integer, quotes above this length will not be displayed
|
||||
# (as they often won't fit well on screen)
|
||||
# quotes_text_shadow = <True or False>, default is False
|
||||
# quotes_disabled_sources = <|-separated list of disabled quote plugin names>, default is "Urban Dictionary"
|
||||
# quotes_tags = <comma-separated list of tags>, default is empty
|
||||
# quotes_authors = <comma-separated list of authors>, default is empty
|
||||
# quotes_change_enabled = <True or False>
|
||||
# quotes_change_interval = <interval in seconds - not less than 10>, default is 300
|
||||
quotes_enabled = True
|
||||
quotes_font = Serif Italic 30
|
||||
quotes_text_color = 255 255 255
|
||||
quotes_bg_color = 80 80 80
|
||||
quotes_bg_opacity = 55
|
||||
quotes_text_shadow = False
|
||||
quotes_width = 70
|
||||
quotes_hpos = 100
|
||||
quotes_vpos = 40
|
||||
quotes_max_length = 4096
|
||||
quotes_disabled_sources = Goodreads|Local text files|TheQuotationsPage.com|UNIX fortune program|Urban Dictionary
|
||||
quotes_tags = LSB
|
||||
quotes_authors = ""
|
||||
quotes_change_enabled = True
|
||||
quotes_change_interval = 86400
|
||||
quotes_favorites_file = ~/.config/variety/favorite_quotes.txt
|
||||
quotes_favorites_format = fortune
|
||||
|
||||
# Slideshow settings
|
||||
slideshow_favorites_enabled = True
|
||||
slideshow_sources_enabled = True
|
||||
slideshow_downloads_enabled = False
|
||||
slideshow_custom_enabled = False
|
||||
slideshow_custom_folder = ~/Pictures
|
||||
slideshow_sort_order = Random
|
||||
slideshow_monitor = All
|
||||
slideshow_mode = Desktop
|
||||
slideshow_seconds = 6.0
|
||||
slideshow_fade = 0.4
|
||||
slideshow_zoom = 0.2
|
||||
slideshow_pan = 0.05
|
||||
name_regex_enabled = False
|
||||
name_regex = .*
|
||||
|
||||
# List of sources
|
||||
# Each source is srcX = <enabled or not|source type - one of image, folder, flickr, wallhaven, etc.|location>
|
||||
# location depends on type - path or url or search options, or just a name for unconfigurable sources
|
||||
# Folders are included recursively
|
||||
# BE CAREFUL: all keys below (src1, src2, etc.) MUST be different
|
||||
[sources]
|
||||
src1 = True|favorites|The Favorites folder
|
||||
src2 = True|fetched|The Fetched folder
|
||||
src3 = True|folder|/usr/share/backgrounds
|
||||
src4 = False|flickr|user:www.flickr.com/photos/peter-levi/;user_id:93647178@N00;
|
||||
src5 = True|apod|NASA's Astronomy Picture of the Day
|
||||
src6 = True|bing|Bing Photo of the Day
|
||||
src7 = True|earthview|Google Earth View Wallpapers
|
||||
src8 = False|natgeo|National Geographic's photo of the day
|
||||
src9 = False|unsplash|High-resolution photos from Unsplash.com
|
||||
|
||||
# Image filters to apply randomly to every wallpaper (ImageMagick is used for this)
|
||||
# Each filter is filterX = <enabled or not|filter name|arguments to pass to ImageMagick when calling convert>
|
||||
# BE CAREFUL: all keys below (filter1, filter2, etc.) MUST be different
|
||||
[filters]
|
||||
filter1 = False|Keep original|
|
||||
filter2 = False|Grayscale|-type Grayscale
|
||||
filter3 = False|Heavy blur|-scale 20% -blur 0x10 -resize 500%
|
||||
filter4 = False|Soft blur|-scale 20% -blur 0x2 -resize 500%
|
||||
filter5 = False|Oil painting|-paint 8
|
||||
filter6 = False|Pointilism|-spread 10 -noise 3
|
||||
filter7 = False|Pixellate|-scale 3% -scale 3333%
|
102
dot_config/waybar/config
Normal file
102
dot_config/waybar/config
Normal file
@@ -0,0 +1,102 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 24,
|
||||
"modules-left": ["sway/workspaces", "custom/music"],
|
||||
"modules-center": ["sway/window", "sway/mode"],
|
||||
"modules-right": ["idle_inhibitor", "pulseaudio", "network", "cpu", "temperature#cpu", "temperature#gpu", "memory", "tray", "clock"],
|
||||
"sway/workspaces": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": false,
|
||||
"format": "{name}",
|
||||
"format-icons": {
|
||||
"1:web": "www",
|
||||
"2:code": "",
|
||||
"3:term": "",
|
||||
"4:work": "",
|
||||
"5:music": "",
|
||||
"6:docs": "",
|
||||
"urgent": "",
|
||||
"focused": "",
|
||||
"default": ""
|
||||
}
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": "",
|
||||
"deactivated": ""
|
||||
}
|
||||
},
|
||||
|
||||
"sway/mode": {
|
||||
"format": "<span style=\"italic\">{}</span>"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 14,
|
||||
"spacing": 10
|
||||
},
|
||||
"clock": {
|
||||
// 24hr Robot Friendly
|
||||
"format": "{:%Y-%m-%d - %H:%M}",
|
||||
// Human Friendly
|
||||
"format-alt": "{:%A, %B %d at %I:%M %p}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": "{usage}% "
|
||||
},
|
||||
"temperature#cpu": {
|
||||
"hwmon-path": "/sys/class/hwmon/hwmon1/temp2_input",
|
||||
"critical-threshold": 70,
|
||||
"format": "C: {temperatureC}°C ",
|
||||
"format-alt": "C: {temperatureF}°F "
|
||||
},
|
||||
"temperature#gpu": {
|
||||
"hwmon-path": "/sys/class/hwmon/hwmon0/temp1_input",
|
||||
"critical-threshold": 70,
|
||||
"format": "G: {temperatureC}°C ",
|
||||
"format-alt": "G: {temperatureF}°F "
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 30,
|
||||
"format": "{used:0.1f}/{total:0.1f}G "
|
||||
},
|
||||
|
||||
"network": {
|
||||
// "interface": "wlp2s0", // (Optional) To force the use of this interface
|
||||
"format-wifi": "{signalStrength}% ",
|
||||
"format-ethernet": "{ipaddr} ",
|
||||
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||
"tooltip-format-ethernet": "{ifname}: {ipaddr}/{cidr} ",
|
||||
"format-disconnected": ""
|
||||
},
|
||||
"pulseaudio": {
|
||||
//"scroll-step": 1,
|
||||
"format": "{volume}% {icon}",
|
||||
"format-bluetooth": "{volume}% {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphones": "",
|
||||
"handsfree": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", ""]
|
||||
},
|
||||
"on-click": "pactl set-sink-mute @DEFAULT_SINK@ toggle",
|
||||
"on-click-right": "pavucontrol"
|
||||
},
|
||||
"custom/music": {
|
||||
"format": " {}",
|
||||
"max-length": 60,
|
||||
"interval": 5, // Remove this if your script is endless and write in loop
|
||||
"exec": "$HOME/.config/waybar/mediaplayer.sh 2> /dev/null", // Script in resources folder
|
||||
"tooltip": false,
|
||||
"on-click": "playerctl play-pause",
|
||||
"on-scroll-up": "playerctl previous",
|
||||
"on-scroll-down": "playerctl next"
|
||||
}
|
||||
}
|
19
dot_config/waybar/literal_executable_mediaplayer.sh
Normal file
19
dot_config/waybar/literal_executable_mediaplayer.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
player_status=$(playerctl status 2> /dev/null)
|
||||
|
||||
title=$(playerctl metadata title)
|
||||
if artist=$(playerctl metadata artist); then
|
||||
song_info="${title} By ${artist}"
|
||||
else
|
||||
song_info="${title}"
|
||||
fi
|
||||
|
||||
|
||||
if [ "$player_status" = "Playing" ]; then
|
||||
output="${song_info}"
|
||||
elif [ "$player_status" = "Paused" ] ; then
|
||||
output="⏸️ ${song_info}"
|
||||
fi
|
||||
|
||||
echo $output
|
88
dot_config/waybar/style.css
Normal file
88
dot_config/waybar/style.css
Normal file
@@ -0,0 +1,88 @@
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
font-family: 'Ubuntu', 'Font Awesome 5 Free';
|
||||
font-size: 13px;
|
||||
min-height: 0;
|
||||
color: #ebdbb2;
|
||||
}
|
||||
|
||||
window#waybar {
|
||||
border-bottom: 2px solid #689d6a;
|
||||
background: #1d2021;
|
||||
}
|
||||
|
||||
#workspaces button {
|
||||
}
|
||||
|
||||
#workspaces button.focused {
|
||||
background: #689d6a;
|
||||
color: #1d2021;
|
||||
}
|
||||
|
||||
#mode {
|
||||
background-color: #cc241d;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#clock, #cpu, #temperature, #memory, #network, #pulseaudio, #backlight, #tray, #mode, #idle_inhibitor, #network {
|
||||
padding: 0 4px;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
#idle_inhibitor {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#idle_inhibitor.activated {
|
||||
background-color: #689d6a;
|
||||
color: #1d2021;
|
||||
}
|
||||
|
||||
|
||||
#custom-music {
|
||||
color: #b8bb26;
|
||||
margin: 0 15px;
|
||||
padding: 0 20px;
|
||||
border-bottom: 2px solid #b8bb26;
|
||||
|
||||
}
|
||||
|
||||
#clock {
|
||||
margin: 0;
|
||||
color: #fabd2f;
|
||||
border-bottom: 2px solid #fabd2f;
|
||||
}
|
||||
|
||||
|
||||
#cpu {
|
||||
}
|
||||
|
||||
#memory {
|
||||
}
|
||||
|
||||
#network.disconnected {
|
||||
background-color: #cc241d;
|
||||
color: #1d2021;
|
||||
border-bottom: 2px solid #cc241d;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
}
|
||||
|
||||
#pulseaudio.muted {
|
||||
padding: 0 20px;
|
||||
color: #cc241d;
|
||||
border-bottom: 2px solid #cc241d;
|
||||
}
|
||||
|
||||
#temperature.critical{
|
||||
padding: 0 4px;
|
||||
margin: 0 10px;
|
||||
color: #cc241d;
|
||||
border-bottom: 2px solid #cc241d;
|
||||
}
|
||||
|
||||
#tray {
|
||||
|
||||
}
|
2
dot_config/wofi/config
Normal file
2
dot_config/wofi/config
Normal file
@@ -0,0 +1,2 @@
|
||||
insensitive=true
|
||||
allow_markup=true
|
49
dot_config/wofi/style.css
Normal file
49
dot_config/wofi/style.css
Normal file
@@ -0,0 +1,49 @@
|
||||
* {
|
||||
font-family: "Hack", monospace;
|
||||
}
|
||||
|
||||
window {
|
||||
background-color: #fbf1c7;
|
||||
}
|
||||
|
||||
#input {
|
||||
margin: 5px;
|
||||
border: none;
|
||||
background-color: #fbf1c7;
|
||||
color: #3c3836;
|
||||
}
|
||||
|
||||
#inner-box {
|
||||
margin: 5px
|
||||
border: none
|
||||
background-color: #fbf1c7;
|
||||
}
|
||||
|
||||
#outer-box {
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
background-color: #7c6f64;
|
||||
}
|
||||
|
||||
#scroll {
|
||||
color: #7c6f64;
|
||||
}
|
||||
|
||||
#entry:nth-child(odd){
|
||||
background-color: #fbf1c7;
|
||||
color: #3c3836;
|
||||
}
|
||||
|
||||
#entry:nth-child(even){
|
||||
background-color: #f2e5bc;
|
||||
color: #3c3836;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: #d79921;
|
||||
color: #fbf1c7;
|
||||
}
|
||||
|
||||
#text:selected {
|
||||
background: transparent;
|
||||
}
|
15
dot_config/xsettingsd/xsettingsd.conf
Normal file
15
dot_config/xsettingsd/xsettingsd.conf
Normal file
@@ -0,0 +1,15 @@
|
||||
Net/SoundThemeName "ocean"
|
||||
Gdk/UnscaledDPI 98304
|
||||
Gdk/WindowScalingFactor 1
|
||||
Gtk/ButtonImages 1
|
||||
Gtk/CursorThemeName "breeze_cursors"
|
||||
Gtk/CursorThemeSize 24
|
||||
Gtk/DecorationLayout "icon:minimize,maximize,close"
|
||||
Gtk/EnableAnimations 1
|
||||
Gtk/FontName "Noto Sans, 10"
|
||||
Gtk/MenuImages 1
|
||||
Gtk/PrimaryButtonWarpsSlider 1
|
||||
Gtk/ToolbarStyle 3
|
||||
Net/IconThemeName "breeze-dark"
|
||||
Net/ThemeName "Breeze-Dark"
|
||||
|
1
dot_config/zathura/zathurarc
Normal file
1
dot_config/zathura/zathurarc
Normal file
@@ -0,0 +1 @@
|
||||
set selection-clipboard clipboard
|
@@ -4,30 +4,26 @@
|
||||
#
|
||||
# Lines configured by zsh-newuser-install
|
||||
export HISTFILE="$XDG_STATE_HOME"/zsh/history
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
mkdir -p "$(dirname "$HISTFILE")"
|
||||
HISTSIZE=100000
|
||||
SAVEHIST=100000
|
||||
setopt autocd
|
||||
unsetopt beep
|
||||
bindkey -v
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/joel/.zshrc'
|
||||
zstyle :compinstall filename "$ZDOTDIR/.zshrc"
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
|
||||
# End of lines added by compinstall
|
||||
prependpath() {
|
||||
case ":$PATH:" in
|
||||
*:"$1":*)
|
||||
;;
|
||||
*)
|
||||
PATH="$1:${PATH:+$PATH}"
|
||||
esac
|
||||
}
|
||||
prependpath ~/bin
|
||||
prependpath ~/repos/xxtools
|
||||
|
||||
### User configuration
|
||||
|
||||
# for shell integration
|
||||
precmd() {
|
||||
print -Pn "\e]133;A\e\\"
|
||||
}
|
||||
|
||||
# prompt configuration
|
||||
autoload -Uz vcs_info
|
||||
precmd_vcs_info () { vcs_info }
|
||||
@@ -37,25 +33,125 @@ zstyle ':vcs_info:*' formats ' %F{green}%b'
|
||||
PROMPT='%F{yellow}%n@%m %F{white}%1~%(?.. %?) $ '
|
||||
RPROMPT='%f$vcs_info_msg_0_ '
|
||||
|
||||
# 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 bt='bluetoothctl'
|
||||
alias c='clear'
|
||||
alias daybreak='mosh daybreak -p 60101'
|
||||
alias epoch='mosh epoch -p 60104'
|
||||
alias l='exa -lh --git --all --octal-permissions'
|
||||
alias ls='exa'
|
||||
alias lsa='exa -a'
|
||||
alias lss='exa -a'
|
||||
alias xrm='sudo xbps-remove'
|
||||
alias grc='gridcoinresearchd'
|
||||
alias keychain='keychain --dir "$XDG_RUNTIME_DIR" --absolute'
|
||||
alias l='eza -lh --all --octal-permissions'
|
||||
alias less='less -r'
|
||||
alias ls='eza'
|
||||
alias lsa='eza -a'
|
||||
alias lss='eza -a'
|
||||
alias vim='nvim'
|
||||
alias wake_circadian='ssh epoch wol a8:a1:59:11:06:f1'
|
||||
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)
|
||||
eval `keychain --quiet --eval --agents gpg D7F966B85D985743C76A17AC5A9572AE7B2E7E1C`
|
||||
SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||
export SSH_AUTH_SOCK
|
||||
### End user configuration
|
||||
# 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
|
||||
alias keychain="keychain --nolock --absolute --dir $XDG_RUNTIME_DIR"
|
||||
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
|
||||
|
||||
# Command not found handler
|
||||
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
|
||||
|
||||
### hooks/includes
|
||||
. /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh
|
||||
. /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
for plugin in zsh-syntax-highlighting zsh-history-substring-search zsh-autosuggestions; do
|
||||
# Define possible locations for this plugin
|
||||
possible_locations=(
|
||||
# Standard location
|
||||
"/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
|
||||
|
||||
bindkey '^[[A' history-substring-search-up
|
||||
bindkey '^[[B' history-substring-search-down
|
||||
bindkey -M vicmd 'k' history-substring-search-up
|
||||
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
|
||||
|
1
dot_config/zsh/symlink_dot_zshenv
Normal file
1
dot_config/zsh/symlink_dot_zshenv
Normal file
@@ -0,0 +1 @@
|
||||
../environment
|
2
dot_local/bin/executable_android-bt-snoop
Normal file
2
dot_local/bin/executable_android-bt-snoop
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
adb shell nc -s 127.0.0.1 -p 8872 -L system/bin/tail -f -c +0 data/misc/bluetooth/logs/btsnoop_hci.log
|
8
dot_local/bin/executable_dotool
Normal file
8
dot_local/bin/executable_dotool
Normal 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 "$@"
|
3
dot_local/bin/executable_ffmpeg.bars
Normal file
3
dot_local/bin/executable_ffmpeg.bars
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
output_file="$(echo "$1" | sed 's,.mp4,.bars.mp4,')"
|
||||
ffmpeg -i "$1" -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,setsar=1" -c:a copy "$output_file"
|
3
dot_local/bin/executable_ffmpeg.lossy_trim
Normal file
3
dot_local/bin/executable_ffmpeg.lossy_trim
Normal file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
output_file="$(echo "$1" | sed 's,\(.*\)\.\(.*\)$,\1.sermon.\2,')"
|
||||
ffmpeg -i "$1" -ss "$2" -to "$3" "$output_file"
|
14
dot_local/bin/executable_find-acoustid-dups
Normal file
14
dot_local/bin/executable_find-acoustid-dups
Normal file
@@ -0,0 +1,14 @@
|
||||
#!/bin/sh
|
||||
for i in $(seq 1 60); do
|
||||
if [ "$(find . -name "$i *" | wc -l)" = 2 ]; then
|
||||
first_track="$(find . -name "$i *" | head -n1)"
|
||||
last_track="$(find . -name "$i *" | tail -n1)"
|
||||
first_acoustid="$(exiftool "$first_track" | rg Acoustid)"
|
||||
last_acoustid="$(exiftool "$last_track" | rg Acoustid)"
|
||||
if [ "$first_acoustid" = "$last_acoustid" ]; then
|
||||
if [ "$first_track" != "$last_track" ]; then
|
||||
rm "$first_track"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
31
dot_local/bin/executable_get_plasma_keyboard_layout
Normal file
31
dot_local/bin/executable_get_plasma_keyboard_layout
Normal 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)
|
5
dot_local/bin/executable_jq-compress
Normal file
5
dot_local/bin/executable_jq-compress
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# I made this script to clean up duplicate messages in the Android SMS/MMS
|
||||
# database as exported by https://github.com/tmo1/sms-ie (v2.0.0).
|
||||
jq -c '.__recipient_addresses |= unique_by(.address)' messages.ndjson > messages.uniqued.ndjson
|
27
dot_local/bin/executable_lineageos4microg_build_redfin
Normal file
27
dot_local/bin/executable_lineageos4microg_build_redfin
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
sudo swapon /dev/disk/by-partlabel/sata_ssd_swap
|
||||
|
||||
set -x
|
||||
|
||||
podman pull lineageos4microg/docker-lineage-cicd:experimental
|
||||
|
||||
podman run \
|
||||
-e "BRANCH_NAME=lineage-21.0" \
|
||||
-e "DEVICE_LIST=redfin" \
|
||||
-e "SIGN_BUILDS=true" \
|
||||
-e "PARALLEL_JOBS=10" \
|
||||
-e "RESET_VENDOR_UNDO_PATCHES=false" \
|
||||
-e "CALL_REPO_INIT=false" \
|
||||
-e "CALL_REPO_SYNC=false" \
|
||||
-e "APPLY_PATCHES=false" \
|
||||
-e "CLEAN_AFTER_BUILD=false" \
|
||||
-v "$ANDROID_HOME/lineage:/srv/src" \
|
||||
-v "$ANDROID_HOME/lineageos4microg/zips:/srv/zips" \
|
||||
-v "$ANDROID_HOME/lineageos4microg/logs:/srv/logs" \
|
||||
-v "$XDG_CACHE_HOME/ccache:/srv/ccache" \
|
||||
-v "$ANDROID_HOME/lineageos4microg/keys:/srv/keys" \
|
||||
-v "$ANDROID_HOME/lineageos4microg/manifests:/srv/local_manifests" \
|
||||
lineageos4microg/docker-lineage-cicd:experimental
|
||||
|
||||
sudo swapoff /dev/disk/by-partlabel/sata_ssd_swap
|
2
dot_local/bin/executable_occ
Normal file
2
dot_local/bin/executable_occ
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
sudo -u _phpfpm php /usr/share/webapps/nextcloud/occ "$@"
|
18
dot_local/bin/executable_ssh-check-host-fingerprint
Normal file
18
dot_local/bin/executable_ssh-check-host-fingerprint
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
tmpdir=${TMPDIR:-/tmp}
|
||||
tmpfile=$(mktemp "$tmpdir"/ssh-check-host-fingerprints.tmp.XXXXXX)
|
||||
ssh-keyscan -p "$2" "$1" 2>/dev/null > "$tmpfile"
|
||||
if [ -s "$tmpfile" ]; then
|
||||
fingerprints=$(ssh-keygen -lf "$tmpfile" 2>/dev/null | awk '{print $2}')
|
||||
for fingerprint in $fingerprints
|
||||
do
|
||||
if [ "$fingerprint" = "$3" ];
|
||||
then
|
||||
rm "$tmpfile"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
else
|
||||
rm "$tmpfile"
|
||||
exit 1
|
||||
fi
|
10
dot_local/bin/executable_xxbranch
Normal file
10
dot_local/bin/executable_xxbranch
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
if [ $# -eq 1 ]; then
|
||||
branch=$1
|
||||
git fetch upstream master
|
||||
git checkout upstream/master
|
||||
git checkout -b "$branch"
|
||||
else
|
||||
echo "Please specify new branch."
|
||||
fi
|
||||
|
67
dot_local/bin/executable_xxbranchupdates
Normal file
67
dot_local/bin/executable_xxbranchupdates
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
# always capture the current branch so we can go back to it :)
|
||||
current_branch="$(git branch --show-current)"
|
||||
|
||||
_default() {
|
||||
if [ -n "$1" ]; then
|
||||
git checkout -q "$1"
|
||||
fi
|
||||
branch_name="$(git branch --show-current)"
|
||||
update_list=""
|
||||
for p in $(common/travis/changed_templates.sh 2>&1 >/dev/null); do
|
||||
if [ -z "$update_list" ]; then
|
||||
update_list=$("${XBPS_DISTDIR}"/xbps-src update-check "$p" 2>&1)
|
||||
else
|
||||
appendee=$("${XBPS_DISTDIR}"/xbps-src update-check "$p")
|
||||
if [ -n "$appendee" ]; then
|
||||
# yay explicit newline :(
|
||||
update_list="${update_list}
|
||||
${appendee}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ -n "$update_list" ]; then
|
||||
printf "branch: %s\n%s\n\n" "$branch_name" "$update_list"
|
||||
fi
|
||||
}
|
||||
|
||||
_maint() {
|
||||
git checkout -q master
|
||||
for b in $(git branch --list 'maint*'); do
|
||||
_default "$b"
|
||||
done
|
||||
}
|
||||
|
||||
_update() {
|
||||
git checkout -q master
|
||||
for b in $(git branch --list 'update*'); do
|
||||
_default "$b"
|
||||
done
|
||||
}
|
||||
|
||||
_organized() {
|
||||
git checkout -q master
|
||||
for b in $(git branch --list '*/*'); do
|
||||
_default "$b"
|
||||
done
|
||||
}
|
||||
|
||||
if [ $# = 0 ]; then
|
||||
_default
|
||||
else
|
||||
while test $# != 0
|
||||
do
|
||||
case "$1" in
|
||||
-m|--maint) _maint;;
|
||||
-u|--update) _update;;
|
||||
-o|--organized) _organized;;
|
||||
--) shift; break;;
|
||||
*) _default;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
fi
|
||||
|
||||
# return to branch we were on before running script
|
||||
git checkout "$current_branch" >/dev/null 2>&1
|
2
dot_local/bin/executable_xxdeps
Normal file
2
dot_local/bin/executable_xxdeps
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xbps-query -Rx "$1"
|
39
dot_local/bin/executable_xxdist
Normal file
39
dot_local/bin/executable_xxdist
Normal file
@@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
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
|
||||
targets="daybreak epoch"
|
||||
elif [ "$1" = "repo" ]; then
|
||||
cd "${XBPS_DISTDIR}/hostdir/binpkgs/${branch_name}" || exit 1
|
||||
for p in *.xbps; do
|
||||
rsync -P "$p" daybreak:/srv/repo
|
||||
ssh daybreak "xbps-rindex --add /srv/repo/$p;
|
||||
xbps-rindex --privkey /srv/repo/private.pem --sign-pkg /srv/repo/*.xbps"
|
||||
done
|
||||
else
|
||||
targets="$1"
|
||||
fi
|
||||
|
||||
for t in $targets; do
|
||||
distribute "$t"
|
||||
if [ "$install" = true ]; then
|
||||
install "$t"
|
||||
fi
|
||||
done
|
2
dot_local/bin/executable_xxrevdeps
Normal file
2
dot_local/bin/executable_xxrevdeps
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
xbps-query -RX "$1"
|
12
dot_local/bin/executable_xxtip
Normal file
12
dot_local/bin/executable_xxtip
Normal file
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
|
||||
current_branch="$(git branch --show-current)"
|
||||
|
||||
trap back_to_current_branch 1 2 3 6 15
|
||||
back_to_current_branch() {
|
||||
git checkout "$current_branch"
|
||||
exit 1
|
||||
}
|
||||
|
||||
git fetch upstream master
|
||||
git rebase upstream/master
|
59
dot_local/bin/executable_xxtreecrawl
Normal file
59
dot_local/bin/executable_xxtreecrawl
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
# always capture the current branch so we can go back to it :)
|
||||
current_branch="$(git branch --show-current)"
|
||||
|
||||
_default() {
|
||||
if [ -n "$1" ]; then
|
||||
git checkout -q "$1"
|
||||
fi
|
||||
branch_name="$(git branch --show-current)"
|
||||
update_list=""
|
||||
for p in $(common/travis/changed_templates.sh 2>&1 >/dev/null); do
|
||||
if [ -z "$update_list" ]; then
|
||||
update_list="$p"
|
||||
else
|
||||
appendee="$p"
|
||||
if [ -n "$appendee" ]; then
|
||||
# yay explicit newline :(
|
||||
update_list="${update_list}
|
||||
${appendee}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
if [ -n "$update_list" ]; then
|
||||
printf "branch: %s\n%s\n\n" "$branch_name" "$update_list"
|
||||
fi
|
||||
}
|
||||
|
||||
_maint() {
|
||||
git checkout -q master
|
||||
for b in $(git branch --list 'maint*'); do
|
||||
_default "$b"
|
||||
done
|
||||
}
|
||||
|
||||
_update() {
|
||||
git checkout -q master
|
||||
for b in $(git branch --list 'update*'); do
|
||||
_default "$b"
|
||||
done
|
||||
}
|
||||
|
||||
if [ $# = 0 ]; then
|
||||
_default
|
||||
else
|
||||
while test $# != 0
|
||||
do
|
||||
case "$1" in
|
||||
-m|--maint) _maint;;
|
||||
-u|--update) _update;;
|
||||
--) shift; break;;
|
||||
*) _default;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
fi
|
||||
|
||||
# return to branch we were on before running script
|
||||
git checkout "$current_branch" >/dev/null 2>&1
|
4
dot_local/bin/executable_xxupdatephp
Normal file
4
dot_local/bin/executable_xxupdatephp
Normal 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 :
|
2
dot_local/bin/private_executable_get_id_rsa_pass
Normal file
2
dot_local/bin/private_executable_get_id_rsa_pass
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
rbw get id_rsa
|
1
dot_local/bin/symlink_ffmpeg.trim
Normal file
1
dot_local/bin/symlink_ffmpeg.trim
Normal file
@@ -0,0 +1 @@
|
||||
ffmpeg.lossy_trim
|
5
dot_local/share/private_gnupg/gpg-agent.conf
Normal file
5
dot_local/share/private_gnupg/gpg-agent.conf
Normal file
@@ -0,0 +1,5 @@
|
||||
default-cache-ttl 60480000
|
||||
default-cache-ttl-ssh 60480000
|
||||
max-cache-ttl 60480000
|
||||
max-cache-ttl-ssh 60480000
|
||||
enable-ssh-support
|
1
dot_local/share/private_gnupg/sshcontrol.tmpl
Normal file
1
dot_local/share/private_gnupg/sshcontrol.tmpl
Normal file
@@ -0,0 +1 @@
|
||||
{{ output "sh" "-c" "gpg -K --with-keygrip | grep -A1 \"\\[A\\]\" | tail -n1 | sed \"s,.*Keygrip = ,,\"" }}
|
36
private_dot_ideavimrc
Normal file
36
private_dot_ideavimrc
Normal 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
|
Reference in New Issue
Block a user