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
|
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
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
|
# 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
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
|
#: 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
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>'
|
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
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
|
# 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
|
||||||
|
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