Compare commits
99 Commits
91d23490df
...
main
Author | SHA1 | Date | |
---|---|---|---|
1101759176
|
|||
04ce9dcae0
|
|||
043d35f0d8
|
|||
88ea9997d5
|
|||
44016ea366
|
|||
db877d5f41
|
|||
d1053c6541
|
|||
ef43de9101
|
|||
068dd457d8
|
|||
b6c3430e20
|
|||
39c2f883e7
|
|||
950d1a928e
|
|||
2e449c15bd
|
|||
a337d579ec
|
|||
f230e41216
|
|||
946c21e03f
|
|||
f27cf30bd9
|
|||
8cb46e9a92
|
|||
b1b24ba1ed
|
|||
d4e51b6cd2
|
|||
dc30944a89
|
|||
a500a63a53
|
|||
f54f8bd5a8
|
|||
72eee70488
|
|||
306d54c05d
|
|||
9c03139641
|
|||
c9703e735b
|
|||
6b498fcf35
|
|||
dc73294990
|
|||
bfe70973e0
|
|||
fca5263cf2
|
|||
81990d68c5
|
|||
0bd59a9115
|
|||
fe187070f3
|
|||
a7be93368a
|
|||
9e967c0d1b
|
|||
830a9f4ef3
|
|||
0a7779ea5e
|
|||
7307c46bc3
|
|||
77144a920e
|
|||
f121ee555f
|
|||
0dd992eb2f
|
|||
557e9c690d
|
|||
4b967c6dd2
|
|||
32c46f2f8d
|
|||
b97e96156a
|
|||
1edb6bdf6d
|
|||
d32ebf77a6
|
|||
79cbb1d10b
|
|||
5ddd23b1d0
|
|||
0390fdb43d
|
|||
31e7c23c8d
|
|||
ebb5b6db13
|
|||
4c5e73305f
|
|||
86c087e73b
|
|||
070ffaa644
|
|||
ebccb12337
|
|||
6a8f59aa10
|
|||
4c4fc1ec38
|
|||
a741674a52
|
|||
2e95d6f84f
|
|||
70df31a6f8
|
|||
60e6fc730e
|
|||
2880bf246d
|
|||
de7fb8f43b
|
|||
38f4b4591d
|
|||
ba0a9fbc57
|
|||
219cd1cfed
|
|||
177d9e8986
|
|||
080f32ea0c
|
|||
26833f2fa9
|
|||
e94d0ea6f6
|
|||
b115edd210
|
|||
376933605c
|
|||
838f675332
|
|||
d9b18382e9
|
|||
57046d1197
|
|||
ee60012b56
|
|||
01cf73c62d
|
|||
26f0098be6
|
|||
088f42edba
|
|||
8ae7aee3e7
|
|||
baa0ef7a1a
|
|||
e60f59e207
|
|||
c5b331040d
|
|||
dec0c9cbb9
|
|||
3d9a2f084a
|
|||
e51d00fb7f
|
|||
ea6e5522cc
|
|||
4ba0b9eb49
|
|||
5a0beeba4c
|
|||
043ba733af
|
|||
3418aa4e0f
|
|||
9f383fa7da
|
|||
51fc885e84
|
|||
527cdfa217
|
|||
c7780308ec
|
|||
3299670cf1
|
|||
159b0ae613
|
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
/janus/*
|
/janus/*
|
||||||
byobu/.ssh-agent
|
byobu/.ssh-agent
|
||||||
|
*.sqlite
|
||||||
|
1
.python-version
Normal file
1
.python-version
Normal file
@@ -0,0 +1 @@
|
|||||||
|
3.12.0
|
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
language: generic
|
|
||||||
sudo: false
|
|
||||||
script: make
|
|
19
Makefile
19
Makefile
@@ -1,17 +1,23 @@
|
|||||||
|
SUDO ?= sudo
|
||||||
|
|
||||||
TOP_SOURCES := $(shell git ls-files | grep -vE 'README|Makefile|^config|^\.git|^\.travis' | grep -v /)
|
TOP_SOURCES := $(shell git ls-files | grep -vE 'README|Makefile|^config|^\.git|^\.travis' | grep -v /)
|
||||||
CONFIG_SOURCES := $(shell git ls-files config)
|
CONFIG_SOURCES := $(shell git ls-files config)
|
||||||
LOCAL_BIN_SOURCES := $(shell git ls-files local/bin)
|
LOCAL_BIN_SOURCES := $(shell git ls-files local/bin)
|
||||||
|
LOCAL_BG_SOURCES := $(shell git ls-files local/share/backgrounds)
|
||||||
TARGETS := \
|
TARGETS := \
|
||||||
$(patsubst %,$(HOME)/.%,$(TOP_SOURCES)) \
|
$(patsubst %,$(HOME)/.%,$(TOP_SOURCES)) \
|
||||||
$(patsubst %,$(HOME)/.%,$(CONFIG_SOURCES)) \
|
$(patsubst %,$(HOME)/.%,$(CONFIG_SOURCES)) \
|
||||||
$(patsubst %,$(HOME)/.%,$(LOCAL_BIN_SOURCES)) \
|
$(patsubst %,$(HOME)/.%,$(LOCAL_BIN_SOURCES)) \
|
||||||
$(HOME)/.config/i3/config
|
$(patsubst %,$(HOME)/.%,$(LOCAL_BG_SOURCES)) \
|
||||||
|
$(HOME)/.config/i3/config \
|
||||||
|
/etc/udev/rules.d/90-trackman-marble.rules \
|
||||||
|
/usr/local/bin/handle-trackman-marble
|
||||||
|
|
||||||
$(HOME)/.%: %
|
$(HOME)/.%: %
|
||||||
$(RM) '$@' && mkdir -p $(dir $@) && ln -svf '$(PWD)/$^' '$@'
|
$(RM) '$@' && mkdir -p $(dir $@) && ln -svf '$(PWD)/$^' '$@'
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: $(HOME)/.config $(HOME)/.local/bin $(TARGETS)
|
all: $(HOME)/.config $(HOME)/.local/bin $(HOME)/.local/share/backgrounds $(TARGETS)
|
||||||
|
|
||||||
$(HOME)/.config:
|
$(HOME)/.config:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
@@ -19,6 +25,15 @@ $(HOME)/.config:
|
|||||||
$(HOME)/.local/bin:
|
$(HOME)/.local/bin:
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
||||||
|
$(HOME)/.local/share/backgrounds:
|
||||||
|
mkdir -p $@
|
||||||
|
|
||||||
|
/etc/udev/rules.d/90-trackman-marble.rules: udev/rules.d/90-trackman-marble.rules
|
||||||
|
$(SUDO) install -m 0644 -v udev/rules.d/90-trackman-marble.rules $@
|
||||||
|
|
||||||
|
/usr/local/bin/handle-trackman-marble: udev/handle-trackman-marble
|
||||||
|
$(SUDO) install -m 0755 -v udev/handle-trackman-marble $@
|
||||||
|
|
||||||
.PHONY: echo
|
.PHONY: echo
|
||||||
echo:
|
echo:
|
||||||
@echo TOP_SOURCES=$(TOP_SOURCES)
|
@echo TOP_SOURCES=$(TOP_SOURCES)
|
||||||
|
599
config/alacritty/alacritty.toml
Normal file
599
config/alacritty/alacritty.toml
Normal file
@@ -0,0 +1,599 @@
|
|||||||
|
|
||||||
|
[bell]
|
||||||
|
animation = "EaseOutExpo"
|
||||||
|
color = "#ffffff"
|
||||||
|
duration = 0
|
||||||
|
|
||||||
|
[cursor]
|
||||||
|
unfocused_hollow = true
|
||||||
|
|
||||||
|
[debug]
|
||||||
|
persistent_logging = false
|
||||||
|
render_timer = false
|
||||||
|
|
||||||
|
[font]
|
||||||
|
size = 6.5
|
||||||
|
|
||||||
|
[font.bold]
|
||||||
|
family = "Comic Code"
|
||||||
|
style = "Bold"
|
||||||
|
|
||||||
|
[font.glyph_offset]
|
||||||
|
x = 0
|
||||||
|
y = 0
|
||||||
|
|
||||||
|
[font.italic]
|
||||||
|
family = "Comic Code"
|
||||||
|
style = "Italic"
|
||||||
|
|
||||||
|
[font.normal]
|
||||||
|
family = "Comic Code"
|
||||||
|
|
||||||
|
[font.offset]
|
||||||
|
x = 0
|
||||||
|
y = 0
|
||||||
|
|
||||||
|
[[hints.enabled]]
|
||||||
|
command = "xdg-open"
|
||||||
|
post_processing = true
|
||||||
|
regex = "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-<>\"\\s{-}\\^⟨⟩`]+"
|
||||||
|
|
||||||
|
[hints.enabled.binding]
|
||||||
|
key = "U"
|
||||||
|
mods = "Control|Shift"
|
||||||
|
|
||||||
|
[hints.enabled.mouse]
|
||||||
|
enabled = true
|
||||||
|
mods = "None"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
action = "Paste"
|
||||||
|
key = "Paste"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
action = "Copy"
|
||||||
|
key = "Copy"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
action = "ClearLogNotice"
|
||||||
|
key = "L"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\f"
|
||||||
|
key = "L"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3H"
|
||||||
|
key = "Home"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOH"
|
||||||
|
key = "Home"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[H"
|
||||||
|
key = "Home"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3F"
|
||||||
|
key = "End"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOF"
|
||||||
|
key = "End"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[F"
|
||||||
|
key = "End"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
action = "ScrollPageUp"
|
||||||
|
key = "PageUp"
|
||||||
|
mode = "~Alt"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[5;2~"
|
||||||
|
key = "PageUp"
|
||||||
|
mode = "Alt"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[5;5~"
|
||||||
|
key = "PageUp"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[5;3~"
|
||||||
|
key = "PageUp"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[5~"
|
||||||
|
key = "PageUp"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
action = "ScrollPageDown"
|
||||||
|
key = "PageDown"
|
||||||
|
mode = "~Alt"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[6;2~"
|
||||||
|
key = "PageDown"
|
||||||
|
mode = "Alt"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[6;5~"
|
||||||
|
key = "PageDown"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[6;3~"
|
||||||
|
key = "PageDown"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[6~"
|
||||||
|
key = "PageDown"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[Z"
|
||||||
|
key = "Tab"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u007F"
|
||||||
|
key = "Back"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B\u007F"
|
||||||
|
key = "Back"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[2~"
|
||||||
|
key = "Insert"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[3~"
|
||||||
|
key = "Delete"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2D"
|
||||||
|
key = "Left"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5D"
|
||||||
|
key = "Left"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3D"
|
||||||
|
key = "Left"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[D"
|
||||||
|
key = "Left"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOD"
|
||||||
|
key = "Left"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2C"
|
||||||
|
key = "Right"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5C"
|
||||||
|
key = "Right"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3C"
|
||||||
|
key = "Right"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[C"
|
||||||
|
key = "Right"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOC"
|
||||||
|
key = "Right"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2A"
|
||||||
|
key = "Up"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5A"
|
||||||
|
key = "Up"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3A"
|
||||||
|
key = "Up"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[A"
|
||||||
|
key = "Up"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOA"
|
||||||
|
key = "Up"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2B"
|
||||||
|
key = "Down"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5B"
|
||||||
|
key = "Down"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3B"
|
||||||
|
key = "Down"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[B"
|
||||||
|
key = "Down"
|
||||||
|
mode = "~AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOB"
|
||||||
|
key = "Down"
|
||||||
|
mode = "AppCursor"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOP"
|
||||||
|
key = "F1"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOQ"
|
||||||
|
key = "F2"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOR"
|
||||||
|
key = "F3"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001BOS"
|
||||||
|
key = "F4"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[15~"
|
||||||
|
key = "F5"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[17~"
|
||||||
|
key = "F6"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[18~"
|
||||||
|
key = "F7"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[19~"
|
||||||
|
key = "F8"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[20~"
|
||||||
|
key = "F9"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[21~"
|
||||||
|
key = "F10"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[23~"
|
||||||
|
key = "F11"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[24~"
|
||||||
|
key = "F12"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2P"
|
||||||
|
key = "F1"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2Q"
|
||||||
|
key = "F2"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2R"
|
||||||
|
key = "F3"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;2S"
|
||||||
|
key = "F4"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[15;2~"
|
||||||
|
key = "F5"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[17;2~"
|
||||||
|
key = "F6"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[18;2~"
|
||||||
|
key = "F7"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[19;2~"
|
||||||
|
key = "F8"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[20;2~"
|
||||||
|
key = "F9"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[21;2~"
|
||||||
|
key = "F10"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[23;2~"
|
||||||
|
key = "F11"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[24;2~"
|
||||||
|
key = "F12"
|
||||||
|
mods = "Shift"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5P"
|
||||||
|
key = "F1"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5Q"
|
||||||
|
key = "F2"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5R"
|
||||||
|
key = "F3"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;5S"
|
||||||
|
key = "F4"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[15;5~"
|
||||||
|
key = "F5"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[17;5~"
|
||||||
|
key = "F6"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[18;5~"
|
||||||
|
key = "F7"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[19;5~"
|
||||||
|
key = "F8"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[20;5~"
|
||||||
|
key = "F9"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[21;5~"
|
||||||
|
key = "F10"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[23;5~"
|
||||||
|
key = "F11"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[24;5~"
|
||||||
|
key = "F12"
|
||||||
|
mods = "Control"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;6P"
|
||||||
|
key = "F1"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;6Q"
|
||||||
|
key = "F2"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;6R"
|
||||||
|
key = "F3"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;6S"
|
||||||
|
key = "F4"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[15;6~"
|
||||||
|
key = "F5"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[17;6~"
|
||||||
|
key = "F6"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[18;6~"
|
||||||
|
key = "F7"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[19;6~"
|
||||||
|
key = "F8"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[20;6~"
|
||||||
|
key = "F9"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[21;6~"
|
||||||
|
key = "F10"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[23;6~"
|
||||||
|
key = "F11"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[24;6~"
|
||||||
|
key = "F12"
|
||||||
|
mods = "Alt"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3P"
|
||||||
|
key = "F1"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3Q"
|
||||||
|
key = "F2"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3R"
|
||||||
|
key = "F3"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[1;3S"
|
||||||
|
key = "F4"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[15;3~"
|
||||||
|
key = "F5"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[17;3~"
|
||||||
|
key = "F6"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[18;3~"
|
||||||
|
key = "F7"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[19;3~"
|
||||||
|
key = "F8"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[20;3~"
|
||||||
|
key = "F9"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[21;3~"
|
||||||
|
key = "F10"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[23;3~"
|
||||||
|
key = "F11"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = "\u001B[24;3~"
|
||||||
|
key = "F12"
|
||||||
|
mods = "Super"
|
||||||
|
|
||||||
|
[[keyboard.bindings]]
|
||||||
|
chars = """
|
||||||
|
|
||||||
|
"""
|
||||||
|
key = "NumpadEnter"
|
||||||
|
|
||||||
|
[mouse]
|
||||||
|
hide_when_typing = false
|
||||||
|
|
||||||
|
[[mouse.bindings]]
|
||||||
|
action = "PasteSelection"
|
||||||
|
mouse = "Middle"
|
||||||
|
|
||||||
|
[scrolling]
|
||||||
|
history = 10000
|
||||||
|
multiplier = 3
|
||||||
|
|
||||||
|
[selection]
|
||||||
|
save_to_clipboard = false
|
||||||
|
semantic_escape_chars = ",│`|:\"' ()[]{}<>"
|
||||||
|
|
||||||
|
[terminal.shell]
|
||||||
|
args = ["-l"]
|
||||||
|
program = "/bin/zsh"
|
||||||
|
|
||||||
|
[window]
|
||||||
|
decorations = "full"
|
||||||
|
dynamic_padding = false
|
||||||
|
dynamic_title = true
|
||||||
|
opacity = 1.0
|
||||||
|
startup_mode = "Windowed"
|
||||||
|
|
||||||
|
[window.padding]
|
||||||
|
x = 2
|
||||||
|
y = 2
|
||||||
|
|
||||||
|
[general]
|
||||||
|
live_config_reload = true
|
||||||
|
import = ["~/.config/alacritty/themes/themes/tender.toml"]
|
||||||
|
|
||||||
|
[terminal]
|
@@ -1,396 +0,0 @@
|
|||||||
---
|
|
||||||
window:
|
|
||||||
dynamic_title: true
|
|
||||||
dimensions:
|
|
||||||
columns: 0
|
|
||||||
lines: 0
|
|
||||||
padding:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
dynamic_padding: false
|
|
||||||
decorations: none
|
|
||||||
startup_mode: Maximized
|
|
||||||
scrolling:
|
|
||||||
history: 10000
|
|
||||||
multiplier: 3
|
|
||||||
font:
|
|
||||||
normal:
|
|
||||||
family: Comic Code
|
|
||||||
bold:
|
|
||||||
family: Comic Code
|
|
||||||
style: Bold
|
|
||||||
italic:
|
|
||||||
family: Comic Code
|
|
||||||
style: Italic
|
|
||||||
size: 6.5
|
|
||||||
offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
glyph_offset:
|
|
||||||
x: 0
|
|
||||||
y: 0
|
|
||||||
use_thin_strokes: true
|
|
||||||
debug:
|
|
||||||
render_timer: false
|
|
||||||
persistent_logging: false
|
|
||||||
draw_bold_text_with_bright_colors: true
|
|
||||||
colors:
|
|
||||||
primary:
|
|
||||||
background: '0x282a36'
|
|
||||||
foreground: '0xf8f8f2'
|
|
||||||
normal:
|
|
||||||
black: '0x000000'
|
|
||||||
red: '0xff5555'
|
|
||||||
green: '0x50fa7b'
|
|
||||||
yellow: '0xf1fa8c'
|
|
||||||
blue: '0xcaa9fa'
|
|
||||||
magenta: '0xff79c6'
|
|
||||||
cyan: '0x8be9fd'
|
|
||||||
white: '0xbfbfbf'
|
|
||||||
bright:
|
|
||||||
black: '0x575b70'
|
|
||||||
red: '0xff6e67'
|
|
||||||
green: '0x5af78e'
|
|
||||||
yellow: '0xf4f99d'
|
|
||||||
blue: '0xcaa9fa'
|
|
||||||
magenta: '0xff92d0'
|
|
||||||
cyan: '0x9aedfe'
|
|
||||||
white: '0xe6e6e6'
|
|
||||||
bell:
|
|
||||||
animation: EaseOutExpo
|
|
||||||
duration: 0
|
|
||||||
color: '0xffffff'
|
|
||||||
background_opacity: 1.0
|
|
||||||
mouse_bindings:
|
|
||||||
- mouse: Middle
|
|
||||||
action: PasteSelection
|
|
||||||
mouse:
|
|
||||||
double_click:
|
|
||||||
threshold: 300
|
|
||||||
triple_click:
|
|
||||||
threshold: 300
|
|
||||||
hide_when_typing: false
|
|
||||||
hints:
|
|
||||||
enabled:
|
|
||||||
- regex: "(mailto:|gemini:|gopher:|https:|http:|news:|file:|git:|ssh:|ftp:)\
|
|
||||||
[^\u0000-\u001F\u007F-\u009F<>\"\\s{-}\\^⟨⟩`]+"
|
|
||||||
command: xdg-open
|
|
||||||
post_processing: true
|
|
||||||
mouse:
|
|
||||||
enabled: true
|
|
||||||
mods: None
|
|
||||||
binding:
|
|
||||||
key: U
|
|
||||||
mods: Control|Shift
|
|
||||||
selection:
|
|
||||||
semantic_escape_chars: ',│`|:"'' ()[]{}<>'
|
|
||||||
save_to_clipboard: false
|
|
||||||
cursor:
|
|
||||||
style: Block
|
|
||||||
unfocused_hollow: true
|
|
||||||
live_config_reload: true
|
|
||||||
enable_experimental_conpty_backend: false
|
|
||||||
alt_send_esc: true
|
|
||||||
key_bindings:
|
|
||||||
- key: Paste
|
|
||||||
action: Paste
|
|
||||||
- key: Copy
|
|
||||||
action: Copy
|
|
||||||
- key: L
|
|
||||||
mods: Control
|
|
||||||
action: ClearLogNotice
|
|
||||||
- key: L
|
|
||||||
mods: Control
|
|
||||||
chars: "\f"
|
|
||||||
- key: Home
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3H"
|
|
||||||
- key: Home
|
|
||||||
chars: "\eOH"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: Home
|
|
||||||
chars: "\e[H"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: End
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3F"
|
|
||||||
- key: End
|
|
||||||
chars: "\eOF"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: End
|
|
||||||
chars: "\e[F"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: PageUp
|
|
||||||
mods: Shift
|
|
||||||
action: ScrollPageUp
|
|
||||||
mode: "~Alt"
|
|
||||||
- key: PageUp
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[5;2~"
|
|
||||||
mode: Alt
|
|
||||||
- key: PageUp
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[5;5~"
|
|
||||||
- key: PageUp
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[5;3~"
|
|
||||||
- key: PageUp
|
|
||||||
chars: "\e[5~"
|
|
||||||
- key: PageDown
|
|
||||||
mods: Shift
|
|
||||||
action: ScrollPageDown
|
|
||||||
mode: "~Alt"
|
|
||||||
- key: PageDown
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[6;2~"
|
|
||||||
mode: Alt
|
|
||||||
- key: PageDown
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[6;5~"
|
|
||||||
- key: PageDown
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[6;3~"
|
|
||||||
- key: PageDown
|
|
||||||
chars: "\e[6~"
|
|
||||||
- key: Tab
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[Z"
|
|
||||||
- key: Back
|
|
||||||
chars: "\x7F"
|
|
||||||
- key: Back
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e\x7F"
|
|
||||||
- key: Insert
|
|
||||||
chars: "\e[2~"
|
|
||||||
- key: Delete
|
|
||||||
chars: "\e[3~"
|
|
||||||
- key: Left
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2D"
|
|
||||||
- key: Left
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5D"
|
|
||||||
- key: Left
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3D"
|
|
||||||
- key: Left
|
|
||||||
chars: "\e[D"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: Left
|
|
||||||
chars: "\eOD"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: Right
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2C"
|
|
||||||
- key: Right
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5C"
|
|
||||||
- key: Right
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3C"
|
|
||||||
- key: Right
|
|
||||||
chars: "\e[C"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: Right
|
|
||||||
chars: "\eOC"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: Up
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2A"
|
|
||||||
- key: Up
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5A"
|
|
||||||
- key: Up
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3A"
|
|
||||||
- key: Up
|
|
||||||
chars: "\e[A"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: Up
|
|
||||||
chars: "\eOA"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: Down
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2B"
|
|
||||||
- key: Down
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5B"
|
|
||||||
- key: Down
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;3B"
|
|
||||||
- key: Down
|
|
||||||
chars: "\e[B"
|
|
||||||
mode: "~AppCursor"
|
|
||||||
- key: Down
|
|
||||||
chars: "\eOB"
|
|
||||||
mode: AppCursor
|
|
||||||
- key: F1
|
|
||||||
chars: "\eOP"
|
|
||||||
- key: F2
|
|
||||||
chars: "\eOQ"
|
|
||||||
- key: F3
|
|
||||||
chars: "\eOR"
|
|
||||||
- key: F4
|
|
||||||
chars: "\eOS"
|
|
||||||
- key: F5
|
|
||||||
chars: "\e[15~"
|
|
||||||
- key: F6
|
|
||||||
chars: "\e[17~"
|
|
||||||
- key: F7
|
|
||||||
chars: "\e[18~"
|
|
||||||
- key: F8
|
|
||||||
chars: "\e[19~"
|
|
||||||
- key: F9
|
|
||||||
chars: "\e[20~"
|
|
||||||
- key: F10
|
|
||||||
chars: "\e[21~"
|
|
||||||
- key: F11
|
|
||||||
chars: "\e[23~"
|
|
||||||
- key: F12
|
|
||||||
chars: "\e[24~"
|
|
||||||
- key: F1
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2P"
|
|
||||||
- key: F2
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2Q"
|
|
||||||
- key: F3
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2R"
|
|
||||||
- key: F4
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[1;2S"
|
|
||||||
- key: F5
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[15;2~"
|
|
||||||
- key: F6
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[17;2~"
|
|
||||||
- key: F7
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[18;2~"
|
|
||||||
- key: F8
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[19;2~"
|
|
||||||
- key: F9
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[20;2~"
|
|
||||||
- key: F10
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[21;2~"
|
|
||||||
- key: F11
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[23;2~"
|
|
||||||
- key: F12
|
|
||||||
mods: Shift
|
|
||||||
chars: "\e[24;2~"
|
|
||||||
- key: F1
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5P"
|
|
||||||
- key: F2
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5Q"
|
|
||||||
- key: F3
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5R"
|
|
||||||
- key: F4
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[1;5S"
|
|
||||||
- key: F5
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[15;5~"
|
|
||||||
- key: F6
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[17;5~"
|
|
||||||
- key: F7
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[18;5~"
|
|
||||||
- key: F8
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[19;5~"
|
|
||||||
- key: F9
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[20;5~"
|
|
||||||
- key: F10
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[21;5~"
|
|
||||||
- key: F11
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[23;5~"
|
|
||||||
- key: F12
|
|
||||||
mods: Control
|
|
||||||
chars: "\e[24;5~"
|
|
||||||
- key: F1
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;6P"
|
|
||||||
- key: F2
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;6Q"
|
|
||||||
- key: F3
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;6R"
|
|
||||||
- key: F4
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[1;6S"
|
|
||||||
- key: F5
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[15;6~"
|
|
||||||
- key: F6
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[17;6~"
|
|
||||||
- key: F7
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[18;6~"
|
|
||||||
- key: F8
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[19;6~"
|
|
||||||
- key: F9
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[20;6~"
|
|
||||||
- key: F10
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[21;6~"
|
|
||||||
- key: F11
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[23;6~"
|
|
||||||
- key: F12
|
|
||||||
mods: Alt
|
|
||||||
chars: "\e[24;6~"
|
|
||||||
- key: F1
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[1;3P"
|
|
||||||
- key: F2
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[1;3Q"
|
|
||||||
- key: F3
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[1;3R"
|
|
||||||
- key: F4
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[1;3S"
|
|
||||||
- key: F5
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[15;3~"
|
|
||||||
- key: F6
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[17;3~"
|
|
||||||
- key: F7
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[18;3~"
|
|
||||||
- key: F8
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[19;3~"
|
|
||||||
- key: F9
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[20;3~"
|
|
||||||
- key: F10
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[21;3~"
|
|
||||||
- key: F11
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[23;3~"
|
|
||||||
- key: F12
|
|
||||||
mods: Super
|
|
||||||
chars: "\e[24;3~"
|
|
||||||
- key: NumpadEnter
|
|
||||||
chars: "\n"
|
|
11
config/gammastep/config.ini
Normal file
11
config/gammastep/config.ini
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[general]
|
||||||
|
temp-day=5700
|
||||||
|
temp-night=3500
|
||||||
|
fade=1
|
||||||
|
gamma=0.8
|
||||||
|
location-provider=manual
|
||||||
|
adjustment-method=wayland
|
||||||
|
|
||||||
|
[manual]
|
||||||
|
lat=40.42
|
||||||
|
lon=-79.88
|
48
config/ghostty/config
Normal file
48
config/ghostty/config
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
# This is the configuration file for Ghostty.
|
||||||
|
#
|
||||||
|
# This template file has been automatically created at the following
|
||||||
|
# path since Ghostty couldn't find any existing config files on your system:
|
||||||
|
#
|
||||||
|
# /home/me/.config/ghostty/config
|
||||||
|
#
|
||||||
|
# The template does not set any default options, since Ghostty ships
|
||||||
|
# with sensible defaults for all options. Users should only need to set
|
||||||
|
# options that they want to change from the default.
|
||||||
|
#
|
||||||
|
# Run `ghostty +show-config --default --docs` to view a list of
|
||||||
|
# all available config options and their default values.
|
||||||
|
#
|
||||||
|
# Additionally, each config option is also explained in detail
|
||||||
|
# on Ghostty's website, at https://ghostty.org/docs/config.
|
||||||
|
|
||||||
|
# Config syntax crash course
|
||||||
|
# ==========================
|
||||||
|
# # The config file consists of simple key-value pairs,
|
||||||
|
# # separated by equals signs.
|
||||||
|
# font-family = Iosevka
|
||||||
|
# window-padding-x = 2
|
||||||
|
#
|
||||||
|
# # Spacing around the equals sign does not matter.
|
||||||
|
# # All of these are identical:
|
||||||
|
# key=value
|
||||||
|
# key= value
|
||||||
|
# key =value
|
||||||
|
# key = value
|
||||||
|
#
|
||||||
|
# # Any line beginning with a # is a comment. It's not possible to put
|
||||||
|
# # a comment after a config option, since it would be interpreted as a
|
||||||
|
# # part of the value. For example, this will have a value of "#123abc":
|
||||||
|
# background = #123abc
|
||||||
|
#
|
||||||
|
# # Empty values are used to reset config keys to default.
|
||||||
|
# key =
|
||||||
|
#
|
||||||
|
# # Some config options have unique syntaxes for their value,
|
||||||
|
# # which is explained in the docs for that config option.
|
||||||
|
# # Just for example:
|
||||||
|
# resize-overlay-duration = 4s 200ms
|
||||||
|
|
||||||
|
font-family = Comic Code
|
||||||
|
font-family-bold = Comic Code Bold
|
||||||
|
font-family-italic = Comic Code Italic
|
||||||
|
font-family-bold-italic = Comic Code Bold Italic
|
252
config/leftwm/config.toml
Normal file
252
config/leftwm/config.toml
Normal file
@@ -0,0 +1,252 @@
|
|||||||
|
modkey = "Mod4"
|
||||||
|
mousekey = "Mod4"
|
||||||
|
workspaces = []
|
||||||
|
tags = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
|
||||||
|
layouts = ["MainAndVertStack", "MainAndHorizontalStack", "MainAndDeck", "GridHorizontal", "EvenHorizontal", "EvenVertical", "Fibonacci", "CenterMain", "CenterMainBalanced", "Monocle", "RightWiderLeftStack", "LeftWiderRightStack"]
|
||||||
|
layout_mode = "Workspace"
|
||||||
|
scratchpad = []
|
||||||
|
disable_current_tag_swap = false
|
||||||
|
focus_behaviour = "Sloppy"
|
||||||
|
focus_new_windows = true
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "Execute"
|
||||||
|
value = "rofi -show run"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "p"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "Execute"
|
||||||
|
value = "alacritty"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "Return"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "CloseWindow"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "q"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "SoftReload"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "r"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "Execute"
|
||||||
|
value = "loginctl kill-session $XDG_SESSION_ID"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "x"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "Execute"
|
||||||
|
value = "slock"
|
||||||
|
modifier = ["modkey", "Control"]
|
||||||
|
key = "l"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "ToggleFullScreen"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "f"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToLastWorkspace"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "w"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "SwapTags"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "w"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveWindowUp"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "k"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveWindowDown"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "j"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveWindowTop"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "Return"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWindowUp"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "k"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWindowDown"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "j"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "NextLayout"
|
||||||
|
modifier = ["modkey", "Control"]
|
||||||
|
key = "k"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "PreviousLayout"
|
||||||
|
modifier = ["modkey", "Control"]
|
||||||
|
key = "j"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWorkspaceNext"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "l"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWorkspacePrevious"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "h"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveWindowUp"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "Up"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveWindowDown"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "Down"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWindowUp"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "Up"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWindowDown"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "Down"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "NextLayout"
|
||||||
|
modifier = ["modkey", "Control"]
|
||||||
|
key = "Up"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "PreviousLayout"
|
||||||
|
modifier = ["modkey", "Control"]
|
||||||
|
key = "Down"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWorkspaceNext"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "Right"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "FocusWorkspacePrevious"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "Left"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "1"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "1"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "2"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "2"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "3"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "3"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "4"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "4"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "5"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "5"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "6"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "6"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "7"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "7"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "8"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "8"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "GotoTag"
|
||||||
|
value = "9"
|
||||||
|
modifier = ["modkey"]
|
||||||
|
key = "9"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "1"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "1"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "2"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "2"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "3"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "3"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "4"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "4"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "5"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "5"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "6"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "6"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "7"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "7"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "8"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "8"
|
||||||
|
|
||||||
|
[[keybind]]
|
||||||
|
command = "MoveToTag"
|
||||||
|
value = "9"
|
||||||
|
modifier = ["modkey", "Shift"]
|
||||||
|
key = "9"
|
BIN
config/leftwm/themes/meatballhat/background.jpg
Normal file
BIN
config/leftwm/themes/meatballhat/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 592 KiB |
2
config/leftwm/themes/meatballhat/change_to_tag
Executable file
2
config/leftwm/themes/meatballhat/change_to_tag
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
leftwm-command "SendWorkspaceToTag $1 $2"
|
15
config/leftwm/themes/meatballhat/down
Executable file
15
config/leftwm/themes/meatballhat/down
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||||
|
|
||||||
|
#set background
|
||||||
|
if [ -x "$(command -v feh)" ]; then
|
||||||
|
feh --bg-scale $SCRIPTPATH/down.jpg
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "UnloadTheme" > $XDG_RUNTIME_DIR/leftwm/commands.pipe
|
||||||
|
|
||||||
|
pkill compton
|
||||||
|
pkill picom
|
||||||
|
pkill polybar
|
||||||
|
|
BIN
config/leftwm/themes/meatballhat/down.jpg
Normal file
BIN
config/leftwm/themes/meatballhat/down.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 539 B |
422
config/leftwm/themes/meatballhat/polybar.config
Normal file
422
config/leftwm/themes/meatballhat/polybar.config
Normal file
@@ -0,0 +1,422 @@
|
|||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; To learn more about how to configure Polybar
|
||||||
|
; go to https://github.com/jaagr/polybar
|
||||||
|
;
|
||||||
|
; The README contains a lot of information
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
[colors]
|
||||||
|
background = #99222222
|
||||||
|
foreground = #dfdfdf
|
||||||
|
background-alt = #99444444
|
||||||
|
foreground-alt = #FFFFFF
|
||||||
|
primary = #ffb52a
|
||||||
|
secondary = #e60053
|
||||||
|
alert = #bd2c40
|
||||||
|
|
||||||
|
[bar/mainbar0]
|
||||||
|
inherit = bar/barbase
|
||||||
|
modules-left = workspace0
|
||||||
|
[module/workspace0]
|
||||||
|
type = custom/script
|
||||||
|
exec = leftwm-state -w 0 -t $SCRIPTPATH/template.liquid
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
[bar/mainbar1]
|
||||||
|
inherit = bar/barbase
|
||||||
|
modules-left = workspace1
|
||||||
|
[module/workspace1]
|
||||||
|
type = custom/script
|
||||||
|
exec = leftwm-state -w 1 -t $SCRIPTPATH/template.liquid
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
[bar/mainbar2]
|
||||||
|
inherit = bar/barbase
|
||||||
|
modules-left = workspace2
|
||||||
|
[module/workspace2]
|
||||||
|
type = custom/script
|
||||||
|
exec = leftwm-state -w 2 -t $SCRIPTPATH/template.liquid
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
[bar/mainbar3]
|
||||||
|
inherit = bar/barbase
|
||||||
|
modules-left = workspace3
|
||||||
|
[module/workspace3]
|
||||||
|
type = custom/script
|
||||||
|
exec = leftwm-state -w 3 -t $SCRIPTPATH/template.liquid
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
|
||||||
|
[bar/barbase]
|
||||||
|
width = ${env:width}
|
||||||
|
offset-x = ${env:offsetx}
|
||||||
|
monitor = ${env:monitor}
|
||||||
|
;offset-y = ${env:y}
|
||||||
|
;width = 100%
|
||||||
|
height = 27
|
||||||
|
fixed-center = false
|
||||||
|
background = ${colors.background}
|
||||||
|
foreground = ${colors.foreground}
|
||||||
|
line-size = 3
|
||||||
|
line-color = #f00
|
||||||
|
border-size = 0
|
||||||
|
border-color = #00000000
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 2
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 2
|
||||||
|
font-0 = misc fixed:pixelsize=10;1
|
||||||
|
font-1 = unifont:fontformat=truetype:size=8:antialias=false;0
|
||||||
|
font-2 = wuncon siji:pixelsize=10;1
|
||||||
|
modules-center =
|
||||||
|
modules-right = filesystem xbacklight pulseaudio xkeyboard memory cpu wlan battery temperature date powermenu
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 2
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
[module/ewmh]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
label-active = " %icon% %name% "
|
||||||
|
label-active-foreground = ${colors.foreground-alt}
|
||||||
|
label-active-background = ${colors.background-alt}
|
||||||
|
label-active-underline = ${colors.primary}
|
||||||
|
label-occupied = " %icon% %name% "
|
||||||
|
label-occupied-underline = ${colors.secondary}
|
||||||
|
label-urgent = " %icon% %name% "
|
||||||
|
label-urgent-foreground = ${colors.foreground}
|
||||||
|
label-urgent-background = ${colors.background}
|
||||||
|
label-urgent-underline = ${colors.alert}
|
||||||
|
label-empty = " %icon% %name% "
|
||||||
|
label-empty-foreground = ${colors.foreground}
|
||||||
|
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
type = internal/xwindow
|
||||||
|
label = %title:0:30:...%
|
||||||
|
|
||||||
|
[module/xkeyboard]
|
||||||
|
type = internal/xkeyboard
|
||||||
|
blacklist-0 = num lock
|
||||||
|
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-prefix-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
label-layout = %layout%
|
||||||
|
label-layout-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
label-indicator-padding = 2
|
||||||
|
label-indicator-margin = 1
|
||||||
|
label-indicator-background = ${colors.secondary}
|
||||||
|
label-indicator-underline = ${colors.secondary}
|
||||||
|
|
||||||
|
[module/filesystem]
|
||||||
|
type = internal/fs
|
||||||
|
interval = 25
|
||||||
|
|
||||||
|
mount-0 = /
|
||||||
|
mount-1 = /home
|
||||||
|
|
||||||
|
label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
|
||||||
|
label-unmounted = %mountpoint% not mounted
|
||||||
|
label-unmounted-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/bspwm]
|
||||||
|
type = internal/bspwm
|
||||||
|
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${colors.background-alt}
|
||||||
|
label-focused-underline= ${colors.primary}
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-occupied = %index%
|
||||||
|
label-occupied-padding = 2
|
||||||
|
|
||||||
|
label-urgent = %index%!
|
||||||
|
label-urgent-background = ${colors.alert}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
label-empty = %index%
|
||||||
|
label-empty-foreground = ${colors.foreground-alt}
|
||||||
|
label-empty-padding = 2
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
; label-separator = |
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
|
||||||
|
; Only show workspaces on the same output as the bar
|
||||||
|
;pin-workspaces = true
|
||||||
|
|
||||||
|
label-mode-padding = 2
|
||||||
|
label-mode-foreground = #000
|
||||||
|
label-mode-background = ${colors.primary}
|
||||||
|
|
||||||
|
; focused = Active workspace on focused monitor
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${module/bspwm.label-focused-background}
|
||||||
|
label-focused-underline = ${module/bspwm.label-focused-underline}
|
||||||
|
label-focused-padding = ${module/bspwm.label-focused-padding}
|
||||||
|
|
||||||
|
; unfocused = Inactive workspace on any monitor
|
||||||
|
label-unfocused = %index%
|
||||||
|
label-unfocused-padding = ${module/bspwm.label-occupied-padding}
|
||||||
|
|
||||||
|
; visible = Active workspace on unfocused monitor
|
||||||
|
label-visible = %index%
|
||||||
|
label-visible-background = ${self.label-focused-background}
|
||||||
|
label-visible-underline = ${self.label-focused-underline}
|
||||||
|
label-visible-padding = ${self.label-focused-padding}
|
||||||
|
|
||||||
|
; urgent = Workspace with urgency hint set
|
||||||
|
label-urgent = %index%
|
||||||
|
label-urgent-background = ${module/bspwm.label-urgent-background}
|
||||||
|
label-urgent-padding = ${module/bspwm.label-urgent-padding}
|
||||||
|
|
||||||
|
; Separator in between workspaces
|
||||||
|
; label-separator = |
|
||||||
|
|
||||||
|
|
||||||
|
[module/mpd]
|
||||||
|
type = internal/mpd
|
||||||
|
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
|
||||||
|
|
||||||
|
icon-prev =
|
||||||
|
icon-stop =
|
||||||
|
icon-play =
|
||||||
|
icon-pause =
|
||||||
|
icon-next =
|
||||||
|
|
||||||
|
label-song-maxlen = 25
|
||||||
|
label-song-ellipsis = true
|
||||||
|
|
||||||
|
[module/xbacklight]
|
||||||
|
type = internal/xbacklight
|
||||||
|
|
||||||
|
format = <label> <bar>
|
||||||
|
label = BL
|
||||||
|
|
||||||
|
bar-width = 10
|
||||||
|
bar-indicator = |
|
||||||
|
bar-indicator-foreground = #fff
|
||||||
|
bar-indicator-font = 2
|
||||||
|
bar-fill = ─
|
||||||
|
bar-fill-font = 2
|
||||||
|
bar-fill-foreground = #9f78e1
|
||||||
|
bar-empty = ─
|
||||||
|
bar-empty-font = 2
|
||||||
|
bar-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/backlight-acpi]
|
||||||
|
inherit = module/xbacklight
|
||||||
|
type = internal/backlight
|
||||||
|
card = intel_backlight
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #f90000
|
||||||
|
label = %percentage:2%%
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
interval = 2
|
||||||
|
format-prefix = " "
|
||||||
|
format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-underline = #4bffdc
|
||||||
|
label = %percentage_used%%
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlan0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <ramp-signal> <label-connected>
|
||||||
|
format-connected-underline = #9f78e1
|
||||||
|
label-connected = %essid%
|
||||||
|
|
||||||
|
format-disconnected =
|
||||||
|
;format-disconnected = <label-disconnected>
|
||||||
|
;format-disconnected-underline = ${self.format-connected-underline}
|
||||||
|
;label-disconnected = %ifname% disconnected
|
||||||
|
;label-disconnected-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
date = %%{F#99}%m/%d/%Y%%{F-} %%{F#fff}%I:%M %p%{F-}
|
||||||
|
date-alt = %%{F#fff}%A, %B %d, %Y %%{F#fff}%I:%M:%{F#666}%%{F#fba922}%S%%{F-} %p
|
||||||
|
;interval = 5
|
||||||
|
;date =
|
||||||
|
;date-alt = " %Y-%m-%d"
|
||||||
|
;time = %H:%M
|
||||||
|
;time-alt = %H:%M:%S
|
||||||
|
;format-prefix =
|
||||||
|
;format-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
;format-underline = #0a6cf5
|
||||||
|
;label = %date% %time%
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = VOL %percentage%%
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
label-muted-foreground = #666
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #55aa55
|
||||||
|
bar-volume-foreground-1 = #55aa55
|
||||||
|
bar-volume-foreground-2 = #55aa55
|
||||||
|
bar-volume-foreground-3 = #55aa55
|
||||||
|
bar-volume-foreground-4 = #55aa55
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = false
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/alsa]
|
||||||
|
type = internal/alsa
|
||||||
|
|
||||||
|
format-volume = <label-volume> <bar-volume>
|
||||||
|
label-volume = VOL
|
||||||
|
label-volume-foreground = ${root.foreground}
|
||||||
|
|
||||||
|
format-muted-prefix = " "
|
||||||
|
format-muted-foreground = ${colors.foreground-alt}
|
||||||
|
label-muted = sound muted
|
||||||
|
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-foreground-0 = #55aa55
|
||||||
|
bar-volume-foreground-1 = #55aa55
|
||||||
|
bar-volume-foreground-2 = #55aa55
|
||||||
|
bar-volume-foreground-3 = #55aa55
|
||||||
|
bar-volume-foreground-4 = #55aa55
|
||||||
|
bar-volume-foreground-5 = #f5a70a
|
||||||
|
bar-volume-foreground-6 = #ff5555
|
||||||
|
bar-volume-gradient = false
|
||||||
|
bar-volume-indicator = |
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
bar-volume-fill = ─
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
bar-volume-empty = ─
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
bar-volume-empty-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
battery = BAT0
|
||||||
|
adapter = AC
|
||||||
|
full-at = 98
|
||||||
|
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
format-charging-underline = #ffb52a
|
||||||
|
|
||||||
|
format-discharging = <animation-discharging> <label-discharging>
|
||||||
|
format-discharging-underline = ${self.format-charging-underline}
|
||||||
|
|
||||||
|
format-full-prefix = " "
|
||||||
|
format-full-prefix-foreground = ${colors.foreground-alt}
|
||||||
|
format-full-underline = ${self.format-charging-underline}
|
||||||
|
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-foreground = ${colors.foreground-alt}
|
||||||
|
animation-discharging-framerate = 750
|
||||||
|
|
||||||
|
[module/temperature]
|
||||||
|
type = internal/temperature
|
||||||
|
thermal-zone = 0
|
||||||
|
warn-temperature = 60
|
||||||
|
|
||||||
|
format = <ramp> <label>
|
||||||
|
format-underline = #f50a4d
|
||||||
|
format-warn = <ramp> <label-warn>
|
||||||
|
format-warn-underline = ${self.format-underline}
|
||||||
|
|
||||||
|
label = %temperature-c%
|
||||||
|
label-warn = %temperature-c%
|
||||||
|
label-warn-foreground = ${colors.secondary}
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
expand-right = true
|
||||||
|
|
||||||
|
format-spacing = 1
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-open-foreground = ${colors.secondary}
|
||||||
|
label-close = cancel
|
||||||
|
label-close-foreground = ${colors.secondary}
|
||||||
|
label-separator = |
|
||||||
|
label-separator-foreground = ${colors.foreground-alt}
|
||||||
|
|
||||||
|
menu-0-0 = reboot
|
||||||
|
menu-0-0-exec = menu-open-1
|
||||||
|
menu-0-1 = power off
|
||||||
|
menu-0-1-exec = menu-open-2
|
||||||
|
|
||||||
|
menu-1-0 = cancel
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
menu-1-1 = reboot
|
||||||
|
menu-1-1-exec = sudo reboot
|
||||||
|
|
||||||
|
menu-2-0 = power off
|
||||||
|
menu-2-0-exec = sudo poweroff
|
||||||
|
menu-2-1 = cancel
|
||||||
|
menu-2-1-exec = menu-open-0
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
3
config/leftwm/themes/meatballhat/sizes.liquid
Normal file
3
config/leftwm/themes/meatballhat/sizes.liquid
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{% for workspace in workspaces %}
|
||||||
|
{{workspace.w}} {{workspace.x}} {{workspace.y}}
|
||||||
|
{% endfor %}
|
21
config/leftwm/themes/meatballhat/template.liquid
Normal file
21
config/leftwm/themes/meatballhat/template.liquid
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{% for tag in workspace.tags %}
|
||||||
|
{% if tag.mine %}
|
||||||
|
%{A1:$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}:}
|
||||||
|
%{F#000000}%{B#FFB52A} {{tag.name}} %{B-}%{F-}
|
||||||
|
%{A}
|
||||||
|
{% elsif tag.visible %}
|
||||||
|
%{A1:$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}:}
|
||||||
|
%{F#000000}%{B#E60053} {{tag.name}} %{B-}%{F-}
|
||||||
|
%{A}
|
||||||
|
{% elsif tag.busy %}
|
||||||
|
%{A1:$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}:}
|
||||||
|
%{F#FFB52A} {{tag.name}} %{F-}
|
||||||
|
%{A}
|
||||||
|
{% else tag.visible %}
|
||||||
|
%{A1:$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}:}
|
||||||
|
%{F#FFFFFF} {{tag.name}} %{F-}
|
||||||
|
%{A}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
%{c}
|
||||||
|
{{ window_title }}
|
5
config/leftwm/themes/meatballhat/theme.toml
Normal file
5
config/leftwm/themes/meatballhat/theme.toml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
border_width = 0
|
||||||
|
margin = 0
|
||||||
|
default_border_color = "#222222"
|
||||||
|
floating_border_color = "#005500"
|
||||||
|
focused_border_color = "#FFB53A"
|
38
config/leftwm/themes/meatballhat/up
Executable file
38
config/leftwm/themes/meatballhat/up
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
export SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||||
|
|
||||||
|
|
||||||
|
#down the last running theme
|
||||||
|
if [ -f "/tmp/leftwm-theme-down" ]; then
|
||||||
|
/tmp/leftwm-theme-down
|
||||||
|
rm /tmp/leftwm-theme-down
|
||||||
|
fi
|
||||||
|
ln -s $SCRIPTPATH/down /tmp/leftwm-theme-down
|
||||||
|
|
||||||
|
|
||||||
|
#boot picom or compton if it exists
|
||||||
|
if [ -x "$(command -v picom)" ]; then
|
||||||
|
picom &> /dev/null &
|
||||||
|
elif [ -x "$(command -v compton)" ]; then
|
||||||
|
compton &> /dev/null &
|
||||||
|
fi
|
||||||
|
|
||||||
|
#set the theme.toml config
|
||||||
|
echo "LoadTheme $SCRIPTPATH/theme.toml" > $XDG_RUNTIME_DIR/leftwm/commands.pipe
|
||||||
|
|
||||||
|
|
||||||
|
#set background
|
||||||
|
if [ -x "$(command -v feh)" ]; then
|
||||||
|
feh --bg-scale $SCRIPTPATH/background.jpg
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
index=0
|
||||||
|
monitor="$(polybar -m | grep +0+0 | sed s/:.*// | tac)"
|
||||||
|
leftwm-state -q -n -t $SCRIPTPATH/sizes.liquid | sed -r '/^\s*$/d' | while read -r width x y
|
||||||
|
do
|
||||||
|
barname="mainbar$index"
|
||||||
|
monitor=$monitor offsetx=$x width=$width polybar -c $SCRIPTPATH/polybar.config $barname &> /dev/null &
|
||||||
|
let index=index+1
|
||||||
|
done
|
||||||
|
|
11
config/rofi/config.rasi
Normal file
11
config/rofi/config.rasi
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
configuration {
|
||||||
|
timeout {
|
||||||
|
action: "kb-cancel";
|
||||||
|
delay: 0;
|
||||||
|
}
|
||||||
|
filebrowser {
|
||||||
|
directories-first: true;
|
||||||
|
sorting-method: "name";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@theme "/usr/share/rofi/themes/Arc-Dark.rasi"
|
180
config/sway/config
Normal file
180
config/sway/config
Normal file
@@ -0,0 +1,180 @@
|
|||||||
|
## BEGIN (modified) defaults from /etc/sway/config {{
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
set $left h
|
||||||
|
set $down j
|
||||||
|
set $up k
|
||||||
|
set $right l
|
||||||
|
|
||||||
|
set $menu wofi --show=run
|
||||||
|
|
||||||
|
output * bg ~/.local/share/backgrounds/hubble-extreme-deep-field-1214a-1920x1675.jpg fill
|
||||||
|
|
||||||
|
# Start a terminal
|
||||||
|
bindsym $mod+Return exec $term
|
||||||
|
|
||||||
|
# Kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# Start your launcher
|
||||||
|
bindsym $mod+d exec $menu
|
||||||
|
|
||||||
|
# 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+Shift+c reload
|
||||||
|
|
||||||
|
# Exit sway (logs you out of your Wayland session)
|
||||||
|
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
||||||
|
|
||||||
|
# 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 Shift
|
||||||
|
bindsym $mod+Shift+$left move left
|
||||||
|
bindsym $mod+Shift+$down move down
|
||||||
|
bindsym $mod+Shift+$up move up
|
||||||
|
bindsym $mod+Shift+$right move right
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# Switch to workspace
|
||||||
|
bindsym $mod+1 workspace number 1
|
||||||
|
bindsym $mod+2 workspace number 2
|
||||||
|
bindsym $mod+3 workspace number 3
|
||||||
|
bindsym $mod+4 workspace number 4
|
||||||
|
bindsym $mod+5 workspace number 5
|
||||||
|
bindsym $mod+6 workspace number 6
|
||||||
|
bindsym $mod+7 workspace number 7
|
||||||
|
bindsym $mod+8 workspace number 8
|
||||||
|
bindsym $mod+9 workspace number 9
|
||||||
|
bindsym $mod+0 workspace number 10
|
||||||
|
# Move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace number 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace number 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace number 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace number 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace number 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace number 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace number 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace number 8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace number 9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
|
||||||
|
# You can "split" the current object of your focus with
|
||||||
|
# $mod+b or $mod+v, for horizontal and vertical splits
|
||||||
|
# respectively.
|
||||||
|
bindsym $mod+b splith
|
||||||
|
bindsym $mod+v 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+Shift+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
|
||||||
|
|
||||||
|
# Move the currently focused window to the scratchpad
|
||||||
|
bindsym $mod+Shift+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
|
||||||
|
|
||||||
|
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 10px
|
||||||
|
bindsym $down resize grow height 10px
|
||||||
|
bindsym $up resize shrink height 10px
|
||||||
|
bindsym $right resize grow width 10px
|
||||||
|
|
||||||
|
# Ditto, with arrow keys
|
||||||
|
bindsym Left resize shrink width 10px
|
||||||
|
bindsym Down resize grow height 10px
|
||||||
|
bindsym Up resize shrink height 10px
|
||||||
|
bindsym Right resize grow width 10px
|
||||||
|
|
||||||
|
# Return to default mode
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
## }} END defaults from /etc/sway/config
|
||||||
|
|
||||||
|
font pango:Comic Code Bold 12
|
||||||
|
|
||||||
|
xwayland enable
|
||||||
|
|
||||||
|
set $term ghostty
|
||||||
|
|
||||||
|
exec swayidle -w \
|
||||||
|
timeout 300 'swaylock -f -c 000000' \
|
||||||
|
timeout 600 'swaymsg "output * power off"' resume 'swaymsg "output * power on"' \
|
||||||
|
before-sleep 'swaylock -f -c 000000'
|
||||||
|
|
||||||
|
input "type:keyboard" {
|
||||||
|
xkb_layout us(dvorak),us
|
||||||
|
xkb_options compose:ralt
|
||||||
|
xkb_numlock enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
input "type:touchpad" {
|
||||||
|
tap disabled
|
||||||
|
natural_scroll enabled
|
||||||
|
dwt enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym --locked Xf86MonBrightnessDown exec brightnessctl set 5%-
|
||||||
|
bindsym --locked Xf86MonBrightnessUp exec brightnessctl set 5%+
|
||||||
|
|
||||||
|
bindsym --locked XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
||||||
|
bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -1000
|
||||||
|
bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +1000
|
||||||
|
bindsym --locked XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
|
||||||
|
bindsym Print exec grim -g "$(slurp)" - | swappy -f -
|
||||||
|
bindsym $mod+Print exec grim - | swappy -f -
|
||||||
|
|
||||||
|
bar {
|
||||||
|
position bottom
|
||||||
|
|
||||||
|
status_command "i3status | python ~/.local/bin/i3wrapper.py"
|
||||||
|
|
||||||
|
colors {
|
||||||
|
statusline #ffffff
|
||||||
|
background #32323288
|
||||||
|
inactive_workspace #32323288 #32323288 #acacaccc
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include ~/.config/sway/config.d/*
|
42
config/xinit_functions.sh
Normal file
42
config/xinit_functions.sh
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
function _xinit_setup_xinput() {
|
||||||
|
if ! xinput list >/dev/null; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
_xinit_setup_xinput_touchpad
|
||||||
|
_xinit_setup_xinput_trackman_marble
|
||||||
|
_xinit_setup_xinput_touchscreen
|
||||||
|
}
|
||||||
|
|
||||||
|
function _xinit_setup_xinput_touchpad() {
|
||||||
|
if ! xinput list-props 'Elan Touchpad' >/dev/null; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
xinput set-prop 'Elan Touchpad' \
|
||||||
|
'libinput Natural Scrolling Enabled' 1
|
||||||
|
}
|
||||||
|
|
||||||
|
function _xinit_setup_xinput_touchscreen() {
|
||||||
|
if ! xinput list-props \
|
||||||
|
'Wacom Pen and multitouch sensor Finger' >/dev/null; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
xinput set-prop 'Wacom Pen and multitouch sensor Finger' \
|
||||||
|
'Device Enabled' 0
|
||||||
|
}
|
||||||
|
|
||||||
|
function _xinit_setup_xinput_trackman_marble() {
|
||||||
|
if ! xinput list-props 'Logitech USB Trackball' >/dev/null; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
xinput set-button-map \
|
||||||
|
'Logitech USB Trackball' \
|
||||||
|
1 2 3 4 5 6 7 8 9
|
||||||
|
xinput set-prop \
|
||||||
|
'Logitech USB Trackball' \
|
||||||
|
'libinput Scroll Method Enabled' \
|
||||||
|
0, 0, 1
|
||||||
|
}
|
1
cups/lpoptions
Normal file
1
cups/lpoptions
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Default home
|
@@ -3,7 +3,7 @@
|
|||||||
[user]
|
[user]
|
||||||
name = Dan Buch
|
name = Dan Buch
|
||||||
email = dan@meatballhat.com
|
email = dan@meatballhat.com
|
||||||
signingkey = A62A7ED9712E9DE1F3A4BF789685130D8B763EA7
|
signingkey = A12F782281063434!
|
||||||
|
|
||||||
[github]
|
[github]
|
||||||
user = meatballhat
|
user = meatballhat
|
||||||
@@ -66,9 +66,10 @@
|
|||||||
|
|
||||||
[tag]
|
[tag]
|
||||||
gpgsign = true
|
gpgsign = true
|
||||||
|
forceSignAnnotated = true
|
||||||
|
|
||||||
[gpg]
|
[gpg]
|
||||||
program = gpg2
|
program = gpg-sq
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
templatedir = ~/.config/git_template
|
templatedir = ~/.config/git_template
|
||||||
|
1337
ipython/profile_default/ipython_config.py
Normal file
1337
ipython/profile_default/ipython_config.py
Normal file
File diff suppressed because it is too large
Load Diff
11
ipython/profile_default/startup/README
Normal file
11
ipython/profile_default/startup/README
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
This is the IPython startup directory
|
||||||
|
|
||||||
|
.py and .ipy files in this directory will be run *prior* to any code or files specified
|
||||||
|
via the exec_lines or exec_files configurables whenever you load this profile.
|
||||||
|
|
||||||
|
Files will be run in lexicographical order, so you can control the execution order of files
|
||||||
|
with a prefix, e.g.::
|
||||||
|
|
||||||
|
00-first.py
|
||||||
|
50-middle.py
|
||||||
|
99-last.ipy
|
24
local/bin/caesar
Executable file
24
local/bin/caesar
Executable file
@@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
def main(sysargs=sys.argv[:]):
|
||||||
|
d = {}
|
||||||
|
for c in (65, 97):
|
||||||
|
for i in range(26):
|
||||||
|
d[chr(i+c)] = chr((i+13) % 26 + c)
|
||||||
|
|
||||||
|
print(
|
||||||
|
"".join([
|
||||||
|
d.get(c, c) for c in " ".join(sysargs[1:])
|
||||||
|
]),
|
||||||
|
end=""
|
||||||
|
)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main())
|
27
local/bin/cb-uri-tailscale
Executable file
27
local/bin/cb-uri-tailscale
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import urllib.parse
|
||||||
|
|
||||||
|
|
||||||
|
def main(sysargs=sys.argv[:]):
|
||||||
|
cb_uri = subprocess.check_output(["cb", "uri", *sysargs[1:]], text=True)
|
||||||
|
|
||||||
|
parsed_cb_uri = urllib.parse.urlsplit(cb_uri)
|
||||||
|
tailscale_cb_uri = parsed_cb_uri._replace(
|
||||||
|
netloc=str(parsed_cb_uri.username)
|
||||||
|
+ ":"
|
||||||
|
+ str(parsed_cb_uri.password)
|
||||||
|
+ "@"
|
||||||
|
+ str(parsed_cb_uri.hostname).split(".")[1]
|
||||||
|
+ ":"
|
||||||
|
+ str(parsed_cb_uri.port)
|
||||||
|
)
|
||||||
|
|
||||||
|
print(tailscale_cb_uri.geturl())
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main())
|
6
local/bin/git-sweep
Executable file
6
local/bin/git-sweep
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
git branch --merged "$([[ "${1}" != "-f" ]] && git rev-parse HEAD)" |
|
||||||
|
grep -Ev '(^\*|^\s*(main|master|develop)$)' |
|
||||||
|
while read -r branch_name; do
|
||||||
|
git branch -d "${branch_name}"
|
||||||
|
done
|
@@ -1,97 +1,105 @@
|
|||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
import json
|
import json
|
||||||
import os
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import typing
|
||||||
|
|
||||||
_BITS = []
|
__all__ = ["_mem", "_backlight", "_hwtemp"]
|
||||||
|
|
||||||
|
_BITS: list[tuple[int, str, typing.Callable]] = []
|
||||||
|
|
||||||
|
|
||||||
def _bit(idx):
|
def _bit(idx):
|
||||||
def wrapper(func):
|
def wrapper(func):
|
||||||
_BITS.append([idx, func.__name__.replace('_', ''), func])
|
_BITS.append((idx, func.__name__.replace("_", ""), func))
|
||||||
return func
|
return func
|
||||||
|
|
||||||
return wrapper
|
return wrapper
|
||||||
|
|
||||||
|
|
||||||
@_bit(6)
|
@_bit(6)
|
||||||
def _mem():
|
def _mem():
|
||||||
with open('/proc/meminfo') as meminfo_fp:
|
with open("/proc/meminfo") as meminfo_fp:
|
||||||
attrs = {}
|
attrs = {}
|
||||||
for line in meminfo_fp.readlines():
|
for line in meminfo_fp.readlines():
|
||||||
parts = line.split(':', 2)
|
parts = line.split(":", 2)
|
||||||
attrs[parts[0].strip()] = parts[1].strip()
|
attrs[parts[0].strip()] = parts[1].strip()
|
||||||
avail = int(attrs['MemAvailable'].split()[0])
|
avail = int(attrs["MemAvailable"].split()[0])
|
||||||
total = int(attrs['MemTotal'].split()[0])
|
total = int(attrs["MemTotal"].split()[0])
|
||||||
used = int(((total - avail) / total) * 100)
|
used = int(((total - avail) / total) * 100)
|
||||||
color = None
|
color = None
|
||||||
if used > 75:
|
if used > 75:
|
||||||
color = '#ff0000'
|
color = "#ff0000"
|
||||||
if used < 25:
|
if used < 25:
|
||||||
color = '#00ff00'
|
color = "#00ff00"
|
||||||
return 'M:{}%'.format(used), color
|
return "M:{}%".format(used), color
|
||||||
|
|
||||||
|
|
||||||
@_bit(0)
|
@_bit(0)
|
||||||
def _backlight(dev_dir='/sys/class/backlight/intel_backlight'):
|
def _backlight(dev_dir="/sys/class/backlight/intel_backlight"):
|
||||||
with open('{}/brightness'.format(dev_dir)) as br_fp:
|
with open("{}/brightness".format(dev_dir)) as br_fp:
|
||||||
with open('{}/max_brightness'.format(dev_dir)) as mb_fp:
|
with open("{}/max_brightness".format(dev_dir)) as mb_fp:
|
||||||
value = int(br_fp.read().strip())
|
value = int(br_fp.read().strip())
|
||||||
max_value = int(mb_fp.read().strip())
|
max_value = int(mb_fp.read().strip())
|
||||||
pct = int(float(float(value) / float(max_value)) * 100)
|
pct = int(float(float(value) / float(max_value)) * 100)
|
||||||
color = None
|
color = None
|
||||||
if pct >= 75:
|
if pct >= 75:
|
||||||
color = '#ffaa00'
|
color = "#ffaa00"
|
||||||
if pct <= 25:
|
if pct <= 25:
|
||||||
color = '#5599ff'
|
color = "#5599ff"
|
||||||
return '☼:{}%'.format(pct), color
|
return "☼:{}%".format(pct), color
|
||||||
|
|
||||||
|
|
||||||
THINKFAN_CONF = '/etc/thinkfan.conf'
|
ACPI_IBM_FAN = "/proc/acpi/ibm/fan"
|
||||||
ACPI_IBM_FAN = '/proc/acpi/ibm/fan'
|
|
||||||
|
|
||||||
|
|
||||||
@_bit(7)
|
@_bit(7)
|
||||||
def _hwtemp(conf=THINKFAN_CONF, fan=ACPI_IBM_FAN):
|
def _hwtemp(fan=ACPI_IBM_FAN):
|
||||||
if not os.path.exists(conf):
|
acpi_exe = shutil.which("acpi")
|
||||||
|
if acpi_exe is None:
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
temps = []
|
raw_temp = subprocess.run(
|
||||||
|
[acpi_exe, "-t"],
|
||||||
|
text=True,
|
||||||
|
capture_output=True,
|
||||||
|
check=False,
|
||||||
|
)
|
||||||
|
if raw_temp.returncode != 0 or raw_temp.stdout is None:
|
||||||
|
return None, None
|
||||||
|
|
||||||
with open('/etc/thinkfan.conf') as tfc_fp:
|
temps_by_zone = {}
|
||||||
for line in tfc_fp.readlines():
|
for line in raw_temp.stdout.splitlines():
|
||||||
if not line.startswith('hwmon '):
|
zone_id, value = line.split(":")
|
||||||
continue
|
human_temp = value.split(",")[-1]
|
||||||
try:
|
temps_by_zone[zone_id.lower().lstrip("thermal ")] = float(
|
||||||
with open(line.split(' ')[1].strip()) as temp_fp:
|
human_temp.lower().strip().rstrip("degrees c")
|
||||||
temps.append(float(temp_fp.read()))
|
)
|
||||||
except (OSError, IOError) as exc:
|
|
||||||
sys.stderr.write(str(exc) + '\n')
|
|
||||||
|
|
||||||
avg_temp = float(sum(temps)) / len(temps) / 1000.0
|
temps = list(temps_by_zone.values())
|
||||||
color = None
|
avg_temp = float(sum(temps)) / len(temps)
|
||||||
|
color = "#5599ff"
|
||||||
|
if avg_temp > 75:
|
||||||
|
color = "#ff0000"
|
||||||
|
if avg_temp >= 50:
|
||||||
|
color = "#ffaa00"
|
||||||
|
|
||||||
fan_level = 'unset'
|
fan_level = "unset"
|
||||||
try:
|
try:
|
||||||
with open(fan) as fan_fp:
|
with open(fan) as fan_fp:
|
||||||
for line in fan_fp.readlines():
|
for line in fan_fp.readlines():
|
||||||
if not line.startswith('level:\t\t'):
|
if not line.startswith("level:\t\t"):
|
||||||
continue
|
continue
|
||||||
fan_level = int(line.replace('level:\t\t', ''))
|
fan_level = int(line.replace("level:\t\t", ""))
|
||||||
except (OSError, IOError) as exc:
|
except (OSError, IOError) as exc:
|
||||||
sys.stderr.write(str(exc) + '\n')
|
sys.stderr.write(str(exc) + "\n")
|
||||||
|
|
||||||
if avg_temp > 75:
|
return "T:{:.1f}°C L:{}".format(avg_temp, fan_level), color
|
||||||
color = '#ff0000'
|
|
||||||
if avg_temp >= 50:
|
|
||||||
color = '#ffaa00'
|
|
||||||
if avg_temp <= 25:
|
|
||||||
color = '#5599ff'
|
|
||||||
return 'T:{:.1f}°C L:{}'.format(avg_temp, fan_level), color
|
|
||||||
|
|
||||||
|
|
||||||
def _print_line(message):
|
def _print_line(message):
|
||||||
sys.stdout.write(message + '\n')
|
sys.stdout.write(message + "\n")
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
|
||||||
@@ -110,9 +118,9 @@ def main(bits=_BITS):
|
|||||||
_print_line(_read_line())
|
_print_line(_read_line())
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
line, prefix = _read_line(), ''
|
line, prefix = _read_line(), ""
|
||||||
if line.startswith(','):
|
if line.startswith(","):
|
||||||
line, prefix = line[1:], ','
|
line, prefix = line[1:], ","
|
||||||
|
|
||||||
loaded = json.loads(line)
|
loaded = json.loads(line)
|
||||||
for idx, name, func in bits:
|
for idx, name, func in bits:
|
||||||
@@ -127,11 +135,11 @@ def main(bits=_BITS):
|
|||||||
|
|
||||||
loaded.insert(idx, record)
|
loaded.insert(idx, record)
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
sys.stderr.write(str(exc) + '\n')
|
sys.stderr.write(str(exc) + "\n")
|
||||||
sys.stderr.flush()
|
sys.stderr.flush()
|
||||||
|
|
||||||
_print_line(prefix+json.dumps(loaded))
|
_print_line(prefix + json.dumps(loaded))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
@@ -3,12 +3,8 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
if [[ "${REMOUNT}" == enabled ]]; then
|
killall -9 -q -w -r 'sshfs.+me@jool:/store/sshfs/meatballhat.+' || true
|
||||||
fusermount -u ~/mnt/jool 2>/dev/null || true
|
fusermount -u ~/mnt/jool 2>/dev/null || true
|
||||||
elif [[ -f ~/mnt/jool/.mounted ]]; then
|
|
||||||
printf 'Already mounted\n' >&2
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
local sshfs_args=(
|
local sshfs_args=(
|
||||||
me@jool:/store/sshfs/meatballhat
|
me@jool:/store/sshfs/meatballhat
|
||||||
|
@@ -1,52 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
set -o errexit
|
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
main() {
|
|
||||||
if [[ -f "${1}" ]]; then
|
|
||||||
exec 1>"${1}"
|
|
||||||
shift
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ -f /etc/default/thinkfan-confgen ]]; then
|
|
||||||
source /etc/default/thinkfan-confgen
|
|
||||||
fi
|
|
||||||
|
|
||||||
: "${THINKFAN_LOWER_BOUND:=30}"
|
|
||||||
: "${THINKFAN_STEP:=4}"
|
|
||||||
|
|
||||||
printf '# thinkfan-confgen created %s\n' "$(date -u)"
|
|
||||||
printf '# THINKFAN_LOWER_BOUND=%s\n' "${THINKFAN_LOWER_BOUND}"
|
|
||||||
printf '# THINKFAN_STEP=%s\n\n' "${THINKFAN_STEP}"
|
|
||||||
|
|
||||||
find /sys -type f -name 'temp*_input' | while read -r line; do
|
|
||||||
if [[ "${line}" =~ thinkpad_hwmon ]]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
printf 'hwmon %s\n' "${line}"
|
|
||||||
done
|
|
||||||
|
|
||||||
printf '\ntp_fan /proc/acpi/ibm/fan\n\n'
|
|
||||||
|
|
||||||
local halfstep="$((THINKFAN_STEP / 2))"
|
|
||||||
local cur="${THINKFAN_LOWER_BOUND}"
|
|
||||||
|
|
||||||
for level in 0 1 2 3 4 5 6 7; do
|
|
||||||
if [[ "${level}" == 0 ]]; then
|
|
||||||
printf '(0, 0, %s)\n' "${cur}"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "${level}" == 7 ]]; then
|
|
||||||
printf '(7, %s, 32767)\n' "$((cur - halfstep))"
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
printf '(%s, %s, %s)\n' \
|
|
||||||
"${level}" "$((cur - halfstep))" "$((cur + THINKFAN_STEP))"
|
|
||||||
|
|
||||||
cur="$((cur + THINKFAN_STEP))"
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
main "${@}"
|
|
126
local/bin/thinkfan_confgen.py
Executable file
126
local/bin/thinkfan_confgen.py
Executable file
@@ -0,0 +1,126 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
import argparse
|
||||||
|
import datetime
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import pathlib
|
||||||
|
import sys
|
||||||
|
import typing
|
||||||
|
|
||||||
|
|
||||||
|
class ThinkfanConfig(typing.TypedDict):
|
||||||
|
sensors: list[dict[str, str]]
|
||||||
|
fans: list[dict[str, str]]
|
||||||
|
levels: list[dict[str, int | list[int]]]
|
||||||
|
|
||||||
|
|
||||||
|
def main(sysargs=sys.argv[:]) -> int:
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
"-l",
|
||||||
|
"--lower-bound",
|
||||||
|
default=int(os.environ.get("THINKFAN_LOWER_BOUND", "30")),
|
||||||
|
type=int,
|
||||||
|
help="lower bound of sensor value for min fan speed (THINKFAN_LOWER_BOUND)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-u",
|
||||||
|
"--upper-bound",
|
||||||
|
default=int(os.environ.get("THINKFAN_UPPER_BOUND", "32767")),
|
||||||
|
type=int,
|
||||||
|
help="upper bound of sensor value for max fan speed (THINKFAN_UPPER_BOUND)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-s",
|
||||||
|
"--step",
|
||||||
|
default=int(os.environ.get("THINKFAN_STEP", "4")),
|
||||||
|
type=int,
|
||||||
|
help="step size between fan speed levels (THINKFAN_STEP)",
|
||||||
|
)
|
||||||
|
args = parser.parse_args(sysargs[1:])
|
||||||
|
|
||||||
|
cfg: ThinkfanConfig = {
|
||||||
|
"sensors": [],
|
||||||
|
"fans": [],
|
||||||
|
"levels": [],
|
||||||
|
}
|
||||||
|
|
||||||
|
acpi_fan = pathlib.Path("/proc/acpi/ibm/fan")
|
||||||
|
if acpi_fan.exists():
|
||||||
|
cfg["fans"].append({"tpacpi": str(acpi_fan)})
|
||||||
|
|
||||||
|
acpi_thermal = pathlib.Path("/proc/acpi/ibm/thermal")
|
||||||
|
|
||||||
|
n_sensors: int = 0
|
||||||
|
|
||||||
|
if acpi_thermal.exists():
|
||||||
|
cfg["sensors"].append({"tpacpi": str(acpi_thermal)})
|
||||||
|
n_sensors = len(
|
||||||
|
[
|
||||||
|
l
|
||||||
|
for l in acpi_thermal.read_text().splitlines()
|
||||||
|
if l.startswith("temperatures:")
|
||||||
|
][0]
|
||||||
|
.split(":")[1]
|
||||||
|
.strip()
|
||||||
|
.split()
|
||||||
|
)
|
||||||
|
|
||||||
|
else:
|
||||||
|
for dirpath, dirnames, filenames in pathlib.Path("/sys/devices").walk(
|
||||||
|
on_error=print, follow_symlinks=False
|
||||||
|
):
|
||||||
|
if "thinkpad_hwmon" in dirnames:
|
||||||
|
dirnames.remove("thinkpad_hwmon")
|
||||||
|
|
||||||
|
for filename in filenames:
|
||||||
|
if filename.startswith("temp") and filename.endswith("_input"):
|
||||||
|
cfg["sensors"].append({"hwmon": str(dirpath.joinpath(filename))})
|
||||||
|
|
||||||
|
n_sensors += 1
|
||||||
|
|
||||||
|
cur: int = args.lower_bound
|
||||||
|
step: int = args.step
|
||||||
|
halfstep = step // 2
|
||||||
|
|
||||||
|
for level in range(8):
|
||||||
|
if level == 0:
|
||||||
|
cfg["levels"].append(
|
||||||
|
{
|
||||||
|
"speed": 0,
|
||||||
|
"lower_limit": [0] * n_sensors,
|
||||||
|
"upper_limit": [cur] * n_sensors,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
if level == 7:
|
||||||
|
cfg["levels"].append(
|
||||||
|
{
|
||||||
|
"speed": 7,
|
||||||
|
"upper_limit": [args.upper_bound] * n_sensors,
|
||||||
|
"lower_limit": [cur - halfstep] * n_sensors,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
continue
|
||||||
|
|
||||||
|
cfg["levels"].append(
|
||||||
|
{
|
||||||
|
"speed": level,
|
||||||
|
"lower_limit": [cur - halfstep] * n_sensors,
|
||||||
|
"upper_limit": [cur + step] * n_sensors,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
cur += step
|
||||||
|
|
||||||
|
print(f"# thinkfan_confgen.py created {datetime.datetime.now(datetime.UTC)}")
|
||||||
|
print(json.dumps(cfg))
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main())
|
@@ -3,11 +3,32 @@ set -o errexit
|
|||||||
set -o pipefail
|
set -o pipefail
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
_setup_elan_touchpad
|
local session_id
|
||||||
_setup_trackman_marble
|
session_id="$(loginctl --output=json | jq -r '.[]|.session')"
|
||||||
|
|
||||||
|
local session_type
|
||||||
|
session_type="$(
|
||||||
|
loginctl show-session "${session_id}" -p Type |
|
||||||
|
awk -F= '{ print $2 }'
|
||||||
|
)"
|
||||||
|
|
||||||
|
"_setup_elan_touchpad_${session_type}"
|
||||||
|
"_setup_trackman_marble_${session_type}"
|
||||||
}
|
}
|
||||||
|
|
||||||
_setup_elan_touchpad() {
|
_setup_elan_touchpad_wayland() {
|
||||||
|
local tp='org.gnome.desktop.peripherals.touchpad'
|
||||||
|
gsettings set "${tp}" natural-scroll true
|
||||||
|
gsettings set "${tp}" tap-to-click true
|
||||||
|
}
|
||||||
|
|
||||||
|
_setup_trackman_marble_wayland() {
|
||||||
|
local tm='org.gnome.desktop.peripherals.trackball'
|
||||||
|
gsettings set "${tm}" scroll-wheel-emulation-button 8
|
||||||
|
gsettings set "${tm}" accel-profile default
|
||||||
|
}
|
||||||
|
|
||||||
|
_setup_elan_touchpad_x11() {
|
||||||
local etp='Elan Touchpad'
|
local etp='Elan Touchpad'
|
||||||
|
|
||||||
if ! xinput list-props "${etp}" &>/dev/null; then
|
if ! xinput list-props "${etp}" &>/dev/null; then
|
||||||
@@ -17,7 +38,7 @@ _setup_elan_touchpad() {
|
|||||||
xinput set-prop "${etp}" 'libinput Natural Scrolling Enabled' 1
|
xinput set-prop "${etp}" 'libinput Natural Scrolling Enabled' 1
|
||||||
}
|
}
|
||||||
|
|
||||||
_setup_trackman_marble() {
|
_setup_trackman_marble_x11() {
|
||||||
local tmm='Logitech USB Trackball'
|
local tmm='Logitech USB Trackball'
|
||||||
|
|
||||||
if ! xinput list-props "${tmm}" &>/dev/null; then
|
if ! xinput list-props "${tmm}" &>/dev/null; then
|
||||||
|
Binary file not shown.
After Width: | Height: | Size: 1.8 MiB |
7
minirc.dfl
Normal file
7
minirc.dfl
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
pu baudrate 115200
|
||||||
|
pu bits 8
|
||||||
|
pu parity N
|
||||||
|
pu stopbits 1
|
||||||
|
pu rtscts No
|
||||||
|
pu xonxoff No
|
||||||
|
|
@@ -1,9 +1,13 @@
|
|||||||
bind-key C-b last-window
|
bind-key C-b last-window
|
||||||
set-option -g default-command /bin/zsh
|
set-option -g default-command /bin/zsh
|
||||||
set-option -g default-shell /bin/zsh
|
set-option -g default-shell /bin/zsh
|
||||||
set-option -g default-terminal 'screen-256color'
|
set-option -s default-terminal 'tmux-256color'
|
||||||
|
set -ga terminal-overrides ',alacritty:RGB,*256col*:RGB'
|
||||||
set-option -g history-limit 100000
|
set-option -g history-limit 100000
|
||||||
set-option -g prefix C-b
|
set-option -g prefix C-b
|
||||||
set-option -g renumber-windows on
|
set-option -g renumber-windows on
|
||||||
set-option -s escape-time 0
|
set-option -s escape-time 0
|
||||||
|
set -g window-status-format '#I:#(pwd="#{pane_current_path}"; echo ${pwd####*/})#F'
|
||||||
|
set -g window-status-current-format '#I:#(pwd="#{pane_current_path}"; echo ${pwd####*/})#F'
|
||||||
|
set -g status-interval 1
|
||||||
setw -g mode-keys vi
|
setw -g mode-keys vi
|
||||||
|
@@ -1,14 +1,17 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -o errexit
|
set -o errexit
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
export RUNNING_AS="${RUNNING_AS:-me}"
|
export RUNNING_AS="${RUNNING_AS:-dan}"
|
||||||
export RUNNING_AS_ID="$(id -u "${RUNNING_AS}")"
|
RUNNING_AS_ID="$(id -u "${RUNNING_AS}")"
|
||||||
export XINPUT_EXE="${XINPUT_EXE:=xinput}"
|
export RUNNING_AS_ID
|
||||||
|
|
||||||
export XAUTHORITY="/home/${RUNNING_AS}/.Xauthority"
|
export XINPUT_EXE="${XINPUT_EXE:=xinput}"
|
||||||
|
export XAUTHORITY="/run/user/${RUNNING_AS_ID}/gdm/Xauthority"
|
||||||
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUNNING_AS_ID}/bus"
|
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/${RUNNING_AS_ID}/bus"
|
||||||
export DISPLAY=:0
|
: "${DISPLAY:=0}"
|
||||||
|
export DISPLAY
|
||||||
export HOME="/home/${RUNNING_AS}"
|
export HOME="/home/${RUNNING_AS}"
|
||||||
|
|
||||||
|
|
||||||
@@ -25,8 +28,14 @@ main() {
|
|||||||
__get_prop_id "${device_id}" 'Scroll Method Enabled'
|
__get_prop_id "${device_id}" 'Scroll Method Enabled'
|
||||||
)"
|
)"
|
||||||
|
|
||||||
|
local scrollbutton
|
||||||
|
scrollbutton="$(
|
||||||
|
__get_prop_id "${device_id}" 'Button Scrolling Button'
|
||||||
|
)"
|
||||||
|
|
||||||
__run_xinput_as set-prop "${device_id}" "${natscroll_enabled}" 1
|
__run_xinput_as set-prop "${device_id}" "${natscroll_enabled}" 1
|
||||||
__run_xinput_as set-prop "${device_id}" "${scrollmeth_enabled}" 0 0 1
|
__run_xinput_as set-prop "${device_id}" "${scrollmeth_enabled}" 0 0 1
|
||||||
|
__run_xinput_as set-prop "${device_id}" "${scrollbutton}" 8
|
||||||
}
|
}
|
||||||
|
|
||||||
__get_device_id() {
|
__get_device_id() {
|
||||||
|
@@ -1 +1 @@
|
|||||||
ACTION=="bind", SUBSYSTEM=="usb", ENV{ID_VENDOR}=="Logitech", ENV{ID_SERIAL}=="Logitech_USB_Trackball", RUN:="/usr/local/bin/handle-trackman-marble"
|
ACTION=="bind", SUBSYSTEM=="usb", ENV{NAME}=="Logitech USB Trackball", MODE="0660", TAG+="uaccess", RUN:="/usr/local/bin/handle-trackman-marble"
|
||||||
|
49
vim/coc-settings.json
Normal file
49
vim/coc-settings.json
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
"languageserver": {
|
||||||
|
"terraform": {
|
||||||
|
"command": "terraform-lsp",
|
||||||
|
"filetypes": [
|
||||||
|
"terraform"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"R": {
|
||||||
|
"command": "R",
|
||||||
|
"args": [
|
||||||
|
"--slave",
|
||||||
|
"-e",
|
||||||
|
"languageserver::run()"
|
||||||
|
],
|
||||||
|
"filetypes": [
|
||||||
|
"r"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"bash": {
|
||||||
|
"command": "bash-language-server",
|
||||||
|
"args": [
|
||||||
|
"start"
|
||||||
|
],
|
||||||
|
"filetypes": [
|
||||||
|
"sh"
|
||||||
|
],
|
||||||
|
"ignoredRootPaths": [
|
||||||
|
"~"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ruff-lsp": {
|
||||||
|
"command": [
|
||||||
|
"ruff-lsp"
|
||||||
|
],
|
||||||
|
"filetypes": [
|
||||||
|
"python"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pyright.enable": true,
|
||||||
|
"pyright.inlayHints.functionReturnTypes": true,
|
||||||
|
"pyright.inlayHints.variableTypes": true,
|
||||||
|
"pyright.organizeimports.provider": "ruff",
|
||||||
|
"pyright.testing.provider": "pytest",
|
||||||
|
"python.formatting.provider": "ruff",
|
||||||
|
"python.linting.ruffEnabled": true,
|
||||||
|
"clangd.path": "~/.config/coc/extensions/coc-clangd-data/install/17.0.3/clangd_17.0.3/bin/clangd"
|
||||||
|
}
|
109
vimrc
109
vimrc
@@ -1,5 +1,4 @@
|
|||||||
packloadall
|
packloadall
|
||||||
call pathogen#infect()
|
|
||||||
|
|
||||||
syntax on
|
syntax on
|
||||||
|
|
||||||
@@ -7,12 +6,15 @@ filetype on
|
|||||||
filetype indent on
|
filetype indent on
|
||||||
filetype plugin on
|
filetype plugin on
|
||||||
|
|
||||||
|
let mapleader = ","
|
||||||
|
|
||||||
|
set autowrite
|
||||||
set backspace=indent,eol,start
|
set backspace=indent,eol,start
|
||||||
set backupdir^=~/.vim/_backup//
|
set backupdir^=~/.vim/_backup//
|
||||||
set cursorline
|
set cursorline
|
||||||
set cursorcolumn
|
set cursorcolumn
|
||||||
set directory^=~/.vim/_temp//
|
set directory^=~/.vim/_temp//
|
||||||
set encoding=utf8
|
set encoding=utf-8
|
||||||
set hlsearch
|
set hlsearch
|
||||||
set ignorecase
|
set ignorecase
|
||||||
set incsearch
|
set incsearch
|
||||||
@@ -21,35 +23,96 @@ set linebreak
|
|||||||
set modeline
|
set modeline
|
||||||
set nowrap
|
set nowrap
|
||||||
set number
|
set number
|
||||||
|
set signcolumn=yes
|
||||||
set smartcase
|
set smartcase
|
||||||
set statusline+=%#warningmsg#
|
set statusline+=%#warningmsg#
|
||||||
set statusline+=%*
|
set statusline+=%*
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set textwidth=67
|
set updatetime=300
|
||||||
|
set textwidth=1000
|
||||||
|
|
||||||
if has("persistent_undo")
|
if has("persistent_undo")
|
||||||
set undodir=~/.vim/_undo//
|
set undodir=~/.vim/_undo//
|
||||||
set undofile
|
set undofile
|
||||||
endif
|
endif
|
||||||
|
|
||||||
au BufRead,BufNewFile Pipfile setfiletype toml
|
|
||||||
au BufRead,BufNewFile *.gcfg setfiletype gitconfig
|
au BufRead,BufNewFile *.gcfg setfiletype gitconfig
|
||||||
au BufRead,BufNewFile Pipfile setfiletype toml
|
au BufRead,BufNewFile *.gotmpl setfiletype gotexttmpl
|
||||||
au BufRead,BufNewFile Dockerfile* setfiletype dockerfile
|
au BufRead,BufNewFile *.hcl setfiletype hcl
|
||||||
|
au BufRead,BufNewFile *.nomad setfiletype hcl
|
||||||
au BufRead,BufNewFile *.service setfiletype systemd
|
au BufRead,BufNewFile *.service setfiletype systemd
|
||||||
au BufRead,BufNewFile .Rprofile setfiletype r
|
au BufRead,BufNewFile .Rprofile setfiletype r
|
||||||
au BufWritePre *.py execute ':Black'
|
au BufRead,BufNewFile .envrc setfiletype sh
|
||||||
|
au BufRead,BufNewFile Dockerfile* setfiletype dockerfile
|
||||||
|
au BufRead,BufNewFile Pipfile setfiletype toml
|
||||||
|
au BufRead,BufNewFile kubectl-edit-status-* setfiletype yaml
|
||||||
|
au BufRead,BufNewFile *kubeconfig* setfiletype yaml
|
||||||
|
au BufRead,BufNewFile */.kube/config setfiletype yaml
|
||||||
|
au BufRead,BufNewFile .lintr setfiletype yaml
|
||||||
|
au BufRead,BufNewFile devcontainer.json setfiletype jsonc
|
||||||
|
au BufRead,BufNewFile devcontainer-feature.json setfiletype jsonc
|
||||||
|
au BufRead,BufNewFile *.bicepparam setfiletype bicep
|
||||||
|
au BufNewFile,BufRead *.go setlocal noexpandtab tabstop=4 shiftwidth=4
|
||||||
|
au FileType go nmap <leader>r <Plug>(go-run)
|
||||||
|
au FileType go nmap <Leader>c <Plug>(go-coverage-toggle)
|
||||||
|
au FileType sh set expandtab
|
||||||
au QuickFixCmdPost *grep* cwindow
|
au QuickFixCmdPost *grep* cwindow
|
||||||
au BufWritePre *.py execute ':Black'
|
|
||||||
|
|
||||||
map ,t :w<CR>
|
" run :GoBuild or :GoTestCompile based on the go file
|
||||||
map ,- :nohl<CR>
|
function! s:build_go_files()
|
||||||
map ,w :%s/ *$//<CR>
|
let l:file = expand('%')
|
||||||
|
if l:file =~# '^\f\+_test\.go$'
|
||||||
|
call go#test#Test(0, 1)
|
||||||
|
elseif l:file =~# '^\f\+\.go$'
|
||||||
|
call go#cmd#Build(0)
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
au FileType go nmap <leader>b :<C-u>call <SID>build_go_files()<CR>
|
||||||
|
au FileType go nmap <leader>d :GoDef<CR>
|
||||||
|
au FileType go nmap <leader>N :GoRename<CR>
|
||||||
|
au FileType go nmap <leader>R :GoReferrers<CR>
|
||||||
|
|
||||||
|
map <leader>t :w<CR>
|
||||||
|
map <leader>- :nohl<CR>
|
||||||
|
map <leader>w :%s/ *$//<CR>
|
||||||
|
map <leader>l :Minimap<CR>
|
||||||
|
map <leader>L :MinimapClose<CR>
|
||||||
|
nmap <F8> :TagbarToggle<CR>
|
||||||
|
|
||||||
|
"augroup black_on_save
|
||||||
|
" autocmd!
|
||||||
|
" autocmd BufWritePre *.py Black
|
||||||
|
"augroup end
|
||||||
|
|
||||||
|
autocmd BufNewFile,BufRead *.c set formatprg=astyle\ -t4\ -A14
|
||||||
|
|
||||||
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
|
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
|
||||||
let g:airline_powerline_fonts = 1
|
let g:airline_powerline_fonts = 1
|
||||||
|
let g:black_use_virtualenv = 1
|
||||||
|
let g:coc_global_extensions = ['coc-tsserver']
|
||||||
|
let g:coc_node_path = "/home/dan/.nvm/versions/node/v16.9.1/bin/node"
|
||||||
|
let g:go_auto_sameids = 1
|
||||||
|
let g:go_auto_type_info = 1
|
||||||
|
let g:go_def_mode = 'gopls'
|
||||||
let g:go_fmt_command = "goimports"
|
let g:go_fmt_command = "goimports"
|
||||||
|
let g:go_highlight_build_constraints = 1
|
||||||
|
let g:go_highlight_extra_types = 1
|
||||||
|
let g:go_highlight_fields = 1
|
||||||
|
let g:go_highlight_function_calls = 1
|
||||||
|
let g:go_highlight_functions = 1
|
||||||
|
let g:go_highlight_operators = 1
|
||||||
|
let g:go_info_mode = 'gopls'
|
||||||
|
let g:html_indent_script1 = "inc"
|
||||||
|
let g:html_indent_style1 = "inc"
|
||||||
|
let g:minimap_auto_start = 1
|
||||||
|
let g:minimap_auto_start_win_enter = 1
|
||||||
|
let g:minimap_highlight_range = 1
|
||||||
|
let g:minimap_highlight_search = 1
|
||||||
|
let g:minimap_enable_highlight_colorgroup = 1
|
||||||
|
let g:minimap_width = 10
|
||||||
let g:python_highlight_all = 1
|
let g:python_highlight_all = 1
|
||||||
|
let g:rehash256 = 1
|
||||||
let g:rustfmt_autosave = 1
|
let g:rustfmt_autosave = 1
|
||||||
let g:shfmt_extra_args = '-i 2'
|
let g:shfmt_extra_args = '-i 2'
|
||||||
let g:shfmt_fmt_on_save = 1
|
let g:shfmt_fmt_on_save = 1
|
||||||
@@ -59,13 +122,27 @@ let g:vim_markdown_folding_disabled = 1
|
|||||||
let g:vim_markdown_frontmatter = 1
|
let g:vim_markdown_frontmatter = 1
|
||||||
let g:yapf_style = "pep8"
|
let g:yapf_style = "pep8"
|
||||||
|
|
||||||
if has("python3")
|
if exists('+termguicolors')
|
||||||
python3 from powerline.vim import setup as powerline_setup
|
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
|
||||||
python3 powerline_setup()
|
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
|
||||||
python3 del powerline_setup
|
set termguicolors
|
||||||
endif
|
endif
|
||||||
|
|
||||||
packadd! dracula
|
"colorscheme dichromatic
|
||||||
colorscheme dracula
|
colorscheme dracula
|
||||||
|
"colorscheme molokai
|
||||||
|
"colorscheme elflord
|
||||||
|
|
||||||
hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
|
hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
|
||||||
|
hi minimapCursor ctermbg=59 ctermfg=228 guibg=#5F5F5F guifg=#FFFF87
|
||||||
|
hi minimapRange ctermbg=242 ctermfg=228 guibg=#4F4F4F guifg=#FFFF87
|
||||||
|
|
||||||
|
nmap <leader>sp :call <SID>SynStack()<CR>
|
||||||
|
function! <SID>SynStack()
|
||||||
|
if !exists("*synstack")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
echo map(synstack(line('.'), col('.')), 'synIDattr(v:val, "name")')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
"source ~/.vimrc.coc
|
||||||
|
13
xinitrc
Normal file
13
xinitrc
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# vim:filetype=bash:expandtab:ts=2:sts=2
|
||||||
|
setxkbmap dvorak
|
||||||
|
|
||||||
|
. ~/.config/xinit_functions.sh
|
||||||
|
|
||||||
|
_xinit_setup_xinput
|
||||||
|
|
||||||
|
eval "$(ssh-agent)"
|
||||||
|
|
||||||
|
if [ -n "${WM}" ]; then
|
||||||
|
exec "${WM}"
|
||||||
|
fi
|
||||||
|
exec false
|
138
zshrc
138
zshrc
@@ -1,7 +1,14 @@
|
|||||||
|
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
|
||||||
|
# Initialization code that may require console input (password prompts, [y/n]
|
||||||
|
# confirmations, etc.) must go above this block; everything else may go below.
|
||||||
|
if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
|
||||||
|
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||||
|
fi
|
||||||
|
|
||||||
[[ "${ZSH_DEBUG}" ]] && set -o xtrace
|
[[ "${ZSH_DEBUG}" ]] && set -o xtrace
|
||||||
|
|
||||||
ZSH=$HOME/.oh-my-zsh
|
ZSH=$HOME/.oh-my-zsh
|
||||||
ZSH_THEME=dracula
|
ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||||
|
|
||||||
CASE_SENSITIVE="true"
|
CASE_SENSITIVE="true"
|
||||||
|
|
||||||
@@ -29,19 +36,27 @@ COMPLETION_WAITING_DOTS="true"
|
|||||||
# much faster.
|
# much faster.
|
||||||
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
if [[ -e "${XDG_RUNTIME_DIR}/ssh-agent.socket" ]]; then
|
||||||
|
export SSH_AUTH_SOCK="${XDG_RUNTIME_DIR}/ssh-agent.socket"
|
||||||
|
fi
|
||||||
|
|
||||||
path=(
|
path=(
|
||||||
|
$HOME/.rbenv/shims
|
||||||
$HOME/bin
|
$HOME/bin
|
||||||
$HOME/go/bin
|
$HOME/go/bin
|
||||||
$HOME/.local/bin
|
$HOME/.local/bin
|
||||||
$HOME/.cargo/bin
|
$HOME/.cargo/bin
|
||||||
$HOME/.rbenv/bin
|
$HOME/.rbenv/bin
|
||||||
$HOME/.rbenv/shims
|
|
||||||
$HOME/.phpenv/bin
|
$HOME/.phpenv/bin
|
||||||
$HOME/.pyenv/bin
|
|
||||||
$HOME/.yarn/bin
|
$HOME/.yarn/bin
|
||||||
|
$HOME/.pulumi/bin
|
||||||
|
${KREW_ROOT:-$HOME/.krew}/bin
|
||||||
|
$HOME/.local/bin
|
||||||
|
$HOME/.nix-profile/bin
|
||||||
$HOME/perl5/bin
|
$HOME/perl5/bin
|
||||||
$HOME/Library/Python/3.8/bin
|
$HOME/Library/Python/3.8/bin
|
||||||
/usr/local/opt/python@3.8/bin
|
/usr/local/opt/python@3.8/bin
|
||||||
|
/usr/bin/core_perl
|
||||||
/usr/local/sbin
|
/usr/local/sbin
|
||||||
/usr/local/bin
|
/usr/local/bin
|
||||||
/usr/bin/vendor_perl
|
/usr/bin/vendor_perl
|
||||||
@@ -57,29 +72,30 @@ path=(
|
|||||||
|
|
||||||
plugins=(
|
plugins=(
|
||||||
archlinux
|
archlinux
|
||||||
autoenv
|
asdf
|
||||||
aws
|
aws
|
||||||
|
azure
|
||||||
|
brew
|
||||||
bundler
|
bundler
|
||||||
cargo
|
|
||||||
command-not-found
|
command-not-found
|
||||||
cp
|
cp
|
||||||
|
direnv
|
||||||
docker
|
docker
|
||||||
gem
|
gem
|
||||||
git
|
git
|
||||||
golang
|
golang
|
||||||
helm
|
helm
|
||||||
heroku
|
heroku
|
||||||
|
httpie
|
||||||
kubectl
|
kubectl
|
||||||
mercurial
|
mercurial
|
||||||
|
minikube
|
||||||
nmap
|
nmap
|
||||||
node
|
node
|
||||||
#npm
|
|
||||||
#npx
|
|
||||||
nvm
|
nvm
|
||||||
pip
|
pip
|
||||||
#pipenv
|
podman
|
||||||
postgres
|
postgres
|
||||||
pyenv
|
|
||||||
python
|
python
|
||||||
rails
|
rails
|
||||||
rake-fast
|
rake-fast
|
||||||
@@ -88,24 +104,34 @@ plugins=(
|
|||||||
rsync
|
rsync
|
||||||
ruby
|
ruby
|
||||||
rust
|
rust
|
||||||
rustup
|
symfony-complete
|
||||||
terraform
|
|
||||||
tmux
|
tmux
|
||||||
vagrant
|
vagrant
|
||||||
vault
|
|
||||||
vi-mode
|
vi-mode
|
||||||
yarn
|
yarn
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if [[ -x /home/linuxbrew/.linuxbrew/bin/brew ]]; then
|
||||||
|
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -d ~/.oh-my-zsh/plugins/just/ ]]; then
|
||||||
|
plugins+=just
|
||||||
|
fi
|
||||||
|
|
||||||
fpath=(/usr/local/share/zsh/site-functions $fpath)
|
fpath=(/usr/local/share/zsh/site-functions $fpath)
|
||||||
|
fpath=("${HOMEBREW_PREFIX}/share/zsh/site-functions" $fpath)
|
||||||
|
|
||||||
source $ZSH/oh-my-zsh.sh
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
unalias gb &>/dev/null
|
unalias gb &>/dev/null
|
||||||
|
|
||||||
export VISUAL=vim
|
export EDITOR=vim
|
||||||
export PYENV_ROOT="${HOME}/.pyenv"
|
export PYENV_ROOT="${HOME}/.pyenv"
|
||||||
export SDKMAN_DIR="${HOME}/.sdkman"
|
export SDKMAN_DIR="${HOME}/.sdkman"
|
||||||
|
export VISUAL=vim
|
||||||
|
export PTD_CACHE="${HOME}/.local/ptd"
|
||||||
|
export PTD_ROOT="${HOME}/code/rstudio/ptd/infra"
|
||||||
|
|
||||||
# The completion for aws is not compatible with $fpath :scream_cat:
|
# The completion for aws is not compatible with $fpath :scream_cat:
|
||||||
if [[ -f /usr/local/share/zsh/site-functions/_aws ]] ; then
|
if [[ -f /usr/local/share/zsh/site-functions/_aws ]] ; then
|
||||||
@@ -133,11 +159,26 @@ if command -v ssh-add &>/dev/null; then
|
|||||||
alias ssh-add='ssh-add -t 1h'
|
alias ssh-add='ssh-add -t 1h'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if psql --version &>/dev/null; then
|
||||||
|
alias pgme='psql -d postgres://me@jool.meatballhat.com:15744/me'
|
||||||
|
fi
|
||||||
|
|
||||||
|
if terraform version &>/dev/null; then
|
||||||
|
alias terraform=tofu
|
||||||
|
alias tf=tofu
|
||||||
|
fi
|
||||||
|
|
||||||
unsetopt correct_all
|
unsetopt correct_all
|
||||||
bindkey '^R' history-incremental-search-backward
|
bindkey '^R' history-incremental-search-backward
|
||||||
|
|
||||||
if which pyenv >/dev/null; then
|
if which pyenv >/dev/null; then
|
||||||
eval "$(pyenv init - 2>/dev/null)"
|
if [[ "${HATCH_ENV_ACTIVE}" ]]; then
|
||||||
|
: skipping pyenv when inside a hatch env
|
||||||
|
else
|
||||||
|
path=($HOME/.pyenv/shims $HOME/.pyenv/bin "${path[@]}")
|
||||||
|
plugins=("${plugins[@]}" pyenv)
|
||||||
|
eval "$(pyenv init - 2>/dev/null)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if which phpenv >/dev/null; then
|
if which phpenv >/dev/null; then
|
||||||
@@ -149,36 +190,14 @@ if [[ -f ~/.cargo/env ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if gimme --version &>/dev/null; then
|
if gimme --version &>/dev/null; then
|
||||||
eval "$(gimme '1.15.x')" 2>/dev/null
|
eval "$(gimme 1.21.4)" 2>/dev/null
|
||||||
export GOPATH="$HOME/go"
|
export GOPATH="$HOME/go"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CDPATH="$HOME/code:$HOME/src:$HOME/Development/src:$HOME/repos"
|
cdpath=(
|
||||||
for prefix in github.com github.com/meatballhat code.google.com/p ; do
|
$HOME/code
|
||||||
CDPATH="$HOME/go/src/$prefix:$CDPATH"
|
$HOME/src
|
||||||
done
|
)
|
||||||
|
|
||||||
export GPG_TTY=$(tty)
|
|
||||||
|
|
||||||
function dump-ssh-agent() {
|
|
||||||
env | awk '/SSH/ {
|
|
||||||
sub(/=/, "=\"", $1)
|
|
||||||
sub(/$/, "\"", $1)
|
|
||||||
print "export " $1
|
|
||||||
}' | tee ~/.ssh/agent.out
|
|
||||||
}
|
|
||||||
|
|
||||||
function load-ssh-agent() {
|
|
||||||
source ~/.ssh/agent.out
|
|
||||||
}
|
|
||||||
|
|
||||||
function start-ssh-agent() {
|
|
||||||
ssh-agent >~/.ssh/agent.out
|
|
||||||
}
|
|
||||||
|
|
||||||
function setup-ssh-agent() {
|
|
||||||
start-ssh-agent && load-ssh-agent
|
|
||||||
}
|
|
||||||
|
|
||||||
function __maybesource() {
|
function __maybesource() {
|
||||||
if [[ -f "${1}" ]]; then
|
if [[ -f "${1}" ]]; then
|
||||||
@@ -212,7 +231,22 @@ function docker-cleanup() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
load-ssh-agent &>/dev/null
|
function ptd-completion() {
|
||||||
|
if command -v ptd &>/dev/null; then
|
||||||
|
eval "$(_PTD_COMPLETE=zsh_source ptd)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function mksecret() {
|
||||||
|
local nbytes="${1:-42}"
|
||||||
|
|
||||||
|
python3 <<EOPYTHON | tr -d '/' | tr -d '+' | cut -b1-$((nbytes - 1))
|
||||||
|
import secrets
|
||||||
|
import base64
|
||||||
|
|
||||||
|
print(base64.b64encode(secrets.token_bytes(${nbytes} * 2)).decode(), end="")
|
||||||
|
EOPYTHON
|
||||||
|
}
|
||||||
|
|
||||||
export NVM_DIR="${HOME}/.nvm"
|
export NVM_DIR="${HOME}/.nvm"
|
||||||
|
|
||||||
@@ -222,6 +256,7 @@ __maybesource ~/google-cloud-sdk/completion.zsh.inc
|
|||||||
__maybesource /usr/share/nvm/init-nvm.sh silent
|
__maybesource /usr/share/nvm/init-nvm.sh silent
|
||||||
__maybesource /usr/local/opt/nvm/nvm.sh silent
|
__maybesource /usr/local/opt/nvm/nvm.sh silent
|
||||||
__maybesource "${NVM_DIR}/nvm.sh"
|
__maybesource "${NVM_DIR}/nvm.sh"
|
||||||
|
__maybesource /home/linuxbrew/.linuxbrew/opt/nvm/nvm.sh
|
||||||
__maybesource ~/.kiex/scripts/kiex
|
__maybesource ~/.kiex/scripts/kiex
|
||||||
__maybesource ~/.config/tabtab/__tabtab.zsh
|
__maybesource ~/.config/tabtab/__tabtab.zsh
|
||||||
__maybesource ~/.sdkman/bin/sdkman-init.sh
|
__maybesource ~/.sdkman/bin/sdkman-init.sh
|
||||||
@@ -239,13 +274,26 @@ if [[ -d /usr/local/opt/python@3.8/lib/pkgconfig ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if nvm &>/dev/null; then
|
if nvm &>/dev/null; then
|
||||||
nvm use --delete-prefix lts/erbium --silent
|
nvm use --delete-prefix 20 --silent
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
autoload -Uz compinit
|
||||||
|
compinit
|
||||||
|
|
||||||
if kitty --version &>/dev/null; then
|
if kitty --version &>/dev/null; then
|
||||||
autoload -Uz compinit
|
|
||||||
compinit
|
|
||||||
kitty + complete setup zsh | source /dev/stdin
|
kitty + complete setup zsh | source /dev/stdin
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
compdef _symfony_complete composer
|
||||||
|
compdef _symfony_complete dep
|
||||||
|
|
||||||
|
alias fz=fuzzbucket-client
|
||||||
|
|
||||||
|
if ptd --version &>/dev/null; then
|
||||||
|
ptd-completion
|
||||||
|
fi
|
||||||
|
|
||||||
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
||||||
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
||||||
|
|
||||||
true
|
true
|
||||||
|
Reference in New Issue
Block a user