update dotfiles

This commit is contained in:
David Aizenberg
2025-11-26 23:17:33 +01:00
parent 6814e099ad
commit 80e865f496
46 changed files with 1549 additions and 1 deletions

View File

@@ -0,0 +1,47 @@
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
#back-button, #forward-button { display: none; }
:root {
--uc-bg-color: #fff;
--uc-show-new-tab-button: none;
--uc-show-tab-separators: none;
--uc-tab-separators-color: none;
--uc-tab-separators-width: none;
--uc-tab-fg-color: #000;
--uc-mg-color: #F5F6F7;
}
/* Options with pixel amounts could need to be adjusted, as this only works for my laptop's display */
#titlebar {
-moz-box-ordinal-group: 2 !important;
}
#nav-bar {
margin-left: 0vw !important;
}
#TabsToolbar {
min-height: 28px !important;
}
#TabsToolbar > .toolbar-items {
margin-left: 0px !important;
}
.tabbrowser-tab:not([pinned]){
max-width: 100vw !important;
}
.tabbrowser-tab:not([fadein]),
#page-action-buttons,
.titlebar-spacer,
.tab-line,
#tracking-protection-icon-container,
#back-button,
#forward-button,
#tabs-newtab-button {
display: none !important;
}
.tab-close-button.close-icon {
display: none !important;
}
#navigator-toolbox {
border-bottom: 0px solid red !important;
background: var(--uc-bg-color) !important;
}

227
legacy/desktop/i3/config Normal file
View File

@@ -0,0 +1,227 @@
# This file has been auto-generated by i3-config-wizard(1).
# It will not be overwritten, so edit it as you like.
#
# Should you change your keyboard layout some time, delete
# this file and re-run i3-config-wizard(1).
#
# i3 config file (v4)
#
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod1
set $super Mod4
# Font for window titles. Will also be used by the bar unless a different font
# is used in the bar {} block below.
font pango:monospace 10
#exec feh --bg-fill /home/david/Pictures/Wallpapers/ellie_full.jpg
exec feh --bg-fill /home/david/Pictures/wall.png
exec setxkbmap -layout gb,ru -variant ,winkeys -option grp:caps_toggle,grp_led:scroll,terminate:ctrl_alt_bksp,compose:ralt
exec dunst
exec xbindkeys
exec pasystray
exec clipit
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
#font pango:DejaVu Sans Mono 8
# Before i3 v4.8, we used to recommend this one as the default:
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# The font above is very space-efficient, that is, it looks good, sharp and
# clear in small sizes. However, its unicode glyph coverage is limited, the old
# X core fonts rendering does not support right-to-left and this being a bitmap
# font, it doesnt scale on retina/hidpi displays.
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Pulse Audio controls
#bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% #increase sound volume
#bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% #decrease sound volume
#bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound
bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+ #increase sound volume
bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%- #decrease sound volume
bindsym XF86AudioMute exec amixer -D pulse set Master 1+ toggle # mute sound
bindsym $super+bracketright exec pactl set-sink-volume 0 +5% #increase sound volume
bindsym $super+bracketleft exec pactl set-sink-volume 0 -5% #decrease sound volume
bindsym $super+p exec pactl set-sink-mute 0 toggle # mute sound
bindsym XF86MonBrightnessUp exec xbacklight -inc 10 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 10 # decrease screen brightness
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
bindsym $mod+Shift+w xdotool getwindowfocus windowkill
# start dmenu (a program launcher)
#bindsym $mod+d exec dmenu_run
bindsym $mod+d exec rofi -show run -modi run -theme Arc-Dark
bindsym $mod+Shift+d exec rofi -show drun -modi run -show-icons -theme Arc-Dark
bindsym F4 exec exec /home/david/dotfiles/scripts/rofi/rofi-openvpn.sh
bindsym F3 exec exec /home/david/dotfiles/scripts/rofi/rofi-ssh.sh
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
# change focus
bindsym $mod+h focus left
bindsym $mod+k focus down
bindsym $mod+j focus up
bindsym $mod+l focus right
# alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+k move down
bindsym $mod+Shift+j move up
bindsym $mod+Shift+l move right
# alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
bindsym $mod+F11 move workspace to output left
bindsym $mod+F12 move workspace to output right
# split in horizontal orientation
bindsym F8 split h
# split in vertical orientation
bindsym F9 split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
for_window [title="^scratchpad$"] border 1pixel, floating enable, move scratchpad
bindsym F1 [instance="scratchpad"] scratchpad show; sticky enable
exec kitty --title scratchpad --name scratchpad
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace firefox
bindsym $mod+2 workspace local
bindsym $mod+3 workspace remote
bindsym $mod+4 workspace ide
bindsym $mod+5 workspace debug
bindsym $mod+6 workspace fs
bindsym $mod+7 workspace archive
bindsym $mod+8 workspace junk
bindsym $mod+9 workspace track
bindsym $mod+0 workspace 10
bindsym $mod+c workspace tg
bindsym $mod+x workspace media
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace firefox
bindsym $mod+Shift+2 move container to workspace local
bindsym $mod+Shift+3 move container to workspace remote
bindsym $mod+Shift+4 move container to workspace ide
bindsym $mod+Shift+5 move container to workspace debug
bindsym $mod+Shift+6 move container to workspace fs
bindsym $mod+Shift+7 move container to workspace archive
bindsym $mod+Shift+8 move container to workspace junk
bindsym $mod+Shift+9 move container to workspace track
bindsym $mod+Shift+0 move container to workspace 10
bindsym $mod+Shift+c move container to workspace tg
bindsym $mod+Shift+x move container to workspace media
bindsym --release Print exec scrot --freeze -s '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f'
# mocp
#bindsym $mod+Shift+j exec "/usr/bin/mocp -G"
bindsym $mod+p exec "/usr/bin/mocp -G"
bindsym $mod+o exec "/usr/bin/mocp -f"
bindsym $mod+i exec "/usr/bin/mocp -r"
# Force mpv to left-most screen
for_window [class="mpv"] move to workspace media
bindsym $super+l exec i3lock -i /home/david/Pictures/wall.png & sleep 1 && xset dpms force off
#bindsym $super+l exec i3lock & sleep 1 && xset dpms force off
# reload the configuration file
bindsym $mod+Shift+t reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# Pressing left will shrink the windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows height.
bindsym j resize shrink width 10 px or 10 ppt
bindsym k resize grow height 10 px or 10 ppt
bindsym l resize shrink height 10 px or 10 ppt
bindsym semicolon resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
bar {
status_command i3blocks -c /home/david/dotfiles/i3blocks.conf </dev/null
colors {
statusline #FFFFFF
background #000000
#Border #Backgr #Font
focused_workspace #000000 #FFFFFF #000000
active_workspace #000000 #000000 #FFFFFF
inactive_workspace #000000 #000000 #FFFFFF
urgent_workspace #000000 #CB4F29 #FFFFFF
}
}
# class border backgr. text indicator
client.focused #000000 #FFFFFF #000000 #FFFFFF
client.focused_inactive #000000 #000000 #FFFFFF #000000
client.unfocused #000000 #000000 #FFFFFF #000000
client.urgent #000000 #000000 #ffffff #000000
client.placeholder #000000 #000000 #ffffff #000000

