From a7724415a3293933d76a46c2395b33c4917cf5f0 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Sun, 21 Jul 2024 16:53:32 -0400 Subject: [PATCH 01/17] Update SSH hosts --- config/ssh/config | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/config/ssh/config b/config/ssh/config index a302f95..17c823b 100644 --- a/config/ssh/config +++ b/config/ssh/config @@ -19,7 +19,22 @@ Host maxocull.com IdentityFile ~/.ssh/id_rsa Host leviathan - HostName 192.168.2.192 - ProxyJump maxocull.com + HostName 192.168.1.72 + #ProxyJump maxocull.com User max IdentityFile ~/.ssh/id_rsa + +Host rb3011 + HostName 192.168.1.1 + User max + IdentityFile ~/.ssh/id_rsa + +Host capax + HostName 192.168.1.2 + User max + IdentityFile ~/.ssh/id_rsa + +host libreelec + HostName 192.168.1.30 + User root + IdentityFile ~/.ssh/id_rsa From 2d1b8cc0aec9ce3fa1ae902bba019749b822becf Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:31:09 -0400 Subject: [PATCH 02/17] Add tmux watcher plugin --- .tmux.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/.tmux.conf b/.tmux.conf index a73d023..58a4beb 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -27,6 +27,7 @@ set -g @plugin 'tmux-plugins/tmux-logging' set -g @plugin 'nhdaly/tmux-better-mouse-mode' # set -g @plugin 'erikw/tmux-powerline' # set -g @plugin 'maxattax97/tmux-powerline' +set -g @plugin 'akohlbecker/aw-watcher-tmux' # Plugin configuration. set -g @resurrect-capture-pane-contents 'on' From 0aa6a0ec3e88f7d4bea69d59d27a078b8ec9ac98 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:32:27 -0400 Subject: [PATCH 03/17] Add installer for wifi bull crap --- install.sh | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/install.sh b/install.sh index 8dc7e65..7452400 100755 --- a/install.sh +++ b/install.sh @@ -405,6 +405,9 @@ case "$response" in gpg --receive-keys E27E5D8A3403A2EF66873BBCDEA66FF797772CDC ## Ben Hutchings gpg --receive-keys AC2B29BD34A6AFDDB3F68F35E7BFC8EC95861109 + ## Seth Forshee, maintainer of wireless-regdb who has a built-in key in the kernel + gpg --receive-keys 2ABCA7498D83E1D32D51D3B5AB4800A62DB9F73A + # Arch Linux Official Keys # https://archlinux.org/master-keys/ @@ -1063,6 +1066,65 @@ case "$response" in ;; esac +read -r -p "Would you like to setup WiFi? [y/N] " response +case "$response" in + [yY][eE][sS]|[yY]) + if [[ -x "$(command -v dnf)" ]]; then + sudo dnf install -y \ + wpa_supplicant \ + wireless-regdb + elif [[ -x "$(command -v apt)" ]]; then + sudo apt install -y \ + wpa_supplicant \ + wireless-regdb + elif [[ -x "$(command -v pacman)" ]]; then + sudo pacman -Syu "$AUTOMATED_PACMAN_FLAGS" \ + wpa_supplicant \ + wireless-regdb \ + --needed + elif [[ -x "$(command -v pkg)" ]]; then + sudo pkg install \ + wpa_supplicant \ + wireless-regdb + fi + + if grep -q '^country=' /etc/wpa_supplicant/wpa_supplicant.conf; then + sudo sed -i 's/^country=.*$/country=US/' /etc/wpa_supplicant/wpa_supplicant.conf + else + sudo echo "country=US" | sudo tee "/etc/wpa_supplicant/wpa_supplicant.conf" + fi + + sudo echo "country=US" | sudo tee "/etc/sysconfig/regdomain" + + sudo echo "REGDOMAIN=US" | sudo tee "/etc/default/crda" + + # TODO: Supposedly this is needed on Arch Linux? + sudo mkdir -p /etc/conf.d/ + sudo echo "WIRELESS_REGDOM=US" | sudo tee "/etc/conf.d/wireless-regdom" + + sudo echo "options cfg80211 ieee80211_regdom=US" | sudo tee "/etc/modprobe.d/regdom.conf" + + # TODO: is this right? + if [[ -z "$(readlink -f /etc/localtime)" ]]; then + sudo ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime + fi + + # Debug with this command: + # udevadm monitor --environment kernel + + if [[ -x "$(command -v setregdomain)" ]]; then + sudo setregdomain us + fi + + if [[ -x "$(command -v iw)" ]]; then + sudo iw reg set US + fi + ;; + *) + echo "Skipping WiFi setup" + ;; +esac + read -r -p "Would you like to copy install configurations with root? [y/N] " response case "$response" in [yY][eE][sS]|[yY]) From 816742d08ab339f5c28e3f1f7a10e6a4a52cd8c3 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:32:53 -0400 Subject: [PATCH 04/17] Alias adjustments --- .zshrc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/.zshrc b/.zshrc index 4b01cab..d42651a 100644 --- a/.zshrc +++ b/.zshrc @@ -661,7 +661,7 @@ zshrc_zplug() { # zplug "ael-code/zsh-colored-man-pages" - zplug "supercrabtree/k" + # zplug "supercrabtree/k" # zplug "psprint/zsh-navigation-tools" # deleted # zplug "z-shell/zsh-navigation-tools" # alternate @@ -1487,6 +1487,7 @@ zshrc_set_aliases() { if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' + alias sl="sudo ls --color=auto" #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' @@ -1496,10 +1497,15 @@ zshrc_set_aliases() { alias pacman='pacman --color=auto' alias yay='yay --color=auto' + else + alias sl="sudo ls" fi + alias e="$EDITOR" + alias se="sudoedit" + # some more ls aliases - alias l='k -Ah --no-vcs' # ls -lah + alias l='ls -l --all --human-readable --time-style=long-iso --group-directories-first --color=auto' # Fix tmux 256 colors: #if type tmux-next > /dev/null 2>&1; then @@ -1545,8 +1551,6 @@ zshrc_set_aliases() { alias htop='btop' fi - alias e="$EDITOR" - if type rofi > /dev/null 2>&1; then alias dmenu="rofi -dmenu" fi @@ -1586,6 +1590,8 @@ zshrc_set_aliases() { alias Gbd='git branch -D' alias Glast='git show HEAD' alias Grs='git restore --staged' + + alias kernlog='sudo dmesg --time-format iso --kernel -H --color=always -w | less +F' } zshrc_set_default_programs() { From 669fc13650e42e4c09db80280dc642b8e28e8f59 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:33:39 -0400 Subject: [PATCH 05/17] Minor changes to DNF config --- config/dnf.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/dnf.conf b/config/dnf.conf index f6e9fee..26b7d69 100644 --- a/config/dnf.conf +++ b/config/dnf.conf @@ -2,7 +2,7 @@ [main] gpgcheck=True -installonly_limit=3 +installonly_limit=2 clean_requirements_on_remove=True best=False skip_if_unavailable=True @@ -10,6 +10,7 @@ color_search_match=bold,blue fastestmirror=True max_parallel_downloads=10 deltarpm=True +obsoletes=True # Delta RPM's must be 33% smaller than the original RPM in order for us to # download them. From 5b001b91f1b504e177e81dfab7c0bd982ac8fb7f Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:34:11 -0400 Subject: [PATCH 06/17] Weechat updates --- config/weechat/buddylist.txt | 1 + config/weechat/relay.conf | 14 ++++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/config/weechat/buddylist.txt b/config/weechat/buddylist.txt index 15132aa..2b38d77 100644 --- a/config/weechat/buddylist.txt +++ b/config/weechat/buddylist.txt @@ -1,2 +1,3 @@ znc_efnet.leku +znc_libera.sforshee znc_rizon.coffeeiazo diff --git a/config/weechat/relay.conf b/config/weechat/relay.conf index 7f72fab..27c9ea8 100644 --- a/config/weechat/relay.conf +++ b/config/weechat/relay.conf @@ -12,16 +12,18 @@ config_version = 2 [look] -auto_open_buffer = on +auto_open_buffer = "on" +display_clients = "irc,weechat" raw_messages = 256 +raw_messages_max_length = 4096 [color] client = cyan status_active = lightblue status_auth_failed = lightred +status_authenticating = yellow status_connecting = yellow status_disconnected = lightred -status_waiting_auth = brown text = default text_bg = default text_selected = white @@ -32,6 +34,7 @@ allowed_ips = "" auth_timeout = 60 bind_address = "" clients_purge_delay = 0 +commands = "*,!quit" compression = 20 ipv6 = on max_clients = 5 @@ -39,6 +42,7 @@ nonce_size = 16 password = "" password_hash_algo = "*" password_hash_iterations = 100000 +time_window = 5 tls_cert_key = "%h/ssl/relay.pem" tls_priorities = "NORMAL:-VERS-SSL3.0" totp_secret = "" @@ -53,9 +57,11 @@ backlog_since_last_message = off backlog_tags = "irc_privmsg" backlog_time_format = "[%H:%M] " -[weechat] -commands = "" +[api] +remote_get_lines = 1000 [port] [path] + +[remote] From d76eeb5ee731365cd8bca1cb358fe53d22680ace Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 1 Aug 2024 03:34:38 -0400 Subject: [PATCH 07/17] Add activity watcher to vim --- config/nvim/includes/plugins.vim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/nvim/includes/plugins.vim b/config/nvim/includes/plugins.vim index 555343a..34f9f92 100644 --- a/config/nvim/includes/plugins.vim +++ b/config/nvim/includes/plugins.vim @@ -61,6 +61,9 @@ call dein#add('github/copilot.vim') " Test runner. call dein#add('vim-test/vim-test') + +" Submit metrics to Activity Watcher. +call dein#add('ActivityWatch/aw-watcher-vim') " }}} " Tim Pope Collection {{{ From c6af9aed749d30e0bd5431d08a6ebc8032882a55 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Wed, 14 Aug 2024 16:49:48 -0400 Subject: [PATCH 08/17] Fix tmux.conf clipboard yank --- .tmux.conf | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.tmux.conf b/.tmux.conf index 58a4beb..f5cfe5b 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -16,7 +16,7 @@ set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'tmux-plugins/tmux-cpu' set -g @plugin 'tmux-plugins/tmux-pain-control' -set -g @plugin 'maxattax97/tmux-yank' +set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-net-speed' set -g @plugin 'tmux-plugins/tmux-copycat' set -g @plugin 'tmux-plugins/tmux-prefix-highlight' @@ -73,6 +73,11 @@ set -g @batt_color_charging "#[fg=colour033]" set -g @net_speed_format "󰁆 %8s 󰁞 %8s" +set -g @yank_selection 'clipboard' # or 'primary' or 'secondary' +set -g @yank_selection_mouse 'clipboard' # or 'primary' or 'secondary' +set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default +set -g @yank_with_mouse on # or 'on' + # Sensible: Fix the colors. #set -g default-terminal "xterm-256color" #set -g default-terminal "xterm-256color-italic" From 9d1322a4f7f558173696e0c62a3bfdc654c866e3 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Wed, 14 Aug 2024 16:56:51 -0400 Subject: [PATCH 09/17] Minor adjustment to Xdefaults --- .Xdefaults | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.Xdefaults b/.Xdefaults index 264355d..be70d90 100644 --- a/.Xdefaults +++ b/.Xdefaults @@ -114,7 +114,7 @@ /* See section in sts config.h that describes XResources (~L175) */ st*selectToClipboard: true -st*disallowedWindowOps: 20,21,SetXProp +st*disallowedWindowOps: 20,21,SetXprop ! st.termname: st-256color st.borderpx: 0 st.font: Hack Nerd Font Mono:size=9:antialias=true:autohint=true From 1e3daebfcef08d8350597276b35ca756e68af3bf Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Wed, 14 Aug 2024 16:57:05 -0400 Subject: [PATCH 10/17] Set window title from vim --- config/nvim/includes/general.vim | 7 +++++++ config/nvim/includes/plugins.vim | 16 ++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/config/nvim/includes/general.vim b/config/nvim/includes/general.vim index ff1f5d0..cd2432d 100644 --- a/config/nvim/includes/general.vim +++ b/config/nvim/includes/general.vim @@ -38,6 +38,13 @@ endif if !isdirectory(&undodir) call mkdir(&undodir, "p") endif + +" Set the title string to the current filename +" Useful for ActivityWatcher +" For some reason, it seems something is overwriting this setting. +set title +"set titlestring="%F %y" +"set titlestring="%t %{expand(\"%:p:h\")}" " }}} " File Format {{{ diff --git a/config/nvim/includes/plugins.vim b/config/nvim/includes/plugins.vim index 34f9f92..2e38f7e 100644 --- a/config/nvim/includes/plugins.vim +++ b/config/nvim/includes/plugins.vim @@ -4,14 +4,14 @@ call dein#add('wsdjeg/dein-ui.vim') " An autocompletion engine. -"call dein#add('shougo/deoplete.nvim') +"call dein#add('Shougo/deoplete.nvim') " INSTALL: yarn call dein#add('neoclide/coc.nvim', { 'merged': 0, 'rev': 'release' }) call dein#add('yaegassy/coc-ansible') " , { 'build': 'yarn install --frozen-lockfile' } " Display function arguments in command bar. Works with deoplete. " TODO: Not displaying? -call dein#add('shougo/echodoc.vim') +call dein#add('Shougo/echodoc.vim') " Asynchronous Lint Engine. call dein#add('w0rp/ale') @@ -22,7 +22,7 @@ call dein#add('preservim/nerdtree') call dein#add('xuyuanp/nerdtree-git-plugin') call dein#add('tiagofumo/vim-nerdtree-syntax-highlight') "call dein#add('jistr/vim-nerdtree-tabs') -"call dein#add('shougo/defx.nvim') +"call dein#add('Shougo/defx.nvim') "call dein#add('kristijanhusak/defx-git') "call dein#add('kristijanhusak/defx-icons') @@ -48,10 +48,10 @@ call dein#add('godlygeek/tabular') " Asynchronous fuzzy finder. " INSTALL: pip3 install pynvim " INSTALL: cargo install ripgrep -call dein#add('shougo/denite.nvim') +"call dein#add('Shougo/denite.nvim') " file_mru plugin for Denite. -call dein#add('shougo/neomru.vim') +"call dein#add('Shougo/neomru.vim') " Vim colortemplate generator. call dein#add('lifepillar/vim-colortemplate') @@ -138,11 +138,11 @@ call dein#add('tpope/vim-dotenv') " Autocompletion {{{ " Include/import files from headers for autocompletion, etc. -call dein#add('shougo/neoinclude.vim') +call dein#add('Shougo/neoinclude.vim') call dein#add('jsfaint/coc-neoinclude') " VimL support. -call dein#add('shougo/neco-vim') +call dein#add('Shougo/neco-vim') call dein#add('neoclide/coc-neco') " C languages @@ -166,7 +166,7 @@ call dein#add('neoclide/coc-neco') "call dein#add('c9s/perlomni.vim') " Vimscript -"call dein#add('shougo/neco-vim') +"call dein#add('Shougo/neco-vim') " Godot's GDScript "call dein#add('calviken/vim-gdscript3') From 00dd884d733ddb45a8433c0e4edf8c1bc3b5cf4b Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Wed, 14 Aug 2024 16:58:08 -0400 Subject: [PATCH 11/17] Add lcov and fix gnome browser setting --- .lcovrc | 385 +++++++++++++++++++++++++++++++++++++++++++++++ .lcovrc.gcov.css | 133 ++++++++++++++++ install.sh | 14 +- 3 files changed, 531 insertions(+), 1 deletion(-) create mode 100644 .lcovrc create mode 100644 .lcovrc.gcov.css diff --git a/.lcovrc b/.lcovrc new file mode 100644 index 0000000..0d519f9 --- /dev/null +++ b/.lcovrc @@ -0,0 +1,385 @@ +# +# /etc/lcovrc - system-wide defaults for LCOV +# +# To change settings for a single user, place a customized copy of this file +# at location ~/.lcovrc +# + +# Specify an external style sheet file (same as --css-file option of genhtml) +genhtml_css_file = /home/mocull/.lcovrc.gcov.css + +# use 'dark' mode display (light foreground, dark background) instead of default +# same as 'genhtml --dark-mode ....' +genhtml_dark_mode = 1 + +# Header text to use at top of each page +# Default is "LCOV - (differential )? coverage report" +#genhtml_header = Coverage report for my project + +# Footer text to use at the bottom of each page +# Default is LCOV tool version +#genhtml_footer = My footer text + +# Specify global coverage rate limits (in %) for classifying file entries +# HI: hi_limit <= rate <= 100 graph color: green +# MED: med_limit <= rate < hi_limit graph color: orange +# LO: 0 <= rate < med_limit graph color: red +genhtml_hi_limit = 90 +genhtml_med_limit = 75 + +# Specify line coverage rate limits (in %) for classifying file entries +# HI: ln_hi_limit <= rate <= 100 graph color: green +# MED: ln_med_limit <= rate < ln_hi_limit graph color: orange +# LO: 0 <= rate < ln_med_limit graph color: red +# genhtml_line_hi_limit = 90 +# genhtml_line_med_limit = 75 + +# Specify function coverage rate limits (in %) for classifying file entries +# HI: fn_hi_limit <= rate <= 100 graph color: green +# MED: fn_med_limit <= rate < fn_hi_limit graph color: orange +# LO: 0 <= rate < fn_med_limit graph color: red +# genhtml_function_hi_limit = 90 +# genhtml_function_med_limit = 75 + +# Specify branch coverage rate limits (in %) for classifying file entries +# HI: br_hi_limit <= rate <= 100 graph color: green +# MED: br_med_limit <= rate < br_hi_limit graph color: orange +# LO: 0 <= rate < br_med_limit graph color: red +# genhtml_branch_hi_limit = 90 +# genhtml_branch_med_limit = 75 + +# Ignore some errors during geninfo/lcov/genhtml processing - comma-separated +# string. Same as using "--ignore-errors a,b,c" command line option. +# See man pages for list of ignorable messsages +#ignore_errors = empty,mismatch + +# Stop emitting message after this number have been printed +# 0 == no limit +max_message_count = 100 + +# If set, do not stop when an 'ignorable error' occurs - try to generate +# a result, however flawed. This is equivalent to the '--keep-going' +# command line switch. +# Default is 1: stop when error occurs +# See the man pages for more detail +#stop_on_error = 1 + +# List of file extensions which should be treated as RTL code (e.g., Verilog) +# Comma-separated list. Default is "v,vh,sv,vhd?" +#rtl_file_extensions = v,vh,sv,vhd? + +# list of file extensions which should be treated as C/C++ code +# (comma-separated list) +#c_file_extensions = h,c,i,C,H,I,cpp,hpp,icc,cc,hh,cxx,hxx + +# maxmimum number of lines to look at, when filtering bogus branch expressions +#filter_lookahead = 5 + +# if nonzero, bitwise operators '|', '&', '~' indicate conditiional expressions +#filter_bitwise_conditional = 1 + +# Width of line coverage field in source code view +genhtml_line_field_width = 12 + +# Width of branch coverage field in source code view +genhtml_branch_field_width = 16 + +# width of 'owner' field in source code veiw - default is 20 +#genhtml_owner_field_width = 20 + +# width of 'age' field in source code veiw - default is 5 +#genhtml_age_field_width = 5 + +# Width of overview image (used by --frames option of genhtml) +genhtml_overview_width = 80 + +# Resolution of overview navigation: this number specifies the maximum +# difference in lines between the position a user selected from the overview +# and the position the source code window is scrolled to (used by --frames +# option of genhtml) +genhtml_nav_resolution = 4 + +# Clicking a line in the overview image should show the source code view at +# a position a bit further up so that the requested line is not the first +# line in the window. This number specifies that offset in lines (used by +# --frames option of genhtml) +genhtml_nav_offset = 10 + +# Do not remove unused test descriptions if non-zero (same as +# --keep-descriptions option of genhtml) +genhtml_keep_descriptions = 1 + +# Do not remove prefix from directory names if non-zero (same as --no-prefix +# option of genhtml) +genhtml_no_prefix = 0 + +# Do not create source code view if non-zero (same as --no-source option of +# genhtml) +genhtml_no_source = 0 + +# Replace tabs with number of spaces in source view (same as --num-spaces +# option of genhtml) +genhtml_num_spaces = 4 + +# Highlight lines with converted-only data if non-zero (same as --highlight +# option of genhtml) +genhtml_highlight = 1 + +# Include color legend in HTML output if non-zero (same as --legend option of +# genhtml) +genhtml_legend = 1 + +# Use FILE as HTML prolog for generated pages (same as --html-prolog option of +# genhtml) +#genhtml_html_prolog = FILE + +# Use FILE as HTML epilog for generated pages (same as --html-epilog option of +# genhtml) +#genhtml_html_epilog = FILE + +# Use custom filename extension for pages (same as --html-extension option of +# genhtml) +#genhtml_html_extension = html + +# Compress all generated html files with gzip. +#genhtml_html_gzip = 1 + +# Include sorted overview pages (can be disabled by the --no-sort option of +# genhtml) +genhtml_sort = 1 + +# Display coverage idata in hierarchical directory structure rather than +# top/directory/source +#genhtml_hierarchical = 1 + +# Display coverage data using 'flat' view: top-level table holds all +# files with no intermediate directory pages. +genhtml_flat_view = 1 + +# Enable hyperlinks from coverage summary table to first source code line +# in corresponding category ('Hit' or "Missed') in non-differential report. +# Feature is always enabled in differential coverage report. +genhtml_show_navigation = 1 + +# If nonzero, add column to "function coverage detail" table to show the proportion of lines and branches within the function which are exercised. +#genhtml_show_function_proportion = 0 + +# Specify the character set of all generated HTML pages +genhtml_charset=UTF-8 + +# Allow HTML markup in test case description text if non-zero +genhtml_desc_html=1 + +# Specify the precision for coverage rates +#genhtml_precision=1 + +# Show missed counts instead of hit counts +genhtml_missed=1 + +# If set, suppress list of aliases in function detail table +#suppress_function_aliases = 1 + +# If set, derive function end line from line coverpoint data - default ON +#derive_function_end_line = 1 + +# If set, derive function end line from line coverpoint data - default ON +#derive_function_end_line = 1 + +# Maximum size of function (number lines) which will be checked by '--filter trivial' +#trivial_function_threshold = 5 + +# Demangle C++ symbols +# Call multiple times to specify command and command line arguments +# ('-Xlinker'-like behaviour) +#demangle_cpp = c++filt + +# Name of the tool used for demangling C++ function names +# This argument is deprecated - please use 'demangle_cpp' instead +#genhtml_demangle_cpp_tool = c++filt +# Specify extra parameters to be passed to the demangling tool +# This argument is deprecated - please use 'demangle_cpp' instead +#genhtml_demangle_cpp_params = "" + +# Location of the gcov tool (same as --gcov-info option of geninfo) +#geninfo_gcov_tool = gcov + +# Adjust test names to include operating system information if non-zero +#geninfo_adjust_testname = 0 + +# Ignore testcase names in .info file +#forget_testcase_names = 0 + +# Calculate checksum for each source code line if non-zero (same as --checksum +# option of geninfo if non-zero, same as --no-checksum if zero) +#checksum = 1 + +# Specify whether to capture coverage data for external source files (can +# be overridden by the --external and --no-external options of geninfo/lcov) +#geninfo_external = 1 + +# Enable libtool compatibility mode if non-zero (same as --compat-libtool option +# of geninfo if non-zero, same as --no-compat-libtool if zero) +#geninfo_compat_libtool = 0 + +# Use gcov's --all-blocks option if non-zero +#geninfo_gcov_all_blocks = 1 + +# Adjust 'executed' non-zero hit count of lines which contain no branches +# and have attribute '"unexecuted_blocks": true' +#geninfo_unexecuted_blocks = 0 + +# Specify compatiblity modes (same as --compat option of geninfo). +#geninfo_compat = libtool=on, hammer=auto, split_crc=auto + +# Adjust path to source files by removing or changing path components that +# match the specified pattern (Perl regular expression format) +#geninfo_adjust_src_path = /tmp/build => /usr/src + +# Specify if geninfo should try to automatically determine the base-directory +# when collecting coverage data. +geninfo_auto_base = 1 + +# Use gcov intermediate format? Valid values are 0, 1, auto +geninfo_intermediate = auto + +# Specify if exception branches should be excluded from branch coverage. +no_exception_branch = 0 + +# Directory containing gcov kernel files +# lcov_gcov_dir = /proc/gcov + +# Location of the insmod tool +lcov_insmod_tool = /sbin/insmod + +# Location of the modprobe tool +lcov_modprobe_tool = /sbin/modprobe + +# Location of the rmmod tool +lcov_rmmod_tool = /sbin/rmmod + +# Location for temporary directories +lcov_tmp_dir = /tmp + +# Show full paths during list operation if non-zero (same as --list-full-path +# option of lcov) +lcov_list_full_path = 0 + +# Specify the maximum width for list output. This value is ignored when +# lcov_list_full_path is non-zero. +lcov_list_width = 80 + +# Specify the maximum percentage of file names which may be truncated when +# choosing a directory prefix in list output. This value is ignored when +# lcov_list_full_path is non-zero. +lcov_list_truncate_max = 20 + +# Specify if function coverage data should be collected, processed, and displayed +function_coverage = 1 + +# Specify if branch coverage data should be collected, processed, and displayed +branch_coverage = 1 + +# Ask LCOV to return non-zero exit code if line coverage is below threshold +# Default is 0.0 - i.e., do not check threshold. +#lcov_fail_under_lines = 97.5 + +# specify revision control annotation script for genhtml +#genhtml_annotate_script = path_to_my_executable + +# specify coverage criteria script for genhtml +#genhtml_criteria_script = path_to_my_executable + +# specify whether you want date and/or owner information passed to your criteria +# callback - in addition to summary information, which is always retuned +#criteria_callback_data = date,owner + +# specify when the criteria callback will be executed +#criteria_callback_levels = top,directory,file + +# specify age cutpoints for genhtml date bins +# can call option multiple times or use comma-separted list (or both) +#genhtml_date_bins = 7 +#genhtml_date_bins = 30,180 + +# ask geninfo/lcov/genhtml to include only certain files (glob match pattern) +# call multiple times to specify multiple patterns +#include = my/files/*.c +#include = my/files/*.h + +# ask geninfo/lcov/genhtml to exclude certain files (glob match pattern) +# call multiple times to specify multiple patterns +#exclude = your/files/*.c +#exclude = your/files/*.h + +# ask geninfo/lcov/genhtml to munge file pathnames when reading/writing .info files +# call multiple times to specify multiple patterns +# this pattern removes "/.lib" from the pathname (see the lcov man page for details) +#substitute = s#/.libs##g +# this pattern changes "/tmp/build" to "/usr/src" (see the lcov man page for details) +#substitute = s#/tmp/build#/usr/src#g + +# ask geninfo/lcov/genhtml to exclude coverpoints associated with lines which match +# the regexp. Call multiple times to specify multiple patterns +# omit lines which end with "// MY_LINE_EXCLUDE_MARKER +#omit_lines = .+?//\s*MY_LINE_EXCLUDE_MARKER\s* +# add another exclusion marker +#omit_lines = .+?//\s*MY_PROJECT_EXCLUDE_MARKER\s* + +# ask geninfo/lcov/genhtml to exclude coverpoints whose lines are within +# the start/end of a function matching the regexp. +#Call multiple times to specify multiple patterns +#erase_functions = main +# and another - note that this looks like a demangled C++ function +# that the argument is a regexp - so special characters need to be escaped +#erase_functions = debug)_.*\(int,\s*int\) + +# specify path to version identification script +#version_script = path_to_my_executable + +# Specify JSON module to use, or choose best available if set to auto +lcov_json_module = auto + +# Specify maximum number of parallel slaves +# default: 1 (no parallelism) +parallel = 8 + +# Specify maximum memory to use during parallel processing, in Mb. +# Do not fork if estimated memory consumption exceeds this number. +# default: 0 (no limit) +#memory = 1024 + +# Character used to split list-type parameters +# - for example, the list of "--ignore_errors source,mismatch" +# default: , (comma) +#split_char = , + +# use case insensitive compare to find matching files, for include/exclude +# directives, etc +#case_insensitive = 0 + +# override line default line exclusion regexp +#lcov_excl_line = LCOV_EXCL_LINE + +# overide branch exclusion regexp +#lcov_excl_br_line = LCOV_EXCL_BR_LINE + +# override exception branch exclusion regexp +#lcov_excl_exception_br_line = LCOV_EXCL_EXCEPTION_BR_LINE + +# override start of exclude region regexp +#lcov_excl_start = LCOV_EXCL_START + +# override end of exclude region regexp +#lcov_excl_stop = LCOV_EXCL_STOP + +# override start of branch exclude region regexp +#lcov_excl_br_start = LCOV_EXCL_BR_START + +# override start of exclude region regexp +#lcov_excl_br_stop = LCOV_EXCL_BR_STOP + +# override start of exclude region regexp +#lcov_excl_exception_br_start = LCOV_EXCL_EXCEPTION_BR_START + +# override start of exclude region regexp +#lcov_excl_exception_br_stop = LCOV_EXCL_EXCEPTION_BR_STOP diff --git a/.lcovrc.gcov.css b/.lcovrc.gcov.css new file mode 100644 index 0000000..6eb6a4b --- /dev/null +++ b/.lcovrc.gcov.css @@ -0,0 +1,133 @@ +/* @import url("https://fonts.googleapis.com/css?family=Source Code Pro|Quicksand"); */ + +:root { + --textColor: #e2e2e2; + --mainBg: #1b1b1b; + --linkColor: #3294ff; + --lighter: #ffffff05; + --red: #ff511a; + --redBg: #ff511a22; + --yellow: #a68f01; + --yellowBg: #a68f0122; + --green: #4ca340; + --greenBg: #4ca34022; +} + +a, +a:visited { + color: var(--linkColor); + text-decoration: none; +} + +body center table tbody tr:nth-child(even):not(:nth-child(2)) { + background-color: var(--lighter); +} + +body { + font-family: "FreeSans", "Helvetica", "Roboto", sans-serif; + background-color: var(--mainBg); + color: var(--textColor); +} + +center table { + background-color: var(--lighter); + border-radius: 1em; + padding: 1em; + padding-top: 0; +} + +td, +th { + padding: 0.5em; +} + +td.coverBar > table { + background: none; + border-radius: 0; + padding: 0; +} + +/*code-related style is below this line*/ + +.source > a { + color: var(--textColor); + font-family: "Hack Nerd Font Mono", "Source Code Pro", "Deja Vu Sans Mono", + monospace; +} + +td.lineCov, +span.lineCov, +.covered, +.coverLegendCov, +.coverLegendCovHi, +.tlaGNC { + color: var(--green); +} + +span.lineCov, +.coverLegendCov, +.coverLegendCovHi, +.tlaBgGNC { + background-color: var(--greenBg); +} + +.coverLegendCovMed { + background-color: var(--yellowBg); + color: var(--yellow); +} + +body > table:nth-child(2) { + margin-inline-start: auto; + margin-inline-end: auto; +} + +td.lineNoCov, +span.lineNoCov, +.uncovered, +.coverLegendNoCov, +.coverLegendCovLo, +.tlaUNC { + color: var(--red); +} + +span.lineNoCov, +.coverLegendNoCov, +.coverLegendCovLo, +.tlaBgUNC { + background-color: var(--redBg); +} + +.source { + width: 125em; +} + +img[src*="ruby.png"] { + opacity: 0; + visibility: hidden; /* Hide the image */ +} + +img[src*="amber.png"] { + opacity: 0; + visibility: hidden; /* Hide the image */ +} + +img[src*="emerald.png"] { + opacity: 0; + visibility: hidden; /* Hide the image */ +} + +.coverBarOutline { + padding: 0; +} + +.coverBarOutline:has(img[src*="ruby.png"]) { + background-color: var(--red); +} + +.coverBarOutline:has(img[src*="amber.png"]) { + background-color: var(--yellow); +} + +.coverBarOutline:has(img[src*="emerald.png"]) { + background-color: var(--green); +} diff --git a/install.sh b/install.sh index 7452400..380bb7d 100755 --- a/install.sh +++ b/install.sh @@ -64,6 +64,8 @@ link_source ".gtkrc-2.0" 0 link_source .xinitrc 0 link_source .xprofile 0 link_source .warprc 0 +link_source .lcovrc 1 +link_source .lcovrc.gcov.css 1 # Dot directories mkdir -p "${HOME}/.config/" @@ -367,6 +369,7 @@ case "$response" in # TODO: install LTS node via NVM which is installed via ZSH. if [[ -x "$(command -v npm)" ]]; then npm install -g neovim || sudo npm install -g neovim + npm install -g @bazel/bazelisk || sudo npm install -g @bazel/bazelisk # I set this up to use npx instead #npm install -g bash-language-server @@ -455,6 +458,9 @@ case "$response" in # This one works: sudo dnf copr enable ojab/openvpn3 + # Add Copr repo for Bazel + # This is WAY out of date. Do not use! + # Add Signal Desktop repo sudo dnf config-manager --add-repo "https://download.opensuse.org/repositories/network:im:signal/Fedora_$(rpm -E %fedora)/network:im:signal.repo" @@ -462,7 +468,7 @@ case "$response" in sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo # Update all the new repositories - sudo dnf update -y + sudo dnf check-update --refresh read -r -p "Would you like to install Brave? [y/N] " response case "$response" in @@ -1204,6 +1210,12 @@ case "$response" in gsettings set org.gnome.desktop.interface document-font-name 'FreeSans 11' gsettings set org.gnome.desktop.interface monospace-font-name 'Hack Nerd Font Mono 11' fi + + if [ -s /usr/share/applications/brave.desktop ]; then + xdg-settings set default-web-browser brave.desktop + elif [ -s /usr/share/applications/brave-browser.desktop ]; then + xdg-settings set default-web-browser brave-browser.desktop + fi ;; *) echo "Skipping font installation" From ad37330cd41674201cc1ccd9063bf7b94a1910ae Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Wed, 14 Aug 2024 16:59:03 -0400 Subject: [PATCH 12/17] Update warprc for iac repo --- .warprc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.warprc b/.warprc index adda7bc..fb4f654 100644 --- a/.warprc +++ b/.warprc @@ -9,7 +9,7 @@ fal:~/aura/sc/integ-fos-ansible-library fl:/opt/flotilla fos:~/aura/sc/fos-data-testsuite gvcf:~/aura/sc/gvcf-transcoder-service -iac:~/aura/ns/core-poc-iac +iac:~/aura/sc/core-on-prem-k8s-iac m:~/src/miscellaneous sr:~/src s:~/src From 579b3b6fe5c840716198d34363671d2c35b0ff85 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Thu, 15 Aug 2024 01:29:57 -0400 Subject: [PATCH 13/17] Update README for lcov --- README.md | 21 +++++++++++++-------- assets/lcov.png | Bin 0 -> 151106 bytes 2 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 assets/lcov.png diff --git a/README.md b/README.md index e66f279..f9f9dd5 100644 --- a/README.md +++ b/README.md @@ -52,29 +52,34 @@ files. Execute `./install.sh` after a pull to get any new packages or other upda This repository contains configurations for: +- `bash` - `bspwm` - `btop` -- `picom` +- `chrony` - `copyq` - `dunst` +- `lcov` - `mpd` - `ncmpcpp` +- `neovim` - `newsboat` +- `pacman` - `pcmanfm` +- `picom` - `polybar` +- `radare` - `rofi` - `sxhkd` +- `tmux` - `variety` - `weechat` +- `x11` - `zathura` -- `chrony` -- `pacman` - `zsh` -- `bash` -- `radare` -- `tmux` -- `neovim` -- `x11` + +## `lcov` + +![lcov](assets/lcov.png) ## Credits diff --git a/assets/lcov.png b/assets/lcov.png new file mode 100644 index 0000000000000000000000000000000000000000..24b579570a0f1bc0226ca65a4b018f17e462b828 GIT binary patch literal 151106 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

