Compare commits

..

1 Commits

Author SHA1 Message Date
Petr Nyc
d9d659241b changes in osd-dev, to be merged 2025-06-06 11:55:39 +00:00
37 changed files with 75 additions and 12909 deletions

View File

@@ -1,30 +1,28 @@
# man 5 alacritty
import = ["~/.config/alacritty/themes/themes/solarized_dark.toml"] import = ["~/.config/alacritty/themes/themes/solarized_dark.toml"]
# list fonts on mac, part of font-config installed by brew
# $ fc-list # [font.normal]
# $ fc-list | grep 'family:' | less # # family = "MesloLGS NF"
# family = "MesloLGS Nerd Font Mono"
#
[font] [font]
## MesloLGS font
normal.family = "MesloLGS Nerd Font Mono" normal.family = "MesloLGS Nerd Font Mono"
bold.family = "MesloLGS Nerd Font Mono" bold.family = "MesloLGS Nerd Font Mono"
italic.family = "MesloLGS Nerd Font Mono" italic.family = "MesloLGS Nerd Font Mono"
bold_italic.family = "MesloLGS Nerd Font Mono" bold_italic.family = "MesloLGS Nerd Font Mono"
size = 18 size = 18
offset.x = 1 offset.x = 1
# set apple font smoothing for alacritty:
# defaults write org.alacritty AppleFontSmoothing -int 0
# JetBrains Nerd font
# normal.family = "JetBrainsMono NF" # [window]
# bold.family = "JetBrainsMono NF SemiBold" # decorations = "none"
# italic.family = "JetBrainsMono NFM Thin"
# bold_italic.family = "JetBrainsMono NFM" # [window.padding]
# size = 18 # x = 5
# offset.x = 1 # y = 3
# offset.y = 0
# window.dynamic_padding = true
[window] [window]
dynamic_padding = true dynamic_padding = true
@@ -32,66 +30,14 @@ padding.x = 5
padding.y = 3 padding.y = 3
dimensions.columns = 89 dimensions.columns = 89
dimensions.lines = 41 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 = "buttonless"
# decorations = "full" # decorations = "full"
# decorations = "transparent" # decorations = "transparent"
# decorations = "none"
startup_mode = "Windowed" startup_mode = "Windowed"
dynamic_title = true
[scrolling] [scrolling]
history = 20000 history = 20000
[selection] [selection]
save_to_clipboard = true 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

View File

@@ -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

View File

@@ -84,12 +84,10 @@ editor_filesize_threshold=64M
editor_stop_format_chars=-+*\\,.;:&> editor_stop_format_chars=-+*\\,.;:&>
mcview_eof= mcview_eof=
skin=solarized-dark-256color skin=solarized-dark-256color
shell_directory_timeout=900
filepos_max_saved_entries=1024
[Layout] [Layout]
output_lines=0 output_lines=0
left_panel_size=86 left_panel_size=75
top_panel_size=0 top_panel_size=0
message_visible=true message_visible=true
keybar_visible=true keybar_visible=true
@@ -116,11 +114,6 @@ clipboard_paste=
base_color= base_color=
xterm-256color= xterm-256color=
color_terminals= color_terminals=
alacritty=
xterm=
rxvt-256color=
screen-256color=
xterm-24bit=
[Panels] [Panels]
show_mini_info=true show_mini_info=true
@@ -146,7 +139,7 @@ select_flags=6
simple_swap=false simple_swap=false
[Panelize] [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 *.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 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

View File

@@ -8,7 +8,7 @@
pager = less -FRX pager = less -FRX
editor = vim editor = vim
[alias] [alias]
glog = log --graph --decorate glog = log --graph --decorate --all
glogs = log --graph --stat glogs = log --graph --stat
ci = commit ci = commit
st = status st = status
@@ -24,12 +24,10 @@
# if no file is specified, show diff for all files in the changeset # if no file is specified, show diff for all files in the changeset
diffc = "!f() { git diff ${1}^1 ${1} -- $2; }; f" diffc = "!f() { git diff ${1}^1 ${1} -- $2; }; f"
vimdiffc = "!f() { git vimdiff ${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] [user]
name = Petr Nyc name = Petr Nyc
email = petr.nyc@oracle.com email = jet.jetpac@gmail.com
[merge] [merge]
tool = vimdiff tool = vimdiff
@@ -43,9 +41,5 @@
; modulePath = /usr/lib/apache2/modules ; modulePath = /usr/lib/apache2/modules
[init] [init]
defaultBranch = master defaultBranch = master
[webui] [color]
autoupdate = true ui = auto
; [color]
; ui = auto
[http]
sslVerify = false

6
.hgrc
View File

@@ -44,7 +44,7 @@ vimdiff.premerge = keep
[alias] [alias]
# glog # 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 # glog on branch
gb = !$HG g -b . $@ 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 $@ 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) # 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 $@ # 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\'' # 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 # 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 $@ 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 $@

