Compare commits

...

161 Commits

Author SHA1 Message Date
Joel Beckmeyer
0f5adc489c update ANDROID_STUDIO to /opt install, use less as PAGER 2025-09-15 14:36:25 -04:00
Joel Beckmeyer
8adb11049d add Android SDK platform-tools to PATH 2025-05-02 10:00:06 -04:00
Joel Beckmeyer
e5ae14bb1c Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-04-22 16:32:07 +00:00
Joel Beckmeyer
0815537beb set TERMINFO_DIRS 2025-04-22 12:22:21 -04:00
Joel Beckmeyer
027eba011c remove zsh plugin fetch in favor of nix 2025-04-22 12:22:19 -04:00
006cc70889 update ignore 2025-04-22 12:22:19 -04:00
16cc781e60 fallback to regular SSH password prompt 2025-04-22 12:22:19 -04:00
Joel Beckmeyer
9e8ac7bce4 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-04-22 13:20:56 +00:00
Joel Beckmeyer
24c5277498 add ANDROID_STUDIO envvar pointing to flatpak install 2025-04-22 13:20:51 +00:00
bf172fb381 update ignore 2025-04-11 10:32:04 -04:00
25cfc15bd0 fallback to regular SSH password prompt 2025-04-11 09:52:16 -04:00
a710f648ae simplify ignores 2025-04-08 08:00:55 -04:00
Joel Beckmeyer
2f645a2c00 remove credential helper in favor of using SSH 2025-04-03 14:14:45 +00:00
c9b8dee5c6 remove wayland envvars (it's 2025) 2025-04-03 07:55:59 -04:00
Joel Beckmeyer
9b186eb23c add ideavimrc 2025-04-02 17:23:11 +00:00
9cdb8bee9d convert gitconfig to work/personal aware template 2025-04-02 12:36:55 +00:00
827ae25751 add zshenv link 2025-04-01 14:37:16 +00:00
95814eb86b add chroot prompt 2025-03-31 19:27:41 +00:00
ac84c755a9 set XDG vars to defaults if unset 2025-03-31 19:27:33 +00:00
1b3cb98eee use diff format available on older gits 2025-03-31 14:09:59 -04:00
198eebf21d Revert "add android sdk tools to path"
This reverts commit 18c2686bec.
2025-03-31 14:09:40 -04:00
ed4e2d3b3d add note to Firefox instructions 2025-03-31 13:52:20 -04:00
91127fde5b improve zsh plugin loading 2025-03-31 12:49:31 -04:00
cb07c1c3b7 remove alacritty 2025-03-31 12:47:46 -04:00
3bc4ea90c7 update ignored files 2025-03-31 12:12:17 -04:00
a7fe63b095 remove delta and add github auth helper 2025-03-31 08:38:07 -04:00
18c2686bec add android sdk tools to path 2025-03-31 08:37:08 -04:00
7fc46e0f13 zsh updates for Ubuntu 2025-03-31 08:36:15 -04:00
a6f6c8d577 add alternative location for zsh plugin 2025-03-31 08:33:07 -04:00
3ea2743893 update PC hostname 2025-03-31 08:32:47 -04:00
981b1d8008 update foot config to latest template 2025-03-21 10:39:27 -04:00
ffacf2038d make npm follow XDG 2025-03-21 10:39:12 -04:00
deda1f1281 variety: use 10 minute period 2025-03-05 12:40:42 -05:00
8086bb7a53 update occ user 2025-02-25 09:10:46 -05:00
5c730c5256 add zf pazi->fzf alias 2025-02-18 09:44:15 -05:00
6445b29a86 move to supported XDG-compliant location 2025-01-17 11:59:48 -05:00
28588ff57e only force using id_rsa password for that key 2025-01-17 08:35:11 -05:00
738955e19d bump for php8.4 2025-01-15 07:59:25 -05:00
67ea34d304 update variety config 2025-01-15 07:59:16 -05:00
4848c67a9c Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2025-01-15 07:57:38 -05:00
2ee3350512 no longer needed with python >=3.13 2025-01-14 15:25:47 -05:00
6b22272eb1 switch back to plasma handling keyboard layout 2024-12-11 11:21:11 -05:00
28fd1bd233 only warn on line-endings 2024-12-02 15:06:29 -05:00
605fc3dd51 fix issues with SSH_ASKPASS hanging 2024-11-29 16:22:49 +00:00
70ec6f36da update dotool wrapper to use keyd layout output 2024-11-13 16:17:39 -05:00
fe9f18c43d set runit SVDIR 2024-11-13 13:17:10 -05:00
9484efa16d try using delta 2024-11-13 11:19:24 -05:00
b8f053d270 finally got rofi-rbw working 2024-11-04 15:46:00 -05:00
45f5578291 remove unused scripts 2024-11-04 12:23:17 -05:00
6622f7300d get id_rsa pass from manager 2024-11-04 12:23:15 -05:00
13f49664cd do this the way everyone else does apparently 2024-11-01 08:33:11 -04:00
a615a24f42 only ssh-add if we have keychain running 2024-10-28 12:20:55 -04:00
0b4683d3e1 add usbipd 2024-10-28 11:26:28 -04:00
0a0186fe64 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-10-28 08:53:32 -04:00
ae94267b33 add WSL aliases 2024-10-28 08:52:39 -04:00
31a49da779 add code search thing from HN 2024-10-18 14:00:03 -04:00
acfb9ff9c0 git: autoSetupRemote = true 2024-10-18 13:36:55 -04:00
d858594201 drop GPG from keychain 2024-10-18 13:36:43 -04:00
72310b3b0a nvim: untrack generated code 2024-09-26 09:40:20 -04:00
1324e357e9 add idea vim plugin config 2024-09-26 09:19:56 -04:00
ff7a4fdbcd drop broken adb alias 2024-09-24 08:48:51 -04:00
68f8d35da8 add convenience xbps php update script 2024-09-16 09:10:54 -04:00
3521c1b612 ue pazi (autojump) if available 2024-09-11 10:16:04 -04:00
2423aa9c2f fix chezmoi diff pager 2024-09-11 09:34:24 -04:00
97ca59fc0c add convenience forward/reverse dep listers 2024-09-03 14:30:11 -04:00
6ae1f099af remove broken xbps helper script 2024-08-14 11:22:51 -04:00
4177d5aafb add zathura 2024-06-19 16:03:39 -04:00
b76aa2784c add gamma method for lightweight wms 2024-06-19 15:07:55 -04:00
0c012293e3 pgcli: respect XDG (kind of) 2024-06-19 14:55:46 -04:00
7734599a50 environment: set correct android vars 2024-06-19 14:55:36 -04:00
def82b1c74 Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-05-15 15:34:44 -04:00
83b825f796 add tealdeer config 2024-05-15 15:34:39 -04:00
fedc3af129 add eslint to nvim 2024-05-10 09:51:24 -04:00
9b9b76cb2c xxdist: add install functionality 2024-05-01 09:31:41 -04:00
957b150359 lol 2024-05-01 09:30:59 -04:00
e9257b3c4b Merge branch 'master' of ssh://git.beckmeyer.us:8101/TnSb/dotfiles 2024-04-29 13:27:47 -04:00
f516b68126 add occ wrapper 2024-04-29 13:26:55 -04:00
4ca6b4c8aa add README 2024-04-24 17:52:51 -04:00
a5010b43ac update work laptop hostname 2024-04-24 14:34:04 -04:00
bf2f3952ad fix zsh-history-substring-search 2024-04-19 15:34:58 -04:00
53d847d783 python: enforce XDG for python_history 2024-04-12 21:44:22 -04:00
16ab9afe83 ignore davfs for certain machines 2024-04-12 08:35:42 -04:00
de937b8c44 android SDK being annoying again 2024-04-10 14:56:58 -04:00
fefe9b93a7 move variety current wallpaper dir 2024-04-10 14:47:35 -04:00
1ba118652c add flutter to path 2024-04-10 14:47:22 -04:00
e26e9db2e1 move local path before rest 2024-04-10 08:50:29 -04:00
ff7b8f243c keychain: be more verbose 2024-03-23 23:55:26 -04:00
b4e8ccb8c7 keychain: no locking 2024-03-23 23:49:42 -04:00
Joel Beckmeyer
96d6b99ed6 probably about time for this 2024-03-18 16:28:17 -04:00
e3a3a491f5 bin: automatically enable and disable swap for lineage buildscript 2024-03-11 09:30:43 -04:00
e6bd24164c zshrc: remove --git from l (causes performance issues) 2024-03-08 11:19:24 -05:00
dec37fe397 add dav2fs secret 2024-03-06 12:33:37 -05:00
9f6db93472 bin: remove sigspoofing from build 2024-03-06 09:21:42 -05:00
eb71d8839f env: add GRIDCOIN_DATADIR 2024-03-06 09:19:47 -05:00
18b645436d gpg: remove comment from sshcontrol 2024-02-21 17:19:15 -05:00
15bf832b30 keychain: improve
- don't set pinentry manually, let local system manage it
- update cache-ttls to improve longevity
2024-02-21 17:11:35 -05:00
fa23d478cd only source available zsh plugins 2024-02-16 17:28:11 -05:00
c937f338c1 update for lineageos 21 2024-02-16 16:57:33 -05:00
2fdbe37063 bin: add lineageos4microg build script 2024-02-08 15:40:47 -05:00
628fd789a9 add git config 2024-02-01 16:02:10 -05:00
3f6245124b xxtip: simplify 2024-02-01 16:02:06 -05:00
957bfc9c6f add lineage/android OS build envvars 2024-01-12 13:28:05 -05:00
cb234c9775 variety: update config 2023-10-26 22:23:01 -04:00
d246d18dfb add some useful pipewire logging vars 2023-10-26 22:22:52 -04:00
40ec8db964 xxtools: convert to git-repo external type 2023-10-26 22:22:39 -04:00
245976844e switch from exa to eza 2023-10-04 11:31:47 -04:00
64dac3dc6c foot: unmap font size shortcuts 2023-10-04 11:31:28 -04:00
ee741b7517 add coc-yaml to extensions 2023-09-29 10:46:41 -04:00
42c88c9eef move bin to .local/bin 2023-09-27 14:25:06 -04:00
2538eed296 add alacritty config 2023-09-27 14:25:04 -04:00
d8548f93b5 add foot config 2023-09-27 14:25:01 -04:00
d00a229382 gpg: add sshcontrol with oneliner template to get grip 2023-09-11 11:32:09 -04:00
3f48e9f050 add gpg-agent.conf 2023-09-11 10:56:35 -04:00
ca1d4cf955 add bottom theme 2023-09-11 10:49:02 -04:00
0adcd754e1 add NODE_REPL_HISTORY var 2023-09-11 10:48:52 -04:00
90d2f4337f variety: add variety-daily-verse plugin 2023-09-11 10:48:20 -04:00
7893e7e6d2 add xsettingsd 2023-09-10 15:44:02 -04:00
4fd2acf8fa make cursor theming follow XDG 2023-08-31 08:37:15 -04:00
24d96347b2 add boinctui alias 2023-08-31 08:36:50 -04:00
7ecff92959 add bottom 2023-08-23 11:07:21 -04:00
e3146e2d4a make pass respect XDG 2023-08-23 11:07:19 -04:00
e93dc5a484 close kitty with confirmation 2023-08-22 14:15:46 -04:00
8495a21f62 add litecli 2023-08-22 14:15:01 -04:00
446a6b17ec add coc_global_extensions 2023-08-18 16:16:05 -04:00
a0ca88fc3d add wake_circadian alias 2023-08-18 15:58:58 -04:00
e3e89c456e alias vim to nvim 2023-08-17 14:05:49 -04:00
7c376d009d drop paths from *EDITOR env vars 2023-08-17 13:58:28 -04:00
334cdd525a add gradle XDG var 2023-08-17 09:06:43 -04:00
8377c9454b sway: remove unused for_window rules 2023-08-09 08:49:38 -04:00
4fdd26f407 beets: revoke a secret and readd as template 2023-08-09 08:47:16 -04:00
eddc42b3ec don't install kde-* scripts on non-KDE desktops 2023-08-07 13:20:19 -04:00
c63753e599 add npm 2023-08-07 13:20:16 -04:00
b339a8e9db convert adb wrapper script to alias 2023-08-07 11:30:23 -04:00
331af7f488 make script respect $TMPDIR 2023-08-07 09:07:06 -04:00
a1eaf76575 increase histfile size 2023-08-05 16:17:28 -04:00
a5c5a9315a add less colorized alias 2023-08-05 11:01:03 -04:00
58998df871 add XDG-compliant adb hack script 2023-08-05 11:01:03 -04:00
f766ce0b60 add PGUSER 2023-08-04 14:56:11 -04:00
cbe5f594b5 add ssh tooling 2023-07-28 09:43:32 -04:00
08e7bb2f31 add rofi-rbw tooling 2023-07-28 09:18:09 -04:00
c33b936f84 suppress error when rustup/cargo not available 2023-07-27 08:53:50 -04:00
6a34659052 update ignored hostnames 2023-07-27 08:49:55 -04:00
1237d4b356 add sqlite3 2023-07-26 14:54:52 -04:00
723962b0da add pgcli 2023-07-26 14:53:57 -04:00
402eed13f1 add wofi 2023-07-26 14:50:55 -04:00
80e2a0ea21 default some variety config values 2023-07-26 12:10:05 -04:00
684e21a4eb add variety 2023-07-25 18:07:55 -04:00
1ec548bbca ignore subdirectory of kitty 2023-07-25 14:32:47 -04:00
b56c89529b source environment.local ignoring error when it does not exist 2023-07-25 14:10:17 -04:00
9d48e747ad suppress command -v output 2023-07-25 14:08:19 -04:00
4be3b48cd9 create zsh state folder if not exists 2023-07-25 10:04:30 -04:00
65808aed66 make keychain and gpgconf only run when found 2023-07-25 09:54:20 -04:00
03dc9528e1 track chezmoi.yaml as template 2023-07-25 09:37:32 -04:00
9fee2d2216 ignore some stuff for work laptop 2023-07-25 09:37:17 -04:00
bee4fba744 add sourcing for local-only envfile 2023-07-25 09:36:46 -04:00
adf9a740f0 sort aliases 2023-07-25 09:36:14 -04:00
fe22720cae add tmux 2023-07-21 22:03:05 -04:00
76cea58fb0 remove explicit references to homedir path 2023-07-21 22:03:05 -04:00
c9c615a2db add waybar 2023-07-21 22:03:05 -04:00
28682f4a98 add sway 2023-07-21 22:03:05 -04:00
c5a88decef add beets config as template 2023-07-21 22:02:57 -04:00
55 changed files with 2455 additions and 43 deletions

6
.chezmoi.yaml.tmpl Normal file
View File

@@ -0,0 +1,6 @@
sourceDir: ~/repos/dotfiles
merge:
command: vim
args: "-d"
diff:
pager: "less -R"

View File

@@ -1,6 +1,16 @@
[".config/kitty/kitty-gruvbox-theme"] [".config/kitty/kitty-gruvbox-theme"]
type = "archive" type = "archive"
url = "https://github.com/wdomitrz/kitty-gruvbox-theme/archive/master.tar.gz" url = "https://github.com/wdomitrz/kitty-gruvbox-theme/archive/master.tar.gz"
exact = true exact = true
stripComponents = 1 stripComponents = 1
refreshPeriod = "168h" 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
View 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
View 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.

View 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

View 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

View File

@@ -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 # editor
export EDITOR=/usr/bin/nvim export EDITOR=nvim
export SUDO_EDITOR=/usr/bin/nvim export SUDO_EDITOR=nvim
export PAGER=less
# wayland
export MOZ_ENABLE_WAYLAND=1
export QT_QPA_PLATFORM=wayland
# sway stuff # sway stuff
#export XDG_CURRENT_DESKTOP=sway #export XDG_CURRENT_DESKTOP=sway
@@ -14,18 +25,40 @@ export QT_QPA_PLATFORM=wayland
#export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" #export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# XDG enforcement # 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 CARGO_HOME="$XDG_DATA_HOME"/cargo
export GNUPGHOME="$XDG_DATA_HOME"/gnupg export GNUPGHOME="$XDG_DATA_HOME"/gnupg
export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
export GRIDCOIN_DATADIR="$XDG_DATA_HOME"/GridcoinResearch
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
export KDEHOME="$XDG_CONFIG_HOME"/kde export KDEHOME="$XDG_CONFIG_HOME"/kde
export LESSHISTFILE="$XDG_STATE_HOME"/less/history export LESSHISTFILE="$XDG_STATE_HOME"/less/history
export MINETEST_USER_PATH="$XDG_DATA_HOME"/minetest export MINETEST_USER_PATH="$XDG_DATA_HOME"/minetest
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
export 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 RUSTUP_HOME="$XDG_DATA_HOME"/rustup
export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history export SQLITE_HISTORY="$XDG_CACHE_HOME"/sqlite_history
export WINEPREFIX="$XDG_DATA_HOME"/wine export WINEPREFIX="$XDG_DATA_HOME"/wine
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority 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 _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
View 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

View File

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

View File

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

View File

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

View File

@@ -893,7 +893,7 @@ font_size 10.0
#: insensitive, from the set [0-9A-Z]. Specify your preference as a #: insensitive, from the set [0-9A-Z]. Specify your preference as a
#: string of characters. #: 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 #: 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. #: least this number of kitty windows in it by window manager (e.g.

122
dot_config/litecli/config Normal file
View 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]

