97 Commits
v0.1 ... i3

Author SHA1 Message Date
eneller
ff36b7b20a timetrap, etc. 2025-09-12 09:31:35 +02:00
eneller
1fa5c6d319 minor tweaks 2025-04-08 14:14:16 +02:00
eneller
aa61185828 gh alias for social preview 2025-02-28 00:23:59 +01:00
eneller
0f485db352 fix aliases 2025-02-26 10:45:44 +01:00
eneller
0f3d823820 i3status 2025-02-18 19:56:39 +01:00
eneller
0c23654196 minor updates 2025-02-01 11:09:30 +01:00
eneller
686ee5f204 gh-upload 2024-08-26 11:21:45 +02:00
eneller
169f4f10f1 nvim oil, shell aliases, zsh tweaks 2024-08-25 23:35:33 +02:00
eneller
370034ed5d fix: zsh, sourcing, prompt 2024-04-22 10:52:27 +02:00
eneller
1a4a790ab3 gitconfig 2024-04-22 10:22:54 +02:00
eneller
562491d53a fix: git-home, git-root eval 2024-04-17 10:00:27 +02:00
eneller
0bf29844d1 feat: better git-root and git-home for exec 2024-03-04 23:18:12 +01:00
eneller
8392c8d3b7 chore: remove ulauncher, sublime, syncthing 2024-03-04 22:28:10 +01:00
eneller
36f66e245d add: gitconfig 2024-03-04 21:54:06 +01:00
eneller
2fe6646f04 feat: improve git-root 2024-03-04 21:42:47 +01:00
eneller
b7f48e8b02 scripts: git-ignore, git-root
needs to be improved
2024-03-04 21:25:38 +01:00
eneller
011bb597be minor alias stuff, nvim binds 2024-03-04 21:24:43 +01:00
eneller
77323575e2 fix: launch stuff
removal of manjaro-bashrc broke stuff because .profile isnt sourced
anymore before i3 is launched
2024-03-04 21:22:26 +01:00
eneller
6d81c979d8 i3: remove mod+m for mailclient 2024-01-25 12:25:58 +01:00
eneller
014209866e add aliases for python, git 2024-01-25 12:25:34 +01:00
eneller
42142dd7f8 alacritty migrate to toml 2024-01-21 20:11:53 +01:00
eneller
bf873caffc shell tweaks 2023-11-15 18:05:10 +01:00
eneller
a0da43b1ed autostart nextcloud, nvim binds 2023-09-19 10:41:07 +02:00
eneller
51a0b9dab2 replace exa(unmaintained) with eza, add new aliases 2023-09-19 10:39:34 +02:00
eneller
f806d1f817 minor tweaks for i3, nvim, rofi 2023-07-18 12:04:12 +02:00
eneller
34da911ccf fix: i3 screenshot bind 2023-06-29 14:33:08 +02:00
eneller
fdf0d45894 vim: add enter and space binds 2023-06-27 23:06:44 +02:00
eneller
d0857e1def use rofi as launcher 2023-06-27 23:06:19 +02:00
eneller
a749491ed4 feat: add dict 2023-05-19 19:54:19 +02:00
eneller
9ca39f741d random updates 2023-05-19 16:45:00 +02:00
eneller
e5e291ad6a begin using rofi 2023-03-31 18:09:16 +02:00
eneller
cff2543c50 DE improvements 2023-03-01 09:33:40 +01:00
eneller
701377dad1 improve shell config 2023-03-01 09:28:19 +01:00
eneller
8efa82da1d minor ulauncher config tweaks
system manager now also locks the screen before suspending
2023-02-21 06:42:41 +01:00
eneller
dae70aeeba add desktop files
firefox and thunderbird profile manager now show up in applicatin lists
2023-02-21 06:38:15 +01:00
eneller
b87a8f1196 ulauncher, picom adjustments 2023-01-02 21:35:54 +01:00
eneller
d4a7ee068f enable picom for ulauncher 2023-01-01 12:06:49 +01:00
eneller
9e6a502eff fix dumb tmux conf 2022-12-31 15:41:47 +01:00
eneller
8eaa3653a3 make tmux recognise ssh sessions 2022-09-08 09:13:13 +02:00
eneller
de389f9e46 firefox stuff 2022-09-01 23:07:17 +02:00
eneller
cbb15212e3 begin firefox user.js settings 2022-08-31 22:05:50 +02:00
eneller
3d0bb59f6f more autorandr stuff 2022-08-31 19:12:25 +02:00
eneller
a8af0f1150 use autorandr 2022-08-20 12:42:16 +02:00
eneller
0e88f44a72 alias stuff 2022-08-20 12:31:27 +02:00
eneller
c2063cf2a3 move aliases 2022-08-19 11:39:49 +02:00
eneller
b37bd06e86 tiling / tabbed , split 2022-08-13 10:33:38 +02:00
eneller
3a8b59635a firefox userchrome 2022-08-10 12:56:40 +02:00
eneller
d0735f3242 minor adjustments 2022-08-09 11:38:08 +02:00
eneller
2c3234829e add xset key repeat 2022-08-08 13:27:19 +02:00
eneller
010d855d3a remove global color variables (didnt work) 2022-08-08 13:26:52 +02:00
eneller
d75fe2d25b begin manjaro i3 2022-08-05 09:50:09 +02:00
eneller
3bf73a7a83 i3status placeholder 2022-08-04 11:22:32 +02:00
eneller
f13ecb23db add ublock 2022-08-04 07:41:18 +02:00
eneller
ed9469c139 Update config 2022-07-22 13:21:35 +02:00
eneller
2e92818584 Update .profile 2022-07-22 13:18:33 +02:00
eneller
59ccd3e5e4 Create neomuttrc 2022-07-22 13:17:16 +02:00
eneller
37de5ec1c0 colors 2022-07-22 08:39:37 +02:00
eneller
7789c0c3a4 set LAUNCHER 2022-07-22 08:01:20 +02:00
eneller
af145f44f0 move colors to profile 2022-07-21 21:28:45 +02:00
eneller
4523d663bc more keybinds 2022-07-21 21:05:51 +02:00
eneller
82b353d17d remove xfce 2022-07-15 20:36:47 +02:00
eneller
9ad8f91158 re-introduce bar 2022-07-15 20:25:36 +02:00
eneller
469a8865ce remove xfce 2022-06-22 09:20:16 +02:00
eneller
749e48ff95 track new setup 2022-06-20 19:08:38 +02:00
eneller
21804cb165 move firefox 2022-06-20 18:59:02 +02:00
eneller
f1642ed73b remove xfce for testing purposes 2022-06-05 17:39:03 +02:00
eneller
14e269a7a5 add more xfce files 2022-05-31 18:29:19 +02:00
eneller
52a21efaf5 Merge pull request #10 from eneller/i3-test
fix i3 resize binds, xfce bar workspaces
2022-05-31 17:55:13 +02:00
eneller
2cd901feca fix i3 resize binds, xfce bar workspaces 2022-05-31 17:50:18 +02:00
eneller
c7ae96905b remove i3 window title, xfce bar tweaks 2022-05-31 15:19:56 +02:00
eneller
597ba8b1d7 add i3 kill, terminal binds 2022-05-31 15:05:15 +02:00
eneller
203f5c345f remove i3-gaps 2022-05-31 14:34:18 +02:00
eneller
41313f6562 clean up i3conf 2022-05-31 11:07:55 +02:00
eneller
3c7a16e293 add panel settings 2022-05-31 11:00:18 +02:00
eneller
d9ae62fae1 try bitwarden scratchpad 2022-05-31 09:33:45 +02:00
eneller
637a7640ca streamline i3config 2022-05-31 09:14:10 +02:00
eneller
593be700fc remove i3bar in favor of xfce4-panel 2022-05-31 08:52:29 +02:00
eneller
aec5058ee0 nvim: ftplugin, multi lua file setup 2022-05-24 10:56:08 +02:00
eneller
6072dd9ae7 add Packer for nvim packages 2022-05-22 10:48:56 +02:00
eneller
6549036f25 migrate neovim config to lua 2022-05-22 09:15:08 +02:00
eneller
df27d8183d add nm-applet to i3conf 2022-05-12 22:55:22 +02:00
eneller
de0a2cc9cc useless stuff 2022-05-12 22:50:34 +02:00
eneller
7ff6b9c124 move p10k.zsh to $ZDOTDIR 2022-05-12 09:55:47 +02:00
eneller
574ba6b1f9 add vi mode 2022-05-12 09:43:48 +02:00
eneller
e449851e1d clean up tmux bar 2022-05-12 09:20:49 +02:00
eneller
8755556bfc add default tmux config 2022-05-12 08:57:15 +02:00
eneller
f8943dc4c3 add tmux config 2022-05-12 00:21:01 +02:00
eneller
6230668741 add background 2022-05-07 20:36:31 +02:00
eneller
aaffb0c339 Add files via upload 2022-05-07 20:18:57 +02:00
eneller
fe65b80575 comment out statusbar 2022-05-07 19:34:01 +02:00
eneller
3e6304f343 more dmenu scripts 2022-05-07 18:55:16 +02:00
eneller
dd0d761bbe add dmenu scripts from LukeSmithxyz/voidrice 2022-05-07 18:49:48 +02:00
eneller
d831fc7f46 clean up i3 2022-05-07 18:41:52 +02:00
eneller
ffc4ee25db add luke i3 2020 2022-05-07 18:03:24 +02:00
eneller
7bd4203146 start cleaning up home directory 2022-04-30 22:55:31 +02:00
eneller
2e9d35c07f add firefox config 2022-04-30 20:42:22 +02:00
eneller
c730ff2419 add discord, qbitt, subl, vlc 2022-04-30 16:13:03 +02:00
66 changed files with 7920 additions and 241 deletions

24
.bashrc
View File

@@ -113,27 +113,3 @@ shopt -s expand_aliases
# Enable history appending instead of overwriting. #139609 # Enable history appending instead of overwriting. #139609
shopt -s histappend shopt -s histappend
#
# # ex - archive extractor
# # usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}

View File

@@ -0,0 +1,45 @@
{
"workbench.colorTheme": "Monokai",
"vscode-neovim.neovimExecutablePaths.linux": "/usr/bin/nvim",
"terminal.explorerKind": "external",
"terminal.external.linuxExec": "alacritty",
"editor.minimap.enabled": false,
"redhat.telemetry.enabled": false,
"[python]": {
"diffEditor.ignoreTrimWhitespace": false
},
"aws.telemetry": false,
"yaml.customTags": [
"!And",
"!And sequence",
"!If",
"!If sequence",
"!Not",
"!Not sequence",
"!Equals",
"!Equals sequence",
"!Or",
"!Or sequence",
"!FindInMap",
"!FindInMap sequence",
"!Base64",
"!Join",
"!Join sequence",
"!Cidr",
"!Ref",
"!Sub",
"!Sub sequence",
"!GetAtt",
"!GetAZs",
"!ImportValue",
"!ImportValue sequence",
"!Select",
"!Select sequence",
"!Split",
"!Split sequence"
],
"[rust]": {},
"extensions.experimental.affinity": {
"asvetliakov.vscode-neovim": 1
}
}

View File

@@ -0,0 +1,34 @@
[colors.bright]
black = "0x75715e"
blue = "0x66d9ef"
cyan = "0xa1efe4"
green = "0xa6e22e"
magenta = "0xae81ff"
red = "0xf92672"
white = "0xf9f8f5"
yellow = "0xf4bf75"
[colors.normal]
black = "0x272822"
blue = "0x66d9ef"
cyan = "0xa1efe4"
green = "0xa6e22e"
magenta = "0xae81ff"
red = "0xf92672"
white = "0xf8f8f2"
yellow = "0xf4bf75"
[colors.primary]
background = "0x272822"
foreground = "0xf8f8f2"
[env]
TERM = "xterm-256color"
[window]
dynamic_title = true
opacity = 1.0
[window.padding]
x = 5
y = 7

View File

@@ -0,0 +1,28 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 1920x1080
pos 0x0
rate 60.00
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff004ca319a501010101311a0103800000780ade50a3544c99260f5054210800a9c090c0b300950095408140a9408180023a801871382d40582c450040846300001e662156aa51001e30468f330040846300001e000000fd0017550f5c11000a202020202020000000fc004550534f4e20504a0a202020200197020328f151901f202205140413030212110706161501230907078301000066030c00100080e200fb9e20009051201f304880360040846300001c023a80d072382d40102c458040846300001e283c80a070b023403020360040846300001a011d8018711c1620582c250040846300009e00000000000000000000000000000082
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,25 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output HDMI-2
off
output DP-2-1
off
output DP-2-2
off
output DP-2-3
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect

View File

@@ -0,0 +1 @@
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,40 @@
output HDMI-1
off
output DP-2
off
output HDMI-2
off
output DP-2-1
off
output DP-2-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output DP-2-3
crtc 2
mode 1920x1080
pos 1920x0
rate 60.00
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-max_bpc 12
x-prop-non_desktop 0
output DP-1
crtc 1
mode 1920x1080
pos 3837x0
rate 60.00
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,3 @@
DP-1 00ffffffffffff001ab3bf0814600b000b200104a5351e78220565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433734353439320a20200006
DP-2-3 00ffffffffffff001ab3c10813fb0a001a1f0104a5351e783a0565a756529c270f5054a54a00818f81809500b30081c0a9c001010101023a801871382d40582c45000f282100001e000000fd00304c1e5211000a202020202020000000fc004232342d392054530a20202020000000ff00595644433731393633350a2020014402031cf14f901f051404031201021113071516062309070783010000023a801871382d40582c45000f282100001e023a80d072382d40102c96800f2821000018011d007251d01e206e2855000f282100001e011d00bc52d01e20b82855400f282100001e8c0ad090204031200c4055000f2821000018000000000000000000e6
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,28 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 2560x1440
pos 1920x0
rate 59.95
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff0010ac67d04c47443014190103803c2278ee4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff0047483835443535423044474c0a000000fc0044454c4c205532373135480a20000000fd0038561e711e000a20202020202001e0020322f14f1005040302071601141f1213202122230907078301000065030c001000023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e00000094
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,28 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 1920x1080
pos 1920x0
rate 60.00
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff004c2d7d0a010000002e160103806639780aee91a3544c99260f5054bdef80714f81c0810081809500a9c0b3000101023a801871382d40582c450024724200001e662156aa51001e30468f330024724200001e000000fd00184b0f5117000a202020202020000000fc0053414d53554e470a20202020200153020330f14d901f04130514031220212207162309070783010000e2000f72030c002000b82d21d0080140073f405090a0011d80d0721c1620102c258024724200009e011d8018711c1620582c250024724200009e011d00bc52d01e20b828554024724200001e011d007251d01e206e28550024724200001e000000000000000e
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,34 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output DP-2-1
off
output DP-2-2
off
output DP-2-3
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 2560x1440
pos 1920x0
rate 59.95
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff0010ac5f4157563541281d0103803c2278eeee95a3544c99260f5054a54b00714f8180a940d1c00101010101010101565e00a0a0a029503020350055502100001a000000ff00335a53465253320a2020202020000000fc0044454c4c205532373139440a20000000fd00384c1e5a19000a20202020202001c7020322f14f90050403020716010611121513141f23097f078301000065030c001000023a801871382d40582c450055502100001e7e3900a080381f4030203a0055502100001a011d007251d01e206e28550055502100001ebf1600a08038134030203a0055502100001a00000000000000000000000000000000000000000088
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,28 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 2560x1440
pos 1920x0
rate 59.95
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff0010ac56a04c32383013160103803c2278ea8e05ad4f33b0260d5054a54b008100b300714fa9408180010101010101023a801871382d40582c250055502100001e000000ff0047363036543235433038324c0a000000fc0044454c4c2055323731310a2020000000fd00384c1e5111000a202020202020012a020329f15090050403020716010611121513141f20230d7f0767030c001000382d830f0000e3050301023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018000000000000000000000000000068
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

View File

@@ -0,0 +1,28 @@
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.02
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 2560x1440
pos 1920x0
rate 59.95
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0

View File

@@ -0,0 +1,2 @@
HDMI-2 00ffffffffffff001e6db35baa2a020002220103803c2278ea8cb5af4f43ab260e5054210800d1c06140010101010101010101010101f8e300a0a0a032503020480055502100001a000000fd0030901ee63c000a202020202020000000fc004c4720554c545241474541520a000000ff003430324e54585234353939340a01ec020349f1230907074d100403011f13123f5d5e5f60616d030c001000b83c20006001020367d85dc401788003e30f00186d1a00000205309000045a445a44e305c000e60605015a5a446fc200a0a0a055503020350055502100001a5aa000a0a0a0465030203a0055502100001a565e00a0a0a029503020350055502100001ad1
eDP-1 00ffffffffffff0030e4080600000000001c0104a51f117802e085a3544e9b260e5054000000010101010101010101010101010101012e3680a070381f403020350035ae1000001a542b80a070381f403020350035ae1000001a000000fe004c4720446973706c61790a2020000000fe004c503134305746392d5350463100d5

9
.config/dict/dictrc Normal file
View File

@@ -0,0 +1,9 @@
# This is the configuration file for dict.
# Usually all you will ever need here is the server keywords.
# Refer to the dict manpage for other options.
# It will only check the second server if the first fails
# localhost uses the dictd service. Configure it to use your local dictionaries.
# see: freedict, /etc/dict/dict.conf, /usr/share/dictd
server localhost
server dict.org

View File

@@ -0,0 +1,13 @@
{
"BACKGROUND_COLOR": "#202225",
"OPEN_ON_STARTUP": false,
"MINIMIZE_TO_TRAY": false,
"IS_MAXIMIZED": false,
"IS_MINIMIZED": false,
"WINDOW_BOUNDS": {
"x": 1,
"y": 30,
"width": 1918,
"height": 1049
}
}

302
.config/dunst/dunstrc Normal file
View File

