Compare commits
1 Commits
c6e19f8633
...
osd-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d9d659241b |
@@ -1,30 +1,28 @@
|
||||
# man 5 alacritty
|
||||
|
||||
import = ["~/.config/alacritty/themes/themes/solarized_dark.toml"]
|
||||
|
||||
# list fonts on mac, part of font-config installed by brew
|
||||
# $ fc-list
|
||||
# $ fc-list | grep 'family:' | less
|
||||
|
||||
# [font.normal]
|
||||
# # family = "MesloLGS NF"
|
||||
# family = "MesloLGS Nerd Font Mono"
|
||||
#
|
||||
|
||||
[font]
|
||||
## MesloLGS font
|
||||
normal.family = "MesloLGS Nerd Font Mono"
|
||||
bold.family = "MesloLGS Nerd Font Mono"
|
||||
italic.family = "MesloLGS Nerd Font Mono"
|
||||
bold_italic.family = "MesloLGS Nerd Font Mono"
|
||||
size = 18
|
||||
offset.x = 1
|
||||
# set apple font smoothing for alacritty:
|
||||
# defaults write org.alacritty AppleFontSmoothing -int 0
|
||||
|
||||
# JetBrains Nerd font
|
||||
# normal.family = "JetBrainsMono NF"
|
||||
# bold.family = "JetBrainsMono NF SemiBold"
|
||||
# italic.family = "JetBrainsMono NFM Thin"
|
||||
# bold_italic.family = "JetBrainsMono NFM"
|
||||
# size = 18
|
||||
# offset.x = 1
|
||||
# offset.y = 0
|
||||
|
||||
# [window]
|
||||
# decorations = "none"
|
||||
|
||||
# [window.padding]
|
||||
# x = 5
|
||||
# y = 3
|
||||
|
||||
# window.dynamic_padding = true
|
||||
|
||||
[window]
|
||||
dynamic_padding = true
|
||||
@@ -32,66 +30,14 @@ padding.x = 5
|
||||
padding.y = 3
|
||||
dimensions.columns = 89
|
||||
dimensions.lines = 41
|
||||
# trick for alt not displaying special characters
|
||||
# https://github.com/alacritty/alacritty/issues/93#issuecomment-1428462339
|
||||
option_as_alt = "OnlyLeft"
|
||||
|
||||
# decorations = "buttonless"
|
||||
# decorations = "full"
|
||||
# decorations = "transparent"
|
||||
# decorations = "none"
|
||||
startup_mode = "Windowed"
|
||||
|
||||
dynamic_title = true
|
||||
|
||||
[scrolling]
|
||||
history = 20000
|
||||
|
||||
[selection]
|
||||
save_to_clipboard = true
|
||||
|
||||
|
||||
# key bidnings
|
||||
# use xxd to find unicode codes of key presses
|
||||
# use cat -v to find escape codes of various key combos
|
||||
|
||||
[keyboard]
|
||||
bindings = [
|
||||
# tmux bindings
|
||||
# alt + <number> switches to window <number>
|
||||
{ key = "1" , mods = "Option", chars = "\u0001\u0031" }, # C-a 1
|
||||
{ key = "2" , mods = "Option", chars = "\u0001\u0032" }, # C-a 2
|
||||
{ key = "3" , mods = "Option", chars = "\u0001\u0033" }, # C-a 3
|
||||
{ key = "4" , mods = "Option", chars = "\u0001\u0034" }, # C-a 4
|
||||
{ key = "5" , mods = "Option", chars = "\u0001\u0035" }, # C-a 5
|
||||
{ key = "6" , mods = "Option", chars = "\u0001\u0036" }, # C-a 6
|
||||
{ key = "7" , mods = "Option", chars = "\u0001\u0037" }, # C-a 7
|
||||
{ key = "8" , mods = "Option", chars = "\u0001\u0038" }, # C-a 8
|
||||
{ key = "9" , mods = "Option", chars = "\u0001\u0039" }, # C-a 9
|
||||
{ key = "h" , mods = "Option", chars = "\u0001\u0068" }, # C-a left
|
||||
{ key = "j" , mods = "Option", chars = "\u0001\u006a" }, # C-a down
|
||||
{ key = "k" , mods = "Option", chars = "\u0001\u006b" }, # C-a up
|
||||
{ key = "l" , mods = "Option", chars = "\u0001\u006c" }, # C-a right
|
||||
|
||||
# for tmux resizing
|
||||
# option + command + <hjkl> for resizing
|
||||
{ key = "k" , mods = "Option|command", chars = "\u0001\u001b\u005b\u0031\u003b\u0035\u0041" }, # C-a C-up
|
||||
{ key = "j" , mods = "Option|command", chars = "\u0001\u001b\u005b\u0031\u003b\u0035\u0042" }, # C-a C-down
|
||||
{ key = "l" , mods = "Option|command", chars = "\u0001\u001b\u005b\u0031\u003b\u0035\u0043" }, # C-a C-right
|
||||
{ key = "h" , mods = "Option|command", chars = "\u0001\u001b\u005b\u0031\u003b\u0035\u0044" }, # C-a C-left
|
||||
|
||||
{ key = "n" , mods = "Alt", chars = "\u0001\u006e" }, # alt+n -> C-a n
|
||||
{ key = "p" , mods = "Alt", chars = "\u0001\u0070" }, # alt+p -> C-a p
|
||||
|
||||
{ key = "ArrowLeft", mods = "Command|Shift", action = "SelectPreviousTab" },
|
||||
{ key = "ArrowRight", mods = "Command|Shift", action = "SelectNextTab" },
|
||||
|
||||
]
|
||||
|
||||
[cursor]
|
||||
style.shape = "Block"
|
||||
style.blinking = "Off"
|
||||
|
||||
[mouse]
|
||||
# hide_when_typing = true
|
||||
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
{
|
||||
"title": "Keyboard Brightness Adjustment",
|
||||
"rules": [
|
||||
{
|
||||
"description": "command-f1 and f2 to adjust keyboard brightness",
|
||||
"manipulators": [
|
||||
{
|
||||
"type": "basic",
|
||||
"from": {
|
||||
"key_code": "f1",
|
||||
"modifiers": {
|
||||
"mandatory": [
|
||||
"left_command"
|
||||
],
|
||||
"optional": [
|
||||
"caps_lock"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "illumination_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "basic",
|
||||
"from": {
|
||||
"key_code": "f2",
|
||||
"modifiers": {
|
||||
"mandatory": [
|
||||
"left_command"
|
||||
],
|
||||
"optional": [
|
||||
"caps_lock"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "illumination_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"description": "command-f5 and f6 to adjust keyboard brightness, same keys as earlier macs",
|
||||
"manipulators": [
|
||||
{
|
||||
"type": "basic",
|
||||
"from": {
|
||||
"key_code": "f5",
|
||||
"modifiers": {
|
||||
"mandatory": [
|
||||
"left_command"
|
||||
],
|
||||
"optional": [
|
||||
"caps_lock"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "illumination_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "basic",
|
||||
"from": {
|
||||
"key_code": "f6",
|
||||
"modifiers": {
|
||||
"mandatory": [
|
||||
"left_command"
|
||||
],
|
||||
"optional": [
|
||||
"caps_lock"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "illumination_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@@ -84,12 +84,10 @@ editor_filesize_threshold=64M
|
||||
editor_stop_format_chars=-+*\\,.;:&>
|
||||
mcview_eof=
|
||||
skin=solarized-dark-256color
|
||||
shell_directory_timeout=900
|
||||
filepos_max_saved_entries=1024
|
||||
|
||||
[Layout]
|
||||
output_lines=0
|
||||
left_panel_size=68
|
||||
left_panel_size=75
|
||||
top_panel_size=0
|
||||
message_visible=true
|
||||
keybar_visible=true
|
||||
@@ -116,11 +114,6 @@ clipboard_paste=
|
||||
base_color=
|
||||
xterm-256color=
|
||||
color_terminals=
|
||||
alacritty=
|
||||
xterm=
|
||||
rxvt-256color=
|
||||
screen-256color=
|
||||
xterm-24bit=
|
||||
|
||||
[Panels]
|
||||
show_mini_info=true
|
||||
@@ -146,7 +139,7 @@ select_flags=6
|
||||
simple_swap=false
|
||||
|
||||
[Panelize]
|
||||
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
|
||||
Find *.orig after patching=find . -name \\*.orig -print
|
||||
Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print
|
||||
Find rejects after patching=find . -name \\*.rej -print
|
||||
Modified git files=git ls-files --modified
|
||||
|
||||
12
.gitconfig
12
.gitconfig
@@ -8,7 +8,7 @@
|
||||
pager = less -FRX
|
||||
editor = vim
|
||||
[alias]
|
||||
glog = log --graph --decorate
|
||||
glog = log --graph --decorate --all
|
||||
glogs = log --graph --stat
|
||||
ci = commit
|
||||
st = status
|
||||
@@ -24,12 +24,10 @@
|
||||
# if no file is specified, show diff for all files in the changeset
|
||||
diffc = "!f() { git diff ${1}^1 ${1} -- $2; }; f"
|
||||
vimdiffc = "!f() { git vimdiff ${1}^1 ${1} -- $2; }; f"
|
||||
cat = show
|
||||
webui = !/Users/jetpac/.git-webui/release/libexec/git-core/git-webui
|
||||
|
||||
[user]
|
||||
name = Petr Nyc
|
||||
email = petr.nyc@oracle.com
|
||||
email = jet.jetpac@gmail.com
|
||||
|
||||
[merge]
|
||||
tool = vimdiff
|
||||
@@ -43,7 +41,5 @@
|
||||
; modulePath = /usr/lib/apache2/modules
|
||||
[init]
|
||||
defaultBranch = master
|
||||
[webui]
|
||||
autoupdate = true
|
||||
; [color]
|
||||
; ui = auto
|
||||
[color]
|
||||
ui = auto
|
||||
|
||||
6
.hgrc
6
.hgrc
@@ -44,7 +44,7 @@ vimdiff.premerge = keep
|
||||
|
||||
[alias]
|
||||
# glog
|
||||
g = !USER=$($HG showconfig ui.username); A=$( $HG log -r qbase..qtip --template '{rev}|' 2>/dev/null ); $HG glog --template "{rev}:{node|short} \033[33m{branch}\033[0m {phase} {author}\n{desc}\n\n" $@ | perl -pe 's/(^[| o@+-]+\d+:[0-9a-f]{12} \S+ (?!public))(\S+)(.*)/\1\033[31m\2\033[0m\3/; s/(\Q'"${USER//@/\\E\\@\\Q}"'\E)/\033[32m\1\033[0m\3/; s/(^[| o@+-]+)('${A:+(${A%|})}':[0-9a-f]{12})/\1\033[34m\2\033[0m/' 2>/dev/null | less -FRX
|
||||
# g = !USER=$($HG showconfig ui.username); A=$( $HG log -r qbase..qtip --template '{rev}|' 2>/dev/null ); $HG glog --template "{rev}:{node|short} \033[33m{branch}\033[0m {phase} {author}\n{desc}\n\n" $@ | perl -pe 's/(^[| o@+-]+\d+:[0-9a-f]{12} \S+ (?!public))(\S+)(.*)/\1\033[31m\2\033[0m\3/; s/(\Q'"${USER//@/\\E\\@\\Q}"'\E)/\033[32m\1\033[0m\3/; s/(^[| o@+-]+)('${A:+(${A%|})}':[0-9a-f]{12})/\1\033[34m\2\033[0m/' 2>/dev/null | less -FRX
|
||||
|
||||
# glog on branch
|
||||
gb = !$HG g -b . $@
|
||||
@@ -57,8 +57,8 @@ he = !/bin/bash -O extglob -c '$HG --config extensions.histedit= help histedit 2
|
||||
d = !/bin/bash -O extglob -c 'h="[0-9a-f]"; h="$h$h$h$h"; case "${@}" in "") set -- -c $($HG parent --template '{rev}');; +([0-9])|$h$h$h) set -- -c "$1";; esac; $HG diff ${@}' blah $@
|
||||
|
||||
# clever log (requires also the 'style' alias)
|
||||
l = !/bin/bash -O extglob -c 'h="[0-9a-f]"; h="$h$h$h$h"; case "${@}" in "") set -- -r $($HG parent --template '{rev}');; +([0-9])|$h$h$h) set -- -r "$1" ;; esac; $HG log -v --style <(hg style) ${@}' blah $@
|
||||
style = !echo $'changeset = \'changeset: {rev}:{node|short}\\\\n{branches}{tags}{parents}user: {author}\\\\ndate: {date|date}\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n\'\nchangeset_quiet = \'{rev}:{node|short}\\\\n\'\nchangeset_verbose = \'\\\\n\\\\033[33mchangeset: {rev}:{node|short}\\\\033[0m\\\\n{branches}{tags}{parents}user: {author}\\\\ndate: {date|date}\\\\n\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n{file_mods}{file_adds}{file_dels}{file_copies}\\\\n\'\nchangeset_debug = \'changeset: {rev}:{node}\\\\n{branches}{tags}{parents}{manifest}{extras}user: {author}\\\\ndate: {date|date}\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n{file_mods}{file_adds}{file_dels}{file_copies}\\\\n\'\nstart_files = \'files:\\\\n\'\nfile = \' {file}\\\\n\'\nend_files = \'\'\nstart_file_mods = \'\\\\033[34mmodified:\\\\033[0m\\\\n\'\nfile_mod = \' {file_mod}\\\\n\'\nend_file_mods = \'\'\nstart_file_adds = \'\\\\033[32madded:\\\\033[0m\\\\n\'\nfile_add = \' {file_add}\\\\n\'\nend_file_adds = \'\'\nstart_file_dels = \'\\\\033[31mremoved:\\\\033[0m\\\\n\'\nfile_del = \' {file_del}\\\\n\'\nend_file_dels = \'\'\nstart_file_copies = \'copied:\\\\n\'\nfile_copy = \' {name}\\\\n (from {source})\\\\n\'\nend_file_copies = \'\'\nparent = \'parent: {rev}:{node|formatnode}\\\\n\'\nmanifest = \'manifest: {rev}:{node}\\\\n\'\nbranch = \'branch: {branch}\\\\n\'\ntag = \'tag: {tag}\\\\n\'\nextra = \'extra: {key}={value|stringescape}\\\\n\''
|
||||
# l = !/bin/bash -O extglob -c 'h="[0-9a-f]"; h="$h$h$h$h"; case "${@}" in "") set -- -r $($HG parent --template '{rev}');; +([0-9])|$h$h$h) set -- -r "$1" ;; esac; $HG log -v --style <(hg style) ${@}' blah $@
|
||||
# style = !echo $'changeset = \'changeset: {rev}:{node|short}\\\\n{branches}{tags}{parents}user: {author}\\\\ndate: {date|date}\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n\'\nchangeset_quiet = \'{rev}:{node|short}\\\\n\'\nchangeset_verbose = \'\\\\n\\\\033[33mchangeset: {rev}:{node|short}\\\\033[0m\\\\n{branches}{tags}{parents}user: {author}\\\\ndate: {date|date}\\\\n\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n{file_mods}{file_adds}{file_dels}{file_copies}\\\\n\'\nchangeset_debug = \'changeset: {rev}:{node}\\\\n{branches}{tags}{parents}{manifest}{extras}user: {author}\\\\ndate: {date|date}\\\\ndescription:\\\\n\\\\t{desc|strip|tabindent}\\\\n\\\\n{file_mods}{file_adds}{file_dels}{file_copies}\\\\n\'\nstart_files = \'files:\\\\n\'\nfile = \' {file}\\\\n\'\nend_files = \'\'\nstart_file_mods = \'\\\\033[34mmodified:\\\\033[0m\\\\n\'\nfile_mod = \' {file_mod}\\\\n\'\nend_file_mods = \'\'\nstart_file_adds = \'\\\\033[32madded:\\\\033[0m\\\\n\'\nfile_add = \' {file_add}\\\\n\'\nend_file_adds = \'\'\nstart_file_dels = \'\\\\033[31mremoved:\\\\033[0m\\\\n\'\nfile_del = \' {file_del}\\\\n\'\nend_file_dels = \'\'\nstart_file_copies = \'copied:\\\\n\'\nfile_copy = \' {name}\\\\n (from {source})\\\\n\'\nend_file_copies = \'\'\nparent = \'parent: {rev}:{node|formatnode}\\\\n\'\nmanifest = \'manifest: {rev}:{node}\\\\n\'\nbranch = \'branch: {branch}\\\\n\'\ntag = \'tag: {tag}\\\\n\'\nextra = \'extra: {key}={value|stringescape}\\\\n\''
|
||||
|
||||
# status with paths relative to current directory
|
||||
s = !/bin/bash -O extglob -c 'h="[0-9a-f]"; h="$h$h$h$h"; case "${@}" in "") set -- $($HG root) ;; +([0-9])|$h$h$h) set -- --rev "$1^:$1" ;; esac; $HG status ${@}' blah $@
|
||||
|
||||
12
.p10k.zsh
12
.p10k.zsh
@@ -95,7 +95,7 @@
|
||||
vim_shell # vim shell indicator (:sh)
|
||||
midnight_commander # midnight commander shell (https://midnight-commander.org/)
|
||||
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
|
||||
vpn_ip # virtual private network indicator
|
||||
# vpn_ip # virtual private network indicator
|
||||
# load # CPU load
|
||||
# disk_usage # disk usage
|
||||
# ram # free RAM
|
||||
@@ -108,8 +108,8 @@
|
||||
# =========================[ Line #2 ]=========================
|
||||
newline
|
||||
# ip # ip address and bandwidth usage for a specified network interface
|
||||
public_ip # public IP address
|
||||
proxy # system-wide http/https/ftp proxy
|
||||
# public_ip # public IP address
|
||||
# proxy # system-wide http/https/ftp proxy
|
||||
# battery # internal battery
|
||||
# wifi # wifi speed
|
||||
# example # example user-defined segment (see prompt_example function below)
|
||||
@@ -539,9 +539,9 @@
|
||||
|
||||
###################[ command_execution_time: duration of the last command ]###################
|
||||
# Show duration of the last command if takes at least this many seconds.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=0.1
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=3
|
||||
# Show this many fractional digits. Zero means round to seconds.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=1
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
|
||||
# Execution time color.
|
||||
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101
|
||||
# Duration format: 1d 2h 3m 4s.
|
||||
@@ -990,7 +990,7 @@
|
||||
# Nvm color.
|
||||
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
|
||||
# Custom icon.
|
||||
# typeset -g POWERLEVEL10K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
# typeset -g POWERLEVEL9K_NVM_VISUAL_IDENTIFIER_EXPANSION='⭐'
|
||||
|
||||
############[ nodeenv: node.js environment (https://github.com/ekalinin/nodeenv) ]############
|
||||
# Nodeenv color.
|
||||
|
||||
15
.seeks.ccatc
15
.seeks.ccatc
@@ -1,15 +0,0 @@
|
||||
[dep]
|
||||
upgrade: ask
|
||||
user_email: petr.nyc@oracle.com
|
||||
|
||||
[bitbucket]
|
||||
username: pnyc
|
||||
|
||||
[templates]
|
||||
project: CCATC
|
||||
repo: ccatc-seeks
|
||||
branch: main
|
||||
vcs: SCM
|
||||
scmrepo: ocid1.devopsrepository.oc1.phx.amaaaaaaw4vcxbyahrz7vgu4tdwdcfwd26e5fvmcoidmxrtmdvwyowqhi6rq
|
||||
filepath: seeks_templates.conf
|
||||
|
||||
12
.seeks.odaas
12
.seeks.odaas
@@ -1,12 +0,0 @@
|
||||
[dep]
|
||||
upgrade: ask
|
||||
user_email: petr.nyc@oracle.com
|
||||
|
||||
[bitbucket]
|
||||
username: pnyc
|
||||
|
||||
[templates]
|
||||
project: ODAAS
|
||||
repo: cm_automation
|
||||
branch: main
|
||||
filepath: change_templates/seeks_templates.conf
|
||||
1004
.spacemacs
1004
.spacemacs
File diff suppressed because it is too large
Load Diff
@@ -1,10 +0,0 @@
|
||||
Include config-scm
|
||||
Include ssh_configs/config
|
||||
Include osd_configs/config
|
||||
Include user
|
||||
|
||||
Host bitbucket.oci.oraclecorp.com
|
||||
IdentityFile ~/.ssh/orabucket
|
||||
HostkeyAlgorithms +ssh-rsa
|
||||
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||
|
||||
@@ -1,157 +0,0 @@
|
||||
Host *
|
||||
# UseKeychain yes
|
||||
AddKeysToAgent yes
|
||||
ServerAliveInterval 300
|
||||
ServerAliveCountMax 2
|
||||
TCPKeepAlive no
|
||||
HostkeyAlgorithms +ssh-rsa
|
||||
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||
# User pnyc
|
||||
|
||||
|
||||
Host *
|
||||
IdentitiesOnly yes
|
||||
|
||||
Host 192.168.2.*
|
||||
IdentitiesOnly yes
|
||||
|
||||
Host gitlab.com
|
||||
User git
|
||||
IdentityFile ~/.ssh/gitlab
|
||||
|
||||
Host solaris-reviews.us.oracle.com
|
||||
User hg
|
||||
IdentityFile ~/.ssh/id_phabricator
|
||||
|
||||
Host hetzner
|
||||
HostName u444067.your-storagebox.de
|
||||
User u444067
|
||||
Port 23
|
||||
IdentityFile ~/.ssh/id_hetzner
|
||||
|
||||
|
||||
Host pnyc-ws pnyc-ws.webad1phx.solarisx86phx.oraclevcn.com
|
||||
HostName pnyc-ws.webad1phx.solarisx86phx.oraclevcn.com
|
||||
User opc
|
||||
IdentityFile ~/.ssh/id_pnyc-ws
|
||||
# ssh -i ./id_pnyc-ws opc@pnyc-ws.webad1phx.solarisx86phx.oraclevcn.com
|
||||
|
||||
Host osdbld
|
||||
HostName 100.73.219.187
|
||||
User opc
|
||||
IdentityFile ~/.ssh/id_nginxbuild
|
||||
|
||||
Host nginx-osd-dev
|
||||
Hostname 100.106.197.175
|
||||
User opc
|
||||
IdentityFile ~/.ssh/osd-dev-pnyc
|
||||
|
||||
Host osd-calico-dev osd-calico-dev.webad1phx.solarisx86phx.oraclevcn.com
|
||||
Hostname osd-calico-dev.webad1phx.solarisx86phx.oraclevcn.com
|
||||
User opc
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
|
||||
|
||||
# private m1 mac
|
||||
Host 192.168.2.81
|
||||
User jetpac
|
||||
IdentityFile /Users/jetpac/.ssh/id_mac_private
|
||||
|
||||
Host git.meinlschmidt.org
|
||||
IdentityFile ~/.ssh/git.meinlschmidt.org
|
||||
|
||||
Host 192.168.2.1 gw gw.doma.jetpac.org
|
||||
IdentityFile ~/.ssh/mikrotik
|
||||
|
||||
Host github.com
|
||||
IdentityFile ~/.ssh/github.com
|
||||
|
||||
Host bitbucket.oci.oraclecorp.com
|
||||
IdentityFile ~/.ssh/orabucket
|
||||
HostkeyAlgorithms +ssh-rsa
|
||||
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||
|
||||
Host www.jetpac.org
|
||||
IdentityFile ~/.ssh/id_ed25519.jetpac.org
|
||||
User jetpac
|
||||
|
||||
|
||||
Host dabel dabel.us.oracle.com
|
||||
User pnyc
|
||||
IdentityFile ~/.ssh/dabel.key
|
||||
RequestTTY yes
|
||||
|
||||
Host hubbins hubbins.us.oracle.com 10.134.7.102
|
||||
User pnyc
|
||||
|
||||
Host tdabel
|
||||
User pnyc
|
||||
Hostname dabel.us.oracle.com
|
||||
IdentityFile ~/.ssh/dabel.key
|
||||
RequestTTY yes
|
||||
RemoteCommand tmux new -A
|
||||
|
||||
Host utmfedora
|
||||
Hostname 192.168.205.3
|
||||
User jetpac
|
||||
|
||||
|
||||
Host 100.106.196.204 pnyc-mrspatmore.webad1phx.solarisx86phx.oraclevcn.com pnyc-mrspatmore
|
||||
User jetpac
|
||||
Hostname 100.106.196.204
|
||||
IdentityFile ~/.ssh/pnyc-mrspatmore
|
||||
|
||||
Host osd osd-dev-pnyc.webad1phx.solarisx86phx.oraclevcn.com
|
||||
IdentityFile ~/.ssh/osd-dev-pnyc
|
||||
Hostname osd-dev-pnyc.webad1phx.solarisx86phx.oraclevcn.com
|
||||
user pnyc
|
||||
|
||||
Host osd-ol7 osd-dev-ol7.webad1phx.solarisx86phx.oraclevcn.com
|
||||
IdentityFile ~/.ssh/osd-dev-pnyc
|
||||
Hostname osd-dev-ol7.webad1phx.solarisx86phx.oraclevcn.com
|
||||
user pnyc
|
||||
|
||||
Host andel.us.oracle.com dabel.us.oracle.com gates.us.oracle.com
|
||||
User pnyc
|
||||
|
||||
|
||||
Host gitlocal
|
||||
Hostname 127.0.0.1
|
||||
Port 2200
|
||||
|
||||
Host oci-wireguard
|
||||
Hostname 130.61.98.65
|
||||
User ubuntu
|
||||
IdentityFile ~/.ssh/id_ed25519_oci
|
||||
|
||||
Host libcurlbuild
|
||||
Hostname led-build-mac.uk.oracle.com
|
||||
User petrnyc
|
||||
|
||||
Host 192.168.2.72 homeassistant ha
|
||||
Hostname 192.168.2.72
|
||||
user hassio
|
||||
IdentityFile ~/.ssh/jetpac01ha
|
||||
|
||||
Host adam-test
|
||||
HostName 100.106.212.188
|
||||
User opc
|
||||
|
||||
Host nori nori.commonsub.zsphx.oraclevcn.com
|
||||
Hostname nori.commonsub.zsphx.oraclevcn.com
|
||||
User opc
|
||||
|
||||
# Host operator-access-token.svc.ad1.r2 bastion*.oracleiaas.com
|
||||
# Include ~/.ssh/ssh_configs/config
|
||||
# User pnyc
|
||||
|
||||
# vim: tabstop=4 shiftwidth=4
|
||||
#Include ~/.ssh/ssh_configs/config
|
||||
#Include ~/.ssh/osd_configs/config
|
||||
|
||||
|
||||
Include ossh_configs/*.ossh
|
||||
Include ssh_configs/config
|
||||
Include osd_configs/config
|
||||
|
||||
|
||||
30
.tmux.conf
30
.tmux.conf
@@ -4,19 +4,21 @@ set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
set -g @plugin 'tmux-plugins/tmux-sidebar'
|
||||
set -g @plugin 'tmux-plugins/tmux-pain-control'
|
||||
set -g @plugin 'tmux-plugins/tmux-logging'
|
||||
set -g @plugin 'tmux-plugins/tmux-copycat' # not needed for tmux 3.1+
|
||||
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect' # https://github.com/tmux-plugins/tmux-resurrect
|
||||
set -g @plugin 'tmux-plugins/tmux-logging'
|
||||
|
||||
set -g @plugin 'tmux-plugins/tmux-copycat'
|
||||
|
||||
|
||||
# https://github.com/tmux-plugins/tmux-resurrect
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||
set -g @resurrect-capture-pane-contents 'on'
|
||||
set -g @resurrect-processes 'ssh neomutt mbsync vim'
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum' # https://github.com/tmux-plugins/tmux-continuum
|
||||
set -g @resurrect-processes 'ssh neomutt mbsync'
|
||||
# https://github.com/tmux-plugins/tmux-continuum
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||
|
||||
set -g @plugin 'seebi/tmux-colors-solarized'
|
||||
|
||||
# inspiration from https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
|
||||
set -sg terminal-overrides ",*:RGB"
|
||||
|
||||
# too wild, some shortcuts like meta-tab/meta-number are nice though
|
||||
# set -g @plugin 'ek9/tmux-vim-bindings'
|
||||
|
||||
@@ -24,10 +26,6 @@ set -sg terminal-overrides ",*:RGB"
|
||||
# set -g @colors-solarized 'light'
|
||||
set -g @colors-solarized 'dark'
|
||||
|
||||
# this causes tmux to crash
|
||||
# set-option -g mouse on
|
||||
# set -g @plugin 'jaclu/tmux-menus'
|
||||
|
||||
|
||||
# Change prefix to C-a
|
||||
# C-a hex value: 0x01
|
||||
@@ -71,15 +69,7 @@ set -g pane-base-index 1
|
||||
# tip from https://github.com/vim/vim/issues/3608
|
||||
set -ag terminal-overrides ",xterm-256color:Tc"
|
||||
|
||||
# synchronize panes
|
||||
bind e setw synchronize-panes # ; tmux display "Sync #{?pane_synchronized,ON,OFF}"
|
||||
|
||||
|
||||
# tpm install: git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
|
||||
|
||||
# test for https://unix.stackexchange.com/questions/480437/can-i-ask-tmux-to-immediately-exit-copy-mode-and-paste-the-content-when-i-yank
|
||||
bind-key -T copy-mode-vi Y send-keys -X copy-pipe-and-cancel "tmux paste-buffer"
|
||||
|
||||
|
||||
24
.tridactylrc
24
.tridactylrc
@@ -1,24 +0,0 @@
|
||||
" General Settings
|
||||
set update.lastchecktime 1755245204669
|
||||
set update.nag true
|
||||
set update.nagwait 7
|
||||
set update.lastnaggedversion 1.14.0
|
||||
set update.checkintervalsecs 86400
|
||||
set configversion 2.0
|
||||
set editorcmd '/opt/homebrew/bin/emacsclient'
|
||||
set smoothscroll true
|
||||
|
||||
|
||||
blacklistadd https://www.youtube.com/
|
||||
|
||||
" tip from https://github.com/tridactyl/tridactyl/issues/1559
|
||||
seturl youtube.com modeindicator false
|
||||
|
||||
" vim bind u back
|
||||
" vim bind U undo
|
||||
" vim bind Y clipboard yank
|
||||
" vim u
|
||||
" nbind <c-f>
|
||||
|
||||
" For syntax highlighting see https://github.com/tridactyl/vim-tridactyl
|
||||
" vim: set filetype=tridactyl
|
||||
19
.vimrc
19
.vimrc
@@ -46,7 +46,6 @@ Plug 'bling/vim-bufferline'
|
||||
Plug 'tpope/vim-characterize'
|
||||
Plug 'tpope/vim-endwise'
|
||||
Plug 'doums/darcula' " pycharm scheme reproduction
|
||||
Plug 'hashivim/vim-terraform'
|
||||
|
||||
if s:usecopilot == 1
|
||||
Plug 'github/copilot.vim', { 'on': 'Copilot' }
|
||||
@@ -79,10 +78,10 @@ let g:syntastic_yaml_checkers = ['yamllint']
|
||||
" " https://vi.stackexchange.com/questions/10007/how-to-make-syntastic-include-sourced-files-for-bash-syntax-as-shellcheck-x
|
||||
" let g:syntastic_sh_shellcheck_args = "-x"
|
||||
|
||||
let g:syntastic_mode_map = {
|
||||
\ "mode": "passive",
|
||||
\ "active_filetypes": [ "bash" ],
|
||||
\ "passive_filetypes": ["sh, yaml"] }
|
||||
" let g:syntastic_mode_map = {
|
||||
" \ "mode": "active",
|
||||
" \ "active_filetypes": [],
|
||||
" \ "passive_filetypes": ["sh, yaml"] }
|
||||
|
||||
set modeline
|
||||
set modelines=5
|
||||
@@ -108,20 +107,10 @@ endif
|
||||
" solarized config
|
||||
set termguicolors
|
||||
set background=dark " or light
|
||||
|
||||
" colorscheme solarized
|
||||
colorscheme darcula
|
||||
|
||||
" Check if the color scheme file is available before applying it
|
||||
if exists("g:plugs['darcula']") && filereadable(expand("~/.vim/plugged/darcula/colors/darcula.vim"))
|
||||
colorscheme darcula
|
||||
endif
|
||||
|
||||
hi Visual term=reverse cterm=reverse guibg=Grey
|
||||
|
||||
" open unfolded
|
||||
set foldlevel=99
|
||||
|
||||
|
||||
" copilot config
|
||||
imap <silent> <C-j> <Plug>(copilot-next)
|
||||
|
||||
77
.zshenv
77
.zshenv
@@ -2,27 +2,14 @@ set -o vi
|
||||
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
export PATH=/Users/jetpac/.asdf/shims/:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jetpac/work/flutter/bin:$HOME/.rd/bin:$HOME/bin:$PATH:$HOME/.fzf/bin
|
||||
|
||||
export PATH=/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jetpac/work/flutter/bin:$HOME/.rd/bin:$HOME/bin:$HOME/miniconda3/bin/
|
||||
|
||||
alias oe='open /Applications/Emacs.app'
|
||||
alias mc='/opt/homebrew/bin/mc --nosubshell'
|
||||
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||
alias config='/usr/local/bin/git --git-dir=$HOME/.cfg/.git --work-tree=$HOME'
|
||||
alias -g N="2>&1 "
|
||||
alias pig='ping'
|
||||
# export PATH=$HOME/.rd/bin
|
||||
#
|
||||
|
||||
# on speccy only
|
||||
if [[ "$(hostname)" == "speccy" ]];
|
||||
then
|
||||
# defined via https://github.com/syl20bnr/spacemacs/wiki/Terminal
|
||||
export TERM=xterm-24bit
|
||||
alias ssh="TERM=xterm-256color ssh"
|
||||
alias vi=te
|
||||
alias vim=te
|
||||
fi
|
||||
|
||||
|
||||
# for gems installed in my home direcotry
|
||||
# inspiration: https://guides.cocoapods.org/using/getting-started.html#installation
|
||||
@@ -79,62 +66,4 @@ export seznam6='2a02:598:2::1222'
|
||||
export OPENAI_API_KEY='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'
|
||||
|
||||
# for flutter
|
||||
# export PATH=$PATH:/Users/jetpac/Documents/flutter-dev-env/bin
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
# nvm initialization is commented out; it significantly slows down shell startup
|
||||
# [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"
|
||||
#
|
||||
|
||||
ZSH_AUTOSUGGEST_ACCEPT_WIDGETS='vi-forward-char'
|
||||
#ZSH_AUTOSUGGEST_PARTIAL_ACCEPT_WIDGETS='end-of-line'
|
||||
#
|
||||
# alias km='kubectl --kubeconfig /Users/jetpac/.kube.lenovo/config'
|
||||
|
||||
|
||||
alias nextcloud-shell='k exec -n nextcloud deployments/nextcloud -c nextcloud -it -- runuser --user www-data bash'
|
||||
alias nextcloud-shell-root='k exec -n nextcloud deployments/nextcloud -c nextcloud -it -- bash'
|
||||
alias occ='k exec -n nextcloud deployments/nextcloud -c nextcloud -it -- runuser --user www-data /var/www/html/occ'
|
||||
|
||||
alias speech_to_text="$HOME/Downloads/whisper.cpp/convert_video_to_txt.sh"
|
||||
|
||||
|
||||
if [ -f "/Users/jetpac/.local/bin/k9s" ]; then
|
||||
alias k9s='/Users/jetpac/.local/bin/k9s --logoless'
|
||||
fi
|
||||
|
||||
|
||||
# lh nodes function for kubectl
|
||||
if [[ -n ${commands[kubectl]} ]]; then
|
||||
lh_nodes() {
|
||||
local ns="${1:-longhorn-system}"
|
||||
kubectl -n "$ns" get nodes.longhorn.io -o yaml | \
|
||||
yq eval '
|
||||
.items[] |
|
||||
{
|
||||
"node": .metadata.name,
|
||||
"allowScheduling": .spec.allowScheduling,
|
||||
"disks": (
|
||||
[ (.spec.disks // {}) | to_entries | .[] |
|
||||
{
|
||||
"diskName": .key,
|
||||
"path": .value.path,
|
||||
"allowScheduling": .value.allowScheduling,
|
||||
"evictionRequested": .value.evictionRequested,
|
||||
"storageReservedGiB": ((.value.storageReserved // 0) / 1073741824)
|
||||
}
|
||||
]
|
||||
),
|
||||
"diskStatus": (
|
||||
[ (.status.diskStatus // {}) | to_entries | .[] |
|
||||
{
|
||||
"diskName": .key,
|
||||
"storageAvailableGiB": ((.value.storageAvailable // 0) / 1073741824),
|
||||
"storageMaximumGiB": ((.value.storageMaximum // 0) / 1073741824),
|
||||
"storageScheduledGiB":((.value.storageScheduled // 0) / 1073741824)
|
||||
}
|
||||
]
|
||||
)
|
||||
}'
|
||||
}
|
||||
|
||||
fi
|
||||
export PATH=$PATH:/Users/jetpac/Documents/flutter-dev-env/bin
|
||||
|
||||
116
.zshrc
116
.zshrc
@@ -9,30 +9,6 @@ if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]
|
||||
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
|
||||
fi
|
||||
|
||||
# if not present, install zsh-syntax-highlighting plugin
|
||||
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting" ];
|
||||
then
|
||||
cd "${HOME}/.oh-my-zsh/custom/plugins/"
|
||||
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git &> /dev/null
|
||||
fi
|
||||
|
||||
# if not present, install zsh-completions plugin
|
||||
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-completions" ];
|
||||
then
|
||||
cd "${HOME}/.oh-my-zsh/custom/plugins/"
|
||||
git clone https://github.com/zsh-users/zsh-completions.git &> /dev/null
|
||||
fi
|
||||
|
||||
# if not present, install zsh-autosuggestions plugin
|
||||
if [ ! -d "${HOME}/.oh-my-zsh/custom/plugins/zsh-autosuggestions" ];
|
||||
then
|
||||
cd "${HOME}/.oh-my-zsh/custom/plugins/"
|
||||
git clone https://github.com/zsh-users/zsh-autosuggestions.git &> /dev/null
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# doesn't work well on remote hosts
|
||||
# [[ -f .iterm2_shell_integration.zsh ]] && source .iterm2_shell_integration.zsh
|
||||
|
||||
@@ -77,7 +53,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment the following line to disable auto-setting terminal title.
|
||||
DISABLE_AUTO_TITLE="true"
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment the following line to enable command auto-correction.
|
||||
# ENABLE_CORRECTION="true"
|
||||
@@ -86,7 +62,7 @@ DISABLE_AUTO_TITLE="true"
|
||||
# You can also set it to another string to have that shown instead of the default red dots.
|
||||
# e.g. COMPLETION_WAITING_DOTS="%F{yellow}waiting...%f"
|
||||
# Caution: this setting can cause issues with multiline prompts in zsh < 5.7.1 (see #5765)
|
||||
COMPLETION_WAITING_DOTS="true"
|
||||
# COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Uncomment the following line if you want to disable marking untracked files
|
||||
# under VCS as dirty. This makes repository status check for large repositories
|
||||
@@ -104,51 +80,12 @@ COMPLETION_WAITING_DOTS="true"
|
||||
# Would you like to use another custom folder than $ZSH/custom?
|
||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||
|
||||
# if [ -f ". /opt/homebrew/opt/asdf/libexec/asdf.sh" ]; then
|
||||
# source /opt/homebrew/opt/asdf/libexec/asdf.sh
|
||||
# fi
|
||||
|
||||
# Which plugins would you like to load?
|
||||
# Standard plugins can be found in $ZSH/plugins/
|
||||
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
# Add wisely, as too many plugins slow down shell startup.
|
||||
plugins=(colorize colored-man-pages vi-mode common-aliases themes dircycle iterm2 zsh-navigation-tools urltools history zsh-syntax-highlighting zsh-autosuggestions web-search aliases)
|
||||
|
||||
cmd_plugins=(rsync tmux docker docker-compose tmux kubectl helm terraform asdf brew emacs fzf asdf brew emacs)
|
||||
|
||||
# Add a plugin only if its command exists
|
||||
add_plugin_if_command_exists() {
|
||||
local cmd="$1"
|
||||
if [[ -n ${commands[$cmd]} ]]; then
|
||||
# Only append if not already in the plugins array
|
||||
if (( ! ${plugins[(Ie)$cmd]} )); then
|
||||
plugins+=("$cmd")
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
for cmd in $cmd_plugins; do
|
||||
add_plugin_if_command_exists "$cmd"
|
||||
done
|
||||
|
||||
# use mercurial plugin
|
||||
if [[ -n ${commands[hg]} ]]; then
|
||||
plugins+=("mercurial")
|
||||
fi
|
||||
|
||||
# use macos plugin
|
||||
if [[ "$(uname -o)" == "Darwin" ]]; then
|
||||
plugins+=("macos")
|
||||
fi
|
||||
|
||||
# use zoxide
|
||||
if [[ -n ${commands[zoxide]} ]]; then
|
||||
export FZF_DEFAULT_OPTS="--style full"
|
||||
export _ZO_FZF_OPTS="--height ~90% --tmux bottom,70% --layout reverse"
|
||||
eval "$(zoxide init --cmd cd zsh)"
|
||||
fi
|
||||
|
||||
plugins=(git rsync colorize colored-man-pages vi-mode common-aliases macos themes dircycle iterm2 docker docker-compose zsh-navigation-tools urltools history mercurial tmux )
|
||||
# colorize - adds ccat and cless
|
||||
# common-aliases: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/common-aliases
|
||||
# themes: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/themes
|
||||
@@ -227,55 +164,28 @@ fi
|
||||
# zsh history is too short
|
||||
# - https://unix.stackexchange.com/questions/273861/unlimited-history-in-zsh
|
||||
|
||||
|
||||
# inspiration taken from yt video:
|
||||
# https://youtu.be/ud7YxC33Z3w
|
||||
HISTSIZE=999999999
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=999999999
|
||||
SAVEHIST=$HISTSIZE
|
||||
HISTDUP=erase
|
||||
setopt appendhistory
|
||||
setopt sharehistory
|
||||
setopt hist_ignore_space
|
||||
setopt hist_ignore_all_dups
|
||||
setopt hist_save_no_dups
|
||||
setopt hist_ignore_dups
|
||||
setopt hist_find_no_dups
|
||||
setopt hist_reduce_blanks
|
||||
bindkey '^p' history-search-backward
|
||||
bindkey '^n' history-search-forward
|
||||
# bindkey '^f' autosuggest-accept
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
|
||||
|
||||
|
||||
### MANAGED BY RANCHER DESKTOP START (DO NOT EDIT)
|
||||
export PATH="/Users/jetpac/.rd/bin:$PATH"
|
||||
### MANAGED BY RANCHER DESKTOP END (DO NOT EDIT)
|
||||
|
||||
# >>> conda initialize >>>
|
||||
# !! Contents within this block are managed by 'conda init' !!
|
||||
__conda_setup="$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
||||
__conda_setup="$('/home/pnyc/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
||||
if [ $? -eq 0 ]; then
|
||||
eval "$__conda_setup"
|
||||
else
|
||||
if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then
|
||||
. "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh"
|
||||
if [ -f "/home/pnyc/miniconda3/etc/profile.d/conda.sh" ]; then
|
||||
. "/home/pnyc/miniconda3/etc/profile.d/conda.sh"
|
||||
else
|
||||
export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH"
|
||||
export PATH="/home/pnyc/miniconda3/bin:$PATH"
|
||||
fi
|
||||
fi
|
||||
unset __conda_setup
|
||||
# <<< conda initialize <<<
|
||||
|
||||
# export PATH="/opt/homebrew/bin:$PATH"
|
||||
|
||||
# for cocoapods
|
||||
export PATH=/opt/homebrew/opt/ruby/bin:$PATH
|
||||
export GEM_HOME=$HOME/.gem
|
||||
export PATH=$GEM_HOME/bin:$HOME/.gem/ruby/3.3.0/bin:$PATH
|
||||
|
||||
# Generated for envman. Do not edit.
|
||||
# [ -s "$HOME/.config/envman/load.sh" ] && source "$HOME/.config/envman/load.sh"
|
||||
|
||||
|
||||
# alias scm-ssh='/Users/jetpac/.ssh/scm-script.sh'
|
||||
# scm-ssh start_agent
|
||||
|
||||
# export FZF_DEFAULT_OPTS="--style full --preview '/opt/homebrew/bin/pygmentize -g {}' --bind 'focus:transform-header:file --brief {}'"
|
||||
# conda initialize
|
||||
conda activate osd-dev
|
||||
|
||||
21
README.org
21
README.org
@@ -1,12 +1,6 @@
|
||||
* How to set up this configuration
|
||||
|
||||
** Automated setup
|
||||
|
||||
#+begin_src sh
|
||||
bash -c "$(curl -fsSL https://git.meinlschmidt.org/jetpac/dotfiles/raw/branch/main/bootstrap.sh)"
|
||||
#+end_src
|
||||
|
||||
** manual setup
|
||||
** basic setup
|
||||
|
||||
#+begin_src sh
|
||||
# for linux; ignore on other systems
|
||||
@@ -20,17 +14,14 @@
|
||||
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||
config config --local status.showUntrackedFiles no
|
||||
config checkout
|
||||
zsh
|
||||
|
||||
source ~/.proxies
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh) --unattended --skip-chsh --keep-zshrc"
|
||||
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
|
||||
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
|
||||
vim +PlugInstall +qall
|
||||
|
||||
zsh
|
||||
|
||||
# run tmux, prefix + I installs all plugins (needs to have proxies set)
|
||||
# run vim, :PlugInstall
|
||||
|
||||
@@ -54,12 +45,6 @@ You can also download fonts like this:
|
||||
wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
|
||||
#+end_src
|
||||
|
||||
** Emacs
|
||||
#+begin_src bash
|
||||
git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
|
||||
#+end_src
|
||||
Run Emacs and wait ~10 mins to download all packages
|
||||
|
||||
** tmux in User's home directory
|
||||
If you want to build tmux independend of other parts of the system, cut&paste from the code snippet below should do the trick.
|
||||
run export PATH=$HOME/usr/local:$PATH to pick up correct libraries and binaries
|
||||
|
||||
@@ -8,10 +8,8 @@ set -x
|
||||
#
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
# PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4'
|
||||
# PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/userland-pipeline'
|
||||
# PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/akidr-text'
|
||||
PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/on-sru'
|
||||
PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4'
|
||||
PARENT_WS='ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/userland-pipeline'
|
||||
else
|
||||
PARENT_WS=$1
|
||||
fi
|
||||
@@ -26,9 +24,7 @@ SLACK_CHANNEL='@pnyc'
|
||||
DIR=$(pwd)
|
||||
|
||||
REPO=${PARENT_WS##*/} # userland11.4
|
||||
|
||||
# /workspace/pnyc/solaris-reviews/secure-integrate/userland11.4
|
||||
SCRIPT_DIR_BASE=$(echo "$PARENT_WS" | awk '{sub(/^.*\/\//,"/"); print}')
|
||||
SCRIPT_DIR_BASE=${PARENT_WS#*oracle.com/} # /workspace/pnyc/solaris-reviews/secure-integrate/userland11.4
|
||||
MV=/bin/mv
|
||||
RM=/bin/rm
|
||||
CP=/bin/cp
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
# Remove ANSI escape sequences and ^M carriage return characters
|
||||
|
||||
perl -pe 's/\e\[[0-9;]*[mGKHF]//g; s/\r//g'
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# exec &> >(tee -a "${SYSLOG}")
|
||||
# exec &> >(tee -a "${APPLOG}")
|
||||
|
||||
trap 'exit 1' HUP INT QUIT TERM
|
||||
|
||||
# trap 'on_error' EXIT
|
||||
|
||||
log::prefix() {
|
||||
date=$(/opt/homebrew/bin/gdate '+%Y-%m-%d %H:%M:%S,%3N')
|
||||
printf '%s %s\n' "${date}" "${*}"
|
||||
}
|
||||
|
||||
log::notice() {
|
||||
log::info "==> ${*}"
|
||||
}
|
||||
|
||||
log::info() {
|
||||
log::prefix "INFO ${*}"
|
||||
}
|
||||
|
||||
log::debug() {
|
||||
log::prefix "DEBUG ${*}"
|
||||
}
|
||||
|
||||
log::warning() {
|
||||
log::prefix "WARNING ${*}"
|
||||
}
|
||||
|
||||
log::error() {
|
||||
log::prefix "ERROR ${*}" >&2
|
||||
}
|
||||
|
||||
log::fatal() {
|
||||
reason="${1-Unknown or not specified}"
|
||||
log::error "Fatal error. Reason: ${reason}"
|
||||
kill -s TERM $$
|
||||
}
|
||||
|
||||
on_error() {
|
||||
if [ $? -ne 0 ]; then
|
||||
log::fatal "Unhandled script failure"
|
||||
fi
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[[ "$0" == /* ]] && typeset -r PRG=$0 || typeset -r PRG=$PWD/$0
|
||||
|
||||
BINDIR=$(dirname "$PRG")
|
||||
typeset -r BINDIR
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
|
||||
|
||||
W3M=/opt/homebrew/bin/w3m
|
||||
AWK=/usr/bin/awk
|
||||
CURL=/usr/bin/curl
|
||||
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
TARGET="${1-11.4.85.0.1.201.1}"
|
||||
hg_branch="s11u4_sust_084"
|
||||
log::info "TARGET:${TARGET}"
|
||||
|
||||
URL="http://grt.us.oracle.com/grt/webservice/grtList/?gate=240&show=All&gateName=S11.4-SRU&status=4&target=${TARGET}"
|
||||
log::debug $URL
|
||||
|
||||
output=$(/opt/homebrew/bin/w3m "$URL" -M -cols 400 -graph -dump 2>&1)
|
||||
|
||||
out=$(echo "$output" | $AWK '/^Details/ {found=1; next} found && NF')
|
||||
|
||||
if [[ -z "$out" ]];
|
||||
then
|
||||
log::info "There are no queued RTIs for \"${TARGET}\". Nothing to do..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
log::info "Starting build for for Ul11u4SRU"
|
||||
log::info "Target: \"${TARGET}\""
|
||||
|
||||
JENKINS_TOKEN='1154eb0158729a7d326c1db13e7dca0cea'
|
||||
JENKINS_SERVER='http://mrshughes.us.oracle.com/jenkins/'
|
||||
|
||||
JOB_URL="${JENKINS_SERVER}/job/Solaris_11/job/11.4/job/userland-sru/job/userland-sru-build-11.4/buildWithParameters"
|
||||
|
||||
log::info "Using '${JOB_URL}'"
|
||||
|
||||
set -x
|
||||
curl -X POST "${JOB_URL}" \
|
||||
--user "pnyc:${JENKINS_TOKEN}" \
|
||||
--data-urlencode "Build_Label=${TARGET}" \
|
||||
--data-urlencode "hg_branch=${hg_branch}" \
|
||||
--data-urlencode "hguser=petr.nyc@oracle.com" \
|
||||
--data-urlencode "verbose=true" \
|
||||
--data-urlencode "debug=true" \
|
||||
--data-urlencode "scriptdir=./solaris/userland/sru/" \
|
||||
--data-urlencode "do_check_sru_cbe=true" \
|
||||
--data-urlencode "prepare_work_area=true" \
|
||||
--data-urlencode "do_build=true" \
|
||||
--data-urlencode "merge_repo=true" \
|
||||
--data-urlencode "create_sparse_repo=true" \
|
||||
--data-urlencode "check_incorporations=true" \
|
||||
--data-urlencode "zip_sparse_repo=true" \
|
||||
--data-urlencode "create_escrow=true" \
|
||||
--data-urlencode "create_foss=true" \
|
||||
--data-urlencode "integration_dryrun=false" \
|
||||
--data-urlencode "confirm_before_ingegration=false" \
|
||||
--data-urlencode "wait_for_dock_open=true" \
|
||||
--data-urlencode "delivery=true"
|
||||
|
||||
log::info "The job will be started here:"
|
||||
log::info " ${JOB_URL%%buildWith*}"
|
||||
@@ -1,67 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[[ "$0" == /* ]] && typeset -r PRG=$0 || typeset -r PRG=$PWD/$0
|
||||
|
||||
BINDIR=$(dirname "$PRG")
|
||||
typeset -r BINDIR
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
|
||||
|
||||
W3M=/opt/homebrew/bin/w3m
|
||||
AWK=/usr/bin/awk
|
||||
CURL=/usr/bin/curl
|
||||
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
TARGET="${1-11.4.83.0.1.195.1}"
|
||||
hg_branch="s11u4_sust_084"
|
||||
log::info "TARGET:${TARGET}"
|
||||
|
||||
URL="http://grt.us.oracle.com/grt/webservice/grtList/?gate=240&show=All&gateName=S11.4-SRU&status=4&target=${TARGET}"
|
||||
log::debug $URL
|
||||
|
||||
output=$(/opt/homebrew/bin/w3m "$URL" -M -cols 400 -graph -dump 2>&1)
|
||||
|
||||
out=$(echo "$output" | $AWK '/^Details/ {found=1; next} found && NF')
|
||||
|
||||
if [[ -z "$out" ]];
|
||||
then
|
||||
log::info "There are no queued RTIs for \"${TARGET}\". Nothing to do..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
log::info "Starting build for for Ul11u4SRU"
|
||||
log::info "Target: \"${TARGET}\""
|
||||
|
||||
JENKINS_TOKEN='1154eb0158729a7d326c1db13e7dca0cea'
|
||||
JENKINS_SERVER='http://mrshughes.us.oracle.com/jenkins/'
|
||||
|
||||
JOB_URL="${JENKINS_SERVER}/job/Solaris_11/job/11.4/job/userland-sru/job/userland-sru-build-11.4/buildWithParameters"
|
||||
|
||||
log::info "Using '${JOB_URL}'"
|
||||
|
||||
set -x
|
||||
curl -X POST "${JOB_URL}" \
|
||||
--user "pnyc:${JENKINS_TOKEN}" \
|
||||
--data-urlencode "Build_Label=${TARGET}" \
|
||||
--data-urlencode "hg_branch=${hg_branch}" \
|
||||
--data-urlencode "hguser=petr.nyc@oracle.com" \
|
||||
--data-urlencode "verbose=true" \
|
||||
--data-urlencode "debug=true" \
|
||||
--data-urlencode "scriptdir=./solaris/userland/sru/" \
|
||||
--data-urlencode "do_check_sru_cbe=false" \
|
||||
--data-urlencode "prepare_work_area=false" \
|
||||
--data-urlencode "do_build=false" \
|
||||
--data-urlencode "merge_repo=true" \
|
||||
--data-urlencode "create_sparse_repo=true" \
|
||||
--data-urlencode "check_incorporations=true" \
|
||||
--data-urlencode "zip_sparse_repo=true" \
|
||||
--data-urlencode "create_escrow=true" \
|
||||
--data-urlencode "create_foss=true" \
|
||||
--data-urlencode "integration_dryrun=false" \
|
||||
--data-urlencode "confirm_before_ingegration=false" \
|
||||
--data-urlencode "wait_for_dock_open=true" \
|
||||
--data-urlencode "delivery=true"
|
||||
|
||||
log::info "The job will be started here:"
|
||||
log::info " ${JOB_URL%%buildWith*}"
|
||||
@@ -1,59 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# set -x
|
||||
|
||||
[[ "$0" == /* ]] && typeset -r PRG=$0 || typeset -r PRG=$PWD/$0
|
||||
|
||||
BINDIR=$(dirname "$PRG")
|
||||
typeset -r BINDIR
|
||||
|
||||
W3M=/opt/homebrew/bin/w3m
|
||||
AWK=/usr/bin/awk
|
||||
CURL=/usr/bin/curl
|
||||
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
|
||||
TARGET="${1-11.4.85.0.1.201.1}"
|
||||
|
||||
log::info "TARGET:${TARGET}"
|
||||
|
||||
URL="http://grt.us.oracle.com/grt/webservice/grtList/?gate=240&show=All&gateName=S11.4-SRU&status=1&target=${TARGET}"
|
||||
|
||||
log::debug $URL
|
||||
|
||||
output=$(/opt/homebrew/bin/w3m "$URL" -M -cols 400 -graph -dump 2>&1)
|
||||
|
||||
out=$(echo "$output" | awk '/^Details.*Consolidation/ {found=1; next} found')
|
||||
|
||||
if [[ -z "$out" ]];
|
||||
then
|
||||
# log::debug "output: ### $out ###"
|
||||
log::info "There are no queued RTIs for \"${TARGET}\". Nothing to do..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
log::info "Opening the gate for ${TARGET}"
|
||||
|
||||
log::debug "Starting gate open for Ul11u4SRU"
|
||||
log::debug "Target: \"${TARGET}\""
|
||||
|
||||
JENKINS_TOKEN='1154eb0158729a7d326c1db13e7dca0cea'
|
||||
JENKINS_SERVER='http://mrshughes.us.oracle.com/jenkins/'
|
||||
|
||||
JOB_URL="${JENKINS_SERVER}/job/Solaris_11/job/11.4/job/userland-sru/job/userland-sru-gate-open-11.4/buildWithParameters"
|
||||
|
||||
log::info "Using '${JOB_URL}'"
|
||||
|
||||
$CURL -X POST "${JOB_URL}" \
|
||||
--user "pnyc:${JENKINS_TOKEN}" \
|
||||
--data-urlencode "Build_Label=${TARGET}" \
|
||||
--data-urlencode "hguser=petr.nyc@oracle.com" \
|
||||
--data-urlencode "dryrun=false" \
|
||||
--data-urlencode "verbose=true" \
|
||||
--data-urlencode "debug=true" \
|
||||
--data-urlencode "scriptdir=./solaris/userland/sru/" \
|
||||
--data-urlencode "do_gate_open=true"
|
||||
|
||||
log::info "The job will be started here:"
|
||||
log::info " ${JOB_URL%%buildWith*}"
|
||||
@@ -1,65 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[[ "$0" == /* ]] && typeset -r PRG=$0 || typeset -r PRG=$PWD/$0
|
||||
|
||||
BINDIR=$(dirname "$PRG")
|
||||
typeset -r BINDIR
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
|
||||
|
||||
W3M=/opt/homebrew/bin/w3m
|
||||
AWK=/usr/bin/awk
|
||||
CURL=/usr/bin/curl
|
||||
|
||||
source "${BINDIR}/lib/logging.sh"
|
||||
TARGET="${1-11.4.83.0.1.195.1}"
|
||||
log::info "TARGET:${TARGET}"
|
||||
|
||||
URL="http://grt.us.oracle.com/grt/webservice/grtList/?gate=240&show=All&gateName=S11.4-SRU&status=4&target=${TARGET}"
|
||||
log::debug $URL
|
||||
|
||||
output=$(/opt/homebrew/bin/w3m "$URL" -M -cols 400 -graph -dump 2>&1)
|
||||
|
||||
out=$(echo "$output" | $AWK '/^Details/ {found=1; next} found && NF')
|
||||
|
||||
if [[ -z "$out" ]];
|
||||
then
|
||||
log::info "There are no queued RTIs for \"${TARGET}\". Nothing to do..."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
log::info "Starting build for for Ul11u4SRU"
|
||||
log::info "Target: \"${TARGET}\""
|
||||
|
||||
JENKINS_TOKEN='1154eb0158729a7d326c1db13e7dca0cea'
|
||||
JENKINS_SERVER='http://mrshughes.us.oracle.com/jenkins/'
|
||||
|
||||
JOB_URL="${JENKINS_SERVER}/job/Solaris_11/job/11.4/job/userland-sru/job/userland-sru-build-11.4/buildWithParameters"
|
||||
|
||||
log::info "Using '${JOB_URL}'"
|
||||
|
||||
set -x
|
||||
curl -X POST "${JOB_URL}" \
|
||||
--user "pnyc:${JENKINS_TOKEN}" \
|
||||
--data-urlencode "Build_Label=${TARGET}" \
|
||||
--data-urlencode "hguser=petr.nyc@oracle.com" \
|
||||
--data-urlencode "verbose=true" \
|
||||
--data-urlencode "debug=true" \
|
||||
--data-urlencode "scriptdir=./solaris/userland/sru/" \
|
||||
--data-urlencode "do_check_sru_cbe=false" \
|
||||
--data-urlencode "prepare_work_area=false" \
|
||||
--data-urlencode "do_build=false" \
|
||||
--data-urlencode "merge_repo=false" \
|
||||
--data-urlencode "create_sparse_repo=false" \
|
||||
--data-urlencode "check_incorporations=false" \
|
||||
--data-urlencode "zip_sparse_repo=false" \
|
||||
--data-urlencode "create_escrow=false" \
|
||||
--data-urlencode "create_foss=false" \
|
||||
--data-urlencode "integration_dryrun=false" \
|
||||
--data-urlencode "confirm_before_ingegration=false" \
|
||||
--data-urlencode "wait_for_dock_open=true" \
|
||||
--data-urlencode "delivery=true"
|
||||
|
||||
log::info "The job will be started here:"
|
||||
log::info " ${JOB_URL%%buildWith*}"
|
||||
82
bootstrap.sh
82
bootstrap.sh
@@ -1,82 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -x
|
||||
|
||||
check_installed() {
|
||||
_pkgs=("$@")
|
||||
all_installed=true
|
||||
for pkg in "${_pkgs[@]}"; do
|
||||
if ! command -v "$pkg" > /dev/null 2>&1; then
|
||||
all_installed=false
|
||||
break
|
||||
fi
|
||||
done
|
||||
$all_installed && return 0 || return 1
|
||||
}
|
||||
|
||||
install_packages() {
|
||||
# List of packages to install
|
||||
packages=(zsh git)
|
||||
|
||||
if ! check_installed "${packages[@]}"; then
|
||||
# Determine which package manager is available
|
||||
if check_installed apt; then
|
||||
echo "Using apt to install packages..."
|
||||
sudo apt update
|
||||
sudo apt install -y "${packages[@]}"
|
||||
elif check_installed dnf; then
|
||||
echo "Using dnf to install packages..."
|
||||
sudo dnf install -y "${packages[@]}"
|
||||
elif check_installed yum; then
|
||||
echo "Using yum to install packages..."
|
||||
sudo yum install -y "${packages[@]}"
|
||||
elif check_installed brew; then
|
||||
echo "Using Homebrew to install packages..."
|
||||
brew install "${packages[@]}"
|
||||
else
|
||||
echo "No supported package manager found (apt, dnf, yum, brew)."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
clone_repos () {
|
||||
git clone --bare https://git.meinlschmidt.org/jetpac/dotfiles.git ~/.cfg
|
||||
# alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
|
||||
git --git-dir=$HOME/.cfg config --local status.showUntrackedFiles no
|
||||
git --git-dir=$HOME/.cfg --work-tree=$HOME checkout
|
||||
|
||||
|
||||
# install oh-my-zsh
|
||||
curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh > /tmp/install_ohmyzsh.sh
|
||||
bash /tmp/install_ohmyzsh.sh --unattended --skip-chsh --keep-zshrc
|
||||
|
||||
# powerlevel10k
|
||||
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
|
||||
|
||||
# tmux tpm plugin manager
|
||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||
|
||||
# plug for installing vim plugins
|
||||
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||
}
|
||||
|
||||
configure_vim() {
|
||||
vim +PlugInstall +qall
|
||||
}
|
||||
|
||||
configure_tmux() {
|
||||
echo "run tmux, prefix + I installs all plugins (needs to have proxies set)"
|
||||
echo "export proxies and run $HOME/.tmux/plugins/tpm/bin/install_plugins all"
|
||||
}
|
||||
|
||||
|
||||
# Call the function to execute the installation
|
||||
install_packages
|
||||
clone_repos
|
||||
configure_vim
|
||||
configure_tmux
|
||||
|
||||
|
||||
|
||||
# vim: foldmethod=marker:foldmarker={,}:expandtab:sw=4:ts=4:
|
||||
Reference in New Issue
Block a user