diff --git a/docs/TODO.md b/docs/TODO.md index 345fce21..dd79495e 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -1,4 +1,6 @@ -sysbench rhino platformio emscripten mkvtoolnix ncftp gauge foremost autogen duti multitail testdisk ccat qrencode autoconf-archive tomcat filebeat godep arping lua git-credential-manager rbenv-default-gems source-highlight theora shtool giter8 ipmitool saltstack squid ettercap pidcat calc mongodb wdiff dialog john reaver oath-toolkit xhyve elm icdiff polipo fcrackzip ddrescue pngcrush gitlab-ci-multi-runner tcl-tk flac elinks stunnel caddy tcpreplay fping zenity terragrunt dbus pigz grpc diffutils hping fdupes sonarqube fabric links pinentry augeas haproxy autossh binwalk unzip cabal-install cscope sonar-scanner wakeonlan tmate sshuttle solr tcptraceroute pinentry-mac swiftformat uncrustify hashcat handbrake iproute2mac 2fsprogs hydra you-get cabextract neofetch trash sphinx-doc iftop htop-osx dockutil xctool aspell w3m grc screenfetch moreutils apktool brew-cask-completion openconnect media-info lftp unison logstash pstree rpm opam peco netcat iperf3 libav gifsicle iperf colordiff lmdb mcrypt httprack aircrack-ng ntfs-3g glide bower glog parallel cloc mitmproxy bison rename kubernetes-helm gdbm mobile-shell geckodriver socat pv sdl swig pcre winetricks doxygen mtr graphicsmagick dos2unix highlight putty llvm bazel flow watch hugo sqlite gdb ant mariadb mercurial nmap pidof autoconf maven readline libtool automake chromedriver pkg-config coreutils + + +xattr -d com.apple.quarantine rclone # TODOs diff --git a/home/.chezmoidata.yaml b/home/.chezmoidata.yaml index 9675eff7..574fc6bc 100644 --- a/home/.chezmoidata.yaml +++ b/home/.chezmoidata.yaml @@ -329,8 +329,10 @@ softwareGroups: - cod - desed - difftastic + - duti - emplace - emoj + - fdupes - fig - filebrowser - fm @@ -354,10 +356,12 @@ softwareGroups: - marp - mods - mycli + - neofetch - nomino - normit - pastel - peco + - pidcat - pgcli - pywhat - resume @@ -408,6 +412,7 @@ softwareGroups: - s5cmd Compression: &Compression - p7zip + - pigz Communication: &Communication - irssi Communication-Desktop: &Communication-Desktop @@ -640,6 +645,7 @@ softwareGroups: - ruff - shellcheck - shfmt + - swiftformat - tflint - tfsec - tokei @@ -736,6 +742,7 @@ softwareGroups: - astronvim - automake - bazelisk + - binwalk - bfg - bundler - carthage @@ -753,16 +760,19 @@ softwareGroups: - libimobiledevice - license - lightproxy + - lua - mono - ntl - nugetpackageexplorer - openjdk + - platformio - please - porter - rust - snapcraft - solidity - swimat + - tomcat - upx - windows-adk - windows-admin-center @@ -846,6 +856,7 @@ softwareGroups: SSH: &SSH - assh - endlessh + - fabric - fail2ban - hss - mosh @@ -873,6 +884,7 @@ softwareGroups: - quark-engine - skate - ssh-vault + - sshuttle - stubby - teller - vault @@ -907,11 +919,13 @@ softwareGroups: - social-analyzer - t Sys-Admin: &Sys-Admin + - arping - ctop - fleetctl - goaccess - gtop - htop + - ipmitool - masscan - pulumi - sysbench diff --git a/home/.chezmoiexternal.toml.tmpl b/home/.chezmoiexternal.toml.tmpl index dfbf4b08..26b89b7c 100644 --- a/home/.chezmoiexternal.toml.tmpl +++ b/home/.chezmoiexternal.toml.tmpl @@ -78,6 +78,12 @@ refreshPeriod = "{{ $refreshPeriod }}" clone.args = ["--depth", "1"] pull.args = ["--ff-only"] +[".local/share/emsdk"] + type = "git-repo" + url = "https://github.com/emscripten-core/emsdk.git" + refreshPeriod = "{{ $refreshPeriod }}" + clone.args = ["--depth", "1"] + pull.args = ["--ff-only"] #[".local/oh-my-bash"] # type = "git-repo" # url = "https://github.com/ohmybash/oh-my-bash.git" diff --git a/home/.chezmoiscripts/universal/run_onchange_after_69-emsdk.sh.tmpl b/home/.chezmoiscripts/universal/run_onchange_after_69-emsdk.sh.tmpl new file mode 100644 index 00000000..25aea208 --- /dev/null +++ b/home/.chezmoiscripts/universal/run_onchange_after_69-emsdk.sh.tmpl @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# @file Emscripten Set-Up +# @brief Ensures the latest version of Emscripten is installed and activated +# @description +# This script installs and activates the latest version of Emscripten. This script +# implements the [instructions outlined on Emscripten's website](https://emscripten.org/docs/getting_started/downloads.html#installation-instructions-using-the-emsdk-recommended). +# +# This script will only run when `${XDG_DATA_HOME:-$HOME/.local/share}/emsdk` is present on the system. This folder +# is populated via the definition in `home/.chezmoiexternal.toml.tmpl`. + +if [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/emsdk" ]; then + cd "${XDG_DATA_HOME:-$HOME/.local/share}/emsdk" + logg info 'Pulling latest changes for Emscripten source code' + git pull && logg success 'Successfully pulled latest Emscripten source code' + ./emsdk install latest && logg success 'Installed latest Emscripten target' + ./emsdk activate latest && logg success 'Activated latest Emscripten target' + logg info 'Profile source inclusions are already implemented in Bash / ZSH profile' +fi diff --git a/home/dot_config/shell/profile.sh.tmpl b/home/dot_config/shell/profile.sh.tmpl index 2e43f85d..555c1af9 100644 --- a/home/dot_config/shell/profile.sh.tmpl +++ b/home/dot_config/shell/profile.sh.tmpl @@ -119,6 +119,11 @@ fi # . "$HOME/.local/scripts/docker-functions.bash" # fi +### emsdk +if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/emsdk/emsdk_env.sh" ]; then + . "${XDG_DATA_HOME:-$HOME/.local/share}/emsdk/emsdk_env.sh" +fi + ### fzf-tmux #if [ -f "$HOME/.local/scripts/fzf-tmux.bash" ]; then # . "$HOME/.local/scripts/fzf-tmux.bash" diff --git a/software.yml b/software.yml index 5a580765..a59bbdaa 100644 --- a/software.yml +++ b/software.yml @@ -1,6 +1,6 @@ --- # eslint-disable eslint-comments/disable-enable-pair, max-len, max-lines, no-warning-comments - +# rhino mkvtoolnix testdisk ccat git-credential-manager source-highlight giter8 saltstack squid ettercap calc mongodb wdiff dialog john reaver oath-toolkit xhyve elm icdiff ddrescue gitlab-ci-multi-runner tcl-tk flac zenity terragrunt dbus grpc diffutils sonarqube haproxy cabal-install sonar-scanner wakeonlan tmate solr tcptraceroute hashcat handbrake iproute2mac 2fsprogs hydra you-get cabextract trash sphinx-doc iftop htop-osx dockutil xctool aspell w3m grc screenfetch moreutils brew-cask-completion openconnect media-info lftp unison logstash pstree rpm opam iperf3 libav gifsicle iperf colordiff lmdb mcrypt httprack aircrack-ng ntfs-3g glide glog parallel bison rename kubernetes-helm gdbm mobile-shell geckodriver pv sdl swig winetricks doxygen mtr graphicsmagick dos2unix highlight putty llvm flow watch gdb ant mariadb mercurial pidof autoconf maven readline libtool chromedriver pkg-config # `softwarePackages` is a map of possible package managers to use while installing a program. The installer will # look at the `installerPreference` variable and find the first package manager that is in the package's possible # installation method and then use that. It is also sensitive to the type of operating system so a package with @@ -266,6 +266,12 @@ softwarePackages: pinapp: _bin: pinapp flatpak: io.github.fabrialberio.pinapp + fabric: + _bin: fabric + _github: https://github.com/fabric/fabric + _name: Fabric + brew: fabric + pipx: fabric drawing: _bin: drawing flatpak: com.github.maoschanz.drawing @@ -407,6 +413,15 @@ softwarePackages: _name: Multi-Gitter brew: lindell/multi-gitter/multi-gitter go: github.com/lindell/multi-gitter@latest + tomcat: + _bin: tomcat + _github: https://github.com/apache/tomcat + _name: Tomcat + apt: tomcat + brew: tomcat + choco: tomcat + dnf: tomcat + pacman: tomcat allure: _bin: allure _desc: '[Allure Report](https://docs.qameta.io/allure-testops/) is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process.' @@ -442,6 +457,15 @@ softwarePackages: choco: altair-graphql snap: altair yay: altair + binwalk: + _bin: binwalk + _github: https://github.com/ReFirmLabs/binwalk + _name: Binwalk + apt: binwalk + brew: binwalk + choco: binwalk + dnf: binwalk + pacman: binwalk ansifilter: _bin: ansifilter _desc: null @@ -485,6 +509,11 @@ softwarePackages: _name: iSort brew: isort pipx: isort + pidcat: + _bin: pidcat + _github: https://github.com/JakeWharton/pidcat + _name: PidCat + brew: pidcat openjdk: _bin: javac _desc: Latest version of the OpenJDK (Java Development Kit) @@ -530,6 +559,11 @@ softwarePackages: _home: https://github.com/ansible/ansible-lint/ _name: Ansible Lint pipx: ansible-lint + duti: + _bin: duti + _github: https://github.com/moretension/duti + _name: Duti + brew:darwin: duti ansibleconnect: _bin: ansibleconnect _deps: @@ -559,6 +593,28 @@ softwarePackages: https://www.clamav.net/ https://www.malwarebytes.com/ _name: AntiVirus ansible: professormanhattan.antivirus + swiftformat: + _bin: swiftformat + _github: https://github.com/nicklockwood/SwiftFormat + _name: SwiftFormat + brew: swiftformat + fdupes: + _bin: fdupes + _github: https://github.com/adrianlopezroche/fdupes + _name: fdupes + apt: fdupes + brew: fdupes + dnf: fdupes + pacman: fdupes + arping: + _bin: arping + _github: https://github.com/ThomasHabets/arping + _name: ARPing + apt: arping + brew: arping + dnf: arping + choco: arping + pacman: arping sysz: _deps: - fzf @@ -598,6 +654,14 @@ softwarePackages: _name: AptCacherNG ansible: professormanhattan.aptcacherng _systemd: apt-cacher-ng + pigz: + _bin: pigz + _github: https://github.com/madler/pigz + _name: PIGZ + apt: pigz + brew: pigz + dnf: pigz + pacman: pigz http-toolkit: _github: https://github.com/httptoolkit/httptoolkit _name: HTTP Toolkit @@ -616,6 +680,20 @@ softwarePackages: _github: https://github.com/mozilla/web-ext _name: Web Extension CLI by Mozilla npm: web-ext + sshuttle: + _bin: sshuttle + _github: https://github.com/sshuttle/sshuttle + _name: SShuttle + apt: sshuttle + brew: sshuttle + dnf: sshuttle + pacman: sshuttle + zypper: sshuttle + emerge: net-proxy/sshuttle + nix-env: nixos.sshuttle + nix-pkg: nixpkgs.sshuttle + pipx: sshuttle + port: sshuttle dockly: _bin: dockly _github: https://github.com/lirantal/dockly @@ -659,6 +737,14 @@ softwarePackages: _name: LXD UI _post: lxd init && lxc config set core.https_address "[::]:8443" snap: lxd + ipmitool: + _bin: ipmitool + _github: https://github.com/ipmitool/ipmitool + _name: IPMI Tool + apt: ipmitool + brew: ipmitool + dnf: ipmitool + pacman: ipmitool gopass: _bin: gopass _desc: The slightly more awesome standard unix password manager for teams @@ -782,6 +868,30 @@ softwarePackages: _home: https://astronvim.github.io/ _name: AstroNvim _post: nvim --headless -c 'autocmd User PackerComplete quitall' & + platformio: + _bin: platformio + _github: https://github.com/platformio/platformio-core + _name: PlatformIO + brew: platformio + pipx: platformio + lua: + _bin: lua + _github: https://github.com/lua/lua + _name: Lua + apt: lua + brew: lua + choco: lua + dnf: lua + pacman: lua + cloc: + _bin: cloc + _github: https://github.com/AlDanial/cloc + _name: Cloc + apt: cloc + brew: cloc + choco: cloc + dnf: cloc + pacman: cloc typescript-to-lua: _bin: tstl _github: https://github.com/TypeScriptToLua/TypeScriptToLua @@ -6375,6 +6485,22 @@ softwarePackages: _home: https://jsonresume.org/ _name: JSON Resume CLI npm: resume-cli + neofetch: + _bin: neofetch + _github: https://github.com/dylanaraps/neofetch + _name: NeoFetch + apk: neofetch + pkg-termux: neofetch + pacman: neofetch + apt: neofetch + dnf: neofetch + pkg-freebsd: neofetch + brew: neofetch + nix-env: neofetch + eopkg: neofetch + xbps-install: neofetch + zypper: neofetch + scoop: neofetch neovide: _bin: neovide _desc: No Nonsense Neovim Client in Rust @@ -7189,7 +7315,7 @@ softwarePackages: _name: Rclone ansible: professormanhattan.rclone apt: rclone - brew: rclone + brew:linux: rclone choco: - rclone - winfsp @@ -7198,6 +7324,7 @@ softwarePackages: pacman: rclone port: rclone scoop: rclone + script:darwin: sudo -v ; curl https://rclone.org/install.sh | sudo bash redis-desktop-manager: _bin: redis-desktop-manager _desc: '[Redis Desktop Manager](https://rdm.dev/) is an open source cross-platform Desktop Manager for Redis based on Qt 5.'