kcr z3+-xV=EEW~;tt7i_K&Q$3ylUvN4@3*iEL5)h8`)Ijn}h!d?}aivQ5BO0*Lc7thAZX>_!a1aw5ew%ip>KfJN0AZ9z@^E@C?LzfdmL3CZy1kCJ)TKk_*@UK_PCM@V->fCXlkc6b66nlZJU{D?68}N2%r#b;n^?7m zsuWxk-$TC=|KVzs&DZP|G+Kx`(9TVEK{F?=TXQu!%?U2fG|)~66>AU|!%kWBYIN!g zer|#tzT>kWTm2U+GOsYtBz=vnmd7XE`hYf4D%GQ~tWxZq5lKy|^?xkYy#0%}n4GyN zSCW;OsL=c6qNvkaN{}XZ*;iGZ0=^H^{MtkTGn=p8lg6?W1x3$x-@itevMm!4>1S63 z)LZHbKGNoy{pd&?sY5x>{}jnUd%-9UM0({QC78LtyMIzlCm>~`q@)yr$QzLAKzJ$4 zg67fC{4E}a}?Bi*=hUmRpToN%{03KZ*bz=O~a;l04)00%m3tng31JpJ(+{2EIKSW%8Wecat{ zva#Mx&-wO9M)|semOnvOa971%i~r z2Qhq=Qjx<^-el94)p^3{76;^xGC0oeC#u9;vlN$cULYW{ePmrm)=+4oV3_|jOQ0aB zKJ3ZmL^w~XEqBY@KFT2+(*Y?+vk7Vl2YnTP~i`=ETUP^E! z)W%X2``!DYHBnJAxYA$D^*}`&y~m!PW7C`Ii0f;#@eD7r8?^bIuW9RaEdL{2t4fyMDwd z;$LgMnIKO^oRd^Lx|HsxC)ZT={!=7FNg7+8)6q>|j%xyXP6s54>#Ue^`q4#6aqWA9 zifR`?`$5%Z73VS({J}DUm1d8F7%5SOaxHiU0sVqv!VwAwaC#R&MGHAORh1!?FoPU9 zb%>c1Z%uL-A<0%85CjHguK!QCu+_UW(as~Tj5luF5I&4Jp9sV;yvju?0cCN-00D3@ zR4ddX9*AWG9>rznv00GmkdTl7o~{hl>?psT{r%adNHi!BfmMLWs0O}v*;IQ#UI1EY z?R2pXF>3xWKA5`)TD>(kVogA+LCe!;Q3Oi@6h*aauJDcl!(#$tg{Gz^j5mGHq{P8` zC&2feX7+Z=Bq-|OfQ;&e1Qsj0!DFk65MovNYkx>~F^8;2hg11m=w2TCPB%qH2YIL3 zC9tZLRH`V`25ejWXLPF_NHg!5wbO zaUMq3X0@&qd5Is9jVVmZPi#L}-)WD0IZ!<|Dtn5+@M(S%v+viu?4?}Yd`#4H(YvA> z+}TgWIdU9rS@!Z+JG^$y4Ff6PU@)d935J`wxK5`#zNt>WK9J-8a|?}fK$Qko#tY4` zkl{-bwM+EaG9IS$W%nx=F$~I~pWu>FMKZ$;V+N+}v1`q)X2}~}QsGR>T8W{k%7h2Y zRZx44Wam*Ff6XJ%?*Vj$gN+mX->q79^Bwd=OwdQS7_q2-8Jq9q#o@tN4p${Y&LSJg zs3cm;(VLqVzI5(f!_9;*@Rh?|9T*tM0WZa%Doxm~c|!{j(*G8~95OFMfRHQ^ov zYddVpGb~I%0D+}_1iD(tfPo4@hqW6)f88a=!cJ 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 O Date: Thu, 15 Aug 2024 23:32:19 -0400 Subject: [PATCH 14/17] Clipboard fixes, switch to xsel --- .tmux.conf | 2 +- .zshrc | 17 +++++++++++++++++ archiso/10-archiso.sh | 2 +- install.sh | 12 ++++++------ 4 files changed, 25 insertions(+), 8 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index f5cfe5b..e41d2b1 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -76,7 +76,7 @@ set -g @net_speed_format "󰁆 %8s 󰁞 %8s" set -g @yank_selection 'clipboard' # or 'primary' or 'secondary' set -g @yank_selection_mouse 'clipboard' # or 'primary' or 'secondary' set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default -set -g @yank_with_mouse on # or 'on' +set -g @yank_with_mouse on # or 'off' # Sensible: Fix the colors. #set -g default-terminal "xterm-256color" diff --git a/.zshrc b/.zshrc index d42651a..1f43ce9 100644 --- a/.zshrc +++ b/.zshrc @@ -1475,6 +1475,23 @@ zshrc_load_library() { fi done } + + clipboards() { + if [ -x "$(command -v xsel)" ]; then + echo "xsel:" + echo "Primary: \"$(xsel --output --primary)\"" + echo "Secondary: \"$(xsel --output --secondary)\"" + echo "Clipboard: \"$(xsel --output --clipboard)\"" + fi + + if [ -x "$(command -v xclip)" ]; then + echo "\nxclip:" + echo "Primary: \"$(xclip -out -selection primary)\"" + echo "Secondary: \"$(xclip -out -selection secondary)\"" + echo "Clipboard: \"$(xclip -out -selection clipboard)\"" + echo "Buffer-cut: \"$(xclip -out -selection buffer-cut)\"" + fi + } } zshrc_set_aliases() { diff --git a/archiso/10-archiso.sh b/archiso/10-archiso.sh index 52da7d3..c47698d 100644 --- a/archiso/10-archiso.sh +++ b/archiso/10-archiso.sh @@ -102,7 +102,7 @@ echo "Mount up" #ls /mnt echo "Install base packages" -pacstrap /mnt base linux-lts linux-lts-headers linux-firmware e2fsprogs lvm2 cryptsetup iproute2 networkmanager neovim man-db man-pages texinfo git tmux zsh htop curl ripgrep python nodejs xclip weechat newsboat neofetch chezmoi efivars zram-generator sudo reflector rsync base-devel dkms xorg xorg-server xorg-apps xorg-init xorg-twm xorg-xclock xterm wget unzip zip python python-pip rubygems chromium firefox vulcan-icd-loader vulkan-tools xdg-user-dirs thermald ethtool smartmontools gsmartcontrol pipewire wireplumber helvum pipewire-jack pipewire-alsa pipewire-pulse xdg-desktop-portal xdg-desktop-portal-gtk util-linux chrony +pacstrap /mnt base linux-lts linux-lts-headers linux-firmware e2fsprogs lvm2 cryptsetup iproute2 networkmanager neovim man-db man-pages texinfo git tmux zsh htop curl ripgrep python nodejs xsel weechat newsboat neofetch chezmoi efivars zram-generator sudo reflector rsync base-devel dkms xorg xorg-server xorg-apps xorg-init xorg-twm xorg-xclock xterm wget unzip zip python python-pip rubygems chromium firefox vulcan-icd-loader vulkan-tools xdg-user-dirs thermald ethtool smartmontools gsmartcontrol pipewire wireplumber helvum pipewire-jack pipewire-alsa pipewire-pulse xdg-desktop-portal xdg-desktop-portal-gtk util-linux chrony pacstrap /mnt tlp pacstrap /mnt amd-ucode pacstrap /mnt intel-ucode xf86-video-intel mesa diff --git a/install.sh b/install.sh index 380bb7d..1550614 100755 --- a/install.sh +++ b/install.sh @@ -194,7 +194,7 @@ case "$response" in tmux \ util-linux-user \ weechat \ - xclip \ + xsel \ zsh elif [[ -x "$(command -v brew)" ]]; then # macOS has outdated version of curl, make, binutils, gcc @@ -226,7 +226,7 @@ case "$response" in ripgrep \ tmux \ weechat \ - xclip \ + xsel \ zsh elif [[ -x "$(command -v apt)" ]]; then # NOTE: On slightly older versions of Debian/Ubuntu awscli is v1, not v2! @@ -255,7 +255,7 @@ case "$response" in ruby-rubygems \ tmux \ weechat \ - xclip \ + xsel \ zsh elif [[ -x "$(command -v pacman)" ]]; then sudo pacman -Syu --needed "$AUTOMATED_PACMAN_FLAGS" \ @@ -283,7 +283,7 @@ case "$response" in rubygems \ tmux \ weechat \ - xclip \ + xsel \ zsh if [[ -x "$(command -v yay)" ]]; then @@ -319,7 +319,7 @@ case "$response" in ruby \ tmux \ weechat \ - xclip \ + xsel \ zsh # TODO: Install awscli v2 on BSD @@ -999,7 +999,7 @@ case "$response" in ssh-add "${HOME}/.ssh/id_rsa" fi - xclip -sel clip < "${HOME}/.ssh/id_rsa.pub" && echo "Key copied to clipboard" + xsel --clipboard -i < "${HOME}/.ssh/id_rsa.pub" && echo "Key copied to clipboard" cat "${HOME}/.ssh/id_rsa.pub" ;; *) From 91336b6540d635a435749e2bf26ab6e600e34ff0 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Fri, 16 Aug 2024 03:08:42 -0400 Subject: [PATCH 15/17] fix copy paste finally --- .tmux.conf | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.tmux.conf b/.tmux.conf index e41d2b1..d969d22 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -16,7 +16,6 @@ set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'tmux-plugins/tmux-cpu' set -g @plugin 'tmux-plugins/tmux-pain-control' -set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'tmux-plugins/tmux-net-speed' set -g @plugin 'tmux-plugins/tmux-copycat' set -g @plugin 'tmux-plugins/tmux-prefix-highlight' @@ -73,10 +72,15 @@ set -g @batt_color_charging "#[fg=colour033]" set -g @net_speed_format "󰁆 %8s 󰁞 %8s" -set -g @yank_selection 'clipboard' # or 'primary' or 'secondary' -set -g @yank_selection_mouse 'clipboard' # or 'primary' or 'secondary' -set -g @yank_action 'copy-pipe' # or 'copy-pipe-and-cancel' for the default -set -g @yank_with_mouse on # or 'off' +## Copy paste settings +## https://github.com/tmux/tmux/wiki/Clipboard +set -g mode-keys vi +set -g set-clipboard external +set -s copy-command 'xsel -i --clipboard' +bind -T copy-mode-vi 'v' send -X begin-selection +bind -T copy-mode-vi 'y' send -X copy-pipe +bind -T copy-mode C-c send -X copy-pipe-no-clear +bind -T copy-mode-vi C-c send -X copy-pipe-no-clear # Sensible: Fix the colors. #set -g default-terminal "xterm-256color" @@ -168,10 +172,6 @@ set -g focus-events on run-shell "tmux set-environment -g TMUX_VERSION_MAJOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f1 | sed 's/[^0-9]*//g')" run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f2 | sed 's/[^0-9]*//g')" -## Sensible: Vi copypaste mode, makes more sense even to us Vim users. -# set-option -g mode-keys emacs -if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel' - # Remove mouse mode fail. if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\)' 'set -g mouse off' From 12aeee8d67887b358b343506827c36225758ed27 Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Tue, 20 Aug 2024 10:54:28 -0400 Subject: [PATCH 16/17] Add tstamp and color_codes, gnome tweaks --- .zshrc | 35 ++++++++++++++++++++++++++++++++++- install.sh | 43 +++++++++++++++++++++++++++++++++++++------ 2 files changed, 71 insertions(+), 7 deletions(-) diff --git a/.zshrc b/.zshrc index 1f43ce9..e2c4f61 100644 --- a/.zshrc +++ b/.zshrc @@ -1492,6 +1492,39 @@ zshrc_load_library() { echo "Buffer-cut: \"$(xclip -out -selection buffer-cut)\"" fi } + + tstamp() { + if date --version 2>&1 | grep -q 'GNU coreutils'; then + cmd='date -u --iso-8601=ns' + else + # *BSD + cmd='date -u +"%Y-%m-%dT%H:%M:%S%:z"' + fi + while IFS= read -r line; do + printf "[\033[0;34m%s\033[0m] %s\n" "$($cmd)" "$line"; + done + } + + color_codes() { + # Define the text attributes and colors + attributes=( + "0" "1" "4" "5" "7" + ) + colors=( + "30" "31" "32" "33" "34" "35" "36" "37" + ) + + # Loop through each attribute and color, displaying them horizontally + for attribute in "${attributes[@]}"; do + for color in "${colors[@]}"; do + echo -en "\033[${attribute};${color}m ${attribute};${color} \033[0m\t" + done + echo "" + done + + # Reset to default + echo -e "\033[0mDefault Text" + } } zshrc_set_aliases() { @@ -1556,7 +1589,7 @@ zshrc_set_aliases() { alias dtail='docker logs -tf --tail="50" "$@"' # Clipboard - alias clip='xclip -selection clipboard' + alias clip='xsel --clipboard --trim -i' # btop > htop > top if type htop > /dev/null 2>&1; then diff --git a/install.sh b/install.sh index 1550614..c84ec18 100755 --- a/install.sh +++ b/install.sh @@ -750,6 +750,7 @@ case "$response" in nextcloud-client \ p7zip \ qalculate-gtk \ + touchegg \ veracrypt \ zathura \ zathura-pdf-mupdf \ @@ -789,6 +790,7 @@ case "$response" in nextcloud-desktop \ p7zip-full \ qalculate-gtk \ + touchegg \ unrar \ zathura \ -y @@ -807,6 +809,7 @@ case "$response" in noto-fonts-emoji \ p7zip \ qalculate-gtk \ + touchegg \ unrar \ veracrypt \ zathura \ @@ -829,6 +832,7 @@ case "$response" in nextcloudclient \ noto-emoji \ qalculate-gtk \ + touchegg \ unrar \ veracrypt \ yt-dlp \ @@ -872,6 +876,39 @@ case "$response" in ;; esac +read -r -p "Would you like to setup Gnome? [y/N] " response +case "$response" in + [yY][eE][sS]|[yY]) + # Set fonts for Gnome. + if [[ "$XDG_CURRENT_DESKTOP" == "GNOME" ]]; then + gsettings set org.gnome.desktop.interface font-name 'FreeSans 11' + gsettings set org.gnome.desktop.interface document-font-name 'FreeSans 11' + gsettings set org.gnome.desktop.interface monospace-font-name 'Hack Nerd Font Mono 11' + + if [ -s /usr/share/applications/brave.desktop ]; then + xdg-settings set default-web-browser brave.desktop + elif [ -s /usr/share/applications/brave-browser.desktop ]; then + xdg-settings set default-web-browser brave-browser.desktop + fi + + # TODO: Install extensions + #appindicatorsupport@rgcjonas.gmail.com + #blur-my-shell@aunetx + #gsconnect@andyholmes.github.io + #clipboard-indicator@tudmotu.com + #Vitals@CoreCoding.com + #x11gestures@joseexposito.github.io + #apps-menu@gnome-shell-extensions.gcampax.github.com + #background-logo@fedorahosted.org + #launch-new-instance@gnome-shell-extensions.gcampax.github.com + #places-menu@gnome-shell-extensions.gcampax.github.com + #window-list@gnome-shell-extensions.gcampax.github.com + fi + ;; + *) + echo "Skipping font installation" + ;; +esac read -r -p "Would you like to attempt an install of Suckless Terminal (st)? [y/N] " response case "$response" in @@ -1210,12 +1247,6 @@ case "$response" in gsettings set org.gnome.desktop.interface document-font-name 'FreeSans 11' gsettings set org.gnome.desktop.interface monospace-font-name 'Hack Nerd Font Mono 11' fi - - if [ -s /usr/share/applications/brave.desktop ]; then - xdg-settings set default-web-browser brave.desktop - elif [ -s /usr/share/applications/brave-browser.desktop ]; then - xdg-settings set default-web-browser brave-browser.desktop - fi ;; *) echo "Skipping font installation" From 792503b0b89cb5f9ffc10fdfac62df17056149ce Mon Sep 17 00:00:00 2001 From: Max O'Cull Date: Tue, 20 Aug 2024 13:28:21 -0400 Subject: [PATCH 17/17] Add aws cli installer --- install.sh | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index c84ec18..baa5c8f 100755 --- a/install.sh +++ b/install.sh @@ -166,7 +166,6 @@ case "$response" in # shell-gpt needs python3-devel on Fedora. # gem needs ruby-devel on Fedora. sudo dnf install -y \ - awscli2 \ btop \ ctags \ curl \ @@ -200,7 +199,6 @@ case "$response" in # macOS has outdated version of curl, make, binutils, gcc # macOS login needs pinentry-mac in order to complete gpg git commit signing brew install \ - awscli \ binutils \ btop \ chezmoi \ @@ -229,9 +227,7 @@ case "$response" in xsel \ zsh elif [[ -x "$(command -v apt)" ]]; then - # NOTE: On slightly older versions of Debian/Ubuntu awscli is v1, not v2! sudo apt install -y \ - awscli \ btop \ ctags \ curl \ @@ -321,8 +317,6 @@ case "$response" in weechat \ xsel \ zsh - - # TODO: Install awscli v2 on BSD fi if [[ ! -x "$(command -v chezmoi)" ]]; then @@ -425,6 +419,9 @@ case "$response" in ## Leonidas Spyropoulos gpg --receive-keys 3572FA2A1B067F22C58AF155F8B821B42A6FDCD7 + # AWS CLI Team + gpg --keyserver keyserver.ubuntu.com --receive-keys FB5DB77FD5C118B80511ADA8A6310ACC4672475C + if [[ ! "$SHELL" =~ "zsh" ]]; then chsh -s "$(command -v zsh)" "${USER}" @@ -435,6 +432,30 @@ case "$response" in ;; esac +read -r -p "Would you like to install AWS CLI (v2)? [y/N] " response +case "$response" in + [yY][eE][sS]|[yY]) + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" + curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig" -o "awscliv2.sig" + + gpg --verify "awscliv2.sig" "awscliv2.zip" + unzip awscliv2.zip + + if [ -d "${HOME}/.local/share/aws-cli" ]; then + ./aws/install --bin-dir "${HOME}/.local/bin" --install-dir "${HOME}/.local/share/aws-cli" --update + else + ./aws/install --bin-dir "${HOME}/.local/bin" --install-dir "${HOME}/.local/share/aws-cli" + fi + + rm -rf awscliv2.zip awscliv2.sig aws + + aws --version + ;; + *) + echo "Skipping AWS CLI installation" + ;; +esac + read -r -p "Would you like to add unofficial package repositories? [y/N] " response case "$response" in [yY][eE][sS]|[yY])