@@ -0,0 +1,302 @@
[global]
frame_width = 1
frame_color = "#788388"
font = Noto Sans 10
# Allow a small subset of html markup:
# <b>bold</b>
# <i>italic</i>
# <s>strikethrough</s>
# <u>underline</u>
#
# For a complete reference see
# <http://developer.gnome.org/pango/stable/PangoMarkupFormat.html>.
# If markup is not allowed, those tags will be stripped out of the
# message.
markup = yes
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# Markup is allowed
format = "%s %p\n%b"
# Sort messages by urgency.
sort = yes
# Show how many messages are currently hidden (because of geometry).
indicate_hidden = yes
# Alignment of message text.
# Possible values are "left", "center" and "right".
alignment = left
# The frequency with wich text that is longer than the notification
# window allows bounces back and forth.
# This option conflicts with "word_wrap".
# Set to 0 to disable.
bounce_freq = 5
# Show age of message if message is older than show_age_threshold
# seconds.
# Set to -1 to disable.
show_age_threshold = 60
# Split notifications into multiple lines if they don't fit into
# geometry.
word_wrap = no
# Ignore newlines '\n' in notifications.
ignore_newline = no
# The geometry of the window:
# [{width}]x{height}[+/-{x}+/-{y}]
# The geometry of the message window.
# The height is measured in number of notifications everything else
# in pixels. If the width is omitted but the height is given
# ("-geometry x2"), the message window expands over the whole screen
# (dmenu-like). If width is 0, the window expands to the longest
# message displayed. A positive x is measured from the left, a
# negative from the right side of the screen. Y is measured from
# the top and down respectevly.
# The width can be negative. In this case the actual width is the
# screen width minus the width defined in within the geometry option.
geometry = "0x4-25+25"
# Shrink window if it's smaller than the width. Will be ignored if
# width is 0.
shrink = yes
# The transparency of the window. Range: [0; 100].
# This option will only work if a compositing windowmanager is
# present (e.g. xcompmgr, compiz, etc.).
transparency = 15
# Don't remove messages, if the user is idle (no mouse or keyboard input)
# for longer than idle_threshold seconds.
# Set to 0 to disable.
# default 120
idle_threshold = 120
# Which monitor should the notifications be displayed on.
monitor = 0
# Display notification on focused monitor. Possible modes are:
# mouse: follow mouse pointer
# keyboard: follow window with keyboard focus
# none: don't follow anything
#
# "keyboard" needs a windowmanager that exports the
# _NET_ACTIVE_WINDOW property.
# This should be the case for almost all modern windowmanagers.
#
# If this option is set to mouse or keyboard, the monitor option
# will be ignored.
follow = mouse
# Should a notification popped up from history be sticky or timeout
# as if it would normally do.
sticky_history = yes
# Maximum amount of notifications kept in history
history_length = 20
# Display indicators for URLs (U) and actions (A).
show_indicators = yes
# The height of a single line. If the height is smaller than the
# font height, it will get raised to the font height.
# This adds empty space above and under the text.
line_height = 0
# Draw a line of "separator_height" pixel height between two
# notifications.
# Set to 0 to disable.
separator_height = 1
# Padding between text and separator.
# padding = 8
padding = 8
# Horizontal padding.
horizontal_padding = 10
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = #263238
# Print a notification on startup.
# This is mainly for error detection, since dbus (re-)starts dunst
# automatically after a crash.
startup_notification = false
# dmenu path.
dmenu = /usr/bin/dmenu -p dunst:
# Browser for opening urls in context menu.
browser = palemoon
# Align icons left/right/off
icon_position = left
# Paths to default icons.
icon_path = /usr/share/icons/Adwaita/16x16/status/:/usr/share/icons/Adwaita/16x16/devices/
# Limit icons size.
max_icon_size=128
[shortcuts]
# Shortcuts are specified as [modifier+][modifier+]...key
# Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
# "mod3" and "mod4" (windows-key).
# Xev might be helpful to find names for keys.
# Close notification.
close = mod1+space
# Close all notifications.
# close_all = ctrl+shift+space
close_all = ctrl+mod1+space
# Redisplay last message(s).
# On the US keyboard layout "grave" is normally above TAB and left
# of "1".
history = ctrl+mod4+h
# Context menu.
context = ctrl+mod1+c
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#263238"
foreground = "#556064"
timeout = 10
[urgency_normal]
background = "#263238"
foreground = "#F9FAF9"
timeout = 10
[urgency_critical]
background = "#D62929"
foreground = "#F9FAF9"
timeout = 0
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
#[Claws Mail]
# appname = claws-mail
# category = email.arrived
# urgency = normal
# background = "#2F899E"
# foreground = "#FFA247"
#
#[mute.sh]
# appname = mute
# category = mute.sound
# script = mute.sh
#
#[JDownloader]
# appname = JDownloader
# category = JD
# background = "#FFA247"
# foreground = "#FFFFFF"
#
#[newsbeuter]
# summary = *Feeds*
# background = "#A8EB41"
# foreground = "#FFFFFF"
#
[irc]
appname = weechat
timeout = 0
background = "#0033bb"
foreground = "#dddddd"
#
[weechat hl]
appname = weechat
category = weechat.HL
background = "#FF5C47"
foreground = "#FFFFFF"
#
[weechat pn]
appname = weechat
category = weechat.PM
background = "#D53B84"
foreground = "#FFFFFF"
#
#[CMUS]
# appname = CMUS
# category = cmus
# background = "#6C4AB7"
# foreground = "#FFE756"
#
#
# background = "#30AB70"
# foreground = "#F67245"
#
# vim: ft=cfg

20
.config/gh/config.yml Normal file
View File

@@ -0,0 +1,20 @@
# The current version of the config schema
version: 1
# What protocol to use when performing git operations. Supported values: ssh, https
git_protocol: ssh
# What editor gh should run when creating issues, pull requests, etc. If blank, will refer to environment.
editor:
# When to interactively prompt. This is a global config that cannot be overridden by hostname. Supported values: enabled, disabled
prompt: enabled
# A pager program to send command output to, e.g. "less". Set the value to "cat" to disable the pager.
pager:
# Aliases allow you to create nicknames for gh commands
aliases:
co: pr checkout
push: '!gh-upload'
clone: repo clone
social-image: "api graphql -f query='query ($owner: String!, $name: String!) {repository(owner: $owner, name: $name) {openGraphImageUrl} }' -F owner='{owner}' -F name='{repo}' --jq '.data.repository.openGraphImageUrl'"
# The path to a unix socket through which send HTTP connections. If blank, HTTP traffic will be handled by net/http.DefaultTransport.
http_unix_socket:
# What web browser gh should use when opening URLs. If blank, will refer to environment.
browser:

19
.config/gtk-2.0/gtkrc-2.0 Normal file
View File

@@ -0,0 +1,19 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "/home/en/.gtkrc-2.0.mine"
gtk-theme-name="Adapta-Nokto-Eta-Maia"
gtk-icon-theme-name="Papirus-Adapta-Nokto-Maia"
gtk-font-name="Noto Sans 10"
gtk-cursor-theme-name="xcursor-breeze"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintslight"
gtk-xft-rgba="rgb"

4
.config/gtk-3.0/gtk.css Normal file
View File

@@ -0,0 +1,4 @@
.window-frame {
box-shadow: none;
margin: 0;
}

View File

@@ -0,0 +1,17 @@
[Settings]
gtk-icon-theme-name=Papirus-Adapta-Nokto-Maia
gtk-theme-name=Adapta-Nokto-Eta-Maia
gtk-cursor-theme-name=xcursor-breeze
gtk-font-name=Noto Sans 10
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=true
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_BOTH
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=1
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1

BIN
.config/i3/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

46
.config/i3/conf.d/theme Normal file
View File

@@ -0,0 +1,46 @@
# vim: filetype=i3config
font pango:Sans Regular 12
# THEME, should use same colors as .profile
set $black #272822
set $white #FFFFFF
set $red #F92672
set $blue #66D9EF
set $green #A6E22E
set $orange #FD971F
set $yellow #E6DB74
set $purple #AE81FF
set $allblack #000000
# class border bg. text indicator child_border
client.focused $blue $black $blue $blue $blue
client.focused_inactive $black $black $blue $black $black
client.unfocused $black $black $white $black $black
client.background $black
bar {
i3bar_command i3bar
status_command i3status
#--config $XDG_CONFIG_HOME/i3/i3status.conf
mode dock
position top
#tray_output primary
# font xft:Jetbrains mono 20
strip_workspace_numbers yes
workspace_buttons yes
colors {
background #000000
#statusline #F9FAF9
#separator #454947
# border bg text
focused_workspace $allblack $blue $allblack
#active_workspace #FFFFFF $black #FFFFFF
#inactive_workspace #FFFFFF $black #FFFFFF
#binding_mode #16a085 #2C2C2C #F9FAF9
urgent_workspace $red $black $red
}
}

160
.config/i3/config Normal file
View File

