Compare commits
1 Commits
b1885f5463
...
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=86
|
||||
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]
|
||||
Modified git files=git ls-files --modified
|
||||
Find rejects after patching=find . -name \\*.rej -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
|
||||
|
||||
14
.gitconfig
14
.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,9 +41,5 @@
|
||||
; modulePath = /usr/lib/apache2/modules
|
||||
[init]
|
||||
defaultBranch = master
|
||||
[webui]
|
||||
autoupdate = true
|
||||
; [color]
|
||||
; ui = auto
|
||||
[http]
|
||||
sslVerify = false
|
||||
[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 $@
|
||||
|
||||
2
.mailcap
2
.mailcap
@@ -1,2 +0,0 @@
|
||||
# inspiration here: https://emacs.stackexchange.com/questions/63436/is-there-some-way-to-view-the-html-part-of-an-email-in-an-external-browser-or-as
|
||||
text/html; open %s; nametemplate=%s.html
|
||||
@@ -1,82 +0,0 @@
|
||||
# .notmuch-config - Configuration file for the notmuch mail system
|
||||
#
|
||||
# For more information about notmuch, see https://notmuchmail.org
|
||||
# Database configuration
|
||||
#
|
||||
# Supported values are 'mail_root' and 'path'. The recommended option
|
||||
# is to set 'mail_root' to the directory where your mail currently exists
|
||||
# and to where mail will be delivered in the future. Files should be
|
||||
# individual email messages. By default notmuch will store its database
|
||||
# in $XDG_DATA_HOME/notmuch; you can override this by setting 'path'.
|
||||
# If only 'path' is set, this directory is for 'mail_root' and for
|
||||
# the database location (in a subdirectory called ".notmuch").
|
||||
#
|
||||
[database]
|
||||
path=/Users/jetpac/.mail
|
||||
# User configuration
|
||||
#
|
||||
# Here is where you can let notmuch know how you would like to be
|
||||
# addressed. Valid settings are
|
||||
#
|
||||
# name Your full name.
|
||||
# primary_email Your primary email address.
|
||||
# other_email A list (separated by ';') of other email addresses
|
||||
# at which you receive email.
|
||||
#
|
||||
# Notmuch will use the various email addresses configured here when
|
||||
# formatting replies. It will avoid including your own addresses in the
|
||||
# recipient list of replies, and will set the From address based on the
|
||||
# address to which the original email was addressed.
|
||||
#
|
||||
[user]
|
||||
primary_email=petr.nyc@oracle.com
|
||||
# Configuration for "notmuch new"
|
||||
#
|
||||
# The following options are supported here:
|
||||
#
|
||||
# tags A list (separated by ';') of the tags that will be
|
||||
# added to all messages incorporated by "notmuch new".
|
||||
#
|
||||
# ignore A list (separated by ';') of file and directory names
|
||||
# that will not be searched for messages by "notmuch new".
|
||||
#
|
||||
# NOTE: *Every* file/directory that goes by one of those
|
||||
# names will be ignored, independent of its depth/location
|
||||
# in the mail store.
|
||||
#
|
||||
[new]
|
||||
ignore=.mbsyncstate;.uidvalidity;
|
||||
tags=unread;inbox;new
|
||||
# Search configuration
|
||||
#
|
||||
# The following option is supported here:
|
||||
#
|
||||
# exclude_tags
|
||||
# A ;-separated list of tags that will be excluded from
|
||||
# search results by default. Using an excluded tag in a
|
||||
# query will override that exclusion.
|
||||
#
|
||||
[search]
|
||||
# Maildir compatibility configuration
|
||||
#
|
||||
# The following option is supported here:
|
||||
#
|
||||
# synchronize_flags Valid values are true and false.
|
||||
synchronize_flags=true
|
||||
#
|
||||
# If true, then the following maildir flags (in message filenames)
|
||||
# will be synchronized with the corresponding notmuch tags:
|
||||
#
|
||||
# Flag Tag
|
||||
# ---- -------
|
||||
# D draft
|
||||
# F flagged
|
||||
# P passed
|
||||
# R replied
|
||||
# S unread (added when 'S' flag is not present)
|
||||
#
|
||||
# The "notmuch new" command will notice flag changes in filenames
|
||||
# and update tags, while the "notmuch tag" and "notmuch restore"
|
||||
# commands will notice tag changes and update flags in filenames
|
||||
#
|
||||
[maildir]
|
||||
16
.p10k.zsh
16
.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
|
||||
@@ -109,8 +109,8 @@
|
||||
newline
|
||||
# ip # ip address and bandwidth usage for a specified network interface
|
||||
# public_ip # public IP address
|
||||
proxy # system-wide http/https/ftp proxy
|
||||
battery # internal battery
|
||||
# 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.
|
||||
@@ -553,7 +553,7 @@
|
||||
|
||||
#######################[ background_jobs: presence of background jobs ]#######################
|
||||
# Don't show the number of background jobs.
|
||||
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=true
|
||||
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
|
||||
# Background jobs color.
|
||||
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70
|
||||
# Custom icon.
|
||||
@@ -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.
|
||||
@@ -1536,7 +1536,7 @@
|
||||
# Battery pictograms going from low to high level of charge.
|
||||
typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578'
|
||||
# Don't show the remaining time to charge/discharge.
|
||||
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=true
|
||||
typeset -g POWERLEVEL9K_BATTERY_VERBOSE=false
|
||||
|
||||
#####################################[ wifi: wifi speed ]#####################################
|
||||
# WiFi 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
|
||||
1551
.spacemacs
1551
.spacemacs
File diff suppressed because it is too large
Load Diff
@@ -1,16 +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
|
||||
|
||||
Host dabel dabel.us.oracle.com andel andel.us.oracle.com gates gates.us.oracle.com
|
||||
User pnyc
|
||||
IdentityFile ~/.ssh/dabel.key
|
||||
RequestTTY yes
|
||||
|
||||
|
||||
@@ -1,170 +0,0 @@
|
||||
# Include config-scm
|
||||
|
||||
|
||||
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 osd-fra
|
||||
User desktopuser
|
||||
HostName 100.109.60.126
|
||||
IdentityFile ~/.ssh/id_ed25519
|
||||
|
||||
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
|
||||
|
||||
|
||||
# for SCM
|
||||
Host oci.private.devops.scmservice.us-phoenix-1.oci.oracleiaas.com
|
||||
PKCS11Provider /Library/OpenSC/lib/opensc-pkcs11.so
|
||||
User pnyc@bmc_operator_access
|
||||
|
||||
|
||||
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 andel andel.us.oracle.com gates gates.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
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
#!/bin/bash
|
||||
export SSH_SCM_AUTH_SOCK="$HOME/.ssh/scm-agent.sock"
|
||||
SCRIPT_VERSION=1
|
||||
|
||||
# Starts the custom SSH agent.
|
||||
start_scm_ssh_agent() {
|
||||
# Check if the socket file exists
|
||||
if [ -S "$SSH_SCM_AUTH_SOCK" ]; then
|
||||
# If the socket exists, check if the SSH agent process is running
|
||||
AGENT_PID=$(ps aux | grep $SSH_SCM_AUTH_SOCK | grep -v grep | head -1 | awk '{print $2}')
|
||||
|
||||
# If no associated process is found or the agent isn't running, start a new SSH agent
|
||||
if [ -z "$AGENT_PID" ]; then
|
||||
echo "Socket exists but no running agent, starting new SSH agent..."
|
||||
rm $SSH_SCM_AUTH_SOCK
|
||||
eval $(ssh-agent -a "$SSH_SCM_AUTH_SOCK")
|
||||
else
|
||||
# If the agent is already running, use the existing one
|
||||
echo "SSH agent already running with PID: $AGENT_PID, using existing agent."
|
||||
fi
|
||||
else
|
||||
# If the socket doesn't exist, start a new SSH agent
|
||||
echo "Socket doesn't exist, starting new SCM SSH agent..."
|
||||
ssh-agent -a "$SSH_SCM_AUTH_SOCK"
|
||||
fi
|
||||
}
|
||||
|
||||
# Stops the custom SSH agent.
|
||||
stop_scm_ssh_agent() {
|
||||
# Check if the socket file exists
|
||||
if [ -S "$SSH_SCM_AUTH_SOCK" ]; then
|
||||
# If the socket exists, check if the SSH agent process is running
|
||||
AGENT_PID=$(ps aux | grep $SSH_SCM_AUTH_SOCK | grep -v grep | head -1 | awk '{print $2}')
|
||||
|
||||
# If no associated process is found or the agent isn't running, start a new SSH agent
|
||||
if [ -z "$AGENT_PID" ]; then
|
||||
echo "Socket exists but no running agent, removing the socket..."
|
||||
rm $SSH_SCM_AUTH_SOCK
|
||||
else
|
||||
# If the agent is already running, use the existing one
|
||||
echo "Killing SSH agent running with PID: $AGENT_PID ..."
|
||||
SSH_AGENT_PID=$AGENT_PID ssh-agent -k
|
||||
fi
|
||||
else
|
||||
# If the socket doesn't exist, start a new SSH agent
|
||||
echo "Socket doesn't exist, nothing to do to stop SSH agent."
|
||||
fi
|
||||
}
|
||||
|
||||
ssh_add() {
|
||||
ssh_reset
|
||||
}
|
||||
|
||||
ssh_reset() {
|
||||
echo "Clearing and reloading the card..."
|
||||
local providers=("/usr/local/lib/libykcs11.dylib" "/usr/lib64/opensc-pkcs11.so" "/usr/local/lib/opensc-pkcs11.so")
|
||||
|
||||
if [[ -S "$SSH_SCM_AUTH_SOCK" ]]; then
|
||||
SSH_AUTH_SOCK="$SSH_SCM_AUTH_SOCK" ssh-add -D
|
||||
|
||||
local provider_path="$1"
|
||||
if [[ -z "$provider_path" ]]; then
|
||||
for path in "${providers[@]}"; do
|
||||
if [[ -e "$path" ]]; then
|
||||
echo "Using provider '${provider_path}'"
|
||||
SSH_AUTH_SOCK="$SSH_SCM_AUTH_SOCK" ssh-add -e "$path"
|
||||
SSH_AUTH_SOCK="$SSH_SCM_AUTH_SOCK" ssh-add -s "$path"
|
||||
return
|
||||
fi
|
||||
done
|
||||
elif [[ -e "$provider_path" ]]; then
|
||||
SSH_AUTH_SOCK="$SSH_SCM_AUTH_SOCK" ssh-add -e "$provider_path"
|
||||
SSH_AUTH_SOCK="$SSH_SCM_AUTH_SOCK" ssh-add -s "$provider_path"
|
||||
else
|
||||
echo "Invalid provider path: $provider_path"
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
read -p "SSH agent socket not found at $sock_path. Continue with default SSH Agent (without SSH_AUTH_SOCK) or you may run 'start_agent' command to setup one? (y/n): " confirm
|
||||
if [[ "$confirm" != "y" ]]; then
|
||||
echo "Aborted."
|
||||
return 1
|
||||
fi
|
||||
|
||||
ssh-add -D
|
||||
|
||||
local provider_path="$1"
|
||||
if [[ -z "$provider_path" ]]; then
|
||||
for path in "${providers[@]}"; do
|
||||
if [[ -e "$path" ]]; then
|
||||
ssh-add -e "$path"
|
||||
ssh-add -s "$path"
|
||||
return
|
||||
fi
|
||||
done
|
||||
elif [[ -e "$provider_path" ]]; then
|
||||
ssh-add -e "$provider_path"
|
||||
ssh-add -s "$provider_path"
|
||||
else
|
||||
echo "Invalid provider path: $provider_path"
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
install() {
|
||||
local script_path="$HOME/.ssh/scm-script.sh"
|
||||
mkdir -p "$HOME/.ssh"
|
||||
chmod 700 $HOME/.ssh
|
||||
cp "$0" "$script_path"
|
||||
chmod +x "$script_path"
|
||||
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
install_yubico_piv_tool_mac
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
install_yubico_piv_tool_linux
|
||||
else
|
||||
echo "Unsupported OS"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
local profile_file
|
||||
if [[ $SHELL == "/bin/bash" ]]; then
|
||||
profile_file="$HOME/.bashrc"
|
||||
else
|
||||
profile_file="$HOME/.zshrc"
|
||||
fi
|
||||
|
||||
if ! grep -q "Include config-scm" "$HOME/.ssh/config"; then
|
||||
|
||||
cat <<< "Include config-scm
|
||||
$(cat $HOME/.ssh/config)
|
||||
" > $HOME/.ssh/config
|
||||
|
||||
cat > $HOME/.ssh/config-scm << EOF
|
||||
Host oci*.private.devops.scmservice.*.oci.oracleiaas.com
|
||||
User $(whoami)@bmc_operator_access
|
||||
IdentityAgent $HOME/.ssh/scm-agent.sock
|
||||
EOF
|
||||
fi
|
||||
|
||||
if ! grep -q "alias scm-ssh='$script_path'" "$profile_file"; then
|
||||
echo "" >> "$profile_file"
|
||||
echo "" >> "$profile_file"
|
||||
echo "alias scm-ssh='$script_path'" >> "$profile_file"
|
||||
echo "scm-ssh start_agent" >> "$profile_file"
|
||||
fi
|
||||
|
||||
|
||||
echo "SCM script installed successfully. Please restart your terminal or run 'source $profile_file' to apply changes."
|
||||
}
|
||||
|
||||
install_yubico_piv_tool_linux() {
|
||||
local providers=("/usr/local/lib/libykcs11.dylib" "/usr/lib64/opensc-pkcs11.so" "/usr/local/lib/opensc-pkcs11.so")
|
||||
|
||||
for path in "${providers[@]}"; do
|
||||
if [[ -e "$path" ]]; then
|
||||
return
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Automatic install not supported. Please install OpenSC or Yubico PIV Tool manually."
|
||||
}
|
||||
|
||||
install_yubico_piv_tool_mac() {
|
||||
local url="https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-latest-mac-universal.pkg"
|
||||
local pkg_file="/tmp/yubico-piv-tool-latest-mac-universal.pkg"
|
||||
local lib_path="/usr/local/lib/libykcs11.dylib"
|
||||
|
||||
if [[ -f $lib_path ]]; then
|
||||
echo "Yubico PIV tool is already installed at $lib_path. Skipping..."
|
||||
return 0
|
||||
fi
|
||||
|
||||
|
||||
echo "Downloading Yubico PIV Tool..."
|
||||
curl -L "$url" -o "$pkg_file"
|
||||
|
||||
if [[ ! -f "$pkg_file" ]]; then
|
||||
echo "Download failed!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
|
||||
|
||||
echo "Installing Yubico PIV Tool... (sudo password might be required)"
|
||||
|
||||
if sudo installer -pkg "$pkg_file" -target /; then
|
||||
echo "Installation of Yubico PIV Tool complete"
|
||||
else
|
||||
echo "Install failed"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Cleanup
|
||||
rm "$pkg_file"
|
||||
|
||||
echo "Verifying installation..."
|
||||
|
||||
if [[ -f "$lib_path" ]]; then
|
||||
echo "Library $lib_path is present!"
|
||||
else
|
||||
echo "Library $lib_path is missing! Installation might be incomplete."
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
scm_script_help() {
|
||||
echo "Usage: $0 <command> [args...]"
|
||||
echo "---------------------------"
|
||||
echo "Commands:"
|
||||
echo " start_agent - Starts the SCM ssh agent."
|
||||
echo " stop_agent - Stops the SCM ssh agent."
|
||||
echo " ssh_reset - Clears and reload the Yubikey to the agent."
|
||||
echo " ssh_add - Alias to ssh_reset."
|
||||
echo " install - Installs scm command by copying script to ~/.ssh/scm-script.sh and adding alias to the profile."
|
||||
echo " install_yubico_piv_tool - Download and install Yubikey PIV tool"
|
||||
echo " help - Displays this help message."
|
||||
echo "---------------------------"
|
||||
echo "Completed execution of SCM Script v${SCRIPT_VERSION}."
|
||||
}
|
||||
|
||||
# Prevent execution when sourced in both bash and zsh
|
||||
if [[ -n "$ZSH_VERSION" ]]; then
|
||||
return # For zsh
|
||||
elif [[ -n "$BASH_VERSION" && "${BASH_SOURCE[0]}" != "$0" ]]; then
|
||||
return # For bash
|
||||
fi
|
||||
|
||||
# Check if at least one argument is provided
|
||||
if [ "$#" -lt 1 ]; then
|
||||
scm_script_help
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extract the command
|
||||
COMMAND="$1"
|
||||
shift # Remove the first argument
|
||||
|
||||
# Execute the corresponding function
|
||||
case "$COMMAND" in
|
||||
start_agent)
|
||||
start_scm_ssh_agent "$@"
|
||||
;;
|
||||
stop_agent)
|
||||
stop_scm_ssh_agent "$@"
|
||||
;;
|
||||
ssh_reset)
|
||||
ssh_reset "$@"
|
||||
;;
|
||||
ssh_add)
|
||||
ssh_add "$@"
|
||||
;;
|
||||
install)
|
||||
install "$@"
|
||||
;;
|
||||
install_yubico_piv_tool)
|
||||
install_yubico_piv_tool "$@"
|
||||
;;
|
||||
*)
|
||||
echo "Invalid command. Use help."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
echo "Completed execution of SCM Script v${SCRIPT_VERSION}."
|
||||
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"
|
||||
|
||||
|
||||
31
.tridactylrc
31
.tridactylrc
@@ -1,31 +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
|
||||
|
||||
" pentadactyl-style tab switching
|
||||
bind J tabnext
|
||||
bind K tabprev
|
||||
|
||||
blacklistadd https://www.youtube.com/
|
||||
blacklistadd https://login.us-phoenix-1.idp.mc1.oracleiaas.com/
|
||||
blacklistadd https://jellyfin.cloud.jetpac.org
|
||||
" blacklistadd https://grt.us.oracle.com
|
||||
" auto-contain
|
||||
|
||||
" 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)
|
||||
|
||||
91
.zshenv
91
.zshenv
@@ -2,40 +2,14 @@ set -o vi
|
||||
|
||||
export LC_ALL=en_US.UTF-8
|
||||
|
||||
export PATH=/Users/jetpac/.asdf/shims/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/jetpac/work/flutter/bin:$HOME/.rd/bin:$HOME/bin:$PATH:$HOME/.fzf/bin
|
||||
|
||||
# homebrew config
|
||||
# output of brew shellenv
|
||||
export HOMEBREW_PREFIX="/opt/homebrew";
|
||||
export HOMEBREW_CELLAR="/opt/homebrew/Cellar";
|
||||
export HOMEBREW_REPOSITORY="/opt/homebrew";
|
||||
fpath[1,0]="/opt/homebrew/share/zsh/site-functions";
|
||||
eval "$(/usr/bin/env PATH_HELPER_ROOT="/opt/homebrew" /usr/libexec/path_helper -s)"
|
||||
[ -z "${MANPATH-}" ] || export MANPATH=":${MANPATH#:}";
|
||||
export INFOPATH="/opt/homebrew/share/info:${INFOPATH:-}";
|
||||
|
||||
|
||||
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'
|
||||
# Force mc to use bash for its subshell
|
||||
alias mc='SHELL=/bin/bash mc'
|
||||
|
||||
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
|
||||
@@ -92,63 +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
|
||||
alias scm-ssh='/Users/jetpac/.ssh/scm-script.sh'
|
||||
export PATH=$PATH:/Users/jetpac/Documents/flutter-dev-env/bin
|
||||
|
||||
141
.zshrc
141
.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=(git rsync conda 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,80 +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 <<<
|
||||
|
||||
#### <BEGIN conda zsh completion>
|
||||
# --- Enable conda autocompletion ---
|
||||
if command -v conda &>/dev/null; then
|
||||
# Ensure Conda hook is loaded
|
||||
eval "$(conda shell.zsh hook)"
|
||||
|
||||
# Add Conda's completion functions to zsh's function path
|
||||
_conda_zsh_completions_dir="$(conda info --base)/etc/profile.d"
|
||||
if [ -d "$_conda_zsh_completions_dir" ]; then
|
||||
fpath+=("$_conda_zsh_completions_dir")
|
||||
fi
|
||||
fi
|
||||
|
||||
autoload -U compinit && compinit
|
||||
#### <END conda zsh completion>
|
||||
|
||||
|
||||
|
||||
# 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 {}'"
|
||||
|
||||
# set to system ssh-agent
|
||||
if command -v launchctl >/dev/null 2>&1; then
|
||||
export SSH_AUTH_SOCK="$(launchctl getenv SSH_AUTH_SOCK)"
|
||||
fi
|
||||
|
||||
export GPG_TTY=$(tty)
|
||||
# conda initialize
|
||||
conda activate osd-dev
|
||||
|
||||
@@ -89,6 +89,12 @@
|
||||
"Text" : "01 6c",
|
||||
"Version" : 1
|
||||
},
|
||||
"0x6e-0x80000-0x2d" : {
|
||||
"Action" : 11,
|
||||
"Label" : "",
|
||||
"Text" : "01 6e",
|
||||
"Version" : 1
|
||||
},
|
||||
"0x70-0x80000-0x23" : {
|
||||
"Action" : 11,
|
||||
"Label" : "",
|
||||
|
||||
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
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#!/bin/ksh
|
||||
#
|
||||
# Script to perform certain operations in the US, because I'm lazy :-)
|
||||
#
|
||||
|
||||
ssh pnyc@scapen-cs11u4-1.us.oracle.com /home/pdmitche/bin/nightly_history.ksh $@
|
||||
@@ -4,14 +4,12 @@ set -e
|
||||
set -x
|
||||
|
||||
# function to get PARENT_WS as a parameter
|
||||
# default value is 'ssh://pnyc@andel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4'
|
||||
# default value is 'ssh://pnyc@dabel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4'
|
||||
#
|
||||
|
||||
if [[ -z $1 ]]; then
|
||||
# PARENT_WS='ssh://pnyc@andel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4'
|
||||
# PARENT_WS='ssh://pnyc@andel.us.oracle.com//workspace/pnyc/solaris-reviews/userland-pipeline'
|
||||
# PARENT_WS='ssh://pnyc@andel.us.oracle.com//workspace/pnyc/solaris-reviews/akidr-text'
|
||||
PARENT_WS='ssh://pnyc@andel.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,101 +0,0 @@
|
||||
# common useful functions
|
||||
|
||||
w3m_safe() {
|
||||
url="$1"
|
||||
|
||||
output=$(/opt/homebrew/bin/w3m "$url" -M -cols 400 -graph -dump 2>&1)
|
||||
|
||||
if echo "$output" | grep -q "Can't load"; then
|
||||
return 2
|
||||
else
|
||||
echo "$output"
|
||||
return 0
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
# Returns:
|
||||
# 0 = server reachable & remote command ran
|
||||
# 1 = network/host-not-up-yet
|
||||
# 2 = SSH auth failure (key needs passphrase / wrong key / agent locked) -> caller should abort
|
||||
# 3 = host not found
|
||||
is_server_up() {
|
||||
local host err st err_lc
|
||||
host=$1
|
||||
|
||||
# return 3 if the host does not exist
|
||||
host "$host" 2>&1 > /dev/null || return 3
|
||||
|
||||
# Capture only stderr; do NOT use -q (it suppresses diagnostics we need to classify).
|
||||
# Force English messages for stable matching.
|
||||
err=$(LC_ALL=C /usr/bin/ssh \
|
||||
-o BatchMode=yes \
|
||||
-o PreferredAuthentications=publickey \
|
||||
-o PubkeyAuthentication=yes \
|
||||
-o PasswordAuthentication=no \
|
||||
-o KbdInteractiveAuthentication=no \
|
||||
-o NumberOfPasswordPrompts=0 \
|
||||
-o ConnectTimeout=10 \
|
||||
-o ServerAliveInterval=20 \
|
||||
-o ServerAliveCountMax=3 \
|
||||
-o ConnectionAttempts=1 \
|
||||
-o StrictHostKeyChecking=no \
|
||||
-o UserKnownHostsFile=/dev/null \
|
||||
-o LogLevel=ERROR \
|
||||
-n "$host" 'uname -n || hostname' 2>&1 >/dev/null)
|
||||
st=$?
|
||||
|
||||
# Success
|
||||
[ $st -eq 0 ] && return 0
|
||||
|
||||
# ssh uses 255 for any error; distinguish by stderr text
|
||||
err_lc=$(printf '%s' "$err" | tr '[:upper:]' '[:lower:]')
|
||||
|
||||
case $err_lc in
|
||||
# Common auth/passphrase/agent problems
|
||||
*"permission denied"*|\
|
||||
*"no supported authentication methods available"*|\
|
||||
*"publickey authentication failed"*|\
|
||||
*"too many authentication failures"*|\
|
||||
*"sign_and_send_pubkey: signing failed"*|\
|
||||
*"agent refused operation"*|\
|
||||
*"agent admitted failure"*|\
|
||||
*"bad permissions"*|\
|
||||
*"enter passphrase"*)
|
||||
printf 'FATAL: SSH authentication failed for "%s": %s\n' "$host" "$err" >&2
|
||||
return 2
|
||||
;;
|
||||
esac
|
||||
|
||||
# Everything else looks like "not up yet" (timeout, DNS, connection refused/reset, kex read, etc.)
|
||||
return 1
|
||||
}
|
||||
|
||||
wait_for_server_to_boot_up() {
|
||||
local server rc
|
||||
server=$1
|
||||
while :; do
|
||||
is_server_up "$server"
|
||||
rc=$?
|
||||
case $rc in
|
||||
0)
|
||||
printf '"%s" is up and running.\n' "$server"
|
||||
return 0
|
||||
;;
|
||||
2)
|
||||
printf 'Aborting: SSH authentication failed for "%s" (key needs passphrase / wrong key / agent locked).\n' "$server" >&2
|
||||
return 2
|
||||
;;
|
||||
3)
|
||||
printf 'Aborting: Host not found.\n' "$server" >&2
|
||||
return 3
|
||||
;;
|
||||
*)
|
||||
printf 'Server "%s" is not up\n' "$server"
|
||||
sleep 10
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# vim: set ts=4 sw=4 tw=0 noet ft=sh:
|
||||
@@ -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
|
||||
}
|
||||
@@ -3,14 +3,6 @@
|
||||
# when the first positional command line parameter is 'on'
|
||||
# and unsets them when the first positional command line parameter is 'off'
|
||||
#
|
||||
# proxy locations are documented at:
|
||||
# https://confluence.oraclecorp.com/confluence/pages/viewpage.action?spaceKey=CORPNET&title=Corporate+Proxy+Environment
|
||||
#
|
||||
# this will get the first defined proxy from the PAC file:
|
||||
# WPAD=http://wpad.oraclecorp.com/wpad.dat
|
||||
# L_PROXY=$(curl -s "$WPAD" | \
|
||||
# grep 'proxies =' | sed -n 's/^[^"]*"\(.*\)".*/\1/p' | \
|
||||
# tr ';' '\n' | grep 'PROXY' | head -1 | sed 's/PROXY //')
|
||||
#
|
||||
# usage:
|
||||
# source proxy off
|
||||
|
||||
469
bin/retag-email
469
bin/retag-email
@@ -1,469 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
#
|
||||
# script to tag notmuch emails based on my preference
|
||||
#
|
||||
# inspired by https://forsooth.org/posts/email-in-spacemacs/index.html
|
||||
#
|
||||
#
|
||||
# tags: important solaris oci osd
|
||||
#
|
||||
#
|
||||
|
||||
notmuch tag +sent -unread 'folder:/[Ss]ent.*/'
|
||||
|
||||
notmuch tag +me to:petr.nyc@oracle.com
|
||||
|
||||
# idea for logic
|
||||
# sort by projects, don't unset new/read tag
|
||||
# at the very bottom, unset the new/read tag based on if I'm interested in the latest
|
||||
# status for the project / logs for the project and so on - good for stepping for someone
|
||||
|
||||
# General sorting rules not specific to projects
|
||||
################################################################################
|
||||
notmuch tag +important -- \
|
||||
tag:new AND "
|
||||
(
|
||||
subject:/[Cc]omplete.*[Tt]raining/ OR
|
||||
subject:/.*Reminder:?/ OR
|
||||
from:elanor.cz OR
|
||||
from:payroll_cz OR
|
||||
from:instructor.cz OR
|
||||
subject:Expense Report Approval OR
|
||||
subject:/[Aa]ction.[Nn]eeded/ OR
|
||||
from:permissions.oci.oraclecloud.com
|
||||
)"
|
||||
notmuch tag +general \
|
||||
tag:new AND "(
|
||||
subject:'Oracle Open Roles' OR
|
||||
from:tania.c.cortez OR
|
||||
from:info@eduagroup.cz OR
|
||||
subject:'FYI: Expense Reimbursement'
|
||||
)"
|
||||
|
||||
notmuch tag +calendar \
|
||||
tag:new AND mimetype:text/calendar
|
||||
|
||||
|
||||
# Solaris
|
||||
################################################################################
|
||||
|
||||
# general solaris
|
||||
notmuch tag +solaris +logs +mrspatmore -- \
|
||||
tag:new AND "(
|
||||
subject:/.*BugDB.*release.deployment/ OR
|
||||
subject:import/sig_ci/mercurial/mrspatmore OR
|
||||
(from:vcap_admin_ww_grp AND subject:/WARNING:|INFO:/)
|
||||
)"
|
||||
|
||||
notmuch tag +solaris +logs \
|
||||
tag:new AND 'subject:Next IDR ID is'
|
||||
notmuch tag +solaris \
|
||||
tag:new AND "(
|
||||
from:deirdre.williams@oracle.com AND subject:'Sustaining Meeting'
|
||||
)"
|
||||
|
||||
# phabricator
|
||||
notmuch tag +phabricator +logs -me \
|
||||
tag:new AND \
|
||||
from:noreply@scapen-phabricator.us.oracle.com
|
||||
|
||||
notmuch tag +s11u3-sru +on \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND
|
||||
subject:/rONCLOSED|rONMAN|rONSRC/ and subject:/11.3/
|
||||
)"
|
||||
|
||||
notmuch tag +s11u3-sru +userland \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND
|
||||
subject:/\[Diffusion\].*rUSERLAND.*11\.3/
|
||||
)"
|
||||
|
||||
notmuch tag +s11u4-sru +userland \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND
|
||||
subject:/\[Diffusion\].*rUSERLAND.*11\.4/
|
||||
)"
|
||||
|
||||
notmuch tag +mrspatmore \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND \
|
||||
subject:/\[Diffusion\].*rMRSPATMORE/
|
||||
)"
|
||||
|
||||
notmuch tag +mrspatmore \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND \
|
||||
subject:/\[Diffusion\].*rREJENKINSLIB/
|
||||
)"
|
||||
|
||||
notmuch tag +IPS \
|
||||
tag:new AND "(
|
||||
tag:phabricator AND \
|
||||
( ( subject:/\[Differential\]/ and body:REPOSITORY NEAR/1 rPKG ) OR
|
||||
( subject:/\[Diffusion\]/ and body:COMMITS NEAR rPKG )
|
||||
)
|
||||
)"
|
||||
|
||||
# akidr
|
||||
notmuch tag +akidr +logs -unread \
|
||||
tag:new AND "(
|
||||
from:vcap_admin_ww_grp AND
|
||||
subject:'Docker with ARU uploadcli has been automatically frozen'
|
||||
)"
|
||||
|
||||
notmuch tag +akidr \
|
||||
tag:new AND "(
|
||||
to:'bot@artas' OR
|
||||
from:'bot@artas' OR
|
||||
to:'fishworks-gk_ww_grp@oracle.com' OR
|
||||
subject:'PASS s11_4aksruidr' OR
|
||||
subject:'Build started for AK IDR' OR
|
||||
subject:'New AK IDR request for'
|
||||
)"
|
||||
|
||||
notmuch tag +akidr +logs -unread \
|
||||
tag:new AND "(
|
||||
from:'vcap_admin_ww_grp@oracle.com' AND \
|
||||
subject:'ARU Uploads has been frozen for' AND \
|
||||
subject:'this is a reminder please review'
|
||||
)"
|
||||
|
||||
notmuch tag +akidr +logs +important \
|
||||
tag:new AND "(
|
||||
(from:sig-devops_ww_grp OR from:adam.paul) AND \
|
||||
subject:/8\.\8.*idr.*DC.*has.failed/
|
||||
)"
|
||||
|
||||
|
||||
# WebRTI
|
||||
notmuch tag +webrti \
|
||||
tag:new AND "(
|
||||
body:Consolidation: AND
|
||||
body:RTI: AND
|
||||
subject:WebRTI:
|
||||
)"
|
||||
notmuch tag +important \
|
||||
tag:new AND "(
|
||||
tag:webrti AND
|
||||
to:petr.nyc and
|
||||
subject:/NEED.APPROVAL.*WebRTI/
|
||||
)"
|
||||
|
||||
|
||||
# BugDB
|
||||
notmuch tag +bugdb \
|
||||
tag:new AND "(
|
||||
from:ociapp-notifications and subject:/ER|Bug/
|
||||
)"
|
||||
|
||||
# ON
|
||||
notmuch tag +on tag:new AND "(tag:webrti AND body:Consolidation: NEAR/1 on"
|
||||
|
||||
notmuch tag +s11u3-sru tag:new AND "(tag:webrti AND tag:on AND body:Gates: S11.SRU.Sustaining)"
|
||||
|
||||
notmuch tag +s11u3-sru tag:new AND "(subject:/Solaris.*11.3.*[Rr]eleased/)"
|
||||
notmuch tag +s11u4-sru tag:new AND "(subject:/Solaris.*11.4.*[Rr]eleased/)"
|
||||
|
||||
notmuch tag +s11u4-sru +logs +on \
|
||||
tag:new and 'from:/root@sig-on-sru11-3-[xs]01/'
|
||||
|
||||
notmuch tag +s11u4-sru tag:new AND "(
|
||||
tag:webrti AND tag:on AND body:Gates: 11.4-SRU
|
||||
)"
|
||||
|
||||
notmuch tag +on +pushlog \
|
||||
tag:new AND \
|
||||
subject:'/export.on-gate.*push/'
|
||||
|
||||
notmuch tag +on +trunk \
|
||||
tag:new AND "(
|
||||
to:gk@hubbins OR to:gatekeeper@hubbins OR to:hg@hubbins OR
|
||||
from:gatekeeper@hubbins
|
||||
)"
|
||||
|
||||
notmuch tag +important \
|
||||
tag:new AND "(
|
||||
tag:on and subject:error and (from:gatekeeper@hubbins or to:gatekeeper@hubbins)
|
||||
)"
|
||||
|
||||
notmuch tag +important +s11u4-sru +on \
|
||||
tag:new AND "(
|
||||
from:sig-devops_ww_grp AND
|
||||
subject:/INPUT.NEEDED.*11.4|s11u4_sust.*Ready.for/
|
||||
)"
|
||||
|
||||
notmuch tag +trunk \
|
||||
tag:new AND "(
|
||||
tag:on AND tag:pushlog body:Branch: default
|
||||
)"
|
||||
|
||||
notmuch tag +s11u3-sru tag:new AND "(
|
||||
tag:on AND tag:pushlog body:Branch: s11u3-sru
|
||||
)"
|
||||
|
||||
notmuch tag +on +trunk +logs \
|
||||
tag:new AND \
|
||||
'(to:gk-builds@hubbins.us.oracle.com OR to:gk-splice-builds@hubbins.us.oracle.com) AND body:"Build summary"'
|
||||
|
||||
notmuch tag +on +trunk +logs -unread \
|
||||
tag:new AND "(
|
||||
from:noaccess AND
|
||||
subject:/boston|eleven|hopper|on-gate-test|severin|smalls|stumpy|zero/
|
||||
)"
|
||||
|
||||
notmuch tag +on +trunk +jenkins tag:new AND to:gk-jenkins@hubbins.us.oracle.com
|
||||
notmuch tag +on +trunk +logs \
|
||||
tag:new AND "(
|
||||
(to:gk@hubbins.us.oracle.com and subject:'zpool report for') OR
|
||||
(to:on-parfait@hubbins and subject:'Parfait Differences')
|
||||
)"
|
||||
|
||||
notmuch tag +on +s11u4-sru +logs +important \
|
||||
tag:new AND "(
|
||||
from:gk@hubbins.us.oracle.com AND
|
||||
subject:'New SRU branch from trunk'
|
||||
)"
|
||||
|
||||
notmuch tag +on +trunk +s11u4-sru +s11u3-sru +logs +important \
|
||||
tag:new AND subject:on-repo-hooks
|
||||
|
||||
notmuch tag +on +s11u4-sru +important +logs \
|
||||
tag:new AND 'subject:/URGENT:.production.build-11.4.*/'
|
||||
|
||||
notmuch tag +on +pushlog \
|
||||
tag:new AND to:hubbins AND 'subject:/.export\/on-gate.*push/'
|
||||
|
||||
notmuch tag +on +s11u4-sru +important +logs \
|
||||
tag:new AND subject:"fail" AND subject:"Solaris_11/11.4/ON" AND subject:"11.4"
|
||||
|
||||
notmuch tag +on +s11u4-sru +important +logs \
|
||||
tag:new AND subject:"fail" AND 'subject:/on-11u4-bld/'
|
||||
|
||||
notmuch tag +on +gkap +logs +s11u4-sru \
|
||||
tag:new AND "(
|
||||
from:s11autoport_grp@oracle.com AND
|
||||
(subject:'periodic GKAP push analysis') or subject:'GK Backport testing has completed'
|
||||
)"
|
||||
|
||||
notmuch tag +on +gkap +logs +s11u4-sru \
|
||||
"tag:new AND tag:inbox AND (subject:GKAP or subject:GKAB)"
|
||||
|
||||
|
||||
# notmuch tag +on +gkap +logs +s11u4-sru \
|
||||
# tag:new AND from:rpe_sme_ww_grp@oracle.com AND subject:"/INTERIM.GK.Backport.report.for.GKAP_11.4.*/"
|
||||
|
||||
# notmuch tag +on +gkap +logs +s11u4-sru \
|
||||
# "tag:new AND subject:/.*Build.*GKAB.*Completed/"
|
||||
|
||||
# notmuch tag +on +gkap +logs +s11u4-sru \
|
||||
# "tag:new AND from:rpe_gk_backport_ww_grp AND (subject:pass or subject:successfull or subject:successful)"
|
||||
|
||||
|
||||
notmuch tag +on +logs +s11u4-sru \
|
||||
tag:new AND "(
|
||||
subject:/on-gate.s11u4..*.packages.ready/ OR
|
||||
subject:/pass:.*Solaris_11/11.4/ON/production.build-11.4.*/ OR
|
||||
subject:/^pass.*11.4..*.11.4.*..on-11u4-bld-[xs]./
|
||||
)"
|
||||
|
||||
notmuch tag +solaris +logs -unread \
|
||||
tag:new AND 'subject:/\[\/var\/tmp\/repo_cache\/PKG\]/'
|
||||
|
||||
notmuch tag +on +important \
|
||||
tag:new AND \
|
||||
to:solaris_sru_gk_ww_grp AND \
|
||||
subject:FAILED
|
||||
|
||||
# userland
|
||||
notmuch tag +userland tag:new AND "subject:GATE OPEN" AND "from:solaris_sru_gk_ww_grp" AND body:userland
|
||||
notmuch tag +userland tag:new AND tag:webrti AND "body:/Consolidation.*userland/"
|
||||
notmuch tag +s11u4-sru tag:new AND tag:userland AND tag:webrti AND body:"/Gates:.*S11.4-SRU/"
|
||||
notmuch tag +trunk tag:new AND tag:userland AND tag:webrti AND body:"/Gates:.*solaris-trunk/"
|
||||
notmuch tag +userland tag:new AND to:userland-s11-sru-notify
|
||||
notmuch tag +s11u3-sru \
|
||||
tag:new AND \
|
||||
tag:userland AND \
|
||||
subject:'push to s11u3-sru'
|
||||
notmuch tag +s11u4-sru \
|
||||
tag:new AND \
|
||||
tag:userland AND \
|
||||
subject:'/.*push.to.s11u4_sust.*/'
|
||||
|
||||
|
||||
# cluster
|
||||
notmuch tag +cluster \
|
||||
tag:new AND "(
|
||||
tag:webrti AND (body:Consolidation: sc-geo or body:Consolidation: suncluster) OR
|
||||
subject:'SC4.4 SRU Nightly' OR from:'SC Build Engineering'
|
||||
)"
|
||||
notmuch tag +important \
|
||||
tag:new AND \
|
||||
tag:cluster and 'subject:/[Ff]ail/'
|
||||
|
||||
# IPS
|
||||
notmuch tag +IPS \
|
||||
tag:new AND \
|
||||
subject:'[Differential]' AND body:'rPKG Solaris Image Packaging System'
|
||||
|
||||
# RE
|
||||
notmuch tag +RE \
|
||||
tag:new AND "(
|
||||
to:solaris-re_us_grp OR
|
||||
to:ips_tracker_support_ww_grp OR
|
||||
from:ips_tracker_support_ww_grp
|
||||
)"
|
||||
|
||||
notmuch tag +s11u3-sru \
|
||||
tag:new AND \
|
||||
tag:re AND \
|
||||
'subject:/Oracle.Solaris.11\.3/'
|
||||
|
||||
notmuch tag +RE +s11u4-sru \
|
||||
tag:new AND \
|
||||
tag:RE AND \
|
||||
'subject:/.*IDRs.*s11_4sru.*/'
|
||||
|
||||
notmuch tag +s11u4-sru \
|
||||
tag:new AND \
|
||||
tag:RE AND \
|
||||
'subject:/RTI.*withdrawal.notification/' AND \
|
||||
body:'11.4'
|
||||
|
||||
notmuch tag +s11u4-sru \
|
||||
tag:new AND \
|
||||
tag:RE AND \
|
||||
'subject:/S11.4.*repo.ready.for.testing/'
|
||||
|
||||
|
||||
notmuch tag +s11u3-sru \
|
||||
tag:new AND \
|
||||
tag:RE AND \
|
||||
'subject:/.*IDRs.*s11_3sru.*/'
|
||||
|
||||
notmuch tag +cluster \
|
||||
tag:new AND \
|
||||
tag:re AND \
|
||||
'(subject:/.*IDRs.*cluster.*/ OR subject:/SRU.Build.Package.Profile.successfully.created.for.solariscluster.*/)'
|
||||
|
||||
notmuch tag +akidr \
|
||||
tag:new AND \
|
||||
tag:RE AND \
|
||||
'subject:/.*Tracker.FYI.*IDR.*state.change/'
|
||||
|
||||
notmuch tag +RE s11u4-sru \
|
||||
tag:new AND \
|
||||
subject:'[Differential]' AND body:'Repository rRETRUNK Release Engineering Trunk Gate'
|
||||
|
||||
notmuch tag +RE +logs -unread \
|
||||
tag:new AND "(
|
||||
from:noaccess AND
|
||||
subject:/ipkg[1-9]/
|
||||
)"
|
||||
|
||||
notmuch tag +solaris \
|
||||
tag:new AND "(
|
||||
tag:akidr OR
|
||||
tag:bugdb OR
|
||||
tag:cluster OR
|
||||
tag:IPS OR
|
||||
tag:on OR
|
||||
tag:phabricator OR
|
||||
tag:RE OR
|
||||
tag:trunk OR
|
||||
tag:userland OR
|
||||
tag:webrti
|
||||
)"
|
||||
|
||||
# end of Solaris
|
||||
################################################################################
|
||||
|
||||
# OCI / OSD
|
||||
################################################################################
|
||||
|
||||
|
||||
# seatch term to include in each search
|
||||
# commented out for debugging
|
||||
# ST='tag:new'
|
||||
ST="date:1/1/2026.."
|
||||
|
||||
notmuch tag +osd \
|
||||
"$ST" AND "(
|
||||
to:osd-devops_ww_grp@oracle.com OR \
|
||||
subject:[gbu confluence]
|
||||
)"
|
||||
|
||||
notmuch tag +osd +brownbag \
|
||||
"$ST" AND 'subject:/[Bb]rown.[Bb]ag/'
|
||||
notmuch tag +deployment-ticket "$ST" AND tag:osd AND subject:"New OSD deployment ticket:"
|
||||
notmuch tag +ocean-incident "$ST" AND tag:osd AND subject:"[Ocean Incident]"
|
||||
notmuch tag +alarm "$ST" AND tag:osd AND subject:'Alarm: '
|
||||
notmuch tag +osd "$ST" AND subject:'InfraCloud JIRA'
|
||||
notmuch tag +osd +sgd \
|
||||
"$ST" AND subject:'SGD'
|
||||
notmuch tag +oci +announcement \
|
||||
"$ST" AND subject:'A PSA'
|
||||
# PRs for approval
|
||||
notmuch tag +osd +PRs \
|
||||
"$ST" AND subject:'ACTION REQUIRED - Peer approval needed for Change Request' AND \
|
||||
body:'/Service Owner:.*Desktop as a Service/'
|
||||
# PRs from other projects
|
||||
notmuch tag +oci +CCAT-PRs \
|
||||
"$ST" AND \
|
||||
subject:'ACTION REQUIRED - Peer approval needed for Change Request' AND \
|
||||
body:'/Service Owner:Compute Cloud at Customer/'
|
||||
|
||||
# OCI production regions
|
||||
notmuch tag +oci +osd +important +region-ga \
|
||||
"$ST" AND \
|
||||
"from:/OCI-REGION-BUILD.*/"
|
||||
|
||||
|
||||
|
||||
# ODAAS Deployments Calendar
|
||||
notmuch tag +osd +calendar \
|
||||
"$ST" AND \
|
||||
"subject:/\[confluence\].*created.a.new|updated.a.*event.in.the.*OSD.RE.Deployments.*calendar/"
|
||||
|
||||
# ODAAS PRs
|
||||
notmuch tag +osd +PRs\
|
||||
"$ST" AND \
|
||||
"subject:/ODAAS\/.*Pull.request.*:/"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
notmuch tag +oci tag:new AND tag:osd
|
||||
|
||||
################################################################################
|
||||
|
||||
# I don't want these in my focused inbox
|
||||
################################################################################
|
||||
|
||||
# passed logs for on trunk
|
||||
notmuch tag -inbox -unread tag:on AND tag:trunk AND tag:logs AND subject:"pass"
|
||||
|
||||
# trunk RTIs,pushlog,jenkins logs
|
||||
notmuch tag -inbox -unread tag:trunk and tag:webrti
|
||||
notmuch tag -inbox -unread tag:on AND tag:trunk AND tag:pushlog
|
||||
notmuch tag -inbox -unread tag:on AND tag:trunk AND tag:jenkins
|
||||
|
||||
# ON GKAP notifications
|
||||
notmuch tag -inbox -unread tag:new AND tag:gkap AND tag:logs and not subject:failed
|
||||
|
||||
# osd ocean incidents, alarms
|
||||
notmuch tag -inbox -unread tag:osd AND '(tag:ocean-incident or tag:alarm)'
|
||||
|
||||
|
||||
# emails with subject:"REGION BUILD ALERT]" are important to watch
|
||||
|
||||
|
||||
|
||||
# ================================================================================
|
||||
# the very last part of this - remove the new tag
|
||||
notmuch tag -new tag:new
|
||||
@@ -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.88.0.1.207.1}"
|
||||
hg_branch="s11u4_sust_087"
|
||||
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.88.0.1.207.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