View File

@@ -0,0 +1,43 @@
[docker]
command= sh ~/dotfiles/scripts/docker.sh
color=#0db7ed
interval=10
[memory]
command= sh ~/dotfiles/scripts/memory.sh
label=MEM
interval=30
[disk]
command= sh ~/dotfiles/scripts/disk.sh
label=HOME:
interval=30
[wallet-info]
command= bash ~/dotfiles/scripts/erc20balance.sh
color=#91E78B
interval=240
# Guess the weather hourly
[weather]
command=curl -Ss 'https://wttr.in?0&T&Q' | cut -c 16- | head -2 | xargs echo
interval=3600
color=#A4C2F4
[covid]
command= sh ~/dotfiles/scripts/corona.sh
color=#ffffff
interval=240
[ip]
command=curl -s ip.me | awk '{ print "IP:" $1 }'
interval=once
signal=10
color=#91E78B
# Update time every 5 seconds
[time]
command=echo "🇱🇹 $(date +%H:%M) 🇺🇸 $(TZ="America/Los_Angeles" date +%H:%M) "
color=#ffffff
interval=10

View File

@@ -0,0 +1,13 @@
[Unit]
Description=Starts i3lock at suspend time
Before=sleep.target
[Service]
User=david
Type=forking
Environment=DISPLAY=:0
ExecStartPre=
ExecStart=i3lock -i /home/david/Pictures/wall.png
[Install]
WantedBy=sleep.target

View File

@@ -0,0 +1,62 @@
general {
colors = true
interval = 5
}
order += "ethernet enp37s0"
order += "path_exists VPN"
order += "load"
order += "disk /"
order += "tztime local"
order += "tztime london"
ethernet enp37s0 {
# if you use %speed, i3status requires the cap_net_admin capability
format_up = "eth: %ip (%speed)"
format_down = "eth"
}
battery all {
format = "%status %percentage %remaining %consumption"
format_down = "No battery"
last_full_capacity = true
status_chr = "⚡ CHR"
status_bat = "🔋 BAT"
status_unk = "? UNK"
status_full = "☻ FULL"
path = "/sys/class/power_supply/BAT%d/uevent"
low_threshold = 20
}
run_watch DHCP {
pidfile = "/var/run/dhclient*.pid"
}
run_watch VPNC {
# file containing the PID of a vpnc process
pidfile = "/var/run/vpnc/pid"
}
path_exists VPN {
# path exists when a VPN tunnel launched by nmcli/nm-applet is active
path = "/proc/sys/net/ipv4/conf/tun0"
}
tztime local {
format = "Day: %d Local: %H:%M"
}
tztime london {
format = "London: %H:%M"
timezone = "Europe/London"
}
load {
format = "%5min"
}
disk "/" {
format = "%free"
}

View File

@@ -0,0 +1,49 @@
layerblock
FN1 1 # FN1 is a virtual key and is not the same thing as a physical F1 function key.
endblock
remapblock
F13 ESC
ESC NUM_LOCK
NUM_LOCK PAD_SLASH
SCROLL_LOCK PAD_ASTERIX
EXTRA_SYSRQ PAD_MINUS
PAD_MINUS PAD_PLUS
PAD_PLUS PAD_ENTER
PAD_ASTERIX TAB
RALT LGUI
BACKSLASH EUROPE_2
F23 PRINTSCREEN
F24 SCROLL_LOCK
LANG_4 PAUSE
RALT FN1
endblock
remapblock
layer 1
BACKSLASH BACKSLASH
L EXSEL
E LGUI + E
D LGUI + D
RIGHT_BRACE MEDIA_VOLUME_UP
LEFT_BRACE MEDIA_VOLUME_DOWN
P MEDIA_MUTE
RCTRL F22
endblock
macroblock
macro EXSEL
PUSH_META SET_META LGUI
press L
POP_ALL_META
endmacro
macro F22
press 6
press 1
press ENTER
endmacro
endblock

View File