@@ -0,0 +1,160 @@
# vim: filetype=i3config
include ~/.config/i3/conf.d/*
# this config is based on github.com:LukeSmithxyz/voidrice 884dcbdc4792eed95e558af84491eb3100d314a2
# to immediately apply a new config, run `i3-msg reload; i3-msg restart`
# This config file will use environmental variables such as $BROWSER and $TERMINAL.
# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
# No focus on mouse over (allows scrolling without changing focus)
focus_follows_mouse no
# remove title bar
default_border pixel 1
default_floating_border pixel 1
# set modifier key, Mod4 is super (windows), Mod1 = Alt key
set $mod Mod4
bindsym $mod+F12 restart;reload
bindsym $mod+Escape exec i3lock -c 000000 & sleep 2 && systemctl suspend
bindsym $mod+Shift+Escape exec systemctl poweroff
#bindsym $mod+Shift+Escape exec i3lock -c 000000 & sleep 2 && xset dpms force off
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
bindsym $mod+d floating toggle
# DROPDOWN
# Scratchpad binds
exec bitwarden-desktop
for_window [instance="bitwarden"] move scratchpad
for_window [instance="bitwarden"] sticky enable
bindsym $mod+p [instance="bitwarden"] scratchpad show;
exec alacritty --class="dropdown_tmux" -e 'tmux'
for_window [class="dropdown_tmux"] move scratchpad
for_window [class="dropdown_tmux"] sticky enable
bindsym $mod+space [class="dropdown_tmux"] scratchpad show;
# General dropdown window traits. The order can matter.
# sticky allows windows to stay visible even when switching workspaces
#for_window [instance="dropdown_tmux"] resize set 625 450
#for_window [instance="dropdown_tmux"] border pixel 3
# i3 BINDS
bindsym $mod+h focus left
bindsym $mod+Shift+h move left
bindsym $mod+j focus down
bindsym $mod+Shift+j move down
bindsym $mod+k focus up
bindsym $mod+Shift+k move up
bindsym $mod+l focus right
bindsym $mod+Shift+l move right
bindsym $mod+Ctrl+h resize grow width 1 px or 1 ppt
bindsym $mod+Ctrl+j resize shrink height 1 px or 1 ppt
bindsym $mod+Ctrl+k resize grow height 1 px or 1 ppt
bindsym $mod+Ctrl+l resize shrink width 1 px or 1 ppt
bindsym $mod+Shift+r exec --no-startup-id winresize
bindsym $mod+f fullscreen toggle
bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill -s 9
bindsym $mod+t layout toggle tabbed splith
bindsym $mod+Shift+v split h;exec notify-send 'tile horizontally |'
bindsym $mod+v split v;exec notify-send 'tile vertically -'
# ARROW KEYS
bindsym $mod+Left move workspace to output left
bindsym $mod+Down move workspace to output down
bindsym $mod+Up move workspace to output up
bindsym $mod+Right move workspace to output right
# WORKSPACES
# prior and next ar PgUp and PgDown
bindsym $mod+Prior container prev
bindsym $mod+Shift+Prior move container to workspace prev
bindsym $mod+Next workspace next
bindsym $mod+Shift+Next move container to workspace next
bindsym $mod+Tab workspace back_and_forth
# name workspaces
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
# switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+Shift+1 move container to workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+Shift+2 move container to workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+Shift+3 move container to workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+Shift+4 move container to workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+Shift+5 move container to workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+Shift+0 move container to workspace $ws10
# APPLICATION SHORTCUTS
bindsym $mod+Return exec --no-startup-id "rofi -show"
bindsym $mod+Shift+space exec --no-startup-id alacritty
bindsym $mod+w exec --no-startup-id firefox
# bindsym $mod+Shift+w exec --no-startup-id "firefox -profile ~/.mozilla/firefox/2ustnzbw.shopping"
bindsym $mod+e exec --no-startup-id thunar
bindsym --release $mod+s exec "import ~/Pictures/screenshots/$(date '+%y_%m_%d-%H_%M_%S').png"
bindsym $mod+Shift+s exec "import -window root ~/Pictures/screenshots/$(date '+%y_%m_%d-%H_%M_%S').png"
# i3lock for locking, i3-msg exit for logout
# Show selection:
#bindsym $mod+Insert exec --no-startup-id showclip
# AUTOSTART
# start polkit for pacman
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
# DESKTOP STUFF
# set background picture
exec --no-startup-id nitrogen --set-tiled $HOME/.config/i3/eurkey.png
# try to start tray tools / applets manually
exec --no-startup-id nm-applet
# --sm-disable
exec --no-startup-id blueman-applet
exec --no-startup-id pamac-tray
exec --no-startup-id xfce4-power-manager
#exec --no-startup-id volumeicon
exec --no-startup-id start-pulseaudio-x11
exec --no-startup-id volumeicon
exec --no-startup-id picom
exec --no-startup-id /usr/bin/nextcloud --background
bindsym $mod+Ctrl+m exec pavucontrol
# detect screen configurations
exec --no-startup-id autorandr -c
# set key repeat delay and rate
exec --no-startup-id xset r rate 200 35

BIN
.config/i3/eurkey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

55
.config/i3status/config Normal file
View File

@@ -0,0 +1,55 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
color_good = "#2AA198"
color_bad = "#586E75"
color_degraded = "#DC322F"
}
# order += "ipv6"
order += "cpu_usage"
order += "disk /"
# order += "disk /home"
order += "wireless _first_"
order += "ethernet _first_"
# order += "load"
order += "memory"
order += "tztime local"
cpu_usage {
format = " cpu %usage "
}
load {
format = " load %1min "
# max_threshold = 0.3
}
disk "/" {
format = " ⛁ %avail "
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = " lan: %ip %speed "
format_down = " no lan "
}
memory {
format = "%used | %available"
threshold_degraded = "1G"
format_degraded = "MEMORY < %available"
}
tztime local {
# format = "%Y-%m-%d %H:%M:%S"
format = " %a %d.%m. %H:%M "
}

View File

35
.config/nvim/init.lua Normal file
View File

@@ -0,0 +1,35 @@
require("plugins")
require("keybinds")
--- GENERAL SETTINGS
vim.o.termguicolors = true
vim.cmd('colorscheme monokai') -- set colorscheme
vim.o.syntax = 'on'
vim.cmd('set title')
vim.opt.titlestring = [[%{v:progname}: %f %h%m%r%w ]]
-- vim.opt.titlestring = [[%f %h%m%r%w %{v:progname} (%{tabpagenr()} of %{tabpagenr('$')})]]
vim.o.errorbells = false
vim.o.smartcase = true
vim.o.showmode = true
vim.o.ignorecase = true -- case-insensitive search
vim.bo.swapfile = false
vim.o.backup = false
vim.o.undodir = vim.fn.stdpath('config') .. '/undodir'
vim.o.undofile = true
vim.o.incsearch = true
vim.o.hidden = true
vim.o.completeopt='menuone,noinsert,noselect'
vim.bo.autoindent = true
vim.bo.smartindent = true
vim.o.tabstop = 2
vim.o.softtabstop = 2
vim.o.shiftwidth = 2
vim.o.expandtab = true
vim.wo.number = true
vim.wo.relativenumber = true
vim.o.scrolloff = 8
vim.wo.signcolumn = 'yes'
vim.wo.wrap = false
vim.opt.cursorline = true

View File

@@ -1,36 +0,0 @@
"LOAD VIM-PLUG
if ! filereadable(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim"'))
echo "Downloading junegunn/vim-plug to manage plugins..."
silent !mkdir -p ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/
silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/autoload/plug.vim
autocmd VimEnter * PlugInstall
endif
" SETTINGS SECTION
colorscheme monokai " enable monokai theme
set noerrorbells " disable error bells if not disabled by terminal
set nocompatible " Disable old VI compatibility
syntax enable " Syntax highlighting
set showmode " Show current mode
set number " Show line numbers
set relativenumber "show relative line numbers except for the one im on
set visualbell " Blink cursor on error instead of beeping
set incsearch " search while typing
set wildmode=longest,list,full " enable autocomplete
set smartcase " ignore case if lowercase, match case if uppercase used
set tabstop=4 softtabstop=4 " replace tabs with 4 spaces
set expandtab
set smartindent
set termguicolors " colors???
set exrc
set scrolloff=8
set completeopt=menuone,noinsert,noselect
set signcolumn=yes
"PLUGINS SECTION
call plug#begin(system('echo -n "${XDG_CONFIG_HOME:-$HOME/.config}/nvim/plugged"'))
Plug 'lervag/vimtex'
call plug#end()
"KEYBINDS SECTION

View File

@@ -0,0 +1,16 @@
-- filetype-specific keybinds can be found in the ftplugin folder, requires 'filetype plugin on'
-- Functional wrapper for mapping custom keybindings
function map(mode, lhs, rhs, opts)
local options = { noremap = true }
if opts then
options = vim.tbl_extend("force", options, opts)
end
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end
-- frankly i dont know what the hell im doing
map("n", "<Enter>", "i<Enter><Esc>k$") -- Enter in normal moves the current line down
-- map("n", "<Space>", "i<Space><Esc>") -- Space in normal inserts a space, shifting the current character to the right
-- map("n", "<S-Enter>", "d$O<Esc>p^")
map("n", "<A-Space>", "<Esc>") -- Alt+Space goes to normal mode using Esc

View File

@@ -0,0 +1,35 @@
-- INSTALL PACKER PLUGINS https://github.com/wbthomason/packer.nvim#bootstrapping
local vim = vim
local execute = vim.api.nvim_command
local fn = vim.fn
local install_path = fn.stdpath('data')..'/site/pack/packer/opt/packer.nvim'
if fn.empty(fn.glob(install_path)) > 0 then
execute('!git clone https://github.com/wbthomason/packer.nvim '..install_path)
execute 'packadd packer.nvim'
end
vim.cmd('packadd packer.nvim')
local packer = require'packer'
local util = require'packer.util'
packer.init({
package_root = util.join_paths(vim.fn.stdpath('data'), 'site', 'pack')
})
--- startup and add configure plugins
packer.startup(function()
local use = use
use 'neovim/nvim-lspconfig'
use 'nvim-treesitter/nvim-treesitter'
use 'kylechui/nvim-surround'
use 'stevearc/oil.nvim'
-- use nvim-leap
end
)
--[[ PLUGIN CONFIGURATION
local configs = require'nvim-treesitter.configs'
configs.setup {
ensure_installed = "maintained",
highlight = {
enable = true,
}
}
]]--
require("oil").setup()

271
.config/picom.conf Normal file
View File

@@ -0,0 +1,271 @@
# Thank you code_nomad: http://9m.no/ꪯ鵞
# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
#################################
#
# Backend
#
#################################
# Backend to use: "xrender" or "glx".
# GLX backend is typically much faster but depends on a sane driver.
backend = "glx";
#################################
#
# GLX backend
#
#################################
glx-no-stencil = true;
# GLX backend: Copy unmodified regions from front buffer instead of redrawing them all.
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown.
glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
# My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated.
# May break VSync and is not available on some drivers.
# Overrides --glx-copy-from-front.
# glx-use-copysubbuffermesa = true;
# GLX backend: Avoid rebinding pixmap on window damage.
# Probably could improve performance on rapid window content changes, but is known to break things on some drivers (LLVMpipe).
# Recommended if it works.
# glx-no-rebind-pixmap = true;
# GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value.
# copy is fastest, but may fail on some drivers,
# 2-6 are gradually slower but safer (6 is still faster than 0).
# Usually, double buffer means 2, triple buffer means 3.
# buffer-age means auto-detect using GLX_EXT_buffer_age, supported by some drivers.
# Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage.
# Defaults to undefined.
#glx-swap-method = "undefined"; #deprecated !
#use-damage = true
#################################
#
# Shadows
#
#################################
# Enabled client-side shadows on windows.
shadow = true;
# The blur radius for shadows. (default 12)
shadow-radius = 5;
# The left offset for shadows. (default -15)
shadow-offset-x = 1;
# The top offset for shadows. (default -15)
shadow-offset-y = 1;
# The translucency for shadows. (default .75)
shadow-opacity = 0.3;
# Set if you want different colour shadows
# shadow-red = 0.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
# The shadow exclude options are helpful if you have shadows enabled. Due to the way picom draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
shadow-exclude = [
"! name~=''",
"name = 'Notification'",
"name = 'Plank'",
"name = 'Docky'",
"name = 'Kupfer'",
"name = 'xfce4-notifyd'",
"name *= 'VLC'",
"name *= 'compton'",
"name *= 'picom'",
"name *= 'Chromium'",
"name *= 'Chrome'",
"class_g = 'Firefox' && argb",
"class_g = 'Conky'",
"class_g = 'Kupfer'",
"class_g = 'Synapse'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g ?= 'Dmenu'",
# "class_g ?= 'Dunst'",
# disables shadows on i3 frames
"class_g ?= 'i3-frame'",
"_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
shadow-ignore-shaped = false;
#################################
#
# Opacity
#
#################################
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
# Dim inactive windows. (0.0 - 1.0)
# inactive-dim = 0.2;
# Do not let dimness adjust based on window opacity.
# inactive-dim-fixed = true;
# Blur background of transparent windows. Bad performance with X Render backend. GLX backend is preferred.
# blur-background = true;
# Blur background of opaque windows with transparent frames as well.
# blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
blur-background-fixed = false;
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
];
#################################
#
# Fading
#
#################################
# Fade windows during opacity changes.
fading = false;
# The time between steps in a fade in milliseconds. (default 10).
fade-delta = 1;
# Opacity change between steps while fading in. (default 0.028).
fade-in-step = 0.03;
# Opacity change between steps while fading out. (default 0.03).
fade-out-step = 0.03;
# Fade windows in/out when opening/closing
# no-fading-openclose = true;
# Specify a list of conditions of windows that should not be faded.
fade-exclude = [ ];
#################################
#
# Other
#
#################################
# Try to detect WM windows and mark them as active.
mark-wmwin-focused = true;
# Mark all non-WM but override-redirect windows active (e.g. menus).
mark-ovredir-focused = true;
# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused instead of using FocusIn/Out events.
# Usually more reliable but depends on a EWMH-compliant WM.
use-ewmh-active-win = true;
# Detect rounded corners and treat them as rectangular when --shadow-ignore-shaped is on.
detect-rounded-corners = true;
# Detect _NET_WM_OPACITY on client windows, useful for window managers not passing _NET_WM_OPACITY of client windows to frame windows.
# This prevents opacity being ignored for some apps.
# For example without this enabled my xfce4-notifyd is 100% opacity no matter what.
detect-client-opacity = true;
# Specify refresh rate of the screen.
# If not specified or 0, picom will try detecting this with X RandR extension.
# DEPRECATED
#refresh-rate = 0;
# Vertical synchronization: match the refresh rate of the monitor
vsync = false;
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
# Reported to have no effect, though.
dbe = false;
# Limit picom to repaint at most once every 1 / refresh_rate second to boost performance.
# This should not be used with --vsync drm/opengl/opengl-oml as they essentially does --sw-opti's job already,
# unless you wish to specify a lower refresh rate than the actual value.
#sw-opti = true;
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
# Known to cause flickering when redirecting/unredirecting windows.
unredir-if-possible = true;
# Specify a list of conditions of windows that should always be considered focused.
focus-exclude = [ "class_g = 'Cairo-clock'" ];
# Use WM_TRANSIENT_FOR to group windows, and consider windows in the same group focused at the same time.
detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time.
# WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
detect-client-leader = true;
#################################
#
# Window type settings
#
#################################
wintypes :
{
tooltip :
{
fade = true;
shadow = false;
opacity = 0.85;
focus = true;
};
fullscreen :
{
fade = true;
shadow = false;
opacity = 1;
focus = true;
};
dropdown_menu = { shadow = false;};
popup_menu = { shadow = false;};
utility = { shadow = false;};
};
######################
#
# XSync
# See: https://github.com/yshui/picom/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
#
######################
# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
xrender-sync-fence = true;
#opacity-rule = [
#"99:name *?= 'Call'",
#"99:class_g = 'Chromium'",
#"99:name *?= 'Conky'",
#"99:class_g = 'Darktable'",
#"50:class_g = 'Dmenu'",
#"99:name *?= 'Event'",
#"99:class_g = 'Firefox'",
#"99:class_g = 'GIMP'",
#"99:name *?= 'Image'",
#"99:class_g = 'Lazpaint'",
#"99:class_g = 'Midori'",
#"99:name *?= 'Minitube'",
#"99:class_g = 'Mousepad'",
#"99:name *?= 'MuseScore'",
#"90:name *?= 'Page Info'",
#"99:name *?= 'Pale Moon'",
#"90:name *?= 'Panel'",
#"99:class_g = 'Pinta'",
#"90:name *?= 'Restart'",
#"99:name *?= 'sudo'",
#"99:name *?= 'Screenshot'",
#"99:class_g = 'Viewnior'",
#"99:class_g = 'VirtualBox'",
#"99:name *?= 'VLC'",
#"99:name *?= 'Write'",
#"93:class_g = 'URxvt' && !_NET_WM_STATE@:32a",
#"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
#"96:_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
#];

173
.config/rofi/config.rasi Normal file
View File

@@ -0,0 +1,173 @@
// vim: filetype=c
// get dumps via -dump-config and -dump-theme
configuration {
modes: "combi";
font: "mono 12";
/* location: 0;*/
/* yoffset: 0;*/
/* xoffset: 0;*/
fixed-num-lines: true;
show-icons: true;
terminal: "alacritty";
/* ssh-client: "ssh";*/
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
/* run-command: "{cmd}";*/
/* run-list-command: "";*/
/* run-shell-command: "{terminal} -e {cmd}";*/
/* window-command: "wmctrl -i -R {window}";*/
/* window-match-fields: "all";*/
/* icon-theme: ;*/
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
/* drun-categories: ;*/
/* drun-show-actions: false;*/
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
/* drun-url-launcher: "xdg-open";*/
/* disable-history: false;*/
/* ignored-prefixes: "";*/
/* sort: false;*/
/* sorting-method: "normal";*/
/* case-sensitive: false;*/
/* cycle: true;*/
/* sidebar-mode: false;*/
/* hover-select: false;*/
/* eh: 1;*/
/* auto-select: false;*/
/* parse-hosts: false;*/
/* parse-known-hosts: true;*/
combi-modes: "drun,window,ssh";
/* matching: "normal";*/
/* tokenize: true;*/
/* m: "-5";*/
/* filter: ;*/
/* dpi: -1;*/
/* threads: 0;*/
/* scroll-method: 0;*/
/* window-format: "{w} {c} {t}";*/
/* click-to-exit: true;*/
/* max-history-size: 25;*/
combi-hide-mode-prefix: true;
/* combi-display-format: "{mode} {text}";*/
/* matching-negate-char: '-' /* unsupported */;*/
/* cache-dir: ;*/
/* window-thumbnail: false;*/
/* drun-use-desktop-cache: false;*/
/* drun-reload-desktop-cache: false;*/
/* normalize-match: false;*/
/* steal-focus: false;*/
/* application-fallback-icon: ;*/
/* refilter-timeout-limit: 8192;*/
/* xserver-i300-workaround: false;*/
pid: "/run/user/1000/rofi.pid";
/* display-window: ;*/
/* display-windowcd: ;*/
/* display-run: ;*/
/* display-ssh: ;*/
/* display-drun: ;*/
/* display-combi: ;*/
/* display-keys: ;*/
/* display-filebrowser: ;*/
/* kb-primary-paste: "Control+V,Shift+Insert";*/
/* kb-secondary-paste: "Control+v,Insert";*/
/* kb-clear-line: "Control+w";*/
/* kb-move-front: "Control+a";*/
/* kb-move-end: "Control+e";*/
/* kb-move-word-back: "Alt+b,Control+Left";*/
/* kb-move-word-forward: "Alt+f,Control+Right";*/
/* kb-move-char-back: "Left,Control+b";*/
/* kb-move-char-forward: "Right,Control+f";*/
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
/* kb-remove-word-forward: "Control+Alt+d";*/
/* kb-remove-char-forward: "Delete,Control+d";*/
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
/* kb-remove-to-eol: "Control+k";*/
/* kb-remove-to-sol: "Control+u";*/
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
/* kb-accept-custom: "Control+Return";*/
/* kb-accept-custom-alt: "Control+Shift+Return";*/
/* kb-accept-alt: "Shift+Return";*/
/* kb-delete-entry: "Shift+Delete";*/
/* kb-mode-next: "Shift+Right,Control+Tab";*/
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
/* kb-mode-complete: "Control+l";*/
/* kb-row-left: "Control+Page_Up";*/
/* kb-row-right: "Control+Page_Down";*/
/* kb-row-up: "Up,Control+p";*/
/* kb-row-down: "Down,Control+n";*/
/* kb-row-tab: "";*/
/* kb-element-next: "Tab";*/
/* kb-element-prev: "ISO_Left_Tab";*/
/* kb-page-prev: "Page_Up";*/
/* kb-page-next: "Page_Down";*/
/* kb-row-first: "Home,KP_Home";*/
/* kb-row-last: "End,KP_End";*/
/* kb-row-select: "Control+space";*/
/* kb-screenshot: "Alt+S";*/
/* kb-ellipsize: "Alt+period";*/
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
/* kb-toggle-sort: "Alt+grave";*/
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
/* kb-custom-1: "Alt+1";*/
/* kb-custom-2: "Alt+2";*/
/* kb-custom-3: "Alt+3";*/
/* kb-custom-4: "Alt+4";*/
/* kb-custom-5: "Alt+5";*/
/* kb-custom-6: "Alt+6";*/
/* kb-custom-7: "Alt+7";*/
/* kb-custom-8: "Alt+8";*/
/* kb-custom-9: "Alt+9";*/
/* kb-custom-10: "Alt+0";*/
/* kb-custom-11: "Alt+exclam";*/
/* kb-custom-12: "Alt+at";*/
/* kb-custom-13: "Alt+numbersign";*/
/* kb-custom-14: "Alt+dollar";*/
/* kb-custom-15: "Alt+percent";*/
/* kb-custom-16: "Alt+dead_circumflex";*/
/* kb-custom-17: "Alt+ampersand";*/
/* kb-custom-18: "Alt+asterisk";*/
/* kb-custom-19: "Alt+parenleft";*/
/* ml-row-left: "ScrollLeft";*/
/* ml-row-right: "ScrollRight";*/
/* ml-row-up: "ScrollUp";*/
/* ml-row-down: "ScrollDown";*/
/* me-select-entry: "MousePrimary";*/
/* me-accept-entry: "MouseDPrimary";*/
/* me-accept-custom: "Control+MouseDPrimary";*/
kb-custom-1: "";
kb-custom-2: "";
kb-custom-3: "";
kb-custom-4: "";
kb-custom-5: "";
kb-custom-6: "";
kb-custom-7: "";
kb-custom-8: "";
kb-custom-9: "";
kb-custom-10: "";
kb-custom-11: "";
kb-custom-12: "";
kb-custom-13: "";
kb-custom-14: "";
kb-custom-15: "";
kb-custom-16: "";
kb-custom-17: "";
kb-custom-18: "";
kb-custom-19: "";
kb-select-1: "Alt+1";
kb-select-2: "Alt+2";
kb-select-3: "Alt+3";
kb-select-4: "Alt+4";
kb-select-5: "Alt+5";
kb-select-6: "Alt+6";
kb-select-7: "Alt+7";
kb-select-8: "Alt+8";
kb-select-9: "Alt+9";
kb-select-10:"Alt+0";
timeout {
action: "kb-cancel";
delay: 0;
}
filebrowser {
directories-first: true;
sorting-method: "name";
}
}
@theme "theme" // read theme in ./theme.rasi

View File

@@ -0,0 +1,2 @@
#!/bin/sh
xrandr --output eDP-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output HDMI-1 --off --output DP-2 --off --output HDMI-2 --mode 2560x1440 --pos 1920x0 --rotate normal

94
.config/shell/alias.sh Normal file
View File