View File

@@ -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

View File

@@ -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]

View File

@@ -95,7 +95,7 @@
vim_shell # vim shell indicator (:sh) vim_shell # vim shell indicator (:sh)
midnight_commander # midnight commander shell (https://midnight-commander.org/) midnight_commander # midnight commander shell (https://midnight-commander.org/)
nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html) nix_shell # nix shell (https://nixos.org/nixos/nix-pills/developing-with-nix-shell.html)
vpn_ip # virtual private network indicator # vpn_ip # virtual private network indicator
# load # CPU load # load # CPU load
# disk_usage # disk usage # disk_usage # disk usage
# ram # free RAM # ram # free RAM
@@ -109,8 +109,8 @@
newline newline
# ip # ip address and bandwidth usage for a specified network interface # ip # ip address and bandwidth usage for a specified network interface
# public_ip # public IP address # public_ip # public IP address
proxy # system-wide http/https/ftp proxy # proxy # system-wide http/https/ftp proxy
battery # internal battery # battery # internal battery
# wifi # wifi speed # wifi # wifi speed
# example # example user-defined segment (see prompt_example function below) # example # example user-defined segment (see prompt_example function below)
) )
@@ -539,9 +539,9 @@
###################[ command_execution_time: duration of the last command ]################### ###################[ command_execution_time: duration of the last command ]###################
# Show duration of the last command if takes at least this many seconds. # 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. # 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. # Execution time color.
typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=101
# Duration format: 1d 2h 3m 4s. # Duration format: 1d 2h 3m 4s.
@@ -553,7 +553,7 @@
#######################[ background_jobs: presence of background jobs ]####################### #######################[ background_jobs: presence of background jobs ]#######################
# Don't show the number of background jobs. # Don't show the number of background jobs.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=true typeset -g POWERLEVEL9K_BACKGROUND_JOBS_VERBOSE=false
# Background jobs color. # Background jobs color.
typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70 typeset -g POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND=70
# Custom icon. # Custom icon.
@@ -990,7 +990,7 @@
# Nvm color. # Nvm color.
typeset -g POWERLEVEL9K_NVM_FOREGROUND=70 typeset -g POWERLEVEL9K_NVM_FOREGROUND=70
# Custom icon. # 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: node.js environment (https://github.com/ekalinin/nodeenv) ]############
# Nodeenv color. # Nodeenv color.
@@ -1536,7 +1536,7 @@
# Battery pictograms going from low to high level of charge. # Battery pictograms going from low to high level of charge.
typeset -g POWERLEVEL9K_BATTERY_STAGES='\uf58d\uf579\uf57a\uf57b\uf57c\uf57d\uf57e\uf57f\uf580\uf581\uf578' 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. # 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: wifi speed ]#####################################
# WiFi color. # WiFi color.

View File

@@ -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

View File

@@ -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

1457
.spacemacs

File diff suppressed because it is too large Load Diff

View File

@@ -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

View File

@@ -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

View File

@@ -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}."

View File

@@ -4,19 +4,21 @@ set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sidebar' set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-pain-control' 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-capture-pane-contents 'on'
set -g @resurrect-processes 'ssh neomutt mbsync vim' set -g @resurrect-processes 'ssh neomutt mbsync'
set -g @plugin 'tmux-plugins/tmux-continuum' # https://github.com/tmux-plugins/tmux-continuum # https://github.com/tmux-plugins/tmux-continuum
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @plugin 'seebi/tmux-colors-solarized' 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 # too wild, some shortcuts like meta-tab/meta-number are nice though
# set -g @plugin 'ek9/tmux-vim-bindings' # 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 'light'
set -g @colors-solarized 'dark' 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 # Change prefix to C-a
# C-a hex value: 0x01 # C-a hex value: 0x01
@@ -71,15 +69,7 @@ set -g pane-base-index 1
# tip from https://github.com/vim/vim/issues/3608 # tip from https://github.com/vim/vim/issues/3608
set -ag terminal-overrides ",xterm-256color:Tc" 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 # 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) # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' 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"

View File

@@ -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
View File