@@ -0,0 +1,256 @@
{
"name": "OLKB Preonic Rev3",
"vendorProductId": 61384265,
"macros": ["", "", "", "", "", "", "", "", "", "", "", "", "", "", "", ""],
"layers": [
[
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_ESC",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_LSFT",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_BSPC",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_DEL",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_ENT",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_QUOT",
"KC_CAPS",
"KC_CAPS",
"KC_LALT",
"KC_DOWN",
"KC_UP",
"KC_RGHT",
"KC_SPC",
"FN_MO23",
"KC_LEFT",
"KC_LGUI",
"FN_MO13",
"KC_SPC"
],
[
"S(KC_GRV)",
"S(KC_1)",
"S(KC_2)",
"S(KC_3)",
"S(KC_4)",
"S(KC_5)",
"S(KC_GRV)",
"S(KC_1)",
"S(KC_2)",
"S(KC_3)",
"S(KC_4)",
"S(KC_5)",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"S(KC_6)",
"S(KC_7)",
"S(KC_8)",
"S(KC_9)",
"S(KC_0)",
"KC_BSPC",
"S(KC_6)",
"S(KC_7)",
"S(KC_8)",
"S(KC_9)",
"S(KC_0)",
"KC_DEL",
"KC_F6",
"S(KC_MINS)",
"S(KC_EQL)",
"S(KC_LBRC)",
"S(KC_RBRC)",
"S(KC_BSLS)",
"KC_F12",
"S(KC_NUHS)",
"S(KC_NUBS)",
"KC_HOME",
"KC_END",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY",
"KC_TRNS",
"KC_TRNS",
"KC_MNXT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_DEL",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_6",
"KC_7",
"KC_8",
"S(KC_9)",
"S(KC_0)",
"KC_BSPC",
"KC_6",
"KC_7",
"KC_EQL",
"S(KC_LBRC)",
"S(KC_RBRC)",
"KC_DEL",
"KC_F6",
"S(KC_MINS)",
"S(KC_EQL)",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_F12",
"KC_NUHS",
"S(KC_1)",
"S(KC_SLSH)",
"KC_PCMM",
"KC_PDOT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_VOLD",
"KC_VOLU",
"KC_MPLY",
"KC_TRNS",
"KC_TRNS",
"KC_MNXT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_TRNS",
"RESET",
"DEBUG",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MU_MOD",
"AU_ON",
"AU_OFF",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MU_ON",
"MU_OFF",
"KC_TRNS",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_DEL",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"encoders": []
}

View File

@@ -0,0 +1,69 @@
env:
TERM: xterm-256color
LANG: "en_US.UTF-8"
key_bindings:
- {
key: Comma,
mods: Command,
command:
{
program: "sh",
args: ["-c", "open ~/.config/alacritty/alacritty.yml"],
},
}
- { key: N, mods: Command, action: SpawnNewInstance }
- { key: Space, mods: Alt, chars: " " }
- { key: Back, mods: Super, chars: "\x15" } # delete word/line
- { key: Left, mods: Alt, chars: "\x1bb" } # one word left
- { key: Right, mods: Alt, chars: "\x1bf" } # one word right
- { key: Left, mods: Command, chars: "\x1bOH" } # Home
- { key: Right, mods: Command, chars: "\x1bOF" } # End
- { key: PageUp, mods: Shift, action: ScrollPageUp }
- { key: PageDown, mods: Shift, action: ScrollPageDown }
- { key: End, mods: Shift, action: ScrollToBottom }
- { key: Home, mods: Shift, action: ScrollToTop }
- { key: End, mods: None, chars: "\x1bOF" }
- { key: Home, mods: None, chars: "\x1bOH" }
# Font configuration
font:
# Normal (roman) font face
normal:
family: "Menlo"
style: Regular
size: 20.0
use_thin_strokes: true
# If `true`, bold text is drawn using the bright color variants.
#draw_bold_text_with_bright_colors: true
colors:
name: Cloud
author: ""
primary:
background: "#000000"
foreground: "#ffffff"
cursor:
text: "#000000"
cursor: "#ffffff"
normal:
black: "#222827"
red: "#d5a8e3"
green: "#9c75dd"
yellow: "#9898ae"
blue: "#654a96"
magenta: "#625566"
cyan: "#a9d1df"
white: "#e6ebe5"
bright:
black: "#5d6f74"
red: "#cd749c"
green: "#63b0b0"
yellow: "#c0c0dd"
blue: "#5786bc"
magenta: "#3f3442"
cyan: "#849da2"
white: "#d9d6cf"
theme: Cloud

View File

@@ -0,0 +1,6 @@
#/bin/bash
#stat=$(curl -s "https://corona-stats.online/LT?minimal=true" | head -n 2 | tail -n 1 | awk '{print "SARS-CoV-2: Lithuania Total: " $6 " New: " $8 $9 " Active: " $17}' | sed 's/\x1b\[[0-9;]*m//g' )
stat=$(curl -s "https://corona-stats.online/LT?format=json" | jq '.data[0]' | jq '.cases, .todayCases, .active' | tr '\r\n' ' ' | awk '{print "🤧:" $2}')
echo "$stat"

View File

@@ -0,0 +1,9 @@
#/bin/bash
source ~/.secrets/ethplorer.api
#USDT=$(curl -s "https://api.ethplorer.io/getAddressInfo/$ETH_ADDR?apiKey=$ETH_API_KEY" | jq .tokens[0].balance)
USDT=$(curl -s "https://api.ethplorer.io/getAddressInfo/$ETH_ADDR?apiKey=$ETH_API_KEY" | jq -r '(."ETH".balance)*(."ETH"."price"."rate")')
echo ETH=${USDT%.*}$
#echo USDT: $(expr $USDT)$

49
legacy/scripts/disk.sh Executable file
View File

@@ -0,0 +1,49 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DIR="${DIR:-$BLOCK_INSTANCE}"
DIR="${DIR:-$HOME}"
ALERT_LOW="${ALERT_LOW:-$1}"
ALERT_LOW="${ALERT_LOW:-10}" # color will turn red under this value (default: 10%)
LOCAL_FLAG="-l"
if [ "$1" = "-n" ] || [ "$2" = "-n" ]; then
LOCAL_FLAG=""
fi
df -h -P $LOCAL_FLAG "$DIR" | awk -v label="$LABEL" -v alert_low=$ALERT_LOW '
/\/.*/ {
# full text
print label $4
# short text
print label $4
use=$5
# no need to continue parsing
exit 0
}
END {
gsub(/%$/,"",use)
if (100 - use < alert_low) {
# color
print "#FF0000"
}
}
'

12
legacy/scripts/docker.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
# Number of docker containers running
count=$(docker ps -q | wc -l | sed -r 's/^0$//g')
if [ "$count" = '' ]; then
count=0
fi
echo "🐳: $count"

70
legacy/scripts/memory.sh Executable file
View File

@@ -0,0 +1,70 @@
#!/bin/sh
# Copyright (C) 2014 Julien Bonjean <julien@bonjean.info>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
TYPE="${BLOCK_INSTANCE:-mem}"
awk -v type=$TYPE '
/^MemTotal:/ {
mem_total=$2
}
/^MemFree:/ {
mem_free=$2
}
/^Buffers:/ {
mem_free+=$2
}
/^Cached:/ {
mem_free+=$2
}
/^SwapTotal:/ {
swap_total=$2
}
/^SwapFree:/ {
swap_free=$2
}
END {
if (type == "swap") {
free=swap_free/1024/1024
used=(swap_total-swap_free)/1024/1024
total=swap_total/1024/1024
} else {
free=mem_free/1024/1024
used=(mem_total-mem_free)/1024/1024
total=mem_total/1024/1024
}
pct=0
if (total > 0) {
pct=used/total*100
}
# full text
printf("%.1fG/%.1fG (%.f%%)\n", used, total, pct)
# short text
printf("%.f%%\n", pct)
# color
if (pct > 90) {
print("#FF0000")
} else if (pct > 80) {
print("#FFAE00")
} else if (pct > 70) {
print("#FFF600")
}
}
' /proc/meminfo

22
legacy/scripts/moc_status.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/sh
STATE=$(mocp --format "%state")
MOC="$(mocp --format="%t - %a (%ct/%tt)")"
case $STATE in
"PLAY")
COLOR='#00AA00'
STATUS="▶"
;;
"PAUSE")
COLOR='#AAAA00'
STATUS="⏸"
;;
*)
MOC="Not playing"
COLOR='#AA0000'
STATUS=""
;;
esac
echo "${STATUS} ${MOC}"
echo "${STATUS} ${MOC}"
echo "$COLOR"

View File