@@ -0,0 +1,94 @@
alias diff='diff --color'
alias tree='eza --tree'
alias ls='eza --group-directories-first' # make output more readable and show directories first
alias ll='ls --long --header --git' #might use -i to show number of hard links like ls -l would normally
alias la='ls --all'
alias li='la --git-ignore'
alias less='less --use-color'
alias cp="cp -i" # Confirm before overwriting something
alias df='df -h' # Human-readable sizes
alias vi='nvim' # Show sizes in MB
alias r='R'
alias xar="xarchiver"
alias g="git"
alias u="dict"
alias todo="rg -A 1 -B 1 '(TODO|FIXME|NOTE)'"
alias open="xdg-open"
# Add an "alert" alias for long running commands. Use like so: 'sleep 10; alert'
alias notify='notify-send --urgency=normal -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
#Add a "dotfiles" alias for .dotfile git repo
alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
#alias 'dotfiles-update'='dotfiles commit -a && dotfiles push'
sleep() {
if [ "$1" = "-m" ]; then
if [ -n "$2" ]; then
sleep "$(( $2 * 60 ))"
else
echo "Please provide a duration in minutes after the -m flag."
fi
else
/usr/bin/sleep "$@"
fi
}
colors() {
local fgc bgc vals seq0
printf "Color escapes are %s\n" '\e[${value};...;${value}m'
printf "Values 30..37 are \e[33mforeground colors\e[m\n"
printf "Values 40..47 are \e[43mbackground colors\e[m\n"
printf "Value 1 gives a \e[1mbold-faced look\e[m\n\n"
# foreground colors
for fgc in {30..37}; do
# background colors
for bgc in {40..47}; do
fgc=${fgc#37} # white
bgc=${bgc#40} # black
vals="${fgc:+$fgc;}${bgc}"
vals=${vals%%;}
seq0="${vals:+\e[${vals}m}"
printf " %-9s" "${seq0:-(default)}"
printf " ${seq0}TEXT\e[m"
printf " \e[${vals:+${vals+$vals;}}1mBOLD\e[m"
done
echo; echo
done
}
#alternatively use schachmat/wego for weather
pwd() # print path of files
{
echo "$PWD/$1"
}
ranger() {
if [ -z "$RANGER_LEVEL" ]; then
/usr/bin/ranger "$@"
else
exit
fi
}
py() {
if [ $# -eq 0 ]; then
ipython
else
python "$@"
fi
}
act() {
args="$@"
if [ $# -eq 0 ]; then
args="./.venv"
fi
source "$args/bin/activate"
}

29
.config/tmux/tmux.conf Normal file
View File

@@ -0,0 +1,29 @@
tmux_config_dir="~/.config/tmux"
mod="C-b"
#CONFIGURATION
#if-shell '[[ -n "$SSH_CLIENT"]]' {
# source-file $tmux_config_dir/tmux_remote.conf # use alternative config for tmux inside ssh session
# mod="C-b"
#}
set-option -g prefix $mod # rebind tmux prefix to CTRL + a because vim uses default CTRL + b
set-window-option -g mode-keys vi # vi mode
set-option -g allow-rename off # dont rename windows on command execution TODO fix
set -s escape-time 0 # dont delay escape key in vim
set -g base-index 0 # start windows numbering at 0
set-option -g set-titles on
set -g mouse on
#COLORS
set -g default-terminal "screen-256color" # use default terminal colors
set-option -g pane-border-style fg=white
set-option -g pane-active-border-style fg=blue
set-option -g message-style bg=green,fg=black
#STATUSBAR
set -g status-position bottom
set -g status-left ""
set -g status-right "#{?window_bigger,[#{window_offset_x}#,#{window_offset_y}] ,}#{=21:pane_title}"
set -g status-style fg=white,bg=black # color for the statusbar
set-window-option -g window-status-current-style fg=black,bg=blue # color for the current window (tab)

5128
.config/vlc/vlcrc Normal file

File diff suppressed because it is too large Load Diff

0
.config/wgetrc Normal file
View File

View File

@@ -1,44 +0,0 @@
[Configuration]
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_UNDERLINE
MiscDefaultGeometry=80x24
MiscInheritGeometry=FALSE
MiscMenubarDefault=TRUE
MiscMouseAutohide=FALSE
MiscToolbarDefault=FALSE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=FALSE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
ScrollingLines=999999
BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT
BackgroundDarkness=0,920000
MiscBellUrgent=FALSE
MiscMouseWheelZoom=TRUE
MiscMiddleClickOpensUri=TRUE
MiscCopyOnSelect=FALSE
MiscShowRelaunchDialog=TRUE
MiscRewrapOnResize=TRUE
MiscUseShiftArrowsToScroll=FALSE
MiscSlimTabs=TRUE
MiscNewTabAdjacent=FALSE
MiscSearchDialogOpacity=100
MiscShowUnsafePasteDialog=TRUE
ColorForeground=#f8f8f8f8f2f2
ColorBackground=#19191a1a1717
ColorCursor=#f8f8f8f8f2f2
ColorPalette=#272728282222;#f9f926267272;#a6a6e2e22e2e;#f4f4bfbf7575;#6666d9d9efef;#aeae8181ffff;#a1a1efefe4e4;#f8f8f8f8f2f2;#757571715e5e;#f9f926267272;#a6a6e2e22e2e;#f4f4bfbf7575;#6666d9d9efef;#aeae8181ffff;#a1a1efefe4e4;#f9f9f8f8f5f5
TabActivityColor=#a6a6e2e22e2e
CustomCommand=zsh
TitleMode=TERMINAL_TITLE_REPLACE
DropdownKeepOpenDefault=TRUE
DropdownKeepAbove=FALSE
DropdownStatusIcon=FALSE
ShortcutsNoHelpkey=TRUE
ShortcutsNoMenukey=TRUE

22
.gitconfig Normal file
View File

@@ -0,0 +1,22 @@
[user]
email = erikneller@gmx.de
name = eneller
[alias]
diff-words = diff --color-words='[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+'
st = status
cm = commit
# TODO use git-delta
# the following aliases are defined as bash scripts, only here for completion
home = "!git-home"
root = "!git-root"
ignore = "!git-ignore"
ignore-io = "!gi() { curl -sL https://www.toptal.com/developers/gitignore/api/$@ ;}; gi"
co = "checkout"
[color]
ui = auto
[branch]
sort = -committerdate
[init]
defaultBranch = main
[fetch]
prune = true

85
.local/bin/displayselect Executable file
View File

@@ -0,0 +1,85 @@
#!/bin/sh
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/displayselect
# A UI for detecting and selecting all displays. Probes xrandr for connected
# displays and lets user select one to use. User may also select "manual
# selection" which opens arandr.
twoscreen() { # If multi-monitor is selected and there are two screens.
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
# Mirror displays using native resolution of external display and a scaled
# version for the internal display
if [ "$mirror" = "yes" ]; then
external=$(echo "$screens" | dmenu -i -p "Optimize resolution for:")
internal=$(echo "$screens" | grep -v "$external")
res_external=$(xrandr --query | sed -n "/^$external/,/\+/p" | \
tail -n 1 | awk '{print $1}')
res_internal=$(xrandr --query | sed -n "/^$internal/,/\+/p" | \
tail -n 1 | awk '{print $1}')
res_ext_x=$(echo "$res_external" | sed 's/x.*//')
res_ext_y=$(echo "$res_external" | sed 's/.*x//')
res_int_x=$(echo "$res_internal" | sed 's/x.*//')
res_int_y=$(echo "$res_internal" | sed 's/.*x//')
scale_x=$(echo "$res_ext_x / $res_int_x" | bc -l)
scale_y=$(echo "$res_ext_y / $res_int_y" | bc -l)
xrandr --output "$external" --auto --scale 1.0x1.0 \
--output "$internal" --auto --same-as "$external" \
--scale "$scale_x"x"$scale_y"
else
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
secondary=$(echo "$screens" | grep -v "$primary")
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
xrandr --output "$primary" --auto --scale 1.0x1.0 --output "$secondary" --"$direction"-of "$primary" --auto --scale 1.0x1.0
fi
}
morescreen() { # If multi-monitor is selected and there are more than two screens.
primary=$(echo "$screens" | dmenu -i -p "Select primary display:")
secondary=$(echo "$screens" | grep -v "$primary" | dmenu -i -p "Select secondary display:")
direction=$(printf "left\\nright" | dmenu -i -p "What side of $primary should $secondary be on?")
tertiary=$(echo "$screens" | grep -v "$primary" | grep -v "$secondary" | dmenu -i -p "Select third display:")
xrandr --output "$primary" --auto --output "$secondary" --"$direction"-of "$primary" --auto --output "$tertiary" --"$(printf "left\\nright" | grep -v "$direction")"-of "$primary" --auto
}
multimon() { # Multi-monitor handler.
case "$(echo "$screens" | wc -l)" in
2) twoscreen ;;
*) morescreen ;;
esac ;}
onescreen() { # If only one output available or chosen.
xrandr --output "$1" --auto --scale 1.0x1.0 $(echo "$allposs" | grep -v "\b$1" | awk '{print "--output", $1, "--off"}' | paste -sd ' ' -)
}
postrun() { # Stuff to run to clean up.
setbg # Fix background if screen size/arangement has changed.
remaps # Re-remap keys if keyboard added (for laptop bases)
{ killall dunst ; setsid -f dunst ;} >/dev/null 2>&1 # Restart dunst to ensure proper location on screen
}
# Get all possible displays
allposs=$(xrandr -q | grep "connected")
# Get all connected screens.
screens=$(echo "$allposs" | awk '/ connected/ {print $1}')
# If there's only one screen
[ "$(echo "$screens" | wc -l)" -lt 2 ] &&
{ onescreen "$screens"; postrun; notify-send "💻 Only one screen detected." "Using it in its optimal settings..."; exit ;}
# Get user choice including multi-monitor and manual selection:
chosen=$(printf "%s\\nmulti-monitor\\nmanual selection" "$screens" | dmenu -i -p "Select display arangement:") &&
case "$chosen" in
"manual selection") arandr ; exit ;;
"multi-monitor") multimon ;;
*) onescreen "$chosen" ;;
esac
postrun

69
.local/bin/dmenumount Executable file
View File

@@ -0,0 +1,69 @@
#!/bin/sh
# from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenumount
# Gives a dmenu prompt to mount unmounted drives and Android phones. If
# they're in /etc/fstab, they'll be mounted automatically. Otherwise, you'll
# be prompted to give a mountpoint from already existsing directories. If you
# input a novel directory, it will prompt you to create that directory.
getmount() { \
[ -z "$chosen" ] && exit 1
# shellcheck disable=SC2086
mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")" || exit 1
test -z "$mp" && exit 1
if [ ! -d "$mp" ]; then
mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?") || exit 1
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
fi
}
mountusb() { \
chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?")" || exit 1
chosen="$(echo "$chosen" | awk '{print $1}')"
sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not ( -path *%s -prune ) ",$3}')
getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
partitiontype="$(lsblk -no "fstype" "$chosen")"
case "$partitiontype" in
"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
"exfat") sudo -A mount "$chosen" "$mp" -o uid="$(id -u)",gid="$(id -g)";;
*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
esac
notify-send "💻 USB mounting" "$chosen mounted to $mp."
}
mountandroid() { \
chosen="$(echo "$anddrives" | dmenu -i -p "Which Android device?")" || exit 1
chosen="$(echo "$chosen" | cut -d : -f 1)"
getmount "$HOME -maxdepth 3 -type d"
simple-mtpfs --device "$chosen" "$mp"
echo "OK" | dmenu -i -p "Tap Allow on your phone if it asks for permission and then press enter" || exit 1
simple-mtpfs --device "$chosen" "$mp"
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
}
asktype() { \
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?")" || exit 1
case $choice in
USB) mountusb ;;
Android) mountandroid ;;
esac
}
anddrives=$(simple-mtpfs -l 2>/dev/null)
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | grep 'part\|rom' | awk '$4==""{printf "%s (%s)\n",$1,$3}')"
if [ -z "$usbdrives" ]; then
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
echo "Android device(s) detected."
mountandroid
else
if [ -z "$anddrives" ]; then
echo "USB drive(s) detected."
mountusb
else
echo "Mountable USB drive(s) and Android device(s) detected."
asktype
fi
fi

125
.local/bin/dmenurecord Executable file
View File

@@ -0,0 +1,125 @@
#!/bin/sh
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenurecord
# Usage:
# `$0`: Ask for recording type via dmenu
# `$0 screencast`: Record both audio and screen
# `$0 video`: Record only screen
# `$0 audio`: Record only audio
# `$0 kill`: Kill existing recording
#
# If there is already a running instance, user will be prompted to end it.
updateicon() { \
echo "$1" > /tmp/recordingicon
pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
}
killrecording() {
recpid="$(cat /tmp/recordingpid)"
# kill with SIGTERM, allowing finishing touches.
kill -15 "$recpid"
rm -f /tmp/recordingpid
updateicon ""
pkill -RTMIN+9 "${STATUSBAR:-dwmblocks}"
# even after SIGTERM, ffmpeg may still run, so SIGKILL it.
sleep 3
kill -9 "$recpid"
exit
}
screencast() { \
ffmpeg -y \
-f x11grab \
-framerate 60 \
-s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
-i "$DISPLAY" \
-f alsa -i default \
-r 30 \
-c:v h264 -crf 0 -preset ultrafast -c:a aac \
"$HOME/screencast-$(date '+%y%m%d-%H%M-%S').mp4" &
echo $! > /tmp/recordingpid
updateicon "⏺️🎙️"
}
video() { ffmpeg \
-f x11grab \
-s "$(xdpyinfo | awk '/dimensions/ {print $2;}')" \
-i "$DISPLAY" \
-c:v libx264 -qp 0 -r 30 \
"$HOME/video-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "⏺️"
}
webcamhidef() { ffmpeg \
-f v4l2 \
-i /dev/video0 \
-video_size 1920x1080 \
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "🎥"
}
webcam() { ffmpeg \
-f v4l2 \
-i /dev/video0 \
-video_size 640x480 \
"$HOME/webcam-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "🎥"
}
audio() { \
ffmpeg \
-f alsa -i default \
-c:a flac \
"$HOME/audio-$(date '+%y%m%d-%H%M-%S').flac" &
echo $! > /tmp/recordingpid
updateicon "🎙️"
}
askrecording() { \
choice=$(printf "screencast\\nvideo\\nvideo selected\\naudio\\nwebcam\\nwebcam (hi-def)" | dmenu -i -p "Select recording style:")
case "$choice" in
screencast) screencast;;
audio) audio;;
video) video;;
*selected) videoselected;;
webcam) webcam;;
"webcam (hi-def)") webcamhidef;;
esac
}
asktoend() { \
response=$(printf "No\\nYes" | dmenu -i -p "Recording still active. End recording?") &&
[ "$response" = "Yes" ] && killrecording
}
videoselected()
{
slop -f "%x %y %w %h" > /tmp/slop
read -r X Y W H < /tmp/slop
rm /tmp/slop
ffmpeg \
-f x11grab \
-framerate 60 \
-video_size "$W"x"$H" \
-i :0.0+"$X,$Y" \
-c:v libx264 -qp 0 -r 30 \
"$HOME/box-$(date '+%y%m%d-%H%M-%S').mkv" &
echo $! > /tmp/recordingpid
updateicon "⏺️"
}
case "$1" in
screencast) screencast;;
audio) audio;;
video) video;;
*selected) videoselected;;
kill) killrecording;;
*) ([ -f /tmp/recordingpid ] && asktoend && exit) || askrecording;;
esac

46
.local/bin/dmenuumount Executable file
View File

@@ -0,0 +1,46 @@
#!/bin/sh
# taken from https://github.com/LukeSmithxyz/voidrice/blob/master/.local/bin/dmenuumount
# A dmenu prompt to unmount drives.
# Provides you with mounted partitions, select one to unmount.
# Drives mounted at /, /boot and /home will not be options to unmount.
unmountusb() {
[ -z "$drives" ] && exit
chosen="$(echo "$drives" | dmenu -i -p "Unmount which drive?")" || exit 1
chosen="$(echo "$chosen" | awk '{print $1}')"
[ -z "$chosen" ] && exit
sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted."
}
unmountandroid() { \
chosen="$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")" || exit 1
[ -z "$chosen" ] && exit
sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted."
}
asktype() { \
choice="$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" || exit 1
case "$choice" in
USB) unmountusb ;;
Android) unmountandroid ;;
esac
}
drives=$(lsblk -nrpo "name,type,size,mountpoint,label" | awk -F':' '{gsub(/ /,":")}$4!~/\/boot|\/efi|\/home$|SWAP/&&length($4)>1{printf "%s (%s) %s\n",$4,$3,$5}')
if ! grep simple-mtpfs /etc/mtab; then
[ -z "$drives" ] && echo "No drives to unmount." && exit
echo "Unmountable USB drive detected."
unmountusb
else
if [ -z "$drives" ]
then
echo "Unmountable Android device detected."
unmountandroid
else
echo "Unmountable USB drive(s) and Android device(s) detected."
asktype
fi
fi

10
.local/bin/gh-upload Executable file
View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# gh-cli shortcut to upload a repo to github
# takes an optional flag --private
# and an optional parameter which repo should be uploaded, defaults to CWD
if [ "$1" = "--private" ]; then
gh repo create --push --private --source ${2-.}
else
gh repo create --push --public --source ${2-.}
fi

11
.local/bin/git-home Executable file
View File

@@ -0,0 +1,11 @@
#!/usr/bin/env bash
# git script that will return the path of the current git project.
# can be used to execute commands in the directory as well.
# uses git >= 2.13 --show-superproject-working-tree
path=$(git rev-parse --show-toplevel);
[[ $? -ne 0 ]] && exit $?
if [ $# -eq 0 ]; then
echo "$path";
else
cd $path && eval "$@";
fi

122
.local/bin/git-ignore Executable file
View File

@@ -0,0 +1,122 @@
#!/usr/bin/env bash
GIT_DIR=$(git rev-parse --git-dir 2>/dev/null)
function show_contents {
local file="${2/#~/$HOME}"
if [ -f "$file" ]; then
echo "$1 gitignore: $2" && cat "$file"
else
echo "There is no $1 .gitignore yet"
fi
}
function cd_to_git_root {
local error_level="$1"
if ! git rev-parse --git-dir &>/dev/null; then
if [ "$error_level" = '--warn' ]; then
echo "Warning: Not currently in a Git repository" >&2
elif [ "$error_level" = '--error' ]; then
echo "Error: Not currently in a Git repository" >&2
exit 1
fi
fi
local result=
if result=$(git rev-parse --show-toplevel 2>/dev/null); then
cd "$result" || exit
fi
}
function global_ignore() {
if ! git config --global core.excludesFile 2>/dev/null; then
if [ -f "$HOME/.gitignore" ]; then
echo "$HOME/.gitignore"
else
echo "${XDG_CONFIG_HOME:-$HOME/.config}/git/ignore"
fi
fi
}
function show_global {
show_contents Global "$(global_ignore)"
}
function add_global {
local global_gitignore
global_gitignore="$(global_ignore)"
if [ -z "$global_gitignore" ]; then
echo "Can't find global .gitignore."
echo ""
echo "Use 'git config --global --add core.excludesfile ~/.gitignore-global' to set the path to your global gitignore file to '~/.gitignore-global'."
echo ""
else
add_patterns "$global_gitignore" "$@"
fi
}
function show_local {
cd_to_git_root --warn
show_contents Local .gitignore
}
function add_local {
cd_to_git_root --warn
add_patterns .gitignore "$@"
}
function show_private {
cd_to_git_root --error
show_contents Private "${GIT_DIR}/info/exclude"
}
function add_private {
cd_to_git_root --error
test -d "${GIT_DIR}/info" || mkdir -p "${GIT_DIR}/info"
add_patterns "${GIT_DIR}/info/exclude" "$@"
}
function add_patterns {
echo "Adding pattern(s) to: $1"
local file="${1/#~/$HOME}"
dir_name=$(dirname "$file")
if [ ! -d "$dir_name" ]; then
mkdir -p "$dir_name"
fi
if [ -s "$file" ]; then
# If the content of $file doesn't end with a newline, add one
test "$(tail -c 1 "$file")" != "" && echo "" >> "$file"
fi
for pattern in "${@:2}"; do
echo "... adding '$pattern'"
(test -f "$file" && test "$pattern" && grep -q -F -x -- "$pattern" "$file") || echo "$pattern" >> "$file"
done
}
if test $# -eq 0; then
show_global
echo "---------------------------------"
show_local
echo "---------------------------------"
show_private
else
case "$1" in
-l|--local)
test $# -gt 1 && add_local "${@:2}" && echo
show_local
;;
-g|--global)
test $# -gt 1 && add_global "${@:2}" && echo
show_global
;;
-p|--private)
test $# -gt 1 && add_private "${@:2}" && echo
show_private
;;
*)
add_local "$@"
;;
esac
fi