@@ -46,7 +46,6 @@ Plug 'bling/vim-bufferline'
Plug 'tpope/vim-characterize' Plug 'tpope/vim-characterize'
Plug 'tpope/vim-endwise' Plug 'tpope/vim-endwise'
Plug 'doums/darcula' " pycharm scheme reproduction Plug 'doums/darcula' " pycharm scheme reproduction
Plug 'hashivim/vim-terraform'
if s:usecopilot == 1 if s:usecopilot == 1
Plug 'github/copilot.vim', { 'on': 'Copilot' } 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 " " 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_sh_shellcheck_args = "-x"
let g:syntastic_mode_map = { " let g:syntastic_mode_map = {
\ "mode": "passive", " \ "mode": "active",
\ "active_filetypes": [ "bash" ], " \ "active_filetypes": [],
\ "passive_filetypes": ["sh, yaml"] } " \ "passive_filetypes": ["sh, yaml"] }
set modeline set modeline
set modelines=5 set modelines=5
@@ -108,20 +107,10 @@ endif
" solarized config " solarized config
set termguicolors set termguicolors
set background=dark " or light set background=dark " or light
" colorscheme solarized " colorscheme solarized
colorscheme darcula 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 hi Visual term=reverse cterm=reverse guibg=Grey
" open unfolded
set foldlevel=99
" copilot config " copilot config
imap <silent> <C-j> <Plug>(copilot-next) imap <silent> <C-j> <Plug>(copilot-next)

View File

@@ -1,4 +0,0 @@
rules:
line-length:
max: 200
allow-non-breakable-words: true

91
.zshenv
View File

@@ -2,40 +2,14 @@ set -o vi
export LC_ALL=en_US.UTF-8 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 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/
# 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:-}";
alias oe='open /Applications/Emacs.app' alias oe='open /Applications/Emacs.app'
# Force mc to use bash for its subshell alias config='/usr/local/bin/git --git-dir=$HOME/.cfg/.git --work-tree=$HOME'
alias mc='SHELL=/bin/bash mc'
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
alias -g N="2>&1 " alias -g N="2>&1 "
alias pig='ping'
# export PATH=$HOME/.rd/bin # 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 # for gems installed in my home direcotry
# inspiration: https://guides.cocoapods.org/using/getting-started.html#installation # 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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' export OPENAI_API_KEY='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'
# for flutter # for flutter
# export PATH=$PATH:/Users/jetpac/Documents/flutter-dev-env/bin 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'

141
.zshrc
View File

@@ -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" source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi 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 # doesn't work well on remote hosts
# [[ -f .iterm2_shell_integration.zsh ]] && source .iterm2_shell_integration.zsh # [[ -f .iterm2_shell_integration.zsh ]] && source .iterm2_shell_integration.zsh
@@ -77,7 +53,7 @@ ZSH_THEME="powerlevel10k/powerlevel10k"
# DISABLE_LS_COLORS="true" # DISABLE_LS_COLORS="true"
# Uncomment the following line to disable auto-setting terminal title. # 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. # Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true" # 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. # 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" # 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) # 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 # Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories # 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? # Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder # 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? # Which plugins would you like to load?
# Standard plugins can be found in $ZSH/plugins/ # Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/ # Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse) # Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup. # 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) 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 )
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
# colorize - adds ccat and cless # colorize - adds ccat and cless
# common-aliases: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/common-aliases # common-aliases: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/common-aliases
# themes: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/themes # themes: https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/themes
@@ -227,80 +164,28 @@ fi
# zsh history is too short # zsh history is too short
# - https://unix.stackexchange.com/questions/273861/unlimited-history-in-zsh # - https://unix.stackexchange.com/questions/273861/unlimited-history-in-zsh
# inspiration taken from yt video:
# https://youtu.be/ud7YxC33Z3w
HISTSIZE=999999999
HISTFILE=~/.zsh_history HISTFILE=~/.zsh_history
HISTSIZE=999999999
SAVEHIST=$HISTSIZE 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 >>> # >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !! # !! 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 if [ $? -eq 0 ]; then
eval "$__conda_setup" eval "$__conda_setup"
else else
if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then if [ -f "/home/pnyc/miniconda3/etc/profile.d/conda.sh" ]; then
. "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" . "/home/pnyc/miniconda3/etc/profile.d/conda.sh"
else else
export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH" export PATH="/home/pnyc/miniconda3/bin:$PATH"
fi fi
fi fi
unset __conda_setup unset __conda_setup
# <<< conda initialize <<<
#### <BEGIN conda zsh completion> # conda initialize
# --- Enable conda autocompletion --- conda activate osd-dev
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)