@@ -0,0 +1,29 @@
#!/bin/bash
# David Aizenberg
# 2020
res=$(echo "SecurEdge|homelab|bohdan|Disconnect|Restart" | rofi -sep "|" -dmenu -i -p 'OpenVPN: ' "" -theme Arc-Dark -columns 9 -width 45 -l 1 -hide-scrollbar -eh 1 -location 0 -auto-select -no-fullscreen)
if [ "$res" = "SecurEdge" ]; then
sudo /usr/bin/systemctl stop openvpn@*
sudo /usr/bin/systemctl start openvpn@SecurEdge
elif [ "$res" = "homelab" ]; then
sudo /usr/bin/systemctl stop openvpn@*
sudo /usr/bin/systemctl start openvpn@homelab
elif [ "$res" = "bohdan" ]; then
sudo /usr/bin/systemctl stop openvpn@*
sudo /usr/bin/systemctl start openvpn@bogdan
elif [ "$res" = "Disconnect" ]; then
sudo /usr/bin/systemctl stop openvpn@*
elif [ "$res" = "Restart" ]; then
sudo /usr/bin/systemctl restart openvpn@*
fi
if [ ! -z "$res" ] && [ "$(pgrep -c i3blocks)" -gt 0 ]; then
sleep 2s
pkill -SIGRTMIN+10 i3blocks
sleep 2s
pkill -SIGRTMIN+10 i3blocks
fi
exit 0