14
.local/bin/git-root Executable file
View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# git script that will return the root path of a git project, even if currently in a submodule.
# can be used to execute commands in the root directory as well.
# uses git >= 2.13 --show-superproject-working-tree
path=$(git rev-parse --show-superproject-working-tree)
[[ $? -ne 0 ]] && exit $?
if [ -z "$path" ]; then
path=$(git rev-parse --show-toplevel);
fi
if [ $# -eq 0 ]; then
echo "$path";
else
cd $path && eval "$@";
fi

3
.local/bin/i3.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/sh
source ~/.profile
i3

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=False
Exec=/usr/lib/firefox/firefox -P
Name=Firefox Profiles
Comment=Custom profile for Firefox

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=/usr/bin/telegram-desktop -- %u
Name=Telegram Desktop
Comment=Custom definition for Telegram Desktop

View File

@@ -0,0 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
NoDisplay=true
Exec=/usr/lib/thunderbird/thunderbird %u
Name=Thunderbird
Comment=Custom definition for Thunderbird

View File

@@ -0,0 +1,31 @@
/*The following block hides the horizontal tabs for tree style tabs https://github.com/piroor/treestyletab/wiki/Code-snippets-for-custom-style-rules#for-userchromecss
* enable 'toolkit.legacyUserProfileCustomizations.stylesheets' in 'about:config' for this to work*/
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar > .toolbar-items {
opacity: 0;
pointer-events: none;
}
#main-window:not([tabsintitlebar="true"]) #TabsToolbar {
visibility: collapse !important;
}
/*remove top white line
#main-window[tabsintitlebar="true"]:not([extradragspace="true"]) #TabsToolbar .titlebar-spacer {
border-inline-end: none;
}*/
/*Hide the Tree style Tab header*/
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
display: none;
}
/* The following moves the window buttons to the lower bar after removeing horizontal tabs*/
/* Adding empty space for buttons
#nav-bar {
margin-right:140px;
}*/
/* Fix for main menu calling by Alt button */
#titlebar > #toolbar-menubar {
margin-top: 10px;
}

View File

@@ -0,0 +1,34 @@
// firefox user.js configuration inspired by https://github.com/pyllyukko/user.js/ , https://github.com/arkenfox/user.js/
// PREF: cycle tabs by recently used
user_pref("browser.ctrlTab.sortByRecentlyUsed", true);
// PREF: Display a notification bar when websites offer data for offline use
// http://kb.mozillazine.org/Browser.offline-apps.notify
user_pref("browser.offline-apps.notify", true);
// PREF: Do not check if Firefox is the default browser
user_pref("browser.shell.checkDefaultBrowser", false);
// PREF: Disable the "new tab page" feature and show a blank tab instead
// https://wiki.mozilla.org/Privacy/Reviews/New_Tab
// https://support.mozilla.org/en-US/kb/new-tab-page-show-hide-and-customize-top-sites#w_how-do-i-turn-the-new-tab-page-off
user_pref("browser.newtabpage.enabled", false);
user_pref("browser.newtab.url", "web.neller.org/dashboard");
// PREF: DNS over HTTPS
user_pref("network.trr.mode", 2);
user_pref("network.trr.uri", "https://mozilla.cloudflare-dns.com/dns-query");
// PREF: disable Ctrl + Q shortcut to close all tabs
user_pref("browser.quitShortcut.disabled", true);
// PREF: dont hide address bar and toolbars in fullscreen mode
user.pref("browser.fullscreen.autohide", false);
// PREF: dont save login information
user_pref("signon.rememberSignons", false);
// PREF: enable userChrome.css for visual adjustments
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// PREF: dont show sponsored suggestions
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.urlbar.suggest.topsites", false)
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", false );
user_pref("browser.partnerlink.campaign.topsites","");
// PREF: dont open suggestions at all when entering URL Bar
user_pref("browser.urlbar.suggest.topsites", false);
// PREF: disable firefox pocket
user_pref("extensions.pocket.enabled", false);

View File

@@ -0,0 +1,4 @@
[4F96D1932A9F858E]
Default=4vd8uypc.default-release
Locked=1

View File

@@ -0,0 +1,19 @@
[Install4F96D1932A9F858E]
Default=4vd8uypc.default-release
Locked=1
[Profile1]
Name=shopping
IsRelative=1
Path=2ustnzbw.shopping
[Profile0]
Name=work-default
IsRelative=1
Path=4vd8uypc.default-release
Default=1
[General]
StartWithLastProfile=1
Version=2

View File

@@ -0,0 +1,189 @@
! 2020-10-19 https://www.youtube.com
www.youtube.com###dialog
||www.gstatic.com/youtube/img/promos/growth/dmod_si_horizontal_ver1_240x400.png$image
www.youtube.com##.opened
www.youtube.com##ytd-guide-signin-promo-renderer.ytd-guide-renderer.style-scope
! 2021-01-25 https://www.youtube.com
www.youtube.com###guide-links-primary
www.youtube.com###copyright
! 2020-10-25 https://www.instagram.com
www.instagram.com##.piCib
www.instagram.com##.Yx5HN.RnEpo
! 2021-06-16 https://open.spotify.com
open.spotify.com##._5c12c73a4f38b98340ea33803209fdc8-scss._4dfd6d092d9e182093e453606400f1cc-scss > ._47872eede19af06725157ba21fea3516-scss.link-subtle
! 2021-06-23 https://open.spotify.com
open.spotify.com##._186766435454b6e18fec29440fbb9fc4-scss._110dbc41d89af63f97cdd8b7cd7fea47-scss._3f37264be67c8f40fa9f76449afdb4bd-scss
open.spotify.com##.active.b31034fcce422440a4a86c71944b08b6-scss.logo
! 2022-02-17 https://open.spotify.com
open.spotify.com##.Upqw01TOXETOmR5Td7Dj.X7lQWw2Ly_RZVPEFj2QY.Qt5xfSWikz6CLU8Vobxs
open.spotify.com##.WvLkmOVB2R2vzI2ibR_r.eNs6P3JYpf2LScgTDHc6 > .ATUzFKub89lzvkmvhpyE.link-subtle
! 2022-04-17 https://open.spotify.com
open.spotify.com##.GenericModal--afterOpen.GenericModal--animated.encore-dark-theme.GenericModal > div > iframe
open.spotify.com##.GenericModal__overlay--afterOpen.GenericModal__overlay--animated.GenericModal__overlay
! 2021-01-25 https://ticktick.com
ticktick.com##a.upgrade-button:nth-of-type(2)
! 2021-01-27 https://ticktick.com
ticktick.com##.empty-detail-view
ticktick.com##.fill-theme.icon-empty-task-detail-pointer > use
ticktick.com##.fill-theme.icon-empty-task-detail-pointer
ticktick.com##.empty-task-detail.icon-empty-task-detail > use
ticktick.com##.empty-task-detail.icon-empty-task-detail
ticktick.com##a.upgrade-button:nth-of-type(2)
! 2021-10-10 https://ticktick.com
ticktick.com##.hover\:opacity-60.opacity-40.text-white-default.h-full.w-full.icon-calendar-sidebar > use
ticktick.com##.hover\:opacity-60.opacity-40.text-white-default.h-full.w-full.icon-calendar-sidebar
ticktick.com##.calendarIcon_3y13p.relative.h-\[24px\].w-\[24px\].block
! 2021-01-28 https://web.whatsapp.com
||web.whatsapp.com/img/intro-connection-dark_0ee01153183b5ebd9b296399cc2104b0.jpg$image
web.whatsapp.com##._3BDr5
web.whatsapp.com##._2cf_o
! 2021-03-03 https://web.whatsapp.com
web.whatsapp.com##.WG7wG
web.whatsapp.com##._2zkCi
! 2021-01-25 https://calendar.google.com
calendar.google.com##.erDb5d
! 2020-11-19 https://www.gutefrage.net
||www.welect.de/passage/for_product/UtZA3wHEtDiMpOQSgvHUYu9WoNfG/pre_offer?consent_id=ba9511b1-5c12-45ac-a124-eaa99cce3fde&utm_campaign=gutefrage&utm_source=www.gutefrage.net$subdocument
www.gutefrage.net###wl-container
||xtag.cdn-solution.net/creatives/hb/SOD20_1263/desktop/desktop2/top/index.html?sasfid=8266_2&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8263%26t_oid%3D2886%26t_pid%3D1230%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=644%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN3722.3147598SODSCREENONDEMANDGM%2FB24927399.287808321%3Bdc_trk_aid%3D481305502%3Bdc_trk_cid%3D116094629%3Bdc_lat%3D%3Bdc_rdid%3D%3Btag_for_child_directed_treatment%3D%3Btfua%3D%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_755%7D&dspx_debug=1&&dspxct=$subdocument
www.gutefrage.net##.HasRichTooltip--bottom.HasRichTooltip--rightmost.QdpMeta-tooltip.HasRichTooltip--clickOnly.HasRichTooltip
||xtag.cdn-solution.net/creatives/hb/SOD20_1263/desktop/desktop2/left/index.html?sasfid=8266_1&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8262%26t_oid%3D2886%26t_pid%3D1230%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=644%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN3722.3147598SODSCREENONDEMANDGM%2FB24927399.287808321%3Bdc_trk_aid%3D481305502%3Bdc_trk_cid%3D116094629%3Bdc_lat%3D%3Bdc_rdid%3D%3Btag_for_child_directed_treatment%3D%3Btfua%3D%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_755%7D&dspx_debug=1&&dspxct=$subdocument
||xtag.cdn-solution.net/creatives/hb/SOD20_1263/desktop/desktop1/right/index.html?sasfid=8276_3&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8274%26t_oid%3D2888%26t_pid%3D1230%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=224%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN3722.3147598SODSCREENONDEMANDGM%2FB24927399.287808321%3Bdc_trk_aid%3D481305502%3Bdc_trk_cid%3D116094629%3Bdc_lat%3D%3Bdc_rdid%3D%3Btag_for_child_directed_treatment%3D%3Btfua%3D%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_755%7D&dspx_debug=1&&dspxct=$subdocument
||xtag.cdn-solution.net/creatives/hb/SOD20_1263/desktop/desktop1/top/index.html?sasfid=8276_2&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8273%26t_oid%3D2888%26t_pid%3D1230%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=224%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN3722.3147598SODSCREENONDEMANDGM%2FB24927399.287808321%3Bdc_trk_aid%3D481305502%3Bdc_trk_cid%3D116094629%3Bdc_lat%3D%3Bdc_rdid%3D%3Btag_for_child_directed_treatment%3D%3Btfua%3D%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_755%7D&dspx_debug=1&&dspxct=$subdocument
||xtag.cdn-solution.net/creatives/hb/SOD20_1263/desktop/desktop1/left/index.html?sasfid=8276_1&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8272%26t_oid%3D2888%26t_pid%3D1230%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=224%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fad.doubleclick.net%2Fddm%2Ftrackclk%2FN3722.3147598SODSCREENONDEMANDGM%2FB24927399.287808321%3Bdc_trk_aid%3D481305502%3Bdc_trk_cid%3D116094629%3Bdc_lat%3D%3Bdc_rdid%3D%3Btag_for_child_directed_treatment%3D%3Btfua%3D%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_755%7D&dspx_debug=1&&dspxct=$subdocument
! 2020-12-20 https://www.finanzfrage.net
||www.welect.de/passage/pre_offer/7f214928-9347-45ee-9c41-222ce9b7d12b?utm_campaign=gutefrage&utm_source=www.finanzfrage.net$subdocument
www.finanzfrage.net###wl-container
||xtag.cdn-solution.net/creatives/hb/SOD20_1464/Liebespaar/desktop/left/index.html?sasfid=9086_1&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8681%26t_oid%3D3020%26t_pid%3D723%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=330%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fserver.adform.net%2FC%2F%3Fbn%3D42225507%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_50%7D&dspx_debug=1&&dspxct=$subdocument
||xtag.cdn-solution.net/creatives/hb/SOD20_1464/Liebespaar/desktop/right/index.html?sasfid=9086_3&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8683%26t_oid%3D3020%26t_pid%3D723%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=330%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fserver.adform.net%2FC%2F%3Fbn%3D42225507%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_50%7D&dspx_debug=1&&dspxct=$subdocument
||xtag.cdn-solution.net/creatives/hb/SOD20_1464/Liebespaar/desktop/top/index.html?sasfid=9086_2&dspx_clicktag=https%3A%2F%2Ftracking.dspx.tv%2F%3Ftc%3Ddspx%26mts%3D0%26t_aid%3D8682%26t_oid%3D3020%26t_pid%3D723%26inventory_key%3D17%26t_host%3D%26t_path%3D%26t_dealid%3D%26dvt%3Ddesktop%26_e%3Dclick%26idt%3D100%26target%3D&&dspx_hdlrandom=330%20&dspx_encodelevel=0&dspx_clicktag_p=https%3A%2F%2Fserver.adform.net%2FC%2F%3Fbn%3D42225507%3Bgdpr%3D%24%7BGDPR%7D%3Bgdpr_consent%3D%24%7BGDPR_CONSENT_50%7D&dspx_debug=1&&dspxct=$subdocument
! 2021-01-10 https://www.wg-gesucht.de
www.wg-gesucht.de##.noprint.airbnb_ad.wgg_card.clicked_partner > .row > .card_body.col-sm-8
! 2021-01-18 https://www.zeit.de
www.zeit.de##.paywall-footer__panel
www.zeit.de##.paywall-footer__header
! 2021-01-25 https://moodle.uni-ulm.de
moodle.uni-ulm.de###loginbackgroundimagetext
! 2021-01-25 https://www.reddit.com
www.reddit.com##.jEUbSHJJx8vISKpWirlfx
! 2021-01-30 https://binutils.sourceware.narkive.com
binutils.sourceware.narkive.com##.pbs-cta-fullscreen.pbs-cta
binutils.sourceware.narkive.com###exp_fda2d41f-9515-4373-84dc-4bfe478fe380
! 2021-02-01 https://www.gut-erklaert.de
www.gut-erklaert.de##.contentBody > div:nth-of-type(1) > .contentlabel
www.gut-erklaert.de##div:nth-of-type(3) > .contentlabel
www.gut-erklaert.de##.contentBody > span.contentlabel:nth-of-type(1)
! 2021-02-04 https://www.youtube.com
www.youtube.com###logo-icon
! 2021-03-09 https://studyflix.de
studyflix.de##.-enabled.up-can-clean.huge-notification
! 2021-03-26 https://www.sofatutor.com
www.sofatutor.com##.trial-flow-popup__content
www.sofatutor.com##.bg-black-transparent.trial-flow__overlay
www.sofatutor.com##.trial-flow-popup__yeti
! 2021-04-01 https://www.kapiert.de
www.kapiert.de###popup-testen
www.kapiert.de###overlay-testen
! 2021-04-25 https://pimylifeup.com
pimylifeup.com##.jw-reset.jw-video
pimylifeup.com##.adthrive-video-title.adthrive-video-text-cutoff
pimylifeup.com##.adthrive-wrapper-bar
pimylifeup.com##.jw-reset.jw-media
pimylifeup.com##.jw-reset.jw-wrapper > .jw-reset.jw-aspect
pimylifeup.com##.jw-reset.jw-wrapper
! 2021-05-25 https://www.technicpack.net
www.technicpack.net##._5kE-6aUK._9r0K-Oum
www.technicpack.net##.aJVLc6uP
www.technicpack.net##.fEy1Z2XT
! 2021-05-25 https://hexxit.fandom.com
hexxit.fandom.com##p:nth-of-type(2)
! 2021-06-17 https://regexr.com
regexr.com##.noad
! 2021-07-06 https://pl.allsportsflix.best
pl.allsportsflix.best###playerCta-wrapper
! 2021-07-06 https://streaming-builder.com
streaming-builder.com##.p-3.form-container.bg-white.col-lg-12.col-md-12.col-sm-12.col-12
streaming-builder.com##.overlay
streaming-builder.com##.popup
! 2021-08-05 https://videovak.com
videovak.com##iframe:nth-of-type(4)
videovak.com##.stick-center.left.takipte_kal iframe
videovak.com##.left.takipte_kal iframe
videovak.com##iframe:nth-of-type(2)
videovak.com###AdskeeperComposite1057813_0c0d9 > div > .mgbox
videovak.com##iframe:nth-of-type(3)
gmx.net##+js(nobab)
! 2021-05-13 https://ticktick.com
! 2021-10-19 https://www.kuechengoetter.de
www.kuechengoetter.de##.bplr-touch-overlay
www.kuechengoetter.de###BPLR-1j0z5e4nlnt1_adContainer
www.kuechengoetter.de###BPLR-1j0z5e4nlnt1_html5
www.kuechengoetter.de##.bplr-holder
www.kuechengoetter.de##.bplr-paused.bplr-over.bplr-visible-controls.bplr-large.bplr-started.bplr-default-skin.bplr
www.kuechengoetter.de###BPLR-1j0z5e4nlnt1 > [src="//cdn.target-video.com/live/partners/14216/snapshot/456814.png"]
www.kuechengoetter.de##.bplr-smallest.bplr-smaller.bplr-small.bplr-paused.bplr-over.bplr-visible-controls.bplr-started.bplr-default-skin.bplr
! 2021-11-06 https://www.overleaf.com
www.overleaf.com##.col-md-9
www.overleaf.com##.hidden-print.site-footer-content > .row
www.overleaf.com##.site-footer
! 2021-12-29 https://refactoring.guru
refactoring.guru##.announcement-block-inner
! 2022-01-19 https://www.gmx.net
||dl.gmx.net/uim/connector/live/v2/nonfriendlyiframe.html$subdocument
||dl.gmx.net/uim/connector/live/v2/nonfriendlyiframe.html$subdocument
||img.ui-portal.de/homepage/img/gmx/lotto/2021/06/jackpot_45.png$image
! 2022-02-11 https://cloud.oracle.com
cloud.oracle.com##.inner-focus-dark.action.oci-banner
! 2022-03-03 https://cloud.oracle.com
cloud.oracle.com##.inner-focus-dark.info.oci-banner
! 2022-03-03 http://web.neller.org
web.neller.org##div.col:nth-of-type(1)
! 2022-03-04 https://www.babypips.com
www.babypips.com###stickybar
! 2022-03-05 https://de.aliexpress.com
de.aliexpress.com##.global-gdpr-container
! 2022-03-20 https://w2g.tv
w2g.tv##.w2g-top-message-small
! 2022-04-13 https://s.to
s.to##iframe:nth-of-type(3)
! 2022-08-23 https://open.spotify.com
open.spotify.com##.Foyk_HJx16yh22JYmQ56 > .eNs6P3JYpf2LScgTDHc6 > .ATUzFKub89lzvkmvhpyE.link-subtle
open.spotify.com##.Upqw01TOXETOmR5Td7Dj.jyfxNy.Button-y0gtbx-0
open.spotify.com##.active.WJsKJXEbycxxq8OcGHM1.logo