View File

@@ -37,10 +37,14 @@ vim.keymap.set('i', '<S-Tab>', function()
return '<S-Tab>' return '<S-Tab>'
end, { expr=true }) end, { expr=true })
-- Code search? https://news.ycombinator.com/item?id=41739452
vim.keymap.set('n', 'gv', '<c-w>v<cmd>lua vim.lsp.buf.definition()<CR>', opts)
-- Tab stuff -- Tab stuff
vim.opt.shiftwidth = 2 vim.opt.shiftwidth = 2
vim.opt.softtabstop = 2 vim.opt.softtabstop = 2
vim.opt.tabstop = 2 vim.opt.tabstop = 2
vim.opt.expandtab = true
-- set filetype for void-packages templates -- set filetype for void-packages templates
vim.api.nvim_create_autocmd( 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 -- Turn on nice things
vim.opt.clipboard = "unnamedplus" vim.opt.clipboard:append("unnamedplus")
vim.opt.mouse = "a" vim.opt.mouse = "a"
-- Colorscheme -- Colorscheme

188
dot_config/pgcli/config Normal file
View 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 = ""

View File

@@ -0,0 +1 @@
https://cloud.beckmeyer.us/remote.php/dav/files/joel joel {{ (rbw "cloud.beckmeyer.us" "joel").data.password }}

View File

@@ -0,0 +1,2 @@
.mode column
.headers on

359
dot_config/sway/config Normal file
View 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/*

View 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

View File

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

11
dot_config/tmux/tmux.conf Normal file
View 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"

View 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

View 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
View 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"
}
}

View 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

View 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
View File

@@ -0,0 +1,2 @@
insensitive=true
allow_markup=true

49
dot_config/wofi/style.css Normal file
View 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;
}

View 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"

View File

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

View File

@@ -4,30 +4,26 @@
# #
# Lines configured by zsh-newuser-install # Lines configured by zsh-newuser-install
export HISTFILE="$XDG_STATE_HOME"/zsh/history export HISTFILE="$XDG_STATE_HOME"/zsh/history
HISTSIZE=1000 mkdir -p "$(dirname "$HISTFILE")"
SAVEHIST=1000 HISTSIZE=100000
SAVEHIST=100000
setopt autocd setopt autocd
unsetopt beep unsetopt beep
bindkey -v bindkey -v
# End of lines configured by zsh-newuser-install # End of lines configured by zsh-newuser-install
# The following lines were added by compinstall # The following lines were added by compinstall
zstyle :compinstall filename '/home/joel/.zshrc' zstyle :compinstall filename "$ZDOTDIR/.zshrc"
autoload -Uz compinit autoload -Uz compinit
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION" compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
# End of lines added by compinstall # End of lines added by compinstall
prependpath() {
case ":$PATH:" in
*:"$1":*)
;;
*)
PATH="$1:${PATH:+$PATH}"
esac
}
prependpath ~/bin
prependpath ~/repos/xxtools
### User configuration ### User configuration
# for shell integration
precmd() {
print -Pn "\e]133;A\e\\"
}
# prompt configuration # prompt configuration
autoload -Uz vcs_info autoload -Uz vcs_info
precmd_vcs_info () { 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~%(?.. %?) $ ' PROMPT='%F{yellow}%n@%m %F{white}%1~%(?.. %?) $ '
RPROMPT='%f$vcs_info_msg_0_ ' 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 bt='bluetoothctl'
alias c='clear' alias c='clear'
alias daybreak='mosh daybreak -p 60101' alias daybreak='mosh daybreak -p 60101'
alias epoch='mosh epoch -p 60104' 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 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) # GPG setup (and SSH)
eval `keychain --quiet --eval --agents gpg D7F966B85D985743C76A17AC5A9572AE7B2E7E1C` # SSH setup
SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)" # I finally figured out how to export my id_rsa from GPG using
export SSH_AUTH_SOCK # https://superuser.com/a/1681454 (copied/summarized here to avoid link rot):
### End user configuration # 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 ### hooks/includes
. /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh for plugin in zsh-syntax-highlighting zsh-history-substring-search zsh-autosuggestions; do
. /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # Define possible locations for this plugin
. /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 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

View File

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

View 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

View File

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

View File

@@ -0,0 +1,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"

View 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"

View 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

View File

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

View File

@@ -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

View 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

View File

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

View 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

View 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

View 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

View File

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

View 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

View File

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

View 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

View 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

View File

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

View File

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

View File

@@ -0,0 +1 @@
ffmpeg.lossy_trim

View 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

View 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
View File

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