26
legacy/scripts/rofi/rofi-ssh.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# David Aizenberg
# 2020
# hosts file format, comma separated
# hostname, port, pretty_name, path_to_key user
hostsFile='/home/david/.ssh/ssh.hosts'
lines=20
while read host; do
if [[ ! ${host:0:1} = \# ]]; then
if [ ! -z "$host" ]; then
hosts+=$(echo $host | awk -F, '{print $3}')'|'
fi
fi
done <$hostsFile
res=$(echo "${hosts::-1}" | rofi -sep "|" -dmenu -i -p 'SSH: ' "" -theme Arc-Dark -columns 1 -width 45 -l "$lines" -hide-scrollbar -eh1 -location 0 -auto-select -no-fullscreen)
if [ ! -z "$res" ]; then
connectString=$(cat $hostsFile | grep "$res" | awk -F, '{print "ssh " $5 "@" $1 " -p " $2 " -i " $4}')
xfce4-terminal -e "$connectString"
fi
exit 0

3
legacy/setup.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
exit 0

View File

@@ -0,0 +1,300 @@
#
# WMFS2 configuration file
#
# Possible file inclusion:
# @include "file"
# Multi theme section
[themes]
[theme]
# No name mean default
# name = "default"
font = "fixed"
# Bars
bars_width = 14
bars_fg = "#AABBAA"
bars_bg = "#223322"
# Element tags
tags_normal_fg = "#AABBAA"
tags_normal_bg = "#223322"
# tags_normal_statusline = ""
tags_sel_fg = "#223322"
tags_sel_bg = "#AABBAA"
# tags_sel_statusline = ""
tags_occupied_fg = "#AABBAA"
tags_occupied_bg = "#445544"
tags_occupied_statusline = "\R[0;0;100;1;#AABBAA]"
tags_urgent_fg = "#223322"
tags_urgent_bg = "#CC5544"
# tags_urgent_statusline = ""
tags_border_color = "#112211"
tags_border_width = 1
# Frame / Client
client_normal_fg = "#AABBAA"
client_normal_bg = "#223322"
client_normal_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
client_sel_fg = "#223322"
client_sel_bg = "#AABBAA"
client_sel_statusline = "\s[3;9;#121212;x] \s[2;8;#ff0000;x](1;client_close)"
# client_free_statusline = ""
frame_bg = "#555555"
client_titlebar_width = 12
client_border_width = 1
[/theme]
[/themes]
[bars]
# Position:
#
# 0 Top
# 1 Bottom
# 2 Hide
# Element type:
#
# t Tags
# s Statustext (will take available space)
# y Systray (can be set only ONE time among all element)
# l Launcher (will be expended at launcher use)
[bar]
position = 0
screen = 0
elements = "tlsy" # element order in bar
theme = "default"
[/bar]
# [bar]
# position = 0
# screen = 1
# elements = "ts"
# theme = "default"
# [/bar]
[/bars]
[tags]
# Tag wrapping navigation
circular = false
# Use no screen option or screen = -1 to set tag on each screen
[tag]
screen = -1
name = "Firefox"
# statusline=""
[/tag]
[tag] name = "Telegram" [/tag]
[tag] name = "Email" [/tag]
[tag] name = "Terminal" [/tag]
[tag] name = "Remote" [/tag]
[tag] name = "E-Farm" [/tag]
[tag] name = "Sublime" [/tag]
[tag] name = "mama" [/tag]
[tag] name = "ama" [/tag]
[tag] name = "hacker" [/tag]
[tag] name = "man" [/tag]
[tag] name = "-.-" [/tag]
[tag] name = "wow" [/tag]
[tag] name = "such" [/tag]
[tag] name = "terminal" [/tag]
[tag] name = "many" [/tag]
[tag] name = "tags" [/tag]
[tag] name = "very" [/tag]
[tag] name = "hacker" [/tag]
[tag] name = ":O" [/tag]
[tag] name = "Spotify" [/tag]
# Mousebinds associated to Tags element button
[mouse] button = "1" func = "tag_click" [/mouse]
[mouse] button = "4" func = "tag_next" [/mouse]
[mouse] button = "5" func = "tag_prev" [/mouse]
[/tags]
[client]
# Padding between clients (default: 0) :
#padding = 75
# Give focus to new created client (default = false)
autofocus = false
theme = "default"
key_modifier = "Super"
# Focus type:
# enter : focus follow mouse (default)
# click : click to focus
# everything-else : disable mouse focus support
focus = enter
[mouse] button = "1" func = "client_focus_click" [/mouse]
[mouse] button = "1" func = "mouse_swap" [/mouse]
[mouse] button = "2" func = "mouse_tab" [/mouse]
[mouse] button = "3" func = "mouse_resize" [/mouse]
[mouse] button = "4" func = "client_focus_next_tab" [/mouse]
[mouse] button = "5" func = "client_focus_prev_tab" [/mouse]
[/client]
[rules]
[rule]
# use instance = "*" for a all-clients rule
instance = "firefox"
# role = ""
# name = ""
# theme = "default"
tag = 0 # 2nd tag
screen = 0
free = false
tab = false
ignore_tag = false
[/rule]
[/rules]
[launchers]
# command can be an uicb function or an uicb function + extension (see example)
[launcher]
name = "exec"
prompt = "Run:"
# Example of uicb + ext:
# command = "spawn xterm -e"
command = "spawn"
width = 150
[/launcher]
[/launchers]
[keys]
[key] mod = {"Super"} key = "Return" func = "spawn" cmd = "terminator || xterm" [/key]
[key] mod = {"Control", "Alt"} key = "q" func = "quit" [/key]
[key] mod = {"Control", "Alt"} key = "r" func = "reload" [/key]
# Tag manipulation
[key] mod = {"Super"} key = "1" func = "tag_set" cmd = "0" [/key]
[key] mod = {"Super"} key = "2" func = "tag_set" cmd = "1" [/key]
[key] mod = {"Super"} key = "3" func = "tag_set" cmd = "2" [/key]
[key] mod = {"Super"} key = "4" func = "tag_set" cmd = "3" [/key]
[key] mod = {"Super"} key = "6" func = "tag_set" cmd = "55" [/key]
[key] mod = {"Super"} key = "e" func = "tag_set" cmd = "15" [/key]
[key] mod = {"Super"} key = "s" func = "tag_set" cmd = "6" [/key]
[key] mod = {"Super"} key = "7" func = "tag_set" cmd = "7" [/key]
[key] mod = {"Super"} key = "m" func = "tag_set" cmd = "20" [/key]
[key] mod = {"Super", "Shift"} key = "F1" func = "tag_client" cmd = "0" [/key]
[key] mod = {"Super", "Shift"} key = "F2" func = "tag_client" cmd = "1" [/key]
[key] mod = {"Super", "Shift"} key = "F3" func = "tag_client" cmd = "2" [/key]
[key] mod = {"Super", "Shift"} key = "F4" func = "tag_client" cmd = "3" [/key]
[key] mod = {"Super", "Shift"} key = "F5" func = "tag_client" cmd = "4" [/key]
[key] mod = {"Super", "Shift"} key = "F6" func = "tag_client" cmd = "5" [/key]
[key] mod = {"Super", "Shift"} key = "F7" func = "tag_client" cmd = "6" [/key]
[key] mod = {"Super", "Shift"} key = "F8" func = "tag_client" cmd = "7" [/key]
[key] mod = {"Super"} key = "minus" func = "tag_del" [/key]
[key] mod = {"Super", "Shift"} key = "minus" func = "tag_new" [/key]
# tag function: cmd = nameofthetag
#[key] mod = {"Super"} key = "z" func = "tag" cmd = "2" [/key]
[key] mod = {"Control"} key = "Right" func = "tag_next" [/key]
[key] mod = {"Control"} key = "Left" func = "tag_prev" [/key]
[key] mod = {"Control"} key = "Up" func = "screen_next" [/key]
[key] mod = {"Control"} key = "Down" func = "screen_prev" [/key]
[key] mod = {"Super"} key = "q" func = "client_close" [/key]
# Focus next / prev client and next / prev tabbed client
[key] mod = { "Alt" } key = "Tab" func = "client_focus_next" [/key]
[key] mod = { "Alt", "Shift" } key = "Tab" func = "client_focus_prev" [/key]
[key] mod = { "Super" } key = "Tab" func = "client_focus_next_tab" [/key]
[key] mod = { "Super", "Shift" } key = "Tab" func = "client_focus_prev_tab" [/key]
# Focus next client with direction
[key] mod = {"Alt"} key = "h" func = "client_focus_left" [/key]
[key] mod = {"Alt"} key = "l" func = "client_focus_right" [/key]
[key] mod = {"Alt"} key = "k" func = "client_focus_top" [/key]
[key] mod = {"Alt"} key = "j" func = "client_focus_bottom" [/key]
# swap next client with direction:
[key] mod = {"Control", "Shift"} key = "h" func = "client_swap_left" [/key]
[key] mod = {"Control", "Shift"} key = "l" func = "client_swap_right" [/key]
[key] mod = {"Control", "Shift"} key = "k" func = "client_swap_top" [/key]
[key] mod = {"Control", "Shift"} key = "j" func = "client_swap_bottom" [/key]
# Resize selected tiled client with direction
[key] mod = {"Super"} key = "h" func = "client_resize_left" cmd = "20" [/key]
[key] mod = {"Super"} key = "l" func = "client_resize_left" cmd = "-20" [/key]
[key] mod = {"Super"} key = "k" func = "client_resize_top" cmd = "20" [/key]
[key] mod = {"Super"} key = "j" func = "client_resize_top" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "h" func = "client_resize_right" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "l" func = "client_resize_right" cmd = "20" [/key]
[key] mod = {"Super", "Control"} key = "k" func = "client_resize_bottom" cmd = "-20" [/key]
[key] mod = {"Super", "Control"} key = "j" func = "client_resize_bottom" cmd = "20" [/key]
# Tabbing command
[key] mod = {"Alt", "Shift"} key = "h" func = "client_tab_left" [/key]
[key] mod = {"Alt", "Shift"} key = "l" func = "client_tab_right" [/key]
[key] mod = {"Alt", "Shift"} key = "k" func = "client_tab_top" [/key]
[key] mod = {"Alt", "Shift"} key = "j" func = "client_tab_bottom" [/key]
[key] mod = {"Alt", "Shift"} key = "u" func = "client_untab" [/key]
[key] mod = {"Super"} key = "t" func = "client_tab_next_opened" [/key]
# Layout manipulation
[key] mod = {"Super"} key = "m" func = "layout_vmirror" [/key]
[key] mod = {"Super", "Shift"} key = "m" func = "layout_hmirror" [/key]
[key] mod = {"Super"} key = "r" func = "layout_rotate_right" [/key]
[key] mod = {"Super", "Shift"} key = "r" func = "layout_rotate_left" [/key]
[key] mod = {"Control", "Super", "Alt"} key = "h" func = "layout_integrate_left" [/key]
[key] mod = {"Control", "Super", "Alt"} key = "j" func = "layout_integrate_bottom" [/key]
[key] mod = {"Control", "Super", "Alt"} key = "k" func = "layout_integrate_top" [/key]
[key] mod = {"Control", "Super", "Alt"} key = "l" func = "layout_integrate_right" [/key]
# Layout set historic travelling function (TESTING)
[key] mod = {"Super"} key = "o" func = "layout_prev_set" [/key]
[key] mod = {"Super", "Shift"} key = "o" func = "layout_next_set" [/key]
# Toggle client free/tile
[key] mod = {"Super"} key = "f" func = "client_toggle_free" [/key]
# Toggle client ignore_tag
[key] mod = {"Super", "Shift"} key = "f" func = "client_toggle_ignore_tag" [/key]
# Toggle infobar visibility
[key] mod = {"Super", "Shift"} key = "h" func = "infobar_toggle_hide" cmd = "default" [/key]
# Launcher
[key] mod = {"Super"} key = "p" func = "launcher" cmd = "exec" [/key]
[/keys]

190
legacy/shell/.bashrc Normal file
View File

@@ -0,0 +1,190 @@
################################
# 2018. WTFPL. #
#.bashrc by David Aizenberg #
# david.aizenberg@paranoici.org#
################################
#Exports
EDITOR=nvim
alias vim='nvim'
getCurrentSKMKey() {
if ! command -v skm &> /dev/null
then
echo "none"
else
skm ls | grep -e '->' | awk '{print $2}'
fi
}
export PS1='`date +'%H:%M'`:[\h]|\e[00;33m\]🔑`getCurrentSKMKey`\e[00;0m\]|`pwd` \n\[\e[00;32m\]\u\[\e[0m\]\[\e[00;37m\]$ '
#Aliases
alias ls='ls -hF --color' # add colors for filetype recognition
alias la='ls -Al' # show hidden files
alias tree='tree -Cs' # nice alternative to 'ls'
alias rm='rm -i' # better safe than sorry.
alias cp='cp -i' # ^
alias mv='mv -i' # ^
alias ..='cd ..' # convinient navigation
alias vi='vim' # Also convinient
alias lsblk='lsblk -o name,mountpoint,label,size,fstype,uuid | egrep -v "^loop"'
alias ss='sshch'
alias rtv='rtv --enable-media'
alias moc='mocp --theme=transparent-background'
alias dump="HASTE_SERVER=https://dump.aizenberg.co.uk haste"
alias ports='sudo netstat -nape --inet' #Network mon. aliases.
alias opennet='lsof -i'
alias ping='ping -c 4'
alias ns='sudo netstat -alnp --protocol=inet'
alias reload='source ~/.bashrc' # reload bash config.
alias kb="setxkbmap -layout gb,ru -option -option grp:caps_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
alias g='grep'
#Git specific aliases
alias store='git config credential.helper store'
alias gcl='git clone'
alias ga='git add'
alias gr='git reset HEAD'
alias gitwipe='git reset --hard && git clean -dfx'
alias get='git'
alias gst='git status'
alias pull='git pull'
alias push='git push'
alias commit='git commit -v -m'
alias checkout='git checkout'
alias master='git checkout master'
alias blame='git log --graph --pretty=oneline --abbrev-commit'
alias did="vim +'normal Go' +'r!date' ~/did.txt"
alias du="ncdu -rr -x --exclude .git --exclude node_modules"
alias fixtouch="xinput map-to-output 9 eDP-1"
#Automatically do an ls after each cd
cd() {
if [ -n "$1" ]; then
builtin cd "$@" && ls -hF
else
builtin cd ~ && ls -hF
fi
}
rain() {
curl -4 http://wttr.in/$1
}
# Logbook
# Idea taken from: https://news.ycombinator.com/item?id=17064520
lb() {
vim ~/Dropbox/logbooks/$(date '+%Y-%m-%d').md
}
# Get IP (call with myip)
alias myip="curl http://ipecho.net/plain; echo"
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
export PY_USER_BIN=$(python3 -c 'import site; print(site.USER_BASE + "/bin")')
export PATH=$PY_USER_BIN:$PATH
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# Yavide alias
alias yavide="gvim --servername yavide -f -N -u /opt/yavide/.vimrc"
# alias t="clear; python ~/t/t.py --task-dir ~/b2_sync/t --list tasks"
# alias tw="t | grep 'verify'"
alias t="clear; todoist list --filter '(overdue | today | tomorrow) | p1'"
# function ta() {
# t "$1"
# t
# }
# function tf() {
# t -f "$1"
# t
# }
# include .bashrc helpers if they exist (Non-Open Source helpers)
if [ -f $HOME/.bash_helpers ]; then
. $HOME/.bash_helpers
fi
alias genpass="apg -a 1 -M lnc -n 9 -m 26"
alias screen_record='bash screen_record.sh'
export GOPATH=$HOME/go
PATH=$GOPATH/bin:$PATH
source /etc/profile.d/go.sh
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
[[ -s "/etc/profile.d/grc.bashrc" ]] && source /etc/profile.d/grc.bashrc
alias repl="NODE_PATH=$(npm root -g) node"
# Scaleway CLI autocomplete initialization.
eval "$(scw autocomplete script shell=bash)"
# Reset bg to black
echo -e "\033]11;#000000\a"
# Generated for envman. Do not edit.
[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
# >>> mamba initialize >>>
# !! Contents within this block are managed by 'mamba init' !!
export MAMBA_EXE="/home/neo/.micromamba/bin/micromamba";
export MAMBA_ROOT_PREFIX="/home/neo/micromamba";
__mamba_setup="$('/home/neo/.micromamba/bin/micromamba' shell hook --shell bash --prefix '/home/neo/micromamba' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__mamba_setup"
else
if [ -f "/home/neo/micromamba/etc/profile.d/micromamba.sh" ]; then
. "/home/neo/micromamba/etc/profile.d/micromamba.sh"
else
export PATH="/home/neo/micromamba/bin:$PATH" # extra space after export prevents interference from conda init
fi
fi
unset __mamba_setup
# <<< mamba initialize <<<
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/neo/micromamba/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/neo/micromamba/etc/profile.d/conda.sh" ]; then
. "/home/neo/micromamba/etc/profile.d/conda.sh"
else
export PATH="/home/neo/micromamba/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<

1150
legacy/shell/.tmux.conf Normal file

File diff suppressed because it is too large Load Diff

152
legacy/shell/.vimrc Normal file
View File

@@ -0,0 +1,152 @@
" ################################
" # 2014. WTFPL. #
" #.vimrc by David Aizenberg #
" # david.aizenberg@paranoici.org#
" ################################
" put this line first in ~/.vimrc
set nocompatible | filetype indent plugin on | syn on
let g:ctrlp_user_command = ['.git', 'cd %s && git ls-files -co --exclude-standard']
let g:ctrlp_custom_ignore = 'node_modules\|DS_Store\|git'
let g:tpipeline_statusline = '%!tpipeline#stl#line()'
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'neoclide/coc.nvim'
Plugin 'preservim/nerdtree'
Plugin 'nvim-lua/plenary.nvim'
Plugin 'jose-elias-alvarez/null-ls.nvim'
Plugin 'nathanaelkane/vim-indent-guides'
"Plugin 'nvim-lualine/lualine.nvim'
Plugin 'kyazdani42/nvim-web-devicons'
Plugin 'Xuyuanp/nerdtree-git-plugin'
Plugin 'vim-airline/vim-airline'
" Plugin 'ryanoasis/vim-devicons'
"Plugin 'Raimondi/delimitMate'
Plugin 'ekalinin/Dockerfile.vim'
" Plugin 'godlygeek/tabular'
Plugin 'airblade/vim-gitgutter'
Plugin 'tpope/vim-fugitive'
" Plugin 'vimwiki/vimwiki'
Plugin 'ctrlpvim/ctrlp.vim'
Plugin 'LnL7/vim-nix'
call vundle#end()
let g:copilot_assume_mapped = v:true
imap <C-c> <CR><Esc>O
" This does what it says on the tin. It will check your file on open too, not
" just on save.
" " You might not want this, so just leave it out if you don't.
let g:syntastic_check_on_open=1
let g:ycm_add_preview_to_completeopt=0
let g:ycm_confirm_extra_conf=0
set completeopt-=preview
" Scrooloose/syntastic settings
let g:syntastic_error_symbol = '✘'
let g:syntastic_warning_symbol = "▲"
" Turn syntax highlight on.
syntax on
"for future use.
let mapleader = ","
"autocmd VimEnter * NERDTree
"bind Ctrl + E as a Toggle for NERDTree
map <C-e> :NERDTreeToggle<CR>
"Configure vim to backup files, might save sometime, definitely will not hurt.
set backup
set backupdir=~/.vim/backup
set directory=~/.vim/tmp
set autochdir
let g:NERDTreeGitStatusIndicatorMapCustom = {
\ 'Modified' :'✹',
\ 'Staged' :'✚',
\ 'Untracked' :'✭',
\ 'Renamed' :'➜',
\ 'Unmerged' :'═',
\ 'Deleted' :'✖',
\ 'Dirty' :'✗',
\ 'Ignored' :'☒',
\ 'Clean' :'✔︎',
\ 'Unknown' :'?',
\ }
" Make Vim highlight current line
set cul
" Enable line Numbers on left, and set their colour.
set number
highlight LineNr ctermfg=grey
" map F5 to inserting the time/date
nnoremap <F5> "=strftime("%I:%M %p %a %d/%m/%Y")<CR>p
inoremap <F5> <C-R>=strftime("%I:%M %p %a %d/%m/%Y")<CR>
"set list " show invisible characters
set mouse=a " try to use a mouse in the console (wimp!)
set autoindent " set the cursor at same indent as line above
set smartindent " try to be smart about indenting (C-style)
set noexpandtab
" ###############################
" # Language Dependent settings #
" ###############################
" Shell
autocmd FileType sh setlocal expandtab shiftwidth=4 tabstop=8 softtabstop=4
" Python
autocmd FileType python setlocal tabstop=1 shiftwidth=1 expandtab number
autocmd FileType python map <buffer> <F9> :w<CR>:exec '!python3' shellescape(@%, 1)<CR>
" Ruby
autocmd FileType ruby setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2
" PHP
autocmd FileType php setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
" X?HTML & XML
autocmd FileType html,xhtml,xml setlocal expandtab shiftwidth=2 tabstop=2 softtabstop=2
" JS
autocmd FileType javascript setlocal equalprg=js-beautify\ --stdin
autocmd FileType javascript map <buffer> <F9> :w<CR>:exec '!node' shellescape(@%, 1)<CR>
" CSS
autocmd FileType css setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
" Makefiles
autocmd FileType make setlocal noexpandtab
" JavaScript
" autocmd BufRead,BufNewFile *.json setfiletype javascript
autocmd FileType javascript setlocal expandtab shiftwidth=4 tabstop=4 softtabstop=4
let python_highlight_all = 1
let javascript_enable_domhtmlcss=1
filetype plugin indent on
set autoindent
" Set 256 colour mode and Theme.
set t_Co=256
colorscheme mustang
" colorscheme desert

36
legacy/shell/.xinitrc Normal file
View File

@@ -0,0 +1,36 @@
#!/usr/bin/env bash
#if [ -d /etc/X11/xinit/xinitrc.d ]; then
# for f in /etc/X11/xinit/xinitrc.d/*; do
# [ -x "$f" ] && . "$f"
# done
# unset f
#fi
#
[[ -f ~/.Xresources ]] && xrdb -merge "${HOME}/.Xresources"
# this let you toggle between different keyboard layouts
setxkbmap -option grp:alt_shift_toggle us,it
sh ./.fehbg &
# Start a D-Bus session
source /etc/X11/xinit/xinitrc.d/30-dbus
# Start GNOME Keyring
eval $(/usr/bin/gnome-keyring-daemon --start --components=gpg,pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
export GPG_AGENT_INFO
export GNOME_KEYRING_CONTROL
export GNOME_KEYRING_PID
export OOO_FORCE_DESKTOP=gnome
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LANGUAGE="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"
export TERMINAL='gnome-terminal'
# exec xrandr --output DP1 --primary
# Launch i3 window manager
eval $(dbus-launch --sh-syntax)
export XDG_CURRENT_DESKTOP=GNOME
exec i3

126
legacy/shell/.zimrc Normal file
View File

@@ -0,0 +1,126 @@
# Start configuration added by Zim install {{{
#
# This is not sourced during shell startup, and it's only used to configure the
# zimfw plugin manager.
#
#
# Modules
#
# Sets sane Zsh built-in environment options.
zmodule environment
# Provides handy git aliases and functions.
zmodule git
# Applies correct bindkeys for input events.
zmodule input
# Sets a custom terminal title.
zmodule termtitle
# Utility aliases and functions. Adds colour to ls, grep and less.
zmodule utility
zmodule fzf
#zmodule pyenv
zmodule ssh
zmodule zsh-users/zsh-completions --fpath src
zmodule completion
zmodule zsh-users/zsh-syntax-highlighting
zmodule zsh-users/zsh-autosuggestions
#
# Prompt
#
# Exposes to prompts how long the last command took to execute, used by asciiship.
zmodule duration-info
# Exposes git repository status information to prompts, used by asciiship.
zmodule git-info
# A heavily reduced, ASCII-only version of the Spaceship and Starship prompts.
zmodule asciiship
#
# Completion
#
# Additional completion definitions for Zsh.
zmodule zsh-users/zsh-completions --fpath src
# Enables and configures smart and extensive tab completion.
# completion must be sourced after all modules that add completion definitions.
zmodule completion
#
# Modules that must be initialized last
#
# Fish-like syntax highlighting for Zsh.
# zsh-users/zsh-syntax-highlighting must be sourced after completion
zmodule zsh-users/zsh-syntax-highlighting
# Fish-like history search (up arrow) for Zsh.
# zsh-users/zsh-history-substring-search must be sourced after zsh-users/zsh-syntax-highlighting
zmodule zsh-users/zsh-history-substring-search
# Fish-like autosuggestions for Zsh.
zmodule zsh-users/zsh-autosuggestions
# }}} End configuration added by Zim install
# Start configuration added by Zim install {{{
#
# This is not sourced during shell startup, and it's only used to configure the
# zimfw plugin manager.
#
#
# Modules
#
# Sets sane Zsh built-in environment options.
zmodule environment
# Provides handy git aliases and functions.
zmodule git
# Applies correct bindkeys for input events.
zmodule input
# Sets a custom terminal title.
zmodule termtitle
# Utility aliases and functions. Adds colour to ls, grep and less.
zmodule utility
#
# Prompt
#
# Exposes to prompts how long the last command took to execute, used by asciiship.
zmodule duration-info
# Exposes git repository status information to prompts, used by asciiship.
zmodule git-info
# A heavily reduced, ASCII-only version of the Spaceship and Starship prompts.
zmodule asciiship
#
# Completion
#
# Additional completion definitions for Zsh.
zmodule zsh-users/zsh-completions --fpath src
# Enables and configures smart and extensive tab completion.
# completion must be sourced after all modules that add completion definitions.
zmodule completion
#
# Modules that must be initialized last
#
# Fish-like syntax highlighting for Zsh.
# zsh-users/zsh-syntax-highlighting must be sourced after completion
zmodule zsh-users/zsh-syntax-highlighting
# Fish-like history search (up arrow) for Zsh.
# zsh-users/zsh-history-substring-search must be sourced after zsh-users/zsh-syntax-highlighting
zmodule zsh-users/zsh-history-substring-search
# Fish-like autosuggestions for Zsh.
zmodule zsh-users/zsh-autosuggestions
# }}} End configuration added by Zim install
zmodule https://github.com/joke/zim-kubectl.git

177
legacy/shell/.zshrc Normal file
View File

@@ -0,0 +1,177 @@
################################
# WTFPL. #
# .zshrc of David Aizenberg #
# david.aizenberg@paranoici.org#
################################
#Exports
EDITOR=nvim
# Set Terminal Background so I know I'm SSH'd
echo -e "\033]11;#141414\a"
alias vim='nvim'
alias ls='ls -hF --color' # add colors for filetype recognition
alias la='ls -Al' # show hidden files
alias tree='tree -Cs' # nice alternative to 'ls'
alias rm='rm -i' # better safe than sorry.
alias cp='cp -i' # ^
alias mv='mv -i' # ^
alias ..='cd ..' # convenience
alias vi='vim' # It ain't 1977 anymore
alias lsblk='lsblk -o name,mountpoint,label,size,fstype,uuid | egrep -v "^loop"'
alias ports='sudo netstat -nape --inet' #Network mon.
alias opennet='lsof -i'
alias ping4='ping -c 4'
alias ns='sudo netstat -alnp --protocol=inet'
alias did="vim +'normal Go' +'r!date' ~/did.txt"
alias genpass="apg -a 1 -M lnc -n 9 -m 26"
export GOPATH=$HOME/go
PATH=$GOPATH/bin:/home/neo/mongoClient::$PATH
source /etc/profile.d/go.sh
source ~/.private.env
export PATH="${PATH}:${HOME}/.krew/bin"
alias ktx='kubectl-ctx'
alias knx='kubectl-ns'
alias doom="~/.emacs.d/bin/doom"
setopt no_flow_control
function rename() {
echo "Renaming window to $1"
tmux rename-window $1
}
function fzf-ssh () {
local selected_host=$(grep "Host " ~/.ssh/config | grep -v '*' | cut -b 6- | fzf --query "$LBUFFER" --prompt="SSH Remote > ")
if [ -n "$selected_host" ]; then
tmux rename-window "Remote -- $selected_host"
BUFFER="ssh ${selected_host} ; tmux rename-window dc"
zle accept-line
fi
zle reset-prompt
}
# src: https://stackoverflow.com/a/59412853
function seecert () {
nslookup $1
(openssl s_client -showcerts -servername $1 -connect $1:443 <<< "Q" | openssl x509 -text | grep -iA2 "Validity")
}
zle -N fzf-ssh
bindkey '^o' fzf-ssh
# Generated for envman. Do not edit.
[ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
# Logbook
# Idea taken from: https://news.ycombinator.com/item?id=17064520
lb() {
vim ~/Dropbox/logbooks/$(date '+%Y-%m-%d').md
}
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export PY_USER_BIN=$(python3 -c 'import site; print(site.USER_BASE + "/bin")')
export PATH=$PY_USER_BIN:$PATH
alias repl="NODE_PATH=$(npm root -g) node"
# ZIM Default Config
# Remove older command from the history if a duplicate is to be added.
setopt HIST_IGNORE_ALL_DUPS
# Set editor default keymap to emacs (`-e`) or vi (`-v`)
bindkey -e
# Remove path separator from WORDCHARS.
WORDCHARS=${WORDCHARS//[\/]}
# Set a custom prefix for the generated aliases. The default prefix is 'G'.
zstyle ':zim:git' aliases-prefix 'g'
# Disable automatic widget re-binding on each precmd. This can be set when
# zsh-users/zsh-autosuggestions is the last module in your ~/.zimrc.
ZSH_AUTOSUGGEST_MANUAL_REBIND=1
# Customize the style that the suggestions are shown with.
# See https://github.com/zsh-users/zsh-autosuggestions/blob/master/README.md#suggestion-highlight-style
#ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=242'
# https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern cursor)
ZIM_HOME=${ZDOTDIR:-${HOME}}/.zim
# Download zimfw plugin manager if missing.
if [[ ! -e ${ZIM_HOME}/zimfw.zsh ]]; then
if (( ${+commands[curl]} )); then
curl -fsSL --create-dirs -o ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
else
mkdir -p ${ZIM_HOME} && wget -nv -O ${ZIM_HOME}/zimfw.zsh \
https://github.com/zimfw/zimfw/releases/latest/download/zimfw.zsh
fi
fi
# Install missing modules, and update ${ZIM_HOME}/init.zsh if missing or outdated.
if [[ ! ${ZIM_HOME}/init.zsh -nt ${ZDOTDIR:-${HOME}}/.zimrc ]]; then
source ${ZIM_HOME}/zimfw.zsh init -q
fi
# Initialize modules.
source ${ZIM_HOME}/init.zsh
# ------------------------------
# Post-init module configuration
# ------------------------------
#
# zsh-history-substring-search
#
zmodload -F zsh/terminfo +p:terminfo
# Bind ^[[A/^[[B manually so up/down works both before and after zle-line-init
for key ('^[[A' '^P' ${terminfo[kcuu1]}) bindkey ${key} history-substring-search-up
for key ('^[[B' '^N' ${terminfo[kcud1]}) bindkey ${key} history-substring-search-down
for key ('k') bindkey -M vicmd ${key} history-substring-search-up
for key ('j') bindkey -M vicmd ${key} history-substring-search-down
unset key
# }}} End configuration added by Zim install
# Scaleway CLI autocomplete initialization.
eval "$(scw autocomplete script shell=zsh)"
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/neo/micromamba/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/home/neo/micromamba/etc/profile.d/conda.sh" ]; then
. "/home/neo/micromamba/etc/profile.d/conda.sh"
else
export PATH="/home/neo/micromamba/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
# Init Jump
eval "$(jump shell)"