View File

@@ -89,6 +89,12 @@
"Text" : "01 6c", "Text" : "01 6c",
"Version" : 1 "Version" : 1
}, },
"0x6e-0x80000-0x2d" : {
"Action" : 11,
"Label" : "",
"Text" : "01 6e",
"Version" : 1
},
"0x70-0x80000-0x23" : { "0x70-0x80000-0x23" : {
"Action" : 11, "Action" : 11,
"Label" : "", "Label" : "",

View File

@@ -1,12 +1,6 @@
* How to set up this configuration * How to set up this configuration
** Automated setup ** basic setup
#+begin_src sh
bash -c "$(curl -fsSL https://git.meinlschmidt.org/jetpac/dotfiles/raw/branch/main/bootstrap.sh)"
#+end_src
** manual setup
#+begin_src sh #+begin_src sh
# for linux; ignore on other systems # for linux; ignore on other systems
@@ -20,17 +14,14 @@
alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME' alias config='/usr/bin/git --git-dir=$HOME/.cfg/ --work-tree=$HOME'
config config --local status.showUntrackedFiles no config config --local status.showUntrackedFiles no
config checkout config checkout
zsh
source ~/.proxies 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 --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 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 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 tmux, prefix + I installs all plugins (needs to have proxies set)
# run vim, :PlugInstall # 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 wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf
#+end_src #+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 ** 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. 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 run export PATH=$HOME/usr/local:$PATH to pick up correct libraries and binaries

View File

@@ -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 $@

View File

@@ -4,14 +4,12 @@ set -e
set -x set -x
# function to get PARENT_WS as a parameter # 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 if [[ -z $1 ]]; then
# PARENT_WS='ssh://pnyc@andel.us.oracle.com//workspace/pnyc/solaris-reviews/secure-integrate/userland11.4' PARENT_WS='ssh://pnyc@dabel.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@dabel.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'
else else
PARENT_WS=$1 PARENT_WS=$1
fi fi
@@ -26,9 +24,7 @@ SLACK_CHANNEL='@pnyc'
DIR=$(pwd) DIR=$(pwd)
REPO=${PARENT_WS##*/} # userland11.4 REPO=${PARENT_WS##*/} # userland11.4
SCRIPT_DIR_BASE=${PARENT_WS#*oracle.com/} # /workspace/pnyc/solaris-reviews/secure-integrate/userland11.4
# /workspace/pnyc/solaris-reviews/secure-integrate/userland11.4
SCRIPT_DIR_BASE=$(echo "$PARENT_WS" | awk '{sub(/^.*\/\//,"/"); print}')
MV=/bin/mv MV=/bin/mv
RM=/bin/rm RM=/bin/rm
CP=/bin/cp CP=/bin/cp

View File

@@ -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'

View File

@@ -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:

View File

@@ -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
}

View File

@@ -3,14 +3,6 @@
# when the first positional command line parameter is 'on' # when the first positional command line parameter is 'on'
# and unsets them when the first positional command line parameter is 'off' # 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: # usage:
# source proxy off # source proxy off

View File

@@ -1,426 +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 from:rpe_sme_ww_grp@oracle.com AND subject:"/INTERIM.GK.Backport.report.for.GKAP_11.4.*/"
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 +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
################################################################################
notmuch tag +osd \
tag:new AND "(
to:osd-devops_ww_grp@oracle.com OR \
subject:[gbu confluence]
)"
notmuch tag +osd +brownbag \
tag:new AND 'subject:/[Bb]rown.[Bb]ag/'
notmuch tag +deployment-ticket tag:new AND tag:osd AND subject:"New OSD deployment ticket:"
notmuch tag +ocean-incident tag:new AND tag:osd AND subject:"[Ocean Incident]"
notmuch tag +alarm tag:new AND tag:osd AND subject:'Alarm: '
notmuch tag +osd tag:new AND subject:'InfraCloud JIRA'
notmuch tag +osd +sgd \
tag:new AND subject:'SGD'
notmuch tag +oci +announcement \
tag:new AND subject:'A PSA'
# PRs for approval
notmuch tag +osd +PRs \
tag:new 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 \
tag:new AND \
subject:'ACTION REQUIRED - Peer approval needed for Change Request' AND \
body:'/Service Owner:Compute Cloud at Customer/'
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:gkap AND tag:logs
# 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

View File

@@ -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*}"

View File

@@ -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*}"

View File

@@ -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*}"

View File

@@ -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*}"

View File

@@ -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: