├── .hosts ├── .multitailrc ├── chrony.conf ├── .config ├── weechat │ ├── ruby.conf │ ├── spell.conf │ ├── javascript.conf │ ├── plugins.conf │ ├── fifo.conf │ ├── charset.conf │ ├── sec.conf │ ├── exec.conf │ ├── typing.conf │ ├── logger.conf │ ├── alias.conf │ ├── xfer.conf │ ├── relay.conf │ ├── buflist.conf │ ├── script.conf │ ├── trigger.conf │ ├── fset.conf │ ├── irc.conf │ └── weechat.conf └── htop │ └── htoprc ├── .gemrc ├── .termux ├── boot │ ├── start-postgresd │ └── README ├── termux.properties └── colors.properties ├── .vim ├── spell │ ├── en.utf-8.add.spl │ └── en.utf-8.add └── colors │ └── devpunks.vim ├── .muttrc ├── Dockerfile ├── .youtubedr.yaml ├── .npmrc ├── .ssh ├── rc ├── banner ├── config.example └── config ├── README.md ├── .shellcheckrc ├── .mailrc ├── .gitignore ├── .tidyrc ├── .gnupg ├── gpg-agent.conf └── gpg.conf ├── pg ├── yt-dlp.conf ├── tinyproxy.conf ├── .wgetrc ├── .bash_logout ├── .curlrc ├── .nginx └── nginx.conf ├── ide ├── lighttpd.conf ├── .dircolors ├── .inputrc ├── .gitmodules ├── .gitconfig ├── NOTES ├── init.sh └── .bashrc /.hosts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.multitailrc: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /chrony.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.config/weechat/ruby.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.config/weechat/spell.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.config/weechat/javascript.conf: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gemrc: -------------------------------------------------------------------------------- 1 | 2 | install: --no-document 3 | update: --no-document 4 | -------------------------------------------------------------------------------- /.termux/boot/start-postgresd: -------------------------------------------------------------------------------- 1 | echo Starting PostgreSQL from Termux Boot! 2 | -------------------------------------------------------------------------------- /.vim/spell/en.utf-8.add.spl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devpunks/.files/main/.vim/spell/en.utf-8.add.spl -------------------------------------------------------------------------------- /.vim/spell/en.utf-8.add: -------------------------------------------------------------------------------- 1 | NERDTree 2 | ZoomWin 3 | Nerdtree 4 | VimEnter 5 | Javascript 6 | filetype 7 | autowrap 8 | statusline 9 | -------------------------------------------------------------------------------- /.muttrc: -------------------------------------------------------------------------------- 1 | ssl_starttls=yes 2 | ssl_force_tls=yes 3 | imap_user = 'user@gmail.com' 4 | imap_pass = 'password' 5 | from='user@gmail.com' 6 | realname='user' 7 | 8 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # https://docs.docker.com/reference/dockerfile/ 2 | # https://dev.to/uendi_hoxha/dockerfile-best-practices-writing-efficient-and-secure-docker-images-58cn 3 | -------------------------------------------------------------------------------- /.youtubedr.yaml: -------------------------------------------------------------------------------- 1 | --xattrs 2 | --add-metadata 3 | --output ./%(title)s.%(ext)s 4 | --output thumbnail:%(title)s_thumbnail.%(ext)s 5 | --format 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' 6 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | v18.16.1=true 2 | 3 | no-audit=true 4 | engine-strict=true 5 | foreground-scripts=true 6 | 7 | timeout=6000000000 8 | prefer-offline=true 9 | 10 | fetch-retries=50 11 | fetch-retry-mintimeout=6000000 12 | fetch-retry-maxtimeout=6000000000 13 | -------------------------------------------------------------------------------- /.config/weechat/plugins.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- plugins.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [var] 13 | 14 | [desc] 15 | -------------------------------------------------------------------------------- /.config/weechat/fifo.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- fifo.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [file] 13 | enabled = on 14 | path = "${weechat_runtime_dir}/weechat_fifo_${info:pid}" 15 | -------------------------------------------------------------------------------- /.config/weechat/charset.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- charset.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [default] 13 | decode = "iso-8859-1" 14 | encode = "" 15 | 16 | [decode] 17 | 18 | [encode] 19 | -------------------------------------------------------------------------------- /.config/weechat/sec.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- sec.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [crypt] 13 | cipher = aes256 14 | hash_algo = sha256 15 | passphrase_command = "" 16 | salt = on 17 | 18 | [data] 19 | -------------------------------------------------------------------------------- /.config/weechat/exec.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- exec.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [command] 13 | default_options = "" 14 | purge_delay = 0 15 | shell = "${env:SHELL}" 16 | 17 | [color] 18 | flag_finished = lightred 19 | flag_running = lightgreen 20 | -------------------------------------------------------------------------------- /.config/weechat/typing.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- typing.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | delay_purge_paused = 30 14 | delay_purge_typing = 6 15 | delay_set_paused = 10 16 | enabled_nicks = off 17 | enabled_self = off 18 | input_min_chars = 4 19 | item_max_length = 0 20 | -------------------------------------------------------------------------------- /.termux/boot/README: -------------------------------------------------------------------------------- 1 | # BOOT PROCESS 2 | - https://wiki.termux.com/wiki/Termux:Boot 3 | 4 | ## SERVICES 5 | - RUNIT - (pkg install runit) http://smarden.org/runit 6 | runsv, runsvdir, runsvchdir, runsvctrl, runsvstat, sv, syslogd 7 | - benefits - http://smarden.org/runit/benefits.html 8 | - https://github.com/termux/termux-services 9 | - https://wiki.termux.com/wiki/Termux-services 10 | 11 | - Logs 12 | - $PREFIX/var/log/sv//current 13 | - http://smarden.org/runit/svlogd.8.html 14 | - Services - $PREFIX/var/service//** 15 | -------------------------------------------------------------------------------- /.ssh/rc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # 888d888 .d8888b 4 | # 888P" d88P" 5 | # 888 888 6 | # 888 Y88b. 7 | # 888 "Y8888P 8 | # 9 | # ------------------------------------------------------------------------- 10 | # Version: 0.1 11 | # File: rc 12 | # Source: https://github.com/devpunks 13 | # Author: Ahmid-Ra (github.com/snuggs) 14 | # Maintainer: devPunks 15 | # Description: SSH Run Commands (rc) 16 | # ------------------------------------------------------------------------- 17 | 18 | echo 'devPunks Local SSH .rc (Run Commands)' 19 | -------------------------------------------------------------------------------- /.ssh/banner: -------------------------------------------------------------------------------- 1 | 888 8888888b. 888 2 | 888 888 Y88b 888 3 | 888 888 888 888 4 | .d88888 .d88b. 888 888 888 d88P 888 888 88888b. 888 888 .d8888b 5 | d88" 888 d8P Y8b 888 888 8888888P" 888 888 888 "88b 888 .88P 88K 6 | 888 888 88888888 Y88 88P 888 888 888 888 888 888888K "Y8888b. 7 | Y88b 888 Y8b. Y8bd8P 888 Y88b 888 888 888 888 "88b X88 8 | "Y88888 "Y8888 Y88P 888 "Y88888 888 888 888 888 88888P' 9 | 10 | -------------------------------------------------------------------------------- /.config/weechat/logger.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- logger.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | backlog = 20 14 | backlog_conditions = "" 15 | 16 | [color] 17 | backlog_end = 246 18 | backlog_line = 246 19 | 20 | [file] 21 | auto_log = on 22 | color_lines = off 23 | flush_delay = 120 24 | fsync = off 25 | info_lines = off 26 | log_conditions = "" 27 | mask = "$plugin.$name.weechatlog" 28 | name_lower_case = on 29 | nick_prefix = "" 30 | nick_suffix = "" 31 | path = "${weechat_data_dir}/logs" 32 | replacement_char = "_" 33 | rotation_compression_level = 20 34 | rotation_compression_type = none 35 | rotation_size_max = "0" 36 | time_format = "%Y-%m-%d %H:%M:%S" 37 | 38 | [level] 39 | 40 | [mask] 41 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | 888 8888888b. 888 3 | 888 888 Y88b 888 4 | 888 888 888 888 5 | .d88888 .d88b. 888 888 888 d88P 888 888 88888b. 888 888 .d8888b 6 | d88" 888 d8P Y8b 888 888 8888888P" 888 888 888 "88b 888 .88P 88K 7 | 888 888 88888888 Y88 88P 888 888 888 888 888 888888K "Y8888b. 8 | Y88b 888 Y8b. Y8bd8P 888 Y88b 888 888 888 888 "88b X88 9 | "Y88888 "Y8888 Y88P 888 "Y88888 888 888 888 888 88888P' 10 | 11 | 12 | .d888 d8b 888 13 | d88P" Y8P 888 14 | 888 888 15 | 888888 888 888 .d88b. .d8888b 16 | 888 888 888 d8P Y8b 88K 17 | 888 888 888 88888888 "Y8888b. 18 | d8b 888 888 888 Y8b. X88 19 | Y8P 888 888 888 "Y8888 88888P' 20 | ``` 21 | 22 | # devPunks😈.files 23 | 24 | ## Installation 25 | 26 | ``` 27 | $ ./init.sh 28 | ``` 29 | 30 | ## References 31 | - https://blackdown.org/linux-for-iot 32 | -------------------------------------------------------------------------------- /.config/weechat/alias.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- alias.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | config_version = 2 13 | 14 | [cmd] 15 | aaway = "allserv /away" 16 | anick = "allserv /nick" 17 | beep = "print -beep" 18 | bye = "quit" 19 | c = "buffer clear" 20 | chat = "dcc chat" 21 | cl = "buffer clear" 22 | close = "buffer close" 23 | exit = "quit" 24 | ig = "ignore" 25 | j = "join" 26 | k = "kick" 27 | kb = "kickban" 28 | leave = "part" 29 | m = "msg" 30 | msgbuf = "command -buffer $1 * /input send $2-" 31 | mub = "unban *" 32 | n = "names" 33 | q = "query" 34 | redraw = "window refresh" 35 | say = "msg *" 36 | signoff = "quit" 37 | t = "topic" 38 | ub = "unban" 39 | umode = "mode $nick" 40 | v = "command core version" 41 | w = "who" 42 | wc = "window close" 43 | wi = "whois" 44 | wii = "whois $1 $1" 45 | wm = "window merge" 46 | ww = "whowas" 47 | 48 | [completion] 49 | msgbuf = "%(buffers_plugins_names)" 50 | -------------------------------------------------------------------------------- /.config/weechat/xfer.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- xfer.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | auto_open_buffer = on 14 | progress_bar_size = 20 15 | pv_tags = "notify_private" 16 | 17 | [color] 18 | status_aborted = lightred 19 | status_active = lightblue 20 | status_connecting = yellow 21 | status_done = lightgreen 22 | status_failed = lightred 23 | status_waiting = lightcyan 24 | text = default 25 | text_bg = default 26 | text_selected = white 27 | 28 | [network] 29 | blocksize = 65536 30 | fast_send = on 31 | own_ip = "" 32 | port_range = "" 33 | send_ack = on 34 | speed_limit_recv = 0 35 | speed_limit_send = 0 36 | timeout = 300 37 | 38 | [file] 39 | auto_accept_chats = off 40 | auto_accept_files = off 41 | auto_accept_nicks = "" 42 | auto_check_crc32 = off 43 | auto_rename = on 44 | auto_resume = on 45 | convert_spaces = on 46 | download_path = "${weechat_data_dir}/xfer" 47 | download_temporary_suffix = ".part" 48 | upload_path = "~" 49 | use_nick_in_filename = on 50 | -------------------------------------------------------------------------------- /.shellcheckrc: -------------------------------------------------------------------------------- 1 | # 2 | # 888 888 888 888 888 3 | # 888 888 888 888 888 4 | # 888 888 888 888 888 5 | # .d8888b 88888b. .d88b. 888 888 .d8888b 88888b. .d88b. .d8888b 888 888 888d888 .d8888b 6 | # 88K 888 "88b d8P Y8b 888 888 d88P" 888 "88b d8P Y8b d88P" 888 .88P 888P" d88P" 7 | # "Y8888b. 888 888 88888888 888 888 888 888 888 88888888 888 888888K 888 888 8 | # d8b X88 888 888 Y8b. 888 888 Y88b. 888 888 Y8b. Y88b. 888 "88b 888 Y88b. 9 | # Y8P 88888P' 888 888 "Y8888 888 888 "Y8888P 888 888 "Y8888 "Y8888P 888 888 888 "Y8888P 10 | # 11 | # ------------------------------------------------------------------------- 12 | # Version: 0.1 13 | # File: .shellcheckrc 14 | # Source: https://github.com/koalaman/shellcheck 15 | # Author: Vidar Holen (github.com/koalaman) 16 | # Maintainer: https://shellcheck.net 17 | # Description: Shellcheck Run Commands https://shellcheck.net 18 | # ------------------------------------------------------------------------- 19 | # 20 | 21 | # https://github.com/koalaman/shellcheck/wiki/directive#external-sources 22 | external-sources=true 23 | -------------------------------------------------------------------------------- /.mailrc: -------------------------------------------------------------------------------- 1 | 2 | # d8b 888 3 | # Y8P 888 4 | # 888 5 | # 88888b.d88b. 8888b. 888 888 888d888 .d8888b 6 | # 888 "888 "88b "88b 888 888 888P" d88P" 7 | # 888 888 888 .d888888 888 888 888 888 8 | # d8b 888 888 888 888 888 888 888 888 Y88b. 9 | # Y8P 888 888 888 "Y888888 888 888 888 "Y8888P 10 | # 11 | #-------------------------------------------------------------------------- 12 | # File: .mailrc 13 | # Source: https://github.com/devpunks 14 | # Author: devPunks (github.com/devpunks) 15 | # Description: Mail(rc) configuration file. 16 | #-------------------------------------------------------------------------- 17 | 18 | # - https://gist.github.com/heisvoid/e8716555d4e4cc8f38bd6e0fc1f54ffb 19 | # 20 | #========================================================================== 21 | 22 | # TLS 23 | set mta=smtp://USER:PASSWORD@smtp.gmail.com:587 24 | # SSL 25 | set smtp=smtps://smtp.gmail.com:465 26 | set smtp-use-starttls 27 | set ssl-verify=ignore 28 | set v15-compat 29 | 30 | set smtp-auth=login 31 | set smtp-auth-password=YOURPASSWORD 32 | set smtp-auth-user=USERNAME@gmail.com 33 | 34 | # You might need to adjust this depending on your Unix OS 35 | # set nss-config-dir=/etc/pki/nssdb/ 36 | 37 | # vim: foldmethod=marker 38 | -------------------------------------------------------------------------------- /.config/weechat/relay.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- relay.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | config_version = 2 13 | 14 | [look] 15 | auto_open_buffer = on 16 | raw_messages = 256 17 | 18 | [color] 19 | client = cyan 20 | status_active = green 21 | status_auth_failed = lightmagenta 22 | status_connecting = white 23 | status_disconnected = lightred 24 | status_waiting_auth = yellow 25 | text = default 26 | text_bg = default 27 | text_selected = white 28 | 29 | [network] 30 | allow_empty_password = off 31 | allowed_ips = "" 32 | auth_timeout = 60 33 | bind_address = "" 34 | clients_purge_delay = 0 35 | compression = 20 36 | ipv6 = on 37 | max_clients = 5 38 | nonce_size = 16 39 | password = "" 40 | password_hash_algo = "*" 41 | password_hash_iterations = 100000 42 | tls_cert_key = "${weechat_config_dir}/tls/relay.pem" 43 | tls_priorities = "NORMAL" 44 | totp_secret = "" 45 | totp_window = 0 46 | websocket_allowed_origins = "" 47 | 48 | [irc] 49 | backlog_max_minutes = 0 50 | backlog_max_number = 1024 51 | backlog_since_last_disconnect = on 52 | backlog_since_last_message = off 53 | backlog_tags = "irc_privmsg" 54 | backlog_time_format = "[%H:%M] " 55 | 56 | [weechat] 57 | commands = "" 58 | 59 | [port] 60 | 61 | [path] 62 | -------------------------------------------------------------------------------- /.config/weechat/buflist.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- buflist.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | add_newline = on 14 | auto_scroll = 50 15 | display_conditions = "${buffer.hidden}==0" 16 | enabled = on 17 | mouse_jump_visited_buffer = off 18 | mouse_move_buffer = on 19 | mouse_wheel = on 20 | nick_prefix = off 21 | nick_prefix_empty = on 22 | signals_refresh = "" 23 | sort = "number,-active" 24 | use_items = 1 25 | 26 | [format] 27 | buffer = "${format_number}${indent}${format_nick_prefix}${color_hotlist}${format_name}" 28 | buffer_current = "${color:,17}${format_buffer}" 29 | hotlist = " ${color:green}(${hotlist}${color:green})" 30 | hotlist_highlight = "${color:magenta}" 31 | hotlist_low = "${color:white}" 32 | hotlist_message = "${color:brown}" 33 | hotlist_none = "${color:default}" 34 | hotlist_private = "${color:green}" 35 | hotlist_separator = "${color:default}," 36 | indent = " " 37 | lag = " ${color:green}[${color:brown}${lag}${color:green}]" 38 | name = "${name}" 39 | nick_prefix = "${color_nick_prefix}${nick_prefix}" 40 | number = "${color:green}${number}${if:${number_displayed}?.: }" 41 | tls_version = " ${color:default}(${if:${tls_version}==TLS1.3?${color:green}:${if:${tls_version}==TLS1.2?${color:yellow}:${color:red}}}${translate:${tls_version}}${color:default})" 42 | -------------------------------------------------------------------------------- /.config/weechat/script.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- script.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | columns = "%s %n %V %v %u | %d | %t" 14 | diff_color = on 15 | diff_command = "auto" 16 | display_source = on 17 | quiet_actions = on 18 | sort = "i,p,n" 19 | translate_description = on 20 | use_keys = on 21 | 22 | [color] 23 | status_autoloaded = 39 24 | status_held = white 25 | status_installed = lightcyan 26 | status_obsolete = lightmagenta 27 | status_popular = yellow 28 | status_running = lightgreen 29 | status_unknown = lightred 30 | text = default 31 | text_bg = default 32 | text_bg_selected = 24 33 | text_date = 65 34 | text_date_selected = 50 35 | text_delimiters = 240 36 | text_description = 249 37 | text_description_selected = white 38 | text_extension = 242 39 | text_extension_selected = 248 40 | text_name = 73 41 | text_name_selected = 51 42 | text_selected = white 43 | text_tags = brown 44 | text_tags_selected = yellow 45 | text_version = 100 46 | text_version_loaded = 246 47 | text_version_loaded_selected = white 48 | text_version_selected = 228 49 | 50 | [scripts] 51 | autoload = on 52 | cache_expire = 1440 53 | download_enabled = off 54 | download_timeout = 30 55 | hold = "" 56 | path = "${weechat_cache_dir}/script" 57 | url = "https://weechat.org/files/plugins.xml.gz" 58 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # https://github.com/github/gitignore 2 | !foo 3 | !bar 4 | !bar/ 5 | !/bar/ 6 | 7 | # directories 8 | /.git/ 9 | /.git/ 10 | .git/ 11 | dist/ 12 | .vim/ 13 | .local/ 14 | 15 | # dotfiles 16 | *.env* 17 | .gist 18 | .gist 19 | .less 20 | .lesskey 21 | .docker 22 | .eclipse 23 | .viminfo 24 | .DS_STORE 25 | .bookmarks 26 | .NERDmarks 27 | .git-completion.bash 28 | 29 | # configuration 30 | config/ 31 | .config/ 32 | .termux/ 33 | *.config 34 | 35 | # credentials 36 | .ssh/ 37 | .gnupg/ 38 | 39 | # miscellaneous 40 | NOTES* 41 | 42 | # logs 43 | log/ 44 | *.log 45 | logs/ 46 | *.logs 47 | 48 | # tags 49 | tags 50 | .tags 51 | ctags 52 | .ctags 53 | 54 | # scopes 55 | *cscope* 56 | 57 | # history 58 | .bash_history 59 | .tmux_history 60 | 61 | # backups 62 | *.bak 63 | *.session 64 | .cache/ 65 | .Trash/ 66 | 67 | # binaries 68 | bin/ 69 | 70 | # temporary 71 | tmp/ 72 | *.swp 73 | *.tmp 74 | 75 | # termux 76 | storage/ 77 | downloads/ 78 | 79 | # OSX 80 | Applications/ 81 | Downloads/ 82 | Pictures/ 83 | Desktop/ 84 | Library/ 85 | Movies/ 86 | Public/ 87 | Music/ 88 | 89 | # multimedia 90 | images/ 91 | 92 | # node 93 | .npm/ 94 | .nvm/ 95 | node_modules/ 96 | .npmrc 97 | .node_repl_history 98 | 99 | # rails 100 | 101 | # ruby 102 | .gem/ 103 | .bundle/ 104 | vendor/ 105 | *.gem 106 | .rbenv 107 | .irb_history 108 | .guard_history 109 | Guardfile 110 | 111 | # python 112 | .python_history 113 | 114 | # postgresql 115 | .psql_history 116 | -------------------------------------------------------------------------------- /.tidyrc: -------------------------------------------------------------------------------- 1 | # 2 | # 888 d8b 888 3 | # 888 Y8P 888 4 | # 888 888 5 | # 888888 888 .d88888 888 888 888d888 .d8888b 6 | # 888 888 d88" 888 888 888 888P" d88P" 7 | # 888 888 888 888 888 888 888 888 8 | # d8b Y88b. 888 Y88b 888 Y88b 888 888 Y88b. 9 | # Y8P "Y888 888 "Y88888 "Y88888 888 "Y8888P 10 | # 888 11 | # Y8b d88P 12 | # "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # Version: 0.1 16 | # File: ide 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: IDE script 21 | # ------------------------------------------------------------------------- 22 | 23 | # https://api.html-tidy.org/tidy/quickref_5.8.0.html 24 | # 25 | # ========================================================================= 26 | output-file: /dev/null 27 | 28 | indent: auto 29 | doctype: omit 30 | newline: CRLF 31 | quote-marks: no 32 | show-errors: 1 33 | indent-spaces:2 34 | doctype: html5 35 | uppercase-tags: no 36 | show-warnings: yes 37 | input-encoding: utf8 38 | accessibility-check: 0 39 | 40 | # Dispatch Table 41 | # - https://github.com/htacg/tidy-html5/blob/master/src/message.c#L256 42 | mute: INSERTING_TAG 43 | mute: MISSING_DOCTYPE 44 | mute: MISSING_TITLE_ELEMENT 45 | mute: MISSING_QUOTEMARK_OPEN 46 | mute: MISSING_ENDTAG_OPTIONAL 47 | 48 | # mute: MISSING_QUOTEMARK 49 | # mute: BLANK_TITLE_ELEMENT 50 | # mute: SUSPECTED_MISSING_QUOTE 51 | -------------------------------------------------------------------------------- /.gnupg/gpg-agent.conf: -------------------------------------------------------------------------------- 1 | # 2 | # 888 .d888 3 | # 888 d88P" 4 | # 888 888 5 | # .d88b. 88888b. .d88b. 8888b. .d88b. .d88b. 88888b. 888888 .d8888b .d88b. 88888b. 888888 6 | # d88P"88b 888 "88b d88P"88b "88b d88P"88b d8P Y8b 888 "88b 888 d88P" d88""88b 888 "88b 888 7 | # 888 888 888 888 888 888 888888 .d888888 888 888 88888888 888 888 888 888 888 888 888 888 888 8 | # Y88b 888 888 d88P Y88b 888 888 888 Y88b 888 Y8b. 888 888 Y88b. d8b Y88b. Y88..88P 888 888 888 9 | # "Y88888 88888P" "Y88888 "Y888888 "Y88888 "Y8888 888 888 "Y888 Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 888 888 888 11 | # Y8b d88P 888 Y8b d88P Y8b d88P 12 | # "Y88P" 888 "Y88P" "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: .gnupg/gpg-agent.conf 16 | # Help: man gpg-agent 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: GNU PG agent configuration file 21 | # ------------------------------------------------------------------------- 22 | # 23 | # GPG Agent Configuration 24 | 25 | # This configures gpg-agent to handle SSH keys. 26 | enable-ssh-support 27 | 28 | -------------------------------------------------------------------------------- /pg: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ######################################################## 4 | # TERMUX - https://wiki.termux.com/wiki/Postgresql 5 | # 6 | # https://thenewstack.io/a-cheat-sheet-to-database-access-control-postgresql 7 | 8 | ######################################################## 9 | 10 | # Debian /usr 11 | # Darwin /usr/local 12 | # MacOS >M1 /opt/homebrew 13 | # Termux /data/data/com.termux/files/usr 14 | declare -xr PREFIX=${PREFIX:-/usr/} 15 | declare -xr LOGDIR=${LOGDIR:-$PREFIX/var/log} 16 | 17 | declare -xr PGBIN=${PREFIX}/bin 18 | declare -xr EXEC=${PGBIN}/pg_ 19 | 20 | # Darwin / MacOS >M1 $PREFIX/var/postgres 21 | # Debian / Termux $PREFIX/var/lib/pgsql/data 22 | declare -xr PGDATA=${PGDATA:-$PREFIX/var/lib/pgsql/data} 23 | declare -xr COMMAND=$1 24 | declare -xr OPERATION=$2 25 | declare -xr PORT=5432 26 | declare -xr HOST=localhost 27 | declare -xr USERNAME=devpunks 28 | declare -xr AUTH=--auth-local # --auth-host 29 | # declare -xr PID=${PGDATA}/postmaster.pid 30 | 31 | # function status { 32 | # ${EXEC}ctl status --pgdata=$PGDATA 33 | # } 34 | 35 | echo PREFIX 👉 $PREFIX 36 | echo PGVERSION 👉 $PGVERSION 37 | echo PGDATA 👉 $PGDATA 38 | echo EXEC 👉 $EXEC 39 | echo LOGDIR 👉 $LOGDIR 40 | echo PORT 👉 $PORT 41 | echo AUTH 👉 $AUTH 42 | echo COMMAND 👉 $COMMAND 43 | 44 | status 45 | 46 | exit 0 47 | 48 | # REMOVE ME! 49 | # pg_ctl stop -D $PGDATA -l $LOGDIR -s -m fast 50 | # ls $PGDATA 51 | # rm -rf $PGDATA 52 | # pg_ctl init -D $PGDATA -l $LOGDIR 53 | 54 | 55 | # Run ls -al /usr/local/bin | grep pg_ for Postgres commands 56 | # pg_dump[all] 57 | # pg_verifybackup 58 | # pg_upgrade 59 | # pg_restore 60 | # pg_isready 61 | 62 | 63 | status 64 | 65 | ${EXEC}${COMMAND} ${OPERATION} --pgdata=$PGDATA --log=$LOGDIR -s -m fast 66 | #pg_ctl -l $LOGDIR -D $PGDATA $COMMAND -s -m fast 67 | 68 | status 69 | -------------------------------------------------------------------------------- /yt-dlp.conf: -------------------------------------------------------------------------------- 1 | # 2 | # 888 888 888 .d888 3 | # 888 888 888 d88P" 4 | # 888 888 888 888 5 | #888 888 888888 .d88888 888 88888b. .d8888b .d88b. 88888b. 888888 6 | #888 888 888 d88" 888 888 888 "88b d88P" d88""88b 888 "88b 888 7 | #888 888 888 888888 888 888 888 888 888 888 888 888 888 888 888 8 | #Y88b 888 Y88b. Y88b 888 888 888 d88P d8b Y88b. Y88..88P 888 888 888 9 | # "Y88888 "Y888 "Y88888 888 88888P" Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 888 11 | #Y8b d88P 888 12 | # "Y88P" 888 13 | # 14 | # ------------------------------------------------------------------------- 15 | # Version: 0.1 16 | # File: .yt-dlp.conf 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: YT download configuration 21 | # ------------------------------------------------------------------------- 22 | # 23 | # 24 | #========================================================================== 25 | 26 | --xattrs 27 | --verbose 28 | --progress 29 | --console-title 30 | 31 | --write-subs 32 | # --write-comments 33 | 34 | # Save thumbnail 35 | --embed-thumbnail 36 | --write-thumbnail 37 | --output thumbnail:%(title)s_thumbnail.%(ext)s 38 | 39 | # Save video in current directory 40 | -P temp:. 41 | # --format mp4 42 | # --recode-video mp4 43 | # --force-keyframes-at-cuts 44 | # --merge-output-format mp4 45 | --output %(title)s_title.%(ext)s 46 | 47 | # Extract audio in current directory 48 | --extract-audio 49 | --audio-quality=0 50 | --audio-format=best 51 | 52 | --write-info-json 53 | -------------------------------------------------------------------------------- /tinyproxy.conf: -------------------------------------------------------------------------------- 1 | # 2 | # 888 d8b .d888 3 | # 888 Y8P d88P" 4 | # 888 888 5 | # 888888 888 88888b. 888 888 88888b. 888d888 .d88b. 888 888 888 888 .d8888b .d88b. 88888b. 888888 6 | # 888 888 888 "88b 888 888 888 "88b 888P" d88""88b `Y8bd8P' 888 888 d88P" d88""88b 888 "88b 888 7 | # 888 888 888 888 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 888 888 8 | # Y88b. 888 888 888 Y88b 888 888 d88P 888 Y88..88P .d8""8b. Y88b 888 d8b Y88b. Y88..88P 888 888 888 9 | # " Y888 888 888 888 "Y88888 88888P" 888 "Y88P" 888 888 "Y88888 Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 888 888 11 | # Y8b d88P 888 Y8b d88P 12 | # "Y88P" 888 "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: tinyproxy.conf 16 | # Help: https://tinyproxy.github.io/ 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: Tinyproxy configuration file 21 | # ------------------------------------------------------------------------- 22 | 23 | # SysLog 24 | 25 | # LogFile 26 | LogLevel Info 27 | 28 | # PidFIle 29 | Port 8888 30 | 31 | MaxClients 8 # cores 32 | 33 | Timeout 1000 34 | 35 | # Deny
36 | Allow 127.0.0.1 37 | Listen 127.0.0.1 38 | 39 | # Filter ^foo\.bar$ 40 | 41 | # ViaProxyName 42 | # DisableViaHeader 43 | 44 | # XTinyProxy 45 | AddHeader "X-Devpunks-Header" "Powered by dev😈punks" 46 | -------------------------------------------------------------------------------- /.config/htop/htoprc: -------------------------------------------------------------------------------- 1 | # Beware! This file is rewritten by htop when settings are changed in the interface. 2 | # The parser is also very primitive, and not human-friendly. 3 | htop_version=3.2.2 4 | config_reader_min_version=3 5 | fields=0 37 6 49 46 47 38 40 48 2 1 6 | hide_kernel_threads=0 7 | hide_userland_threads=0 8 | hide_running_in_container=1 9 | shadow_other_users=1 10 | show_thread_names=1 11 | show_program_path=0 12 | highlight_base_name=1 13 | highlight_deleted_exe=1 14 | shadow_distribution_path_prefix=0 15 | highlight_megabytes=1 16 | highlight_threads=1 17 | highlight_changes=1 18 | highlight_changes_delay_secs=2 19 | find_comm_in_cmdline=1 20 | strip_exe_from_cmdline=1 21 | show_merged_command=0 22 | header_margin=0 23 | screen_tabs=1 24 | detailed_cpu_time=1 25 | cpu_count_from_one=1 26 | show_cpu_usage=1 27 | show_cpu_frequency=1 28 | update_process_names=1 29 | account_guest_in_cpu_meter=0 30 | color_scheme=0 31 | enable_mouse=1 32 | delay=10 33 | hide_function_bar=0 34 | header_layout=three_33_34_33 35 | column_meters_0=Memory Swap Tasks Systemd PressureStallIOFull System Hostname 36 | column_meter_modes_0=1 2 2 2 2 2 2 37 | column_meters_1=CPU LeftCPUs LoadAverage DiskIO 38 | column_meter_modes_1=1 1 2 2 39 | column_meters_2=Zram RightCPUs HugePages NetworkIO Uptime 40 | column_meter_modes_2=1 1 1 2 2 41 | tree_view=1 42 | sort_key=46 43 | tree_sort_key=1 44 | sort_direction=-1 45 | tree_sort_direction=-1 46 | tree_view_always_by_pid=0 47 | all_branches_collapsed=1 48 | screen:Main=PID PROCESSOR TTY TIME PERCENT_CPU PERCENT_MEM M_VIRT M_SHARE USER STATE Command 49 | .sort_key=PERCENT_CPU 50 | .tree_sort_key=Command 51 | .tree_view=1 52 | .tree_view_always_by_pid=0 53 | .sort_direction=-1 54 | .tree_sort_direction=-1 55 | .all_branches_collapsed=1 56 | screen:I/O=PID TIME NICE NLWP IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE OOM Command 57 | .sort_key=IO_RATE 58 | .tree_sort_key=USER 59 | .tree_view=1 60 | .tree_view_always_by_pid=0 61 | .sort_direction=-1 62 | .tree_sort_direction=1 63 | .all_branches_collapsed=1 64 | -------------------------------------------------------------------------------- /.wgetrc: -------------------------------------------------------------------------------- 1 | # 2 | # 888 3 | # 888 4 | # 888 5 | # 888 888 888 .d88b. .d88b. 888888 888d888 .d8888b 6 | # 888 888 888 d88P"88b d8P Y8b 888 888P" d88P" 7 | # 888 888 888 888 888 88888888 888 888 888 8 | # d8b Y88b 888 d88P Y88b 888 Y8b. Y88b. 888 Y88b. 9 | # Y8P "Y8888888P" "Y88888 "Y8888 "Y888 888 "Y8888P 10 | # 888 11 | # Y8b d88P 12 | # "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # Version: 0.1 16 | # File: .wgetrc 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: wget startup configuration file 21 | # ------------------------------------------------------------------------- 22 | # 23 | # - https://gnu.org/software/wget/manual/wget.html#Startup-File 24 | 25 | # verbose wget 26 | verbose = on 27 | 28 | # continue download 29 | continue = on 30 | 31 | # Progress bar 32 | progress = bar 33 | show-progress = on 34 | 35 | # Use the server-provided last modification date, if available 36 | timestamping = on 37 | 38 | # Do not go up in the directory structure when downloading recursively 39 | no_parent = on 40 | 41 | # Wait 60 seconds before timing out. This applies to all timeouts: DNS, connect and read. (The default read timeout is 15 minutes!) 42 | timeout = 10 43 | 44 | # Retry a few times when a download fails, but don’t overdo it. (The default is 20!) 45 | tries = 5 46 | 47 | # Retry even when the connection was refused 48 | retry_connrefused = on 49 | 50 | # Use the last component of a redirection URL for the local file name 51 | trust_server_names = on 52 | 53 | # Follow FTP links from HTML documents by default 54 | follow_ftp = on 55 | 56 | # Add a `.html` extension to `text/html` or `application/xhtml+xml` files that lack one, or a `.css` extension to `text/css` files that lack one 57 | adjust_extension = on 58 | 59 | # Ignore `robots.txt` and `` 60 | robots = off 61 | 62 | # Print the HTTP and FTP server responses 63 | server_response = on 64 | 65 | # Stop wget from creating ~/.wget-hsts file. I don't care about HSTS (HTTP Strict Transport Security) 66 | hsts = off 67 | 68 | # Disguise as IE 9 on Windows 7 69 | user_agent = Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.1 70 | -------------------------------------------------------------------------------- /.bash_logout: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # 888 888 888 888 4 | # 888 888 888 888 5 | # 888 888 888 888 6 | # 88888b. 8888b. .d8888b 88888b. 888 .d88b. .d88b. .d88b. 888 888 888888 7 | # 888 "88b "88b 88K 888 "88b 888 d88""88b d88P"88b d88""88b 888 888 888 8 | # 888 888 .d888888 "Y8888b. 888 888 888 888 888 888 888 888 888 888 888 888 9 | # d8b 888 d88P 888 888 X88 888 888 888 Y88..88P Y88b 888 Y88..88P Y88b 888 Y88b. 10 | # Y8P 88888P" "Y888888 88888P' 888 888 88888888 888 "Y88P" "Y88888 "Y88P" "Y88888 "Y888 11 | # 888 12 | # Y8b d88P 13 | # "Y88P" 14 | # 15 | # ------------------------------------------------------------------------- 16 | # Version: 0.1 17 | # File: .bash_logout 18 | # Source: https://github.com/devpunks 19 | # Author: Ahmid-Ra (github.com/snuggs) 20 | # Maintainer: devPunks 21 | # Description: Bourne Again $SHell logout. 22 | # ------------------------------------------------------------------------- 23 | # 24 | # INVOCATION 25 | # - https://unix.stackexchange.com/q/423958/what-is-the-purpose-of-bash-logout 26 | 27 | # ALIAS WITH PARAMETER - https://stackoverflow.com/a/7131683 28 | # Paste - https://geeksforgeeks.org/paste-command-in-linux-with-examples 29 | # Hyperlinks - https://gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda 30 | 31 | # ========================================================================= 32 | # {{{ FUNCTIONS 33 | # - https://tldp.org/LDP/abs/html/functions.html 34 | # - https://cuddly-octo-palm-tree.com/posts/2021-10-31-better-bash-functions/ 35 | # ========================================================================= 36 | 37 | # teardown 38 | function teardown () { 39 | echo "Tearing $BASH down...GOODBYE! 👋🏽😈" 40 | 41 | echo "logout TMUX $TMUX" 42 | 43 | [ "$TMUX" ] \ 44 | && echo "Logout Tearing $TMUX down...GOODBYE! 👋🏽😈" \ 45 | && tmux display-message "Logout Tearing $TMUX down...GOODBYE! 👋🏽😈" 46 | 47 | echo "logout SHLVL $SHLVL" 48 | 49 | [[ "$SHLVL" = 1 ]] \ 50 | && echo "Logout Tearing $SHELL down...GOODBYE! 👋🏽😈" 51 | 52 | sleep 2 53 | } 54 | trap teardown EXIT 55 | 56 | # }}} 57 | 58 | 59 | echo 'devPunks😈studio .bash_logout' 60 | echo 61 | 62 | # vim: foldmethod=marker 63 | -------------------------------------------------------------------------------- /.config/weechat/trigger.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- trigger.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | enabled = on 14 | monitor_strip_colors = off 15 | 16 | [color] 17 | flag_command = lightgreen 18 | flag_conditions = yellow 19 | flag_post_action = lightblue 20 | flag_regex = lightcyan 21 | flag_return_code = lightmagenta 22 | identifier = cyan 23 | regex = white 24 | replace = cyan 25 | 26 | [trigger] 27 | beep.arguments = "" 28 | beep.command = "/print -beep" 29 | beep.conditions = "${tg_displayed} && ${tg_tags} !!- ,notify_none, && (${tg_highlight} || ${tg_msg_pv}) && ${buffer.notify} > 0" 30 | beep.enabled = on 31 | beep.hook = print 32 | beep.post_action = none 33 | beep.regex = "" 34 | beep.return_code = ok 35 | cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" 36 | cmd_pass.command = "" 37 | cmd_pass.conditions = "" 38 | cmd_pass.enabled = on 39 | cmd_pass.hook = modifier 40 | cmd_pass.post_action = none 41 | cmd_pass.regex = "s==^((/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +(id|identify|set +password|ghost +[^ \n]+|release +[^ \n]+|regain +[^ \n]+|recover +[^ \n]+|setpass +[^ \n]+) +)|/oper +[^ \n]+ +|/quote +pass +|/secure +(passphrase|decrypt|set +[^ \n]+) +)([^\n]*)==${re:1}${hide:*,${re:+}}" 42 | cmd_pass.return_code = ok 43 | cmd_pass_register.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" 44 | cmd_pass_register.command = "" 45 | cmd_pass_register.conditions = "" 46 | cmd_pass_register.enabled = on 47 | cmd_pass_register.hook = modifier 48 | cmd_pass_register.post_action = none 49 | cmd_pass_register.regex = "s==^(/(msg|m|quote) +(-server +[^ \n]+ +)?nickserv +register +)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}" 50 | cmd_pass_register.return_code = ok 51 | msg_auth.arguments = "5000|irc_message_auth" 52 | msg_auth.command = "" 53 | msg_auth.conditions = "" 54 | msg_auth.enabled = on 55 | msg_auth.hook = modifier 56 | msg_auth.post_action = none 57 | msg_auth.regex = "s==^(.*(id|identify|set +password|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+|recover +[^ ]+) +)(.*)==${re:1}${hide:*,${re:+}}" 58 | msg_auth.return_code = ok 59 | server_pass.arguments = "5000|input_text_display;5000|history_add" 60 | server_pass.command = "" 61 | server_pass.conditions = "" 62 | server_pass.enabled = on 63 | server_pass.hook = modifier 64 | server_pass.post_action = none 65 | server_pass.regex = "s==^(/(server|connect) [^\n]*-(sasl_)?password=)([^ \n]+)([^\n]*)==${re:1}${hide:*,${re:4}}${re:5}" 66 | server_pass.return_code = ok 67 | -------------------------------------------------------------------------------- /.config/weechat/fset.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- fset.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | [look] 13 | auto_refresh = "*" 14 | auto_unmark = off 15 | condition_catch_set = "${count} >= 1" 16 | export_help_default = on 17 | format_number = 1 18 | marked_string = "*" 19 | scroll_horizontal = 10 20 | show_plugins_desc = off 21 | sort = "~name" 22 | unmarked_string = " " 23 | use_color_value = on 24 | use_keys = on 25 | use_mute = off 26 | 27 | [format] 28 | export_help = "# ${description2}" 29 | export_option = "/set ${name} ${quoted_value}" 30 | export_option_null = "/unset ${name}" 31 | option1 = "" 32 | option2 = "${marked} ${name} ${type} ${value2}${newline} ${empty_name} ${_default_value}${color:244} -- ${_allowed_values}${newline} ${empty_name} ${_description}" 33 | 34 | [color] 35 | allowed_values = default 36 | allowed_values_selected = white 37 | color_name = 246 38 | color_name_selected = default 39 | default_value = default 40 | default_value_selected = white 41 | description = 242 42 | description_selected = default 43 | file = default 44 | file_changed = brown 45 | file_changed_selected = yellow 46 | file_selected = white 47 | help_default_value = white 48 | help_description = default 49 | help_name = white 50 | help_quotes = darkgray 51 | help_values = default 52 | index = cyan 53 | index_selected = lightcyan 54 | line_marked_bg1 = 17 55 | line_marked_bg2 = 17 56 | line_selected_bg1 = 24 57 | line_selected_bg2 = 24 58 | marked = brown 59 | marked_selected = yellow 60 | max = default 61 | max_selected = white 62 | min = default 63 | min_selected = white 64 | name = default 65 | name_changed = 185 66 | name_changed_selected = yellow 67 | name_selected = white 68 | option = default 69 | option_changed = brown 70 | option_changed_selected = yellow 71 | option_selected = white 72 | parent_name = default 73 | parent_name_selected = white 74 | parent_value = cyan 75 | parent_value_selected = lightcyan 76 | quotes = darkgray 77 | quotes_changed = default 78 | quotes_changed_selected = white 79 | quotes_selected = default 80 | section = default 81 | section_changed = brown 82 | section_changed_selected = yellow 83 | section_selected = white 84 | string_values = default 85 | string_values_selected = white 86 | title_count_options = cyan 87 | title_current_option = lightcyan 88 | title_filter = yellow 89 | title_marked_options = lightgreen 90 | title_sort = white 91 | type = 138 92 | type_selected = 216 93 | unmarked = default 94 | unmarked_selected = white 95 | value = 38 96 | value_changed = 185 97 | value_changed_selected = yellow 98 | value_selected = 159 99 | value_undef = magenta 100 | value_undef_selected = lightmagenta 101 | -------------------------------------------------------------------------------- /.ssh/config.example: -------------------------------------------------------------------------------- 1 | # 2 | # .d888 d8b 3 | # d88P" Y8P 4 | # 888 5 | # .d8888b .d88b. 88888b. 888888 888 .d88b 6 | # d88P" d88""88b 888 "88b 888 888 d88P"88b 7 | # 888 888 888 888 888 888 888 888 888 8 | # Y88b. Y88..88P 888 888 888 888 Y88b 888 9 | # "Y8888P "Y88P" 888 888 888 888 "Y88888 10 | # 888 11 | # Y8b d88P 12 | # "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: .ssh/config 16 | # Help: man ssh_config 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: SSH configuration file 21 | # ------------------------------------------------------------------------- 22 | # - https://annevankesteren.nl/2017/01/secure-secure-shell 23 | # UserKnownHostsFile=/dev/null 24 | # Ask for confirmation before adding key to ~/.ssh/known_hosts 25 | # StrictHostKeyChecking ask 26 | # SERVER ------------------------------------------------------------------ 27 | # Protocol 2 28 | # BindAddress 29 | # Tunnel yes 30 | # PermitTunnel no 31 | # UserPrivilegedPort yes 32 | # Banner ~/.ssh/banner 33 | # MaxAuthTries 5 34 | # MaxSessions 5 35 | # GatewayPorts no 36 | # AllowTcpForwarding no 37 | # AllowStreamLocalForwarding no 38 | # Seconds (1 Day 86400) 39 | # ConnectionTimeout 60 40 | # ChannelTimeout agent-connection=60 41 | # 10min retry count (1 day 144) 42 | # ClientAliveCountMax 1 43 | # ClientAliveInterval 60 44 | # PubKeyAuthhentication yes 45 | # PermitRootLogin forced-commands-only 46 | # CLIENT ------------------------------------------------------------------ 47 | 48 | # [host|IPv4_addr|IPv6_addr]:port 49 | # ListenAddress localhost:22 50 | 51 | # Ciphers aes128-ctr, aes1192-ctr, aes256-ctr, arcfour256, arcfour1228, aes128-cbc, 3des-cbc, blowfix-cbc, cast128-cbc, aes192-cbc, aes256-cbc 52 | 53 | # Windowing Remote 54 | ForwardX11 no 55 | # Remote 56 | ForwardAgent no 57 | 58 | SendEnv LANG LANGUAGE 59 | 60 | TCPKeepAlive yes 61 | 62 | # inet inet6 any 63 | AddressFamily any 64 | 65 | AddKeysToAgent yes 66 | 67 | # Ensure KnownHosts are unreadable if leaked. 68 | # It is otherwise easier to know 69 | # which hosts your keys have access to. 70 | HashKnownHosts yes 71 | 72 | # Maximum times that the client will ignore the lack of response from the 73 | # server. IOW, after ServerAliveCountMax*ServerAliveInterval seconds it will 74 | # disconnect. 75 | ServerAliveCountMax 5 76 | # Send application-level requests of response from the server. 77 | ServerAliveInterval 60 78 | 79 | PasswordAuthentication yes 80 | NumberOfPasswordPrompts 10 81 | 82 | Host Github 83 | User 84 | HostName github.com 85 | 86 | Host * 87 | Port 22 88 | User devpunks 89 | # MacOS 90 | # UseKeychain yes 91 | IgnoreUnknown UseKeychain 92 | # ssh-add Agent 93 | AddKeysToAgent yes 94 | LogLevel VERBOSE 95 | # %u - User 96 | # ChrootDirectory ~ 97 | IdentitiesOnly yes 98 | # 10min retry count (1 day) 99 | ServerAliveCountMax 144 100 | # Seconds (1 Day) 101 | ServerAliveInterval 86400 102 | # .ssh/id_rsa, .ssh/id_dsa 103 | IdentityFile ~/.ssh/id_rsa 104 | PasswordAuthentication yes 105 | PermitLocalCommand yes 106 | # LocalCommand echo "devpunks SSH LocalCommand `whoami`" 107 | # host:port host/port 108 | # bind_address:port bind_address/port 109 | # LocalForward localhost:22 110 | # host:port host/port 111 | # bind_address:port bind_address/port 112 | # RemoteForward 113 | -------------------------------------------------------------------------------- /.ssh/config: -------------------------------------------------------------------------------- 1 | # 2 | # .d888 d8b 3 | # d88P" Y8P 4 | # 888 5 | # .d8888b .d88b. 88888b. 888888 888 .d88b 6 | # d88P" d88""88b 888 "88b 888 888 d88P"88b 7 | # 888 888 888 888 888 888 888 888 888 8 | # Y88b. Y88..88P 888 888 888 888 Y88b 888 9 | # "Y8888P "Y88P" 888 888 888 888 "Y88888 10 | # 888 11 | # Y8b d88P 12 | # "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: .ssh/config 16 | # Help: man ssh_config 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: SSH configuration file 21 | # ------------------------------------------------------------------------- 22 | # - https://annevankesteren.nl/2017/01/secure-secure-shell 23 | # UserKnownHostsFile=/dev/null 24 | # Ask for confirmation before adding key to ~/.ssh/known_hosts 25 | # StrictHostKeyChecking ask 26 | # SERVER ------------------------------------------------------------------ 27 | # Protocol 2 28 | # BindAddress 29 | # Tunnel yes 30 | # PermitTunnel no 31 | # UserPrivilegedPort yes 32 | # Banner ~/.ssh/banner 33 | # MaxAuthTries 5 34 | # MaxSessions 5 35 | # GatewayPorts no 36 | # AllowTcpForwarding no 37 | # AllowStreamLocalForwarding no 38 | # Seconds (1 Day 86400) 39 | # ConnectionTimeout 60 40 | # ChannelTimeout agent-connection=60 41 | # 10min retry count (1 day 144) 42 | # ClientAliveCountMax 1 43 | # ClientAliveInterval 60 44 | # PubKeyAuthhentication yes 45 | # PermitRootLogin forced-commands-only 46 | # CLIENT ------------------------------------------------------------------ 47 | 48 | # Ascii art images 49 | VisualHostKey yes 50 | 51 | # [host|IPv4_addr|IPv6_addr]:port 52 | # ListenAddress localhost:22 53 | 54 | # Ciphers aes128-ctr, aes1192-ctr, aes256-ctr, arcfour256, arcfour1228, aes128-cbc, 3des-cbc, blowfix-cbc, cast128-cbc, aes192-cbc, aes256-cbc 55 | 56 | # Windowing Remote 57 | ForwardX11 no 58 | 59 | # Remote 60 | ForwardAgent no 61 | 62 | SendEnv LANG LANGUAGE 63 | 64 | TCPKeepAlive yes 65 | 66 | # inet inet6 any 67 | AddressFamily any 68 | 69 | AddKeysToAgent yes 70 | 71 | # Ensure KnownHosts are unreadable if leaked. 72 | # It is otherwise easier to know 73 | # which hosts your keys have access to. 74 | HashKnownHosts yes 75 | 76 | # Maximum times that the client will ignore the lack of response from the 77 | # server. IOW, after ServerAliveCountMax*ServerAliveInterval seconds it will 78 | # disconnect. 79 | ServerAliveCountMax 5 80 | # Send application-level requests of response from the server. 81 | ServerAliveInterval 60 82 | 83 | PasswordAuthentication yes 84 | NumberOfPasswordPrompts 10 85 | 86 | Host Github 87 | User snuggs 88 | HostName github.com 89 | 90 | Host * 91 | Port 22 92 | User devpunks 93 | # MacOS 94 | # UseKeychain yes 95 | IgnoreUnknown UseKeychain 96 | # ssh-add Agent 97 | AddKeysToAgent yes 98 | LogLevel VERBOSE 99 | # %u - User 100 | # ChrootDirectory ~ 101 | IdentitiesOnly yes 102 | # 10min retry count (1 day) 103 | ServerAliveCountMax 144 104 | # Seconds (1 Day) 105 | ServerAliveInterval 86400 106 | # .ssh/id_rsa, .ssh/id_dsa 107 | IdentityFile ~/.ssh/id_rsa 108 | PasswordAuthentication yes 109 | PermitLocalCommand yes 110 | # LocalCommand echo "devpunks SSH LocalCommand `whoami`" 111 | # host:port host/port 112 | # bind_address:port bind_address/port 113 | # LocalForward localhost:22 114 | # host:port host/port 115 | # bind_address:port bind_address/port 116 | # RemoteForward 117 | -------------------------------------------------------------------------------- /.curlrc: -------------------------------------------------------------------------------- 1 | # 2 | # 888 3 | # 888 4 | # 888 5 | # .d8888b 888 888 888d888 888 888d888 .d8888b 6 | # d88P" 888 888 888P" 888 888P" d88P" 7 | # 888 888 888 888 888 888 888 8 | # d8b Y88b. Y88b 888 888 888 888 Y88b. 9 | # Y8P "Y8888P "Y88888 888 888 888 "Y8888P 10 | # 11 | # ------------------------------------------------------------------------- 12 | # Version: 0.1 13 | # File: .curlrc 14 | # Source: https://github.com/devpunks 15 | # Author: Ahmid-Ra (github.com/snuggs) 16 | # Maintainer: devPunks 17 | # Description: Curl configuration 18 | # ------------------------------------------------------------------------- 19 | # 20 | # - https://everything.curl.dev 21 | # - https://gist.github.com/v1m/f1d4751883f19c916515 22 | # - https://everything.curl.dev/cmdline/configfile.html 23 | # - https://gist.github.com/eneko/dc2d8edd9a4b25c5b0725dd123f98b10 24 | # ========================================================================= 25 | # Proxies ----------------------------------------------------------------- 26 | # proxy="http://user:pwd@127.0.0.1:8888" 27 | 28 | # Connection -------------------------------------------------------------- 29 | no-keepalive 30 | # keepalive-time 60 31 | # https://sneppets.com/software/connection-0-to-host-localhost-left-intact 32 | header = "Connection: close" 33 | 34 | # Headers ----------------------------------------------------------------- 35 | # Use double quotes to prevent warnings 36 | # https://gist.github.com/v1m/f1d4751883f19c916515?permalink_comment_id=3721998#gistcomment-3721998 37 | header = "Upgrade-Insecure-Requests: 1" 38 | header = "Accept-Language: en-US,en;q=0.8" 39 | header = "Accept-Encoding: gzip,deflate,br" 40 | # - https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept 41 | header = "Accept: text/html,image/*,application/json,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" 42 | 43 | # Agents ------------------------------------------------------------------ 44 | # When following a redirect, 45 | # auto(matically) set the previous URL as referer 46 | referer = "https://www.google.com/bot.html;auto" 47 | 48 | # Spoof User Agent 49 | user-agent = "Lynx/2.8.9rel.1 libwww-FM/2.14 SSL-MM/1.4.1" 50 | 51 | # Settings ---------------------------------------------------------------- 52 | # Bold headers 53 | styled-output 54 | 55 | # HTTP/1.1 56 | http1.1 57 | 58 | # Resolve names to IPv4 addresses only 59 | ipv4 60 | 61 | # ssl 62 | # Permit unsafe SSL 63 | insecure 64 | 65 | # HTTP response headers 66 | # include 67 | 68 | # trace 69 | trace-time 70 | # send to stdout 71 | # trace-ascii - 72 | 73 | # Errors 74 | show-error 75 | 76 | # Failures 77 | fail-with-body 78 | 79 | # Follow HTTP redirects, 80 | location 81 | # ...And send AUTH 82 | location-trusted 83 | 84 | # read .netrc for user name and password OR URL 85 | # netrc-optional 86 | 87 | # (S)FTP 88 | append 89 | 90 | # Compressed responses 91 | compressed 92 | # SCP / (S)FTP 93 | compressed-ssh 94 | 95 | # Don't clobber files (see output, remote-name(-all), remote-header-name) 96 | no-clobber 97 | 98 | # Download directories 99 | create-dirs 100 | 101 | # Maximum transfer time (in seconds) 102 | max-time = 60.000 103 | 104 | # Display progress as a simple progress bar 105 | progress-bar 106 | 107 | parallel 108 | # Immediate concurrent 109 | parallel-immediate 110 | # Max concurrent (50 - 300) 111 | parallel-max = 100 112 | 113 | # Wait before timing out (in seconds) 114 | connect-timeout = 10.000 115 | # Wait 1 seconds before HTTP100 timeout 116 | expect100-timeout = 1 117 | 118 | # # Make the timestamp of the local file the same as the remote one (if possible) 119 | remote-time 120 | -------------------------------------------------------------------------------- /.nginx/nginx.conf: -------------------------------------------------------------------------------- 1 | # 2 | # d8b .d888 3 | # Y8P d88P" 4 | # 888 5 | # 88888b. .d88b. 888 88888b. 888 888 .d8888b .d88b. 88888b. 888888 6 | # 888 "88b d88P"88b 888 888 "88b `Y8bd8P' d88P" d88""88b 888 "88b 888 7 | # 888 888 888 888 888 888 888 X88K 888 888 888 888 888 888 8 | # 888 888 Y88b 888 888 888 888 .d8""8b. d8b Y88b. Y88..88P 888 888 888 9 | # 888 888 "Y88888 888 888 888 888 888 Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 11 | # Y8b d88P 12 | # "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: nginx.conf 16 | # Help: man nginx 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: NGINX configuration file 21 | # ------------------------------------------------------------------------- 22 | # 23 | # FastCGI 24 | # - https://en.m.wikipedia.org/wiki/FastCGI 25 | # - https://fastcgi-archives.github.io/FastCGI_Specification.html 26 | # - https://nginx.org/en/docs/http/ngx_http_fastcgi_module.html 27 | # ========================================================================= 28 | 29 | #user nobody; 30 | worker_processes 1; # number of cores 31 | 32 | error_log var/log/nginx/error.log; 33 | error_log var/log/nginx/error.log info; 34 | error_log var/log/nginx/error.log notice; 35 | 36 | # pid $HOME/.nginx/nginx.pid; 37 | 38 | 39 | events { 40 | worker_connections 1024; 41 | } 42 | 43 | 44 | http { 45 | default_type application/octet-stream; 46 | include /data/data/com.termux/files/usr/etc/nginx/mime.types; 47 | 48 | log_format main 49 | '$remote_addr - $remote_user [$time_local] "$request" ' 50 | '$status $body_bytes_sent "$http_referer" ' 51 | '"$http_user_agent" "$http_x_forwarded_for"'; 52 | 53 | access_log var/log/nginx/access.log main; 54 | 55 | #gzip on; 56 | #tcp_nopush on; 57 | sendfile on; 58 | #keepalive_timeout 0; 59 | keepalive_timeout 65; 60 | 61 | 62 | server { # NGINX 63 | # charset koi8-r; 64 | listen 8000; 65 | access_log var/log/nginx/nginx.log; 66 | 67 | # https://nginx.org/en/docs/http/ngx_http_core_module.html#server_name 68 | server_name "0.0.0.0"; # "localhost; 69 | 70 | # location / { proxy_pass http://localhost:8000; } 71 | 72 | location / { 73 | index index.html; 74 | root /data/data/com.termux/files/usr/share/nginx/html; 75 | } # location 76 | 77 | error_page 404 400 /40x.html; 78 | location = /40x.html { 79 | root /data/data/com.termux/files/usr/share/nginx/html; 80 | } # location 81 | 82 | # redirect server error pages to the static page /50x.html 83 | # 84 | error_page 500 502 503 504 /50x.html; 85 | location = /50x.html { 86 | root /data/data/com.termux/files/usr/share/nginx/html; 87 | } # location 88 | } # server 89 | 90 | server { # BOOBSBAGS.COM 91 | listen 8001; 92 | access_log var/log/nginx/boobsbags.log; 93 | server_name boobsbags boobsbags.com; 94 | 95 | location / { 96 | index index.html; 97 | root /data/data/com.termux/files/home/COM.BOOBSBAGS/public; 98 | } # location 99 | } # server 100 | 101 | 102 | server { # SNUGGSI.COM 103 | listen 8002; 104 | access_log var/log/nginx/snuggsi.log; 105 | server_name snuggsi snuggsi.com; 106 | 107 | location / { 108 | index index.html; 109 | root /data/data/com.termux/files/home/snuggsi/public; 110 | } # location 111 | } # server 112 | 113 | } # http 114 | -------------------------------------------------------------------------------- /ide: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # d8b 888 4 | # Y8P 888 5 | # 888 6 | # 888 .d88888 .d88b. 7 | # 888 d88" 888 d8P Y8b 8 | # 888 888 888 88888888 9 | # 888 Y88b 888 Y8b. 10 | # 888 "Y88888 "Y8888 11 | # 12 | # ------------------------------------------------------------------------- 13 | # Version: 0.1 14 | # File: ide 15 | # Source: https://github.com/devpunks 16 | # Author: Ahmid-Ra (github.com/snuggs) 17 | # Maintainer: devPunks 18 | # Description: IDE script 19 | # ------------------------------------------------------------------------- 20 | # 21 | # SHARING IS CARING 22 | # - https://tmate.io/ 23 | # - https://github.com/zolrath/wemux 24 | # - https://unix.stackexchange.com/q/2523/what-are-other-ways-to-share-a-tmux-session-between-two-users 25 | # mkdir -p $PREFIX/var/tmux 26 | 27 | # Splits: 28 | # - https://unix.stackexchange.com/q/124310 29 | # - https://gist.github.com/sdondley/b01cc5bb1169c8c83401e438a652b84e 30 | 31 | # Use PIPES for race conditions in pane creation commands 32 | # - https://manniwood.com/2021_08_02/fun_with_tmux.html 33 | # 34 | # ========================================================================= 35 | 36 | # ENV --------------------------------------------------------------------- 37 | 38 | DELAY=0.8 # shell load wait time 39 | NAME='devpunks' # NAME of environment 40 | SOCKET="${HOME}/${NAME}.sock" # See tmux -L -S 41 | SESSION="${NAME}😈studio" # used throughout (i.e. VIM session name) 42 | 43 | echo COLUMNS $COLUMNS 44 | echo LINES $LINES 45 | 46 | # SESSION ----------------------------------------------------------------- 47 | 48 | # Setup a $SESSION work space 49 | # See tmux -L|S flag 50 | # -L SOCKET NAME 51 | # -S SOCKET PATH 52 | # -s SESSION NAME 53 | # -x - -y - (Current $TERM size) 54 | tmux -C -S "$SOCKET" new-session -d -s "$SESSION" -x - -y - 55 | echo "$SOCKET" 56 | 57 | # DEV --------------------------------------------------------------------- 58 | 59 | # Rename window 60 | tmux -S "$SOCKET" rename-window 'DEV' 61 | 62 | # Split pane vertically by 40% 63 | tmux -S "$SOCKET" split-window -h -l 40% 64 | sleep $DELAY 65 | tmux -S "$SOCKET" send-keys 'git status' Enter 66 | 67 | # Split second pane horizontally 68 | tmux -S "$SOCKET" split-window -v -l 30% 69 | sleep $DELAY 70 | tmux -S "$SOCKET" send-keys 'pwd' Enter 71 | 72 | # Split first pane horizontally 73 | tmux -S "$SOCKET" select-pane -t 1 74 | tmux -S "$SOCKET" split-window -t 1 -v -l 20% 75 | sleep $DELAY 76 | tmux -S "$SOCKET" send-keys 'clear' Enter 77 | 78 | # Jump to first window 79 | tmux -S "$SOCKET" select-pane -t 1 80 | sleep $DELAY 81 | 82 | tmux -S "$SOCKET" send-keys 'vi -S vim.session -c "Startify"' Enter 83 | 84 | # STATS ------------------------------------------------------------------- 85 | 86 | # Create next window 87 | tmux -S "$SOCKET" new-window 88 | 89 | # Rename STATS window 90 | tmux -S "$SOCKET" rename-window 'STATS' 91 | 92 | # Select monitor (htop) PANE & Start 93 | tmux -S "$SOCKET" select-pane -T '?HTOP?' 94 | sleep $DELAY 95 | tmux -S "$SOCKET" send-keys 'monitor' Enter 96 | 97 | # Split window 98 | tmux -S "$SOCKET" split-window -v -l 85% 99 | sleep $DELAY 100 | # Start vim 101 | tmux -S "$SOCKET" send-keys 'cd crypto && vi price' Enter 102 | 103 | # Split pane vertically by 40% 104 | tmux -S "$SOCKET" split-window -h -l 40% 105 | sleep $DELAY 106 | # Start price 107 | tmux -S "$SOCKET" send-keys "cd crypto && watch ./price" Enter 108 | 109 | # Split pane horizontally by 40% 110 | tmux -S "$SOCKET" split-window -v -l 60% 111 | sleep $DELAY 112 | # Start network monitor 113 | tmux -S "$SOCKET" send-keys "command ip -pretty -color -timestamp monitor" Enter 114 | 115 | # Select editor pane 116 | tmux -S "$SOCKET" select-pane -t 2 117 | 118 | # Select Previous window again 119 | tmux -S "$SOCKET" previous-window 120 | 121 | # attach to new session 122 | # -vv tmux-client-PID.log & tmux-server-PID.log & tmux-out-PID.log 123 | tmux -S "$SOCKET" -vv -u2 attach -t $SESSION 124 | -------------------------------------------------------------------------------- /lighttpd.conf: -------------------------------------------------------------------------------- 1 | # 2 | # 888 d8b 888 888 888 888 .d888 3 | # 888 Y8P 888 888 888 888 d88P" 4 | # 888 888 888 888 888 888 5 | # 888 888 .d88b. 88888b. 888888 888888 88888b. .d88888 .d8888b .d88b. 88888b. 888888 6 | # 888 888 d88P"88b 888 "88b 888 888 888 "88b d88" 888 d88P" d88""88b 888 "88b 888 7 | # 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 8 | # 888 888 Y88b 888 888 888 Y88b. Y88b. 888 d88P Y88b 888 d8b Y88b. Y88..88P 888 888 888 9 | # 888 888 "Y88888 888 888 "Y888 "Y888 88888P" "Y88888 Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 888 11 | # Y8b d88P 888 12 | # "Y88P" 888 13 | # 14 | # ------------------------------------------------------------------------- 15 | # Version: 0.1 16 | # File: lighttpd.conf 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: Lighttpd web server configuration file. 21 | # ------------------------------------------------------------------------- 22 | # 23 | # - Wiki - https://redmine.lighttpd.net/projects/lighttpd/wiki 24 | # - PHP - https://php.net/manual/en/install.unix.lighttpd-14.php 25 | # - FastCGI 26 | # - https://en.m.wikipedia.org/wiki/FastCGI 27 | # - https://fastcgi-archives.github.io/FastCGI_Specification.html 28 | # - https://redmine.lighttpd.net/projects/lighttpd/wiki/Mod_fastcgi 29 | # - Includes - https://blog.lighttpd.net/articles/2005/11/25/simplify-your-configfiles-with-includes/ 30 | # ========================================================================= 31 | var.PREFIX = "/data/data/com.termux/files/usr" 32 | 33 | # ========================================================================= 34 | # Includes 35 | # ========================================================================= 36 | # Include default lighttpd.conf 37 | include PREFIX + "/etc/lighttpd/lighttpd.conf" 38 | 39 | 40 | # ========================================================================= 41 | # Variables 42 | # ========================================================================= 43 | var.PORT = 8000 44 | var.CONFIGURATION = PREFIX + "/etc/lighttpd/lighttpd.conf" 45 | var.LOG = PREFIX + "/var/log/lighttpd" 46 | var.BASEDIR = PREFIX + "/home" 47 | var.EXCLUDED = ( "~", ".inc", ".fcgi", ".rb", ".es", ".php" ) 48 | var.INDICES = ( "index.html", "index.htm", "index.txt", "README.md" ) 49 | 50 | 51 | # ========================================================================= 52 | # Servers 53 | # ========================================================================= 54 | server.port := PORT 55 | server.bind := "0.0.0.0" # "localhost" 56 | 57 | server.username := "user" 58 | server.groupname := "group" 59 | 60 | server.document-root := BASEDIR 61 | 62 | index-file.names := INDICES 63 | 64 | static-file.exclude-extensions := EXCLUDED 65 | 66 | $HTTP["host"] == "localhost" { # localhost conditional 67 | dir-listing.activate = "disable" 68 | # server.document-root = "./" 69 | 70 | $HTTP["url"] =~ "^/foo/" { 71 | dir-listing.activate = "enable" 72 | } 73 | } else { } # default 74 | 75 | $HTTP["host"] =~ "^(www\.)?localhost(\.com)$" { # www.localhost.com conditional 76 | dir-listing.activate = "disable" 77 | # server.document-root = "./" 78 | } 79 | 80 | 81 | # ========================================================================= 82 | # PHP # include "php.conf" 83 | # ========================================================================= 84 | var.policy = ( 85 | # "host" => "localhost" , 86 | # "port" => 9001 , # port number; incremented for each "max-procs" > 1 when "bin-path" is set 87 | "read-timeout" => 30, # sample; default: 0 88 | "write-timeout" => 15, # sample; default: 0 89 | "connect-timeout" => 5, # sample; default: 0 90 | "check-local" => "enable", # (enable|disable) 91 | "socket" => "localhost:9001", # required: either unix "socket" path or "host"+"port" 92 | "bin-path" => "/usr/local/bin/php-cgi", 93 | ) # policy 94 | 95 | var.host1 = ( "host" => "192.168.1.101", "port" => 8001 ) 96 | var.host2 = ( "host" => "192.168.1.102", "port" => 8002 ) 97 | var.host1 += policy 98 | var.host2 += policy 99 | 100 | fastcgi.debug = 1 101 | fastcgi.server = ( ".php" => ( host1, host2 ) ) 102 | fastcgi.map-extensions = ( ".php3" => ".php", ".php4" => ".php" ) 103 | fastcgi.balance = "least-connection" # ("fair", "least-connection", "round-robin", "hash", or "sticky") 104 | 105 | 106 | # ========================================================================= 107 | # Mime Types 108 | # ========================================================================= 109 | # If running lighttpd earlier than lighttpd 1.4.71, uncomment (remove '#') to add the following: 110 | #mimetype.assign = ( 111 | # ".txt" => "text/plain", 112 | # ".html" => "text/html", 113 | # ".jpg" => "image/jpeg", 114 | # ".png" => "image/png" 115 | #) 116 | -------------------------------------------------------------------------------- /.config/weechat/irc.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- irc.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | config_version = 3 13 | 14 | [look] 15 | buffer_open_before_autojoin = on 16 | buffer_open_before_join = off 17 | buffer_switch_autojoin = on 18 | buffer_switch_join = on 19 | color_nicks_in_names = off 20 | color_nicks_in_nicklist = off 21 | color_nicks_in_server_messages = on 22 | color_pv_nick_like_channel = on 23 | ctcp_time_format = "%a, %d %b %Y %T %z" 24 | display_account_message = on 25 | display_away = local 26 | display_ctcp_blocked = on 27 | display_ctcp_reply = on 28 | display_ctcp_unknown = on 29 | display_extended_join = on 30 | display_host_join = on 31 | display_host_join_local = on 32 | display_host_notice = on 33 | display_host_quit = on 34 | display_host_wallops = on 35 | display_join_message = "329,332,333,366" 36 | display_old_topic = on 37 | display_pv_away_once = on 38 | display_pv_back = on 39 | display_pv_nick_change = on 40 | display_pv_warning_address = off 41 | highlight_channel = "$nick" 42 | highlight_pv = "$nick" 43 | highlight_server = "$nick" 44 | highlight_tags_restrict = "irc_privmsg,irc_notice" 45 | ignore_tag_messages = off 46 | item_channel_modes_hide_args = "k" 47 | item_display_server = buffer_plugin 48 | item_nick_modes = on 49 | item_nick_prefix = on 50 | join_auto_add_chantype = off 51 | list_buffer = on 52 | list_buffer_scroll_horizontal = 10 53 | list_buffer_sort = "~name2" 54 | list_buffer_topic_strip_colors = on 55 | msgbuffer_fallback = current 56 | new_channel_position = none 57 | new_list_position = none 58 | new_pv_position = none 59 | nick_completion_smart = speakers 60 | nick_mode = prefix 61 | nick_mode_empty = off 62 | nicks_hide_password = "nickserv" 63 | notice_as_pv = auto 64 | notice_welcome_redirect = on 65 | notice_welcome_tags = "" 66 | notify_tags_ison = "notify_message" 67 | notify_tags_whois = "notify_message" 68 | open_pv_buffer_echo_msg = on 69 | part_closes_buffer = off 70 | pv_buffer = independent 71 | pv_tags = "notify_private" 72 | raw_messages = 256 73 | server_buffer = merge_with_core 74 | smart_filter = on 75 | smart_filter_account = on 76 | smart_filter_chghost = on 77 | smart_filter_delay = 5 78 | smart_filter_join = on 79 | smart_filter_join_unmask = 30 80 | smart_filter_mode = "+" 81 | smart_filter_nick = on 82 | smart_filter_quit = on 83 | smart_filter_setname = on 84 | temporary_servers = off 85 | topic_strip_colors = off 86 | typing_status_nicks = off 87 | typing_status_self = off 88 | 89 | [color] 90 | input_nick = lightcyan 91 | item_channel_modes = default 92 | item_lag_counting = default 93 | item_lag_finished = yellow 94 | item_nick_modes = default 95 | item_tls_version_deprecated = yellow 96 | item_tls_version_insecure = red 97 | item_tls_version_ok = green 98 | list_buffer_line_selected = white 99 | list_buffer_line_selected_bg = 24 100 | message_account = cyan 101 | message_chghost = brown 102 | message_join = green 103 | message_kick = red 104 | message_quit = red 105 | message_setname = brown 106 | mirc_remap = "1,-1:darkgray" 107 | nick_prefixes = "y:lightred;q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue" 108 | notice = green 109 | reason_kick = default 110 | reason_quit = 244 111 | term_remap = "0,-1:darkgray" 112 | topic_current = default 113 | topic_new = 36 114 | topic_old = 244 115 | 116 | [network] 117 | autoreconnect_delay_growing = 2 118 | autoreconnect_delay_max = 600 119 | ban_mask_default = "*!$ident@$host" 120 | colors_receive = on 121 | colors_send = on 122 | lag_check = 60 123 | lag_max = 1800 124 | lag_min_show = 500 125 | lag_reconnect = 300 126 | lag_refresh_interval = 1 127 | notify_check_ison = 1 128 | notify_check_whois = 5 129 | sasl_fail_unavailable = on 130 | send_unknown_commands = off 131 | whois_double_nick = off 132 | 133 | [msgbuffer] 134 | 135 | [ctcp] 136 | 137 | [ignore] 138 | 139 | [server_default] 140 | addresses = "" 141 | anti_flood = 2000 142 | autoconnect = off 143 | autojoin = "" 144 | autojoin_dynamic = off 145 | autoreconnect = on 146 | autoreconnect_delay = 10 147 | autorejoin = off 148 | autorejoin_delay = 30 149 | away_check = 0 150 | away_check_max_nicks = 25 151 | capabilities = "*" 152 | charset_message = message 153 | command = "" 154 | command_delay = 0 155 | connection_timeout = 60 156 | default_chantypes = "#&" 157 | ipv6 = on 158 | local_hostname = "" 159 | msg_kick = "" 160 | msg_part = "WeeChat ${info:version}" 161 | msg_quit = "WeeChat ${info:version}" 162 | nicks = "${username},${username}2,${username}3,${username}4,${username}5" 163 | nicks_alternate = on 164 | notify = "" 165 | password = "" 166 | proxy = "" 167 | realname = "" 168 | registered_mode = "r" 169 | sasl_fail = reconnect 170 | sasl_key = "" 171 | sasl_mechanism = plain 172 | sasl_password = "" 173 | sasl_timeout = 15 174 | sasl_username = "" 175 | split_msg_max_length = 512 176 | tls = on 177 | tls_cert = "" 178 | tls_dhkey_size = 2048 179 | tls_fingerprint = "" 180 | tls_password = "" 181 | tls_priorities = "NORMAL" 182 | tls_verify = on 183 | usermode = "" 184 | username = "${username}" 185 | 186 | [server] 187 | -------------------------------------------------------------------------------- /.termux/termux.properties: -------------------------------------------------------------------------------- 1 | ### After making changes and saving you need to run `termux-reload-settings` 2 | ### to update the terminal. All information here can also be found on the 3 | ### wiki: https://wiki.termux.com/wiki/Terminal_Settings 4 | 5 | ############### 6 | # Generaled by Ahmid-Ra (https://github.com/snuggs) 7 | 8 | # default. Uncomment to enable. 9 | allow-external-apps = true 10 | 11 | ### Default working directory that will be used when launching the app. 12 | default-working-directory = /data/data/com.termux/files/home 13 | 14 | ### Uncomment to disable toasts shown on terminal session change. 15 | # disable-terminal-session-change-toast = true 16 | 17 | ### Adjust terminal scrollback buffer. Max is 50000. May have negative 18 | ### impact on performance. 19 | terminal-transcript-rows = 1000 20 | 21 | ### Uncomment to use volume keys for adjusting volume and not for the 22 | ### extra keys functionality. 23 | # volume-keys = volume 24 | 25 | ############### 26 | # Fullscreen mode 27 | ############### 28 | terminal-margin-vertical=0 29 | terminal-margin-horizontal=0 30 | 31 | ### Uncomment to let Termux start in full screen mode. 32 | fullscreen = true 33 | 34 | ### Uncomment to attempt workaround layout issues when running in 35 | ### full screen mode. 36 | use-fullscreen-workaround = true 37 | 38 | ############### 39 | # Cursor 40 | ############### 41 | ### Cursor style: block, bar, underline. 42 | # terminal-cursor-style = block 43 | 44 | ### Cursor blink rate. Values 0, 100 - 2000. 45 | terminal-cursor-blink-rate = 500 46 | 47 | ############### 48 | # Colors/themes 49 | ############### 50 | 51 | ### Force black colors for drawer and dialogs 52 | # use-black-ui = true 53 | 54 | ############### 55 | # Bell key 56 | ############### 57 | ### Beep with a sound. 58 | # bell-character = beep 59 | 60 | ### Ignore bell character. 61 | # bell-character = ignore 62 | 63 | ### Vibrate device (default). 64 | bell-character = vibrate 65 | 66 | ############### 67 | # Keyboard 68 | ############### 69 | ### Uncomment to not show soft keyboard on application start. 70 | hide-soft-keyboard-on-startup = true 71 | 72 | ### Uncomment to let keyboard toggle button to enable or disable software 73 | ### keyboard instead of showing/hiding it. 74 | # soft-keyboard-toggle-behaviour = enable/disable 75 | 76 | ############### 77 | # Back key 78 | ############### 79 | ### Send the Escape key. 80 | # back-key=escape 81 | 82 | ### Hide keyboard or leave app (default). 83 | back-key=back 84 | 85 | ############### 86 | # HW keyboard shortcuts 87 | # - https://wiki.termux.com/wiki/Touch_Keyboard 88 | # - https://wiki.termux.com/wiki/Hardware_Keyboard 89 | ############### 90 | ### Disable hardware keyboard shortcuts.- https://github.com/reisxd/termux-app/commit/c886c70771f1bb7af9747545c75bb76fe3d3ef1f 91 | #disable-hardware-keyboard-shortcuts = true 92 | 93 | ### Go one session up with (for example) ctrl + 1 94 | shortcut.previous-session = ctrl + 1 95 | 96 | ### Go one session down with (for example) ctrl + 2 97 | shortcut.next-session = ctrl + 2 98 | 99 | ### Open a new terminal with ctrl + t (volume down + t) 100 | shortcut.create-session = ctrl + enter 101 | 102 | ############### 103 | # Extra keys 104 | # - BUG IN SCROLLBACK 105 | # - Issue - https://github.com/termux/termux-app/issues/867 106 | # - Patch - https://github.com/termux/termux-app/commit/66a9495d91b72119830fd2bafcc9f3e2230f754f 107 | ############### 108 | ### Settings for choosing which set of symbols to use for illustrating keys. 109 | ### Choose between default, arrows-only, arrows-all, all and none 110 | extra-keys-style = default 111 | 112 | ### Force capitalize all text in extra keys row button labels. 113 | extra-keys-text-all-caps = true 114 | 115 | # Supported 116 | # CTRL ("special key"), ALT ("special key"), FN ("special key"), SHIFT ("special key") 117 | # , SCROLL, SPACE, ESC, TAB, HOME, END, PGUP, PGDN, INS, DEL, BKSP, UP, LEFT, RIGHT, DOWN 118 | # , ENTER, BACKSLASH, QUOTE, APOSTROPHE 119 | # , F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12 120 | # , KEYBOARD (Hide the keyboard), DRAWER (Open app drawer) 121 | 122 | ### Default extra-key configuration 123 | # extra-keys = [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]] 124 | 125 | ### Two rows with more keys 126 | # extra-keys = [['ESC','/','-','HOME','UP','END','PGUP'], \ 127 | # ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']] 128 | 129 | ### Configuration with additional popup keys (swipe up from an extra key) 130 | # extra-keys = [[ \ 131 | # {key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, \ 132 | # {key: CTRL, popup: {macro: "CTRL f BKSP", display: "tmux ←"}}, \ 133 | # {key: ALT, popup: {macro: "CTRL f TAB", display: "tmux →"}}, \ 134 | # {key: TAB, popup: {macro: "ALT a", display: A-a}}, \ 135 | # {key: LEFT, popup: HOME}, \ 136 | # {key: DOWN, popup: PGDN}, \ 137 | # {key: UP, popup: PGUP}, \ 138 | # {key: RIGHT, popup: END}, \ 139 | # {macro: "ALT j", display: A-j, popup: {macro: "ALT g", display: A-g}}, \ 140 | # {key: KEYBOARD, popup: {macro: "CTRL d", display: exit}} \ 141 | # ]] 142 | 143 | extra-keys = [[ \ 144 | 'DRAWER','ESC','TAB','CTRL','ALT', \ 145 | { key: LEFT, popup: { macro: 'HOME', display: 'HOME↑'} }, \ 146 | { key: DOWN, popup: { macro: 'PGDN', display: 'PGDN↓'} }, \ 147 | { key: UP, popup: { macro: 'PGUP', display: 'PGUP↓'} }, \ 148 | { key: RIGHT, popup: { macro: 'END', display: 'END↓'} }, \ 149 | 'BKSP','DEL','KEYBOARD' ] ] 150 | 151 | ############### 152 | # Keyboard issue workarounds 153 | ############### 154 | ### Letters might not appear until enter is pressed on Samsung devices 155 | # https://github.com/termux/termux-app/issues/1825#issuecomment-890835179 156 | enforce-char-based-input = true 157 | 158 | ### ctrl+space (for marking text in emacs) does not work on some devices 159 | ctrl-space-workaround = true 160 | -------------------------------------------------------------------------------- /.dircolors: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # 888 d8b 88 4 | # 888 Y8P 888 5 | # 888 888 6 | # .d88888 888 888d888 .d8888b .d88b. 888 .d88b. 888d888 .d8888b 7 | # d88" 888 888 888P" d88P" d88""88b 888 d88""88b 888P" 88K 8 | # 888 888 888 888 888 888 888 888 888 888 888 "Y8888b. 9 | # d8b Y88b 888 888 888 Y88b. Y88..88P 888 Y88..88P 888 X88 10 | # Y8P "Y88888 888 888 "Y8888P "Y88P" 888 "Y88P" 888 88888P' 11 | # 12 | # ------------------------------------------------------------------------- 13 | # Version: 0.1 14 | # File: .dircolors 15 | # Source: https://github.com/devpunks 16 | # Author: Ahmid-Ra (github.com/snuggs) 17 | # Maintainer: devPunks 18 | # Description: LS_COLORS configuration 19 | # ------------------------------------------------------------------------- 20 | 21 | # - https://geoff.greer.fm/lscolors/ 22 | # - https://linux.die.net/man/1/dircolors 23 | # - https://github.com/trapd00r/LS_COLORS 24 | # - https://gist.github.com/thomd/7667642 25 | # - https://github.com/xonsh/xonsh/issues/3608 26 | # - https://unix.stackexchange.com/q/94299 27 | # - http://bigsoft.co.uk/blog/2008/04/11/configuring-ls_colors 28 | # - https://github.com/coreutils/coreutils/blob/master/src/dircolors.c 29 | # - https://github.com/coreutils/coreutils/blob/master/src/ls.c#L592-L606 30 | # - https://github.com/RobertAudi/.dotfiles/blob/master/docs/cheat-sheets/ls-colors-cheat-sheet.txt 31 | 32 | # ========================================================================= 33 | # {{{ Style Codes 34 | # ========================================================================= 35 | # 0 = Default Colour 36 | # 1 = Bold 37 | # 2 = Dim 38 | # 3 = Italic 39 | # 4 = Underlined 40 | # 5 = Flashing Text 41 | # 7 = Reverse Field 42 | # 8 = Concealed 43 | # 9 = Strikethrough 44 | # 45 | # }}} 46 | 47 | # ========================================================================= 48 | # {{{ Color Codes 49 | # ========================================================================= 50 | # 30 = Black 51 | # 31 = Red 52 | # 32 = Green 53 | # 33 = Yellow 54 | # 34 = Blue 55 | # 35 = Purple 56 | # 36 = Cyan 57 | # 37 = Off White 58 | # 40 = Black Background 59 | # 41 = Red Background 60 | # 42 = Green Background 61 | # 43 = Yellow Background 62 | # 44 = Blue Background 63 | # 45 = Purple Background 64 | # 46 = Cyan Background 65 | # 47 = Off White Background 66 | 67 | # 90 = Dark Grey 68 | # 91 = Light Red 69 | # 92 = Light Green 70 | # 93 = Yellow 71 | # 94 = Light Blue 72 | # 95 = Light Purple 73 | # 96 = Turquoise 74 | # 97 = White 75 | # 100 = Dark Grey Background 76 | # 101 = Light Red Background 77 | # 102 = Light Green Background 78 | # 103 = Yellow Background 79 | # 104 = Light Blue Background 80 | # 105 = Light Purple Background 81 | # 106 = Turquoise Background 82 | # 106 = White Background 83 | # 84 | # }}} 85 | 86 | # ========================================================================= 87 | # {{{ Types 88 | # ========================================================================= 89 | # TODO: Works TOO good :ec=31:rs=31:lc=0:rc=0:cl=3 90 | # 91 | # no - Normal 92 | # cl - C_CLR_TO_EOL - see grep completion 93 | # 94 | # Filetype Indicators ---- 95 | # bd - C_BLK - Block (buffered) special file 96 | # cd - C_CHR - Character (unbuffered) special file 97 | # di - C_DIR - Directory 98 | # ex - C_EXEC - File which is executable (ie. has 'x' set in permissions). 99 | # pi - C_FIFO - Fifo file 100 | # fi - C_FILE - File 101 | # ln - C_LINK - Symbolic Link 102 | # or - C_ORPHAN - Symbolic Link pointing to a non-existent file (orphan) 103 | # so - C_SOCK - Socket file 104 | # 105 | # Links ------------------ 106 | # ca - C_CAP 107 | # do - C_DOOR 108 | # mh - C_MULTIHARDLINK 109 | # mi - C_MISSING - Symbolic link to non-existent file (visible when you type ls -l) 110 | # 111 | # Permittable ------------ 112 | # sg - C_SETGID 113 | # su - C_SETUID 114 | # st - C_STICKY 115 | # 116 | # }}} 117 | 118 | # ========================================================================= 119 | # {{{ Functions 120 | # ========================================================================= 121 | function default () { printf '*=1:'; } 122 | 123 | function scripts () { printf ':*.bash=1;4:*.sh=1;4:*rc=2;3:'; } 124 | 125 | function ls_colors () { printf ':*LS_COLORS=2;3;4;7:*dircolors=2;3;4;7:'; } 126 | 127 | function docs () { printf ':*README=2;7:*.md=7:*.markdown=7:*NOTES=7:*.h=1;3:*.sample=3:'; } 128 | 129 | function dotfiles () { printf ':*profile=1;2;3:*gitignore=2;3;9:*npmignore=2;3;9:*.gitmodules=2;4:*.gitconfig=2;4:'; } 130 | 131 | function historic () { printf ':*history=2;3;9:*.bak=2;3;9:*~=2;3;9:*.swp=2;3;9:*.dpkg-old=2;3;9:'; } 132 | 133 | function config () { printf ':*.conf=2;4:*config=2;4:*.json=2;4:*.yml=2;4:*.yaml=2;4:*.toml=2;4:*.properties=2;4:'; } 134 | 135 | function auth () { printf '*id_ed25519=1;4;7:*id_rsa=1;4;7:*id_ecdsa=1;4;7:*.pem=1;4;7:*.key=1;3;4;7:*.pub=4:*.csr=2;3:*.cert=1:*.pfx=1;4:*authorized_keys=3;4;7:*hosts=3;4;7:*.hosts=3;4;7:*known_hosts=3;4;7:'; } 136 | 137 | function types () { printf 'bd=101:ca=102:cd=103:do=105:mh=106:mi=1;9:or=108:sg=109:st=110:su=111:no=7:fi=1:di=1;3;4;7;4:ln=3;4;9:pi=1;4;5:so=1;4;7;31:ow=30;42:tw=30;43:ex=1;4:*.pid=4;91:'; } 138 | 139 | function archives () { printf ':*.tar=1;4;7:*.tgz=1;4;7:*.arc=1;4;7:*.arj=1;4;7:*.taz=1;4;7:*.lha=1;4;7:*.lz4=1;4;7:*.lzh=1;4;7:*.lzma=1;4;7:*.tlz=1;4;7:*.txz=1;4;7:*.tzo=1;4;7:*.t7z=1;4;7:*.zip=1;4;7:*.z=1;4;7:*.dz=1;4;7:*.gz=1;4;7:*.lrz=1;4;7:*.lz=1;4;7:*.lzo=1;4;7:*.xz=1;4;7:*.zst=1;4;7:*.tzst=1;4;7:*.bz2=1;4;7:*.bz=1;4;7:*.tbz=1;4;7:*.tbz2=1;4;7:*.tz=1;4;7:*.deb=1;4;7:*.rpm=1;4;7:*.jar=1;4;7:*.war=1;4;7:*.ear=1;4;7:*.sar=1;4;7:*.rar=1;4;7:*.alz=1;4;7:*.ace=1;4;7:*.zoo=1;4;7:*.cpio=1;4;7:*.7z=1;4;7:*.rz=1;4;7:*.cab=1;4;7:*.wim=1;4;7:*.swm=1;4;7:*.dwm=1;4;7:*.esd=1;4;7:'; } 140 | 141 | # }}} 142 | 143 | export LS_COLORS="$( default && ls_colors && dotfiles && auth && config && scripts && historic && archives && docs && types )" 144 | 145 | echo && echo 'devPunks😈studio .dircolors' 146 | 147 | # vim: foldmethod=marker 148 | -------------------------------------------------------------------------------- /.vim/colors/devpunks.vim: -------------------------------------------------------------------------------- 1 | " 2 | " ██████╗ ███████╗██╗ ██╗██████╗ ██╗ ██╗███╗ ██╗██╗ ██╗███████╗ 3 | " ██╔══██╗██╔════╝██║ ██║██╔══██╗██║ ██║████╗ ██║██║ ██╔╝██╔════╝ 4 | " ██║ ██║█████╗ ██║ ██║██████╔╝██║ ██║██╔██╗ ██║█████╔╝ ███████╗ 5 | " ██║ ██║██╔══╝ ╚██╗ ██╔╝██╔═══╝ ██║ ██║██║╚██╗██║██╔═██╗ ╚════██║ 6 | " ██████╔╝███████╗ ╚████╔╝ ██║ ╚██████╔╝██║ ╚████║██║ ██╗███████║ 7 | " ╚═════╝ ╚══════╝ ╚═══╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝ 8 | " "A cyberPunk, dark color scheme for Vim" 9 | 10 | " ------------------------------------------------------------------------- 11 | " Version: 0.1 12 | " File: devpunks.vim 13 | " Source: https://github.com/devpunks 14 | " Author: Ahmid-Ra (github.com/snuggs) 15 | " Maintainer: devPunks 16 | " Description: Default terminal colorscheme and typography 17 | " ------------------------------------------------------------------------- 18 | " 19 | " EMOJI: 20 | " - https://gist.github.com/nicolasdao/8f0220d050f585be1b56cc615ef6c12e 21 | " NERDFONT: 22 | " - https://wiki.termux.com/wiki/Termux:Styling 23 | " - https://github.com/termux/termux-styling/issues/20 24 | " - https://yalneb.blogspot.com/2018/01/fancy-bash-promt.html 25 | " - https://github.com/ryanoasis/nerd-fonts/wiki/FAQ-and-Troubleshooting#tldr 26 | " - https://stackoverflow.com/questions/32443522/triangular-background-for-bash-ps1-prompt 27 | " ========================================================================= 28 | 29 | highlight clear 30 | if exists('g:colors_name') | unlet g:colors_name | endif 31 | if exists('syntax_on') 32 | syntax clear 33 | syntax reset 34 | syntax enable " on 35 | endif 36 | "let g:colors_name='devPunks😈Mono' 37 | let g:colors_name='devpunks' 38 | 39 | if 'dark' == &background " Convert to ternary 40 | " Auto-Dark Mode https://arslan.io/2021/02/15/automatic-dark-mode-for-terminal-applications 41 | echom 'dark' 42 | elseif 'light' == &background 43 | echom 'light' 44 | endif 45 | 46 | " Italic Font ??? 47 | " https://stackoverflow.com/a/30937851/173208 48 | let &t_ZH="\e[3m" " italics start 49 | let &t_ZR="\e[23m" " italics end 50 | let &t_Cs = "\e[4:3m" " UnderCurl start 51 | let &t_Ce = "\e[4:0m" " Reset 52 | let &t_Us = "\e[4:2m" " UnderDouble 53 | let &t_ds = "\e[4:4m" " UnderDotted 54 | let &t_Ds = "\e[4:5m" " UnderDashed 55 | 56 | " Base Default - https://gist.github.com/romainl/379904f91fa40533175dfaec4c833f2f 57 | highlight! Normal cterm=NONE ctermfg=NONE ctermbg=NONE 58 | 59 | " Diff 60 | " highlight! DiffAdd ctermfg=3 61 | " highlight! DiffDelete ctermfg=1 62 | " highlight! DiffChange ctermfg=2 63 | highlight! DiffAdd term=reverse cterm=reverse ctermfg=NONE gui=reverse guifg=green 64 | highlight! DiffChange term=reverse cterm=reverse ctermfg=NONE gui=reverse guifg=yellow 65 | highlight! DiffDelete term=reverse cterm=reverse ctermfg=NONE gui=reverse guifg=red 66 | highlight! DiffText term=reverse cterm=reverse ctermfg=NONE gui=reverse guifg=NONE 67 | 68 | " Error Warnings 69 | highlight! WarningMsg cterm=standout ctermfg=NONE 70 | highlight! Error cterm=standout,bold,italic,underline ctermbg=NONE ctermfg=NONE 71 | highlight! link ErrorMsg Error 72 | highlight SpellBad cterm=strikethrough ctermbg=NONE 73 | highlight! link SpellCap SpellBad 74 | highlight! link SpellRare SpellBad 75 | highlight! link SpellLocal SpellBad 76 | 77 | " Popups 78 | highlight! PmenuSbar cterm=NONE ctermbg=NONE 79 | highlight! PmenuSel ctermfg=NONE ctermbg=NONE 80 | highlight! Pmenu cterm=standout ctermfg=NONE ctermbg=NONE 81 | highlight! link PmenuThumb Pmenu 82 | highlight! WildMenu term=standout,underline cterm=standout,underline ctermfg=NONE ctermbg=NONE 83 | 84 | " Search 85 | highlight! Search term=standout cterm=standout ctermfg=NONE ctermbg=NONE 86 | highlight! link IncSearch Search 87 | highlight! CurSearch term=standout,underline cterm=standout,underline ctermfg=NONE ctermbg=NONE 88 | highlight! ModeMsg cterm=reverse,italic ctermfg=NONE ctermbg=NONE 89 | highlight! link MoreMsg ModeMsg 90 | 91 | " Gutter 92 | highlight! Cursor cterm=NONE ctermfg=NONE 93 | highlight! LineNr cterm=NONE ctermfg=NONE ctermbg=NONE guifg=NONE 94 | highlight! link SignColumn LineNr 95 | highlight! CursorLine term=underline cterm=underline gui=underline ctermbg=NONE guibg=NONE 96 | highlight! CursorLineNr cterm=bold,reverse ctermfg=NONE gui=bold guifg=NONE 97 | highlight! FoldColumn term=bold cterm=bold ctermfg=NONE ctermbg=NONE gui=bold guifg=NONE guibg=NONE 98 | highlight! Folded term=bold cterm=bold,underline,italic ctermfg=NONE ctermbg=NONE gui=bold guifg=NONE guibg=NONE 99 | highlight! CursorColumn cterm=underline gui=underline ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE 100 | highlight! ColorColumn term=strikethrough,italic cterm=strikethrough,italic ctermbg=NONE ctermfg=NONE gui=strikethrough,italic guifg=NONE guibg=NONE 101 | 102 | highlight! VertSplit cterm=NONE ctermfg=NONE 103 | highlight! StatusLineNC term=NONE,bold cterm=NONE,bold gui=NONE,bold 104 | highlight! StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold 105 | 106 | " Tabs 107 | highlight! TabLineFill cterm=reverse ctermfg=NONE ctermbg=NONE 108 | highlight! TabLineSel term=bold,underline cterm=bold,underline ctermfg=NONE ctermbg=NONE 109 | highlight! TabLine term=reverse,bold cterm=reverse,bold ctermfg=NONE ctermbg=NONE guifg=NONE guibg=NONE 110 | 111 | " Navigation 112 | highlight! Question cterm=standout ctermfg=NONE 113 | highlight! Title cterm=bold ctermfg=NONE guifg=NONE 114 | highlight! Directory cterm=bold,underline ctermfg=NONE 115 | highlight! Visual cterm=standout,bold,underline,italic ctermbg=NONE 116 | highlight! Conceal cterm=standout,bold,underline ctermfg=cyan ctermbg=NONE gui=standout,bold,underline guifg=cyan guibg=NONE 117 | 118 | " Syntax 119 | " TODO: Foo 120 | highlight! Todo term=bold,italic,underline cterm=bold,italic,underline ctermfg=NONE ctermbg=NONE gui=bold,italic,underline guifg=NONE guibg=NONE 121 | highlight! link PreProc Todo 122 | " https://stackoverflow.com/questions/24232354 123 | highlight! Special term=bold cterm=bold ctermfg=NONE gui=bold guifg=NONE 124 | highlight! link SpecialKey Special " nbsp|tab|trail 125 | highlight! link NonText Special " eol|extends 126 | highlight! Ignore ctermfg=NONE 127 | highlight! Comment cterm=italic ctermfg=NONE 128 | highlight! Statement cterm=bold ctermfg=NONE 129 | highlight! Type cterm=reverse,bold ctermfg=NONE 130 | highlight! Underlined cterm=underline ctermfg=NONE 131 | highlight! Constant cterm=underline,italic ctermfg=NONE 132 | highlight! Identifier cterm=bold,underline ctermfg=NONE 133 | 134 | echom 'Loaded devPunks😈Mono colorscheme!' 135 | -------------------------------------------------------------------------------- /.inputrc: -------------------------------------------------------------------------------- 1 | # 2 | # d8b 888 3 | # Y8P 888 4 | # 888 5 | # 888 88888b. 88888b. 888 888 888888 888d888 .d8888b 6 | # 888 888 "88b 888 "88b 888 888 888 888P" d88P" 7 | # 888 888 888 888 888 888 888 888 888 888 8 | # d8b 888 888 888 888 d88P Y88b 888 Y88b. 888 Y88b. 9 | # Y8P 888 888 888 88888P" "Y88888 "Y888 888 "Y8888P 10 | # 888 11 | # 888 12 | # 888 13 | # CtrlP ----------------------------------------------------- 14 | # 15 | # ------------------------------------------------------------------------- 16 | # Version: 0.1 17 | # File: .inputrc 18 | # Source: https://github.com/devpunks 19 | # Author: Ahmid-Ra (github.com/snuggs) 20 | # Maintainer: devPunks 21 | # Description: Readline Run Commands on $SHELL prompt. 22 | # This file controls the behaviour of line input editing for 23 | # programs that use the GNU Readline library. Existing 24 | # programs include FTP, Bash, and GDB. 25 | # ------------------------------------------------------------------------- 26 | # 27 | # 28 | # See to avoid potential conflicts: 29 | # - $HOME/.vimrc 30 | # - $HOME/.tmux.conf 31 | # - $PREFIX/etc/inputrc 32 | # - $HOME/.termux/termux.properties 33 | # ------------------------------------------------------------------------- 34 | # - https://keycombiner.com/collections/terminal 35 | # - https://ioflood.com/blog/bind-linux-command 36 | # - https://man7.org/linux/man-pages/man3/readline.3.html 37 | # - https://topbug.net/blog/2017/07/31/inputrc-for-humans 38 | # - https://geeksforgeeks.org/bind-command-in-linux-with-examples 39 | # - https://tldp.org/LDP/lfs/LFS-BOOK-6.1.1-HTML/chapter07/inputrc.html 40 | # - https://gnu.org/software/bash/manual/html_node/Sample-Init-File.html 41 | # - https://unix.stackexchange.com/q/529385/i-key-is-not-functional-in-bash 42 | # - https://unix.stackexchange.com/q/153357/inputrc-file-not-sourcing-correctly 43 | # - https://gnu.org/software/bash/manual/html_node/Readline-Init-File-Syntax.html 44 | # 45 | # ========================================================================= 46 | # {{{ Bindings 47 | # - Default key bindings - https://stackoverflow.com/a/12009972 48 | # - https://gnu.org/software/bash/manual/bash.html#Readline-Interaction 49 | # ========================================================================= 50 | # emacs mode 51 | # $if mode=emacs 52 | # $endif 53 | 54 | # Preserve system wide settings 55 | $include /data/data/com.termux/files/usr/etc/inputrc 56 | 57 | # "TAB": menu-complete 58 | "TAB": complete 59 | 60 | # reload .inputrc in all keymaps 61 | set keymap emacs 62 | "\C-x\C-r": re-read-init-file 63 | 64 | set keymap vi-command 65 | "\C-x\C-r": re-read-init-file 66 | 67 | set keymap vi-insert 68 | "\C-x\C-r": re-read-init-file 69 | 70 | # of all lines or `clear-screen` (scrolls below fold) 71 | #"\C-l": clear-display 72 | #"\C-z":'clear\n' 73 | 74 | # "RETURN": '\e\n' 75 | 76 | # "\C-v": '' 77 | "\C-a": beginning-of-line # Beginning of line 78 | "\C-e": end-of-line # End of line 79 | 80 | # Use Alt/Meta + Delete to delete the preceding word 81 | # "\e[3;3~": kill-word 82 | 83 | # allow Home/End keys 84 | "\e[1~": beginning-of-line 85 | "\e[2~": quoted-insert 86 | 87 | # allow Delete/Insert keys 88 | "\e[3~": delete-char 89 | "\e[4~": end-of-line 90 | 91 | "\e[8~": end-of-line 92 | 93 | # CTRL+left, CTRL+right fpr moving on the readline by character 94 | "\e[C": forward-char 95 | "\e[D": backward-char 96 | 97 | # ALT+left, ALT+right fpr moving on the readline by word 98 | "\e[5C": forward-word 99 | "\e[5D": backward-word 100 | "\e[1;5C": forward-word 101 | "\e[1;5D": backward-word 102 | 103 | # Use the text that has already been typed as the prefix for searching through 104 | # commands (i.e. more intelligent Up/Down behavior) 105 | "\e[A": history-search-backward 106 | "\e[B": history-search-forward 107 | 108 | # + and +