367
.p10k.zsh
View File

@@ -1,8 +1,8 @@
# Generated by Powerlevel10k configuration wizard on 2020-10-15 at 20:07 CEST. # Generated by Powerlevel10k configuration wizard on 2024-04-22 at 10:33 CEST.
# Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 18245. # Based on romkatv/powerlevel10k/config/p10k-classic.zsh, checksum 57817.
# Wizard options: awesome-fontconfig + powerline + python, large icons, classic, # Wizard options: nerdfont-v3 + powerline, small icons, classic, unicode, light,
# unicode, dark, angled separators, sharp heads, flat tails, 2 lines, disconnected, # angled separators, sharp heads, flat tails, 2 lines, disconnected, no frame, sparse,
# left frame, sparse, few icons, concise, transient_prompt, instant_prompt=off. # few icons, concise, transient_prompt, instant_prompt=quiet.
# Type `p10k configure` to generate another config. # Type `p10k configure` to generate another config.
# #
# Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate # Config for Powerlevel10k with classic powerline prompt style. Type `p10k configure` to generate
@@ -27,18 +27,17 @@
unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR' unset -m '(POWERLEVEL9K_*|DEFAULT_USER)~POWERLEVEL9K_GITSTATUS_DIR'
# Zsh >= 5.1 is required. # Zsh >= 5.1 is required.
autoload -Uz is-at-least && is-at-least 5.1 || return [[ $ZSH_VERSION == (5.<1->*|<6->.*) ]] || return
# The list of segments shown on the left. Fill it with the most important segments. # The list of segments shown on the left. Fill it with the most important segments.
typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=( typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
# =========================[ Line #1 ]========================= # =========================[ Line #1 ]=========================
# os_icon # os identifier # os_icon # os identifier
context
dir # current directory dir # current directory
vcs # git status vcs # git status
# =========================[ Line #2 ]========================= # =========================[ Line #2 ]=========================
newline # \n newline # \n
# prompt_char # prompt symbol prompt_char # prompt symbol
) )
# The list of segments shown on the right. Fill it with less important segments. # The list of segments shown on the right. Fill it with less important segments.
@@ -60,12 +59,12 @@
nvm # node.js version from nvm (https://github.com/nvm-sh/nvm) nvm # node.js version from nvm (https://github.com/nvm-sh/nvm)
nodeenv # node.js environment (https://github.com/ekalinin/nodeenv) nodeenv # node.js environment (https://github.com/ekalinin/nodeenv)
# node_version # node.js version # node_version # node.js version
# go_version # go version (https://golang.org) go_version # go version (https://golang.org)
# rust_version # rustc version (https://www.rust-lang.org) rust_version # rustc version (https://www.rust-lang.org)
# dotnet_version # .NET version (https://dotnet.microsoft.com) # dotnet_version # .NET version (https://dotnet.microsoft.com)
# php_version # php version (https://www.php.net/) # php_version # php version (https://www.php.net/)
# laravel_version # laravel php framework version (https://laravel.com/) # laravel_version # laravel php framework version (https://laravel.com/)
# java_version # java version (https://www.java.com/) java_version # java version (https://www.java.com/)
# package # name@version from package.json (https://docs.npmjs.com/files/package.json) # package # name@version from package.json (https://docs.npmjs.com/files/package.json)
rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv) rbenv # ruby version from rbenv (https://github.com/rbenv/rbenv)
rvm # ruby version from rvm (https://rvm.io) rvm # ruby version from rvm (https://rvm.io)
@@ -73,23 +72,30 @@
luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv) luaenv # lua version from luaenv (https://github.com/cehoffman/luaenv)
jenv # java version from jenv (https://github.com/jenv/jenv) jenv # java version from jenv (https://github.com/jenv/jenv)
plenv # perl version from plenv (https://github.com/tokuhirom/plenv) plenv # perl version from plenv (https://github.com/tokuhirom/plenv)
perlbrew # perl version from perlbrew (https://github.com/gugod/App-perlbrew)
phpenv # php version from phpenv (https://github.com/phpenv/phpenv) phpenv # php version from phpenv (https://github.com/phpenv/phpenv)
scalaenv # scala version from scalaenv (https://github.com/scalaenv/scalaenv)
haskell_stack # haskell version from stack (https://haskellstack.org/) haskell_stack # haskell version from stack (https://haskellstack.org/)
kubecontext # current kubernetes context (https://kubernetes.io/) kubecontext # current kubernetes context (https://kubernetes.io/)
terraform # terraform workspace (https://www.terraform.io) terraform # terraform workspace (https://www.terraform.io)
# terraform_version # terraform version (https://www.terraform.io)
aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) aws # aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)
aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) aws_eb_env # aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/)
azure # azure account name (https://docs.microsoft.com/en-us/cli/azure) azure # azure account name (https://docs.microsoft.com/en-us/cli/azure)
gcloud # google cloud cli account and project (https://cloud.google.com/) gcloud # google cloud cli account and project (https://cloud.google.com/)
google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production) google_app_cred # google application credentials (https://cloud.google.com/docs/authentication/production)
toolbox # toolbox name (https://github.com/containers/toolbox)
context # user@hostname context # user@hostname
nordvpn # nordvpn connection status, linux only (https://nordvpn.com/) nordvpn # nordvpn connection status, linux only (https://nordvpn.com/)
ranger # ranger shell (https://github.com/ranger/ranger) ranger # ranger shell (https://github.com/ranger/ranger)
nnn # nnn shell (https://github.com/jarun/nnn) nnn # nnn shell (https://github.com/jarun/nnn)
lf # lf shell (https://github.com/gokcehan/lf)
xplr # xplr shell (https://github.com/sayanarijit/xplr)
vim_shell # vim shell indicator (:sh) vim_shell # vim shell indicator (:sh)
midnight_commander # midnight commander shell (https://midnight-commander.org/) midnight_commander # midnight commander shell (https://midnight-commander.org/)
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
vi_mode # vi mode (you don't need this if you've enabled prompt_char) chezmoi_shell # chezmoi shell (https://www.chezmoi.io/)
# vi_mode # vi mode (you don't need this if you've enabled prompt_char)
# vpn_ip # virtual private network indicator # vpn_ip # virtual private network indicator
# load # CPU load # load # CPU load
# disk_usage # disk usage # disk_usage # disk usage
@@ -98,6 +104,8 @@
todo # todo items (https://github.com/todotxt/todo.txt-cli) todo # todo items (https://github.com/todotxt/todo.txt-cli)
timewarrior # timewarrior tracking status (https://timewarrior.net/) timewarrior # timewarrior tracking status (https://timewarrior.net/)
taskwarrior # taskwarrior task count (https://taskwarrior.org/) taskwarrior # taskwarrior task count (https://taskwarrior.org/)
per_directory_history # Oh My Zsh per-directory-history local/global indicator
# cpu_arch # CPU architecture
# time # current time # time # current time
# =========================[ Line #2 ]========================= # =========================[ Line #2 ]=========================
newline # \n newline # \n
@@ -110,10 +118,10 @@
) )
# Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you. # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.
typeset -g POWERLEVEL9K_MODE=awesome-fontconfig typeset -g POWERLEVEL9K_MODE=nerdfont-v3
# When set to `moderate`, some icons will have an extra space after them. This is meant to avoid # When set to `moderate`, some icons will have an extra space after them. This is meant to avoid
# icon overlap when using non-monospace fonts. When set to `none`, spaces are not added. # icon overlap when using non-monospace fonts. When set to `none`, spaces are not added.
typeset -g POWERLEVEL9K_ICON_PADDING=moderate typeset -g POWERLEVEL9K_ICON_PADDING=none
# When set to true, icons appear before content on both sides of the prompt. When set # When set to true, icons appear before content on both sides of the prompt. When set
# to false, icons go after content. If empty or not set, icons go before content in the left # to false, icons go after content. If empty or not set, icons go before content in the left
@@ -133,9 +141,9 @@
# Connect left prompt lines with these symbols. You'll probably want to use the same color # Connect left prompt lines with these symbols. You'll probably want to use the same color
# as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below. # as POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND below.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX='%240F╭─' typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX='%240F├─' typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_PREFIX=
typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX='%240F╰─' typeset -g POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX=
# Connect right prompt lines with these symbols. # Connect right prompt lines with these symbols.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX= typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_SUFFIX=
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_SUFFIX=
@@ -144,14 +152,14 @@
# Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or # Filler between left and right prompt on the first prompt line. You can set it to ' ', '·' or
# '─'. The last two make it easier to see the alignment between left and right prompt and to # '─'. The last two make it easier to see the alignment between left and right prompt and to
# separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false # separate prompt from command output. You might want to set POWERLEVEL9K_PROMPT_ADD_NEWLINE=false
# for more compact prompt if using using this option. # for more compact prompt if using this option.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' ' typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR=' '
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND= typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_BACKGROUND=
typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND= typeset -g POWERLEVEL9K_MULTILINE_NEWLINE_PROMPT_GAP_BACKGROUND=
if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then if [[ $POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_CHAR != ' ' ]]; then
# The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE # The color of the filler. You'll probably want to match the color of POWERLEVEL9K_MULTILINE
# ornaments defined above. # ornaments defined above.
typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=240 typeset -g POWERLEVEL9K_MULTILINE_FIRST_PROMPT_GAP_FOREGROUND=242
# Start filler from the edge of the screen if there are no left segments on the first line. # Start filler from the edge of the screen if there are no left segments on the first line.
typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}' typeset -g POWERLEVEL9K_EMPTY_LINE_LEFT_PROMPT_FIRST_SEGMENT_END_SYMBOL='%{%}'
# End filler on the edge of the screen if there are no right segments on the first line. # End filler on the edge of the screen if there are no right segments on the first line.
@@ -159,16 +167,19 @@
fi fi
# Default background color. # Default background color.
typeset -g POWERLEVEL9K_BACKGROUND=236 typeset -g POWERLEVEL9K_BACKGROUND=238
# Separator between same-color segments on the left. # Separator between same-color segments on the left.
typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%244F\uE0B1' typeset -g POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='%246F\uE0B1'
# Separator between same-color segments on the right. # Separator between same-color segments on the right.
typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%244F\uE0B3' typeset -g POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='%246F\uE0B3'
# Separator between different-color segments on the left. # Separator between different-color segments on the left.
typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0' typeset -g POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0B0'
# Separator between different-color segments on the right. # Separator between different-color segments on the right.
typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2' typeset -g POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0B2'
# To remove a separator between two segments, add "_joined" to the second segment name.
# For example: POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(os_icon context_joined)
# The right end of left prompt. # The right end of left prompt.
typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0' typeset -g POWERLEVEL9K_LEFT_PROMPT_LAST_SEGMENT_END_SYMBOL='\uE0B0'
# The left end of right prompt. # The left end of right prompt.
@@ -238,7 +249,7 @@
.java-version .java-version
.perl-version .perl-version
.php-version .php-version
.tool-version .tool-versions
.shorten_folder_marker .shorten_folder_marker
.svn .svn
.terraform .terraform
@@ -255,6 +266,11 @@
# /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first) # /foo/bar/git_repo/nested_git_repo/baz, prompt will display git_repo/nested_git_repo/baz (first)
# or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers # or nested_git_repo/baz (last). This assumes that git_repo and nested_git_repo contain markers
# and other directories don't. # and other directories don't.
#
# Optionally, "first" and "last" can be followed by ":<offset>" where <offset> is an integer.
# This moves the truncation point to the right (positive offset) or to the left (negative offset)
# relative to the marker. Plain "first" and "last" are equivalent to "first:0" and "last:0"
# respectively.
typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false typeset -g POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER=false
# Don't shorten this many last directory segments. They are anchors. # Don't shorten this many last directory segments. They are anchors.
typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 typeset -g POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
@@ -276,12 +292,12 @@
# the full directory that was used in previous commands. # the full directory that was used in previous commands.
typeset -g POWERLEVEL9K_DIR_HYPERLINK=false typeset -g POWERLEVEL9K_DIR_HYPERLINK=false
# Enable special styling for non-writable directories. See POWERLEVEL9K_LOCK_ICON and # Enable special styling for non-writable and non-existent directories. See POWERLEVEL9K_LOCK_ICON
# POWERLEVEL9K_DIR_CLASSES below. # and POWERLEVEL9K_DIR_CLASSES below.
typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v2 typeset -g POWERLEVEL9K_DIR_SHOW_WRITABLE=v3
# The default icon shown next to non-writable directories when POWERLEVEL9K_DIR_SHOW_WRITABLE is # The default icon shown next to non-writable and non-existent directories when
# set to v2. # POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3.
# typeset -g POWERLEVEL9K_LOCK_ICON='⭐' # typeset -g POWERLEVEL9K_LOCK_ICON='⭐'
# POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different # POWERLEVEL9K_DIR_CLASSES allows you to specify custom icons and colors for different
@@ -294,8 +310,8 @@
# #
# Triplets are tried in order. The first triplet whose pattern matches $PWD wins. # Triplets are tried in order. The first triplet whose pattern matches $PWD wins.
# #
# If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v2 and the current directory is not writable, # If POWERLEVEL9K_DIR_SHOW_WRITABLE is set to v3, non-writable and non-existent directories
# its class gets suffix _NOT_WRITABLE. # acquire class suffix _NOT_WRITABLE and NON_EXISTENT respectively.
# #
# For example, given these settings: # For example, given these settings:
# #
@@ -304,10 +320,11 @@
# '~(|/*)' HOME '' # '~(|/*)' HOME ''
# '*' DEFAULT '') # '*' DEFAULT '')
# #
# Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with class # Whenever the current directory is ~/work or a subdirectory of ~/work, it gets styled with one
# WORK or WORK_NOT_WRITABLE. # of the following classes depending on its writability and existence: WORK, WORK_NOT_WRITABLE or
# WORK_NON_EXISTENT.
# #
# Simply assigning classes to directories don't have any visible effects. It merely gives you an # Simply assigning classes to directories doesn't have any visible effects. It merely gives you an
# option to define custom colors and icons for different directory classes. # option to define custom colors and icons for different directory classes.
# #
# # Styling for WORK. # # Styling for WORK.
@@ -322,6 +339,12 @@
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103 # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_SHORTENED_FOREGROUND=103
# typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39 # typeset -g POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_ANCHOR_FOREGROUND=39
# #
# # Styling for WORK_NON_EXISTENT.
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_FOREGROUND=31
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_SHORTENED_FOREGROUND=103
# typeset -g POWERLEVEL9K_DIR_WORK_NON_EXISTENT_ANCHOR_FOREGROUND=39
#
# If a styling parameter isn't explicitly defined for some class, it falls back to the classless # If a styling parameter isn't explicitly defined for some class, it falls back to the classless
# parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls # parameter. For example, if POWERLEVEL9K_DIR_WORK_NOT_WRITABLE_FOREGROUND is not set, it falls
# back to POWERLEVEL9K_DIR_FOREGROUND. # back to POWERLEVEL9K_DIR_FOREGROUND.
@@ -329,10 +352,10 @@
typeset -g POWERLEVEL9K_DIR_CLASSES=() typeset -g POWERLEVEL9K_DIR_CLASSES=()
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_DIR_PREFIX='%246Fin ' # typeset -g POWERLEVEL9K_DIR_PREFIX='%248Fin '
#####################################[ vcs: git status ]###################################### #####################################[ vcs: git status ]######################################
# Branch icon. Set this parameter to '\uF126 ' for the popular Powerline branch icon. # Branch icon. Set this parameter to '\UE0A0 ' for the popular Powerline branch icon.
typeset -g POWERLEVEL9K_VCS_BRANCH_ICON= typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
# Untracked files icon. It's really a question mark, your font isn't broken. # Untracked files icon. It's really a question mark, your font isn't broken.
@@ -341,7 +364,7 @@
# Formatter for Git status. # Formatter for Git status.
# #
# Example output: master ⇣42⇡42 *42 merge ~42 +42 !42 ?42. # Example output: master wip ⇣42⇡42 *42 merge ~42 +42 !42 ?42.
# #
# You can edit the function to customize how Git status looks. # You can edit the function to customize how Git status looks.
# #
@@ -359,7 +382,7 @@
if (( $1 )); then if (( $1 )); then
# Styling for up-to-date Git status. # Styling for up-to-date Git status.
local meta='%246F' # grey foreground local meta='%248F' # grey foreground
local clean='%76F' # green foreground local clean='%76F' # green foreground
local modified='%178F' # yellow foreground local modified='%178F' # yellow foreground
local untracked='%39F' # blue foreground local untracked='%39F' # blue foreground
@@ -374,35 +397,55 @@
fi fi
local res local res
local where # branch or tag
if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then if [[ -n $VCS_STATUS_LOCAL_BRANCH ]]; then
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}" local branch=${(V)VCS_STATUS_LOCAL_BRANCH}
where=${(V)VCS_STATUS_LOCAL_BRANCH} # If local branch name is at most 32 characters long, show it in full.
elif [[ -n $VCS_STATUS_TAG ]]; then # Otherwise show the first 12 … the last 12.
res+="${meta}#" # Tip: To always show local branch name in full without truncation, delete the next line.
where=${(V)VCS_STATUS_TAG} (( $#branch > 32 )) && branch[13,-13]="…" # <-- this line
res+="${clean}${(g::)POWERLEVEL9K_VCS_BRANCH_ICON}${branch//\%/%%}"
fi fi
# If local branch name or tag is at most 32 characters long, show it in full. if [[ -n $VCS_STATUS_TAG
# Otherwise show the first 12 … the last 12. # Show tag only if not on a branch.
# Tip: To always show local branch name in full without truncation, delete the next line. # Tip: To always show tag, delete the next line.
(( $#where > 32 )) && where[13,-13]="…" && -z $VCS_STATUS_LOCAL_BRANCH # <-- this line
res+="${clean}${where//\%/%%}" # escape % ]]; then
local tag=${(V)VCS_STATUS_TAG}
# If tag name is at most 32 characters long, show it in full.
# Otherwise show the first 12 … the last 12.
# Tip: To always show tag name in full without truncation, delete the next line.
(( $#tag > 32 )) && tag[13,-13]="…" # <-- this line
res+="${meta}#${clean}${tag//\%/%%}"
fi
# Display the current Git commit if there is no branch or tag. # Display the current Git commit if there is no branch and no tag.
# Tip: To always display the current Git commit, remove `[[ -z $where ]] &&` from the next line. # Tip: To always display the current Git commit, delete the next line.
[[ -z $where ]] && res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}" [[ -z $VCS_STATUS_LOCAL_BRANCH && -z $VCS_STATUS_TAG ]] && # <-- this line
res+="${meta}@${clean}${VCS_STATUS_COMMIT[1,8]}"
# Show tracking branch name if it differs from local branch. # Show tracking branch name if it differs from local branch.
if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then if [[ -n ${VCS_STATUS_REMOTE_BRANCH:#$VCS_STATUS_LOCAL_BRANCH} ]]; then
res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}" # escape % res+="${meta}:${clean}${(V)VCS_STATUS_REMOTE_BRANCH//\%/%%}"
fi
# Display "wip" if the latest commit's summary contains "wip" or "WIP".
if [[ $VCS_STATUS_COMMIT_SUMMARY == (|*[^[:alnum:]])(wip|WIP)(|[^[:alnum:]]*) ]]; then
res+=" ${modified}wip"
fi
if (( VCS_STATUS_COMMITS_AHEAD || VCS_STATUS_COMMITS_BEHIND )); then
# ⇣42 if behind the remote.
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
elif [[ -n $VCS_STATUS_REMOTE_BRANCH ]]; then
# Tip: Uncomment the next line to display '=' if up to date with the remote.
# res+=" ${clean}="
fi fi
# ⇣42 if behind the remote.
(( VCS_STATUS_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_COMMITS_BEHIND}"
# ⇡42 if ahead of the remote; no leading space if also behind the remote: ⇣42⇡42.
(( VCS_STATUS_COMMITS_AHEAD && !VCS_STATUS_COMMITS_BEHIND )) && res+=" "
(( VCS_STATUS_COMMITS_AHEAD )) && res+="${clean}${VCS_STATUS_COMMITS_AHEAD}"
# ⇠42 if behind the push remote. # ⇠42 if behind the push remote.
(( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_PUSH_COMMITS_BEHIND}" (( VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" ${clean}${VCS_STATUS_PUSH_COMMITS_BEHIND}"
(( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" " (( VCS_STATUS_PUSH_COMMITS_AHEAD && !VCS_STATUS_PUSH_COMMITS_BEHIND )) && res+=" "
@@ -461,7 +504,7 @@
# Custom icon. # Custom icon.
typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION= typeset -g POWERLEVEL9K_VCS_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_VCS_PREFIX='%246Fon ' # typeset -g POWERLEVEL9K_VCS_PREFIX='%248Fon '
# Show status of repositories of these types. You can add svn and/or hg if you are # Show status of repositories of these types. You can add svn and/or hg if you are
# using them. If you do, your prompt may become slow even when your current directory # using them. If you do, your prompt may become slow even when your current directory
@@ -481,7 +524,7 @@
# Status on success. No content, just an icon. No need to show it if prompt_char is enabled as # Status on success. No content, just an icon. No need to show it if prompt_char is enabled as
# it will signify success by turning green. # it will signify success by turning green.
typeset -g POWERLEVEL9K_STATUS_OK=true typeset -g POWERLEVEL9K_STATUS_OK=false
typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70 typeset -g POWERLEVEL9K_STATUS_OK_FOREGROUND=70
typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔' typeset -g POWERLEVEL9K_STATUS_OK_VISUAL_IDENTIFIER_EXPANSION='✔'
@@ -511,7 +554,7 @@
typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘' typeset -g POWERLEVEL9K_STATUS_ERROR_PIPE_VISUAL_IDENTIFIER_EXPANSION='✘'
###################[ command_execution_time: duration of the last command ]################### ###################[ command_execution_time: duration of the last command ]###################
# Show duration of the last command if takes longer than this many seconds. # Show duration of the last command if takes at least this many seconds.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
# Show this many fractional digits. Zero means round to seconds. # Show this many fractional digits. Zero means round to seconds.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
@@ -522,7 +565,7 @@
# Custom icon. # Custom icon.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION= typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%246Ftook ' # typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PREFIX='%248Ftook '
#######################[ background_jobs: presence of background jobs ]####################### #######################[ background_jobs: presence of background jobs ]#######################
# Don't show the number of background jobs. # Don't show the number of background jobs.
@@ -586,7 +629,7 @@
typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true typeset -g POWERLEVEL9K_ASDF_SHOW_SYSTEM=true
# If set to non-empty value, hide tools unless there is a file matching the specified file pattern # If set to non-empty value, hide tools unless there is a file matching the specified file pattern
# in the current directory, or its parent diretory, or its grandparent directory, and so on. # in the current directory, or its parent directory, or its grandparent directory, and so on.
# #
# Note: If this parameter is set to empty value, it won't hide tools. # Note: If this parameter is set to empty value, it won't hide tools.
# Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments. # Note: SHOW_ON_UPGLOB isn't specific to asdf. It works with all prompt segments.
@@ -699,6 +742,18 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NNN_VISUAL_IDENTIFIER_EXPANSION='⭐'
######################[ lf: lf shell (https://github.com/gokcehan/lf) ]#######################
# lf shell color.
typeset -g POWERLEVEL9K_LF_FOREGROUND=72
# Custom icon.
# typeset -g POWERLEVEL9K_LF_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################[ xplr: xplr shell (https://github.com/sayanarijit/xplr) ]##################
# xplr shell color.
typeset -g POWERLEVEL9K_XPLR_FOREGROUND=72
# Custom icon.
# typeset -g POWERLEVEL9K_XPLR_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########################[ vim_shell: vim shell indicator (:sh) ]########################### ###########################[ vim_shell: vim shell indicator (:sh) ]###########################
# Vim shell indicator color. # Vim shell indicator color.
typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34 typeset -g POWERLEVEL9K_VIM_SHELL_FOREGROUND=34
@@ -715,12 +770,21 @@
# Nix shell color. # Nix shell color.
typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74 typeset -g POWERLEVEL9K_NIX_SHELL_FOREGROUND=74
# Display the icon of nix_shell if PATH contains a subdirectory of /nix/store.
# typeset -g POWERLEVEL9K_NIX_SHELL_INFER_FROM_PATH=false
# Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line. # Tip: If you want to see just the icon without "pure" and "impure", uncomment the next line.
# typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION= # typeset -g POWERLEVEL9K_NIX_SHELL_CONTENT_EXPANSION=
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NIX_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################[ chezmoi_shell: chezmoi shell (https://www.chezmoi.io/) ]##################
# chezmoi shell color.
typeset -g POWERLEVEL9K_CHEZMOI_SHELL_FOREGROUND=33
# Custom icon.
# typeset -g POWERLEVEL9K_CHEZMOI_SHELL_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################################[ disk_usage: disk usage ]################################## ##################################[ disk_usage: disk usage ]##################################
# Colors for different levels of disk usage. # Colors for different levels of disk usage.
typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35 typeset -g POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND=35
@@ -831,6 +895,30 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_TASKWARRIOR_VISUAL_IDENTIFIER_EXPANSION='⭐'
######[ per_directory_history: Oh My Zsh per-directory-history local/global indicator ]#######
# Color when using local/global history.
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_FOREGROUND=135
typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_FOREGROUND=130
# Tip: Uncomment the next two lines to hide "local"/"global" text and leave just the icon.
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_CONTENT_EXPANSION=''
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_CONTENT_EXPANSION=''
# Custom icon.
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_LOCAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_PER_DIRECTORY_HISTORY_GLOBAL_VISUAL_IDENTIFIER_EXPANSION='⭐'
################################[ cpu_arch: CPU architecture ]################################
# CPU architecture color.
typeset -g POWERLEVEL9K_CPU_ARCH_FOREGROUND=172
# Hide the segment when on a specific CPU architecture.
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_CONTENT_EXPANSION=
# typeset -g POWERLEVEL9K_CPU_ARCH_X86_64_VISUAL_IDENTIFIER_EXPANSION=
# Custom icon.
# typeset -g POWERLEVEL9K_CPU_ARCH_VISUAL_IDENTIFIER_EXPANSION='⭐'
##################################[ context: user@hostname ]################################## ##################################[ context: user@hostname ]##################################
# Context color when running with privileges. # Context color when running with privileges.
typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178 typeset -g POWERLEVEL9K_CONTEXT_ROOT_FOREGROUND=178
@@ -853,19 +941,21 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_CONTEXT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%246Fwith ' # typeset -g POWERLEVEL9K_CONTEXT_PREFIX='%248Fwith '
###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]### ###[ virtualenv: python virtual environment (https://docs.python.org/3/library/venv.html) ]###
# Python virtual environment color. # Python virtual environment color.
typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37 typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=37
# Don't show Python version next to the virtual environment name. # Don't show Python version next to the virtual environment name.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
# Don't show virtualenv if pyenv is already shown. # If set to "false", won't show virtualenv if pyenv is already shown.
# If set to "if-different", won't show virtualenv if it's the same as pyenv.
typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_WITH_PYENV=false
# Separate environment name from Python version only with a space. # Separate environment name from Python version only with a space.
typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER= typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_VIRTUALENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
typeset -g POWERLEVEL9K_VIRTUALENV_GENERIC_NAMES=(virtualenv venv .venv env .env)
#####################[ anaconda: conda environment (https://conda.io/) ]###################### #####################[ anaconda: conda environment (https://conda.io/) ]######################
# Anaconda environment color. # Anaconda environment color.
@@ -918,10 +1008,10 @@
# #
# The default format has the following logic: # The default format has the following logic:
# #
# 1. Display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION" if $P9K_PYENV_PYTHON_VERSION is not # 1. Display just "$P9K_CONTENT" if it's equal to "$P9K_PYENV_PYTHON_VERSION" or
# empty and unequal to $P9K_CONTENT. # starts with "$P9K_PYENV_PYTHON_VERSION/".
# 2. Otherwise display just "$P9K_CONTENT". # 2. Otherwise display "$P9K_CONTENT $P9K_PYENV_PYTHON_VERSION".
typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_PYENV_PYTHON_VERSION:#$P9K_CONTENT}:+ $P9K_PYENV_PYTHON_VERSION}' typeset -g POWERLEVEL9K_PYENV_CONTENT_EXPANSION='${P9K_CONTENT}${${P9K_CONTENT:#$P9K_PYENV_PYTHON_VERSION(|/*)}:+ $P9K_PYENV_PYTHON_VERSION}'
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_PYENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
@@ -955,6 +1045,11 @@
##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]############### ##############[ nvm: node.js version from nvm (https://github.com/nvm-sh/nvm) ]###############
# Nvm color. # Nvm color.
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
# If set to false, hide node version if it's the same as default:
# $(nvm version current) == $(nvm version default).
typeset -g POWERLEVEL9K_NVM_PROMPT_ALWAYS_SHOW=false
# If set to false, hide node version if it's equal to "system".
typeset -g POWERLEVEL9K_NVM_SHOW_SYSTEM=true
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
@@ -1104,6 +1199,16 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_PLENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
###########[ perlbrew: perl version from perlbrew (https://github.com/gugod/App-perlbrew) ]############
# Perlbrew color.
typeset -g POWERLEVEL9K_PERLBREW_FOREGROUND=67
# Show perlbrew version only when in a perl project subdirectory.
typeset -g POWERLEVEL9K_PERLBREW_PROJECT_ONLY=true
# Don't show "perl-" at the front.
typeset -g POWERLEVEL9K_PERLBREW_SHOW_PREFIX=false
# Custom icon.
# typeset -g POWERLEVEL9K_PERLBREW_VISUAL_IDENTIFIER_EXPANSION='⭐'
############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############ ############[ phpenv: php version from phpenv (https://github.com/phpenv/phpenv) ]############
# PHP color. # PHP color.
typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99 typeset -g POWERLEVEL9K_PHPENV_FOREGROUND=99
@@ -1117,6 +1222,19 @@
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_PHPENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
#######[ scalaenv: scala version from scalaenv (https://github.com/scalaenv/scalaenv) ]#######
# Scala color.
typeset -g POWERLEVEL9K_SCALAENV_FOREGROUND=160
# Hide scala version if it doesn't come from one of these sources.
typeset -g POWERLEVEL9K_SCALAENV_SOURCES=(shell local global)
# If set to false, hide scala version if it's the same as global:
# $(scalaenv version-name) == $(scalaenv global).
typeset -g POWERLEVEL9K_SCALAENV_PROMPT_ALWAYS_SHOW=false
# If set to false, hide scala version if it's equal to "system".
typeset -g POWERLEVEL9K_SCALAENV_SHOW_SYSTEM=true
# Custom icon.
# typeset -g POWERLEVEL9K_SCALAENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]########### ##########[ haskell_stack: haskell version from stack (https://haskellstack.org/) ]###########
# Haskell color. # Haskell color.
typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172 typeset -g POWERLEVEL9K_HASKELL_STACK_FOREGROUND=172
@@ -1164,10 +1282,16 @@
typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38 typeset -g POWERLEVEL9K_TERRAFORM_OTHER_FOREGROUND=38
# typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_TERRAFORM_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ terraform_version: terraform version (https://www.terraform.io) ]##############
# Terraform version color.
typeset -g POWERLEVEL9K_TERRAFORM_VERSION_FOREGROUND=38
# Custom icon.
# typeset -g POWERLEVEL9K_TERRAFORM_VERSION_VISUAL_IDENTIFIER_EXPANSION='⭐'
#############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]############# #############[ kubecontext: current kubernetes context (https://kubernetes.io/) ]#############
# Show kubecontext only when the the command you are typing invokes one of these tools. # Show kubecontext only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show kubecontext. # Tip: Remove the next line to always show kubecontext.
typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito' typeset -g POWERLEVEL9K_KUBECONTEXT_SHOW_ON_COMMAND='kubectl|helm|kubens|kubectx|oc|istioctl|kogito|k9s|helmfile|flux|fluxctl|stern|kubeseal|skaffold|kubent|kubecolor|cmctl|sparkctl'
# Kubernetes context classes for the purpose of using different colors, icons and expansions with # Kubernetes context classes for the purpose of using different colors, icons and expansions with
# different contexts. # different contexts.
@@ -1249,12 +1373,12 @@
POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}' POWERLEVEL9K_KUBECONTEXT_DEFAULT_CONTENT_EXPANSION+='${${:-/$P9K_KUBECONTEXT_NAMESPACE}:#/default}'
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%246Fat ' # typeset -g POWERLEVEL9K_KUBECONTEXT_PREFIX='%248Fat '
#[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]# #[ aws: aws profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html) ]#
# Show aws only when the the command you are typing invokes one of these tools. # Show aws only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show aws. # Tip: Remove the next line to always show aws.
typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|terraform|pulumi' typeset -g POWERLEVEL9K_AWS_SHOW_ON_COMMAND='aws|awless|cdk|terraform|pulumi|terragrunt'
# POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element # POWERLEVEL9K_AWS_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current AWS profile gets matched. # in each pair defines a pattern against which the current AWS profile gets matched.
@@ -1286,6 +1410,12 @@
typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208 typeset -g POWERLEVEL9K_AWS_DEFAULT_FOREGROUND=208
# typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_AWS_DEFAULT_VISUAL_IDENTIFIER_EXPANSION='⭐'
# AWS segment format. The following parameters are available within the expansion.
#
# - P9K_AWS_PROFILE The name of the current AWS profile.
# - P9K_AWS_REGION The region associated with the current AWS profile.
typeset -g POWERLEVEL9K_AWS_CONTENT_EXPANSION='${P9K_AWS_PROFILE//\%/%%}${P9K_AWS_REGION:+ ${P9K_AWS_REGION//\%/%%}}'
#[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]# #[ aws_eb_env: aws elastic beanstalk environment (https://aws.amazon.com/elasticbeanstalk/) ]#
# AWS Elastic Beanstalk environment color. # AWS Elastic Beanstalk environment color.
typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70 typeset -g POWERLEVEL9K_AWS_EB_ENV_FOREGROUND=70
@@ -1293,18 +1423,47 @@
# typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_AWS_EB_ENV_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]########## ##########[ azure: azure account name (https://docs.microsoft.com/en-us/cli/azure) ]##########
# Show azure only when the the command you are typing invokes one of these tools. # Show azure only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show azure. # Tip: Remove the next line to always show azure.
typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi' typeset -g POWERLEVEL9K_AZURE_SHOW_ON_COMMAND='az|terraform|pulumi|terragrunt'
# POWERLEVEL9K_AZURE_CLASSES is an array with even number of elements. The first element
# in each pair defines a pattern against which the current azure account name gets matched.
# More specifically, it's P9K_CONTENT prior to the application of context expansion (see below)
# that gets matched. If you unset all POWERLEVEL9K_AZURE_*CONTENT_EXPANSION parameters,
# you'll see this value in your prompt. The second element of each pair in
# POWERLEVEL9K_AZURE_CLASSES defines the account class. Patterns are tried in order. The
# first match wins.
#
# For example, given these settings:
#
# typeset -g POWERLEVEL9K_AZURE_CLASSES=(
# '*prod*' PROD
# '*test*' TEST
# '*' OTHER)
#
# If your current azure account is "company_test", its class is TEST because "company_test"
# doesn't match the pattern '*prod*' but does match '*test*'.
#
# You can define different colors, icons and content expansions for different classes:
#
# typeset -g POWERLEVEL9K_AZURE_TEST_FOREGROUND=28
# typeset -g POWERLEVEL9K_AZURE_TEST_VISUAL_IDENTIFIER_EXPANSION='⭐'
# typeset -g POWERLEVEL9K_AZURE_TEST_CONTENT_EXPANSION='> ${P9K_CONTENT} <'
typeset -g POWERLEVEL9K_AZURE_CLASSES=(
# '*prod*' PROD # These values are examples that are unlikely
# '*test*' TEST # to match your needs. Customize them as needed.
'*' OTHER)
# Azure account name color. # Azure account name color.
typeset -g POWERLEVEL9K_AZURE_FOREGROUND=32 typeset -g POWERLEVEL9K_AZURE_OTHER_FOREGROUND=32
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_AZURE_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_AZURE_OTHER_VISUAL_IDENTIFIER_EXPANSION='⭐'
##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]########### ##########[ gcloud: google cloud account and project (https://cloud.google.com/) ]###########
# Show gcloud only when the the command you are typing invokes one of these tools. # Show gcloud only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show gcloud. # Tip: Remove the next line to always show gcloud.
typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs' typeset -g POWERLEVEL9K_GCLOUD_SHOW_ON_COMMAND='gcloud|gcs|gsutil'
# Google cloud color. # Google cloud color.
typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32 typeset -g POWERLEVEL9K_GCLOUD_FOREGROUND=32
@@ -1320,7 +1479,7 @@
# P9K_GCLOUD_PROJECT_ID | gcloud config get-value project # P9K_GCLOUD_PROJECT_ID | gcloud config get-value project
# P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)' # P9K_GCLOUD_PROJECT_NAME | gcloud projects describe $P9K_GCLOUD_PROJECT_ID --format='value(name)'
# #
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced with '%%'. # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced with '%%'.
# #
# Obtaining project name requires sending a request to Google servers. This can take a long time # Obtaining project name requires sending a request to Google servers. This can take a long time
# and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud # and even fail. When project name is unknown, P9K_GCLOUD_PROJECT_NAME is not set and gcloud
@@ -1343,9 +1502,9 @@
# typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_GCLOUD_VISUAL_IDENTIFIER_EXPANSION='⭐'
#[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]# #[ google_app_cred: google application credentials (https://cloud.google.com/docs/authentication/production) ]#
# Show google_app_cred only when the the command you are typing invokes one of these tools. # Show google_app_cred only when the command you are typing invokes one of these tools.
# Tip: Remove the next line to always show google_app_cred. # Tip: Remove the next line to always show google_app_cred.
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi' typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_SHOW_ON_COMMAND='terraform|pulumi|terragrunt'
# Google application credentials classes for the purpose of using different colors, icons and # Google application credentials classes for the purpose of using different colors, icons and
# expansions with different credentials. # expansions with different credentials.
@@ -1393,9 +1552,19 @@
# P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id # P9K_GOOGLE_APP_CRED_PROJECT_ID | project_id
# P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email # P9K_GOOGLE_APP_CRED_CLIENT_EMAIL | client_email
# #
# Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurences of '%' replaced by '%%'. # Note: ${VARIABLE//\%/%%} expands to ${VARIABLE} with all occurrences of '%' replaced by '%%'.
typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}' typeset -g POWERLEVEL9K_GOOGLE_APP_CRED_DEFAULT_CONTENT_EXPANSION='${P9K_GOOGLE_APP_CRED_PROJECT_ID//\%/%%}'
##############[ toolbox: toolbox name (https://github.com/containers/toolbox) ]###############
# Toolbox color.
typeset -g POWERLEVEL9K_TOOLBOX_FOREGROUND=178
# Don't display the name of the toolbox if it matches fedora-toolbox-*.
typeset -g POWERLEVEL9K_TOOLBOX_CONTENT_EXPANSION='${P9K_TOOLBOX_NAME:#fedora-toolbox-*}'
# Custom icon.
# typeset -g POWERLEVEL9K_TOOLBOX_VISUAL_IDENTIFIER_EXPANSION='⭐'
# Custom prefix.
# typeset -g POWERLEVEL9K_TOOLBOX_PREFIX='%248Fin '
###############################[ public_ip: public IP address ]############################### ###############################[ public_ip: public IP address ]###############################
# Public IP color. # Public IP color.
typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94 typeset -g POWERLEVEL9K_PUBLIC_IP_FOREGROUND=94
@@ -1410,7 +1579,7 @@
typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION= typeset -g POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION=
# Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN # Regular expression for the VPN network interface. Run `ifconfig` or `ip -4 a show` while on VPN
# to see the name of the interface. # to see the name of the interface.
typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(wg|(.*tun))[0-9]*' typeset -g POWERLEVEL9K_VPN_IP_INTERFACE='(gpd|wg|(.*tun)|tailscale)[0-9]*|(zt.*)'
# If set to true, show one segment per matching network interface. If set to false, show only # If set to true, show one segment per matching network interface. If set to false, show only
# one segment corresponding to the first matching network interface. # one segment corresponding to the first matching network interface.
# Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION. # Tip: If you set it to true, you'll probably want to unset POWERLEVEL9K_VPN_IP_CONTENT_EXPANSION.
@@ -1424,17 +1593,19 @@
# The following parameters are accessible within the expansion: # The following parameters are accessible within the expansion:
# #
# Parameter | Meaning # Parameter | Meaning
# ----------------------+--------------- # ----------------------+-------------------------------------------
# P9K_IP_IP | IP address # P9K_IP_IP | IP address
# P9K_IP_INTERFACE | network interface # P9K_IP_INTERFACE | network interface
# P9K_IP_RX_BYTES | total number of bytes received # P9K_IP_RX_BYTES | total number of bytes received
# P9K_IP_TX_BYTES | total number of bytes sent # P9K_IP_TX_BYTES | total number of bytes sent
# P9K_IP_RX_RATE | receive rate (since last prompt) # P9K_IP_RX_BYTES_DELTA | number of bytes received since last prompt
# P9K_IP_TX_RATE | send rate (since last prompt) # P9K_IP_TX_BYTES_DELTA | number of bytes sent since last prompt
# P9K_IP_RX_RATE | receive rate (since last prompt)
# P9K_IP_TX_RATE | send rate (since last prompt)
typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP' typeset -g POWERLEVEL9K_IP_CONTENT_EXPANSION='${P9K_IP_RX_RATE:+%70F⇣$P9K_IP_RX_RATE }${P9K_IP_TX_RATE:+%215F⇡$P9K_IP_TX_RATE }%38F$P9K_IP_IP'
# Show information for the first network interface whose name matches this regular expression. # Show information for the first network interface whose name matches this regular expression.
# Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces. # Run `ifconfig` or `ip -4 a show` to see the names of all network interfaces.
typeset -g POWERLEVEL9K_IP_INTERFACE='e.*' typeset -g POWERLEVEL9K_IP_INTERFACE='[ew].*'
# Custom icon. # Custom icon.
# typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐' # typeset -g POWERLEVEL9K_IP_VISUAL_IDENTIFIER_EXPANSION='⭐'
@@ -1453,7 +1624,7 @@
# Show battery in yellow when it's discharging. # Show battery in yellow when it's discharging.
typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178 typeset -g POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND=178
# Battery pictograms going from low to high level of charge. # Battery pictograms going from low to high level of charge.
typeset -g POWERLEVEL9K_BATTERY_STAGES=('%K{232}▁' '%K{232}▂' '%K{232}▃' '%K{232}▄' '%K{232}▅' '%K{232}▆' '%K{232}▇' '%K{232}█') typeset -g POWERLEVEL9K_BATTERY_STAGES='\UF008E\UF007A\UF007B\UF007C\UF007D\UF007E\UF007F\UF0080\UF0081\UF0082\UF0079'
# Don't show the remaining time to charge/discharge. # Don't show the remaining time to charge/discharge.
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
@@ -1477,15 +1648,11 @@
# Parameter | Meaning # Parameter | Meaning
# ----------------------+--------------- # ----------------------+---------------
# P9K_WIFI_SSID | service set identifier, a.k.a. network name # P9K_WIFI_SSID | service set identifier, a.k.a. network name
# P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none" # P9K_WIFI_LINK_AUTH | authentication protocol such as "wpa2-psk" or "none"; empty if unknown
# P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second # P9K_WIFI_LAST_TX_RATE | wireless transmit rate in megabits per second
# P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0 # P9K_WIFI_RSSI | signal strength in dBm, from -120 to 0
# P9K_WIFI_NOISE | noise in dBm, from -120 to 0 # P9K_WIFI_NOISE | noise in dBm, from -120 to 0
# P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE) # P9K_WIFI_BARS | signal strength in bars, from 0 to 4 (derived from P9K_WIFI_RSSI and P9K_WIFI_NOISE)
#
# All parameters except P9K_WIFI_BARS are extracted from the output of the following command:
#
# /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I
####################################[ time: current time ]#################################### ####################################[ time: current time ]####################################
# Current time color. # Current time color.
@@ -1499,7 +1666,7 @@
# Custom icon. # Custom icon.
typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION= typeset -g POWERLEVEL9K_TIME_VISUAL_IDENTIFIER_EXPANSION=
# Custom prefix. # Custom prefix.
# typeset -g POWERLEVEL9K_TIME_PREFIX='%246Fat ' # typeset -g POWERLEVEL9K_TIME_PREFIX='%248Fat '
# Example of a user-defined prompt segment. Function prompt_example will be called on every # Example of a user-defined prompt segment. Function prompt_example will be called on every
# prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or # prompt if `example` prompt segment is added to POWERLEVEL9K_LEFT_PROMPT_ELEMENTS or
@@ -1552,7 +1719,7 @@
# - verbose: Enable instant prompt and print a warning when detecting console output during # - verbose: Enable instant prompt and print a warning when detecting console output during
# zsh initialization. Choose this if you've never tried instant prompt, haven't # zsh initialization. Choose this if you've never tried instant prompt, haven't
# seen the warning, or if you are unsure what this all means. # seen the warning, or if you are unsure what this all means.
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
# Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized. # Hot reload allows you to change POWERLEVEL9K options after Powerlevel10k has been initialized.
# For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload # For example, you can type POWERLEVEL9K_BACKGROUND=red and see your prompt turn red. Hot reload

View File

@@ -1,4 +1,50 @@
export EDITOR=/usr/bin/nvim # Basic config
xset r rate 200 35 # set key repeat delay and rate
# Clean Up Home Directory
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_STATE_HOME="$HOME/.local/state"
export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME/jupyter"
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME/java"
export CUDA_CACHE_PATH="$XDG_CACHE_HOME/nv"
export WGETRC="$XDG_CONFIG_HOME/wgetrc"
alias vscodium='vscodium --extensions-dir "$XDG_DATA_HOME/vscode"'
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc-2.0"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"'
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
alias code='code --extensions-dir "$XDG_DATA_HOME/vscode"'
alias dict='dict -c "$XDG_CONFIG_HOME"/dict/dictrc '
export PATH="$PATH:$(gem env user_gemhome)/bin"
export PATH="$(yarn global bin):$PATH"
# THEME
export QT_QPA_PLATFORMTHEME="qt5ct" export QT_QPA_PLATFORMTHEME="qt5ct"
export QT_AUTO_SCREEN_SCALE_FACTOR=0 export QT_AUTO_SCREEN_SCALE_FACTOR=0
export GTK2_RC_FILES="$HOME/.gtkrc-2.0" # global theme colors
export BLACK="#272822"
export WHITE="#FFFFFF"
export RED="#F92672"
export BLUE="#66D9EF"
export GREEN="#A6E22E"
export ORANGE="#FD971F"
export YELLOW="#E6DB74"
export PURPLE="#AE81FF"
export FONT="Noto"
export FONTSIZE="12"
# default applications
export EDITOR=/usr/bin/nvim
export BROWSER=/usr/bin/firefox
export TERMINAL=/usr/bin/alacritty
export EXPLORER=/usr/bin/thunar
export MAILCLIENT=/usr/bin/thunderbird
# set BAT as man pager
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
export MANROFFOPT="-c"

15
.timetrap.yml Normal file
View File

@@ -0,0 +1,15 @@
---
database_file: "/home/en/Nextcloud/timetrap.db"
round_in_seconds: 900
append_notes_delimiter: " "
formatter_search_paths:
- "/home/en/.timetrap/formatters"
default_formatter: text
auto_sheet: nested_dotfiles
auto_sheet_search_paths:
- "/home/en/.timetrap/auto_sheets"
default_command:
auto_checkout: false
require_note: false
note_editor: false
week_start: Monday

53
.zshrc
View File

@@ -1,18 +1,34 @@
# 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"
else;
fi
source ~/.profile
source ~/.p10k.zsh
source $XDG_CONFIG_HOME/shell/alias.sh
#[[ ! -f "$ZDOTDIR/.p10k.zsh" ]] || source "$ZDOTDIR/.p10k.zsh" # To customize prompt, run `p10k configure` or edit ~/.config/zsh/p10k.zsh
#eval "$(starship init zsh)" # starship.rs prompt to replace p10k
#OPTIONS SECTION #OPTIONS SECTION
#unsetopt beep # try disabling annoying beep sounds #unsetopt beep # try disabling annoying beep sounds
setopt nobeep setopt nobeep
xset b off xset b off
fpath+=~/.zfunc # add custom completions here
autoload -Uz compinit # load completion autoload -Uz compinit # load completion
compinit compinit
_comp_options+=(globdots) # Include hidden files. _comp_options+=(globdots) # Include hidden files.
eval "$(zoxide init zsh)"
setopt autocd # allow cd by only entering directory without cd command setopt autocd # allow cd by only entering directory without cd command
setopt extendedglob # Extended globbing. Allows using regular expressions with * setopt extendedglob # Extended globbing. Allows using regular expressions with *
setopt correct # Auto correct mistakes setopt correct # Auto correct mistakes
setopt numericglobsort # Sort filenames numerically when it makes sense setopt numericglobsort # Sort filenames numerically when it makes sense
setopt appendhistory # Immediately append history instead of overwriting setopt appendhistory # Immediately append history instead of overwriting
setopt sharehistory
export HISTSIZE=10000
export SAVEHIST=10000
HISTFILE=~/.history HISTFILE=~/.history
zstyle ':completion:*' special-dirs true # complete hidden directories zstyle ':completion:*' special-dirs true # complete hidden directories
@@ -57,21 +73,6 @@ WORDCHARS=${WORDCHARS//\/[&.;]} # Don't con
#ALIAS SECTION
alias ls='ls -hN --group-directories-first --color=auto' # make output more readable and show directories first
alias grep='grep --color=auto' # colorize grep output, set GREP_COLORS
alias cp="cp -i" # Confirm before overwriting something
alias df='df -h' # Human-readable sizes
alias free='free -m'
alias vi='nvim' # Show sizes in MB
alias ll='ls -l'
alias la='ls -a'
# Add an "alert" alias for long running commands. Use like so: 'sleep 10; alert'
alias notify='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
#Add a "dotfiles" alias for .dotfile git repo
alias dotfiles='git --git-dir=$HOME/.dotfiles/ --work-tree=$HOME'
#alias 'dotfiles-update'='dotfiles commit -a && dotfiles push'
#KEYBINDINGS SECTION (use 'cat -v' or 'od -c' to see raw keyboard output) #KEYBINDINGS SECTION (use 'cat -v' or 'od -c' to see raw keyboard output)
@@ -106,7 +107,7 @@ source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zs
#ZSH_HIGHLIGHT_STYLES[builtin]=fg=white,bold #ZSH_HIGHLIGHT_STYLES[builtin]=fg=white,bold
#ZSH_HIGHLIGHT_STYLES[function]=fg=white,bold #ZSH_HIGHLIGHT_STYLES[function]=fg=white,bold
#ZSH_HIGHLIGHT_STYLES[command]=fg=white,bold #ZSH_HIGHLIGHT_STYLES[command]=fg=white,bold
ZSH_HIGHLIGHT_STYLES[precommand]=fg=#eaff00,bold #ZSH_HIGHLIGHT_STYLES[precommand]=fg=#eaff00,bold
#ZSH_HIGHLIGHT_STYLES[commandseparator]=none #ZSH_HIGHLIGHT_STYLES[commandseparator]=none
#ZSH_HIGHLIGHT_STYLES[hashed-command]=fg=009 #ZSH_HIGHLIGHT_STYLES[hashed-command]=fg=009
#ZSH_HIGHLIGHT_STYLES[path]=fg=214,underline #ZSH_HIGHLIGHT_STYLES[path]=fg=214,underline
@@ -121,14 +122,13 @@ source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zs
#ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=009 #ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]=fg=009
#ZSH_HIGHLIGHT_STYLES[assign]=none #ZSH_HIGHLIGHT_STYLES[assign]=none
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # load fish-completion, needs to be sourced after syntax highlighting source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # load fish-completion, needs to be sourced after syntax highlighting
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#737373,bg=translucent" ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#737373,bg=translucent"
source <(fzf --zsh)
#random stuff #random stuff
@@ -137,18 +137,3 @@ source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # l
#zstyle ':completion:*' original true #zstyle ':completion:*' original true
#zstyle :compinstall filename '/home/en/.zshrc' #zstyle :compinstall filename '/home/en/.zshrc'
#if [[ -f ~/.dircolors ]] ; then
# eval $(dircolors -b ~/.dircolors)
#elif [[ -f /etc/DIR_COLORS ]] ; then
# eval $(dircolors -b /etc/DIR_COLORS)
#fi