search 109 | "\C-p": history-search-backward 110 | "\C-n": history-search-forward 111 | 112 | # }}} 113 | 114 | # ========================================================================= 115 | # {{{ Options 116 | # ========================================================================= 117 | # milliseconds to wait for key sequence 118 | set keyseq-timeout 1000 119 | 120 | # Allow UTF-8 input and output, instead of $'\0123\0456' 121 | set input-meta on 122 | set output-meta on 123 | set convert-meta off 124 | 125 | # Use `LS_COLORS` & readline-colored-completion-prefix 126 | set colored-completion-prefix on 127 | set colored-stats on 128 | 129 | # arrow keys 130 | set enable-keypad on 131 | # Show extra file information when completing, `ls -F` (e.g. *,/,@) 132 | set visible-stats on 133 | set history-size 1000 134 | # [ audible (default)|visible|none ] 135 | set bell-style none 136 | set bell-style visible 137 | set prefer-visible-bell on 138 | 139 | # Immediately add a trailing slash when autocompleting symlinks & directories 140 | set mark-directories on 141 | set mark-symlinked-directories on 142 | 143 | # disable bracketed paste mode 144 | # More info - https://cirw.in/blog/bracketed-paste 145 | set enable-bracketed-paste on 146 | 147 | # }}} 148 | 149 | # ========================================================================= 150 | # {{{ Completion 151 | # - http://superuser.com/q/90196/case-insensitive-tab-completion-in-bash 152 | # - https://stackoverflow.com/q/42192384/show-all-if-ambiguous-vs-show-all-if-unmodified 153 | # ========================================================================= 154 | set blink-matching-paren on 155 | 156 | # Be more intelligent when autocompleting by also looking at the text after 157 | # the cursor. For example, when the current line is "cd ~/src/mozil", and 158 | # the cursor is on the "z", pressing Tab will not autocomplete it to "cd 159 | # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the 160 | # Disable -Autocompletion paging. 161 | set page-completions off 162 | # Skip previously matched 163 | set skip-completed-text on 164 | # Show control characters 165 | set echo-control-characters on 166 | # -completion on (.)dot files. 167 | set match-hidden-files on 168 | # All -completion ambiguous matches. 169 | set show-all-if-ambiguous on 170 | # All -completion list matches. 171 | set show-all-if-unmodified on 172 | # Case insensitive between hyphen and underscore (kebab and snake case) 173 | set completion-map-case on 174 | # Case insensitive -complete matches. 175 | set completion-ignore-case on 176 | # Maximum -completion display results. (-1 for infinite) 177 | set completion-query-items 200 178 | # -completion results in single column. 179 | set completion-display-width 3 180 | # Common prefix of completion list. 181 | set menu-complete-display-prefix on 182 | # Alphabetical horizontal search of completions. 183 | set print-completions-horizontally on 184 | # Display ellipsis for long -completion results. 185 | set completion-prefix-display-length 5 186 | 187 | # }}} 188 | 189 | # ========================================================================= 190 | # {{{ Editing Mode 191 | # - https://linuxgazette.net/137/anonymous.html 192 | # - https://stackoverflow.com/q/7888387 193 | # - https://unix.stackexchange.com/q/112406 194 | # - https://baeldung.com/linux/console-cursor-features 195 | # - https://catonmat.net/bash-vi-editing-mode-cheat-sheet 196 | # - https://catonmat.net/ftp/bash-vi-editing-mode-cheat-sheet.txt 197 | # ========================================================================= 198 | # set keymap vi 199 | set keymap emacs 200 | set editing-mode vi 201 | #set editing-mode emacs 202 | 203 | # PS1 prompt prefix 204 | set show-mode-in-prompt on 205 | 206 | # 0 Default 207 | # 1 Block (blinking) 208 | # 2 Block (steady) 209 | # 3 Underline (blinking) 210 | # 4 Underline (steady) 211 | # 5 Bar (blinking) (xterm) 212 | # 6 Bar (steady) (xterm) 213 | set emacs-mode-string (emacs) \1\e[0m\e[5 q\2 214 | set vi-ins-mode-string  ➥【vi 】\1\e]12;red\x7\e[3 q\2 215 | set vi-cmd-mode-string  ➥【vi🔏】\1\e]12;blue\x7\e[2 q\2 216 | 217 | # }}} 218 | 219 | # vim: foldmethod=marker 220 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule ".vim/pack/u0_a311/start/vim-mucomplete"] 2 | path = .vim/pack/u0_a311/start/vim-mucomplete 3 | url = https://github.com/lifepillar/vim-mucomplete.git 4 | [submodule ".vim/pack/u0_a311/start/nerdtree"] 5 | path = .vim/pack/u0_a311/start/nerdtree 6 | url = https://github.com/preservim/nerdtree.git 7 | [submodule ".vim/pack/u0_a311/start/jellybeans.vim"] 8 | path = .vim/pack/u0_a311/start/jellybeans.vim 9 | url = https://github.com/vim-scripts/jellybeans.vim.git 10 | [submodule ".vim/pack/u0_a311/start/ZoomWin"] 11 | path = .vim/pack/u0_a311/start/ZoomWin 12 | url = https://github.com/vim-scripts/ZoomWin.git 13 | [submodule ".vim/pack/u0_a311/start/vim-closetag"] 14 | path = .vim/pack/u0_a311/start/vim-closetag 15 | url = https://github.com/alvan/vim-closetag.git 16 | [submodule ".vim/pack/u0_a311/start/vim-endwise"] 17 | path = .vim/pack/u0_a311/start/vim-endwise 18 | url = https://github.com/tpope/vim-endwise.git 19 | [submodule ".vim/pack/u0_a311/start/vim-gitgutter"] 20 | path = .vim/pack/u0_a311/start/vim-gitgutter 21 | url = https://github.com/airblade/vim-gitgutter.git 22 | [submodule ".vim/pack/u0_a311/start/ctrlp.vim"] 23 | path = .vim/pack/u0_a311/start/ctrlp.vim 24 | url = https://github.com/ctrlpvim/ctrlp.vim.git 25 | [submodule ".vim/pack/u0_a311/start/csv.vim"] 26 | path = .vim/pack/u0_a311/start/csv.vim 27 | url = https://github.com/chrisbra/csv.vim.git 28 | [submodule ".vim/pack/u0_a311/start/vim-fern"] 29 | path = .vim/pack/u0_a311/start/vim-fern 30 | url = https://github.com/lambdalisue/vim-fern.git 31 | [submodule ".vim/pack/u0_a311/start/vim-fern-bookmark"] 32 | path = .vim/pack/u0_a311/start/vim-fern-bookmark 33 | url = https://github.com/lambdalisue/vim-fern-bookmark.git 34 | [submodule ".vim/pack/u0_a311/start/close-buffers.vim"] 35 | path = .vim/pack/u0_a311/start/close-buffers.vim 36 | url = https://github.com/Asheq/close-buffers.vim.git 37 | [submodule ".vim/pack/u0_a311/start/tagbar"] 38 | path = .vim/pack/u0_a311/start/tagbar 39 | url = https://github.com/preservim/tagbar.git 40 | [submodule ".vim/pack/u0_a311/start/vim-gutentags"] 41 | path = .vim/pack/u0_a311/start/vim-gutentags 42 | url = https://github.com/ludovicchabant/vim-gutentags.git 43 | [submodule ".vim/pack/u0_a311/start/vim-surround"] 44 | path = .vim/pack/u0_a311/start/vim-surround 45 | url = https://github.com/tpope/vim-surround.git 46 | [submodule ".vim/pack/u0_a311/start/vim-commentary"] 47 | path = .vim/pack/u0_a311/start/vim-commentary 48 | url = https://github.com/tpope/vim-commentary.git 49 | [submodule ".vim/pack/u0_a311/start/vim-indent-guides"] 50 | path = .vim/pack/u0_a311/start/vim-indent-guides 51 | url = https://github.com/preservim/vim-indent-guides.git 52 | [submodule ".vim/pack/u0_a311/start/vim-signature"] 53 | path = .vim/pack/u0_a311/start/vim-signature 54 | url = https://github.com/kshenoy/vim-signature.git 55 | [submodule ".vim/pack/u0_a311/start/async.vim"] 56 | path = .vim/pack/u0_a311/start/async.vim 57 | url = https://github.com/prabirshrestha/async.vim.git 58 | [submodule ".vim/pack/u0_a311/start/asyncomplete.vim"] 59 | path = .vim/pack/u0_a311/start/asyncomplete.vim 60 | url = https://github.com/prabirshrestha/asyncomplete.vim.git 61 | [submodule ".vim/pack/u0_a311/start/asyncomplete-lsp.vim"] 62 | path = .vim/pack/u0_a311/start/asyncomplete-lsp.vim 63 | url = https://github.com/prabirshrestha/asyncomplete-lsp.vim.git 64 | [submodule ".vim/pack/u0_a311/start/vim-startify"] 65 | path = .vim/pack/u0_a311/start/vim-startify 66 | url = https://github.com/mhinz/vim-startify.git 67 | [submodule ".vim/pack/u0_a311/start/nginx"] 68 | path = .vim/pack/u0_a311/start/nginx 69 | url = https://github.com/chr4/nginx.git 70 | [submodule ".vim/pack/u0_a311/start/vim-css3-syntax"] 71 | path = .vim/pack/u0_a311/start/vim-css3-syntax 72 | url = https://github.com/hail2u/vim-css3-syntax.git 73 | [submodule ".vim/pack/u0_a311/start/vim-better-whitespace"] 74 | path = .vim/pack/u0_a311/start/vim-better-whitespace 75 | url = https://github.com/ntpeters/vim-better-whitespace.git 76 | [submodule ".vim/pack/u0_a311/start/vim-rails"] 77 | path = .vim/pack/u0_a311/start/vim-rails 78 | url = https://github.com/tpope/vim-rails.git 79 | [submodule ".vim/pack/u0_a311/start/vim-sclow"] 80 | path = .vim/pack/u0_a311/start/vim-sclow 81 | url = https://github.com/obcat/vim-sclow.git 82 | [submodule ".vim/pack/u0_a311/start/html5.vim"] 83 | path = .vim/pack/u0_a311/start/html5.vim 84 | url = https://github.com/othree/html5.vim.git 85 | [submodule ".vim/pack/u0_a311/start/vim-fern-git-status"] 86 | path = .vim/pack/u0_a311/start/vim-fern-git-status 87 | url = https://github.com/lambdalisue/vim-fern-git-status.git 88 | [submodule ".vim/pack/u0_a311/start/nerdtree-git-plugin"] 89 | path = .vim/pack/u0_a311/start/nerdtree-git-plugin 90 | url = https://github.com/Xuyuanp/nerdtree-git-plugin.git 91 | [submodule ".vim/pack/u0_a311/start/supertab"] 92 | path = .vim/pack/u0_a311/start/supertab 93 | url = https://github.com/ervandew/supertab.git 94 | [submodule ".vim/pack/u0_a311/start/vim-scrollbar"] 95 | path = .vim/pack/u0_a311/start/vim-scrollbar 96 | url = https://github.com/lornix/vim-scrollbar.git 97 | [submodule ".vim/pack/u0_a311/start/asyncomplete-buffer.vim"] 98 | path = .vim/pack/u0_a311/start/asyncomplete-buffer.vim 99 | url = https://github.com/prabirshrestha/asyncomplete-buffer.vim.git 100 | [submodule ".vim/pack/u0_a311/start/asyncomplete-emoji.vim"] 101 | path = .vim/pack/u0_a311/start/asyncomplete-emoji.vim 102 | url = https://github.com/prabirshrestha/asyncomplete-emoji.vim.git 103 | [submodule ".vim/pack/u0_a311/start/asyncomplete-file.vim"] 104 | path = .vim/pack/u0_a311/start/asyncomplete-file.vim 105 | url = https://github.com/prabirshrestha/asyncomplete-file.vim.git 106 | [submodule ".vim/pack/u0_a311/start/asyncomplete-tags.vim"] 107 | path = .vim/pack/u0_a311/start/asyncomplete-tags.vim 108 | url = https://github.com/prabirshrestha/asyncomplete-tags.vim.git 109 | [submodule ".vim/pack/u0_a311/start/ultisnips"] 110 | path = .vim/pack/u0_a311/start/ultisnips 111 | url = https://github.com/SirVer/ultisnips.git 112 | [submodule ".vim/pack/u0_a311/start/asyncomplete-ultisnips.vim"] 113 | path = .vim/pack/u0_a311/start/asyncomplete-ultisnips.vim 114 | url = https://github.com/prabirshrestha/asyncomplete-ultisnips.vim.git 115 | [submodule ".vim/pack/u0_a311/start/vim-snippets"] 116 | path = .vim/pack/u0_a311/start/vim-snippets 117 | url = https://github.com/honza/vim-snippets.git 118 | [submodule ".vim/pack/u0_a311/start/vim-ruby-minitest"] 119 | path = .vim/pack/u0_a311/start/vim-ruby-minitest 120 | url = https://github.com/sunaku/vim-ruby-minitest.git 121 | [submodule ".vim/pack/u0_a311/start/delimitMate"] 122 | path = .vim/pack/u0_a311/start/delimitMate 123 | url = https://github.com/Raimondi/delimitMate.git 124 | [submodule ".vim/pack/u0_a311/start/vim-lsp"] 125 | path = .vim/pack/u0_a311/start/vim-lsp 126 | url = https://github.com/prabirshrestha/vim-lsp.git 127 | [submodule ".vim/pack/u0_a311/start/vim-lsp-settings"] 128 | path = .vim/pack/u0_a311/start/vim-lsp-settings 129 | url = https://github.com/mattn/vim-lsp-settings.git 130 | [submodule ".vim/pack/u0_a311/start/vim-lsp-ultisnips"] 131 | path = .vim/pack/u0_a311/start/vim-lsp-ultisnips 132 | url = https://github.com/thomasfaingnaert/vim-lsp-ultisnips.git 133 | [submodule ".vim/pack/u0_a311/start/vim-lsp-snippets"] 134 | path = .vim/pack/u0_a311/start/vim-lsp-snippets 135 | url = https://github.com/thomasfaingnaert/vim-lsp-snippets.git 136 | [submodule ".vim/pack/u0_a311/start/vim-healthcheck"] 137 | path = .vim/pack/u0_a311/start/vim-healthcheck 138 | url = https://github.com/rhysd/vim-healthcheck.git 139 | [submodule ".vim/pack/u0_a311/start/vim-ctrlp-tjump"] 140 | path = .vim/pack/u0_a311/start/vim-ctrlp-tjump 141 | url = https://github.com/ivalkeen/vim-ctrlp-tjump.git 142 | [submodule ".vim/pack/u0_a311/start/taglist"] 143 | path = .vim/pack/u0_a311/start/taglist 144 | url = https://github.com/yegappan/taglist.git 145 | [submodule ".vim/pack/u0_a311/start/ctrlp-funky"] 146 | path = .vim/pack/u0_a311/start/ctrlp-funky 147 | url = https://github.com/tacahiroy/ctrlp-funky.git 148 | [submodule ".vim/pack/u0_a311/start/vim-test"] 149 | path = .vim/pack/u0_a311/start/vim-test 150 | url = https://github.com/vim-test/vim-test.git 151 | [submodule ".vim/pack/u0_a311/start/asyncrun.vim"] 152 | path = .vim/pack/u0_a311/start/asyncrun.vim 153 | url = https://github.com/skywind3000/asyncrun.vim.git 154 | [submodule ".vim/pack/u0_a311/start/vim-ruby"] 155 | path = .vim/pack/u0_a311/start/vim-ruby 156 | url = https://github.com/vim-ruby/vim-ruby.git 157 | [submodule ".vim/pack/u0_a311/start/vim-indexer"] 158 | path = .vim/pack/u0_a311/start/vim-indexer 159 | url = https://github.com/alvan/vim-indexer.git 160 | [submodule ".vim/pack/u0_a311/start/vim-javascript"] 161 | path = .vim/pack/u0_a311/start/vim-javascript 162 | url = https://github.com/pangloss/vim-javascript.git 163 | [submodule ".vim/pack/u0_a311/start/vim-markdown"] 164 | path = .vim/pack/u0_a311/start/vim-markdown 165 | url = https://github.com/preservim/vim-markdown.git 166 | -------------------------------------------------------------------------------- /.gnupg/gpg.conf: -------------------------------------------------------------------------------- 1 | # 2 | # . d888 3 | # d88P" 4 | # 888 5 | # .d88b. 88888b. .d88b. .d8888b .d88b. 88888b. 888888 6 | # d88P"88b 888 "88b d88P"88b d88P" d88""88b 888 "88b 888 7 | # 888 888 888 888 888 888 888 888 888 888 888 888 8 | # Y88b 888 888 d88P Y88b 888 d8b Y88b. Y88..88P 888 888 888 9 | # "Y88888 88888P" "Y88888 Y8P "Y8888P "Y88P" 888 888 888 10 | # 888 888 888 11 | # Y8b d88P 888 Y8b d88P 12 | # "Y88P" 888 "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: .gnupg/gpg.conf 16 | # Help: man gpgconf 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: GNU PG configuration file 21 | # ------------------------------------------------------------------------- 22 | # 23 | # GPG Configuration 24 | 25 | # Symetric Cipher 26 | cipher-algo AES256 27 | 28 | # Message Compression 29 | compress-algo zlib 30 | 31 | # For passphrase entry 32 | use-agent 33 | 34 | # Github SSH connection 35 | # enable-ssh-support 36 | 37 | # If you do not use the Latin-1 (ISO-8859-1) charset, you should tell 38 | # GnuPG which is the native character set. Please check the man page 39 | # for supported character sets. This character set is only used for 40 | # metadata and not for the actual message which does not undergo any 41 | # translation. Note that future version of GnuPG will change to UTF-8 42 | # as default character set. 43 | 44 | charset utf-8 45 | 46 | # If you have more than 1 secret key in your keyring, you may want to 47 | # uncomment the following option and set your preferred keyid. 48 | 49 | #default-key YOURGPGKEYID 50 | 51 | # If you do not pass a recipient to gpg, it will ask for one. Using 52 | # this option you can encrypt to a default key. Key validation will 53 | # not be done in this case. The second form uses the default key as 54 | # default recipient. 55 | 56 | default-recipient example@email.com 57 | #default-recipient-self 58 | 59 | # By default GnuPG creates version 4 signatures for data files as 60 | # specified by OpenPGP. Some earlier (PGP 6, PGP 7) versions of PGP 61 | # require the older version 3 signatures. Setting this option forces 62 | # GnuPG to create version 3 signatures. 63 | 64 | #force-v3-sigs 65 | 66 | # Because some mailers change lines starting with "From " to ">From " 67 | # it is good to handle such lines in a special way when creating 68 | # cleartext signatures; all other PGP versions do it this way too. 69 | # To enable full OpenPGP compliance you may want to use this option. 70 | 71 | #no-escape-from-lines 72 | 73 | # When verifying a signature made from a subkey, ensure that the cross 74 | # certification "back signature" on the subkey is present and valid. 75 | # This protects against a subtle attack against subkeys that can sign. 76 | # Defaults to --no-require-cross-certification. However for new 77 | # installations it should be enabled. 78 | 79 | require-cross-certification 80 | 81 | 82 | # Group names may be defined like this: 83 | # group mynames = paige 0x12345678 joe patti 84 | # 85 | # Any time "mynames" is a recipient (-r or --recipient), it will be 86 | # expanded to the names "paige", "joe", and "patti", and the key ID 87 | # "0x12345678". Note there is only one level of expansion - you 88 | # cannot make an group that points to another group. Note also that 89 | # if there are spaces in the recipient name, this will appear as two 90 | # recipients. In these cases it is better to use the key ID. 91 | 92 | #group mynames = paige 0x12345678 joe patti 93 | 94 | # Some old Windows platforms require 8.3 filenames. If your system 95 | # can handle long filenames, uncomment this. 96 | 97 | #no-mangle-dos-filenames 98 | 99 | # Lock the file only once for the lifetime of a process. If you do 100 | # not define this, the lock will be obtained and released every time 101 | # it is needed - normally this is not needed. 102 | 103 | #lock-once 104 | 105 | # GnuPG can send and receive keys to and from a keyserver. These 106 | # servers can be HKP, email, or LDAP (if GnuPG is built with LDAP 107 | # support). 108 | # 109 | # Example HKP keyservers: 110 | # hkp://keys.gnupg.net 111 | # hkp://subkeys.pgp.net 112 | # 113 | # Example email keyserver: 114 | # mailto:pgp-public-keys@keys.pgp.net 115 | # 116 | # Example LDAP keyservers: 117 | # ldap://pgp.surfnet.nl:11370 118 | # ldap://keyserver.pgp.com 119 | # 120 | # Regular URL syntax applies, and you can set an alternate port 121 | # through the usual method: 122 | # hkp://keyserver.example.net:22742 123 | # 124 | # If you have problems connecting to a HKP server through a buggy http 125 | # proxy, you can use keyserver option broken-http-proxy (see below), 126 | # but first you should make sure that you have read the man page 127 | # regarding proxies (keyserver option honor-http-proxy) 128 | # 129 | # Most users just set the name and type of their preferred keyserver. 130 | # Note that most servers (with the notable exception of 131 | # ldap://keyserver.pgp.com) synchronize changes with each other. Note 132 | # also that a single server name may actually point to multiple 133 | # servers via DNS round-robin. hkp://keys.gnupg.net is an example of 134 | # such a "server", which spreads the load over a number of physical 135 | # servers. To see the IP address of the server actually used, you may use 136 | # the "--keyserver-options debug". 137 | 138 | #keyserver hkp://keys.gnupg.net 139 | #keyserver http://http-keys.gnupg.net 140 | #keyserver mailto:pgp-public-keys@keys.nl.pgp.net 141 | #keyserver ldap://pgp.surfnet.nl:11370 142 | #keyserver ldap://keyserver.pgp.com 143 | 144 | # Common options for keyserver functions: 145 | # 146 | # include-disabled = when searching, include keys marked as "disabled" 147 | # on the keyserver (not all keyservers support this). 148 | # 149 | # no-include-revoked = when searching, do not include keys marked as 150 | # "revoked" on the keyserver. 151 | # 152 | # verbose = show more information as the keys are fetched. 153 | # Can be used more than once to increase the amount 154 | # of information shown. 155 | # 156 | # use-temp-files = use temporary files instead of a pipe to talk to the 157 | # keyserver. Some platforms (Win32 for one) always 158 | # have this on. 159 | # 160 | # keep-temp-files = do not delete temporary files after using them 161 | # (really only useful for debugging) 162 | # 163 | # honor-http-proxy = if the keyserver uses HTTP, honor the http_proxy 164 | # environment variable 165 | # 166 | # broken-http-proxy = try to work around a buggy HTTP proxy 167 | # 168 | # auto-key-retrieve = automatically fetch keys as needed from the keyserver 169 | # when verifying signatures or when importing keys that 170 | # have been revoked by a revocation key that is not 171 | # present on the keyring. 172 | # 173 | # no-include-attributes = do not include attribute IDs (aka "photo IDs") 174 | # when sending keys to the keyserver. 175 | 176 | #keyserver-options auto-key-retrieve 177 | 178 | # Uncomment this line to display photo user IDs in key listings and 179 | # when a signature from a key with a photo is verified. 180 | 181 | #show-photos 182 | 183 | # Use this program to display photo user IDs 184 | # 185 | # %i is expanded to a temporary file that contains the photo. 186 | # %I is the same as %i, but the file isn't deleted afterwards by GnuPG. 187 | # %k is expanded to the key ID of the key. 188 | # %K is expanded to the long OpenPGP key ID of the key. 189 | # %t is expanded to the extension of the image (e.g. "jpg"). 190 | # %T is expanded to the MIME type of the image (e.g. "image/jpeg"). 191 | # %f is expanded to the fingerprint of the key. 192 | # %% is %, of course. 193 | # 194 | # If %i or %I are not present, then the photo is supplied to the 195 | # viewer on standard input. If your platform supports it, standard 196 | # input is the best way to do this as it avoids the time and effort in 197 | # generating and then cleaning up a secure temp file. 198 | # 199 | # The default program is "xloadimage -fork -quiet -title 'KeyID 0x%k' stdin" 200 | # On Mac OS X and Windows, the default is to use your regular JPEG image 201 | # viewer. 202 | # 203 | # Some other viewers: 204 | # photo-viewer "qiv %i" 205 | # photo-viewer "ee %i" 206 | # photo-viewer "display -title 'KeyID 0x%k'" 207 | # 208 | # This one saves a copy of the photo ID in your home directory: 209 | # photo-viewer "cat > ~/photoid-for-key-%k.%t" 210 | # 211 | # Use your MIME handler to view photos: 212 | # photo-viewer "metamail -q -d -b -c %T -s 'KeyID 0x%k' -f GnuPG" 213 | 214 | # Automatic key location 215 | # 216 | # GnuPG can automatically locate and retrieve keys as needed using the 217 | # auto-key-locate option. This happens when encrypting to an email 218 | # address (in the "user@example.com" form), and there are no 219 | # user@example.com keys on the local keyring. This option takes the 220 | # following arguments, in the order they are to be tried: 221 | # 222 | # cert = locate a key using DNS CERT, as specified in RFC-4398. 223 | # GnuPG can handle both the PGP (key) and IPGP (URL + fingerprint) 224 | # CERT methods. 225 | # 226 | # pka = locate a key using DNS PKA. 227 | # 228 | # ldap = locate a key using the PGP Universal method of checking 229 | # "ldap://keys.(thedomain)". For example, encrypting to 230 | # user@example.com will check ldap://keys.example.com. 231 | # 232 | # keyserver = locate a key using whatever keyserver is defined using 233 | # the keyserver option. 234 | # 235 | # You may also list arbitrary keyservers here by URL. 236 | # 237 | # Try CERT, then PKA, then LDAP, then hkp://keys.gnupg.net: 238 | #auto-key-locate cert pka hkp://keys.gnupg.net 239 | 240 | comment GPGTools - http://gpgtools.org 241 | -------------------------------------------------------------------------------- /.gitconfig: -------------------------------------------------------------------------------- 1 | # 2 | # d8b 888 .d888 d8b 3 | # Y8P 888 d88P" Y8P 4 | # 888 888 5 | # .d88b. 888 888888 .d8888b .d88b. 88888b. 888888 888 .d88b 6 | # d88P"88b 888 888 d88P" d88""88b 888 "88b 888 888 d88P"88b 7 | # 888 888 888 888 888 888 888 888 888 888 888 888 888 8 | # d8b Y88b 888 888 Y88b. Y88b. Y88..88P 888 888 888 888 Y88b 888 9 | # Y8P "Y88888 888 "Y888 "Y8888P "Y88P" 888 888 888 888 "Y88888 10 | # 888 888 11 | # Y8b d88P Y8b d88P 12 | # "Y88P" "Y88P" 13 | # 14 | # ------------------------------------------------------------------------- 15 | # File: .gitconfig 16 | # Help: man git-config 17 | # Source: https://github.com/devpunks 18 | # Author: Ahmid-Ra (github.com/snuggs) 19 | # Maintainer: devPunks 20 | # Description: Git configuration file 21 | # ------------------------------------------------------------------------- 22 | 23 | # See /etc/gitconfig (where available) 24 | 25 | # ------------------------------------------------------------------------ 26 | # {{{ Configuration 27 | # ------------------------------------------------------------------------ 28 | 29 | [github] 30 | user = snuggs 31 | 32 | [user] 33 | name = snuggs 34 | email = rashaunstovall@gmail.com 35 | 36 | [author] 37 | name = snuggs 38 | email = rashaunstovall@gmail.com 39 | 40 | [committer] 41 | name = snuggs 42 | email = rashaunstovall@gmail.com 43 | 44 | [credential] 45 | helper = cache 46 | 47 | [help] 48 | format = man # [man|info|web|html] 49 | htmlPath = https://git-scm.com/docs/ 50 | 51 | [advice] 52 | statusHints = on 53 | detachedHead = on 54 | pushNeedsForce = on 55 | addIgnoredFile = on 56 | forceDeleteBranch = on 57 | statusAheadBehind = on 58 | submodulesNotUpdated = on 59 | 60 | [init] 61 | defaultBranch = main 62 | 63 | [submodule] 64 | recurse = true 65 | 66 | [rerere] 67 | enabled = 1 68 | 69 | [log] 70 | # [human|relative|local|default|iso|iso-strict|rfc|short|raw] 71 | # [human-local|relative-local|default-local|iso-local|iso-strict-local|rfc-local|short-local|raw-local] 72 | # https://stackoverflow.com/q/7853332 73 | date = default-local 74 | 75 | [status] 76 | aheadBehind = on 77 | 78 | [push] 79 | default = upstream 80 | 81 | [apply] 82 | whitespace = warn 83 | 84 | [branch] 85 | autosetuprebase = always 86 | 87 | [showbranch] 88 | default = --topo-order 89 | default = heads/* 90 | 91 | # prefab = cherry -v origin/fabrication 92 | [format] # https://git-scm.com/docs/pretty-formats 93 | # https://stackoverflow.com/q/21830810/how-to-make-git-log-cut-long-comments 94 | pretty = %C(reverse) 🗓 %<(18,trunc)%cd %C(reverse italic) %>(11,mtrunc)%cr %C(reset)► %C(bold ul)👤%aN%C(reset) 🌵%C(ul italic)%d%C(reset) 🆔 %h %C(bold)📝 %<(50,trunc)%s 95 | 96 | [diff] 97 | submodule = log 98 | 99 | [merge] 100 | tool = vimdiff 101 | 102 | [mergetool] 103 | tool = vimdiff 104 | 105 | [pull] 106 | rebase = true 107 | 108 | [core] 109 | pager = cat 110 | autocrlf = input 111 | editor=/usr/bin/vim 112 | sshCommand = 'ssh' 113 | compression = -1 114 | looseCompression = -1 115 | bigFileThreshold = 1m 116 | excludesfile = ~/.gitignore 117 | whitespace = trailing-space,space-before-tab,tab-in-indent,fix,-indent-with-non-tab,-cr-at-eol 118 | 119 | [alias] 120 | lg = log -p 121 | br = branch 122 | ci = commit 123 | co = checkout 124 | st = status -sb 125 | pend = cherry -v origin/master 126 | df = diff --color-words='[^[:space:]]' 127 | sh = show --color-words='[^[:space:]]' 128 | graph = log --graph --oneline --decorate=short --branches='*' 129 | serve = !git daemon --reuseaddr --verbose --base-path=. --export-all ./.git 130 | 131 | # }}} 132 | 133 | # ------------------------------------------------------------------------ 134 | # {{{ ANSI 256 COLOURS 135 | # - https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_colors_in_git 136 | # 137 | # The value for these configuration variables is a list of colors 138 | # (at most two) and attributes separated by spaces. 139 | # 140 | # The attributes are: 141 | # bold, dim, italic, ul, blink, reverse, strike. 142 | # Specific attributes may be turned off by prefixing them 143 | # with no or no- (e.g., noreverse, no-ul, etc). 144 | # 145 | # All the basic colors except `normal` and `default` have a `bright` variant 146 | # that can be specified by prefixing the color with `bright` (i.e. brightred) 147 | # 148 | # The colors accepted are: 149 | # normal, black, red, green, yellow, blue, magenta, cyan, white, and default; 150 | # 151 | # Colors may also be given as numbers between 0 and 255; 152 | # these use ANSI 256-color mode (not all terminals may support this). 153 | # Specify 24-bit RGB values as hex, (i.e. #ff0ab3 not all terminals may support this) 154 | # 155 | # The pseudo-attribute `reset` resets all colors and attributes 156 | # before applying the specified coloring. For example, 157 | # `reset green` will result in a green foreground 158 | # and default background without any active attributes. 159 | # 160 | # ------------------------------------------------------------------------ 161 | 162 | [color] # https://stackoverflow.com/q/61048433/how-do-i-explore-git-colors 163 | 164 | # control the use of color per command family. Its scope will expand as more commands learn 165 | # configuration to set a default for the --color option. Set it to always if you want all output 166 | # not intended for machine consumption to use color, to true or auto if you want such output to use 167 | # color when written to the terminal, or to false or never if you prefer git commands not to use 168 | # color unless enabled explicitly with some other configuration or the --color option. 169 | 170 | # color.pager 171 | # A boolean to enable/disable colored output when the pager is in use (default is true). 172 | pager = true 173 | 174 | # color.ui 175 | # This variable determines the default value for variables such as color.diff and color.grep that 176 | ui = auto 177 | 178 | # color.diff 179 | # Whether to use ANSI escape sequences to add color to patches. If this is set to always, git- 180 | # diff(1), git-log(1), and git-show(1) will use color for all patches. If it is set to true or 181 | # auto, those commands will only use color when output is to the terminal. Defaults to false. 182 | # This does not affect git-format-patch(1) nor the git-diff-* plumbing commands. Can be overridden 183 | # on the command line with the --color[=] option. 184 | diff = always 185 | grep = always 186 | 187 | # color.status 188 | # A boolean to enable/disable color in the output of git-status(1). May be set to always, false (or 189 | # never) or auto (or true), in which case colors are used only when the output is to a terminal. 190 | # Defaults to false. 191 | status = always 192 | 193 | # color.branch 194 | # A boolean to enable/disable color in the output of git-branch(1). 195 | # May be set to always, false (or never) or auto (or true), 196 | # in which case colors are used only when the output is to a terminal. 197 | # 198 | # Defaults to false. 199 | branch = always 200 | decorate = always 201 | 202 | # color.showbranch 203 | # A boolean to enable/disable color in the output of git-show-branch(1). May be set to always, 204 | # false (or never) or auto (or true), in which case colors are used only when the output is to a 205 | # terminal. Defaults to false. 206 | showbranch = always 207 | 208 | # color.interactive 209 | # When set to always, always use colors for interactive prompts and displays 210 | # (such as those used by "git-add --interactive"). When false (or never), never. 211 | # When set to true or auto, use colors only when the output is to the terminal. 212 | # 213 | # Defaults to false. 214 | interactive = always 215 | 216 | # The first color given is the foreground; the second is the background. 217 | # The position of the attribute, if any, doesn't matter. 218 | 219 | # color.branch. 220 | # Use customized color for branch coloration. 221 | # is one of current (the current branch), local (a local branch), 222 | # remote (a remote-tracking branch in refs/remotes/), plain (other refs). 223 | [color "branch"] 224 | plain = bold 225 | local = default 226 | remote = dim italic 227 | current = bold reverse ul 228 | 229 | # color.diff. 230 | # Use customized color for diff colorization. specifies which part of the patch to use the 231 | # specified color, and is one of plain (context text), meta (metainformation), frag (hunk header), 232 | # func (function in hunk header), old (removed lines), new (added lines), commit (commit headers), 233 | # or whitespace (highlighting whitespace errors). The values of these variables may be specified as 234 | 235 | # in color.diff.. 236 | [color "diff"] 237 | whitespace = reverse red 238 | meta = default # headers 239 | plain = italic # unaltered 240 | old = bold red # deletions 241 | new = bold green # additions 242 | frag = bold reverse # i.e. @@ -148,10 +148,10 @@ 243 | commit = reverse bold default 244 | 245 | # color.status. 246 | # Use customized color for status colorization. is one of header (the header text of the 247 | # status message), added or updated (files which are added but not committed), changed (files which 248 | # are changed but not added in the index), untracked (files which are not tracked by git), branch 249 | # (the current branch), or nobranch (the color the no branch warning is shown in, defaulting to 250 | # red). The values of these variables may be specified as in color.branch.. 251 | [color "status"] 252 | header = default 253 | added = bold default 254 | changed = bold yellow 255 | deleted = default red 256 | branch = bold reverse 257 | nobranch = reverse red 258 | untracked = dim italic 259 | 260 | # color.interactive. 261 | # Use customized color for git add --interactive output. 262 | # may be prompt, header, help or error, 263 | # for four distinct types of normal output from interactive commands. 264 | # The values of these variables may be specified as in color.branch.. 265 | [color "interactive"] 266 | help = bold italic 267 | header = reverse red 268 | prompt = reverse bold 269 | error = reverse bold red 270 | 271 | # color.remote. 272 | [color "remote"] 273 | error = reverse red 274 | warning = reverse white 275 | success = reverse blue 276 | 277 | # color.push. 278 | [color "push"] 279 | error = reverse red 280 | warning = reverse white 281 | success = reverse blue 282 | 283 | # color.hint. 284 | [color "advice"] 285 | hint = italic 286 | error = reverse red 287 | warning = reverse italic 288 | success = bold 289 | 290 | # }}} 291 | 292 | # vim: foldmethod=marker 293 | -------------------------------------------------------------------------------- /NOTES: -------------------------------------------------------------------------------- 1 | ########################################################################### 2 | Android Accessibility 3 | ** Ensure FN + Android (W) 4 | 5 | = alt/cmd 6 | = [CTRL]+ 7 | + U # Accessibility Settings 8 | + / # Accessibility Keys 9 | + [TAB] # Recent Apps 10 | [CTRL][ALT] + Z # Toggle Accessibility Talkback 11 | ########################################################################### 12 | - [ESC] # Abort 13 | - [ALT] # Start Menu 14 | - [ALT] + [TAB] # Open Apps 15 | - [ALT] + A # Apps 16 | - [CTRL] + [SPACE] # Change language 17 | - [SHIFT] + [SPACE] # Change language 18 | - [HAMBURGER] 19 | - (F5) # Context Menu (Right Click) 20 | - (F5) # (Chrome) Context Menu 21 | - + B # Browser 22 | - + C # Contacts 23 | - + E # Email 24 | - + F # Search 25 | - + H # Voice Activation 26 | - + I # Bixby 27 | - + J # Tips 28 | - + K # Calendar 29 | - + L # Lock Screen 30 | - + M # Maps 31 | - + N # Notifications 32 | - + Q # Quick Panel 33 | - + R # Files 34 | - + S # Messages 35 | - + U # Accessibility Settings 36 | - + W # Start/Stop DEX 37 | - + V # Volume 38 | - + Y # Smart view 39 | - + Z # Settings 40 | - + [ENTER] # Home 41 | - + [DEL] # Back 42 | 43 | - [F4] - [F12] - (Check keyboard layout) 44 | - [FN][F1] # Keyboard Shortcuts menu 45 | - [FN]+[F4] - [FN]+[F12] - (Check keyboard layout) 46 | - [FN][DEL] # (ios) Toggle desktop / (android) screenshot 47 | 48 | # ANSI UNICODE ASCII UTF-8 ------------------------------------------------ 49 | # - https://jkorpela.fi/chars 50 | # - Guide - https://jkorpela.fi/unicode/guide.html 51 | # - Spaces - https://jkorpela.fi/chars/spaces.html 52 | # - Math Symbols - https://jkorpela.fi/math/syms.html 53 | # - Dashes & Hyphens - https://jkorpela.fi/dashes.html 54 | 55 | # Twitter ----------------------------------------------------------------- 56 | - http://keycombiner.com/devtools/collections/twitter 57 | 58 | # VLC --------------------------------------------------------------------- 59 | - http://keycombiner.com/devtools/vlc-player 60 | 61 | # Youtube ----------------------------------------------------------------- 62 | - [CTRL] # Keyboard Shortcut Menu 63 | - [SPACE] # Play / Pause 64 | - → # Seek Forward 65 | - ← # Seek Backwards 66 | - [ALT] + → # Next Chapter 67 | - [ALT] + ← # Previous Chaper 68 | - C # Toggle Closed Captions 69 | 70 | # Chrome ------------------------------------------------------------------ 71 | # https://github.com/jaredwilli/devtools-cheatsheet?tab=readme-ov-file 72 | - [TAB] # Next Clickable Item 73 | - [SHIFT][TAB] # Previous Clickable Item 74 | - [SPACE] # Scroll Down 75 | - [SHIFT][SPACE] # Scroll Up 76 | - [ALT]+= # Larger size 77 | - [CTRL]+- # Smaller size 78 | - [CTRL]+0 # Default size 79 | - [CTRL][SHIFT]+B # Bookmarks Bar 80 | - [CMD]+D # Bookmark current page 81 | - [CMD][SHIFT]+F # Fullscreen 82 | - [CMD]+H # History 83 | - [CTRL][SHIFT]+H # Home 84 | - [CTRL]+L # Address bar 85 | - [CTRL]+N # New tab 86 | - [CTRL][SHIFT]+N # New incognito tab 87 | - [CTRL][SHIFT][TAB] # Prev tab 88 | - [CMD][SHIFT]+M # Mobile Responsive 89 | - [CTRL]+P # Print 90 | - [CTRL]+R # Reload 91 | - [CTRL][SHIFT]+J # Downloads Tab 92 | - [CTRL][SHIFT]+R # Reload (with cache busting) 93 | - [CTRL][SHIFT]+T # Reopen last closed tab 94 | - [CTRL]+W # Close current tab 95 | # Chrome (DevTools) ------------------------------------------------------- 96 | - [ESC] # Console 97 | - [CTRL]+ F # Find 98 | - [CTRL][TAB] # Next tab 99 | - [CTRL][SPACE] # Completion Menu 100 | - [CMD]+, # Search Settings 101 | - [CMD]+/ # Toggle Comment 102 | - [ALT]+→ # Next Word 103 | - [ALT]+← # Previous Word 104 | - [CTRL]+A # BOL [CMD] + ← 105 | - [CTRL]+B # Back one character 106 | - [CTRL][SHIFT]+C # Switch to Elements 107 | - [CTRL]+D # Delete character after 108 | - [CTRL][SHIFT]+D # DevTools Layout Switch 109 | - [CMD][SHFT]+D # swap devtools layout 110 | - [ALT]+E # Open menu 111 | - [CTRL]+E # EOL [CMD] + → 112 | - [CTRL]+F # Forward one character 113 | - [CTRL]+G # GOTO Line 114 | - H - # Hide element 115 | - [CTRL]+H # Delete character before 116 | - [CMD][SHIFT]+H # (dev) Breakpoints Pane 117 | - [CMD][ALT]+I # DevTools 118 | - [CMD][ALT]+J # Dev Logs 119 | - [CTRL]+K # Delete to EOL 120 | - [CTRL]+M # Matching Bracket 121 | - [CMD]+ N # Next Line 122 | - [ALT]+O # $$$ TAB SWITCH SIMILAR FILENAME??? 123 | - [CTRL]+O # Following to new line 124 | - [CMD]+ P # Previous Line 125 | - [CTRL]+T # Swap Character Right 126 | - [CTRL]+V # Page Down 127 | 128 | # DEX --------------------------------------------------------------------- 129 | - + [UP] 130 | - Maximize floating window to fullscreen 131 | - + [DOWN] 132 | - Minimize fullscreen to floating window 133 | - Minimize floating window to taskbar. 134 | - + [RIGHT] 135 | - Centers floating window from left sticky 136 | - Right sticky from floating window 137 | - Left floating window ffrom right sticky 138 | - + [LEFT] 139 | - Centers floating window from right sticky 140 | - Left sticky from floating window 141 | - Right floating window ffrom left sticky 142 | 143 | # LINUX ------------------------------------ 144 | - Directory Structure 145 | - https://unix.stackexchange.com/q/679569 146 | 147 | # TERMUX ------------------------------------------------------------------ 148 | # - https://dev.to/voyeg3r/termux-useful-tweaks-3mjl 149 | 150 | # Termux:PRoot - https://wiki.termux.com/wiki/PRoot 151 | # Termux:Shells - https://wiki.termux.com/wiki/Shells 152 | # Termux:Boot - https://wiki.termux.com/wiki/Termux:Boot 153 | # - https://github.com/termux/termux-boot 154 | # - https://f-droid.org/en/packages/com.termux.boot 155 | # Termux:Services - https://wiki.termux.com/wiki/Termux-services 156 | # - https://github.com/termux/termux-services 157 | # Termux:Styling - https://wiki.termux.com/wiki/Termux:Styling 158 | # - https://github.com/termux/termux-Styling 159 | # - https://f-droid.org/en/packages/com.termux.Styling 160 | # Termux:Widget - https://wiki.termux.com/wiki/Termux:Widget 161 | # - https://github.com/termux/termux-widget 162 | # - https://f-droid.org/en/packages/com.termux.widget 163 | # 164 | - [CTRL][ALT] + → # Drawer 165 | - [CTRL][ALT] + ← # Close Drawer 166 | - [CTRL][ALT] + K # Soft Keyboard 167 | - [CTRL][ALT] + - # Reduce text size 168 | - [CTRL][ALT] + = # Increase text size 169 | - [CTRL][ESC] # Context Menu (Right Click) 170 | - [CTRL][ALT] + {N} # Switch to Session N (0-9) 171 | - [CTRL][ALT] + C # New Session 172 | - [CTRL][ALT] + M # Context Menu (Right Click) 173 | - [CTRL][ALT] + N # Next Session 174 | - [CTRL][ALT] + ↑ # Next Session 175 | - [CTRL][ALT] + P # Previous Session 176 | - [CTRL][ALT] + ↓ # Previous Session 177 | - [CTRL][ALT] + R # Rename Session 178 | - [CTRL][ALT] + U # URL List 179 | - [CTRL][ALT] + V # Paste 180 | 181 | # TMUX -------------------------------------------------------------------- 182 | - http://keycombiner.com/devtools/collections/tmux 183 | # Bind(ed) Keys 184 | # s - Sessions 185 | # - tmux show-hooks -g 186 | # - tmux list-keys 187 | # - tmux list-keys -a(ll) 188 | # - tmux list-keys -N(ame) 189 | # - tmux list-keys -T(able) 190 | # Shortcut mappings 191 | # - +t # time 192 | # - +q # indexes 193 | 194 | # VIM --------------------------------------------------------------------- 195 | # vi --clean (Empty .vimrc configuration) 196 | # :!-All messages 197 | #(Command Mode) --------------------------- 198 | # - Beginning of command 199 | # - command mode list 200 | # - https://vim.rtorr.com 201 | # messages - messages 202 | # history - command history 203 | # history c - command history 204 | # history s - search history 205 | # (Normal Mode) q: - buffered History 206 | # (Command Mode) - buffered History 207 | # / - Search 208 | # (Normal Mode) q/ - buffered Search 209 | # :reg - registers 210 | # :scriptname - All scripts loaded 211 | # :buffers, :files, :ls, :sbuffer :bdelete, :badd {1} {2} {3} 212 | # :ls! - Show all buffers included unlisted (h = hidden, a = active) 213 | # :verbose map - nmap, vmap, xmap, smap, omap mode Keyboard mappings - https://vi.stackexchange.com/q/7722 214 | # :map! - Normal & Visual mode Keyboard mappings - https://vi.stackexchange.com/q/7722 215 | # :verbose nmap - Normal Mode Mappings 216 | # :verbose cmap - imap, cmap Command Mode mappings 217 | # :verbose xmap - Visual mode mappings 218 | # :verbose vmap - Visual and Select mode mappings 219 | # :tabs - list 220 | # :tags - list 221 | # :marks - marks 222 | # :menu # :help menu 223 | # :verbose command 224 | # :verbose autocmd [event] 225 | # :changes - see file changes 226 | # :find - files (can use * globs) 227 | # :version - See all version compiled options 228 | # :verbose autocmd [VimEvent] - all autocmd declarations 229 | # :spellinfo - spellfiles used 230 | # :verbose set - all set options & location 231 | # :verbose setlocal - all local set options 232 | # :verbose setglobal - all global set options 233 | # :verbose setgtermcap - Terminal codes & keys 234 | # :verbose let - all let declarations & location 235 | # :verbose let v: - vim variables 236 | # :verbose let g: - global let declarations & location 237 | # :verbose let b: - buffer let declarations & location 238 | # (filter) :echo copy(g:)->filter('v:key =~# "^substr"') 239 | # :verbose function [name] - See all functions & location 240 | # :b(uffer) - Open buffer based off substring in file name. 241 | # :set all - View all settings 242 | # :set termcap? - Term Capabilities 243 | # :K - (SHIFT+K) keywordprg(default to man page for under cursor) 244 | # :h key-notation - For mappings 245 | # :h - For mapping 246 | # :h term.txt ------------------------------- 247 | # :h gui.txt -------------------------------- 248 | # 249 | #(Normal Mode) --------------------------- 250 | # :gt - Next Tab 251 | # :gT - Previous Tab 252 | # :g; - Previouss edit location 253 | # :gf - Locate file under cursor 254 | # :normal gg=G # Reformat current buffer 255 | # - Jump to tag definition 256 | # - Pop tag definition 257 | # 258 | #(Insert Mode) --------------------------- 259 | # Bracketed Paste # - https://en.m.wikipedia.org/wiki/Bracketed-paste 260 | # - :h paste - :h pastetoggle 261 | # Clipboard # - https://en.m.wikipedia.org/wiki/Clipboard_(computing) 262 | # - :h clipboard - :h quoteplus - :h quotestar - :h quotequote 263 | # - Exit Completion 264 | # - Completion 265 | # :help complete 266 | # :help ins-completion 267 | # - backspace 268 | # - Next Completion 269 | # - Previous Completion 270 | # - Sitch to normal mode 271 | # - Briefly switch to normal mode 272 | # Completion ----------------------------------- 273 | # :h i_CTRL-X_index - All commands in i_CTRL-X submodule 274 | # - :h omnifunc - :h completefunc - :h complete 275 | # - Tag Completion 276 | # - ompletion (Current & Included Files) 277 | # - Definition & Macro Completion 278 | # - File Path Completion 279 | # - Dictionary Completion 280 | # - Spelling Suggestions 281 | # - Thesaurus Suggestions 282 | # - User `completefunc` Completion 283 | # - Omni Completion :h omnifunc 284 | # - Vim Command Line Completion 285 | # - Stop Completion 286 | # 287 | # gf - Open file under cursor 288 | # gq - Automatic formatting 289 | # :h group-name 290 | # :h cterm-colors 291 | # :h highlight-groups 292 | # :h index - All keyboard mappings 293 | # :h motion.txt ------------------------------ 294 | # :jumps - List 295 | # :clearjumps - List 296 | # - Current location in file 297 | # - Previous Jump Position 298 | # extended unicode digraphs (:h digraphs) 299 | # ( on Windows) Then type escape command 300 | # FULL LIST OF SHORTCUTS - https://gist.github.com/tuxfight3r/0dca25825d9f2608714b 301 | # CtrlP ----------------------------------------------------- 302 | # (active) - Switch between files, & bufers 303 | # vim-fern -------------------------------------------------- 304 | # ! Toggle . (dot) files 305 | # 306 | # Popups :h popup.txt ------------------------------ 307 | # popup_create() 308 | # popup_atcursor() 309 | # popup_notification() 310 | # popup_dialog() 311 | # popup_menu() 312 | # popup_close() 313 | # popup_clear() 314 | 315 | # BASH -------------------------------------------------------------------- 316 | # - Explain Shell - https://explainshell.com/ 317 | # - Bash Guide - https://mywiki.wooledge.org/BashGuide 318 | # - Busybox - https://busybox.net/downloads/BusyBox.html 319 | # - Shebang - https://en.m.wikipedia.org/wiki/Shebang_(Unix) 320 | # - Shell Expansion https://stackoverflow.com/a/59629043/173208 321 | # - SED User Guide - https://gnu.org/software/sed/manual/sed.html 322 | # - AWK User Guide - https://gnu.org/software/gawk/manual/gawk.html 323 | # - File Descriptors - https://en.m.wikipedia.org/wiki/File_descriptor 324 | # - Math Expressions - https://redswitches.com/blog/bash-arithmetic-operators 325 | # - Compgen (shell commands) - https://baeldung.com/linux/compgen-command-usage 326 | # - Exit Codes - https://cyberciti.biz/faq/linux-bash-exit-status-set-exit-statusin-bash/ 327 | # - Special Parameters - https://gnu.org/software/bash/manual/bash.html#Special-Parameters 328 | # - POSIX SHELL - https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html 329 | 330 | # - systemd 331 | # - https://wiki.archlinux.org/title/Systemd 332 | # - https://seb.jambor.dev/posts/systemd-by-example-part-1-minimization 333 | # - https://medium.com/the-code-vault/systemd-simple-service-examples-ce586afeed27 334 | # - https://digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files 335 | 336 | # - echo vs printf 337 | # - https://in-ulm.de/%7Emascheck/various/echo+printf/ 338 | # - https://unix.stackexchange.com/q/65803/why-is-printf-better-than-echo 339 | 340 | # - Reverse Search 341 | # - https://superuser.com/q/472846/how-to-reverse-i-search-back-and-forth 342 | # - https://gnu.org/software/bash/manual/html_node/Commands-For-History.html 343 | # - https://gnu.org/software/emacs/manual/html_node/emacs/Basic-Isearch.html 344 | # - https://codeburst.io/use-reverse-i-search-to-quickly-navigate-through-your-history-917f4d7ffd37 345 | 346 | # Mail -------------------------------------------------------------------- 347 | # - https://keycombiner.com/collections/gmail 348 | - [CTRL]+N # New message 349 | 350 | # Readline ---------------------------------------------------------------- 351 | (BOL) 352 | (EOL) 353 | (Next command) 354 | (Previous command) 355 | Delete word behind) 356 | -------------------------------------------------------------------------------- /init.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # d8b d8b 888 888 4 | # Y8P Y8P 888 888 5 | # 888 888 6 | # 888 88888b. 888 888888 .d8888b 88888b. 7 | # 888 888 "88b 888 888 88K 888 "88b 8 | # 888 888 888 888 888 "Y8888b. 888 888 9 | # 888 888 888 888 Y88b. d8b X88 888 888 10 | # 888 888 888 888 "Y888 Y8P 88888P' 888 888 11 | # 12 | # ------------------------------------------------------------------------- 13 | # Version: 0.1 14 | # File: init.sh 15 | # Source: https://github.com/devpunks 16 | # Author: Ahmid-Ra (github.com/snuggs) 17 | # Maintainer: devPunks 18 | # Description: Init install script 19 | # ------------------------------------------------------------------------- 20 | # 21 | # `http://freedesktop.org 22 | # 23 | #========================================================================== 24 | 25 | # Docker ------------------------------------------------------------------ 26 | # - https://docs.docker.com/engine/security/userns-remap 27 | # - https://stackoverflow.com/q/68155641/should-i-run-things-inside-a-docker-container-as-non-root-for-safety 28 | pkg upgrade && pkg update 29 | 30 | pkg install apt-file 31 | pkg install mount-utils 32 | pkg install bash-completion 33 | 34 | # {{{ Dependencies -------------------------------------------------------- 35 | pkg install make 36 | pkg install cmake 37 | pkg install libtool 38 | pkg install autoconf 39 | pkg install automake 40 | pkg install readline 41 | 42 | # }}} 43 | 44 | # {{{ Termux -------------------------------------------------------------- 45 | # https://github.com/YurinDoctrine/termux-essentials/blob/main/termux-essentials.sh 46 | termux-open "${HOME}/.termux/Termux_Boot_0.7.apk" 47 | pkg install termux-services 48 | pkg install termux-auth 49 | pkg install termux-api 50 | termux-setup-storage 51 | termux-info 52 | 53 | # }}} 54 | 55 | # {{{ Shell --------------------------------------------------------------- 56 | pkg install bc 57 | pkg install pv # progress 58 | pkg install bat # Improved cat https://github.com/sharkdp/bat 59 | pkg install man 60 | pkg install eza 61 | pkg install git 62 | pkg install bash-completion 63 | pkg install tmux 64 | pkg install entr # http://eradman.com/entrproject 65 | pkg install wget 66 | pkg install most 67 | pkg install lynx 68 | pkg install tree 69 | pkg install ncdu 70 | pkg install htop 71 | pkg install which 72 | pkg install chrony 73 | pkg install multitail 74 | pkg install shellcheck 75 | pkg install uuid-utils # uuidgen 76 | # pkg install expect 77 | 78 | pkg install figlet 79 | pkg install barcode 80 | pkg install cmatrix 81 | pkg install ncurses 82 | pkg install ncurses-utils 83 | pkg install busybox # http://busybox.net/downloads 84 | pkg install no-more-secrets # https://github.com/bartobri/no-more-secrets 85 | 86 | # }}} 87 | 88 | # {{{ Jobs ------------------------------------------------------------- 89 | pkg install runit # http://smarden.org/runit 90 | pkg install cronie 91 | 92 | # }}} 93 | 94 | # {{{ Archive ------------------------------------------------------------- 95 | pkg install tar 96 | pkg install zip 97 | pkg install gzip 98 | pkg install liblzma 99 | pkg install zlib libzlib 100 | pkg install zstd # https://github.com/facebook/zstd 101 | pkg install p7zip 102 | pkg install unrar 103 | pkg install unzip 104 | pkg install rsync 105 | pkg install brotli 106 | pkg install zopfli 107 | pkg install logrotate 108 | 109 | # }}} 110 | 111 | # {{{ Security ------------------------------------------------------------ 112 | pkg install tsu # https://pypi.org/project/tsu 113 | pkg install proot # https://wiki.termux.com/wiki/PRoot 114 | 115 | pkg install whois # mkpasswd 116 | pkg install gnupg # https://gnupg.org 117 | pkg install strace # https://man7.org/linux/man-pages/man1/strace.1.html 118 | pkg install argon2 # https://en.m.wikipedia.org/wiki/Argon2 119 | pkg install scrypt # https://tarsnap.com/scrypt.html 120 | pkg install openssl # https://openssl.org 121 | pkg install openssh # https://openssh.com/manual.html 122 | pkg install sharutils # https://gnu.org/software/sharutils 123 | 124 | echo Cloning Authorized Keys from... 125 | # TODO: use readline to get username 126 | # https://blog.prabir.me/posts/allow-github-username-to-ssh-authorized-keys 127 | mkdir --verbose -m 700 ~/.ssh 128 | curl --location=https://github.com/snuggs.keys >> ~/.ssh/authorized_keys 129 | 130 | # }}} 131 | 132 | # {{{ Networking ---------------------------------------------------------- 133 | # TODO: deprecate ifconfig and netstat 134 | # - https://redhat.com/sysadmin/ifconfig-vs-ip 135 | # - https://wiki.linuxfoundation.org/networking/iproute2 136 | # - https://github.com/termux/termux-packages/issues/12758 137 | pkg install iproute2 # ip addr instad of ifconfig -a 138 | pkg install net-tools # https://net-tools.sourceforge.io 139 | pkg install traceroute # https://linux.die.net/man/8/traceroute 140 | pkg install tracepath # https://linux.die.net/man/8/tracepath 141 | # NMAP 142 | # - https://upguard.com/blog/how-to-use-nmap 143 | # - https://redhat.com/sysadmin/use-cases-nmap 144 | # - https://freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time 145 | pkg install nmap 146 | pkg install socat 147 | pkg install dnsutils # Installs BIND for nslookup dig 148 | pkg install netcat-openbsd 149 | 150 | pkg install nginx 151 | pkg install apache2 # https://httpd.apache.org/docs 152 | pkg install lighttpd # https://lighttpd.net 153 | pkg install tinyproxy # https://tinyproxy.github.io 154 | 155 | # }}} 156 | 157 | # {{{ Programming --------------------------------------------------------- 158 | pkg install jq 159 | pkg install vim 160 | pkg install tidy 161 | 162 | pkg install libyaml 163 | pkg install libxml2 164 | pkg install libxslt 165 | pkg install libiconv 166 | 167 | pkg install gcc # C Compiler 168 | pkg install tcc # tiny C Compiler https://bellard.org/tcc 169 | pkg install clang # https://clang.llvm.org 170 | 171 | pkg install golang 172 | 173 | pkg install nodejs-lts 174 | npm install -g npm@latest 175 | 176 | pkg install python 177 | pip install pytest 178 | pkg install python-pip 179 | pkg install python-numpy 180 | 181 | pkg install php # PHP 182 | pkg install php-fpm # FastCGI Process Manager 183 | pkg install php-pgsql # PostgreSQL Modules 184 | pkg install php-redis # Redis Interface 185 | pkg install php-apache # Apache 2.0 Handler Module 186 | pkg install php-apache-pgsql # PostgreSQL modules for PHP/Apache 2.0 187 | 188 | # https://stackoverflow.com/q/57538555 189 | # https://gist.github.com/lnfel/d84ead4b914fd3e4e7897537d8f61535 190 | # https://linkedin.com/pulse/installing-running-ruby-rails-7-android-antonio-nesic 191 | # $$$$ https://honeyryderchuck.gitlab.io/2022/10/03/how-to-bundle-production-mode-in-docker.html 192 | pkg install ruby # https://wiki.termux.com/wiki/Ruby 193 | pkg install libffi 194 | pkg install binutils 195 | pkg install gumbo-parser 196 | # https://github.com/termux/termux-packages/issues/1940 197 | pkg install libxml2 && gem install libxml-ruby 198 | # https://en.m.wikipedia.org/wiki/Pkg-config 199 | pkg install pkg-config && gem install pkg-config 200 | # RVM on termux - https://github.com/rvm/rvm/issues/4734 201 | pkg install build-essential # Ruby HEAVY!!!! (600+Mb) 202 | gem update --system && PATH=$PATH gem environment # Must set PATH to prevent Nil split error 203 | # https://github.com/termux/termux-packages/discussions/8583 204 | bundle config set force_ruby_platform true 205 | # https://github.com/sparklemotion/nokogiri/issues/1739 206 | # https://github.com/sparklemotion/nokogiri/issues/1884 207 | # https://nokogiri.org/tutorials/installing_nokogiri.html#termux 208 | # Installing Rails (Nokogiri) https://github.com/termux/termux-packages/discussions/8855 209 | # https://nokogiri.org/tutorials/installing_nokogiri.html#why-would-i-not-want-to-use-a-native-gem 210 | # $$$$ Set PATH fixes most ENV['PATH'] errors 211 | PATH=$PATH gem install nokogiri --platform=ruby -- --use-system-libraries 212 | PATH=$PATH gem install sqlite3 && gem info sqlite3 213 | PATH=$PATH [ -e Gemfile ] && bundle 214 | PATH=$PATH gem install rubygems-server && gem server & open http://localhost:8808 215 | 216 | pkg install cscope # https://cscope.sourceforge.net 217 | PATH=$PATH gem install starscope # https://github.com/eapache/starscope 218 | 219 | # tags https://github.com/universal-ctags/ctags 220 | [[ $( uname-s ) =~ Darwin ]] \ 221 | && pkg install universal-ctags 222 | [[ $( uname-s ) =~ Linux ]] \ 223 | && pkg install ctags 224 | # }}} 225 | 226 | # {{{ Database ------------------------------------------------------------ 227 | pkg install redis 228 | pkg install sqlite 229 | pkg install postgis 230 | pkg install postgresql 231 | pkg install unixodbc 232 | [[ $( uname-s ) =~ 'Darwin' ]] \ 233 | && brew install libpq 234 | # TODO: Install pgvector - https://github.com/pgvector 235 | 236 | # }}} 237 | 238 | # {{{ Communications ------------------------------------------------------ 239 | pkg install weechat 240 | 241 | # MAIL CLIENTS - https://reddit.com/r/commandline/comments/p36vp0 242 | # - https://meli-email.org 243 | # - https://github.com/neomutt/neomutt 244 | # - https://github.com/lukesmithxyz/mutt-wizard 245 | # - https://mailutils.org/manual/html_section/mail.html 246 | # - https://bence.ferdinandy.com/2023/07/20/email-in-the-terminal-a-complete-guide-to-the-unix-way-of-email 247 | # - https://chiraag.me/blog/2019/08/21/managing-multiple-email-accounts-with-mutt-and-fetchmail 248 | 249 | pkg install mutt 250 | pkg install mailutils 251 | pkg install fetchmail # https://fetchmail.info 252 | # https://tug.org/levels.html 253 | # https://en.m.wikipedia.org/wiki/Texinfo 254 | # https://gnu.org/software/texinfo/manual/texinfo/texinfo.html 255 | # https://tex.stackexchange.com/q/49/what-is-the-difference-between-tex-and-latex 256 | pkg install texinfo 257 | 258 | # }}} 259 | 260 | # {{{ Multimedia ---------------------------------------------------------- 261 | pkg install sox 262 | pkg install vlc 263 | pkg install ffmpeg 264 | pkg install graphviz 265 | pkg install asciinema 266 | pkg install youtubedr 267 | echo TODO: Install yt-dlp https://github.com/yt-dlp/yt-dlp 268 | 269 | # }}} 270 | 271 | # {{{ Submodules ---------------------------------------------------------- 272 | echo Git Settings... 273 | # https://stackoverflow.com/q/49500943/what-is-git-rerere-and-how-does-it-work 274 | git config --global rerere.enabled true 275 | git config --global submodule.recurse true 276 | git config --global status.submoduleSummary true # Add submodules to git summary 277 | 278 | echo Cloning home directory... 279 | # git clone --recurse-submodules https://github.com/devpunks/.files.git $HOME 280 | git status 281 | 282 | # Submodules 283 | # - https://stackoverflow.com/q/10666085 284 | # - https://github.blog/2016-02-01-working-with-submodules 285 | 286 | echo Cloning submodules... 287 | # https://github.com/mhinz/vim-startify 288 | 289 | # https://github.com/obcat/vim-sclow 290 | # https://github.com/lornix/vim-scrollbar 291 | 292 | # https://github.com/preservim/nerdtree 293 | # https://github.com/Xuyuanp/nerdtree-git-plugin 294 | 295 | # https://github.com/lambdalisue/vim-fern 296 | # https://github.com/lambdalisue/vim-fern-bookmark 297 | # https://github.com/lambdalisue/vim-fern-git-status 298 | # 299 | # https://github.com/chr4/nginx 300 | # https://github.com/chrisbra/csv.vim 301 | # https://github.com/othree/html5.vim 302 | # https://github.com/preservim/vim-markdown 303 | # https://github.com/hail2u/vim-css3-syntax 304 | # https://github.com/pangloss/vim-javascript 305 | # https://github.com/vim-ruby/vim-ruby 306 | # https://github.com/tpope/vim-rails 307 | # https://github.com/sunaku/vim-ruby-minitest 308 | # https://github.com/vim-test/vim-test 309 | # https://github.com/tpope/vim-endwise 310 | # https://github.com/alvan/vim-closetag 311 | # https://github.com/tpope/vim-surround 312 | # https://github.com/vim-scripts/ZoomWin 313 | # https://github.com/tpope/vim-commentary 314 | # https://github.com/kshenoy/vim-signature 315 | # https://github.com/airblade/vim-gitgutter 316 | # https://github.com/Asheq/close-buffers.vim 317 | # https://github.com/preservim/vim-indent-guides 318 | # https://github.com/ntpeters/vim-better-whitespace 319 | # https://github.com/Raimondi/delimitMate # quotes, parenthesis, brackets 320 | 321 | # Telesense (auto completion) ----------------- 322 | # https://github.com/yegappan/taglist 323 | # https://github.com/preservim/tagbar # See ctags 324 | # https://github.com/ludovicchabant/vim-gutentags # See ctags 325 | # https://github.com/ctrlpvim/ctrlp.vim 326 | # https://github.com/tacahiroy/ctrlp-funky 327 | # https://github.com/ivalkeen/vim-ctrlp-tjump 328 | # https://github.com/SirVer/ultisnips 329 | # https://github.com/honza/vim-snippets 330 | # https://github.com/alvan/vim-indexer 331 | # https://github.com/lifepillar/vim-mucomplete 332 | # https://github.com/prabirshrestha/async.vim 333 | # https://github.com/skywind3000/asyncrun.vim 334 | # https://github.com/prabirshrestha/asyncomplete.vim 335 | # https://github.com/prabirshrestha/asyncomplete-file.vim 336 | # https://github.com/prabirshrestha/asyncomplete-tags.vim 337 | # https://github.com/prabirshrestha/asyncomplete-emoji.vim 338 | # https://github.com/prabirshrestha/asyncomplete-buffer.vim 339 | # https://github.com/prabirshrestha/asyncomplete-ultisnips.vim 340 | 341 | # LSP (Language Server Protocols) -------------- 342 | # https://github.com/rhysd/vim-healthcheck 343 | # https://github.com/prabirshrestha/vim-lsp 344 | # https://github.com/mattn/vim-lsp-settings 345 | # https://github.com/thomasfaingnaert/vim-lsp-snippets 346 | # https://github.com/thomasfaingnaert/vim-lsp-ultisnips 347 | # https://github.com/prabirshrestha/asyncomplete-lsp.vim 348 | # 349 | # https://github.com/neoclide/coc.nvim 350 | # https://github.com/dense-analysis/ale 351 | # https://github.com/rhysd/vim-lsp-ale 352 | # https://github.com/andreypopp/asyncomplete-ale.vim 353 | 354 | # LS (Language Servers) ------------------------ 355 | # https://github.com/bash-lsp/bash-language-server 356 | npm install -g bash-language-server 357 | 358 | git submodule 359 | git submodule update --init --recursive 360 | 361 | echo 'devPunks😈studio init.sh' 362 | echo 363 | 364 | # }}} 365 | 366 | # {{{ Versioning ---------------------------------------------------------- 367 | tmux -V 368 | git --version 369 | vim --version 370 | 371 | pip list 372 | pip --version 373 | python --version 374 | 375 | go version 376 | 377 | gem help env 378 | gem --version 379 | ruby --version 380 | 381 | npm --version 382 | node --version 383 | 384 | vlc --version 385 | ffmpeg -version 386 | 387 | # }}} 388 | 389 | 390 | # Homebrew information 391 | [[ $( uname-s ) =~ 'Darwin' ]] 392 | \ && brew config 393 | \ && brew services list 394 | 395 | # Enable Side Mouse Buttons 396 | [[ $( uname-s ) =~ 'Darwin' ]] 397 | \ && brew install --cask sanesidebuttons 398 | \ && open 'https://github.com/thealpa/SaneSideButtons#automatic-launch' 399 | 400 | # List Installed Packages 401 | [[ $( uname-s ) =~ 'Linux' ]] 402 | \ && pkg list --installed 403 | 404 | # vim: foldmethod=marker 405 | -------------------------------------------------------------------------------- /.termux/colors.properties: -------------------------------------------------------------------------------- 1 | foreground=#ffffff 2 | background=#000000 3 | 4 | # cursor=#ff00ff 5 | 6 | # color0=#1b181b 7 | # color1=#ca402b 8 | # color2=#379a37 9 | # color3=#bb8a35 10 | # color4=#516aec 11 | # color5=#7b59c0 12 | # color6=#159393 13 | # color7=#ab9bab 14 | # color8=#776977 15 | # color9=#ca402b 16 | # color10=#379a37 17 | # color11=#bb8a35 18 | # color12=#516aec 19 | # color13=#7b59c0 20 | # color14=#159393 21 | # color15=#f7f3f7 22 | # 23 | # color16=#a65926 24 | # color17=#cc33cc 25 | # color18=#292329 26 | # color19=#695d69 27 | # color20=#9e8f9e 28 | # color21=#d8cad8 29 | # 0 Black (SYSTEM) #000000 rgb(0,0,0) hsl(0,0%,0%) 30 | # 1 Maroon (SYSTEM) #800000 rgb(128,0,0) hsl(0,100%,25%) 31 | # 2 Green (SYSTEM) #008000 rgb(0,128,0) hsl(120,100%,25%) 32 | # 3 Olive (SYSTEM) #808000 rgb(128,128,0) hsl(60,100%,25%) 33 | # 4 Navy (SYSTEM) #000080 rgb(0,0,128) hsl(240,100%,25%) 34 | # 5 Purple (SYSTEM) #800080 rgb(128,0,128) hsl(300,100%,25%) 35 | # 6 Teal (SYSTEM) #008080 rgb(0,128,128) hsl(180,100%,25%) 36 | # 7 Silver (SYSTEM) #c0c0c0 rgb(192,192,192) hsl(0,0%,75%) 37 | # 8 Grey (SYSTEM) #808080 rgb(128,128,128) hsl(0,0%,50%) 38 | # 9 Red (SYSTEM) #ff0000 rgb(255,0,0) hsl(0,100%,50%) 39 | # 10 Lime (SYSTEM) #00ff00 rgb(0,255,0) hsl(120,100%,50%) 40 | # 11 Yellow (SYSTEM) #ffff00 rgb(255,255,0) hsl(60,100%,50%) 41 | # 12 Blue (SYSTEM) #0000ff rgb(0,0,255) hsl(240,100%,50%) 42 | # 13 Fuchsia (SYSTEM) #ff00ff rgb(255,0,255) hsl(300,100%,50%) 43 | # 14 Aqua (SYSTEM) #00ffff rgb(0,255,255) hsl(180,100%,50%) 44 | # 15 White (SYSTEM) #ffffff rgb(255,255,255) hsl(0,0%,100%) 45 | # Xterm non-system colors # 46 | # 256 Colors Cheat Sheet - Xterm non-system colors, HEX, RGB, HSL 47 | # Display Xterm Number Xterm Name HEX RGB HSL 48 | # 16 Grey0 #000000 rgb(0,0,0) hsl(0,0%,0%) 49 | # 17 NavyBlue #00005f rgb(0,0,95) hsl(240,100%,18%) 50 | # 18 DarkBlue #000087 rgb(0,0,135) hsl(240,100%,26%) 51 | # 19 Blue3 #0000af rgb(0,0,175) hsl(240,100%,34%) 52 | # 20 Blue3 #0000d7 rgb(0,0,215) hsl(240,100%,42%) 53 | # 21 Blue1 #0000ff rgb(0,0,255) hsl(240,100%,50%) 54 | # 22 DarkGreen #005f00 rgb(0,95,0) hsl(120,100%,18%) 55 | # 23 DeepSkyBlue4 #005f5f rgb(0,95,95) hsl(180,100%,18%) 56 | # 24 DeepSkyBlue4 #005f87 rgb(0,95,135) hsl(97,100%,26%) 57 | # 25 DeepSkyBlue4 #005faf rgb(0,95,175) hsl(07,100%,34%) 58 | # 26 DodgerBlue3 #005fd7 rgb(0,95,215) hsl(13,100%,42%) 59 | # 27 DodgerBlue2 #005fff rgb(0,95,255) hsl(17,100%,50%) 60 | # 28 Green4 #008700 rgb(0,135,0) hsl(120,100%,26%) 61 | # 29 SpringGreen4 #00875f rgb(0,135,95) hsl(62,100%,26%) 62 | # 30 Turquoise4 #008787 rgb(0,135,135) hsl(180,100%,26%) 63 | # 31 DeepSkyBlue3 #0087af rgb(0,135,175) hsl(93,100%,34%) 64 | # 32 DeepSkyBlue3 #0087d7 rgb(0,135,215) hsl(02,100%,42%) 65 | # 33 DodgerBlue1 #0087ff rgb(0,135,255) hsl(08,100%,50%) 66 | # 34 Green3 #00af00 rgb(0,175,0) hsl(120,100%,34%) 67 | # 35 SpringGreen3 #00af5f rgb(0,175,95) hsl(52,100%,34%) 68 | # 36 DarkCyan #00af87 rgb(0,175,135) hsl(66,100%,34%) 69 | # 37 LightSeaGreen #00afaf rgb(0,175,175) hsl(180,100%,34%) 70 | # 38 DeepSkyBlue2 #00afd7 rgb(0,175,215) hsl(91,100%,42%) 71 | # 39 DeepSkyBlue1 #00afff rgb(0,175,255) hsl(98,100%,50%) 72 | # 40 Green3 #00d700 rgb(0,215,0) hsl(120,100%,42%) 73 | # 41 SpringGreen3 #00d75f rgb(0,215,95) hsl(46,100%,42%) 74 | # 42 SpringGreen2 #00d787 rgb(0,215,135) hsl(57,100%,42%) 75 | # 43 Cyan3 #00d7af rgb(0,215,175) hsl(68,100%,42%) 76 | # 44 DarkTurquoise #00d7d7 rgb(0,215,215) hsl(180,100%,42%) 77 | # 45 Turquoise2 #00d7ff rgb(0,215,255) hsl(89,100%,50%) 78 | # 46 Green1 #00ff00 rgb(0,255,0) hsl(120,100%,50%) 79 | # 47 SpringGreen2 #00ff5f rgb(0,255,95) hsl(42,100%,50%) 80 | # 48 SpringGreen1 #00ff87 rgb(0,255,135) hsl(51,100%,50%) 81 | # 49 MediumSpringGreen #00ffaf rgb(0,255,175) hsl(61,100%,50%) 82 | # 50 Cyan2 #00ffd7 rgb(0,255,215) hsl(70,100%,50%) 83 | # 51 Cyan1 #00ffff rgb(0,255,255) hsl(180,100%,50%) 84 | # 52 DarkRed #5f0000 rgb(95,0,0) hsl(0,100%,18%) 85 | # 53 DeepPink4 #5f005f rgb(95,0,95) hsl(300,100%,18%) 86 | # 54 Purple4 #5f0087 rgb(95,0,135) hsl(82,100%,26%) 87 | # 55 Purple4 #5f00af rgb(95,0,175) hsl(72,100%,34%) 88 | # 56 Purple3 #5f00d7 rgb(95,0,215) hsl(66,100%,42%) 89 | # 57 BlueViolet #5f00ff rgb(95,0,255) hsl(62,100%,50%) 90 | # 58 Orange4 #5f5f00 rgb(95,95,0) hsl(60,100%,18%) 91 | # 59 Grey37 #5f5f5f rgb(95,95,95) hsl(0,0%,37%) 92 | # 60 MediumPurple4 #5f5f87 rgb(95,95,135) hsl(240,17%,45%) 93 | # 61 SlateBlue3 #5f5faf rgb(95,95,175) hsl(240,33%,52%) 94 | # 62 SlateBlue3 #5f5fd7 rgb(95,95,215) hsl(240,60%,60%) 95 | # 63 RoyalBlue1 #5f5fff rgb(95,95,255) hsl(240,100%,68%) 96 | # 64 Chartreuse4 #5f8700 rgb(95,135,0) hsl(7,100%,26%) 97 | # 65 DarkSeaGreen4 #5f875f rgb(95,135,95) hsl(120,17%,45%) 98 | # 66 PaleTurquoise4 #5f8787 rgb(95,135,135) hsl(180,17%,45%) 99 | # 67 SteelBlue #5f87af rgb(95,135,175) hsl(210,33%,52%) 100 | # 68 SteelBlue3 #5f87d7 rgb(95,135,215) hsl(220,60%,60%) 101 | # 69 CornflowerBlue #5f87ff rgb(95,135,255) hsl(225,100%,68%) 102 | # 70 Chartreuse3 #5faf00 rgb(95,175,0) hsl(7,100%,34%) 103 | # 71 DarkSeaGreen4 #5faf5f rgb(95,175,95) hsl(120,33%,52%) 104 | # 72 CadetBlue #5faf87 rgb(95,175,135) hsl(150,33%,52%) 105 | # 73 CadetBlue #5fafaf rgb(95,175,175) hsl(180,33%,52%) 106 | # 74 SkyBlue3 #5fafd7 rgb(95,175,215) hsl(200,60%,60%) 107 | # 75 SteelBlue1 #5fafff rgb(95,175,255) hsl(210,100%,68%) 108 | # 76 Chartreuse3 #5fd700 rgb(95,215,0) hsl(3,100%,42%) 109 | # 77 PaleGreen3 #5fd75f rgb(95,215,95) hsl(120,60%,60%) 110 | # 78 SeaGreen3 #5fd787 rgb(95,215,135) hsl(140,60%,60%) 111 | # 79 Aquamarine3 #5fd7af rgb(95,215,175) hsl(160,60%,60%) 112 | # 80 MediumTurquoise #5fd7d7 rgb(95,215,215) hsl(180,60%,60%) 113 | # 81 SteelBlue1 #5fd7ff rgb(95,215,255) hsl(195,100%,68%) 114 | # 82 Chartreuse2 #5fff00 rgb(95,255,0) hsl(7,100%,50%) 115 | # 83 SeaGreen2 #5fff5f rgb(95,255,95) hsl(120,100%,68%) 116 | # 84 SeaGreen1 #5fff87 rgb(95,255,135) hsl(135,100%,68%) 117 | # 85 SeaGreen1 #5fffaf rgb(95,255,175) hsl(150,100%,68%) 118 | # 86 Aquamarine1 #5fffd7 rgb(95,255,215) hsl(165,100%,68%) 119 | # 87 DarkSlateGray2 #5fffff rgb(95,255,255) hsl(180,100%,68%) 120 | # 88 DarkRed #870000 rgb(135,0,0) hsl(0,100%,26%) 121 | # 89 DeepPink4 #87005f rgb(135,0,95) hsl(17,100%,26%) 122 | # 90 DarkMagenta #870087 rgb(135,0,135) hsl(300,100%,26%) 123 | # 91 DarkMagenta #8700af rgb(135,0,175) hsl(86,100%,34%) 124 | # 92 DarkViolet #8700d7 rgb(135,0,215) hsl(77,100%,42%) 125 | # 93 Purple #8700ff rgb(135,0,255) hsl(71,100%,50%) 126 | # 94 Orange4 #875f00 rgb(135,95,0) hsl(2,100%,26%) 127 | # 95 LightPink4 #875f5f rgb(135,95,95) hsl(0,17%,45%) 128 | # 96 Plum4 #875f87 rgb(135,95,135) hsl(300,17%,45%) 129 | # 97 MediumPurple3 #875faf rgb(135,95,175) hsl(270,33%,52%) 130 | # 98 MediumPurple3 #875fd7 rgb(135,95,215) hsl(260,60%,60%) 131 | # 99 SlateBlue1 #875fff rgb(135,95,255) hsl(255,100%,68%) 132 | # 100 Yellow4 #878700 rgb(135,135,0) hsl(60,100%,26%) 133 | # 101 Wheat4 #87875f rgb(135,135,95) hsl(60,17%,45%) 134 | # 102 Grey53 #878787 rgb(135,135,135) hsl(0,0%,52%) 135 | # 103 LightSlateGrey #8787af rgb(135,135,175) hsl(240,20%,60%) 136 | # 104 MediumPurple #8787d7 rgb(135,135,215) hsl(240,50%,68%) 137 | # 105 LightSlateBlue #8787ff rgb(135,135,255) hsl(240,100%,76%) 138 | # 106 Yellow4 #87af00 rgb(135,175,0) hsl(3,100%,34%) 139 | # 107 DarkOliveGreen3 #87af5f rgb(135,175,95) hsl(90,33%,52%) 140 | # 108 DarkSeaGreen #87af87 rgb(135,175,135) hsl(120,20%,60%) 141 | # 109 LightSkyBlue3 #87afaf rgb(135,175,175) hsl(180,20%,60%) 142 | # 110 LightSkyBlue3 #87afd7 rgb(135,175,215) hsl(210,50%,68%) 143 | # 111 SkyBlue2 #87afff rgb(135,175,255) hsl(220,100%,76%) 144 | # 112 Chartreuse2 #87d700 rgb(135,215,0) hsl(2,100%,42%) 145 | # 113 DarkOliveGreen3 #87d75f rgb(135,215,95) hsl(100,60%,60%) 146 | # 114 PaleGreen3 #87d787 rgb(135,215,135) hsl(120,50%,68%) 147 | # 115 DarkSeaGreen3 #87d7af rgb(135,215,175) hsl(150,50%,68%) 148 | # 116 DarkSlateGray3 #87d7d7 rgb(135,215,215) hsl(180,50%,68%) 149 | # 117 SkyBlue1 #87d7ff rgb(135,215,255) hsl(200,100%,76%) 150 | # 118 Chartreuse1 #87ff00 rgb(135,255,0) hsl(8,100%,50%) 151 | # 119 LightGreen #87ff5f rgb(135,255,95) hsl(105,100%,68%) 152 | # 120 LightGreen #87ff87 rgb(135,255,135) hsl(120,100%,76%) 153 | # 121 PaleGreen1 #87ffaf rgb(135,255,175) hsl(140,100%,76%) 154 | # 122 Aquamarine1 #87ffd7 rgb(135,255,215) hsl(160,100%,76%) 155 | # 123 DarkSlateGray1 #87ffff rgb(135,255,255) hsl(180,100%,76%) 156 | # 124 Red3 #af0000 rgb(175,0,0) hsl(0,100%,34%) 157 | # 125 DeepPink4 #af005f rgb(175,0,95) hsl(27,100%,34%) 158 | # 126 MediumVioletRed #af0087 rgb(175,0,135) hsl(13,100%,34%) 159 | # 127 Magenta3 #af00af rgb(175,0,175) hsl(300,100%,34%) 160 | # 128 DarkViolet #af00d7 rgb(175,0,215) hsl(88,100%,42%) 161 | # 129 Purple #af00ff rgb(175,0,255) hsl(81,100%,50%) 162 | # 130 DarkOrange3 #af5f00 rgb(175,95,0) hsl(2,100%,34%) 163 | # 131 IndianRed #af5f5f rgb(175,95,95) hsl(0,33%,52%) 164 | # 132 HotPink3 #af5f87 rgb(175,95,135) hsl(330,33%,52%) 165 | # 133 MediumOrchid3 #af5faf rgb(175,95,175) hsl(300,33%,52%) 166 | # 134 MediumOrchid #af5fd7 rgb(175,95,215) hsl(280,60%,60%) 167 | # 135 MediumPurple2 #af5fff rgb(175,95,255) hsl(270,100%,68%) 168 | # 136 DarkGoldenrod #af8700 rgb(175,135,0) hsl(6,100%,34%) 169 | # 137 LightSalmon3 #af875f rgb(175,135,95) hsl(30,33%,52%) 170 | # 138 RosyBrown #af8787 rgb(175,135,135) hsl(0,20%,60%) 171 | # 139 Grey63 #af87af rgb(175,135,175) hsl(300,20%,60%) 172 | # 140 MediumPurple2 #af87d7 rgb(175,135,215) hsl(270,50%,68%) 173 | # 141 MediumPurple1 #af87ff rgb(175,135,255) hsl(260,100%,76%) 174 | # 142 Gold3 #afaf00 rgb(175,175,0) hsl(60,100%,34%) 175 | # 143 DarkKhaki #afaf5f rgb(175,175,95) hsl(60,33%,52%) 176 | # 144 NavajoWhite3 #afaf87 rgb(175,175,135) hsl(60,20%,60%) 177 | # 145 Grey69 #afafaf rgb(175,175,175) hsl(0,0%,68%) 178 | # 146 LightSteelBlue3 #afafd7 rgb(175,175,215) hsl(240,33%,76%) 179 | # 147 LightSteelBlue #afafff rgb(175,175,255) hsl(240,100%,84%) 180 | # 148 Yellow3 #afd700 rgb(175,215,0) hsl(1,100%,42%) 181 | # 149 DarkOliveGreen3 #afd75f rgb(175,215,95) hsl(80,60%,60%) 182 | # 150 DarkSeaGreen3 #afd787 rgb(175,215,135) hsl(90,50%,68%) 183 | # 151 DarkSeaGreen2 #afd7af rgb(175,215,175) hsl(120,33%,76%) 184 | # 152 LightCyan3 #afd7d7 rgb(175,215,215) hsl(180,33%,76%) 185 | # 153 LightSkyBlue1 #afd7ff rgb(175,215,255) hsl(210,100%,84%) 186 | # 154 GreenYellow #afff00 rgb(175,255,0) hsl(8,100%,50%) 187 | # 155 DarkOliveGreen2 #afff5f rgb(175,255,95) hsl(90,100%,68%) 188 | # 156 PaleGreen1 #afff87 rgb(175,255,135) hsl(100,100%,76%) 189 | # 157 DarkSeaGreen2 #afffaf rgb(175,255,175) hsl(120,100%,84%) 190 | # 158 DarkSeaGreen1 #afffd7 rgb(175,255,215) hsl(150,100%,84%) 191 | # 159 PaleTurquoise1 #afffff rgb(175,255,255) hsl(180,100%,84%) 192 | # 160 Red3 #d70000 rgb(215,0,0) hsl(0,100%,42%) 193 | # 161 DeepPink3 #d7005f rgb(215,0,95) hsl(33,100%,42%) 194 | # 162 DeepPink3 #d70087 rgb(215,0,135) hsl(22,100%,42%) 195 | # 163 Magenta3 #d700af rgb(215,0,175) hsl(11,100%,42%) 196 | # 164 Magenta3 #d700d7 rgb(215,0,215) hsl(300,100%,42%) 197 | # 165 Magenta2 #d700ff rgb(215,0,255) hsl(90,100%,50%) 198 | # 166 DarkOrange3 #d75f00 rgb(215,95,0) hsl(6,100%,42%) 199 | # 167 IndianRed #d75f5f rgb(215,95,95) hsl(0,60%,60%) 200 | # 168 HotPink3 #d75f87 rgb(215,95,135) hsl(340,60%,60%) 201 | # 169 HotPink2 #d75faf rgb(215,95,175) hsl(320,60%,60%) 202 | # 170 Orchid #d75fd7 rgb(215,95,215) hsl(300,60%,60%) 203 | # 171 MediumOrchid1 #d75fff rgb(215,95,255) hsl(285,100%,68%) 204 | # 172 Orange3 #d78700 rgb(215,135,0) hsl(7,100%,42%) 205 | # 173 LightSalmon3 #d7875f rgb(215,135,95) hsl(20,60%,60%) 206 | # 174 LightPink3 #d78787 rgb(215,135,135) hsl(0,50%,68%) 207 | # 175 Pink3 #d787af rgb(215,135,175) hsl(330,50%,68%) 208 | # 176 Plum3 #d787d7 rgb(215,135,215) hsl(300,50%,68%) 209 | # 177 Violet #d787ff rgb(215,135,255) hsl(280,100%,76%) 210 | # 178 Gold3 #d7af00 rgb(215,175,0) hsl(8,100%,42%) 211 | # 179 LightGoldenrod3 #d7af5f rgb(215,175,95) hsl(40,60%,60%) 212 | # 180 Tan #d7af87 rgb(215,175,135) hsl(30,50%,68%) 213 | # 181 MistyRose3 #d7afaf rgb(215,175,175) hsl(0,33%,76%) 214 | # 182 Thistle3 #d7afd7 rgb(215,175,215) hsl(300,33%,76%) 215 | # 183 Plum2 #d7afff rgb(215,175,255) hsl(270,100%,84%) 216 | # 184 Yellow3 #d7d700 rgb(215,215,0) hsl(60,100%,42%) 217 | # 185 Khaki3 #d7d75f rgb(215,215,95) hsl(60,60%,60%) 218 | # 186 LightGoldenrod2 #d7d787 rgb(215,215,135) hsl(60,50%,68%) 219 | # 187 LightYellow3 #d7d7af rgb(215,215,175) hsl(60,33%,76%) 220 | # 188 Grey84 #d7d7d7 rgb(215,215,215) hsl(0,0%,84%) 221 | # 189 LightSteelBlue1 #d7d7ff rgb(215,215,255) hsl(240,100%,92%) 222 | # 190 Yellow2 #d7ff00 rgb(215,255,0) hsl(9,100%,50%) 223 | # 191 DarkOliveGreen1 #d7ff5f rgb(215,255,95) hsl(75,100%,68%) 224 | # 192 DarkOliveGreen1 #d7ff87 rgb(215,255,135) hsl(80,100%,76%) 225 | # 193 DarkSeaGreen1 #d7ffaf rgb(215,255,175) hsl(90,100%,84%) 226 | # 194 Honeydew2 #d7ffd7 rgb(215,255,215) hsl(120,100%,92%) 227 | # 195 LightCyan1 #d7ffff rgb(215,255,255) hsl(180,100%,92%) 228 | # 196 Red1 #ff0000 rgb(255,0,0) hsl(0,100%,50%) 229 | # 197 DeepPink2 #ff005f rgb(255,0,95) hsl(37,100%,50%) 230 | # 198 DeepPink1 #ff0087 rgb(255,0,135) hsl(28,100%,50%) 231 | # 199 DeepPink1 #ff00af rgb(255,0,175) hsl(18,100%,50%) 232 | # 200 Magenta2 #ff00d7 rgb(255,0,215) hsl(09,100%,50%) 233 | # 201 Magenta1 #ff00ff rgb(255,0,255) hsl(300,100%,50%) 234 | # 202 OrangeRed1 #ff5f00 rgb(255,95,0) hsl(2,100%,50%) 235 | # 203 IndianRed1 #ff5f5f rgb(255,95,95) hsl(0,100%,68%) 236 | # 204 IndianRed1 #ff5f87 rgb(255,95,135) hsl(345,100%,68%) 237 | # 205 HotPink #ff5faf rgb(255,95,175) hsl(330,100%,68%) 238 | # 206 HotPink #ff5fd7 rgb(255,95,215) hsl(315,100%,68%) 239 | # 207 MediumOrchid1 #ff5fff rgb(255,95,255) hsl(300,100%,68%) 240 | # 208 DarkOrange #ff8700 rgb(255,135,0) hsl(1,100%,50%) 241 | # 209 Salmon1 #ff875f rgb(255,135,95) hsl(15,100%,68%) 242 | # 210 LightCoral #ff8787 rgb(255,135,135) hsl(0,100%,76%) 243 | # 211 PaleVioletRed1 #ff87af rgb(255,135,175) hsl(340,100%,76%) 244 | # 212 Orchid2 #ff87d7 rgb(255,135,215) hsl(320,100%,76%) 245 | # 213 Orchid1 #ff87ff rgb(255,135,255) hsl(300,100%,76%) 246 | # 214 Orange1 #ffaf00 rgb(255,175,0) hsl(1,100%,50%) 247 | # 215 SandyBrown #ffaf5f rgb(255,175,95) hsl(30,100%,68%) 248 | # 216 LightSalmon1 #ffaf87 rgb(255,175,135) hsl(20,100%,76%) 249 | # 217 LightPink1 #ffafaf rgb(255,175,175) hsl(0,100%,84%) 250 | # 218 Pink1 #ffafd7 rgb(255,175,215) hsl(330,100%,84%) 251 | # 219 Plum1 #ffafff rgb(255,175,255) hsl(300,100%,84%) 252 | # 220 Gold1 #ffd700 rgb(255,215,0) hsl(0,100%,50%) 253 | # 221 LightGoldenrod2 #ffd75f rgb(255,215,95) hsl(45,100%,68%) 254 | # 222 LightGoldenrod2 #ffd787 rgb(255,215,135) hsl(40,100%,76%) 255 | # 223 NavajoWhite1 #ffd7af rgb(255,215,175) hsl(30,100%,84%) 256 | # 224 MistyRose1 #ffd7d7 rgb(255,215,215) hsl(0,100%,92%) 257 | # 225 Thistle1 #ffd7ff rgb(255,215,255) hsl(300,100%,92%) 258 | # 226 Yellow1 #ffff00 rgb(255,255,0) hsl(60,100%,50%) 259 | # 227 LightGoldenrod1 #ffff5f rgb(255,255,95) hsl(60,100%,68%) 260 | # 228 Khaki1 #ffff87 rgb(255,255,135) hsl(60,100%,76%) 261 | # 229 Wheat1 #ffffaf rgb(255,255,175) hsl(60,100%,84%) 262 | # 230 Cornsilk1 #ffffd7 rgb(255,255,215) hsl(60,100%,92%) 263 | # 231 Grey100 #ffffff rgb(255,255,255) hsl(0,0%,100%) 264 | # 232 Grey3 #080808 rgb(8,8,8) hsl(0,0%,3%) 265 | # 233 Grey7 #121212 rgb(18,18,18) hsl(0,0%,7%) 266 | # 234 Grey11 #1c1c1c rgb(28,28,28) hsl(0,0%,10%) 267 | # 235 Grey15 #262626 rgb(38,38,38) hsl(0,0%,14%) 268 | # 236 Grey19 #303030 rgb(48,48,48) hsl(0,0%,18%) 269 | # 237 Grey23 #3a3a3a rgb(58,58,58) hsl(0,0%,22%) 270 | # 238 Grey27 #444444 rgb(68,68,68) hsl(0,0%,26%) 271 | # 239 Grey30 #4e4e4e rgb(78,78,78) hsl(0,0%,30%) 272 | # 240 Grey35 #585858 rgb(88,88,88) hsl(0,0%,34%) 273 | # 241 Grey39 #626262 rgb(98,98,98) hsl(0,0%,37%) 274 | # 242 Grey42 #6c6c6c rgb(108,108,108) hsl(0,0%,40%) 275 | # 243 Grey46 #767676 rgb(118,118,118) hsl(0,0%,46%) 276 | # 244 Grey50 #808080 rgb(128,128,128) hsl(0,0%,50%) 277 | # 245 Grey54 #8a8a8a rgb(138,138,138) hsl(0,0%,54%) 278 | # 246 Grey58 #949494 rgb(148,148,148) hsl(0,0%,58%) 279 | # 247 Grey62 #9e9e9e rgb(158,158,158) hsl(0,0%,61%) 280 | # 248 Grey66 #a8a8a8 rgb(168,168,168) hsl(0,0%,65%) 281 | # 249 Grey70 #b2b2b2 rgb(178,178,178) hsl(0,0%,69%) 282 | # 250 Grey74 #bcbcbc rgb(188,188,188) hsl(0,0%,73%) 283 | # 251 Grey78 #c6c6c6 rgb(198,198,198) hsl(0,0%,77%) 284 | # 252 Grey82 #d0d0d0 rgb(208,208,208) hsl(0,0%,81%) 285 | # 253 Grey85 #dadada rgb(218,218,218) hsl(0,0%,85%) 286 | # 254 Grey89 #e4e4e4 rgb(228,228,228) hsl(0,0%,89%) 287 | # 255 Grey93 #eeeeee rgb(238,238,238) hsl(0,0%,93%) 288 | -------------------------------------------------------------------------------- /.bashrc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # 3 | # 888 888 4 | # 888 888 5 | # 888 888 6 | # 88888b. 8888b. .d8888b 88888b. 888d888 .d8888b 7 | # 888 "88b "88b 88K 888 "88b 888P" d88P" 8 | # 888 888 .d888888 "Y8888b. 888 888 888 888 9 | # d8b 888 d88P 888 888 X88 888 888 888 Y88b. 10 | # Y8P 88888P" "Y888888 88888P' 888 888 888 "Y8888P 11 | # 12 | # ------------------------------------------------------------------------- 13 | # Version: 0.1 14 | # File: .bashrc 15 | # Source: https://github.com/devpunks 16 | # Author: Ahmid-Ra (github.com/snuggs) 17 | # Maintainer: devPunks 18 | # Description: Bourne Again SHell Run Commands for interactive $SHELL 19 | # ------------------------------------------------------------------------- 20 | # 21 | # INVOCATION 22 | # - https://superuser.com/a/183980 23 | # - https://stackoverflow.com/q/9953005 24 | # - https://unix.stackexchange.com/q/43953 25 | # - Sample .bashrc - https://tldp.org/LDP/abs/html/sample-bashrc.html 26 | # - https://gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html 27 | # 28 | # - GNU `coreutils` 29 | # - https://en.m.wikipedia.org/wiki/GNU_Core_Utilities 30 | # - https://en.m.wikipedia.org/wiki/List_of_GNU_Core_Utilities_commands 31 | # 32 | # - OSC 52 base64 remote clipboard 33 | # - https://chromium.googlesource.com/apps/libapps/+/master/hterm/etc/osc52.sh 34 | # 35 | # - Variables 36 | # - https://askubuntu.com/q/26318 37 | # - https://gnu.org/software/bash/manual/html_node/Bash-Variables.html 38 | # - https://gnu.org/software/grep/manual/html_node/Environment-Variables.html 39 | # - https://cyberciti.biz/faq/linux-list-all-environment-variables-env-command 40 | # - https://web.archive.org/web/20170713001430/http://sc.tamu.edu/help/general/unix/vars.html 41 | 42 | # - Subshell Processes 43 | # - https://unix.stackexchange.com/a/442704 44 | # - Coprocess - https://gnu.org/software/bash/manual/html_node/Coprocesses.html 45 | # - Grouping - https://gnu.org/software/bash/manual/html_node/Command-Grouping.html 46 | # - Process Substitution - https://gnu.org/software/bash/manual/html_node/Process-Substitution.html 47 | # - Execution Environment - https://gnu.org/software/bash/manual/html_node/Command-Execution-Environment.html 48 | # 49 | #========================================================================== 50 | # {{{ Imports 51 | #========================================================================== 52 | # [[ -z "$PS1" ]] && exit # https://tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html 53 | 54 | echo "SHELL OPTION FLAGS (see set --help) 👉" $- 55 | 56 | # https://stackoverflow.com/q/42757236/what-does-mean-in-bash 57 | echo "SHELL OPTION FLAGS (see set --help) 👉" $- 58 | # [[ $- != *i* ]] # Check for interactive 59 | 60 | # Readline 61 | # [ -e "$HOME/.inputrc" ] && source "$HOME/.inputrc" 62 | 63 | # Colors 64 | # shellcheck source-path=. 65 | [ -e "$HOME/.colors" ] && source "$HOME/.colors" 66 | 67 | # (R)un (C)ommands - https://superuser.com/q/144339 68 | # for rc in `find ~/*.{ba}sh{rc} -maxdepth 1 -type f`; do 69 | # echo Sourcing ~/.bash run commands \(where available\) 70 | # source $rc 71 | # done 72 | 73 | # }}} 74 | 75 | #========================================================================== 76 | # {{{ Exports 77 | #========================================================================== 78 | # https://youtu.be/e9iSYCHslzg 79 | # https://unix.stackexchange.com/q/590788 80 | unset -v ENV BASH_ENV 81 | test -e $HOME/.env && export ENV=~/.env 82 | test $ENV && export BASH_ENV=$ENV 83 | 84 | # ------------------------------------------------------------------------- 85 | export EDITOR=vi 86 | export PAGER=most 87 | export VISUAL=$EDITOR 88 | export PG_CONFIG="${PREFIX}/bin/pg_config" 89 | 90 | # ------------------------------------------------------------------------- 91 | # https://dev.gnupg.org/T3412 92 | # https://wiki.archlinux.org/title/GnuPG#pinentry 93 | # https://gnupg.org/documentation/manuals/gnupg/Invoking-GPG_002dAGENT.html 94 | export GPG_TTY=$(tty) # https://github.com/keybase/keybase-issues/issues/2798 95 | export GIT_TRACE=1 # tracing 96 | export GIT_PAGER=$PAGER 97 | export GIT_EDITOR=$EDITOR 98 | export GIT_CONFIG_NOSYSTEM=true # Disable systemwide (etc/gitconfig) 99 | 100 | # ------------------------------------------------------------------------- 101 | # -h(eader) -l(ong) -t(itle) -v(erbose) -z(comment) 102 | export ZIPINFO='-h -l -t -v -z' 103 | export ZIPINFOOPT="${ZIPINFO}" 104 | # See man unzip TIPS section 105 | # -a(convert text files) -f(reshen) 106 | # -L(owercase systems) -l(ist) -u(pdate or create) 107 | export UNZIP='-a -L -u' 108 | export UNZIPOPT="${UNZIP}" 109 | 110 | # ------------------------------------------------------------------------- 111 | # https://unix.stackexchange.com/q/27588 112 | # https://unix.stackexchange.com/q/640495 113 | export IGNOREEOF=10 # set -o ignoreeof # For CTRL-D logout attempt frequency 114 | 115 | # ------------------------------------------------------------------------- 116 | # https://gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-HOSTFILE 117 | export HOSTFILE="${HOME}/.hosts" 118 | 119 | # ------------------------------------------------------------------------- 120 | # https://gnu.org/software/bash/manual/html_node/Bash-Variables.html#index-INPUTRC 121 | export INPUTRC="${HOME}/.inputrc" 122 | 123 | # ------------------------------------------------------------------------- 124 | # https://baeldung.com/linux/bash-calculate-time-elapsed 125 | # https://cyberciti.biz/faq/unix-linux-time-command-examples-usage-syntax 126 | export TIMEFORMAT=$'\n⌛real %3R seconds\tuser %3U\tsys %3S\tpcpu %P\n' 127 | 128 | export TZ='Etc/UTC' # https://gnu.org/software/libc/manual/html_node/TZ-Variable.html 129 | export CRON_TZ=${TZ} # https://devicetests.com/set-timezone-crontab 130 | 131 | # ------------------------------------------------------------------------- 132 | unset PATH 133 | PATH="$HOME" 134 | [ -d "$HOME/bin" ] && PATH="${PATH}:${HOME}/bin" 135 | [ -d "$HOME/local/bin" ] && PATH="${PATH}:${HOME}/local/bin" 136 | 137 | if [ -n "$PREFIX" ]; then # TERMUX 138 | unset LD_LIBRARY_PATH 139 | echo "FOUND TERMUX \$PREFIX: $PREFIX" 140 | # https://askubuntu.com/q/386629 141 | PATH=".:${PATH}:${PREFIX}/bin" 142 | # https://wiki.termux.com/wiki/Differences_from_Linux 143 | # uptime/htop 144 | # - https://github.com/termux/termux-app/issues/819 145 | # - https://site24x7.com/learn/linux/uptime.html 146 | # Prior to Android 7 147 | # export LD_LIBRARY_PATH="/system/bin/uptime:$PREFIX/bin/uptime" 148 | # export LD_LIBRARY_PATH="/data/data/com.termux/files/usr/lib:/system/bin/uptime:$PREFIX/bin/uptime" 149 | fi # $PREFIX 150 | 151 | export CDPATH=".:${HOME}" # https://theunixschool.com/2012/04/what-is-cdpath.html 152 | 153 | export GLOBIGNORE=. # see shopt -s dotglob - https://gnu.org/software/bash/manual/html_node/Filename-Expansion.html 154 | 155 | # ------------------------------------------------------------------------- 156 | # TIME_STYLE [FORMAT,locale,iso,long-iso,full-iso] 157 | # SIZE - 158 | # The SIZE argument is an integer and optional unit (example: 10K is 10*1024). 159 | # Units are K,M,G,T,P,E,Z,Y,R,Q (powers of 1024) or KB,MB, (powers of 1000). 160 | # Binary prefixes can be used, too: KiB=K, MiB=M, and so on. 161 | # https://linuxquestions.org/q/slackware-14/the-ls_options-variable-4175464331 162 | # https://linuxquestions.org/q/slackware-14/anyone-familiar-with-splitvt-4175464327/#post4963357 163 | export LS_OPTIONS='\ 164 | --inode --escape --almost-all \ 165 | --no-group --group-directories-first --hide-control-chars \ 166 | --color=auto --hyperlink=auto --tabsize=0 --width=2 --format=vertical \ 167 | --block-size=MiB --time-style=long-iso --indicator-style=classify --classify=auto --human-readable' 168 | 169 | # ------------------------------------------------------------------------- 170 | # TODO: Deprecate 171 | # - https://stackoverflow.com/q/31156517 172 | # - https://stackoverflow.com/q/42138844/remove-line-number-option-from-grep#comment113769544_64338090 173 | export GREP_OPTIONS="--ignore-case --no-messages --line-number --with-filename \ 174 | --context=1 --color=auto --recursive \ 175 | --devices=skip --binary-files=without-match --label=' \$STDIN ⇉ ' \ 176 | --group-separator=☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰☰ \ 177 | --exclude={.bash_history,tags,cscope.files} \ 178 | --exclude-dir={.git,.bundle,.cache,.config,.gem,.local,.npm,.gnupg,.ssh,.vim,bin,downloads,log,logs,node_modules,storage,tmp,vendor,images}" 179 | 180 | # ------------------------------------------------------------------------- 181 | # https://php.net/manual/en/function.curl-setopt.php 182 | # export CURLOPT_URL # URL 183 | # export CURLOPT_SSLCERT # client.pem file 184 | # export CURLOPT_SSLKEY # key.pem file 185 | # export CURLOPT_KEYPASSWD # password 186 | # export CURLOPT_DEFAULT_PROTOCOL # https 187 | # export CURLOPT_FOLLOWLOCATION # [0 - FALSE | 1 - TRUE] 188 | 189 | # }}} 190 | 191 | #========================================================================== 192 | # {{{ Locale 193 | # - https://superuser.com/a/1779369 194 | # - https://github.com/termux/termux-packages/issues/3009 195 | # - https://github.com/termux/termux-packages/issues/2796#issuecomment-424589888 196 | # - https://gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html 197 | # - https://gnu.org/software/gettext/manual/html_node/Setting-the-POSIX-Locale.html 198 | #========================================================================== 199 | export LANG=en_US.UTF-8 # Locale override 200 | export LANGUAGE=en:fr:de # LC_MESSAGES Override 201 | export LC_ALL=$LANG 202 | # LC_TIME 203 | # LC_CTYPE 204 | # LC_COLLATE 205 | # LC_NUMERIC 206 | # LC_MONETARY 207 | # LC_MESSAGES # Overridden by `LANGUAGE` 208 | 209 | # }}} 210 | 211 | # ========================================================================= 212 | # {{{ Terminal 213 | # tty - https://linusakesson.net/programming/tty 214 | # stty - https://computerhope.com/unix/ustty.htm 215 | # setterm 216 | # - setterm --reverse on # reverse terminal coloring 217 | # - https://man7.org/linux/man-pages/man1/setterm.1.html 218 | # tput 219 | # - https://manpages.ubuntu.com/manpages/jammy/man1/tput.1.html 220 | # - tput - https://linuxcommand.org/lc3_adv_tput.php 221 | # ncurses 222 | # - https://en.m.wikipedia.org/wiki/Ncurses 223 | # - https://en.m.wikipedia.org/wiki/Curses_(programming_library) 224 | #========================================================================== 225 | tput init 226 | setterm --resize # Sync kernel terminal driver to display 227 | 228 | # PLEASE NOTE: 229 | # Inside tmux TERM must be "screen", "tmux" "tmux-256color" 230 | # Outside, it should match your terminal 231 | # https://github.com/tmux/tmux/wiki/FAQ#what-is-term-and-what-does-it-do 232 | export TERM='xterm-256color' 233 | export TERMINFO=$( infocmp -D ) # terminfo database 234 | 235 | # Software Flow Control 236 | # - https://unix.stackexchange.com/q/515252 237 | # - https://unix.stackexchange.com/q/12107 238 | # - https://en.m.wikipedia.org/wiki/Software_flow_control 239 | # - https://bugs.launchpad.net/ubuntu/+source/bash/+bug/80635 240 | # - https://sites.ualberta.ca/dept/chemeng/AIX-43/share/man/info/C/a_doc_lib/cmds/aixcmds5/stty.htm 241 | # prevent C-s. (C-q to resume) - https://catonmat.net/annoying-keypress-in-linux 242 | stty stop undef # Undefine STOP character 243 | stty start undef # Undefine START character 244 | stty -ixon # Disable XON/XOFF output control 245 | stty -ixoff # Disable sending START/STOP characters 246 | stty -ixany # Disable any key to resume (not just START) 247 | stty -ctlecho # Stop  echo - https://stackoverflow.com/q/418073 248 | 249 | # TERMUX nCurses- https://stackoverflow.com/q/76148896 250 | if [[ "$( tic -V )" == *"ncurses"* ]]; then 251 | export CURSES_CFLAGS="-I${PREFIX}/include" 252 | export CURSES_LDFLAGS="-L${PREFIX}/lib -lncurses" 253 | # https://stackoverflow.com/q/1780483 254 | export LINES=$( tput lines ) 255 | export COLUMNS=$( tput columns ) 256 | 257 | # Check the window size after each command. 258 | # If necessary, Update the values of LINES and COLUMNS. 259 | # Correct line-wrapping-over-prompt issues when a window is resized. 260 | shopt -s checkwinsize # https://reddit.com/r/bash/comments/88tt7i 261 | fi 262 | 263 | # write tty terminal size 264 | # STDOUT test 265 | ( test -t 1 && printf "\n 💻 TTY SIZE: %s\n" $( stty size | tr ' ' 'x' ) ) \ 266 | || echo 'Is NOT a TTY' 267 | echo 268 | 269 | # }}} 270 | 271 | #========================================================================== 272 | # {{{ Options 273 | # - https://unix.stackexchange.com/q/32409/set-and-shopt-why-two/32446 274 | #========================================================================== 275 | # set options ------------------------------------------------------------- 276 | # https://tldp.org/LDP/abs/html/options.html 277 | # https://gist.github.com/vncsna/64825d5609c146e80de8b1fd623011ca 278 | # https://gnu.org/software/bash/manual/html_node/The-Set-Builtin.html 279 | set -o notify # terminated background jobs to be reported immediately 280 | set -o noclobber # Prevent redirection '>' from overwriting existing files 281 | 282 | # shell options ------------------------------------------------------- 283 | # https://gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html 284 | # https://linuxhint.com/how-to-customize-a-bash-shell-with-the-shopt-command 285 | 286 | # TODO: fix for macOS 287 | shopt -s extglob # Extended glob pattern matching 288 | shopt -s dirspell # https://linux.101hacks.com/cd-command/shopt-s-cdspell 289 | shopt -s direxpand # https://stackoverflow.com/q/6438341/what-does-shopt-s-dirspell-do 290 | 291 | shopt -s dotglob # https://unix.stackexchange.com/q/40662 292 | # https://unix.stackexchange.com/q/700199 293 | shopt -s globstar # https://linuxjournal.com/content/globstar-new-bash-globbing-option 294 | # shopt –s xpg_echo # https://stackoverflow.com/q/13517818/bash-shopt-xpg-echo 295 | shopt -s cdspell # https://linux.101hacks.com/cd-command/shopt-s-cdspell 296 | shopt -s nullglob # expand glob to empty list 297 | shopt -s mailwarn # last access on login 298 | shopt -s xpg_echo # expand escapes in echo string 299 | shopt -s checkjobs # confirm job status list on exit 300 | shopt -s checkhash # command exists in hashtable first 301 | shopt -s nocaseglob # https://stackoverflow.com/q/25331100/bash-match-string-with-regex 302 | shopt -s nocasematch # https://baeldung.com/linux/shell-case-insensitive-matching 303 | shopt -s cdable_vars # Change directory with shell vars 304 | shopt -s hostcomplete # https://blog.sanctum.geek.nz/bash-hostname-completion 305 | shopt -s shift_verbose # `shift` out of range error message 306 | shopt -s no_empty_cmd_completion # on empty line attempts 307 | 308 | # }}} 309 | 310 | #========================================================================== 311 | # {{{ History 312 | # - https://superuser.com/q/788428 313 | # - https://gnu.org/software/bash/manual/html_node/Bash-History-Builtins.html 314 | # - Reverse Search 315 | # - https://gnu.org/software/emacs/manual/html_node/emacs/Basic-Isearch.html 316 | # - https://gnu.org/software/bash/manual/html_node/Commands-For-History.html 317 | # - https://superuser.com/q/472846/how-to-reverse-i-search-back-and-forth 318 | # - https://codeburst.io/use-reverse-i-search-to-quickly-navigate-through-your-history-917f4d7ffd37 319 | #========================================================================== 320 | shopt -s histappend 321 | shopt -s histverify 322 | export HISTSIZE=1000 323 | export HISTFILESIZE=1000 324 | export HISTFILE="${HOME}/.bash_history" 325 | export HISTTIMEFORMAT="%d/%m/%y %T - " 326 | export HISTIGNORE=bg:fg:exit:cd:ls:pwd:echo 327 | # https://google.com/amp/s/geeksforgeeks.org/histcontrol-command-in-linux-with-examples/amp 328 | # https://unix.stackexchange.com/q/18212/bash-history-ignoredups-and-erasedups-setting-conflict-with-common-history 329 | export HISTCONTROL=ignoredups:ignorespace:erasedups # ignoreboth 330 | 331 | export PROMPT_COMMAND="history -n; history -w; history -c; history -r;" 332 | 333 | # more, less, most - https://askubuntu.com/q/1191862 334 | # - https://linux.die.net/man/1/lesskey 335 | # - https://manpages.ubuntu.com/manpages/bionic/en/man1/most.1.html 336 | # - https://ascending.wordpress.com/2011/02/11/unix-tip-make-less-more-friendly 337 | export LESSHISTSIZE=0 338 | export LESSHISTFILE=- # /dev/null 339 | export LESSKEY="" # https://man7.org/linux/man-pages/man1/lesskey.1.html 340 | 341 | # }}} 342 | 343 | #========================================================================== 344 | # {{{ Cursor / Prompt 345 | # 346 | # cursor ------------------------------------------------------------------ 347 | # echo -ne '[5;0;0 q' see .inputrc 348 | # echo -ne ']12;#FF0000\x7' 349 | 350 | # prompt ------------------------------------------------------------------ 351 | # Shell Prompt - for many examples, see: 352 | # - https://bash-prompt-generator.org 353 | # - https://github.com/nojhan/liquidprompt 354 | # - https://askubuntu.com/q/409599 355 | # - http://tldp.org/HOWTO/Bash-Prompt-HOWTO 356 | # - http://debian-administration.org/articles/205 357 | # - http://askapache.com/linux/bash-power-prompt.html 358 | # - https://wiki.archlinux.org/title/Bash/Prompt_customization 359 | # - https:/gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html 360 | # - https://unix.stackexchange.com/qs/105958/terminal-prompt-not-wrapping-correctly 361 | # - https://cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix 362 | # - https://unix.stackexchange.com/q/611419/how-does-the-escape-character-work-in-bash-prompt 363 | # 364 | #========================================================================= 365 | tput smam # tput rmam to disable - http://heyrod.com/snippets/toggle-line-wrapping-in-terminal.html 366 | export PROMPT_DIRTRIM=3 # https://stackoverflow.com/qs/5687446 367 | 368 | PS_RESET="\[${DEFAULT}${NORMAL}${NORMAL_BG}\e[m\]" 369 | 370 | PS_PROMPT='$( prompts )' 371 | PS_EXIT='$( exitstatus )' 372 | PS_CHEVRON="\[${BOLD}\]❭〉$PS_RESET" 373 | PS_JOBS="\[${REVERSE}${BOLD}\] 🔧\j $PS_RESET" 374 | PS_TIME="\[${ITALIC}${UNDERLINE}\]⏳XX secs.$PS_RESET " 375 | PS_CLOCK="\[${REVERSE}${ITALIC}\]⌚\D{%H:%M:%S} $PS_RESET" 376 | PS_PATH="\[${BOLD}${REVERSE}\]📂\[${ITALIC}\]\w/$PS_RESET" 377 | PS_GIT='$( __git_ps1 '\\[${REVERSE}\\]【🌵%s】$RESET' )' 378 | 379 | PS0="\[$( tput sitm )\]Running command:$PS_RESET ⌛$( command date '+%T' )\n" 380 | PS1=$"${PS_EXIT}${PS_CHEVRON}${PS_TIME}${PS_JOBS}${PS_CLOCK}${PS_PATH}${PS_GIT}\\[${REVERSE}\\]${PS_PROMPT}${PS_RESET}" 381 | PS2='⋯ ➡' # Nested shell levels 382 | PS3='Select:' # Select prompts 383 | PS4='➕ ' # Verbose prompt tracing 384 | 385 | # }}} 386 | 387 | #========================================================================== 388 | # {{{ FUNCTIONS 389 | # - https://tldp.org/LDP/abs/html/functions.html 390 | # - https://cuddly-octo-palm-tree.com/posts/2021-10-31-better-bash-functions 391 | #========================================================================= 392 | function prompts () { 393 | for (( i = 1 ; i <= SHLVL ; i++ )); do 394 | # Using \$ (Backslash Dollar Sign) will convert to '#' in root mode 395 | printf '💲' 396 | done 397 | } ; export -f prompts 398 | 399 | # ------------------------------------------------------------------------- 400 | # https://baeldung.com/linux/status-codes 401 | function exitstatus () { 402 | local -r status=$? 403 | 404 | [[ $status == 0 ]] && \ 405 | echo " ✅ $status " 406 | [[ ${status} != 0 ]] && \ 407 | echo " ❌ $status " 408 | } ; export -f exitstatus 409 | 410 | # }}} 411 | 412 | # ------------------------------------------------------------------------- 413 | echo 'devPunks😈studio .bashrc' ; echo 414 | 415 | # vim: foldmethod=marker 416 | -------------------------------------------------------------------------------- /.config/weechat/weechat.conf: -------------------------------------------------------------------------------- 1 | # 2 | # weechat -- weechat.conf 3 | # 4 | # WARNING: It is NOT recommended to edit this file by hand, 5 | # especially if WeeChat is running. 6 | # 7 | # Use commands like /set or /fset to change settings in WeeChat. 8 | # 9 | # For more info, see: https://weechat.org/doc/weechat/quickstart/ 10 | # 11 | 12 | config_version = 2 13 | 14 | [debug] 15 | 16 | [startup] 17 | command_after_plugins = "" 18 | command_before_plugins = "" 19 | display_logo = on 20 | display_version = on 21 | sys_rlimit = "" 22 | 23 | [look] 24 | align_end_of_lines = message 25 | align_multiline_words = on 26 | bar_more_down = "++" 27 | bar_more_left = "<<" 28 | bar_more_right = ">>" 29 | bar_more_up = "--" 30 | bare_display_exit_on_input = on 31 | bare_display_time_format = "%H:%M" 32 | buffer_auto_renumber = on 33 | buffer_notify_default = all 34 | buffer_position = end 35 | buffer_search_case_sensitive = off 36 | buffer_search_force_default = off 37 | buffer_search_history = local 38 | buffer_search_regex = off 39 | buffer_search_where = prefix_message 40 | buffer_time_format = "%H:%M:%S" 41 | buffer_time_same = "" 42 | chat_space_right = off 43 | color_basic_force_bold = off 44 | color_inactive_buffer = on 45 | color_inactive_message = on 46 | color_inactive_prefix = on 47 | color_inactive_prefix_buffer = on 48 | color_inactive_time = on 49 | color_inactive_window = on 50 | color_nick_offline = off 51 | color_pairs_auto_reset = 5 52 | color_real_white = off 53 | command_chars = "" 54 | command_incomplete = off 55 | confirm_quit = off 56 | confirm_upgrade = off 57 | day_change = on 58 | day_change_message_1date = "-- %a, %d %b %Y --" 59 | day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --" 60 | eat_newline_glitch = off 61 | emphasized_attributes = "" 62 | highlight = "" 63 | highlight_disable_regex = "" 64 | highlight_regex = "" 65 | highlight_tags = "" 66 | hotlist_add_conditions = "${away} || ${buffer.num_displayed} == 0 || ${info:relay_client_count,weechat,connected} > 0" 67 | hotlist_buffer_separator = ", " 68 | hotlist_count_max = 2 69 | hotlist_count_min_msg = 2 70 | hotlist_names_count = 3 71 | hotlist_names_length = 0 72 | hotlist_names_level = 12 73 | hotlist_names_merged_buffers = off 74 | hotlist_prefix = "H: " 75 | hotlist_remove = merged 76 | hotlist_short_names = on 77 | hotlist_sort = group_time_asc 78 | hotlist_suffix = "" 79 | hotlist_unique_numbers = on 80 | hotlist_update_on_buffer_switch = on 81 | input_cursor_scroll = 20 82 | input_multiline_lead_linebreak = on 83 | input_share = none 84 | input_share_overwrite = off 85 | input_undo_max = 32 86 | item_away_message = on 87 | item_buffer_filter = "*" 88 | item_buffer_zoom = "!" 89 | item_mouse_status = "M" 90 | item_time_format = "%H:%M" 91 | jump_current_to_previous_buffer = on 92 | jump_previous_buffer_when_closing = on 93 | jump_smart_back_to_buffer = on 94 | key_bind_safe = on 95 | key_grab_delay = 800 96 | mouse = on 97 | mouse_timer_delay = 100 98 | nick_color_force = "" 99 | nick_color_hash = djb2 100 | nick_color_hash_salt = "" 101 | nick_color_stop_chars = "_|[" 102 | nick_prefix = "" 103 | nick_suffix = "" 104 | paste_bracketed = on 105 | paste_bracketed_timer_delay = 10 106 | paste_max_lines = 100 107 | prefix_action = " *" 108 | prefix_align = right 109 | prefix_align_max = 0 110 | prefix_align_min = 0 111 | prefix_align_more = "+" 112 | prefix_align_more_after = on 113 | prefix_buffer_align = right 114 | prefix_buffer_align_max = 0 115 | prefix_buffer_align_more = "+" 116 | prefix_buffer_align_more_after = on 117 | prefix_error = "=!=" 118 | prefix_join = "-->" 119 | prefix_network = "--" 120 | prefix_quit = "<--" 121 | prefix_same_nick = "" 122 | prefix_same_nick_middle = "" 123 | prefix_suffix = "│" 124 | quote_nick_prefix = "<" 125 | quote_nick_suffix = ">" 126 | quote_time_format = "%H:%M:%S" 127 | read_marker = line 128 | read_marker_always_show = off 129 | read_marker_string = "- " 130 | read_marker_update_on_buffer_switch = on 131 | save_config_on_exit = on 132 | save_config_with_fsync = off 133 | save_layout_on_exit = none 134 | scroll_amount = 3 135 | scroll_bottom_after_switch = off 136 | scroll_page_percent = 100 137 | search_text_not_found_alert = on 138 | separator_horizontal = "-" 139 | separator_vertical = "" 140 | tab_width = 1 141 | time_format = "%a, %d %b %Y %T" 142 | window_auto_zoom = off 143 | window_separator_horizontal = on 144 | window_separator_vertical = on 145 | window_title = "" 146 | word_chars_highlight = "!\u00A0,-,_,|,alnum" 147 | word_chars_input = "!\u00A0,-,_,|,alnum" 148 | 149 | [palette] 150 | 151 | [color] 152 | bar_more = lightmagenta 153 | chat = default 154 | chat_bg = default 155 | chat_buffer = white 156 | chat_channel = white 157 | chat_day_change = cyan 158 | chat_delimiters = 22 159 | chat_highlight = yellow 160 | chat_highlight_bg = 124 161 | chat_host = cyan 162 | chat_inactive_buffer = default 163 | chat_inactive_window = 240 164 | chat_nick = lightcyan 165 | chat_nick_colors = "cyan,magenta,green,brown,lightblue,lightcyan,lightmagenta,lightgreen,31,35,38,40,49,63,70,80,92,99,112,126,130,138,142,148,160,162,167,169,174,176,178,184,186,210,212,215,248" 166 | chat_nick_offline = 242 167 | chat_nick_offline_highlight = default 168 | chat_nick_offline_highlight_bg = 17 169 | chat_nick_other = cyan 170 | chat_nick_prefix = green 171 | chat_nick_self = white 172 | chat_nick_suffix = green 173 | chat_prefix_action = white 174 | chat_prefix_buffer = 180 175 | chat_prefix_buffer_inactive_buffer = default 176 | chat_prefix_error = yellow 177 | chat_prefix_join = lightgreen 178 | chat_prefix_more = lightmagenta 179 | chat_prefix_network = magenta 180 | chat_prefix_quit = lightred 181 | chat_prefix_suffix = 24 182 | chat_read_marker = magenta 183 | chat_read_marker_bg = default 184 | chat_server = brown 185 | chat_status_disabled = red 186 | chat_status_enabled = green 187 | chat_tags = red 188 | chat_text_found = yellow 189 | chat_text_found_bg = lightmagenta 190 | chat_time = default 191 | chat_time_delimiters = brown 192 | chat_value = cyan 193 | chat_value_null = blue 194 | emphasized = yellow 195 | emphasized_bg = 54 196 | eval_syntax_colors = "green,lightred,lightblue,lightmagenta,yellow,cyan" 197 | input_actions = lightgreen 198 | input_text_not_found = red 199 | item_away = yellow 200 | nicklist_away = 240 201 | nicklist_group = green 202 | separator = 236 203 | status_count_highlight = magenta 204 | status_count_msg = brown 205 | status_count_other = default 206 | status_count_private = green 207 | status_data_highlight = lightmagenta 208 | status_data_msg = yellow 209 | status_data_other = default 210 | status_data_private = lightgreen 211 | status_filter = green 212 | status_more = yellow 213 | status_mouse = lightgreen 214 | status_name = white 215 | status_name_insecure = lightmagenta 216 | status_name_tls = white 217 | status_nicklist_count = default 218 | status_number = yellow 219 | status_time = default 220 | 221 | [completion] 222 | base_word_until_cursor = on 223 | command_inline = on 224 | default_template = "%(nicks)|%(irc_channels)" 225 | nick_add_space = on 226 | nick_case_sensitive = off 227 | nick_completer = ": " 228 | nick_first_only = off 229 | nick_ignore_chars = "[]`_-^" 230 | partial_completion_alert = on 231 | partial_completion_command = off 232 | partial_completion_command_arg = off 233 | partial_completion_count = on 234 | partial_completion_other = off 235 | partial_completion_templates = "config_options" 236 | 237 | [history] 238 | display_default = 5 239 | max_buffer_lines_minutes = 0 240 | max_buffer_lines_number = 4096 241 | max_commands = 100 242 | max_visited_buffers = 50 243 | 244 | [proxy] 245 | 246 | [network] 247 | connection_timeout = 60 248 | gnutls_ca_system = on 249 | gnutls_ca_user = "" 250 | gnutls_handshake_timeout = 30 251 | proxy_curl = "" 252 | 253 | [plugin] 254 | autoload = "*" 255 | extension = ".so,.dll" 256 | path = "${weechat_data_dir}/plugins" 257 | save_config_on_unload = on 258 | 259 | [signal] 260 | sighup = "${if:${info:weechat_headless}?/reload:/quit -yes}" 261 | sigquit = "/quit -yes" 262 | sigterm = "/quit -yes" 263 | sigusr1 = "" 264 | sigusr2 = "" 265 | 266 | [bar] 267 | buflist.color_bg = default 268 | buflist.color_bg_inactive = default 269 | buflist.color_delim = default 270 | buflist.color_fg = default 271 | buflist.conditions = "" 272 | buflist.filling_left_right = vertical 273 | buflist.filling_top_bottom = columns_vertical 274 | buflist.hidden = off 275 | buflist.items = "buflist" 276 | buflist.position = left 277 | buflist.priority = 0 278 | buflist.separator = on 279 | buflist.size = 0 280 | buflist.size_max = 0 281 | buflist.type = root 282 | fset.color_bg = default 283 | fset.color_bg_inactive = default 284 | fset.color_delim = cyan 285 | fset.color_fg = default 286 | fset.conditions = "${buffer.full_name} == fset.fset" 287 | fset.filling_left_right = vertical 288 | fset.filling_top_bottom = horizontal 289 | fset.hidden = off 290 | fset.items = "fset" 291 | fset.position = top 292 | fset.priority = 0 293 | fset.separator = on 294 | fset.size = 3 295 | fset.size_max = 3 296 | fset.type = window 297 | input.color_bg = default 298 | input.color_bg_inactive = default 299 | input.color_delim = cyan 300 | input.color_fg = default 301 | input.conditions = "" 302 | input.filling_left_right = vertical 303 | input.filling_top_bottom = horizontal 304 | input.hidden = off 305 | input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text" 306 | input.position = bottom 307 | input.priority = 1000 308 | input.separator = off 309 | input.size = 0 310 | input.size_max = 0 311 | input.type = window 312 | nicklist.color_bg = default 313 | nicklist.color_bg_inactive = default 314 | nicklist.color_delim = cyan 315 | nicklist.color_fg = default 316 | nicklist.conditions = "${nicklist}" 317 | nicklist.filling_left_right = vertical 318 | nicklist.filling_top_bottom = columns_vertical 319 | nicklist.hidden = off 320 | nicklist.items = "buffer_nicklist" 321 | nicklist.position = right 322 | nicklist.priority = 200 323 | nicklist.separator = on 324 | nicklist.size = 0 325 | nicklist.size_max = 0 326 | nicklist.type = window 327 | status.color_bg = 234 328 | status.color_bg_inactive = 232 329 | status.color_delim = cyan 330 | status.color_fg = default 331 | status.conditions = "" 332 | status.filling_left_right = vertical 333 | status.filling_top_bottom = horizontal 334 | status.hidden = off 335 | status.items = "[time],[buffer_last_number],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,mouse_status,scroll,[lag],[hotlist],[typing],completion" 336 | status.position = bottom 337 | status.priority = 500 338 | status.separator = off 339 | status.size = 1 340 | status.size_max = 0 341 | status.type = window 342 | title.color_bg = 234 343 | title.color_bg_inactive = 232 344 | title.color_delim = cyan 345 | title.color_fg = default 346 | title.conditions = "" 347 | title.filling_left_right = vertical 348 | title.filling_top_bottom = horizontal 349 | title.hidden = off 350 | title.items = "buffer_title" 351 | title.position = top 352 | title.priority = 500 353 | title.separator = off 354 | title.size = 1 355 | title.size_max = 0 356 | title.type = window 357 | 358 | [custom_bar_item] 359 | 360 | [layout] 361 | 362 | [buffer] 363 | 364 | [notify] 365 | 366 | [filter] 367 | 368 | [key] 369 | backspace = "/input delete_previous_char" 370 | ctrl-_ = "/input undo" 371 | ctrl-a = "/input move_beginning_of_line" 372 | ctrl-b = "/input move_previous_char" 373 | ctrl-c,_ = "/input insert \x1F" 374 | ctrl-c,b = "/input insert \x02" 375 | ctrl-c,c = "/input insert \x03" 376 | ctrl-c,d = "/input insert \x04" 377 | ctrl-c,i = "/input insert \x1D" 378 | ctrl-c,o = "/input insert \x0F" 379 | ctrl-c,v = "/input insert \x16" 380 | ctrl-d = "/input delete_next_char" 381 | ctrl-down = "/input history_global_next" 382 | ctrl-e = "/input move_end_of_line" 383 | ctrl-f = "/input move_next_char" 384 | ctrl-f1 = "/bar scroll buflist * -100%" 385 | ctrl-f11 = "/bar scroll nicklist * -100%" 386 | ctrl-f12 = "/bar scroll nicklist * +100%" 387 | ctrl-f2 = "/bar scroll buflist * +100%" 388 | ctrl-k = "/input delete_end_of_line" 389 | ctrl-l = "/window refresh" 390 | ctrl-left = "/input move_previous_word" 391 | ctrl-n = "/buffer +1" 392 | ctrl-o = "/input history_use_get_next" 393 | ctrl-p = "/buffer -1" 394 | ctrl-r = "/input search_history" 395 | ctrl-right = "/input move_next_word" 396 | ctrl-s = "/input search_text_here" 397 | ctrl-t = "/input transpose_chars" 398 | ctrl-u = "/input delete_beginning_of_line" 399 | ctrl-up = "/input history_global_previous" 400 | ctrl-w = "/input delete_previous_word_whitespace" 401 | ctrl-x = "/buffer switch" 402 | ctrl-y = "/input clipboard_paste" 403 | ctrl-z = "/sys suspend" 404 | delete = "/input delete_next_char" 405 | down = "/input history_next" 406 | end = "/input move_end_of_line" 407 | f1 = "/bar scroll buflist * -100%" 408 | f10 = "/bar scroll title * +30%" 409 | f11 = "/bar scroll nicklist * -100%" 410 | f12 = "/bar scroll nicklist * +100%" 411 | f2 = "/bar scroll buflist * +100%" 412 | f5 = "/buffer -1" 413 | f6 = "/buffer +1" 414 | f7 = "/window -1" 415 | f8 = "/window +1" 416 | f9 = "/bar scroll title * -30%" 417 | home = "/input move_beginning_of_line" 418 | left = "/input move_previous_char" 419 | meta-- = "/filter toggle @" 420 | meta-/ = "/buffer jump last_displayed" 421 | meta-0 = "/buffer *10" 422 | meta-1 = "/buffer *1" 423 | meta-2 = "/buffer *2" 424 | meta-3 = "/buffer *3" 425 | meta-4 = "/buffer *4" 426 | meta-5 = "/buffer *5" 427 | meta-6 = "/buffer *6" 428 | meta-7 = "/buffer *7" 429 | meta-8 = "/buffer *8" 430 | meta-9 = "/buffer *9" 431 | meta-< = "/buffer jump prev_visited" 432 | meta-= = "/filter toggle" 433 | meta-> = "/buffer jump next_visited" 434 | meta-B = "/buflist toggle" 435 | meta-N = "/bar toggle nicklist" 436 | meta-R = "/input delete_input" 437 | meta-U = "/allbuf /buffer set unread" 438 | meta-_ = "/input redo" 439 | meta-a = "/buffer jump smart" 440 | meta-b = "/input move_previous_word" 441 | meta-backspace = "/input delete_previous_word" 442 | meta-ctrl-k = "/input delete_end_of_input" 443 | meta-ctrl-u = "/input delete_beginning_of_input" 444 | meta-d = "/input delete_next_word" 445 | meta-down = "/buffer +1" 446 | meta-end = "/window scroll_bottom" 447 | meta-f = "/input move_next_word" 448 | meta-f1 = "/bar scroll buflist * b" 449 | meta-f11 = "/bar scroll nicklist * b" 450 | meta-f12 = "/bar scroll nicklist * e" 451 | meta-f2 = "/bar scroll buflist * e" 452 | meta-h,meta-R = "/hotlist restore -all" 453 | meta-h,meta-c = "/hotlist clear" 454 | meta-h,meta-m = "/hotlist remove" 455 | meta-h,meta-r = "/hotlist restore" 456 | meta-home = "/window scroll_top" 457 | meta-j,0,1 = "/buffer *1" 458 | meta-j,0,2 = "/buffer *2" 459 | meta-j,0,3 = "/buffer *3" 460 | meta-j,0,4 = "/buffer *4" 461 | meta-j,0,5 = "/buffer *5" 462 | meta-j,0,6 = "/buffer *6" 463 | meta-j,0,7 = "/buffer *7" 464 | meta-j,0,8 = "/buffer *8" 465 | meta-j,0,9 = "/buffer *9" 466 | meta-j,1,0 = "/buffer *10" 467 | meta-j,1,1 = "/buffer *11" 468 | meta-j,1,2 = "/buffer *12" 469 | meta-j,1,3 = "/buffer *13" 470 | meta-j,1,4 = "/buffer *14" 471 | meta-j,1,5 = "/buffer *15" 472 | meta-j,1,6 = "/buffer *16" 473 | meta-j,1,7 = "/buffer *17" 474 | meta-j,1,8 = "/buffer *18" 475 | meta-j,1,9 = "/buffer *19" 476 | meta-j,2,0 = "/buffer *20" 477 | meta-j,2,1 = "/buffer *21" 478 | meta-j,2,2 = "/buffer *22" 479 | meta-j,2,3 = "/buffer *23" 480 | meta-j,2,4 = "/buffer *24" 481 | meta-j,2,5 = "/buffer *25" 482 | meta-j,2,6 = "/buffer *26" 483 | meta-j,2,7 = "/buffer *27" 484 | meta-j,2,8 = "/buffer *28" 485 | meta-j,2,9 = "/buffer *29" 486 | meta-j,3,0 = "/buffer *30" 487 | meta-j,3,1 = "/buffer *31" 488 | meta-j,3,2 = "/buffer *32" 489 | meta-j,3,3 = "/buffer *33" 490 | meta-j,3,4 = "/buffer *34" 491 | meta-j,3,5 = "/buffer *35" 492 | meta-j,3,6 = "/buffer *36" 493 | meta-j,3,7 = "/buffer *37" 494 | meta-j,3,8 = "/buffer *38" 495 | meta-j,3,9 = "/buffer *39" 496 | meta-j,4,0 = "/buffer *40" 497 | meta-j,4,1 = "/buffer *41" 498 | meta-j,4,2 = "/buffer *42" 499 | meta-j,4,3 = "/buffer *43" 500 | meta-j,4,4 = "/buffer *44" 501 | meta-j,4,5 = "/buffer *45" 502 | meta-j,4,6 = "/buffer *46" 503 | meta-j,4,7 = "/buffer *47" 504 | meta-j,4,8 = "/buffer *48" 505 | meta-j,4,9 = "/buffer *49" 506 | meta-j,5,0 = "/buffer *50" 507 | meta-j,5,1 = "/buffer *51" 508 | meta-j,5,2 = "/buffer *52" 509 | meta-j,5,3 = "/buffer *53" 510 | meta-j,5,4 = "/buffer *54" 511 | meta-j,5,5 = "/buffer *55" 512 | meta-j,5,6 = "/buffer *56" 513 | meta-j,5,7 = "/buffer *57" 514 | meta-j,5,8 = "/buffer *58" 515 | meta-j,5,9 = "/buffer *59" 516 | meta-j,6,0 = "/buffer *60" 517 | meta-j,6,1 = "/buffer *61" 518 | meta-j,6,2 = "/buffer *62" 519 | meta-j,6,3 = "/buffer *63" 520 | meta-j,6,4 = "/buffer *64" 521 | meta-j,6,5 = "/buffer *65" 522 | meta-j,6,6 = "/buffer *66" 523 | meta-j,6,7 = "/buffer *67" 524 | meta-j,6,8 = "/buffer *68" 525 | meta-j,6,9 = "/buffer *69" 526 | meta-j,7,0 = "/buffer *70" 527 | meta-j,7,1 = "/buffer *71" 528 | meta-j,7,2 = "/buffer *72" 529 | meta-j,7,3 = "/buffer *73" 530 | meta-j,7,4 = "/buffer *74" 531 | meta-j,7,5 = "/buffer *75" 532 | meta-j,7,6 = "/buffer *76" 533 | meta-j,7,7 = "/buffer *77" 534 | meta-j,7,8 = "/buffer *78" 535 | meta-j,7,9 = "/buffer *79" 536 | meta-j,8,0 = "/buffer *80" 537 | meta-j,8,1 = "/buffer *81" 538 | meta-j,8,2 = "/buffer *82" 539 | meta-j,8,3 = "/buffer *83" 540 | meta-j,8,4 = "/buffer *84" 541 | meta-j,8,5 = "/buffer *85" 542 | meta-j,8,6 = "/buffer *86" 543 | meta-j,8,7 = "/buffer *87" 544 | meta-j,8,8 = "/buffer *88" 545 | meta-j,8,9 = "/buffer *89" 546 | meta-j,9,0 = "/buffer *90" 547 | meta-j,9,1 = "/buffer *91" 548 | meta-j,9,2 = "/buffer *92" 549 | meta-j,9,3 = "/buffer *93" 550 | meta-j,9,4 = "/buffer *94" 551 | meta-j,9,5 = "/buffer *95" 552 | meta-j,9,6 = "/buffer *96" 553 | meta-j,9,7 = "/buffer *97" 554 | meta-j,9,8 = "/buffer *98" 555 | meta-j,9,9 = "/buffer *99" 556 | meta-j,meta-f = "/buffer -" 557 | meta-j,meta-l = "/buffer +" 558 | meta-j,meta-r = "/server raw" 559 | meta-j,meta-s = "/server jump" 560 | meta-k = "/input grab_key_command" 561 | meta-l = "/window bare" 562 | meta-left = "/buffer -1" 563 | meta-m = "/mute mouse toggle" 564 | meta-n = "/window scroll_next_highlight" 565 | meta-p = "/window scroll_previous_highlight" 566 | meta-pgdn = "/window scroll_down" 567 | meta-pgup = "/window scroll_up" 568 | meta-r = "/input delete_line" 569 | meta-return = "/input insert \n" 570 | meta-right = "/buffer +1" 571 | meta-s = "/mute spell toggle" 572 | meta-u = "/window scroll_unread" 573 | meta-up = "/buffer -1" 574 | meta-w,meta-b = "/window balance" 575 | meta-w,meta-down = "/window down" 576 | meta-w,meta-left = "/window left" 577 | meta-w,meta-right = "/window right" 578 | meta-w,meta-s = "/window swap" 579 | meta-w,meta-up = "/window up" 580 | meta-x = "/buffer zoom" 581 | meta-z = "/window zoom" 582 | pgdn = "/window page_down" 583 | pgup = "/window page_up" 584 | return = "/input return" 585 | right = "/input move_next_char" 586 | shift-down = "/input move_next_line" 587 | shift-end = "/input move_end_of_input" 588 | shift-home = "/input move_beginning_of_input" 589 | shift-left = "/input move_previous_char" 590 | shift-right = "/input move_next_char" 591 | shift-tab = "/input complete_previous" 592 | shift-up = "/input move_previous_line" 593 | tab = "/input complete_next" 594 | up = "/input history_previous" 595 | 596 | [key_search] 597 | ctrl-q = "/input search_stop" 598 | ctrl-r = "/input search_previous" 599 | ctrl-s = "/input search_next" 600 | ctrl-x = "/input search_switch_regex" 601 | down = "/input search_next" 602 | meta-c = "/input search_switch_case" 603 | return = "/input search_stop_here" 604 | tab = "/input search_switch_where" 605 | up = "/input search_previous" 606 | 607 | [key_histsearch] 608 | ctrl-o = "/input history_use_get_next" 609 | ctrl-q = "/input search_stop" 610 | ctrl-r = "/input search_previous" 611 | ctrl-s = "/input search_next" 612 | ctrl-x = "/input search_switch_regex" 613 | down = "/input search_next" 614 | meta-c = "/input search_switch_case" 615 | return = "/input search_stop_here" 616 | tab = "/input search_switch_where" 617 | up = "/input search_previous" 618 | 619 | [key_cursor] 620 | @chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop" 621 | @chat:l = "hsignal:chat_quote_focused_line;/cursor stop" 622 | @chat:m = "hsignal:chat_quote_message;/cursor stop" 623 | @chat:q = "hsignal:chat_quote_prefix_message;/cursor stop" 624 | @item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}" 625 | @item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}" 626 | @item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}" 627 | @item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop" 628 | @item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}" 629 | down = "/cursor move down" 630 | left = "/cursor move left" 631 | meta-down = "/cursor move edge_bottom" 632 | meta-end = "/cursor move bottom_right" 633 | meta-home = "/cursor move top_left" 634 | meta-left = "/cursor move edge_left" 635 | meta-right = "/cursor move edge_right" 636 | meta-shift-down = "/cursor move area_down" 637 | meta-shift-left = "/cursor move area_left" 638 | meta-shift-right = "/cursor move area_right" 639 | meta-shift-up = "/cursor move area_up" 640 | meta-up = "/cursor move edge_top" 641 | return = "/cursor stop" 642 | right = "/cursor move right" 643 | up = "/cursor move up" 644 | 645 | [key_mouse] 646 | @*:button3 = "/cursor go ${_x},${_y}" 647 | @bar(buflist):ctrl-wheeldown = "hsignal:buflist_mouse" 648 | @bar(buflist):ctrl-wheelup = "hsignal:buflist_mouse" 649 | @bar(input):button2 = "/input grab_mouse_area" 650 | @bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%" 651 | @bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e" 652 | @bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%" 653 | @bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b" 654 | @bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%" 655 | @bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%" 656 | @chat(fset.fset):button1 = "/window ${_window_number};/fset -go ${fset_option_index}" 657 | @chat(fset.fset):button2* = "hsignal:fset_mouse" 658 | @chat(fset.fset):wheeldown = "/fset -down 5" 659 | @chat(fset.fset):wheelup = "/fset -up 5" 660 | @chat(irc.list_*):button1 = "/window ${_window_number};/list -go ${_chat_line_y}" 661 | @chat(irc.list_*):button2* = "hsignal:irc_list_mouse" 662 | @chat(irc.list_*):wheeldown = "/list -down 5" 663 | @chat(irc.list_*):wheelup = "/list -up 5" 664 | @chat(script.scripts):button1 = "/window ${_window_number};/script -go ${_chat_line_y}" 665 | @chat(script.scripts):button2 = "/window ${_window_number};/script -go ${_chat_line_y};/script installremove -q ${script_name_with_extension}" 666 | @chat(script.scripts):wheeldown = "/script -down 5" 667 | @chat(script.scripts):wheelup = "/script -up 5" 668 | @chat:button1 = "/window ${_window_number}" 669 | @chat:button1-gesture-left = "/window ${_window_number};/buffer -1" 670 | @chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1" 671 | @chat:button1-gesture-right = "/window ${_window_number};/buffer +1" 672 | @chat:button1-gesture-right-long = "/window ${_window_number};/buffer +" 673 | @chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%" 674 | @chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%" 675 | @chat:wheeldown = "/window scroll_down -window ${_window_number}" 676 | @chat:wheelup = "/window scroll_up -window ${_window_number}" 677 | @item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}" 678 | @item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}" 679 | @item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}" 680 | @item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}" 681 | @item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}" 682 | @item(buflist):button1* = "hsignal:buflist_mouse" 683 | @item(buflist):button2* = "hsignal:buflist_mouse" 684 | @item(buflist2):button1* = "hsignal:buflist_mouse" 685 | @item(buflist2):button2* = "hsignal:buflist_mouse" 686 | @item(buflist3):button1* = "hsignal:buflist_mouse" 687 | @item(buflist3):button2* = "hsignal:buflist_mouse" 688 | @item(buflist4):button1* = "hsignal:buflist_mouse" 689 | @item(buflist4):button2* = "hsignal:buflist_mouse" 690 | @item(buflist5):button1* = "hsignal:buflist_mouse" 691 | @item(buflist5):button2* = "hsignal:buflist_mouse" 692 | --------------------------------------------------------------------------------