diff --git a/package.json b/package.json index d58025d4..d9bb6a80 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "prepare": "bash start.sh && (test -f Taskfile.yml && task npm:prepare) || true", "release": "bash start.sh && task publish:semantic-release", "repair": "bash <(curl -sS https://install.doctor/repair)", + "sort:software": "yq -i 'sort_keys(..)' software.yml", "start": "test -z $SKIP_NPM_START && bash start.sh || true", "test": "bash start.sh && task donothing", "unpack": "bash start.sh && task npm:bundle:unpack", diff --git a/scripts/software.mjs b/scripts/software.mjs new file mode 100644 index 00000000..25c13d2d --- /dev/null +++ b/scripts/software.mjs @@ -0,0 +1,57 @@ +#!/usr/bin/env zx + +let definitions, softwarePackages + +async function getSoftwareDefinitions() { + try { + return YAML.parse(fs.readFileSync(`${os.homedir()}/.local/share/chezmoi/software.yml`, 'utf8')) + } catch (e) { + throw Error('Failed to load software definitions', e) + } +} + +async function writeSoftwareDefinitions() { + try { + fs.writeFileSync(fs.readFileSync(`${os.homedir()}/.local/share/chezmoi/software.yml`, YAML.stringify(definitions))) + } catch (e) { + throw Error('Failed to write new software definitions file', e) + } +} + +async function populateMissing() { + definitions = await getSoftwareDefinitions() + softwarePackages = definitions.softwarePackages + for (const pkg in softwarePackages) { + if (softwarePackages[pkg]._github) { + console.log(pkg) + if (!softwarePackages[pkg]._desc) { + const sgptResponse = await $`sgpt "Describe ${softwarePackages[pkg]._github}. Do not say that you can find more information on its GitHub page."` + console.log('--- START - SGPT Response for Description Acquired ---') + console.log(sgptResponse.stdout) + console.log('--- END - SGPT Response for Description Acquired ---') + softwarePackages[pkg]._desc = sgptResponse.stdout + } + + if (!softwarePackages[pkg]._name) { + const sgptResponse = await $`sgpt "What is the project name of ${softwarePackages[pkg]._github}? Only print the project name without any additional text."` + console.log('--- START - SGPT Response for Name Acquired ---') + console.log(sgptResponse.stdout) + console.log('--- END - SGPT Response for Name Acquired ---') + softwarePackages[pkg]._name = sgptResponse.stdout + } + } else if (softwarePackages[pkg]._github === false) { + console.log('No GitHub repository for ' + pkg) + } else { + console.log('MISSING GITHUB REPOSITORY INFORMATION FOR ' + pkg) + } + } + definitions.softwarePackages = softwarePackages +} + +async function main() { + await populateMissing() + +} + +console.log('Running script..') +main() \ No newline at end of file diff --git a/software.yml b/software.yml index a2b3972e..6611e50e 100644 --- a/software.yml +++ b/software.yml @@ -200,6 +200,26 @@ installerPreference: - ansible - binary softwarePackages: + _envchain:deps: + apt: + - gnome-keyring + - gcc + - gnome-keyring + - libsecret-1-dev + - make + - libreadline-dev + dnf: + - gcc + - gnome-keyring + - libsecret-devel + - make + - readline-devel + pacman: + - gcc + - gnome-keyring + - libsecret + - make + - readline _kde: _deps: - kde-plasma-desktop @@ -251,106 +271,16 @@ softwarePackages: - nautilus-search-tool - nautilus-share - nautilus-wipe - trayscale: - _bin: trayscale - _desc: Unofficial Menu Bar for Tailscale on Linux - _name: Trayscale - flatpak: dev.deedles.Trayscale - iso-image-writer: - _bin: iso-image-writer - _name: ISO Image Writer - flatpak: org.kde.isoimagewriter - blueutil: - _bin: blueutil - _github: https://github.com/toy/blueutil - _name: BlueUtil - brew:darwin: blueutil - pinapp: - _bin: pinapp - flatpak: io.github.fabrialberio.pinapp - tradingview: - _bin: tradingview - _name: Trading View - _app: TradingView.app - _github: https://github.com/tradingview/lightweight-charts - cask: tradingview - msix: https://tvd-packages.tradingview.com/stable/latest/win32/TradingView.msix - snap: tradingview - google-web-designer: - _bin: google-web-designer - _name: Google Web Designer - cask: google-web-designer - choco: google-web-designer - fabric: - _bin: fab - _github: https://github.com/fabric/fabric - _name: Fabric - brew: fabric - pipx: fabric - drawing: - _bin: drawing - flatpak: com.github.maoschanz.drawing - junction: - _bin: junction - flatpak: re.sonny.Junction - gnome-sound-recorder: - _bin: sound-recorder - flatpak: org.gnome.SoundRecorder - gnome-text-editor: - _bin: text-editor - flatpak: org.gnome.TextEditor - gnome-image-viewer: - _bin: image-viewer - flatpak: org.gnome.eog - gnome-video-player: - _bin: video-player - flatpak: org.gnome.Totem - gnome-document-viewer: - _bin: document-viewer - flatpak: org.gnome.Evince - gnome-file-roller: - _bin: file-roller - flatpak: org.gnome.FileRoller - gnome-network-displays: - _bin: network-displays - flatpak: org.gnome.NetworkDisplays - gnome-calendar: - _bin: calendar - flatpak: org.gnome.Calendar - gnome-weather: - _bin: gnome-weather - flatpak: org.gnome.Weather - gnome-photos: - _bin: photos - flatpak: org.gnome.Photos - newsflash: - _bin: newsflash - flatpak: com.gitlab.newsflash - web-font-generator: - flatpak: com.rafaelmardojai.WebfontKitGenerator - gnome-tweaks: - _bin: gnome-tweaks - _name: GNOME Tweaks - apt: gnome-tweaks - dnf: gnome-tweaks - pacman: gnome-tweaks - robotframework: - _bin: robot - _desc: Generic automation framework for acceptance testing and RPA - _home: https://robotframework.org/ - _github: https://github.com/robotframework/robotframework - _docs: https://robotframework.org/robotframework/#user-guide - _name: Robot Framework - pipx: robotframework - ettercap: - _bin: ettercap - _github: https://github.com/Ettercap/ettercap - _name: Ettercap - apt: ettercap - brew: ettercap - choco: ettercap - dnf: ettercap - pacman: ettercap + ack: + _bin: ack + _github: https://github.com/beyondgrep/ack3 + _name: Ack + apt: ack + brew: ack + choco: ack + dnf: ack + pacman: ack + port: perl/p5-app-ack act: _bin: act _desc: '[Act](https://github.com/nektos/act) Run GitHub actions locally' @@ -365,145 +295,63 @@ softwarePackages: port: act scoop: act yay: act - wetty: - _bin: wetty - _github: https://github.com/butlerx/wetty - _name: Wetty - npm: wetty - modern-flyouts: - _bin: modern-flyouts - _github: https://github.com/ModernFlyouts-Community/ModernFlyouts - _name: Modern Flyouts - choco: modernflyouts - winapp: modernflyouts-preview/9MT60QV066RP - winget: ModernFlyouts.ModernFlyouts - bismuth: - _bin: bismuth - _github: https://github.com/Bismuth-Forge/bismuth - _name: Bismuth - apt: kwin-bismuth - dnf: bismuth - pacman: kwin-bismuth - john: - _bin: john - _github: - _name: John - apt: john - brew: john - dnf: john - pacman: john - choco: john - graphql-playground: - _bin: graphql-playground - _github: https://github.com/graphql/graphql-playground - _name: GraphQL Playground - _app: GraphQL Playground.app - appimage: graphql/graphql-playground - cask: graphql-playground - exe: https://github.com/graphql/graphql-playground/releases/download/v1.8.10/graphql-playground-electron-setup-1.8.10.exe - kdenlive: - _bin: kdenlive - _github: https://github.com/KDE/kdenlive - _name: Kdenlive - _app: kdenlive.app - cask: kdenlive - choco: kdenlive - flatpak: org.kde.kdenlive - genymotion: - _app: Genymotion.app - cask: genymotion - choco: genymotion - # TODO: Figure out how to install on Android - pieces: - _bin: pieces-for-developers - _desc: Pieces is a first-in-kind productivity suite that optimizes developer tools and eliminates the chaos of context switching. - _docs: https://docs.pieces.app/ + adobe-creative-cloud: + _bin: adobe-creative-cloud + _name: Adobe Creative Cloud + _when:cask: '! test -d "/Applications/Adobe Creative Cloud" && ! test -d "$HOME/Applications/Adobe Creative Cloud"' + cask: adobe-creative-cloud + ai-shell: + _bin: ai + _github: https://github.com/BuilderIO/ai-shell + _name: AI Shell + npm: '@builder.io/ai-shell' + aiac: + _bin: aiac + _github: https://github.com/gofireflyio/aiac + _name: AIAC + brew: gofireflyio/aiac/aiac + go: github.com/gofireflyio/aiac/v3@latest + aicommits: + _bin: aicommits + _github: https://github.com/Nutlope/aicommits + _name: AI Commits + brew: aicommits + npm: aicommits + aider: + _bin: aider + _github: https://github.com/paul-gauthier/aider + _name: Aider AI Chat + pipx: aider-chat + aifiles: + _bin: aifiles + _deps: + - pandoc + - exiftool + - poppler + - csvkit + _github: https://github.com/jjuliano/aifiles + _name: AI Files + _todo: Implement this when XDG spec is supported so we can store configs in ~/.config + npm: aifiles + airdrop-cli: + _bin: airdrop + _github: https://github.com/vldmrkl/airdrop-cli + _name: Airdrop CLI + brew:darwin: vldmrkl/formulae/airdrop-cli + airtame: + _app: Airtame.app + _bin: airtame _github: false - _home: https://pieces.app/ - _name: Pieces - _app: Pieces.app - appinstaller: https://builds.pieces.app/stages/production/appinstaller/pieces_for_x.appinstaller - cask: pieces - exe: https://builds.pieces.app/stages/production/pieces_for_x/windows-exe/download - snap: pieces-for-developers - pieces-os: - _bin: pieces-os - _docs: https://docs.pieces.app/ - _github: false - _home: https://pieces.app/ - _name: Pieces OS - _post:snap: | - #!/usr/bin/env bash - sudo snap connect pieces-os:dotnet-runtime-aspnetcore - _app: Pieces.app - _note: Waiting for choco package - _env: - PIECES_OS_APPDATA: - cask: "$HOME/Library/Application Support/com.pieces.os" - snap: "TODO" - appinstaller: https://builds.pieces.app/stages/production/appinstaller/os_server.appinstaller - cask: pieces-os - exe: https://builds.pieces.app/stages/production/os_server/windows-exe/download - snap: pieces-os - pieces-cli: - _bin: pieces - _desc: Pieces is a first-in-kind productivity suite that optimizes developer tools and eliminates the chaos of context switching. - _docs: https://docs.pieces.app/ - _github: false - _home: https://pieces.app/ - _name: Pieces CLI - cask: pieces-cli - pueue: - _bin: pueue - _name: Pueue - _github: https://github.com/Nukesor/pueue - _service: pueue - brew: pueue - apk: pueue - cargo: pueue --locked - apt: pueue - dnf: pueue - pacman: pueue - buildkite-agent: - _bin: buildkite-agent - _github: https://github.com/buildkite/agent - _name: BuildKite Agent - brew: buildkite/buildkite/buildkite-agent - multi-gitter: - _bin: multi-gitter - _github: https://github.com/lindell/multi-gitter - _name: Multi-Gitter - brew: lindell/multi-gitter/multi-gitter - go: github.com/lindell/multi-gitter@latest - tomcat: - _bin: catalina - _github: https://github.com/apache/tomcat - _name: Tomcat - _post:darwin: | - #!/usr/bin/env bash - sed 's/8080/8180/g' /usr/local/etc/tomcat/server.xml > /usr/local/etc/tomcat/server.xml - _post:linux: | - #!/usr/bin/env bash - sed 's/8080/8180/g' /usr/local/etc/tomcat/server.xml > /usr/local/etc/tomcat/server.xml - _service: tomcat - apt: tomcat - brew: tomcat - choco: tomcat - dnf: tomcat - pacman: tomcat - obsidian-cli: - _bin: obs - _github: https://github.com/Yakitrak/obsidian-cli - _name: Obsidian CLI - _pre:scoop: scoop bucket add scoop-yakitrak https://github.com/yakitrak/scoop-yakitrak.git - brew: megabyte-labs/tap/obs-cli - scoop: obs - pipelight: - _bin: pipelight - _github: https://github.com/pipelight/pipelight - _name: Pipelight - cargo:linux: --git https://github.com/pipelight/pipelight - yay: pipelight + _name: Airtame + cask: airtame + choco: airtame + flatpak: com.airtame.Client + snap: airtame-application + alda: + _bin: alda + _github: https://github.com/alda-lang/alda + _name: Alda + brew: alda 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.' @@ -529,141 +377,71 @@ softwarePackages: brew: allure scoop: allure yay: allure + alt-tab: + _app: AltTab.app + _bin: alt-tab + _github: https://github.com/lwouis/alt-tab-macos + _name: Alt+Tab for macOS that works like alt+tab on Windows + cask: alt-tab altair: + _app: Altair GraphQL Client.app _bin:snap: altair _desc: '[Altair GraphQL Client](https://altairgraphql.dev/) A beautiful feature-rich GraphQL Client for all platforms.' _docs: https://altairgraphql.dev/docs/ - _github: https://github.com/altair-graphql/altair - _home: https://altairgraphql.dev/ - _name: Altair GraphQL Client - _app: Altair GraphQL Client.app _env: ALTAIR_APPDATA: cask: "$HOME/Library/Application Support/Altair GraphQL Client" choco: "TODO" snap: "$HOME/snap/altair/current/.config/Altair GraphQL Client" + _github: https://github.com/altair-graphql/altair + _home: https://altairgraphql.dev/ + _name: Altair GraphQL Client cask: altair-graphql-client 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 - _docs: null - _github: null - _home: null - _name: Ansifilter - brew: ansifilter - choco: ansifilter - port: ansifilter - figlet: - _bin: figlet - _github: https://github.com/cmatsuoka/figlet - _name: Figlet - apt: figlet - dnf: figlet - pacman: figlet - zypper: figlet - choco: figlet - brew: figlet - lolcat: - _bin: lolcat - _github: https://github.com/busyloop/lolcat - _name: lolcat - brew: lolcat - choco: lolcat - snap: lolcat - opn-cli: - _bin: opn-cli - _github: https://github.com/andeman/opn-cli - _name: OPNSense CLI - pipx: opn-cli - pfsense-fauxapi: - _bin: fauxapi - _github: https://github.com/ndejong/pfsense_fauxapi_client_python - _name: pfSense CLI (fauxapi) - pipx: pfsense-fauxapi + amethyst: + _app: Amethyst.app + _bin: amethyst + _github: https://github.com/ianyh/Amethyst + _name: Amethyst + cask: amethyst android-commandlinetools: + _bin: false _deps: - java - _bin: false - _name: Android Studio Command Line Tools _github: false + _name: Android Studio Command Line Tools _when:cask: '! test -d "${HOMEBREW_PREFIX:-/opt/homebrew}/share/android-commandlinetools"' cask: android-commandlinetools + android-platform-tools: + _bin: adb + _github: null + _name: Android Platform Tools + cask: android-platform-tools android-studio: + _app: Android Studio.app + _bin: android-studio _deps: - android-commandlinetools - java - _bin: android-studio _desc: >- [Android Studio](https://developer.android.com/studio) is the official integrated development environment for Google's Android operating system, built on JetBrains' IntelliJ IDEA software and designed specifically for Android development. This role installs Android Studio on nearly any operating system and also ensures a configurable list of command-line tools and SDKs are installed and seamlessly integrated with the system (i.e. the role adds the appropriate items to the `PATH` environment variable). _docs: https://developer.android.com/docs - _github: null - _home: https://developer.android.com/studio - _name: Android Studio - _app: Android Studio.app _env: ANDROID_STUDIO_APPDATA: cask: "TODO" choco: "TODO" flatpak: "TODO" snap: "TODO" + _github: null + _home: https://developer.android.com/studio + _name: Android Studio cask: android-studio choco: androidstudio flatpak: com.google.AndroidStudio snap: android-studio yay: android-studio - brasero: - _bin: brasero - _desc: null - _docs: null - _github: null - _home: null - _name: Brasero - apt: brasero - dnf: brasero - pacman: brasero - isort: - _bin: isort - _desc: isort is a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type. - _docs: https://pycqa.github.io/isort/index.html - _github: https://github.com/PyCQA/isort - _home: https://pycqa.github.io/isort/ - _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) - _docs: https://openjdk.org/groups/build/doc/building.html - _github: https://github.com/openjdk/jdk - _home: https://openjdk.org/ - _name: OpenJDK - apt: default-jdk - choco: openjdk - brew: openjdk - dnf: java-latest-openjdk.x86_64 - pacman: jdk-openjdk - firefox-profile: - _bin: firefox-profile - _github: https://github.com/saadtazi/firefox-profile-js - _name: Firefox Profile CLI - npm: firefox-profile angular-cli: _bin: ng _desc: '[Angular](https://angular.io) The web development framework for building the future' @@ -694,11 +472,6 @@ 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: @@ -710,54 +483,30 @@ softwarePackages: _home: https://github.com/psykulsk/ansibleconnect _name: Ansibleconnect pipx: ansibleconnect - quark-engine: - _bin: quark - _desc: Dig Vulnerabilities in the BlackBox (requirement of APKLabs VSCode plugin) - _docs: https://quark-engine.readthedocs.io/en/latest/index.html - _github: https://github.com/quark-engine/quark-engine - _home: https://github.com/quark-engine/quark-engine - _name: Quark-Engine - pipx: quark-engine - 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 - _bin: sysz - _desc: An fzf terminal UI for systemctl - _docs: https://github.com/joehillen/sysz - _github: https://github.com/joehillen/sysz - _home: https://github.com/joehillen/sysz - _name: syz - nix-env: nixpkgs.sysz - bin: https://github.com/joehillen/sysz - pacman: sysz - script:linux: cd /tmp && git clone https://github.com/joehillen/sysz.git && cd sysz && sudo make install && cd /tmp && rm -rf sysz - macprefs: - _bin: macprefs - _name: MacPrefs - _github: https://github.com/clintmod/macprefs - brew: clintmod/formulas/macprefs + ansibler: + _bin: ansibler + _desc: Megabyte Labs Python project used to extract test information from Molecule and save it as JSON that can be rendered into charts + _docs: https://pypi.org/project/ansibler/ + _github: https://github.com/megabyte-labs/ansibler + _home: https://pypi.org/project/ansibler/ + _name: Ansibler + pipx: ansibler + ansifilter: + _bin: ansifilter + _desc: null + _docs: null + _github: null + _home: null + _name: Ansifilter + brew: ansifilter + choco: ansifilter + port: ansifilter + apktool: + _bin: apktool + _github: https://github.com/iBotPeaches/Apktool + _name: APKTool + brew: apktool + choco: apktool appium: _bin: appium _desc: '[Appium](https://appium.io/) is an open source automation tool for running scripts and testing native applications, mobile-web applications and hybrid applications on Android or iOS using a webdriver.' @@ -769,18 +518,18 @@ softwarePackages: brew: appium npm: appium appium-desktop: + _app: Appium Server GUI.app _bin: appium-desktop _github: https://github.com/appium/appium-desktop _name: Appium Desktop - _app: Appium Server GUI.app appimage: appium/appium-desktop cask: appium choco: appium-desktop appium-inspector: + _app: Appium Inspector.app _bin: appium-inspector _github: https://github.com/appium/appium-inspector _name: Appium Inspector - _app: Appium Inspector.app appimage: appium/appium-inspector cask: appium-inspector choco: appium-desktop @@ -792,6 +541,15 @@ softwarePackages: _home: https://github.com/andreasbm/readme/ _name: Readme npm: '@appnest/readme' + apprise: + _bin: apprise + _deps: + - pywin32 + - terminal-notifier + _github: https://github.com/caronc/apprise + _name: Apprise + dnf: apprise + pipx: apprise apt-cacher-ng: _bin: null _desc: '[Apt-Cacher-NG](https://wiki.debian.org/AptCacherNg) is a caching proxy server (or apt proxy) for Debian based distributions like Ubuntu, Kubuntu, Xubuntu, Edubuntu, Linux Mint, etc, which is used to cache the downloaded packages locally on your server.' @@ -799,145 +557,8 @@ softwarePackages: _github: https://salsa.debian.org/blade/apt-cacher-ng _home: https://wiki.debian.org/AptCacherNg _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 - blocky: - _bin: blocky - _github: https://github.com/0xERR0R/blocky - _name: Blocky - _service: blocky - _service:brew: - - name: blocky - sudo: true - _serviceEnabled: true - _post:linux: | - #!/usr/bin/env bash - sudo mkdir -p /usr/local/etc/blocky - if [ -d /usr/lib/systemd/system ]; then - sudo cp -f "$HOME/.local/etc/blocky/config.yaml" /usr/local/etc/blocky/config.yaml - sudo cp -f "$HOME/.local/etc/blocky/blocky.service" /usr/lib/systemd/system/blocky.service - else - echo "/usr/lib/systemd/system is missing from the file system" - fi - _post:brew: | - #!/usr/bin/env bash - cp -f "$HOME/.local/etc/blocky/config.yaml" "$(brew --prefix)/etc/blocky/config.yaml" - brew: blocky - go: github.com/0xERR0R/blocky@mastergithub.com/0xERR0R/blocky@master - http-toolkit: - _github: https://github.com/httptoolkit/httptoolkit - _name: HTTP Toolkit - _app: HTTP Toolkit.app - apt: https://github.com/httptoolkit/httptoolkit-desktop/releases/download/v1.14.8/HttpToolkit-1.14.8.deb - cask: http-toolkit - winget: HTTPToolKit.HTTPToolKit - yay: httptoolkit - tart: - _bin: tart - _github: https://github.com/cirruslabs/tart - _todo: Verify that this installs properly (error on arm64 macOS) - brew:darwin: cirruslabs/cli/gitlab-tart-executor - web-ext: - _bin: web-ext - _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 - _name: Dockly - npm: dockly - gitmoji-cli: - _bin: gitmoji - _github: https://github.com/carloscuesta/gitmoji-cli - _npm: Gitmoji CLI - brew: gitmoji - npm: gitmoji-cli - quickemu: - _bin: quickemu - _github: https://github.com/quickemu-project/quickemu - _pre: | - #!/usr/bin/env bash - sudo apt-add-repository ppa:flexiondotorg/quickemu && sudo apt update - apt:ubuntu: quickemu - quickgui: - _github: https://github.com/quickemu-project/quickgui - _pre: | - #!/usr/bin/env bash - sudo add-apt-repository ppa:yannick-mauray/quickgui && sudo apt update - apt:ubuntu: quickgui - helm-docs: - _bin: helm-docs - _github: https://github.com/norwoodj/helm-docs - _name: Helm Docs - brew: norwoodj/tap/helm-docs - scoop: helm-docs - catlight: - _github: https://github.com/catlightio/CatLight - _name: Catlight - _app: Catlight.app - cask: catlight - deb: https://catlight.io/downloads/linux/beta - d2vm: - _bin: d2vm - _github: https://github.com/linka-cloud/d2vm - _name: Docker 2 VM - brew: linka-cloud/tap/d2vm - lxd-ui: - _bin: lxd-ui - _github: https://github.com/canonical/lxd-ui - _name: LXD UI - _post: | - #!/usr/bin/env bash - 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 - _docs: https://github.com/gopasspw/gopass/tree/master/docs - _github: https://github.com/gopasspw/gopass - _home: https://www.gopass.pw/ - _name: GoPass - apk: gopass - brew: gopass - choco: - - gpg4win - - gopass - dnf: gopass - go: github.com/gopasspw/gopass@latest - pacman: gopass - scoop: gopass - winget: gopass.gopass + ansible: professormanhattan.aptcacherng aqua: _bin: aqua _desc: '[aqua](https://aquaproj.github.io/) is a Declarative CLI Version manager written in Go. It supports Lazy Install, Registry, and continuous update with Renovate.' @@ -960,10 +581,21 @@ softwarePackages: else logg info 'Skipping aqua install script because aqua was not installed' fi - brew: aquaproj/aqua/aqua binary:linux: https://github.com/aquaproj/aqua/releases/download/v2.0.0-0/aqua_linux_amd64.tar.gz binary:windows: https://github.com/aquaproj/aqua/releases/download/v2.0.0-0/aqua_windows_amd64.tar.gz + brew: aquaproj/aqua/aqua go: github.com/aquaproj/aqua/v2/cmd/aqua@latest + arduino-ide: + _app: Arduino.app + _bin: arduino + cask: arduino + choco: arduino + flatpak: cc.arduino.IDE2 + argc: + _bin: argc + _github: https://github.com/sigoden/argc + _name: Argc + cargo: argc argo-cli: _bin: argocd _desc: ArgoCD is a declarative GitOps continuous delivery platform. @@ -977,27 +609,6 @@ softwarePackages: pacman: - argocd - argocd-cli - blackhole: - _bin: false - _docs: https://github.com/ExistentialAudio/BlackHole#user-guides - _home: https://github.com/ExistentialAudio/BlackHole - _github: https://github.com/ExistentialAudio/BlackHole - _name: BlackHole - _desc: Audio loopback device for macOS (supports sound passthrough to screen recording software on macOS) - _when:cask: '! test -d /Library/Audio/Plug-Ins/HAL/BlackHole16ch.driver && ! test -d ~/Library/Audio/Plug-Ins/HAL/BlackHole16ch.driver' - cask: blackhole-16ch - percol: - _bin: percol - _github: https://github.com/mooz/percol - _name: Percol - pipx: percol - loop: - _bin: loop - _github: https://github.com/Miserlou/Loop - _name: Loop - snap: loop-rs --beta - pacman: loop - cargo: loop-rs aria2: _bin: aria2c _desc: '[aria2](https://aria2.github.io/) is a lightweight multi-protocol & multi-source command-line download utility. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. [AriaNg](http://ariang.mayswind.net/) is a modern web frontend that makes working with aria2 easier.' @@ -1016,15 +627,15 @@ softwarePackages: ariang: _app: AriaNg Native.app cask: ariang - iina: - _bin: null - _desc: The modern video player for macOS. - _docs: https://iina.io/ - _github: https://github.com/iina/iina - _home: https://iina.io/ - _name: iina macOS Video Player - _app: iina.app - cask: iina + arping: + _bin: arping + _github: https://github.com/ThomasHabets/arping + _name: ARPing + apt: arping + brew: arping + choco: arping + dnf: arping + pacman: arping asciinema: _bin: asciinema _desc: '[Asciinema](https://asciinema.org) allows you to record and share your terminal sessions, the simple way' @@ -1075,64 +686,37 @@ softwarePackages: #!/usr/bin/env bash echo "Waiting on command that installs nvim plugins" # bash -ci "nvim --headless -c 'quitall'" - dockutil: - _bin: dockutil - _github: https://github.com/kcrawford/dockutil - _name: DockUtil - brew:darwin: dockutil - 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 - typescript-to-lua: - _bin: tstl - _github: https://github.com/TypeScriptToLua/TypeScriptToLua - _name: TypeScript to Lua Converter - npm: typescript-to-lua - devtoys: - _bin: devtoys - _github: https://github.com/ObuchiYuki/DevToysMac - _app: DevToys.app - cask: devtoys - devtoys-windows: - _bin: devtoys - _github: https://github.com/veler/DevToys - _name: Windows DevToys - choco: devtoys - winget: devtoys - devbox: - _bin: devbox - _github: https://github.com/jetpack-io/devbox - _todo: Revisit because install via script would require expect since piping y to the installer is not working - # nix-env: nixpkgs.devbox - # script: curl -fsSL https://get.jetpack.io/devbox | bash - codeedit: - _bin: codeedit - _github: https://github.com/CodeEditApp/CodeEdit - _name: CodeEdit - _app: CodeEdit.app - _todo: TODO once this is out of alpha - cask: codeedit - barrier: - _bin: barrier - _github: https://github.com/debauchee/barrier - _name: Barrier - _app: Barrier.app - _todo: TODO - cask: barrier - choco: barrier - flatpak: com.github.debauchee.barrier + atuin: + _bin: atuin + _github: https://github.com/ellie/atuin + _name: Atuin + _post: | + #!/usr/bin/env bash + source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" + atuin register -u "$ATUIN_USERNAME" -e "$ATUIN_EMAIL" -p "$ATUIN_PASSWORD" + atuin import auto + atuin sync + brew: atuin + cargo: atuin + pacman: atuin + pkg-termux: atuin + port: atuin + audacity: + _app: Audacity.app + _bin: audacity + _desc: An open-source audio editor + _docs: https://support.audacityteam.org/ + _github: https://github.com/audacity/audacity + _home: https://www.audacityteam.org/ + _name: Audacity + appimage: Audacity + apt: audacity + cask: audacity + choco: audacity + dnf: audacity + flatpak: org.audacityteam.Audacity + scoop: extras/audacity + snap: audacity auto-install: _bin: auto-install _desc: '[auto-install](https://github.com/siddharthkp/auto-install) installs dependencies as you code' @@ -1141,6 +725,11 @@ softwarePackages: _home: https://github.com/siddharthkp/auto-install _name: auto-install npm: auto-install + autodoc: + _bin: doc + _github: https://github.com/context-labs/autodoc + _name: Autodoc + npm: '@context-labs/autodoc' autokey: _bin: null _desc: '[AutoKey](https://github.com/autokey/autokey) is a free, open-source scripting application for Linux. AutoKey allows the user to define hotkeys and trigger phrases which expand to predefined text, automating frequent or repetitive tasks such as correcting typographical errors or common spelling mistakes and inserting boiler plate sections of text. [AutoHotKey](https://www.autohotkey.com/) is a similar piece of software that is only available on the Windows platform.' @@ -1176,6 +765,15 @@ softwarePackages: _name: Autorestic ansible: professormanhattan.autorestic brew: autorestic + aws-shell: + _bin: aws-shell + _desc: An integrated shell for working with the AWS CLI. + _docs: https://github.com/awslabs/aws-shell + _github: https://github.com/awslabs/aws-shell + _home: https://pypi.org/project/aws-shell/ + _name: AWS Shell + brew: aws-shell + pipx: aws-shell awscli: _bin: aws _desc: 'The [AWS CLI](https://aws.amazon.com/cli/) is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.' @@ -1184,10 +782,10 @@ softwarePackages: _home: https://aws.amazon.com/ _name: AWS CLI ansible: professormanhattan.awscli - brew: awscli@2 binary:darwin: https://awscli.amazonaws.com/AWSCLIV2.pkg binary:linux: https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip binary:windows: https://awscli.amazonaws.com/AWSCLIV2.msi + brew: awscli@2 choco: awscli awxcli: _bin: awx @@ -1198,6 +796,18 @@ softwarePackages: _name: AWX CLI ansible: professormanhattan.awxcli pipx: https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-latest.tar.gz + axel: + _bin: axel + _docs: null + _github: https://github.com/axel-download-accelerator/axel + _home: null + _name: Axel + apt: axel + brew: axel + choco: axel + dnf:fedora: axel + pacman: axel + port: axel azure-cli: _bin: az _desc: 'The [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/) is a set of commands used to create and manage Azure resources. The Azure CLI is available across Azure services and is designed to get you working quickly with Azure, with an emphasis on automation. It is the official CLI, released by Microsoft.' @@ -1221,76 +831,13 @@ softwarePackages: choco: azure-functions-core-tools github: github.com/Azure/azure-functions-core-tools npm: azure-functions-core-tools@4 - signal: - _bin: signal - _desc: Signal is a cross-platform centralized encrypted instant messaging service developed by the non-profit Signal Foundation and its subsidiary, the Signal Messenger LLC. Users can send one-to-one and group messages, which can include files, voice notes, images, and videos. - _docs: https://support.signal.org/hc/en-us - _github: https://github.com/signalapp/Signal-Desktop - _home: https://signal.org - _name: Signal Desktop - _app: Signal.app - cask: signal - choco: signal - flatpak: org.signal.Signal - scoop: signal - mask: - _bin: mask - _github: https://github.com/jacobdeichert/mask - _name: Mask - brew: mask - cargo: mask - ultra: - _bin: ultra - _desc: Ultra fast monorepo script runner and build tool - _docs: https://github.com/folke/ultra-runner - _github: https://github.com/folke/ultra-runner - _home: https://www.npmjs.com/package/ultra-runner - _name: Ultra Task Runner - npm: ultra-runner - syncpack: - _bin: syncpack - _desc: Consistent dependency versions in large JavaScript Monorepos. - _docs: https://jamiemason.github.io/syncpack/installation - _github: https://github.com/JamieMason/syncpack - _home: https://jamiemason.github.io/syncpack/ - _name: Syncpack - npm: syncpack - ccat: - _bin: ccat - _github: https://github.com/owenthereal/ccat - _name: ccat - brew: ccat - go: github.com/owenthereal/ccat@latest - pacman: ccat - flake8: - _bin: flake8 - _desc: Flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code. - _docs: https://flake8.pycqa.org/en/latest/ - _github: https://github.com/PyCQA/flake8 - _home: https://flake8.pycqa.org/en/latest/ - _name: Flake8 - brew: flake8 - pipx: flake8 - logi-options-plus: - _bin: logi-options-plus - _github: false - _name: Logi Options+ - _app: logioptionsplus.app - _env: - LOGI_OPTIONS_PLUS_APPDATA: - cask: "$HOME/Library/Application Support/LogiOptionsPlus" - choco: "TODO" - choco: logioptionsplus - cask: logi-options-plus - exe: https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.exe - winget: Logitech.OptionsPlus - logi-tune: - _bin: logi-tune - _github: false - _name: Logi Tune - dmg: https://software.vc.logitech.com/downloads/tune/LogiTuneInstaller.dmg - exe: https://software.vc.logitech.com/downloads/tune/LogiTuneInstall.exe + backup: + _bin: backup + _github: https://github.com/backup/backup + _name: Backup + gem: backup -v5.0.0.beta.1 balenaetcher: + _app: balenaEtcher.app _appImageName: balenaEtcher.AppImage _bin: null _desc: '[balenaEtcher](https://www.balena.io/etcher/) is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects from accidentally writing to hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode. It will run on any platform officially supported by Electron.' @@ -1298,7 +845,6 @@ softwarePackages: _github: https://github.com/balena-io/etcher _home: https://www.balena.io/etcher/ _name: balenaEtcher - _app: balenaEtcher.app ansible:linux: professormanhattan.etcher # Waiting for zap to allow headless automation of AppImage Catalog images # Currently, it fails because there are multiple versions to select @@ -1328,61 +874,15 @@ softwarePackages: _name: bane github: github.com/genuinetools/bane go: github.com/genuinetools/bane@latest - openssl-osx-ca: - _bin: openssl-osx-ca - _github: https://github.com/raggi/openssl-osx-ca - _name: OpenSSL macOS CA - _service:brew:darwin: - - name: openssl-osx-ca - sudo: true - _serviceEnabled: true - brew:darwin: raggi/ale/openssl-osx-ca - meta-package-manager: - _bin: mpm - _github: https://github.com/kdeldycke/meta-package-manager - _name: Meta Package Manager - brew: meta-package-manager - pipx: meta-package-manager - yt-dlp: - _bin: yt-dlp - _github: https://github.com/yt-dlp/yt-dlp/wiki/Installation - _name: YouTube Download - brew: yt-dlp - choco: yt-dlp - pacman: yt-dlp - pipx: yt-dlp - scoop: yt-dlp - port: yt-dlp - winget: yt-dlp - brew-gem: - _bin: brew-gem - _github: https://github.com/sportngin/brew-gem - _name: Homebrew RubyGems - brew: brew-gem - scap-security-guide: - _bin: oscap - _github: https://github.com/ComplianceAsCode/content - _name: OpenSCAP - apt: - - ssg-debderived - - ssg-applications - apt:debian: - - ssg-debian - - ssg-applications - dnf: scap-security-guide - brew-pkg: - _github: https://github.com/timsutton/brew-pkg - _name: Homebrew Pkg - _when:brew:darwin: '! brew list brew-pkg' - brew:darwin: timsutton/formulae/brew-pkg - xpanes: - _bin: xpanes - _github: https://github.com/greymd/tmux-xpanes - _name: xpanes - apt: https://github.com/greymd/tmux-xpanes/releases/download/v4.1.4/tmux-xpanes_v4.1.4.deb - brew: tmux-xpanes - dnf: xpanes - script: curl -sSL --compressed https://raw.githubusercontent.com/greymd/tmux-xpanes/v4.1.4/bin/xpanes > /tmp/xpanes && sudo mv /tmp/xpanes /usr/local/bin/xpanes + barrier: + _app: Barrier.app + _bin: barrier + _github: https://github.com/debauchee/barrier + _name: Barrier + _todo: TODO + cask: barrier + choco: barrier + flatpak: com.github.debauchee.barrier bash-completion: _bin: null _desc: null @@ -1399,39 +899,11 @@ softwarePackages: _github: https://github.com/DannyBen/bashly _name: Bashly gem: bashly - axel: - _bin: axel - _docs: null - _github: https://github.com/axel-download-accelerator/axel - _home: null - _name: Axel - apt: axel - brew: axel - choco: axel - dnf:fedora: axel - pacman: axel - port: axel - bfg: - _bin: bfg - _docs: https://rtyley.github.io/bfg-repo-cleaner/ - _github: https://github.com/rtyley/bfg-repo-cleaner - _home: https://rtyley.github.io/bfg-repo-cleaner/ - _name: BFG Repo Cleaner - brew: bfg - choco: bfg-repo-cleaner - port: bfg - plumber: - _bin: plumber - _github: https://github.com/streamdal/plumber - _name: Plumber - brew: streamdal/public/plumber - exe: https://github.com/streamdal/plumber/releases/latest/download/plumber-windows.exe - bats: - _bin: bats - _github: https://github.com/bats-core/bats-core - _name: Bats Bash Testing - brew: bats-core - npm: bats + basictex: + _github: false + _name: Basictex + _when: '! test -d /Library/TeX' + cask: basictex bat: _bin: bat _desc: '[bat](https://github.com/sharkdp/bat) is a cat(1) clone with syntax highlighting and Git integration.' @@ -1455,8 +927,32 @@ softwarePackages: _github: https://github.com/eth-p/bat-extras _name: Bat Extras brew: bat-extras - pacman: bat-extras emerge: sys-apps/bat-extras + pacman: bat-extras + bats: + _bin: bats + _github: https://github.com/bats-core/bats-core + _name: Bats Bash Testing + brew: bats-core + npm: bats + bazelisk: + _bin: bazelisk + _desc: A user-friendly launcher for Bazel. + _docs: https://bazel.build/docs + _github: https://github.com/bazelbuild/bazelisk + _home: https://bazel.build/ + _name: Bazel + brew: bazelisk + choco: bazelisk + go: github.com/bazelbuild/bazelisk@latest + npm: '@bazel/bazelisk' + scoop: main/bazel + beekeeper-studio: + _app: Beekeeper Studio.app + _bin: beekeeper-studio + cask: beekeeper-studio + choco: beekeeper-studio + flatpak: io.beekeeperstudio.Studio beets: _bin: beet _desc: 'The purpose of [Beets](https://beets.io/) is to get your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music.' @@ -1466,22 +962,24 @@ softwarePackages: _name: Beets ansible: professormanhattan.beets pipx: beets - devspace: - _bin: devspace - _github: https://github.com/devspace-sh/devspace - _name: DevSpace - brew: devspace - npm: devspace - scoop: devspace betwixt: + _app: Betwixt.app _bin: null _desc: Web Debugging Proxy based on Chrome DevTools Network panel _docs: https://github.com/kdzwinel/betwixt _github: https://github.com/kdzwinel/betwixt _home: https://github.com/kdzwinel/betwixt _name: Betwixt - _app: Betwixt.app cask: betwixt + bfg: + _bin: bfg + _docs: https://rtyley.github.io/bfg-repo-cleaner/ + _github: https://github.com/rtyley/bfg-repo-cleaner + _home: https://rtyley.github.io/bfg-repo-cleaner/ + _name: BFG Repo Cleaner + brew: bfg + choco: bfg-repo-cleaner + port: bfg bin: _bin: bin _desc: Effortless binary manager @@ -1491,6 +989,22 @@ softwarePackages: _name: bin github: github.com/marcosnils/bin go: github.com/marcosnils/bin@latest + binwalk: + _bin: binwalk + _github: https://github.com/ReFirmLabs/binwalk + _name: Binwalk + apt: binwalk + brew: binwalk + choco: binwalk + dnf: binwalk + pacman: binwalk + bismuth: + _bin: bismuth + _github: https://github.com/Bismuth-Forge/bismuth + _name: Bismuth + apt: kwin-bismuth + dnf: bismuth + pacman: kwin-bismuth bitly: _bin: bitly _desc: Shorten links with Bitly in your terminal! @@ -1499,49 +1013,21 @@ softwarePackages: _home: null _name: bitly npm: bitly-cli-client - swimat: - _bin: null - _desc: Swift code auto-formatter for Xcode - _docs: https://jintin.github.io/Swimat/ - _github: https://github.com/Jintin/Swimat - _home: https://jintin.github.io/Swimat/ - _name: Swimat - _app: Swimat.app - cask: swimat - textql: - _bin: textql - _desc: CLI that allows you to execute SQL against structured text like CSV or TSV - _docs: https://github.com/dinedal/textql - _github: https://github.com/dinedal/textql - _home: https://github.com/dinedal/textql - _name: TextQL - brew: textql - go: github.com/dinedal/textql@master - yay: textql-git - cakebrew: - _bin: null - _desc: Manage your Homebrew formulas with style using Cakebrew. - _docs: https://www.cakebrew.com/ - _github: https://github.com/brunophilipe/Cakebrew - _home: http://www.cakebrew.com/ - _name: Cakebrew - _app: Cakebrew.app - cask: cakebrew bitwarden: + _app: Bitwarden.app _bin: bitwarden _desc: The desktop vault (Windows, macOS, & Linux) _docs: null _github: https://github.com/bitwarden/desktop _home: null _name: BitWarden - _app: Bitwarden.app cask: bitwarden choco: bitwarden flatpak: com.bitwarden.desktop github: github.com/bitwarden/desktop + mas: 1352778147 snap: bitwarden yay: bitwarden-git - mas: 1352778147 bitwarden-cli: _bin: bw _desc: '[Bitwarden CLI](https://github.com/bitwarden/cli) (i.e. bw) is a free and open-source official CLI for the [Bitwarden](https://bitwarden.com/) password manager. bw is available on Linux, macOS, and Microsoft Windows.' @@ -1563,6 +1049,58 @@ softwarePackages: _home: https://bivac.io/ _name: bivac github: github.com/camptocamp/bivac + blackhole: + _bin: false + _desc: Audio loopback device for macOS (supports sound passthrough to screen recording software on macOS) + _docs: https://github.com/ExistentialAudio/BlackHole#user-guides + _github: https://github.com/ExistentialAudio/BlackHole + _home: https://github.com/ExistentialAudio/BlackHole + _name: BlackHole + _when:cask: '! test -d /Library/Audio/Plug-Ins/HAL/BlackHole16ch.driver && ! test -d ~/Library/Audio/Plug-Ins/HAL/BlackHole16ch.driver' + cask: blackhole-16ch + blender: + _app: Blender.app + _bin: blender + _desc: Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. + _docs: https://docs.blender.org/manual/en/latest/ + _github: https://github.com/blender/blender + _home: https://www.blender.org/ + _name: Blender + apt: blender + cask: blender + choco: blender + dnf: blender + flatpak: org.blender.Blender + scoop: extras/blender + snap: blender --classic + blocky: + _bin: blocky + _github: https://github.com/0xERR0R/blocky + _name: Blocky + _post:brew: | + #!/usr/bin/env bash + cp -f "$HOME/.local/etc/blocky/config.yaml" "$(brew --prefix)/etc/blocky/config.yaml" + _post:linux: | + #!/usr/bin/env bash + sudo mkdir -p /usr/local/etc/blocky + if [ -d /usr/lib/systemd/system ]; then + sudo cp -f "$HOME/.local/etc/blocky/config.yaml" /usr/local/etc/blocky/config.yaml + sudo cp -f "$HOME/.local/etc/blocky/blocky.service" /usr/lib/systemd/system/blocky.service + else + echo "/usr/lib/systemd/system is missing from the file system" + fi + _service: blocky + _service:brew: + - name: blocky + sudo: true + _serviceEnabled: true + brew: blocky + go: github.com/0xERR0R/blocky@mastergithub.com/0xERR0R/blocky@master + blueutil: + _bin: blueutil + _github: https://github.com/toy/blueutil + _name: BlueUtil + brew:darwin: blueutil boilr: _bin: null _desc: boilerplate template manager that generates files or directories from template repositories @@ -1572,6 +1110,20 @@ softwarePackages: _name: boilr github: github.com/tmrts/boilr go: github.com/tmrts/boilr@latest + boringtun: + _bin: boringtun-cli + _desc: BoringTun is an implementation of the WireGuard® protocol designed for portability and speed. + _docs: null + _github: https://github.com/cloudflare/boringtun + _home: null + _name: BoringTun + _todo: Add sudo boringtun-cli utun + brew: boringtun + cargo:darwin: boringtun-cli + cargo:linux: boringtun-cli + bottles: + _bin: bottles + flatpak: com.usebottles.bottles bottom: _bin: bottom _bin:brew: btm @@ -1584,162 +1136,30 @@ softwarePackages: pacman: bottom scoop: bottom snap: bottom - thefuck: - _bin: fuck - _desc: Magnificent CLI tool that corrects your previous console command whenever something fails due to misspelling. - _docs: https://github.com/nvbn/thefuck - _github: https://github.com/nvbn/thefuck - _home: https://github.com/nvbn/thefuck - _name: The Fuck - brew: thefuck - crew: thefuck - pacman: thefuck - pipx: thefuck - pkg-freebsd: thefuck - cod: - _bin: cod - _todo: Check for brew install later on (5/14/2023) - _desc: Cod is a completion daemon for bash/fish/zsh that automatically adds auto-completions when --help is used - _docs: https://github.com/dim-an/cod - _github: https://github.com/dim-an/cod - _home: https://github.com/dim-an/cod - _name: Cod - go: github.com/dim-an/cod@master - iproute2mac: - _bin: ip - _github: https://github.com/brona/iproute2mac - _name: iproute2mac - brew:darwin: iproute2mac - tmate: - _bin: tmate - _github: https://github.com/tmate-io/tmate - _name: tmate - apt: tmate - brew: tmate - dnf: tmate - opkg: tmate - pacman: tmate - pkg-freebsd: tmate - pkg_add: tmate - zypper: tmate - emerge: app-misc/tmate - sphinx: - _bin: sphinx-build - _github: https://github.com/sphinx-doc/sphinx - _name: Sphinx - apt: python3-sphinx - choco: sphinx - dnf: python-sphinx - pipx: sphinx - you-get: - _bin: you-get - _github: https://github.com/soimort/you-get - _name: You-Get - brew: you-get - pkg-freebsd: you-get - pipx: you-get - utm: - _bin: utm - _github: https://github.com/utmapp/UTM - _name: UTM - _app: UTM.app - cask: utm - amethyst: - _bin: amethyst - _github: https://github.com/ianyh/Amethyst - _name: Amethyst - _app: Amethyst.app - cask: amethyst - alt-tab: - _bin: alt-tab - _github: https://github.com/lwouis/alt-tab-macos - _name: Alt+Tab for macOS that works like alt+tab on Windows - _app: AltTab.app - cask: alt-tab - fiscript: - _bin: fiscript - _github: https://github.com/Mortennn/FiScript - _name: FiScript - _app: FiScript.app - cask: fiscript - opencommit: - _bin: opencommit - _desc: GPT CLI to auto-generate impressive commits in 1 second - _docs: https://github.com/di-sukharev/opencommit - _github: https://github.com/di-sukharev/opencommit - _home: https://www.npmjs.com/package/opencommit - _name: OpenCommit - npm: opencommit - mosh: - _bin: mosh - _desc: Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. - _docs: https://mosh.org/#usage - _github: https://github.com/mobile-shell/mosh - _home: https://mosh.org/ - _name: Mosh - apk: mosh - apt: mosh - brew: mosh - dnf: mosh - emerge: net-misc/mosh - pacman: mosh - pkg-freebsd: net/mosh - pkg_add: mosh - port: mosh - zypper: mosh - mongodb-atlas: - _bin: atlas - _desc: Install the Atlas CLI to quickly provision and manage Atlas database deployments from the terminal. (Official MongoDB hosted service provider CLI) - _docs: https://www.mongodb.com/docs/atlas/cli/stable/command/atlas/ - _github: https://github.com/mongodb/mongodb-atlas-cli - _home: https://www.mongodb.com/docs/atlas/cli/stable/ - _name: MongoDB Atlas - brew: mongodb-atlas - choco: mongodb-atlas - pywin32: - _bin: pywin32 - _name: Pywin32 - _github: https://github.com/mhammond/pywin32 - pipx:windows: pywin32 - terminal-notifier: - _bin: terminal-notifier - _name: Terminal Notifier - _github: https://github.com/julienXX/terminal-notifier - brew:darwin: terminal-notifier - apprise: - _deps: - - pywin32 - - terminal-notifier - _bin: apprise - _name: Apprise - _github: https://github.com/caronc/apprise - dnf: apprise - pipx: apprise - privaxy: - _bin: privaxy - _desc: Privaxy is the next generation tracker and advertisement blocker. It blocks ads and trackers by MITMing HTTP(s) traffic. - _docs: false - _github: https://github.com/Barre/privaxy - _home: false - _name: Privaxy - _app: Privaxy.app - appimage: barre/privaxy - apt: https://github.com/Barre/privaxy/releases/download/v0.5.2/privaxy_0.5.2_amd64.deb - script:darwin: curl -sSL https://github.com/Barre/privaxy/releases/download/v0.5.2/Privaxy_0.5.2_universal.dmg > /tmp/Privaxy.dmg && sudo hdiutil attach /tmp/Privaxy.dmg && sudo cp -R /Volumes/Privaxy/Privaxy.app /Applications && sudo hdiutil detach /Volumes/Privaxy && rm -f /tmp/Privaxy.dmg + brasero: + _bin: brasero + _desc: null + _docs: null + _github: null + _home: null + _name: Brasero + apt: brasero + dnf: brasero + pacman: brasero brave-browser: + _app: Brave Browser.app _bin: brave _desc: '[Brave Browser](https://brave.com/) is a free and open-source web browser developed by Brave Software, Inc. based on the Chromium web browser. It includes the ability to access Tor websites and has a built-in plugin that replaces ads and pays you to surf the web. It is a privacy-focused browser, which automatically blocks online advertisements and website trackers in its default settings. It also supports Chrome extensions.' _docs: https://support.brave.com/hc/en-us/articles/360035410812-Quickstart-guide-New-to-Brave-Start-here- - _github: https://github.com/brave/brave-browser - _home: https://brave.com/ - _name: Brave Browser - _app: Brave Browser.app _env: BRAVE_BROWSER_APPDATA: cask: "$HOME/Library/Application Support/BraveSoftware/Brave-Browser/Default" choco: "%APPDATA%/Local/BraveSoftware/Brave-Browser/User Data" flatpak: "$HOME/.var/app/com.brave.Browser/config/BraveSoftware/Brave-Browser/Default" snap: "$HOME/snap/brave/current/.config/BraveSoftware/Brave-Browser/Default" + _github: https://github.com/brave/brave-browser + _home: https://brave.com/ + _name: Brave Browser _post: | #!/usr/bin/env bash # @brief See `google-chrome` `_post` script for more details @@ -1807,6 +1227,16 @@ softwarePackages: choco: brave flatpak: com.brave.Browser snap: brave + brew-gem: + _bin: brew-gem + _github: https://github.com/sportngin/brew-gem + _name: Homebrew RubyGems + brew: brew-gem + brew-pkg: + _github: https://github.com/timsutton/brew-pkg + _name: Homebrew Pkg + _when:brew:darwin: '! brew list brew-pkg' + brew:darwin: timsutton/formulae/brew-pkg broot: _bin: broot _desc: '[broot](https://dystroy.org/broot/) offers a new way to see and navigate directory trees.' @@ -1821,18 +1251,6 @@ softwarePackages: emerge: broot pkgin: broot port: broot - rsyslog: - _bin: rsyslogd - _github: https://github.com/rsyslog/rsyslog - _name: RSyslog - _service: rsyslog - _ports: - - port: 514 - proto: tcp - apt: rsyslog - brew: rsyslog - dnf: rsyslog - pacman: rsyslog browser-sync: _bin: browser-sync _desc: '[Browsersync](https://browsersync.io/) allows you to keep multiple browsers & devices in sync when building websites' @@ -1841,6 +1259,15 @@ softwarePackages: _home: https://browsersync.io/ _name: Browsersync npm: browser-sync + browserosaurus: + _app: Browserosaurus.app + _bin: null + _desc: The browser prompter for macOS + _docs: https://github.com/will-stone/browserosaurus + _github: https://github.com/will-stone/browserosaurus + _home: https://browserosaurus.com/ + _name: Browserosaurus + cask: browserosaurus budibase-cli: _bin: budi _desc: '[Budibase](https://budibase.com) The Budibase CLI is how you initialise, manage and update your Budibase installation' @@ -1850,6 +1277,18 @@ softwarePackages: _name: budibase-cli github: github.com/Budibase/budibase npm: '@budibase/cli' + buildkite-agent: + _bin: buildkite-agent + _github: https://github.com/buildkite/agent + _name: BuildKite Agent + brew: buildkite/buildkite/buildkite-agent + bun: + _bin: bun + _github: https://github.com/oven-sh/bun + _name: Bun + brew: oven-sh/bun/bun + npm: bun + proto: bun bundler: _bin: bundler _desc: '[Bundler](https://bundler.io/) provides a consistent environment for Ruby projects by tracking and installing the exact gems and versions that are needed' @@ -1858,6 +1297,23 @@ softwarePackages: _home: https://bundler.io/ _name: Bundler gem: bundler + caddy: + _bin: caddy + _github: https://github.com/caddyserver/caddy + _name: Caddy + _service: caddy + brew: caddy + choco: caddy + scoop: caddy + cakebrew: + _app: Cakebrew.app + _bin: null + _desc: Manage your Homebrew formulas with style using Cakebrew. + _docs: https://www.cakebrew.com/ + _github: https://github.com/brunophilipe/Cakebrew + _home: http://www.cakebrew.com/ + _name: Cakebrew + cask: cakebrew caniuse: _bin: caniuse _desc: caniuse-cmd is a caniuse command line tool, providing all the power of caniuse.com with none of the nice UI or interactivity @@ -1866,26 +1322,11 @@ softwarePackages: _home: null _name: null npm: caniuse-cmd - storybook: - _bin: storybook - _github: https://github.com/storybookjs/storybook - _name: Storybook - npm: storybook - k9s: - _bin: k9s - _github: https://github.com/derailed/k9s - _name: K9s - brew: derailed/k9s/k9s - choco: k9s - pacman: k9s - port: k9s - scoop: k9s - aicommits: - _bin: aicommits - _github: https://github.com/Nutlope/aicommits - _name: AI Commits - brew: aicommits - npm: aicommits + capacitor: + _bin: cap + _github: https://github.com/ionic-team/capacitor + _name: Capacitor + npm: '@capacitor/cli' captain: _bin: captain _desc: Helps manage docker-compose.yml files from anywhere in the file system @@ -1894,12 +1335,15 @@ softwarePackages: _home: null _name: captain go: github.com/jenssegers/captain@latest - lightproxy: - _bin: lightproxy - _github: https://github.com/alibaba/lightproxy - _name: LightProxy - _app: LightProxy.app - cask: lightproxy + carapace: + _bin: carapace + _github: https://github.com/rsteube/carapace-bin + _name: Carapace + brew: rsteube/tap/carapace + nix-shell: carapace + pacman: carapace-bin + scoop: extras/carapace-bin + winget: rsteube.Carapace carbon-now: _bin: carbon-now _desc: '[Carbon](https://carbon.now.sh/) lets you create and share beautiful images of your source code' @@ -1916,40 +1360,48 @@ softwarePackages: _home: null _name: Carthage brew:darwin: carthage - wordops: - _bin: wo - _desc: Install and manage a high performance WordPress stack with a few keystrokes - _docs: https://docs.wordops.net/ - _github: https://github.com/WordOps/WordOps - _home: https://wordops.net/ - _name: WordOps - script:debian: wget -qO wo wops.cc && sudo bash wo - imageoptim: - _bin: null - _docs: null - _desc: Image compressor that utilizes other applications like ImageOptim under the hood - _github: https://github.com/ImageOptim/ImageOptim - _home: https://imageoptim.com/mac - _app: ImageOptim.app - cask: imageoptim - imageoptim-cli: + catfs: + _bin: catfs _deps: - - imageoptim - _bin: imageoptim - _docs: null - _desc: Image compressor that utilizes other applications like ImageOptim under the hood - _github: https://github.com/ImageOptim/ImageOptim - _home: https://imageoptim.com/mac - brew:darwin-x86_64: imageoptim-cli - npm:darwin: imageoptim-cli + - fuse + _desc: Cache anything filesystem written in Rust + _docs: https://github.com/kahing/catfs#usage + _github: https://github.com/kahing/catfs + _home: https://github.com/kahing/catfs + _name: Catfs + ansible:linux: professormanhattan.s3filesystem + cargo:linux: catfs + catlight: + _app: Catlight.app + _github: https://github.com/catlightio/CatLight + _name: Catlight + cask: catlight + deb: https://catlight.io/downloads/linux/beta + ccat: + _bin: ccat + _github: https://github.com/owenthereal/ccat + _name: ccat + brew: ccat + go: github.com/owenthereal/ccat@latest + pacman: ccat + ceph: + _bin: ceph-client + _deps: + - dokany + _github: https://github.com/ceph/ceph + _name: CephFS + apt: cephadm + brew: megabyte-labs/tap/ceph-client + dnf: cephadm + zypper: cephadm cerebro: + _app: Cerebro.app _bin: null _desc: Open-source productivity booster with a brain _docs: null _github: https://github.com/cerebroapp/cerebro _home: null _name: Cerebro - _app: Cerebro.app cask: cerebro choco: cerebro github: github.com/cerebroapp/cerebro @@ -1969,25 +1421,11 @@ softwarePackages: #!/usr/bin/env bash echo "Add method for Windows" pipx: certbot - ugm: - _bin: ugm - _desc: A terminal based UNIX user and group browser - _docs: https://github.com/ariasmn/ugm - _github: https://github.com/ariasmn/ugm - _home: https://github.com/ariasmn/ugm - _name: ugm - go: github.com/ariasmn/ugm@latest - wishlist: - _bin: wishlist - _desc: TUI for listing definitions defined in the SSH directory - _docs: https://github.com/charmbracelet/wishlist - _github: https://github.com/charmbracelet/wishlist - _home: https://charm.sh - _name: Wishlist - brew: charmbracelet/tap/wishlist - nix-env: nixpkgs.wishlist - scoop: wishlist - yay: wishlist-bin + cf-terraforming: + _bin: cf-terraforming + _github: https://github.com/cloudflare/cf-terraforming + _name: CloudFlare Terraforming + cask: cloudflare/cloudflare/cf-terraforming cfssl: _bin: cfssl _desc: "[CFSSL](https://cfssl.org/) is CloudFlare's PKI/TLS swiss army knife. It is both a command line tool and an HTTP API server for signing, verifying, and bundling TLS certificates" @@ -1997,11 +1435,38 @@ softwarePackages: _name: CFSSL brew: cfssl pacman: cfssl - cf-terraforming: - _bin: cf-terraforming - _github: https://github.com/cloudflare/cf-terraforming - _name: CloudFlare Terraforming - cask: cloudflare/cloudflare/cf-terraforming + charm: + _bin: charm + _desc: The Charm Tool and Library + _docs: https://github.com/charmbracelet/charm + _github: https://github.com/charmbracelet/charm + _home: https://charm.sh + _name: Charm + brew: charmbracelet/tap/charm + go: github.com/charmbracelet/charm@main + nix-env: nixpkgs.charm + pacman: charm + chatgpt-menubar: + _app: Chatgpt.app + _bin: null + _desc: ChatGPT for Mac, living in your menubar. + _docs: https://github.com/vincelwt/chatgpt-mac + _github: https://github.com/vincelwt/chatgpt-mac + _home: https://github.com/vincelwt/chatgpt-mac + _name: ChatGPT Menubar for macOS + cask: vincelwt-chatgpt + chatgpt-nofwl: + _app: NoFWL.app + _bin: null + _desc: ChatGPT desktop application (Mac, Windows and Linux) + _docs: https://app.nofwl.com/docs/chatgpt/config + _github: https://github.com/lencx/nofwl + _home: https://app.nofwl.com/ + _name: ChatGPT Desktop (NoFWL Version) + appimage: lencx/nofwl + apt: https://github.com/lencx/nofwl/releases/download/v0.1.0/NoFWL_0.1.0_linux_x86_64.deb + cask: lencx/nofwl/nofwl --no-quarantine + msi: https://github.com/lencx/nofwl/releases/download/v0.1.0/NoFWL_0.1.0_windows_x86_64.msi cheat: _bin: cheat _desc: Cheat allows you to create and view interactive cheatsheets on the command-line. It was designed to help remind *nix system administrators of options for commands that they use frequently, but not frequently enough to remember. @@ -2015,6 +1480,15 @@ softwarePackages: nix: nixos.cheat snap: cheat yay: cheat + chef-workstation: + _app: Chef Workstation App.app + _bin: chef-workstation + _github: https://github.com/chef/chef + _name: Chef Workstation + apt: https://packages.chef.io/files/stable/chef-workstation/21.10.640/ubuntu/20.04/chef-workstation_21.10.640-1_amd64.deb + cask: chef-workstation + choco: chef-workstation + dnf: https://packages.chef.io/files/stable/chef-workstation/21.10.640/el/8/chef-workstation-21.10.640-1.el8.x86_64.rpm chezmoi: _bin: chezmoi _desc: Manage your dotfiles across multiple diverse machines, securely. @@ -2031,168 +1505,28 @@ softwarePackages: snap: chezmoi --classic xbps: chezmoi zypper: chezmoi - google-chrome: + chrome-cli: + _bin: chrome-cli + _desc: chrome-cli is a command line utility for controlling Google Chrome compatible browsers on OS X. It is a native binary that uses the Scripting Bridge to communicate with Chrome + _docs: null + _github: https://github.com/prasmussen/chrome-cli + _home: null + _name: null + brew:darwin: chrome-cli + chrome-gnome-shell: _bin: null - _deps: - - chrome-gnome-shell - _desc: '[Google Chrome](https://www.google.com/chrome/) is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android where it is the default browser built into the OS.' - _docs: https://developer.chrome.com/docs/extensions/reference/ - _github: Not open-source - _home: https://www.google.com/chrome/ - _name: Google Chrome - _app: Google Chrome.app - _env: - GOOGLE_CHROME_APPDATA: - cask: "$HOME/Library/Application Support/Google/Chrome/Default" - flatpak: "$HOME/.var/app/com.google.Chrome/config/google-chrome/Default" - _post: | - #!/usr/bin/env bash - # @file Chrome Settings / Extensions - # @brief This script configures Chrome, Brave, and Chromium system-wide managed / recommended policies settings. It also pre-loads a configurable list of Chrome extensions to Chrome, Brave, Chromium, and Edge (if they are installed). - # @description - # This Chrome setup script applies system-wide settings and pre-loads Chrome extensions into the browser profiles. The - # extensions still must be enabled but they appear in the Chrome extensions menu and can be enabled with the toggle. The - # system settings are applied to Chrome, Chromium, and Brave. Extensions are installed to the same browsers plus Microsoft Edge. - # - # ## Features - # - # * Adds `~/.config/chrome/managed.json` to the `managed/policies.json` system locations - # * Adds `~/.config/chrome/recommended.json` to the `recommended/policies.json` system locations - # * Pre-loads extension metadata for all the extensions defined under `chromeExtensions` in the [`home/.chezmoidata.yaml`](https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoidata.yaml) file - # - # ## TODO - # - # * Automatically enable the extensions that are pre-loaded - # * Create several profiles with different characteristics (similar to the Firefox setup script) - # * Ensure the directories that the script cycles through to install managed settings and extensions are complete for all installation types (i.e. there might need to be some additions for Flatpak installations since their folder structure is different) - # * Document how [`chromium-flags.conf`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chromium-flags.conf) can be or is integrated - # - # ## Links - # - # * [`managed.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chrome/managed.json) - # * [`recommended.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chrome/recommended.json) - - function chromeSetUp() { - ### Ensure Chrome policies directory is present - logg info 'Processing policy directories for Chromium based browsers' - for POLICY_DIR in "/opt/google/chrome/policies"; do - if [ -d "$(dirname "$POLICY_DIR")" ]; then - ### Managed policies - if [ ! -f "$POLICY_DIR/managed/policies.json" ]; then - logg info "Ensuring directory $POLICY_DIR/managed exists" - sudo mkdir -p "$POLICY_DIR/managed" - logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json to $POLICY_DIR/managed/policies.json" - sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json" "$POLICY_DIR/managed/policies.json" - fi - - ### Recommended policies - if [ ! -f "$POLICY_DIR/recommended/policies.json" ]; then - logg info "Ensuring directory $POLICY_DIR/recommended exists" && sudo mkdir -p "$POLICY_DIR/recommended" - logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json to $POLICY_DIR/recommended/policies.json" - sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json" "$POLICY_DIR/recommended/policies.json" - fi - else - logg info "Skipping extension injection into $POLICY_DIR - create these folders prior to running to create managed configs" - fi - done - - ### Add Chrome extension JSON - logg info 'Populating Chrome extension JSON' - for EXTENSION_DIR in "/opt/google/chrome/extensions" "$HOME/Library/Application Support/Google/Chrome/External Extensions"; do - ### Ensure program-type is installed - if [ -d "$(dirname "$EXTENSION_DIR")" ]; then - ### Ensure extension directory exists - if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then - if [ ! -d "$EXTENSION_DIR" ]; then - logg info "Creating directory $EXTENSION_DIR" && sudo mkdir -p "$EXTENSION_DIR" - fi - else - if [ ! -d "$EXTENSION_DIR" ]; then - logg info "Creating directory $EXTENSION_DIR" && mkdir -p "$EXTENSION_DIR" - fi - fi - - ### Add extension JSON - logg info "Adding Chrome extensions to $EXTENSION_DIR" - for EXTENSION in {{ list (.chromeExtensions | toString | replace "[" "" | replace "]" "") | uniq | join " " }}; do - logg info "Adding Chrome extension manifest ($EXTENSION)" - if ! echo "$EXTENSION" | grep 'https://chrome.google.com/webstore/detail/' > /dev/null; then - EXTENSION="https://chrome.google.com/webstore/detail/$EXTENSION" - fi - EXTENSION_ID="$(echo "$EXTENSION" | sed 's/^.*\/\([^\/]*\)$/\1/')" - if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then - sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" - else - cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" - fi - done - else - logg info "$EXTENSION_DIR does not exist" - fi - done - } - chromeSetUp - ansible: professormanhattan.chrome - cask: google-chrome - choco: googlechrome - flatpak: com.google.Chrome - yay: google-chrome - google-drive: - _bin: google-drive - _desc: Google Drive for Desktop integrates a Google Drive account into your macOS / Windows workstation by adding a menubar with options to synchronize folders to the cloud. - _docs: false - _github: false - _home: https://www.google.com/drive/download/ - _name: Google Drive - _app: Google Drive.app - cask: google-drive - choco: googledrive - tor-browser: - _bin: tor-browser - _desc: Tor, short for The Onion Router, is free and open-source software for enabling anonymous communication. It directs Internet traffic through a free, worldwide, volunteer overlay network, consisting of more than seven thousand relays, to conceal a user's location and usage. - _docs: https://www.torproject.org/docs/documentation.html.en - _github: https://github.com/TheTorProject/gettorbrowser - _home: https://www.torproject.org/ - _name: Tor Browser - _restricted: true - _app: Tor Browser.app - _env: - TOR_BROWSER_APPDATA: - cask: "$HOME/Library/Application Support/TorBrowser-Data/Tor" - choco: "TODO" - flatpak: "TODO" - cask: tor-browser - choco: tor-browser - flatpak: com.github.micahflee.torbrowser-launcher - dconf-editor: - _bin: dconf-editor - flatpak: ca.desrt.dconf-editor - dokany: - _bin: dokany - _github: https://github.com/dokan-dev/dokany - _name: Dokany - _note: Required for CephFS on Windows - choco: dokany - sshs: - _bin: sshs - _github: https://github.com/quantumsheep/sshs - _name: SSHS - brew: sshs - choco: sshs - ceph: - _deps: - - dokany - _bin: ceph-client - _github: https://github.com/ceph/ceph - _name: CephFS - apt: cephadm - brew: megabyte-labs/tap/ceph-client - dnf: cephadm - zypper: cephadm + _desc: Browser extension for Google Chrome/Chromium, Firefox, Vivaldi (and other Browser Extension, Chrome Extension or WebExtensions capable browsers) and native host messaging connector that provides integration with GNOME Shell and the corresponding extensions repository + _docs: null + _github: https://gitlab.gnome.org/GNOME/gnome-browser-extension + _home: ttps://wiki.gnome.org/Projects/GnomeShellIntegration + _name: null + apt: chrome-gnome-shell + dnf: chrome-gnome-shell + pacman: chrome-gnome-shell chromium: + _bin: chromium _deps: - chrome-gnome-shell - _bin: chromium _post: | #!/usr/bin/env bash function chromeSetUp() { @@ -2260,24 +1594,6 @@ softwarePackages: dnf: chromium flatpak: org.chromium.Chromium snap: chromium - chrome-cli: - _bin: chrome-cli - _desc: chrome-cli is a command line utility for controlling Google Chrome compatible browsers on OS X. It is a native binary that uses the Scripting Bridge to communicate with Chrome - _docs: null - _github: https://github.com/prasmussen/chrome-cli - _home: null - _name: null - brew:darwin: chrome-cli - chrome-gnome-shell: - _bin: null - _desc: Browser extension for Google Chrome/Chromium, Firefox, Vivaldi (and other Browser Extension, Chrome Extension or WebExtensions capable browsers) and native host messaging connector that provides integration with GNOME Shell and the corresponding extensions repository - _docs: null - _github: https://gitlab.gnome.org/GNOME/gnome-browser-extension - _home: ttps://wiki.gnome.org/Projects/GnomeShellIntegration - _name: null - apt: chrome-gnome-shell - dnf: chrome-gnome-shell - pacman: chrome-gnome-shell clair: _bin: clair _desc: Vulnerability Static Analysis for Containers @@ -2287,40 +1603,6 @@ softwarePackages: _name: clair brew: clair github: github.com/quay/clair - gitlabform: - _bin: gitlabform - _github: https://github.com/gitlabform/gitlabform/ - pipx: gitlabform - jc: - _bin: jc - _desc: null - _github: https://github.com/kellyjonbrazil/jc - _home: null - _name: jc - apt: jc - dnf: jc - zypper: jc - pacman: jc - nix-env: nixpkgs.jc - brew: jc - pipx: jc - podman: - _bin: podman - _github: https://github.com/containers/podman - _name: Podman - apk: podman - apt: podman - bitbake: podman - brew: podman - dnf: podman - emerge: app-containers/podman - pacman: podman - zypper: podman - medusa: - _bin: medusa - _github: https://github.com/medusajs/medusa - _name: Medusa - npm: '@medusajs/medusa-cli' clamav: _bin: clamav-config _desc: '[ClamAV](https://www.clamav.net/) is an open-source antivirus engine for detecting trojans, viruses, malware & other malicious threats.' @@ -2362,11 +1644,11 @@ softwarePackages: sudo launchctl load -w /Library/LaunchDaemons/freshclam.plist fi _service:apt: clamav-freshclam - _service:dnf: clamd-freshclam - _service:pacman: clamav-freshclam _service:brew: - name: clamav sudo: true + _service:dnf: clamd-freshclam + _service:pacman: clamav-freshclam _serviceEnabled: true apt: - clamav @@ -2389,6 +1671,35 @@ softwarePackages: dnf: clang-tools-extra pacman: clang scoop: llvm + clipboard: + _bin: cb + _github: https://github.com/Slackadays/Clipboard.git + _name: Clipboard + apk: clipboard + brew: clipboard + emerge: app-misc/clipboard + flatpak: app.getclipboard.Clipboard + nix-env: nixpkgs.clipboard-jh + scoop: clipboard + snap: clipboard + xbps: clipboard + yay: clipboard + cloc: + _bin: cloc + _github: https://github.com/AlDanial/cloc + _name: Cloc + apk: cloc + apt: cloc + brew: cloc + choco: cloc + dnf: cloc + emerge: dev-util/cloc + npm: cloc + pacman: cloc + pkg-freebsd: cloc + pkg_add: cloc + port: cloc + scoop: cloc clocker: _app: Clocker.app _bin: null @@ -2398,6 +1709,11 @@ softwarePackages: _home: null _name: null cask: clocker + cloudflare-cli: + _bin: cfcli + _github: https://github.com/danielpigott/cloudflare-cli + _name: CloudFlare CLI + npm: cloudflare-cli cloudflared: _bin: cloudflared _desc: '[CloudFlare Argo Tunnel Client](https://developers.cloudflare.com/argo-tunnel/) contains the command-line client for CloudFlare Argo Tunnel, a tunneling daemon that proxies any local webserver through the Cloudflare network.' @@ -2526,6 +1842,8 @@ softwarePackages: #!/usr/bin/env bash sudo usermod -a -G libvirtdbus libvirt _service:pacman: cockpit.socket + _systemd: cockpit + _systemd:pacman: cockpit.socket ansible:linux: professormanhattan.cockpit apt: - 389-ds-base @@ -2566,17 +1884,10 @@ softwarePackages: - cockpit-podman - cockpit-storaged - libvirt-dbus - _systemd: cockpit - _systemd:pacman: cockpit.socket - libre-menu-editor: - _bin: libre-menu-editor - _github: null - _name: Libre Menu Editor for GNOME - flatpak: page.codeberg.libre_menu_editor.LibreMenuEditor cockpit-client: _bin: cockpit-client - _home: https://cockpit-project.org/ _github: https://github.com/cockpit-project/cockpit + _home: https://cockpit-project.org/ _name: Cockpit Desktop Client flatpak: org.cockpit_project.CockpitClient cocoapods: @@ -2589,6 +1900,42 @@ softwarePackages: ansible:darwin: professormanhattan.cocoapods brew:darwin: cocoapods gem:darwin: cocoapods + cod: + _bin: cod + _desc: Cod is a completion daemon for bash/fish/zsh that automatically adds auto-completions when --help is used + _docs: https://github.com/dim-an/cod + _github: https://github.com/dim-an/cod + _home: https://github.com/dim-an/cod + _name: Cod + _todo: Check for brew install later on (5/14/2023) + go: github.com/dim-an/cod@master + codeclimate: + _bin: codeclimate + _desc: null + _docs: null + _github: https://github.com/codeclimate/codeclimate + _home: null + _name: CodeClimate + _todo: Add check to ensure Docker is loaded / running + _usesDocker: true + brew: codeclimate/formulae/codeclimate + brew:darwin: codeclimate/formulae/codeclimate + script:linux: cd /tmp && curl -L https://github.com/codeclimate/codeclimate/archive/master.tar.gz | tar xvz && cd codeclimate-* && sudo make install + codeedit: + _app: CodeEdit.app + _bin: codeedit + _github: https://github.com/CodeEditApp/CodeEdit + _name: CodeEdit + _todo: TODO once this is out of alpha + cask: codeedit + coder: + _bin: coder + _desc: A tool that provisions remote development environments via Terraform + _docs: https://coder.com/docs/v1/latest + _github: https://github.com/coder/coder + _home: https://coder.com/ + _name: Coder + brew: coder cointop: _bin: cointop _desc: '[Cointop](https://github.com/miguelmota/cointop) is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time.' @@ -2624,39 +1971,6 @@ softwarePackages: _home: null _name: Common ansible: professormanhattan.common - phpmon: - _bin: phpmon - _name: PHP Mon - _github: https://github.com/nicoverbruggen/phpmon - _app: PHP Monitor.app - _pre: | - #!/usr/bin/env bash - if ! command -v valet > /dev/null; then - if ! command -v composer > /dev/null; then - brew install composer - fi - composer global require laravel/valet - valet install - valet trust - fi - cask: nicoverbruggen/homebrew-cask/phpmon - mise: - _bin: mise - _github: - _name: mise - _post: | - #!/usr/bin/env bash - mise install - if [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/mise/installs/java/openjdk-20/Contents" ]; then - sudo mkdir -p /Library/Java/JavaVirtualMachines/openjdk-20.jdk - sudo ln -s "${XDG_DATA_HOME:-$HOME/.local/share}/mise/installs/java/openjdk-20/Contents" /Library/Java/JavaVirtualMachines/openjdk-20.jdk/Contents - fi - apk: mise - brew: mise - cargo: mise-cli - nix-env: mise - npm: '@jdxcode/mise' - port: port composer: _bin: composer _desc: '[Composer](https://getcomposer.org/) is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project.' @@ -2682,6 +1996,9 @@ softwarePackages: choco: confd github: github.com/kelseyhightower/confd yay: confd + connections: + _bin: connections + flatpak: org.gnome.Connections consul-cli: _bin: consul _desc: '[Consul](https://www.consul.io/) uses service identities and traditional networking practices to help organizations securely connect applications running in any environment' @@ -2705,25 +2022,6 @@ softwarePackages: brew: consul-template choco: consul-template scoop: main/consul - microsoft-git: - _bin: scalar - _name: Microsoft Git (with Git VFS) - _github: https://github.com/microsoft/VFSForGit - cask: microsoft/git/microsoft-git - script:linux: | - #!/usr/bin/env bash - mkdir -p "$HOME/.local/src" - rm -rf "$HOME/.local/src/microsoft-git" - git clone https://github.com/microsoft/git "$HOME/.local/src/microsoft-git" - cd "$HOME/.local/src/microsoft-git" - make -j12 prefix=/usr/local - sudo make -j12 prefix=/usr/local install - winget: microsoft.git - meta: - _bin: meta - _github: https://github.com/mateodelnorte/meta - _name: Meta - npm: meta container-structure-test: _bin: container-structure-test _desc: The Container Structure Tests provide a powerful framework to validate the structure of a container image. These tests can be used to check the output of commands in an image, as well as verify metadata and contents of the filesystem @@ -2755,6 +2053,16 @@ softwarePackages: _home: https://cordova.apache.org/ _name: Apache Cordova npm: cordova + coreutils: + _bin: + - cat + - ls + - rm + _bin:darwin: gchown + apt: coreutils + brew: coreutils + dnf: coreutils + pacman: coreutils croc: _bin: croc _desc: Easily and securely send things from one computer to another @@ -2769,6 +2077,33 @@ softwarePackages: pacman: croc pkg: croc scoop: croc + crunch: + _app: Crunch.app + _bin: crunch + _desc: The crunch command line executable is a *nix executable that supports parallel PNG image optimization with local (off of the system PATH) installs of the pngquant and zopflipng project dependencies. + _docs: https://github.com/chrissimpkins/Crunch + _github: https://github.com/chrissimpkins/Crunch + _home: https://github.com/chrissimpkins/Crunch + _name: Crunch + cask: crunch + script: cd /tmp && rm -rf Crunch && git clone https://github.com/chrissimpkins/Crunch.git && make build-dependencies && make install-executable && cd /tmp && rm -rf Crunch && rm -rf ~/zopfli && rm -rf ~/pngquant && echo "TODO WARNING - The ~/zopfli and ~/pngquant directories were deleted and may be required (but were removed due to HOME directory pollution)" + crunch-app: + _app: Crunch.app + _bin: null + _desc: The macOS companion app for the crunch CLI tool that compresses PNG images. + _docs: https://github.com/chrissimpkins/Crunch/blob/master/docs/MACOSGUI.md + _github: https://github.com/chrissimpkins/Crunch + _home: https://github.com/chrissimpkins/Crunch + _name: Crunch macOS App + cask: crunch + cryptomator: + _app: Cryptomator.app + _bin: cryptomator + cask: cryptomator + choco: cryptomator + flatpak: org.cryptomator.Cryptomator + csvkit: + brew: csvkit ctop: _bin: ctop _desc: Top-like interface for container metrics @@ -2789,15 +2124,6 @@ softwarePackages: _name: Cumulus cask: cumulus github: github.com/gillesdemey/Cumulus - trunk: - _bin: trunk - _desc: An all-in-one linter / code auto-fixer augmented by a freemium web service - _docs: https://docs.trunk.io/ - _github: - _home: https://trunk.io/ - cask: trunk-io - npm: '@trunkio/launcher' - script: curl https://get.trunk.io -fsSL | bash -s -- -y cups: _bin: cupsctl _desc: '[CUPS](https://www.cups.org/) is a modular printing system for Unix-like computer operating systems which allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer.' @@ -2808,6 +2134,7 @@ softwarePackages: _ports: - port: 631 proto: tcp + _systemd: smbd ansible: professormanhattan.cups apt: - avahi-daemon @@ -2817,16 +2144,6 @@ softwarePackages: pacman: - avahi-daemon - cups - _systemd: smbd - upscayl: - _bin: upscayl - _github: https://github.com/upscayl/upscayl - _name: Upscayl - _todo: Recheck for Homebrew Cask - appimage: Upscayl - choco: upscayl - flatpak: org.upscayl.Upscayl - snap: upscayl curator: _bin: curator _desc: Elasticsearch Curator helps you curate, or manage, your Elasticsearch indices and snapshots @@ -2864,6 +2181,25 @@ softwarePackages: pkg: curlie port: curlie scoop: curlie + cutter: + _app: Cutter.app + _bin: cutter + cask: cutter + choco: cutter + flatpak: re.rizin.cutter + d2vm: + _bin: d2vm + _github: https://github.com/linka-cloud/d2vm + _name: Docker 2 VM + brew: linka-cloud/tap/d2vm + dagu: + _bin: dagu + _github: + _name: Dagu + _post: | + #!/usr/bin/env bash + sudo mkdir -p /var/log/dagu + brew: yohamta/tap/dagu dasel: _bin: dasel _desc: Select, put and delete data from JSON, TOML, YAML, XML and CSV files with a single tool @@ -2874,16 +2210,6 @@ softwarePackages: brew: dasel github: github.com/TomWright/dasel go: github.com/tomwright/dasel/cmd/dasel@master - syncthing: - _bin: syncthing - _github: https://github.com/syncthing/syncthing - _name: Syncthing - _service: syncthing - _serviceEnabled: true - brew: syncthing - choco: syncthing - port: syncthing - scoop: syncthing dat: _bin: dat _desc: Peer-to-peer sharing & live syncronization of files via command line @@ -2904,6 +2230,9 @@ softwarePackages: appimage: dat-ecosystem-archive/dat-desktop cask: dat exe: https://github.com/dat-ecosystem-archive/dat-desktop/releases/download/v3.0.1/Dat-Desktop-Setup-3.0.1.exe + dconf-editor: + _bin: dconf-editor + flatpak: ca.desrt.dconf-editor debloat: _bin: null _desc: This repository is the home of an Ansible role that Debloats Windows @@ -2929,6 +2258,9 @@ softwarePackages: _home: null _name: Default Browser Setter ansible: professormanhattan.defaultbrowser + deja-dup: + _bin: dejadup + flatpak: org.gnome.DejaDup delta: _bin: delta _desc: '[delta](https://github.com/dandavison/delta) is a viewer for git and diff output' @@ -2944,12 +2276,6 @@ softwarePackages: pacman: git-delta pkg: git-delta scoop: delta - git-jump: - _bin: git-jump - _github: https://github.com/mykolaharmash/git-jump - _name: Git Jump - brew: mykolaharmash/git-jump/git-jump - npm: git-jump delve: _bin: dlv _desc: Delve is a debugger for the Go programming language. @@ -2984,6 +2310,11 @@ softwarePackages: github: github.com/SoptikHa2/desed pkg: desed xbps-freebsd: desed + desk: + _bin: desk + _github: https://github.com/jamesob/desk + _name: Desk + brew: desk desktop: _bin: null _desc: This role is essentially the place where all desktop-specific tasks that are substantial enough for their own role are placed. @@ -3003,6 +2334,35 @@ softwarePackages: script:darwin: curl -fsSL https://get.deta.dev/cli.sh | sh script:linux: curl -fsSL https://get.deta.dev/cli.sh | sh script:windows: iwr https://get.deta.dev/cli.ps1 -useb | iex + devbox: + _bin: devbox + _github: https://github.com/jetpack-io/devbox + _todo: Revisit because install via script would require expect since piping y to the installer is not working + # nix-env: nixpkgs.devbox + # script: curl -fsSL https://get.jetpack.io/devbox | bash + devpod: + _bin: devpod + _github: https://github.com/loft-sh/devpod + _name: DevPod + cask: devpod + devspace: + _bin: devspace + _github: https://github.com/devspace-sh/devspace + _name: DevSpace + brew: devspace + npm: devspace + scoop: devspace + devtoys: + _app: DevToys.app + _bin: devtoys + _github: https://github.com/ObuchiYuki/DevToysMac + cask: devtoys + devtoys-windows: + _bin: devtoys + _github: https://github.com/veler/DevToys + _name: Windows DevToys + choco: devtoys + winget: devtoys dframe: _bin: dframe _desc: Put device frames around your mobile/web/progressive app screenshots @@ -3011,6 +2371,19 @@ softwarePackages: _home: null _name: null npm: deviceframe + dialect: + _bin: dialect + flatpak: app.drey.Dialect + dialog: + _bin: dialog + _github: false + _home: https://invisible-island.net/dialog/ + _name: Dialog + apt: dialog + brew: dialog + choco: dialog + dnf: dialog + pacman: dialog difftastic: _bin: difft _desc: Difftastic is a structural diff tool that understands syntax. @@ -3031,6 +2404,21 @@ softwarePackages: apt: direnv brew: direnv github: github.com/direnv/direnv + discord: + _app: Discord.app + _bin: discord + _name: Discord + cask: discord + choco: discord + flatpak: com.discordapp.Discord + distrobox: + _bin: distrobox + _github: https://github.com/89luca89/distrobox + _name: Distrobox + apk: distrobox + apt: distrobox + dnf: distrobox + pacman: distrobox dive: _bin: dive _desc: '[dive](https://github.com/wagoodman/dive) is a tool for exploring a docker image, layer contents, and discovering ways to shrink the size of the Docker/OCI image.' @@ -3052,114 +2440,6 @@ softwarePackages: _home: null _name: DNS ansible: professormanhattan.dns - plymouth: - _post: | - #!/usr/bin/env bash - # @file Plymouth Theme / Configuration - # @brief Configures Plymouth to use a custom theme - # @description - # This script installs Plymouth and then configures it to use our custom Betelgeuse theme. - - ### Create /etc/plymouth/plymouthd.conf - if [ -f /etc/plymouth/plymouthd.conf ]; then - ### Back up original plymouthd.conf - if [ ! -f /etc/plymouth/plymouthd.conf.bak ]; then - logg info 'Backing up /etc/plymouth/plymouthd.conf to /etc/plymouth/plymouthd.conf.bak' - sudo cp -f /etc/plymouth/plymouthd.conf /etc/plymouth/plymouthd.conf.bak - fi - - ### Create new plymouthd.conf - logg info 'Populating the /etc/plymouth/plymouthd.conf file' - echo "[Daemon]" | sudo tee /etc/plymouth/plymouthd.conf > /dev/null - echo "Theme={{ .theme }}" | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null - echo "ShowDelay=1" | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null - fi - - ### Apply update-alternatives - if command -v update-alternatives > /dev/null; then - if [ -f "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" ]; then - sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" 100 - logg success 'Installed default.plymouth' - # Required sometimes - sudo update-alternatives --set default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" - logg success 'Set default.plymouth' - else - logg warn "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth does not exist!" - fi - else - logg warn 'update-alternatives is not available' - fi - - ### Update /etc/plymouth/plymouthd.conf - # Replaced by code above - # if [ -f /etc/plymouth/plymouthd.conf ]; then - # logg info 'Setting ShowDelay=1 in /etc/plymouth/plymouthd.conf' - # if cat /etc/plymouth/plymouthd.conf | grep ShowDelay; then - # sudo sed -i 's/^ShowDelay=.*/ShowDelay=1/' /etc/plymouth/plymouthd.conf - # else - # echo 'ShowDelay=1' | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null - # fi - # else - # logg warn '/etc/plymouth/plymouthd.conf does not exist!' - # fi - - ### Symlink /usr/local/share/plymouth/themes to /usr/share/plymouth/themes - if [ ! -d '/usr/share/plymouth/themes/{{ .theme }}' ]; then - logg info 'Symlinking /usr/local/share/plymouth/themes/{{ .theme }} to /usr/share/plymouth/themes/{{ .theme }}' - sudo ln -s '/usr/local/share/plymouth/themes/{{ .theme }}' '/usr/share/plymouth/themes/{{ .theme }}' - fi - - ### Set default Plymouth theme - if command -v plymouth-set-default-theme > /dev/null; then - sudo plymouth-set-default-theme -R '{{ .theme }}' || EXIT_CODE=$? - if [ -n "$EXIT_CODE" ]; then - logg warn 'There may have been an issue while setting the Plymouth default theme with plymouth-set-default-theme' - else - logg success 'Set Plymouth default theme with plymouth-set-default-theme' - fi - else - logg warn 'Could not apply default Plymouth theme because plymouth-set-default-theme is missing' - fi - - ### Apply update-alternatives (again - required sometimes) - if command -v update-alternatives > /dev/null; then - if [ -f "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" ]; then - # Required sometimes - sudo update-alternatives --set default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" - logg success 'Set default.plymouth (second time is required sometimes)' - else - logg warn "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth does not exist!" - fi - else - logg warn 'update-alternatives is not available' - fi - - ### Update kernel / initrd images - # Set `export DEBUG_MODE=true` to bypass GRUB2 / Plymouth application - if [ "$DEBUG_MODE" != 'true' ]; then - if command -v update-initramfs > /dev/null; then - logg info 'Running sudo update-initramfs -u' - sudo update-initramfs -u - logg success 'Updated kernel / initrd images for Plymouth' - elif command -v dracut > /dev/null; then - logg info 'Running sudo dracut --regenerate-all -f' - sudo dracut --regenerate-all -f - logg success 'Updated kernel / initrd images for Plymouth' - else - logg warn 'Unable to update kernel / initrd images because neither update-initramfs or dracut are available' - fi - fi - apt: - - libplymouth5 - - plymouth - - plymouth-themes - - plymouth-label - dnf: - - plymouth - # - plymouth-x11 - - plymouth-plugin-script - pacman: - - plymouth dnsmasq: _bin: dnsmasq _desc: '[Dnsmasq](https://wiki.debian.org/dnsmasq) is free software providing Domain Name System caching, a Dynamic Host Configuration Protocol server, router advertisement and network boot features, intended for small computer networks.' @@ -3174,106 +2454,88 @@ softwarePackages: dnf: dnsmasq pacman: dnsmasq port: dnsmasq - espanso: - _bin: espanso - _github: https://github.com/espanso/espanso - _name: Espanso - _app: Espanso.app - _post:snap: | - #!/usr/bin/env bash - espanso service register && espanso start - _post:appimage: | - #!/usr/bin/env bash - espanso service register && espanso start - appimage: federico-terzi/espanso - cask: espanso - choco: espanso - snap: espanso --channel=latest/edge --classic - bun: - _bin: bun - _github: https://github.com/oven-sh/bun - _name: Bun - brew: oven-sh/bun/bun - npm: bun - proto: bun - ntfy: - _bin: nfty - _github: https://github.com/dschep/ntfy - _name: NFTY - _post: | - #!/usr/bin/env bash - sudo mkdir -p /usr/local/etc/branding - sudo cp -f "$HOME/.local/etc/branding/logo-color-256x256.png" /usr/local/etc/branding/logo-color-256x256.png - sudo mkdir -p /usr/local/share/sounds - sudo rsync -rtvp "${XDG_DATA_HOME:-$HOME/.local/share}/sounds/" /usr/local/share/sounds - if command -v apt-get > /dev/null; then - sudo apt install python-dbus - fi - if command -v termux-setup-storage > /dev/null; then - apt install termux-api - fi - pip3: ntfy[emoji,matrix,pid,slack] - makeself: - _bin: makeself - _github: https://github.com/megastep/makeself - _name: MakeSelf - brew: makeself + docker: + _bin: docker + _deps: + - docker-images + _desc: null + _docs: null + _github: null + _home: null + _name: Docker CLI + apt: + - containerd.io + - docker-ce + - docker-ce-cli + - docker-compose-plugin + dnf: + - containerd.io + - docker-ce + - docker-ce-cli + - docker-compose-plugin + pacman: + - containerd.io + - docker-ce + - docker-ce-cli + - docker-compose-plugin + script:darwin: echo "Docker CLI installed by Docker Desktop on macOS" + zypper: + - containerd.io + - docker-ce + - docker-ce-cli + - docker-compose-plugin + docker-credential-helper: + _bin:darwin: docker-credential-osxkeychain + _bin:linux: docker-credential-secretservice + _bin:windows: docker-credential-wincred + _desc: Programs to keep Docker login credentials safe by storing in platform keystores + _docs: https://github.com/docker/docker-credential-helpers + _github: https://github.com/docker/docker-credential-helpers + _home: https://github.com/docker/docker-credential-helpers + _name: Docker Credential Helper + _preload: true + brew: docker-credential-helper docker-desktop: + _app: Docker.app _desc: '[Docker](https://www.docker.com/) is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. Containers are isolated from one another and bundle their own software, libraries and configuration files; they can communicate with each other through well-defined channels. [Docker Desktop](https://www.docker.com/products/docker-desktop/) adds a sleek UI for Docker and makes it easier to manage Docker on macOS and Windows.' _docs: https://docs.docker.com/ _github: https://github.com/docker/compose _home: https://www.docker.com/ _name: Docker Desktop - _app: Docker.app - _post: | - #!/usr/bin/env bash - # @file DockerHub Login - # @brief Logs into DockerHub for Docker Desktop - # @description - # This script logs into DockerHub so that Docker Desktop is pre-authenticated. This - # functionality requires that the `DOCKERHUB_USER` be passed in as an environment variable (or - # directly editted in the `~/.config/chezmoi/chezmoi.yaml` file) and that the `DOCKERHUB_TOKEN` - # be passed in as a secret (either via the encrypted secret method or passed in as an environment - # variable). - - ### Login to DockerHub - if command -v docker > /dev/null; then - DOCKERHUB_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "DOCKERHUB_TOKEN")) }}{{- includeTemplate "secrets/DOCKERHUB_TOKEN" | decrypt | trim -}}{{ else }}{{- env "DOCKERHUB_TOKEN" -}}{{ end }}" - DOCKERHUB_USER="{{ .user.docker.username }}" - if [ -d "/Applications/Docker.app" ] || [ -d "$HOME/Applications/Docker.app" ]; then - logg info 'Ensuring Docker.app is open' && open --background -a Docker --args --accept-license --unattended - fi - logg info 'Headlessly authenticating with DockerHub registry' && echo "$DOCKERHUB_TOKEN" | docker login -u "$DOCKERHUB_USER" --password-stdin > /dev/null && logg success 'Successfully authenticated with DockerHub registry' - fi - - ### Symlink on macOS - if [ -f "$HOME/Library/Containers/com.docker.docker/Data/docker.raw.sock" ]; then - logg info 'Symlinking /var/run/docker.sock to macOS Library location' && sudo ln -s "$HOME/Library/Containers/com.docker.docker/Data/docker.raw.sock" /var/run/docker.sock - fi + _post: "#!/usr/bin/env bash\n# @file DockerHub Login\n# @brief Logs into DockerHub for Docker Desktop\n# @description\n# This script logs into DockerHub so that Docker Desktop is pre-authenticated. This\n# functionality requires that the `DOCKERHUB_USER` be passed in as an environment variable (or \n# directly editted in the `~/.config/chezmoi/chezmoi.yaml` file) and that the `DOCKERHUB_TOKEN`\n# be passed in as a secret (either via the encrypted secret method or passed in as an environment\n# variable).\n\n### Login to DockerHub\nif command -v docker > /dev/null; then\n DOCKERHUB_TOKEN=\"{{ if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"DOCKERHUB_TOKEN\")) }}{{- includeTemplate \"secrets/DOCKERHUB_TOKEN\" | decrypt | trim -}}{{ else }}{{- env \"DOCKERHUB_TOKEN\" -}}{{ end }}\"\n DOCKERHUB_USER=\"{{ .user.docker.username }}\"\n if [ -d \"/Applications/Docker.app\" ] || [ -d \"$HOME/Applications/Docker.app\" ]; then\n logg info 'Ensuring Docker.app is open' && open --background -a Docker --args --accept-license --unattended\n fi\n logg info 'Headlessly authenticating with DockerHub registry' && echo \"$DOCKERHUB_TOKEN\" | docker login -u \"$DOCKERHUB_USER\" --password-stdin > /dev/null && logg success 'Successfully authenticated with DockerHub registry'\nfi\n\n### Symlink on macOS\nif [ -f \"$HOME/Library/Containers/com.docker.docker/Data/docker.raw.sock\" ]; then\n logg info 'Symlinking /var/run/docker.sock to macOS Library location' && sudo ln -s \"$HOME/Library/Containers/com.docker.docker/Data/docker.raw.sock\" /var/run/docker.sock\nfi\n" apt: https://desktop.docker.com/linux/main/amd64/docker-desktop-4.16.2-amd64.deb cask: docker choco: docker-desktop dnf: https://desktop.docker.com/linux/main/amd64/docker-desktop-4.16.2-x86_64.rpm pacman: https://desktop.docker.com/linux/main/amd64/docker-desktop-4.16.2-x86_64.pkg.tar.zst - pushpin: - _bin: pushpin - _github: https://github.com/fastly/pushpin - _name: Pushpin - brew: pushpin - pb: - _bin: pushbullet - _github: https://github.com/sidneys/pb-for-desktop - _name: Pushbullet for Desktop - _app: PB for Desktop.app - appimage: sidneys/pb-for-desktop - cask: pb - choco: pushbullet - sidekick: - _bin: sidekick - _github: false - _name: Sidekick - _app: Sidekick.app - cask: pushplaylabs-sidekick + docker-images: + _desc: This entry is used to trigger a post-installation docker image pre-load. See the `docker-images` entry in `.chezmoidata.yaml`. + script: echo "Enabling docker-images pre-load" + docker-langserver: + _bin: docker-langserver + _desc: A Docker language server + _docs: https://github.com/rcjsuen/dockerfile-language-server-nodejs + _github: https://github.com/rcjsuen/dockerfile-language-server-nodejs + _home: https://github.com/rcjsuen/dockerfile-language-server-nodejs + _name: Docker Language Server + npm: dockerfile-language-server-nodejs + docker-plugins: + _desc: This entry is used to trigger a post-installation Docker plugin installation. See `docker-plugins` entry in `.chezmoidata.yaml`. + docker-pushrm: + _bin: docker-pushrm + _github: https://github.com/christian-korneck/docker-pushrm + _name: Docker PushRM + script: | + if [ ! -f "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" ]; then + logg info 'Acquiring release information for Docker push-rm' + RELEASE_TAG="$(curl -sSL https://api.github.com/repos/christian-korneck/docker-pushrm/releases/latest | jq -r '.tag_name')" + mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins" + logg info 'Downloading Docker push-rm' && curl https://github.com/christian-korneck/docker-pushrm/releases/download/$RELEASE_TAG/docker-pushrm_darwin_amd64 -o "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" + chmod +x "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" + logg success 'Added Docker push-rm' + else + logg info 'Docker push-rm already added' + fi docker-slim: _bin: slim _desc: "[DockerSlim](https://dockersl.im/) will optimize and secure your containers by understanding your application and what it needs using various analysis techniques. It will throw away what you don't need, reducing the attack surface of your container. What if you need some of those extra things to debug your container? You can use dedicated debugging side-car containers for that." @@ -3285,62 +2547,11 @@ softwarePackages: dnf:fedora: golang-github-docker-slim github: github.com/docker-slim/docker-slim yay: docker-slim - gcc: - _bin: gcc - _desc: null - _docs: null - _github: null - _home: null - _name: GCC - apt: gcc - brew: gcc - dnf: gcc - pacman: gcc - port: gcc11 - openssl: - _bin: openssl - _desc: null - _docs: null - _github: null - _home: null - _name: OpenSSL - apt: openssl - brew: openssl - choco: openssl - dnf: openssl - pacman: openssl - port: openssl - scoop: openssl - openshift-cli: - _bin: oc - _desc: The OpenShift Command Line, part of OKD - _docs: https://docs.openshift.com/container-platform/4.8/cli_reference/openshift_cli/getting-started-cli.html - _github: https://github.com/openshift/oc - _home: https://www.redhat.com/en/technologies/cloud-computing/openshift - _name: OpenShift CLI - brew: openshift-cli - choco: openshift-cli - p7zip: - _bin: p7zip - _desc: null - _docs: null - _github: null - _home: null - _name: p7zip - apt: p7zip - brew: p7zip - dnf: p7zip - pacman: p7zip - yubikey-agent: - _bin: yubikey-agent - _desc: null - _docs: https://github.com/FiloSottile/yubikey-agent - _github: https://github.com/FiloSottile/yubikey-agent - _home: https://github.com/FiloSottile/yubikey-agent - _name: OpenSSL - _service: yubikey-agent - _todo: Experiment with this to see if it is worthwhile adding to the stack - brew: yubikey-agent + dockfmt: + _bin: dockfmt + _github: https://github.com/jessfraz/dockfmt + _name: dockfmt + go: github.com/jessfraz/dockfmt@latest dockle: _bin: dockle _desc: Container Image Linter for Security, Helping build the Best-Practice Docker Image, Easy to start @@ -3351,6 +2562,16 @@ softwarePackages: brew: goodwithtech/r/dockle github: github.com/goodwithtech/dockle yay: dockle-bin + dockly: + _bin: dockly + _github: https://github.com/lirantal/dockly + _name: Dockly + npm: dockly + dockutil: + _bin: dockutil + _github: https://github.com/kcrawford/dockutil + _name: DockUtil + brew:darwin: dockutil doctl: _bin: doctl _desc: The official command line interface for the DigitalOcean API @@ -3374,6 +2595,18 @@ softwarePackages: github: github.com/ogham/dog pacman: dog pkg: dog + doitlive: + _bin: doitlive + _github: https://github.com/sloria/doitlive + _name: Do It Live! + brew: doitlive + pipx: doitlive + dokany: + _bin: dokany + _github: https://github.com/dokan-dev/dokany + _name: Dokany + _note: Required for CephFS on Windows + choco: dokany dotenv-linter: _bin: dotenv-linter _desc: '[Dotenv Linter](https://dotenv-linter.github.io) is a lightning-fast linter for .env files. Written in Rust' @@ -3385,6 +2618,11 @@ softwarePackages: cargo: dotenv-linter scoop: dotenv-linter yay: dotenv-linter + dotenv-vault: + _bin: dotenv-vault + _name: Dotenv Vault + brew: dotenv-org/brew/dotenv-vault + npm: dotenv-vault dotnet: _bin: dotnet _desc: "[.Net](https://dotnet.microsoft.com/) lets you create beautiful apps and scalable cloud services, faster and easier with the free, open-source platform that's loved by developers and trusted by organizations" @@ -3395,54 +2633,6 @@ softwarePackages: brew: dotnet choco: dotnet yay: dotnet-sdk-bin - sdkman-cli: - _bin: sdk - _github: https://github.com/sdkman/sdkman-cli - _name: SDKMan - script: | - #!/usr/bin/env bash - # @file SDKMAN Install - # @brief Ensures SDKMAN is installed. - # @description - # This script ensures SDKMAN (a Java version manager) is installed using the method recommended on [their - # website](https://sdkman.io/). - - ### Re-source ~/.bashrc - if [ -z "$SDKMAN_DIR" ]; then - logg info 'SDKMAN_DIR is undefined so ~/.bashrc is being re-sourced' && source ~/.bashrc - fi - - ### SDKMan ~/.bashrc settings - if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then - export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec" - . "$SDKMAN_DIR/bin/sdkman-init.sh" - elif [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/sdkman" ]; then - export SDKMAN_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/sdkman" - . "$SDKMAN_DIR/bin/sdkman-init.sh" - else - logg logg 'Unable to find SDKMAN instance' - fi - - ### Ensure SDKMan is installed (https://sdkman.io/) - if [ ! -d "$SDKMAN_DIR" ]; then - logg info 'Installing SDKMan via curl -s https://get.sdkman.io?rcupdate=false' - logg info "Install directory: $SDKMAN_DIR" - curl -s "https://get.sdkman.io?rcupdate=false" | bash - if [ -f "$SDKMAN_DIR/bin/sdkman-init.sh" ]; then - . "$SDKMAN_DIR/bin/sdkman-init.sh" - logg info 'Running sdk install java' && sdk install java - else - logg warn 'SDKMAN_DIR/bin/sdkman-init.sh is missing' - fi - else - logg info 'SDKMan appears to already be installed.' - logg info 'Running sdk update' - if command -v sdk > /dev/null; then - sdk update - else - logg warn 'Unable to run sdk update because the sdk command is unavailable' - fi - fi dprint: _bin: dprint _desc: '[dprint](https://dprint.dev/) is a pluggable and configurable code formatting platform written in Rust.' @@ -3457,6 +2647,20 @@ softwarePackages: script:darwin: curl -fsSL https://dprint.dev/install.sh | sh script:linux: curl -fsSL https://dprint.dev/install.sh | sh script:windows: iwr https://dprint.dev/install.ps1 -useb | iex + drawing: + _bin: drawing + flatpak: com.github.maoschanz.drawing + drawio: + _app: draw.io.app + _bin: null + _desc: Desktop version of the popular diagrams.net diagramming software + _docs: https://www.drawio.com/doc/ + _github: https://github.com/jgraph/drawio-desktop + _home: https://www.diagrams.net/ + _name: DrawIO Desktop + appimage: draw.io + cask: drawio + choco: drawio drone-cli: _bin: drone _desc: The Drone command line tools are used to interact with the Drone from the command line, and provide important utilities for managing users and repository settings @@ -3467,6 +2671,17 @@ softwarePackages: brew: drone/drone/drone github: github.com/harness/drone-cli scoop: drone + dua: + _bin: dua + _github: https://github.com/Byron/dua-cli + brew: dua-cli + cargo: dua-cli + dnf:fedora: dua-cli + pacman: dua-cli + pkgin: dua-cli + port: dua-cli + scoop: dua + xbps: dua-cli duf: _bin: duf _desc: "[duf](https://github.com/muesli/duf) is a Disk Usage/Free Utility - a better 'df' alternative. It displays a chart within your terminal that gives you an overview of hard-drive usage statistics." @@ -3494,6 +2709,20 @@ softwarePackages: cargo: du-dust github: github.com/bootandy/dust pacman: dust + duti: + _bin: duti + _github: https://github.com/moretension/duti + _name: Duti + brew:darwin: duti + eartrumpet: + _bin: null + _desc: Advanced, sleek volume controls for Windows + _docs: https://github.com/File-New-Project/EarTrumpet + _github: https://github.com/File-New-Project/EarTrumpet + _home: https://eartrumpet.app/ + _name: EarTrumpet + choco: eartrumpet + winget: File-New-Project.EarTrumpet easyengine: _bin: ee _desc: "[EasyEngine](https://easyengine.io/) is a command-line control panel for Nginx to manage WordPress sites running on Nginx, PHP, MySQL, and Let's Encrypt." @@ -3509,19 +2738,17 @@ softwarePackages: fi brew: easyengine script:linux: wget -qO ee rt.cx/ee4 && sudo bash ee - clipboard: - _bin: cb - _github: https://github.com/Slackadays/Clipboard.git - _name: Clipboard - apk: clipboard - brew: clipboard - emerge: app-misc/clipboard - flatpak: app.getclipboard.Clipboard - nix-env: nixpkgs.clipboard-jh - scoop: clipboard - snap: clipboard - xbps: clipboard - yay: clipboard + edex-ui: + _app: eDEX-UI.app + _bin: edex-ui + _desc: A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support. + _docs: https://github.com/GitSquared/edex-ui + _github: https://github.com/GitSquared/edex-ui + _home: https://github.com/GitSquared/edex-ui + _name: EDEX UI + appimage: edex-ui + cask: edex-ui + port: edex-ui editly: _bin: editly _desc: Editly is a tool and framework for declarative NLE (non-linear video editing) using Node.js and ffmpeg. Editly allows you to easily and programmatically create a video from a set of clips, images, audio and titles, with smooth transitions and music overlaid. @@ -3530,58 +2757,37 @@ softwarePackages: _home: https://github.com/mifi/editly _name: Editly npm: editly - fleetctl: - _bin: fleetctl - _desc: Open-source platform for IT and security teams with thousands of computers. (Linux, macOS, Windows, ChromeOS, AWS, Google Cloud, Azure, data center, containers, IoT) - _docs: https://fleetdm.com/docs - _github: https://github.com/fleetdm/fleet - _home: https://fleetdm.com/ - _name: Fleet CLI - npm: fleetctl - prezi-video: - _bin: prezi-video - _github: null - _name: Prezi Video - _app: Prezi Video.app - cask: prezi-video - orbstack: - _bin: orb - _github: - _name: OrbStack - _app: OrbStack.app - cask: orbstack - gpt-engineer: - _bin: gpt-engineer - _github: https://github.com/AntonOsika/gpt-engineer - _name: GPT Engineer - pipx: gpt-engineer - medis: - _bin: medis - _github: https://github.com/luin/medis - _name: Medis - _app: Medis.app - cask: medis - ndb: - _bin: ndb - _github: https://github.com/GoogleChromeLabs/ndb - _name: ndb - npm: ndb - langflow: - _bin: langflow - _github: https://github.com/logspace-ai/langflow - _name: LangFlow - pipx: langflow + eget: + _bin: eget + _github: https://github.com/zyedidia/eget + _name: eget + brew: eget + choco: eget + go: github.com/zyedidia/eget@latest + ejs: + _bin: ejs + _github: https://github.com/mde/ejs + _name: EJS + npm: ejs electron: + _app: Electron.app _bin: electron _desc: '[Electron](https://www.electronjs.org/) allows you to build cross-platform desktop apps with JavaScript, HTML, and CSS' _docs: https://www.electronjs.org/docs/latest/ _github: https://github.com/electron/electron _home: https://www.electronjs.org/ _name: Electron - npm: electron - _app: Electron.app cask: electron choco: electron + npm: electron + element: + _app: Element.app + _bin: element + _github: https://github.com/vector-im/element-web + _name: Element + cask: element + choco: element-desktop + flatpak: im.riot.Riot emma: _bin: emma _desc: Advanced package search for NPM @@ -3608,81 +2814,6 @@ softwarePackages: cargo: emplace --locked nix: emplace scoop: emplace - xsv: - _bin: xsv - _github: https://github.com/BurntSushi/xsv - _name: xsv - cargo: xsv - port: xsv - brew: xsv - nix-env: xsv - haproxy: - _bin: haproxy - _github: https://github.com/haproxy/haproxy - _name: HAProxy - _service: haproxy - apt: haproxy - brew: haproxy - choco: haproxy - dnf: haproxy - pacman: haproxy - zypper: haproxy - apk: haproxy - polybar: - _bin: polybar - _github: https://github.com/polybar/polybar - _name: Polybar - apt: polybar - pacman: polybar - xbps: polybar - zypper: polybar - pkg-freebsd: polybar - dnf: polybar - hstr: - _bin: hstr - _github: https://github.com/dvorka/hstr - _name: HiSToRy - apt: hstr - dnf: hstr - emerge: app-shells/hstr - apk: hstr - pkg-freebsd: hstr - xbps: hstr - brew: hstr - port: histr - nix-env: hstr - ghcup: - _bin: ghcup - _github: https://github.com/haskell/ghcup-hs - _name: GHCup - brew: ghcup - zenity: - _bin: zenity - _github: https://github.com/ncruces/zenity - _name: Zenity - brew: ncruces/tap/zenity - scoop: https://ncruces.github.io/scoop/zenity.json - go: github.com/ncruces/zenity/cmd/zenity@latest - xhyve: - _bin: xhyve - _github: https://github.com/machyve/xhyve - _name: xhyve - _notes: Has not been modified for several years and has been disabled on Homebrew - brew:darwin: xhyve - port: xhyve - xxh: - _bin: xxh - _github: https://github.com/xxh/xxh - _name: xxh - pipx: xxh-xxh - brew: xxh - port: xxh - shml: - _bin: shml - _github: https://github.com/odb/shml - _name: SHML - brew: shml - npm: shml empty-trash: _bin: empty-trash _desc: CLI to empty trash on macOS, Windows, and Linux @@ -3691,10 +2822,96 @@ softwarePackages: _home: https://github.com/sindresorhus/empty-trash-cli _name: Empty Trash CLI npm: empty-trash-cli + endlessh: + _bin: endlessh + _desc: '[Endlessh](https://github.com/skeeto/endlessh) is an SSH tarpit that very slowly sends an endless, random SSH banner. It keeps SSH clients locked up for hours or even days at a time. The purpose is to put your real SSH server on another port and then let the script kiddies get stuck in this tarpit instead of bothering a real server.' + _docs: https://github.com/skeeto/endlessh + _github: https://github.com/skeeto/endlessh + _home: https://github.com/skeeto/endlessh + _name: Endlessh + _post: | + #!/usr/bin/env bash + # @file Endlessh Configuration + # @brief Applies the Endlessh configuration and starts the service on Linux systems + # @description + # Endlessh is a endless SSH tarpit that slowly shows an infinitely long SSH welcome banner on the default + # SSH port. It is intended to break unsophisticated malware that targets SSH. + # + # If the `endlessh` program is installed, this script applies the configuration stored in `home/private_dot_ssh/endlessh/config.tmpl` + # (that unpacks with Chezmoi to `~/.ssh/endlessh/config`) to the system location and then starts the service. + # + # **Note:** _This script runs under the assumption that the actual SSH port which is defined in `home/.chezmoidata.yaml` + # is assigned to a non-standard port like 2214. This allows the default port to be used for `endlessh`._ + # + # ## Links + # + # * [Endlessh GitHub repository](https://github.com/skeeto/endlessh) + # * [Endlessh configuration](https://github.com/megabyte-labs/install.doctor/blob/master/home/private_dot_ssh/endlessh/config.tmpl) + + ### Configures endlessh service + function configureEndlessh() { + ### Update the service configuration file + logg info 'Updating endlessh service configuration file' + sudo sed -i 's/^.*#AmbientCapabilities=CAP_NET_BIND_SERVICE/AmbientCapabilities=CAP_NET_BIND_SERVICE/' /usr/lib/systemd/system/endlessh.service + sudo sed -i 's/^.*PrivateUsers=true/#PrivateUsers=true/' /usr/lib/systemd/system/endlessh.service + logg info 'Reloading systemd' && sudo systemctl daemon-reload + + ### Update capabilities of `endlessh` + logg info 'Updating capabilities of endlessh' && sudo setcap 'cap_net_bind_service=+ep' /usr/bin/endlessh + + ### Restart / enable Endlessh + logg info 'Enabling the endlessh service' && sudo systemctl enable endlessh + logg info 'Restarting the endlessh service' && sudo systemctl restart endlessh + } + + ### Update /etc/endlessh/config if environment is not WSL + if [[ ! "$(test -d proc && grep Microsoft /proc/version > /dev/null)" ]]; then + if command -v endlessh > /dev/null; then + if [ -d /etc/endlessh ]; then + logg info 'Copying ~/.ssh/endlessh/config to /etc/endlessh/config' && sudo cp -f "$HOME/.ssh/endlessh/config" /etc/endlessh/config + + configureEndlessh || CONFIGURE_EXIT_CODE=$? + if [ -n "$CONFIGURE_EXIT_CODE" ]; then + logg error 'Configuring endlessh service failed' && exit 1 + else + logg success 'Successfully configured endlessh service' + fi + elif [ -f /etc/endlessh.conf ]; then + logg info 'Copying ~/.ssh/endlessh/config to /etc/endlessh.conf' && sudo cp -f "$HOME/.ssh/endlessh/config" /etc/endlessh.conf + + configureEndlessh || CONFIGURE_EXIT_CODE=$? + if [ -n "$CONFIGURE_EXIT_CODE" ]; then + logg error 'Configuring endlessh service failed' && exit 1 + else + logg success 'Successfully configured endlessh service' + fi + else + logg warn 'Neither the /etc/endlessh folder nor the /etc/endlessh.conf file exist' + fi + else + logg info 'Skipping Endlessh configuration because the endlessh executable is not available in the PATH' + fi + else + logg info 'Skipping Endlessh configuration since environment is WSL' + fi + _service: endlessh + # CentOS 9 not in EPEL + # ansible:linux: professormanhattan.sshtarpit + apt: endlessh + dnf:fedora: endlessh + yay: endlessh-git + enola: + _bin: enola + _desc: Hunt down social media accounts by username across social networks (Sherlock Go clone) + _docs: https://github.com/TheYahya/enola + _github: https://github.com/TheYahya/enola + _home: https://github.com/TheYahya/enola + _name: Enola + go: github.com/theyahya/enola/cmd/enola@latest envchain: + _bin: envchain _deps: - _envchain:deps - _bin: envchain _desc: Environment variables meet macOS Keychain and gnome-keyring _docs: https://github.com/sorah/envchain#usage _github: https://github.com/sorah/envchain @@ -3729,26 +2946,6 @@ softwarePackages: fi brew: envchain github: github.com/sorah/envchain - _envchain:deps: - apt: - - gnome-keyring - - gcc - - gnome-keyring - - libsecret-1-dev - - make - - libreadline-dev - dnf: - - gcc - - gnome-keyring - - libsecret-devel - - make - - readline-devel - pacman: - - gcc - - gnome-keyring - - libsecret - - make - - readline envconsul: _bin: envconsul _desc: Launch a subprocess with environment variables using data from @hashicorp Consul and Vault @@ -3759,6 +2956,11 @@ softwarePackages: ansible: professormanhattan.envconsul brew: envconsul github: github.com/hashicorp/envconsul + envio: + _bin: envio + _github: https://github.com/humblepenguinn/envio + _name: Envio + cargo: envio environment: _bin: null _desc: null @@ -3767,44 +2969,15 @@ softwarePackages: _home: null _name: null ansible: professormanhattan.environment - mariadb: - _bin: mariadb - _github: false - _name: MariaDB - _service: mariadb - brew: mariadb - choco: mariadb - dnf: mariadb-server - apt: mariadb-server - pacman: mariadb-server - apk: mariadb-server - mongodb: - _bin: mongod - _github: https://github.com/mongodb/mongo - _name: MongoDB - _service: mongodb - _service:brew: mongodb-community - brew: mongodb/brew/mongodb-community - choco: mongodb - mongodb-compass: - _bin: mongodb-compass - _github: https://github.com/mongodb-js/compass - _name: MongoDB Compass - _app: MongoDB Compass.app - cask: mongodb-compass - choco: mongodb-compass - dnf: https://downloads.mongodb.com/compass/mongodb-compass-1.38.0.x86_64.rpm - apt: https://downloads.mongodb.com/compass/mongodb-compass_1.38.0_amd64.deb - osx-sign: - _bin: electron-osx-sign - _github: https://github.com/electron/osx-sign - _name: macOS Code Sign - npm: '@electron/osx-sign' - korkut: - _bin: korkut - _github: https://github.com/oguzhaninan/korkut - _name: Korkut - npm: korkut + envpane: + _bin: null + _desc: An OS X preference pane for environment variables + _docs: https://github.com/hschmidt/EnvPane + _github: https://github.com/hschmidt/EnvPane + _home: https://github.com/hschmidt/EnvPane + _name: EnvPane + _when:script: '! test -d "$HOME/Library/PreferencePanes/EnvPane.prefPane"' + script:darwin: '(cd ~/Library/PreferencePanes && rm -rf EnvPane.prefPane && curl -sL https://github.com/hschmidt/EnvPane/releases/download/releases%2F0.8/EnvPane-0.8.tar.bz2 | tar -xjf -)' eslint: _bin: eslint _desc: '[ESLint](https://eslint.org/) allows you to find and fix problems in your JavaScript code' @@ -3814,30 +2987,6 @@ softwarePackages: _name: ESLint brew: eslint npm: eslint - ntl: - _bin: ntl - _desc: null - _docs: null - _github: https://github.com/ruyadorno/ntl - _home: null - _name: NTL - npm: ntl - eslint-interactive: - _bin: eslint-interactive - _desc: null - _docs: null - _github: https://github.com/mizdra/eslint-interactive - _home: null - _name: ESLint Interactive - npm: eslint-interactive - esprint: - _bin: esprint - _desc: null - _docs: null - _github: - _home: null - _name: ESPrint - npm: esprint eslint-dashboard: _bin: eslint-dashboard _desc: null @@ -3846,6 +2995,14 @@ softwarePackages: _home: null _name: ESLint Dashboard npm: eslint-dashboard + eslint-interactive: + _bin: eslint-interactive + _desc: null + _docs: null + _github: https://github.com/mizdra/eslint-interactive + _home: null + _name: ESLint Interactive + npm: eslint-interactive eslintd: _bin: eslint_d _desc: null @@ -3854,6 +3011,29 @@ softwarePackages: _home: https://github.com/mantoni/eslint_d.js _name: ESLint_d npm: eslint_d + espanso: + _app: Espanso.app + _bin: espanso + _github: https://github.com/espanso/espanso + _name: Espanso + _post:appimage: | + #!/usr/bin/env bash + espanso service register && espanso start + _post:snap: | + #!/usr/bin/env bash + espanso service register && espanso start + appimage: federico-terzi/espanso + cask: espanso + choco: espanso + snap: espanso --channel=latest/edge --classic + esprint: + _bin: esprint + _desc: null + _docs: null + _github: + _home: null + _name: ESPrint + npm: esprint etcd: _bin: etcd _desc: Distributed reliable key-value store for the most critical data of a distributed system @@ -3869,6 +3049,25 @@ softwarePackages: dnf:fedora: etcd github: github.com/etcd-io/etcd yay: etcd + ettercap: + _bin: ettercap + _github: https://github.com/Ettercap/ettercap + _name: Ettercap + apt: ettercap + brew: ettercap + choco: ettercap + dnf: ettercap + pacman: ettercap + eul: + _app: eul.app + _bin: null + _desc: Menu bar application that shows system stats like CPU, RAM, and disk usage on macOS + _docs: https://github.com/gao-sun/eul + _github: https://github.com/gao-sun/eul + _home: https://github.com/gao-sun/eul + _name: Eul + cask: eul + mas: 1537133867 exa: _bin: exa _desc: A modern replacement for ls. @@ -3884,18 +3083,6 @@ softwarePackages: nix: exa pacman: exa zypper: exa - tfsec: - _bin: tfsec - _github: https://github.com/aquasecurity/tfsec - _name: Aqua TFSec - brew: tfsec - choco: tfsec - scoop: tfsec - libguestfs-tools: - _bin: guestfish - _github: https://github.com/libguestfs/libguestfs - apt: libguestfs-tools - dnf: libguestfs-tools exiftool: _bin: exiftool _desc: '[exiftool](https://exiftool.org/) is a platform-independent Perl library plus a command-line application for reading, writing and editing meta information in a wide variety of files' @@ -3931,6 +3118,80 @@ softwarePackages: _home: null _name: Extensions ansible: professormanhattan.extensions + fabric: + _bin: fab + _github: https://github.com/fabric/fabric + _name: Fabric + brew: fabric + pipx: fabric + fail2ban: + _bin: fail2ban-client + _notes: | + fail2ban cannot be installed on Qubes Fedora 36 without messing with the qubes-firewall since firewalld is required. + _post: | + #!/usr/bin/env bash + # @file Fail2ban Configuration + # @brief Applies the system `fail2ban` jail configuration and then restarts the service + # @description + # Fail2ban is an SSH security program that temporarily bans IP addresses that could possibly be + # attempting to gain unauthorized system access. This script applies the "jail" configuration + # located at `home/private_dot_ssh/fail2ban/` to the system location. It then enables and restarts + # the `fail2ban` configuration. + # + # ## Links + # + # * [`fail2ban` configuration folder](https://github.com/megabyte-labs/install.doctor/tree/master/home/private_dot_ssh/fail2ban) + + ### Notify of script start + logg info 'Configuring fail2ban' + + ### Restart fail2ban + function restartFailToBan() { + if [ -d /Applications ] && [ -d /System ]; then + ### macOS + logg info 'Enabling the fail2ban Homebrew service' + brew services restart fail2ban + else + # Linux + logg info 'Enabling the fail2ban service' + sudo systemctl enable fail2ban + logg info 'Restarting the fail2ban service' + sudo systemctl restart fail2ban + fi + } + + ### Update the jail.local file if environment is not WSL + logg info 'Checking if script is being run in WSL environment' + if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then + if [ -d /etc/fail2ban ]; then + logg info 'Copying ~/.ssh/fail2ban/jail.local to /etc/fail2ban/jail.local' + sudo cp -f "$HOME/.ssh/fail2ban/jail.local" /etc/fail2ban/jail.local + restartFailToBan + elif [ -d /usr/local/etc/fail2ban ]; then + logg info 'Copying ~/.ssh/fail2ban/jail.local to /usr/local/etc/fail2ban/jail.local' + sudo cp -f "$HOME/.ssh/fail2ban/jail.local" /usr/local/etc/fail2ban/jail.local + restartFailToBan + elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban" ]; then + logg info "Copying ~/.ssh/fail2ban/jail.local to ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban/jail.local" + sudo cp -f "$HOME/.ssh/fail2ban/jail.local" "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban/jail.local" + restartFailToBan + else + logg warn 'The /etc/fail2ban (Linux), the /usr/local/etc/fail2ban, and the ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban (macOS) folder do not exist' + fi + else + logg info 'Skipping sshd_config application since environment is WSL' + fi + _service: fail2ban + _service:brew: + - name: fail2ban + sudo: true + _serviceEnabled: true + _when:linux: '! command -v qubes-firewall > /dev/null && test -f /proc/version && ! grep Microsoft /proc/version > /dev/null' + apt: fail2ban + brew: fail2ban + dnf: fail2ban + pacman: fail2ban + port: fail2ban fastify: _bin: fastify _desc: Run a Fastify application with one command @@ -3939,6 +3200,13 @@ softwarePackages: _home: https://www.fastify.io/ _name: fastify npm: fastify-cli + fastlane: + _bin: fastlane + _github: https://github.com/fastlane/fastlane + _home: https://fastlane.tools/ + _name: Fastlane + brew: fastlane + gem: fastlane fcp: _bin: fcp _desc: A significantly faster alternative to the classic Unix cp(1) command, copying large files and directories in a fraction of the time. @@ -3967,6 +3235,14 @@ softwarePackages: pacman: fd pkg: fd scoop: fd + fdupes: + _bin: fdupes + _github: https://github.com/adrianlopezroche/fdupes + _name: fdupes + apt: fdupes + brew: fdupes + dnf: fdupes + pacman: fdupes feathers: _bin: feathers _desc: The command line interface for scaffolding Feathers applications @@ -3975,6 +3251,19 @@ softwarePackages: _home: null _name: null npm: '@feathersjs/cli' + ferdium: + _app: Ferdium.app + _bin: ferdium + _env: + FERDIUM_APPDATA: + cask: "$HOME/Library/Application Support/Ferdium" + choco: TODO + flatpak: "$HOME/.var/app/org.ferdium.Ferdium/config/Ferdium" + snap: "$HOME/snap/ferdium/current/.config/Ferdium" + cask: ferdium + choco: ferdium + flatpak: org.ferdium.Ferdium + snap: ferdium ffmpeg: _bin: ffmpeg _desc: '[FFmpeg](https://www.ffmpeg.org/) is the leading multimedia framework. It is able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge.' @@ -4005,7 +3294,18 @@ softwarePackages: scoop: ffsend snap: ffsend yay: ffsend + fiddler: + _bin: fiddler + _desc: The community-trusted free Windows-only tool that logs HTTP(s) network traffic. + _docs: https://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler + _github: false + _home: https://www.telerik.com/fiddler + _name: Fiddler + _todo: Add headless installation method for Linux + choco: fiddler + scoop: extras/fiddler fig: + _app: Fig.app _bin: fig _desc: '[Fig](https://fig.io/) adds autocomplete to your terminal. As you type, Fig pops up subcommands, options, and contextually relevant arguments in your existing terminal.' _docs: https://fig.io/user-manual @@ -4015,20 +3315,30 @@ softwarePackages: _post: | #!/usr/bin/env bash source ~/.config/shell/private.sh && fig login --token "$FIG_TOKEN" - _app: Fig.app cask: fig - steampipe: - _bin: steampipe - _github: https://github.com/turbot/steampipe - _name: Steampipe - brew: turbot/tap/steampipe - vale: - _bin: vale - _github: https://github.com/errata-ai/vale - _name: Vale - brew: vale - choco: vale - go: github.com/errata-ai/vale@latest + figlet: + _bin: figlet + _github: https://github.com/cmatsuoka/figlet + _name: Figlet + apt: figlet + brew: figlet + choco: figlet + dnf: figlet + pacman: figlet + zypper: figlet + figma: + _app: Figma.app + _bin: null + _desc: Collaborative team software + _docs: https://help.figma.com/hc/en-us + _github: false + _home: https://www.figma.com/ + _name: Figma + appimage: Figma-Linux/figma-linux + cask: figma + choco: figma + flatpak: io.github.Figma_Linux.figma_linux + snap: figma-linux filebrowser: _bin: filebrowser _desc: '[File Browser](https://filebrowser.org/) is a tool that lets you browse and edit files on any mounting point in the operating system.' @@ -4039,46 +3349,23 @@ softwarePackages: ansible: professormanhattan.filebrowser brew: filebrowser/tap/filebrowser github: github.com/filebrowser/filebrowser - arduino-ide: - _bin: arduino - _app: Arduino.app - cask: arduino - choco: arduino - flatpak: cc.arduino.IDE2 - wego: - _bin: wego - _github: https://github.com/schachmat/wego - _name: WeGo - brew: wego - go: github.com/schachmat/wego@latest - miller: - _bin: mlr - _github: https://github.com/johnkerl/miller - _name: Miller - apt: miller - brew: miller - choco: miller - dnf: miller - port: miller - vermin: - _bin: vermin - _github: https://github.com/mhewedy/vermin - _name: Vermin - go: github.com/mhewedy/vermin@latest filezilla: + _app: FileZilla.app _bin: filezilla _desc: '[FileZilla](https://filezilla-project.org/) is a free software, cross-platform FTP application, consisting of FileZilla Client and FileZilla Server. Client binaries are available for Windows, Linux, and macOS, server binaries are available for Windows only.' _docs: https://wiki.filezilla-project.org/Documentation _github: https://svn.filezilla-project.org/filezilla/ _home: https://filezilla-project.org/ _name: FileZilla - _app: FileZilla.app ansible:darwin: professormanhattan.filezilla apt: filezilla choco: filezilla dnf: filezilla flatpak: org.filezillaproject.Filezilla pacman: filezilla + findutils: + _bin: gfind + brew: findutils finish: _bin: null _desc: This role should be the last role in the playbook. @@ -4087,14 +3374,6 @@ softwarePackages: _home: null _name: Finish ansible: professormanhattan.finish - usql: - _bin: usql - _github: https://github.com/xo/usql - _name: Universal SQL CLI - brew: xo/xo/usql - choco: usql - go: github.com/xo/usql@latest - scoop: usql firebase: _bin: firebase _desc: The Firebase Command Line Interface (CLI) Tools can be used to test, manage, and deploy your Firebase project from the command line @@ -4103,21 +3382,13 @@ softwarePackages: _home: null _name: null npm: firebase-tools - devpod: - _bin: devpod - _github: https://github.com/loft-sh/devpod - _name: DevPod - cask: devpod firefox: + _app: Firefox.app + _bin: firefox _deps: - htmlq - _bin: firefox _desc: '[Mozilla Firefox](https://www.mozilla.org/en-US/firefox/new/), or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation. Firefox uses the Gecko layout engine to render web pages, which implements current and anticipated web standards.' _docs: https://developer.mozilla.org/en-US/ - _github: null - _home: https://www.mozilla.org/en-US/firefox/new/ - _name: Mozilla Firefox - _app: Firefox.app _env: FIREFOX_APPDATA: apt: "$HOME/.mozilla/firefox" @@ -4127,6 +3398,9 @@ softwarePackages: flatpak: "$HOME/.var/app/org.mozilla.firefox/.mozilla/firefox" pacman: "$HOME/.mozilla/firefox" snap: "$HOME/snap/firefox/common/.mozilla/firefox" + _github: null + _home: https://www.mozilla.org/en-US/firefox/new/ + _name: Mozilla Firefox _post: | #!/usr/bin/env bash # @file Firefox Settings / Add-Ons / Profiles @@ -4470,11 +3744,41 @@ softwarePackages: dnf: firefox flatpak: org.mozilla.firefox pacman: firefox - holehe: - _bin: holehe - _github: https://github.com/megadose/holehe - _name: Holehe - pipx: holehe + firefox-profile: + _bin: firefox-profile + _github: https://github.com/saadtazi/firefox-profile-js + _name: Firefox Profile CLI + npm: firefox-profile + firewall-applet: + _bin: firewall-applet + apt: firewall-applet + dnf: firewall-applet + pacman: firewall-applet + firewall-config: + _bin: firewall-config + apt: firewall-config + dnf: firewall-config + pacman: firewall-config + firewalld: + _bin: firewall-cmd + _github: https://github.com/firewalld/firewalld + _name: FirewallD + _notes: https://computingforgeeks.com/install-and-use-firewalld-on-ubuntu/ + _pre: | + #!/usr/bin/env bash + if command -v ufw > /dev/null; then sudo ufw disable; fi + _service: firewalld + apt: firewalld + dnf: firewalld + emerge: net-firewall/firewalld + pacman: firewalld + zypper: firewalld + fiscript: + _app: FiScript.app + _bin: fiscript + _github: https://github.com/Mortennn/FiScript + _name: FiScript + cask: fiscript fission: _bin: fission _desc: Fast and Simple Serverless Functions for Kubernetes @@ -4495,35 +3799,17 @@ softwarePackages: _home: null _name: fkill npm: fkill-cli - lulu: - _bin: null - _desc: Powerful firewall application for macOS - _docs: https://objective-see.org/products/lulu.html - _github: https://github.com/objective-see/LuLu - _home: https://objective-see.org/products/lulu.html - _name: LuLu - _app: LuLu.app - cask: lulu - keycastr: - _bin: null - _desc: Keystroke visualizer for macOS screen recordings - _docs: https://github.com/keycastr/keycastr - _github: https://github.com/keycastr/keycastr - _home: https://github.com/keycastr/keycastr - _name: Keycastr - _app: KeyCastr.app - cask: keycastr - hiddenbar: - _bin: null - _desc: macOS menu bar application that allows you to add menu bar items to a hideable drawer - _docs: https://github.com/dwarvesf/hidden - _github: https://github.com/dwarvesf/hidden - _home: https://dwarves.foundation/opensource/ - _name: Hidden Bar - _app: Hidden Bar.app - cask: hiddenbar - mas: 1452453066 + flake8: + _bin: flake8 + _desc: Flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code. + _docs: https://flake8.pycqa.org/en/latest/ + _github: https://github.com/PyCQA/flake8 + _home: https://flake8.pycqa.org/en/latest/ + _name: Flake8 + brew: flake8 + pipx: flake8 flameshot: + _app: flameshot.app _bin: flameshot _desc: Powerful yet simple to use screenshot software _docs: https://flameshot.org/docs/overview/overview/ @@ -4531,7 +3817,6 @@ softwarePackages: _home: https://flameshot.org/ _name: Flameshot _scoopExtras: true - _app: flameshot.app apt: flameshot cask: flameshot choco: flameshot @@ -4546,17 +3831,27 @@ softwarePackages: winget: flameshot xbps: flameshot zypper: flameshot - drawio: + flatseal: + _bin: flatseal + flatpak: com.github.tchx84.Flatseal + fleetctl: + _bin: fleetctl + _desc: Open-source platform for IT and security teams with thousands of computers. (Linux, macOS, Windows, ChromeOS, AWS, Google Cloud, Azure, data center, containers, IoT) + _docs: https://fleetdm.com/docs + _github: https://github.com/fleetdm/fleet + _home: https://fleetdm.com/ + _name: Fleet CLI + npm: fleetctl + flow-launcher: _bin: null - _desc: Desktop version of the popular diagrams.net diagramming software - _docs: https://www.drawio.com/doc/ - _github: https://github.com/jgraph/drawio-desktop - _home: https://www.diagrams.net/ - _name: DrawIO Desktop - _app: draw.io.app - appimage: draw.io - cask: drawio - choco: drawio + _desc: Quick file search & app launcher for Windows with community-made plugins + _docs: https://www.flowlauncher.com/docs/ + _github: https://github.com/Flow-Launcher/Flow.Launcher + _home: https://flowlauncher.com/ + _name: Flow Launcher + choco: Flow-Launcher + scoop: Flow-Launcher + winget: Flow Launcher flutter: _bin: flutter _desc: '[Flutter](https://flutter.dev/) transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase' @@ -4568,144 +3863,6 @@ softwarePackages: choco: flutter snap: flutter --classic yay: flutter - pock: - _bin: null - _desc: Widgets manager for MacBook Touch Bar - _docs: https://github.com/pock/pock - _github: https://github.com/pock/pock - _home: https://pock.app/ - _name: Pock - _app: Pock.app - cask: pock - ksnip: - _bin: ksnip - _github: https://github.com/ksnip/ksnip - _name: kSnip - _post:snap: | - #!/usr/bin/env bash - sudo snap connect ksnip:network-observe && sudo snap connect ksnip:network-manager-observe && sudo snap connect ksnip:removable-media - _app: ksnip.app - cask: ksnip - flatpak: org.ksnip.ksnip - choco: ksnip - snap: ksnip - xpra: - _bin: xpra - _github: https://github.com/Xpra-org/xpra - _name: xpra - _app: Xpra.app - cask: xpra - choco: xpra - exe: https://xpra.org/dists/windows/Xpra-x86_64_Setup.exe - flatpak: org.xpra.xpra - msi: https://xpra.org/dists/windows/Xpra-x86_64.msi - xcodes: - _bin: xcodes - _desc: CLI utility to download, install, and switch to alternate versions of Xcode - _docs: https://github.com/XcodesOrg/xcodes - _github: https://github.com/XcodesOrg/xcodes - _home: https://github.com/XcodesOrg/xcodes - _name: Xcodes - brew:darwin: xcodesorg/made/xcodes - projen: - _bin: projen - _github: https://github.com/projen/projen - _name: Projen - npm: projen - swiftbar: - _github: https://github.com/swiftbar/SwiftBar - _name: SwiftBar - _app: SwiftBar.app - cask: swiftbar - crunch: - _bin: crunch - _desc: The crunch command line executable is a *nix executable that supports parallel PNG image optimization with local (off of the system PATH) installs of the pngquant and zopflipng project dependencies. - _docs: https://github.com/chrissimpkins/Crunch - _github: https://github.com/chrissimpkins/Crunch - _home: https://github.com/chrissimpkins/Crunch - _name: Crunch - _app: Crunch.app - cask: crunch - script: cd /tmp && rm -rf Crunch && git clone https://github.com/chrissimpkins/Crunch.git && make build-dependencies && make install-executable && cd /tmp && rm -rf Crunch && rm -rf ~/zopfli && rm -rf ~/pngquant && echo "TODO WARNING - The ~/zopfli and ~/pngquant directories were deleted and may be required (but were removed due to HOME directory pollution)" - eul: - _bin: null - _desc: Menu bar application that shows system stats like CPU, RAM, and disk usage on macOS - _docs: https://github.com/gao-sun/eul - _github: https://github.com/gao-sun/eul - _home: https://github.com/gao-sun/eul - _name: Eul - _app: eul.app - cask: eul - mas: 1537133867 - linkliar: - _bin: null - _desc: Menu bar application for macOS that allows you to spoof your MAC address - _docs: https://halo.github.io/LinkLiar/usage.html - _home: https://halo.github.io/LinkLiar/ - _github: https://github.com/halo/LinkLiar - _name: Link Liar - _app: LinkLiar.app - cask: linkliar - monitorcontrol: - _bin: null - _desc: Menu bar application for macOS that allows you to control the screen brightness and volume - _docs: https://github.com/MonitorControl/MonitorControl - _github: https://github.com/MonitorControl/MonitorControl - _home: https://github.com/MonitorControl/MonitorControl - _name: Monitor Control - _app: MonitorControl.app - cask: monitorcontrol - meetingbar: - _bin: null - _desc: Meeting menu bar application that shows calendar event details on macOS - _docs: https://github.com/leits/MeetingBar - _github: https://github.com/leits/MeetingBar - _home: https://apps.apple.com/app/id1532419400 - _name: Meeting Bar - _app: MeetingBar.app - cask: meetingbar - mas: 1532419400 - crunch-app: - _bin: null - _desc: The macOS companion app for the crunch CLI tool that compresses PNG images. - _docs: https://github.com/chrissimpkins/Crunch/blob/master/docs/MACOSGUI.md - _github: https://github.com/chrissimpkins/Crunch - _home: https://github.com/chrissimpkins/Crunch - _name: Crunch macOS App - _app: Crunch.app - cask: crunch - xcodes-app: - _bin: null - _desc: macOS desktop app that allows you to download, install, and switch to alternate versions of Xcode - _docs: https://github.com/XcodesOrg/XcodesApp - _github: https://github.com/XcodesOrg/XcodesApp - _home: https://github.com/XcodesOrg/XcodesApp - _name: Xcodes App - _app: Xcodes.app - cask: xcodes - nitroshare: - _bin: nitroshare - _desc: Network file transfer application for Windows, OS X, & Linux - _docs: https://nitroshare.net/ - _github: https://github.com/nitroshare/nitroshare-desktop - _home: https://nitroshare.net/ - _name: NitroShare - _app: nitroshare.app - apt: nitroshare - cask: nitroshare - choco: nitroshare - dnf: nitroshare - pacman: nitroshare - fritzing: - _todo: Add installation source for macOS - _bin: fritzing - _desc: Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone. We offer a software tool, a community website and services in the spirit of Processing and Arduino, fostering a creative ecosystem that allows users to document their prototypes, share them with others, teach electronics in a classroom, and layout and manufacture professional PCBs. - _docs: https://fritzing.org/learning/get-started - _github: https://github.com/fritzing/fritzing-app - _home: https://fritzing.org/ - _name: Fritzing - choco: fritzing - flatpak: org.fritzing.Fritzing fly: _bin: fly _desc: CLI to manage Concourse CI installation @@ -4725,18 +3882,23 @@ softwarePackages: _name: fm github: github.com/mistakenelf/fm go: github.com/mistakenelf/fm@latest - metasploit: - _github: https://github.com/rapid7/metasploit-framework - _name: Metasploit Framework - _when: '! test -f /opt/metasploit-framework/bin/msfconsole' - script: curl -sSL --compressed https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > /tmp/msfinstall && chmod 755 /tmp/msfinstall && sudo /tmp/msfinstall - mailcatcher: - _bin: mailcatcher - _github: https://github.com/sj26/mailcatcher - _name: Mail Catcher - _service: mailcatcher - brew: mailcatcher - gem: mailcatcher + footloose: + _bin: footloose + _desc: Container Machines - Containers that look like Virtual Machines + _docs: https://github.com/weaveworks/footloose + _github: https://github.com/weaveworks/footloose + _home: https://github.com/weaveworks/footloose + _name: Footloose + brew: weaveworks/tap/footloose + go: github.com/weaveworks/footloose@master + forever: + _bin: forever + _github: https://github.com/foreversd/forever + _name: Forever + npm: forever + forklift: + _bin: forklift + flatpak: com.github.Johnn3y.Forklift fpm: _bin: fpm _deps: @@ -4778,6 +3940,32 @@ softwarePackages: go: github.com/wader/fq@latest pacman: fq scoop: fq + fritzing: + _bin: fritzing + _desc: Fritzing is an open-source hardware initiative that makes electronics accessible as a creative material for anyone. We offer a software tool, a community website and services in the spirit of Processing and Arduino, fostering a creative ecosystem that allows users to document their prototypes, share them with others, teach electronics in a classroom, and layout and manufacture professional PCBs. + _docs: https://fritzing.org/learning/get-started + _github: https://github.com/fritzing/fritzing-app + _home: https://fritzing.org/ + _name: Fritzing + _todo: Add installation source for macOS + choco: fritzing + flatpak: org.fritzing.Fritzing + frpc: + _bin: frpc + _desc: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. + _docs: https://github.com/fatedier/frp + _github: https://github.com/fatedier/frp + _home: https://github.com/fatedier/frp + _name: frpc (client) + brew: frpc + frps: + _bin: frps + _desc: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. + _docs: https://github.com/fatedier/frp + _github: https://github.com/fatedier/frp + _home: https://github.com/fatedier/frp + _name: frps (server) + brew: frps fselect: _bin: fselect _desc: Extension to find files with SQL-like queries @@ -4800,6 +3988,14 @@ softwarePackages: brew: fuego-firestore go: github.com/sgarciac/fuego@latest snap: fuego + fury: + _bin: fury + _desc: null + _docs: null + _github: null + _home: null + _name: Fury + brew: gemfury/tap/gemfury fuse: _bin: null _desc: '[macFUSE](https://osxfuse.github.io/) allows you to extend macOS via third party file systems.' @@ -4840,26 +4036,12 @@ softwarePackages: dnf:fedora: fzf nix: nixpkgs.fzf pacman: fzf - pkgin: fzf pkg-freebsd: fzf pkg_add: fzf + pkgin: fzf port: fzf xbps: fzf zypper: fzf - mono: - _bin: mono - _desc: Mono open source ECMA CLI, C# and .NET implementation. - _docs: https://www.mono-project.com/docs/ - _github: https://github.com/mono/mono - _home: https://www.mono-project.com/ - _name: Mono - apt: mono-complete - brew: mono - choco: mono - dnf: mono-complete - port: mono - scoop: main/mono - winget: Mono.Mono gawk: _bin: gawk _desc: An implementation of the AWK programming language @@ -4874,47 +4056,18 @@ softwarePackages: pacman: gawk port: gawk scoop: gawk - standard-notes: - _bin: standard-notes - _desc: End-to-end encrypted notes app - _docs: https://standardnotes.com/help - _github: https://github.com/standardnotes/app - _home: https://standardnotes.com/ - _name: Standard Notes - _app: Standard Notes.app - cask: standard-notes - flatpak: org.standardnotes.standardnotes - deja-dup: - _bin: dejadup - flatpak: org.gnome.DejaDup - discord: - _bin: discord - _name: Discord - _app: Discord.app - cask: discord - choco: discord - flatpak: com.discordapp.Discord - telegram: - _bin: telegram - _name: Telegram - _app: Telegram.app - cask: telegram - choco: telegram - flatpak: org.telegram.desktop - mas: 747648890 - google-assistant: - _bin: g-assist - _desc: '[Google Assistant for Desktop](https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client) is a cross-platform unofficial Google Assistant Client for Desktop.' + gcc: + _bin: gcc + _desc: null _docs: null - _github: https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client + _github: null _home: null - _name: Google Assistant for Desktop - _app: Google Assistant.app - ansible:windows: professormanhattan.googleassistant - cask: google-assistant - github: github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client - snap: g-assist - winget: g-assist + _name: GCC + apt: gcc + brew: gcc + dnf: gcc + pacman: gcc + port: gcc11 gcloud: _bin: gcloud _desc: '[Google Cloud SDK](https://cloud.google.com/sdk) includes tools and libraries for interacting with Google Cloud products and services. With it, you can orchestrate virtual machine instances directly from your command line, manage Compute Engine networks/firewalls/disks, simulate Pub/Sub locally, and much more.' @@ -4927,6 +4080,15 @@ softwarePackages: choco: gcloudsdk snap: google-cloud-sdk --classic yay: google-cloud-sdk + gcsf: + _bin: gcsf + _github: https://github.com/harababurel/gcsf + _name: GCSF + cargo: gcsf + gdbgui: + _bin: gdbgui + _github: https://github.com/cs01/gdbgui + pipx: gdbgui gdown: _bin: gdown _desc: Download a large file from Google Drive @@ -4969,6 +4131,16 @@ softwarePackages: go: github.com/dundee/gdu/v5/cmd/gdu@latest pacman: gdu snap: gdu-disk-usage-analyzer + generator-ngx-rocket: + _bin: ngx + _github: https://github.com/ngx-rocket/generator-ngx-rocket + _name: Angular + npm: generator-ngx-rocket + genymotion: + _app: Genymotion.app + cask: genymotion + choco: genymotion + # TODO: Figure out how to install on Android gfi: _bin: gfi _desc: Google Font Installer is a NodeJS module/CLI that lets you Search, Download and Install fonts offered by Google Web Fonts @@ -4990,6 +4162,11 @@ softwarePackages: port: gh scoop: gh winget: GitHub.cli + ghcup: + _bin: ghcup + _github: https://github.com/haskell/ghcup-hs + _name: GHCup + brew: ghcup ghorg: _bin: ghorg _desc: "[ghorg](https://github.com/gabrie30/ghorg) allows you to quickly clone all of an org's, or user's repositories into a single directory." @@ -5005,14 +4182,25 @@ softwarePackages: github: github.com/gabrie30/ghorg go: github.com/gabrie30/ghorg@latest yay: ghorg + gifsicle: + _bin: gifsicle + _github: https://github.com/kohler/gifsicle + _name: Gifsicle + apt: gifsicle + brew: gifsicle + choco: gifsicle + dnf: gifsicle + pacman: gifsicle + port: gifsicle + scoop: gifsicle gimp: + _app: GIMP.app _bin: gimp _desc: '[GIMP](https://www.gimp.org/) is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. GIMP is released under GPLv3+ license and is available for Linux, macOS, and Microsoft Windows.' _docs: https://www.gimp.org/docs/ _github: https://github.com/GNOME/gimp _home: https://www.gimp.org/ _name: GIMP - _app: GIMP.app ansible: professormanhattan.gimp apt: gimp cask: gimp @@ -5041,6 +4229,19 @@ softwarePackages: apt: git brew: git dnf: git + git-branchless: + _bin: git-branchless + _github: https://github.com/arxanas/git-branchless + _name: Git Branchless + _todo: | + echo "TODO: Consider implementing:" + echo "echo >> ~/.bashrc "alias git='git-branchless wrap --'"" + apk: git-branchless + brew: git-branchless + cargo: --locked git-branchless + pacman: git-branchless + port: git-branchless + scoop: git-branchless git-bug: _bin: git-bug _desc: null @@ -5051,19 +4252,18 @@ softwarePackages: brew: git-bug pkg-freebsd: git-bug scoop: git-bug - git-branchless: - _bin: git-branchless - _github: https://github.com/arxanas/git-branchless - _name: Git Branchless - _todo: | - echo "TODO: Consider implementing:" - echo "echo >> ~/.bashrc "alias git='git-branchless wrap --'"" - apk: git-branchless - pacman: git-branchless - scoop: git-branchless - port: git-branchless - brew: git-branchless - cargo: --locked git-branchless + git-extras: + _bin: git-extras + _desc: '[Git Extras](https://github.com/tj/git-extras) includes extra git utilities that include repo summary, repl, changelog population, author commit percentages, and more.' + _docs: null + _github: null + _home: null + _name: git-extras + ansible:windows: professormanhattan.gitextras + apt: git-extras + brew: git-extras + dnf: git-extras + pacman: git-extras git-filter-repo: _bin: git-filter-repo _desc: '[gitfilterrepo](https://github.com/newren/git-filter-repo) is a versatile tool for rewriting history' @@ -5074,6 +4274,12 @@ softwarePackages: ansible: professormanhattan.gitfilterrepo brew: git-filter-repo pipx: git-filter-repo + git-jump: + _bin: git-jump + _github: https://github.com/mykolaharmash/git-jump + _name: Git Jump + brew: mykolaharmash/git-jump/git-jump + npm: git-jump git-lfs: _bin: git-lfs _deps: @@ -5090,6 +4296,14 @@ softwarePackages: ansible: professormanhattan.gitlfs brew: git-lfs scoop: git-lfs + git-notify: + _bin: git-notify + _desc: Communicate important updates to your team via git commit messages + _docs: null + _github: https://github.com/jevakallio/git-notify + _home: null + _name: Git Notify + npm: git-notify git-open: _bin: git-open _desc: Open the repo website (GitHub, GitLab, Bitbucket) in your browser @@ -5111,6 +4325,15 @@ softwarePackages: apt: git-secret brew: git-secret dnf:fedora: git-secret + git-stats: + _bin: git-stats + _desc: '[gitstats](https://github.com/IonicaBizau/git-stats) can track and display local git statistics. It includes the capability of displaying a GitHub-like contributions calendar in the terminal.' + _docs: null + _github: https://github.com/IonicaBizau/git-stats + _home: null + _name: git-stats + ansible: professormanhattan.gitstats + npm: git-stats git-subrepo: _bin: git-subrepo _desc: null @@ -5119,79 +4342,133 @@ softwarePackages: _home: null _name: Git Sub Repo brew: git-subrepo - element: - _bin: element - _github: https://github.com/vector-im/element-web - _name: Element - _app: Element.app - cask: element - choco: element-desktop - flatpak: im.riot.Riot - github-desktop: - _bin: github - _app: GitHub Desktop.app - cask: github - choco: github-desktop - flatpak: io.github.shiftey.Desktop - warp-transfer: - _bin: warp-transfer - flatpak: app.drey.Warp + git-town: + _bin: git-town + _github: https://github.com/git-town/git-town + _name: Git Town + _post: | + #!/usr/bin/env bash + git town aliases add + brew: git-town + go: github.com/git-town/git-town@latest gitdock: + _app: GitDock.app _bin: null _desc: '[GitDock](https://gitlab.com/mvanremmerden/gitdock) is an app that displays all your GitLab activities in one place. Instead of the GitLab typical project- or group-centric approach, it collects all your information from a user-centric perspective.' _docs: https://gitlab.com/mvanremmerden/gitdock#how-to-use-gitdock-%EF%B8%8F _github: https://gitlab.com/mvanremmerden/gitdock _home: https://gitlab.com/mvanremmerden/gitdock _name: GitDock - _app: GitDock.app ansible:darwin: professormanhattan.gitdock cask: gitdock - zola: - _bin: zola - _desc: A static site generator built with Rust - _docs: - apk: zola - brew: zola - choco: zola - flatpak: org.getzola.zola - pacman: zola - pkgin: zola - pkg-freebsd: zola - pkg_add: zola - port: zola - scoop: zola - snap: zola - xbps: zola - rustscan: - _bin: rustscan - _desc: An Nmap-based port scanner that scans all 65k ports in 3 seconds - _docs: https://rustscan.github.io/RustScan/ - _github: https://github.com/RustScan/RustScan - _home: https://github.com/RustScan/RustScan - _name: RustScan - brew: rustscan - yay: rustscan - git-extras: - _bin: git-extras - _desc: '[Git Extras](https://github.com/tj/git-extras) includes extra git utilities that include repo summary, repl, changelog population, author commit percentages, and more.' - _docs: null - _github: null - _home: null - _name: git-extras - ansible:windows: professormanhattan.gitextras - apt: git-extras - brew: git-extras - dnf: git-extras - pacman: git-extras - git-notify: - _bin: git-notify - _desc: Communicate important updates to your team via git commit messages - _docs: null - _github: https://github.com/jevakallio/git-notify - _home: null - _name: Git Notify - npm: git-notify + github-classroom-assistant: + _app: Classroom Assistant.app + _bin: github-classroom-assistant + _github: https://github.com/education/classroom-assistant + _name: GitHub Classroom Assistant + apt: https://github.com/education/classroom-assistant/releases/download/v2.0.4/classroom-assistant_2.0.4_amd64.deb + cask: classroom-assistant + dnf: https://github.com/education/classroom-assistant/releases/download/v2.0.4/classroom-assistant-2.0.4-1.x86_64.rpm + exe: https://github.com/education/classroom-assistant/releases/download/v2.0.4/Classroom.Assistant-2.0.4.Setup.exe + github-desktop: + _app: GitHub Desktop.app + _bin: github + cask: github + choco: github-desktop + flatpak: io.github.shiftey.Desktop + github-runner: + _bin: false + _desc: '[GitHub Runner](https://docs.github.com/en/actions/hosting-your-own-runners) is a system that you deploy and manage to execute jobs from GitHub Actions on GitHub.com.' + _docs: https://docs.github.com/en/actions/hosting-your-own-runners + _github: https://github.com/actions/runner + _home: https://docs.github.com/en/actions/hosting-your-own-runners + _name: GitHub Runner + _post: | + #!/usr/bin/env bash + # @file GitHub Runner Registration + # @brief Registers a GitHub action runner with GitHub + # @description + # This script registers the host as a self-hosted GitHub runner with scope set + # in the `.user.github.runnerOrg` input in the `.chezmoi.yaml.tmpl` file. If your organization is `megabyte-labs`, then + # the value of `.user.github.runnerOrg` should be `megabyte-labs`. A self-hosted runner is an application + # that that allows you to run tasks from GitHub CI. + # + # This script adds 3 labels to the runner: self-hosted, _hostname_, and _operating-system family_. + # + # The script automatically acquires the GitHub Action runner token (as long as you specify your `.user.github.runnerOrg` value in `.chezmoi.yaml.tmpl`). + # In order to authenticate with GitHub, you should have the `GITHUB_TOKEN` environment variable in place with the appropriate permissions + # specified when you generate the token. + # + # ## Links + # + # * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets) + + + ### Check if GitHub runner is installed + if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/github-runnerconfig.sh" ]; then + if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/.runner" ]; then + logg info "GitHub Actions runner is already configured (${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/.runner file is present)" + else + logg info 'Creating runner configuration' + ### Configure labels + LABELS="self-hosted,{{ .chezmoi.hostname }},{{ .host.distro.family }}" + if [ '{{ .host.distro.family }}' != '{{ .host.distro.id }}' ]; then + LABELS="${LABELS},{{ .host.distro.id }}" + fi + if command -v VirtualBox > /dev/null; then + LABELS="${LABELS},virtualbox" + fi + if command -v docker > /dev/null; then + LABELS="${LABELS},docker" + fi + + if [ -n "$GITHUB_TOKEN" ]; then + if command -v jq > /dev/null; then + ### Acquire token + logg info 'Acquiring runner token' + RUNNER_TOKEN="$(curl -sSL -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer $GITHUB_TOKEN" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/{{ .user.github.runnerOrg }}/actions/runners/registration-token | jq -r '.token')" + ### Generate the configuration + logg info 'Joining GitHub runner to https://github.com/{{ .user.github.runnerOrg }}' + "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/config.sh" --unattended --url https://github.com/{{ .user.github.runnerOrg }} --token "$RUNNER_TOKEN" --labels "$LABELS" || EXIT_CODE=$? + if [ -n "$EXIT_CODE" ]; then + logg error 'GitHub runner configuration failed' && exit 1 + fi + ### Install / start the service + logg info 'Configuring runner service' + "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/svc.sh" install && logg success 'Successfully installed the GitHub Actions runner service' + logg info 'Starting runner service' + "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/svc.sh" start && logg success 'Started the GitHub Actions runner service' + else + logg warn 'jq is required by the GitHub runner configuration script' + fi + else + logg warn 'The GITHUB_TOKEN environment variable is not present' + fi + fi + else + logg info "The GitHub Actions runner installation is not present at ${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" + fi + _when: '! test -d "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner"' + script: | + #!/usr/bin/env bash + if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" ]; then + source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" + fi + if [ -n "$GITHUB_TOKEN" ]; then + RELEASES="$(curl -sSL --compressed --header "Authorization: Bearer $GITHUB_TOKEN" "https://api.github.com/repos/actions/runner/releases/latest")" + else + RELEASES="$(curl -sSL --compressed "https://api.github.com/repos/actions/runner/releases/latest")" + fi + LATEST_VERSION="$(echo "$RELEASES" | grep -o '"tag_name": "[^"]*' | grep -o '[^"]*$')" + ARCHITECTURE="$(uname -m | sed 's/86_//' | sed 's/v7l//')" + OS_FAMILY="$(test -d /Applications && echo osx || echo linux)" + curl -sSL "https://github.com/actions/runner/releases/download/$LATEST_VERSION/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" > "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" + mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" + tar xzf "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" -C "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" + chown -Rf "$USER" "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" + rm -f "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" gitify: + _app: Gitify.app _bin: null _desc: null _description: GitHub notifications on the menu bar @@ -5199,18 +4476,17 @@ softwarePackages: _github: https://github.com/manosim/gitify _home: https://github.com/manosim/gitify _name: Gitify - _app: Gitify.app cask: gitify github: github.com/manosim/gitify yay: gitify-bin gitkraken: + _app: GitKraken.app _bin: gitkraken _desc: '[GitKraken](https://www.gitkraken.com/) is a software product for developers and dev teams. The Git Client is a leading software tool helping developers maximize their productivity with a beautiful, intuitive GUI.' _docs: https://support.gitkraken.com/ _github: Not open-source _home: https://www.gitkraken.com/ _name: GitKraken - _app: GitKraken.app ansible: professormanhattan.gitkraken cask: gitkraken choco: gitkraken @@ -5223,133 +4499,19 @@ softwarePackages: _github: https://github.com/gitlabhq/gitlab-runner _home: https://gitlab.com/gitlab-org/gitlab-runner _name: Gitlab Runner + _post: "#!/usr/bin/env bash\n# @file GitLab Runner Configuration\n# @brief Registers GitLab Runner(s) with the given GitLab instance\n# @description\n# This script registers the runner(s) with the given GitLab instance. SaaS GitLab can also be provided as the GitLab instance to register\n# the runners with. The script configures the runners to use either Docker or VirtualBox Executor. Refer to\n# [this page](https://docs.gitlab.com/runner/executors/docker.html) and [this page](https://docs.gitlab.com/runner/executors/virtualbox.html)\n# for details about the available configuration settings.\n#\n# Runners are always tagged with these 2 values: `hostname` and `docker`/`virtualbox` depending on the type of executor. If a list of tags is provided,\n# the runner is tagged with these values in addition to the above mentioned values. If the list of tags is empty, no additonal tags are added and the\n# runner is configured to pickup `untagged` jobs.\n#\n# Configuring other type of executors is not supported by this script.\n#\n# ## Secrets\n#\n# The following chart details the secret(s) that are needed to configure the runner:\n#\n# | Secret | Description |\n# |------------------------|------------------------------------------------------------|\n# | `GITLAB_RUNNER_TOKEN` | The token generated when the runner was created in GitLab |\n#\n# For more information about storing secrets like SSH keys and API keys, refer to our Secrets documentation provided below\n#\n# ## Configuration Variables\n#\n# The following chart details the input variable(s) that are used to determine the configuration of the runner:\n#\n# | Variable | Description |\n# |---------------------|----------------------------------------------------------------------------------------------------------|\n# | `glurl` | The URL of the Gitlab instance to associate the Runner with |\n# | `runnerImage` | Docker image to use to configure the runner. Needed only when configuring `Docker` executor |\n# | `runnerDescription` | Description of this runner |\n# | `runnerTags` | Comma separated list of tags for this runner. See details in the description for more info |\n# | `baseVM` | Name of the VirtualBox VM to use for creating runner. Needed only when configuring `VirtualBox` executor |\n#\n# ## Links\n#\n# * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets)\n\n### Check if Docker is installed and operational so Docker executor(s) can be registered\nif command -v docker > /dev/null && docker run --rm hello-world > /dev/null; then\n HAS_DOCKER=1\nelse\n HAS_DOCKER=0\n logg warn 'Docker is not installed or it is not operational'\nfi\n\n### Check if VirtualBox is installed and operational so VirtualBox executor(s) can be registered\nif command -v VirtualBox > /dev/null; then\n HAS_VIRTUALBOX=1\nelse\n HAS_VIRTUALBOX=0\n logg warn 'VirtualBox is not installed'\nfi\n\n### Configure runners if Docker or VirtualBox is installed\nif [ $HAS_DOCKER -eq 0 ] && [ $HAS_VIRTUALBOX -eq 0 ]; then\n logg warn 'Docker and VirtualBox are not installed. Not registering runner(s).'\nelse\n ### Run logic if gitlab-runner is installed\n if command -v gitlab-runner > /dev/null; then\n ### Populate appropriate token\n case \"$OSTYPE\" in\n solaris*) echo \"TODO\" ;;\n darwin*) GITLAB_RUNNER_TOKEN=\"{{ if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"GITLAB_RUNNER_TOKEN_DARWIN\")) }}{{ includeTemplate \"secrets/GITLAB_RUNNER_TOKEN_DARWIN\" | decrypt | trim }}{{ else }}{{ env \"GITLAB_RUNNER_TOKEN_DARWIN\" }}{{ end }}\" ;; \n linux*) GITLAB_RUNNER_TOKEN=\"{{ if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"GITLAB_RUNNER_TOKEN_LINUX\")) }}{{ includeTemplate \"secrets/GITLAB_RUNNER_TOKEN_LINUX\" | decrypt | trim }}{{ else }}{{ env \"GITLAB_RUNNER_TOKEN_LINUX\" }}{{ end }}\" ;;\n bsd*) echo \"TODO\" ;;\n msys*) GITLAB_RUNNER_TOKEN=\"{{ if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"GITLAB_RUNNER_TOKEN_WINDOWS\")) }}{{ includeTemplate \"secrets/GITLAB_RUNNER_TOKEN_WINDOWS\" | decrypt | trim }}{{ else }}{{ env \"GITLAB_RUNNER_TOKEN_WINDOWS\" }}{{ end }}\" ;;\n cygwin*) GITLAB_RUNNER_TOKEN=\"{{ if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"GITLAB_RUNNER_TOKEN_WINDOWS\")) }}{{ includeTemplate \"secrets/GITLAB_RUNNER_TOKEN_WINDOWS\" | decrypt | trim }}{{ else }}{{ env \"GITLAB_RUNNER_TOKEN_WINDOWS\" }}{{ end }}\" ;;\n *) echo \"unknown: $OSTYPE\" ;;\n esac\n\n ### Check if Runner Token value is present before attempting to register runner(s)\n if [ $GITLAB_RUNNER_TOKEN != \"\" ]; then\n ### Registering runners\n {{ $cmd := `gitlab-runner register \\\n --non-interactive \\\n --token $GITLAB_RUNNER_TOKEN \\` }}\n ### Register Docker based runners if Docker is installed and operational\n if [ $HAS_DOCKER -eq 1 ]; then\n logg info 'Registering GitLab Runner(s) that use Docker executor'\n {{- range .host.gitlabRunners }}\n {{- if index . \"runnerImage\" }}\n {{- $cmd }}\n --url {{ .glurl }} \\\n --executor \"docker\" \\\n --description \"{{ .runnerDescription }} - on {{ $.chezmoi.hostname }}\" \\\n --docker-image {{ .runnerImage }} \\\n {{ if and .runnerTags (gt (len .runnerTags) 0) }}--tag-list \"{{ .runnerTags }},{{ $.chezmoi.hostname }},docker\"\n {{- else }}--tag-list \"{{ $.chezmoi.hostname }},docker\" --run-untagged{{ end }} || echo 'Runner registration failed\"\n {{ end -}}\n {{ end }}\n fi\n \n ### Register VirtualBox based runners if VirtualBox is installed\n if [ $HAS_VIRTUALBOX -eq 1 ]; then\n logg info 'Registering GitLab Runner(s) that use VirtualBox executor'\n {{- range .host.gitlabRunners }}\n {{- if index . \"baseVM\" }}\n {{- $cmd }}\n --url {{ .glurl }} \\\n --executor \"virtualbox\" \\\n --description \"{{ .runnerDescription }} - on {{ $.chezmoi.hostname }}\" \\\n --virtualbox-base-name \"{{ .baseVM }}\" \\\n {{ if and .runnerTags (gt (len .runnerTags) 0) }}--tag-list \"{{ .runnerTags }},{{ $.chezmoi.hostname }},virtualbox\"\n {{- else }}--tag-list \"{{ $.chezmoi.hostname }},virtualbox\" --run-untagged{{ end }} || echo 'Runner registration failed\"\n {{ end -}}\n {{ end }}\n fi\n else\n logg warn 'GITLAB_RUNNER_TOKEN is not set. Not registering runner(s)'\n fi\n else\n logg warn 'gitlab-runner is not installed or is not available in PATH'\n fi\nfi\n" _service: gitlab-runner _serviceEnabled: true - _post: | - #!/usr/bin/env bash - # @file GitLab Runner Configuration - # @brief Registers GitLab Runner(s) with the given GitLab instance - # @description - # This script registers the runner(s) with the given GitLab instance. SaaS GitLab can also be provided as the GitLab instance to register - # the runners with. The script configures the runners to use either Docker or VirtualBox Executor. Refer to - # [this page](https://docs.gitlab.com/runner/executors/docker.html) and [this page](https://docs.gitlab.com/runner/executors/virtualbox.html) - # for details about the available configuration settings. - # - # Runners are always tagged with these 2 values: `hostname` and `docker`/`virtualbox` depending on the type of executor. If a list of tags is provided, - # the runner is tagged with these values in addition to the above mentioned values. If the list of tags is empty, no additonal tags are added and the - # runner is configured to pickup `untagged` jobs. - # - # Configuring other type of executors is not supported by this script. - # - # ## Secrets - # - # The following chart details the secret(s) that are needed to configure the runner: - # - # | Secret | Description | - # |------------------------|------------------------------------------------------------| - # | `GITLAB_RUNNER_TOKEN` | The token generated when the runner was created in GitLab | - # - # For more information about storing secrets like SSH keys and API keys, refer to our Secrets documentation provided below - # - # ## Configuration Variables - # - # The following chart details the input variable(s) that are used to determine the configuration of the runner: - # - # | Variable | Description | - # |---------------------|----------------------------------------------------------------------------------------------------------| - # | `glurl` | The URL of the Gitlab instance to associate the Runner with | - # | `runnerImage` | Docker image to use to configure the runner. Needed only when configuring `Docker` executor | - # | `runnerDescription` | Description of this runner | - # | `runnerTags` | Comma separated list of tags for this runner. See details in the description for more info | - # | `baseVM` | Name of the VirtualBox VM to use for creating runner. Needed only when configuring `VirtualBox` executor | - # - # ## Links - # - # * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets) - - ### Check if Docker is installed and operational so Docker executor(s) can be registered - if command -v docker > /dev/null && docker run --rm hello-world > /dev/null; then - HAS_DOCKER=1 - else - HAS_DOCKER=0 - logg warn 'Docker is not installed or it is not operational' - fi - - ### Check if VirtualBox is installed and operational so VirtualBox executor(s) can be registered - if command -v VirtualBox > /dev/null; then - HAS_VIRTUALBOX=1 - else - HAS_VIRTUALBOX=0 - logg warn 'VirtualBox is not installed' - fi - - ### Configure runners if Docker or VirtualBox is installed - if [ $HAS_DOCKER -eq 0 ] && [ $HAS_VIRTUALBOX -eq 0 ]; then - logg warn 'Docker and VirtualBox are not installed. Not registering runner(s).' - else - ### Run logic if gitlab-runner is installed - if command -v gitlab-runner > /dev/null; then - ### Populate appropriate token - case "$OSTYPE" in - solaris*) echo "TODO" ;; - darwin*) GITLAB_RUNNER_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_RUNNER_TOKEN_DARWIN")) }}{{ includeTemplate "secrets/GITLAB_RUNNER_TOKEN_DARWIN" | decrypt | trim }}{{ else }}{{ env "GITLAB_RUNNER_TOKEN_DARWIN" }}{{ end }}" ;; - linux*) GITLAB_RUNNER_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_RUNNER_TOKEN_LINUX")) }}{{ includeTemplate "secrets/GITLAB_RUNNER_TOKEN_LINUX" | decrypt | trim }}{{ else }}{{ env "GITLAB_RUNNER_TOKEN_LINUX" }}{{ end }}" ;; - bsd*) echo "TODO" ;; - msys*) GITLAB_RUNNER_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_RUNNER_TOKEN_WINDOWS")) }}{{ includeTemplate "secrets/GITLAB_RUNNER_TOKEN_WINDOWS" | decrypt | trim }}{{ else }}{{ env "GITLAB_RUNNER_TOKEN_WINDOWS" }}{{ end }}" ;; - cygwin*) GITLAB_RUNNER_TOKEN="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "GITLAB_RUNNER_TOKEN_WINDOWS")) }}{{ includeTemplate "secrets/GITLAB_RUNNER_TOKEN_WINDOWS" | decrypt | trim }}{{ else }}{{ env "GITLAB_RUNNER_TOKEN_WINDOWS" }}{{ end }}" ;; - *) echo "unknown: $OSTYPE" ;; - esac - - ### Check if Runner Token value is present before attempting to register runner(s) - if [ $GITLAB_RUNNER_TOKEN != "" ]; then - ### Registering runners - {{ $cmd := `gitlab-runner register \ - --non-interactive \ - --token $GITLAB_RUNNER_TOKEN \` }} - ### Register Docker based runners if Docker is installed and operational - if [ $HAS_DOCKER -eq 1 ]; then - logg info 'Registering GitLab Runner(s) that use Docker executor' - {{- range .host.gitlabRunners }} - {{- if index . "runnerImage" }} - {{- $cmd }} - --url {{ .glurl }} \ - --executor "docker" \ - --description "{{ .runnerDescription }} - on {{ $.chezmoi.hostname }}" \ - --docker-image {{ .runnerImage }} \ - {{ if and .runnerTags (gt (len .runnerTags) 0) }}--tag-list "{{ .runnerTags }},{{ $.chezmoi.hostname }},docker" - {{- else }}--tag-list "{{ $.chezmoi.hostname }},docker" --run-untagged{{ end }} || echo 'Runner registration failed" - {{ end -}} - {{ end }} - fi - - ### Register VirtualBox based runners if VirtualBox is installed - if [ $HAS_VIRTUALBOX -eq 1 ]; then - logg info 'Registering GitLab Runner(s) that use VirtualBox executor' - {{- range .host.gitlabRunners }} - {{- if index . "baseVM" }} - {{- $cmd }} - --url {{ .glurl }} \ - --executor "virtualbox" \ - --description "{{ .runnerDescription }} - on {{ $.chezmoi.hostname }}" \ - --virtualbox-base-name "{{ .baseVM }}" \ - {{ if and .runnerTags (gt (len .runnerTags) 0) }}--tag-list "{{ .runnerTags }},{{ $.chezmoi.hostname }},virtualbox" - {{- else }}--tag-list "{{ $.chezmoi.hostname }},virtualbox" --run-untagged{{ end }} || echo 'Runner registration failed" - {{ end -}} - {{ end }} - fi - else - logg warn 'GITLAB_RUNNER_TOKEN is not set. Not registering runner(s)' - fi - else - logg warn 'gitlab-runner is not installed or is not available in PATH' - fi - fi ansible: professormanhattan.gitlabrunner brew: gitlab-runner choco: gitlab-runner pacman: gitlab-runner port: gitlab-runner scoop: gitlab-runner + gitlabform: + _bin: gitlabform + _github: https://github.com/gitlabform/gitlabform/ + pipx: gitlabform gitleaks: _bin: gitleaks _desc: Extension to scan git repos (or files) for secrets using regex and entropy @@ -5362,6 +4524,12 @@ softwarePackages: github: github.com/zricethezav/gitleaks pkg: gitleaks yay: gitleaks + gitmoji-cli: + _bin: gitmoji + _github: https://github.com/carloscuesta/gitmoji-cli + _npm: Gitmoji CLI + brew: gitmoji + npm: gitmoji-cli gitomatic: _bin: gitomatic _desc: '[git-o-matic](https://github.com/muesli/gitomatic) is a tool to monitor git repositories and automatically pull & push changes' @@ -5369,81 +4537,17 @@ softwarePackages: _github: https://github.com/muesli/gitomatic _home: null _name: git-o-matic - _post: | - #!/usr/bin/env bash - # @file git-o-matic Configuration - # @brief Starts service on Linux systems to monitor Git repositories - # @description - # git-o-matic is a tool to monitor git repositories and automatically pull/push changes. Multiple repositories can be - # monitored by running multiple instances of `gitomatic`. This script supports SSH Key based authentication only. - # - # If the `gitomatic` program is installed, this script creates and starts a Systemd service to monitor the repositories. - # The repositories are cloned if they are not available at the path. - # - # ## Notes - # * The author name and email address for commits are the same as `.user.name` and `.user.email` (configured in the `home/.chezmoi.yaml.tmpl` file) - # * `gitomatic` automatically pushes and pulls changes. The script does not change this behavior - # * `gitomatic` checks for changes every minute. This setting is not changed by this script - # * The User's default SSH Key is used for authentication - # - # ## Links - # - # * [gitomatic GitHub repository](https://github.com/muesli/gitomatic/) - # * [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl) - # * [Helper script](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_local/bin/executable_gitomatic_service.tmpl) - - if command -v gitomatic > /dev/null; then - ### Copy bin to /usr/local/bin - logg info "Copying $HOME/.local/bin/gitomatic-service to /usr/local/bin/gitomatic-service" && sudo cp -f "$HOME/.local/bin/gitomatic-service" /usr/local/bin/gitomatic-service - - ### Copy gitomatic to global directory - if [ ! -f /usr/local/bin/gitomatic ]; then - logg info 'Copying gitomatic executable to /usr/local/bin/gitomatic' && sudo cp -f "$(which gitomatic)" /usr/local/bin/gitomatic - fi - - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - logg info 'Copying gitomatic plist file to /Library/LaunchDaemons' && sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/gitomatic/com.github.muesli.gitomatic.plist" /Library/LaunchDaemons/com.github.muesli.gitomatic.plist - if ! sudo launchctl list | grep 'gitomatic' > /dev/null; then - logg info 'Running sudo launchctl load /Library/LaunchDaemons/com.github.muesli.gitomatic.plist' && sudo launchctl load /Library/LaunchDaemons/com.github.muesli.gitomatic.plist - logg info 'Running sudo launchctl start /Library/LaunchDaemons/com.github.muesli.gitomatic.plist' && sudo launchctl start /Library/LaunchDaemons/com.github.muesli.gitomatic.plist - else - logg info "gitomatic services appear to already be loaded" - fi - else - ### Linux - logg info 'Copying gitomatic systemd unit file to /etc/systemd/system/' && sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/gitomatic/gitomatic.service" /etc/systemd/system/gitomatic.service - logg info 'Reloading systemd daemon' && sudo systemctl daemon-reload - logg info 'Enabling and starting gitomatic service' && sudo systemctl enable --now gitomatic - fi - else - logg info 'gitomatic is not installed or it is not available in PATH' - fi + _post: "#!/usr/bin/env bash\n# @file git-o-matic Configuration\n# @brief Starts service on Linux systems to monitor Git repositories\n# @description\n# git-o-matic is a tool to monitor git repositories and automatically pull/push changes. Multiple repositories can be\n# monitored by running multiple instances of `gitomatic`. This script supports SSH Key based authentication only.\n#\n# If the `gitomatic` program is installed, this script creates and starts a Systemd service to monitor the repositories.\n# The repositories are cloned if they are not available at the path.\n#\n# ## Notes\n# * The author name and email address for commits are the same as `.user.name` and `.user.email` (configured in the `home/.chezmoi.yaml.tmpl` file)\n# * `gitomatic` automatically pushes and pulls changes. The script does not change this behavior\n# * `gitomatic` checks for changes every minute. This setting is not changed by this script\n# * The User's default SSH Key is used for authentication\n#\n# ## Links\n#\n# * [gitomatic GitHub repository](https://github.com/muesli/gitomatic/)\n# * [Systemd Unit file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/gitomatic/gitomatic.service.tmpl)\n# * [Helper script](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_local/bin/executable_gitomatic_service.tmpl)\n\nif command -v gitomatic > /dev/null; then\n ### Copy bin to /usr/local/bin\n logg info \"Copying $HOME/.local/bin/gitomatic-service to /usr/local/bin/gitomatic-service\" && sudo cp -f \"$HOME/.local/bin/gitomatic-service\" /usr/local/bin/gitomatic-service\n \n ### Copy gitomatic to global directory\n if [ ! -f /usr/local/bin/gitomatic ]; then\n logg info 'Copying gitomatic executable to /usr/local/bin/gitomatic' && sudo cp -f \"$(which gitomatic)\" /usr/local/bin/gitomatic\n fi\n\n if [ -d /Applications ] && [ -d /System ]; then\n ### macOS\n logg info 'Copying gitomatic plist file to /Library/LaunchDaemons' && sudo cp -f \"${XDG_CONFIG_HOME:-$HOME/.config}/gitomatic/com.github.muesli.gitomatic.plist\" /Library/LaunchDaemons/com.github.muesli.gitomatic.plist\n if ! sudo launchctl list | grep 'gitomatic' > /dev/null; then\n logg info 'Running sudo launchctl load /Library/LaunchDaemons/com.github.muesli.gitomatic.plist' && sudo launchctl load /Library/LaunchDaemons/com.github.muesli.gitomatic.plist\n logg info 'Running sudo launchctl start /Library/LaunchDaemons/com.github.muesli.gitomatic.plist' && sudo launchctl start /Library/LaunchDaemons/com.github.muesli.gitomatic.plist\n else\n logg info \"gitomatic services appear to already be loaded\"\n fi\n else\n ### Linux\n logg info 'Copying gitomatic systemd unit file to /etc/systemd/system/' && sudo cp -f \"${XDG_CONFIG_HOME:-$HOME/.config}/gitomatic/gitomatic.service\" /etc/systemd/system/gitomatic.service\n logg info 'Reloading systemd daemon' && sudo systemctl daemon-reload\n logg info 'Enabling and starting gitomatic service' && sudo systemctl enable --now gitomatic\n fi\nelse\n logg info 'gitomatic is not installed or it is not available in PATH'\nfi\n" ansible: professormanhattan.gitomatic github: github.com/muesli/gitomatic go: github.com/muesli/gitomatic@latest pacman: gitomatic scoop: gitomatic - mudlet: - _bin: mudlet - _desc: A full-featured cross-OS MUD client - _docs: https://wiki.mudlet.org/?pk_vid=b53bfe5eba0aac5a1685341616dc4f27 - _github: https://github.com/Mudlet/Mudlet - _home: https://www.mudlet.org/ - _name: Mudlet - _app: mudlet.app - cask: mudlet - choco: mudlet - snap: mudlet-linux - git-stats: - _bin: git-stats - _desc: '[gitstats](https://github.com/IonicaBizau/git-stats) can track and display local git statistics. It includes the capability of displaying a GitHub-like contributions calendar in the terminal.' - _docs: null - _github: https://github.com/IonicaBizau/git-stats - _home: null - _name: git-stats - ansible: professormanhattan.gitstats - npm: git-stats + gitql: + _bin: gitql + _github: https://github.com/filhodanuvem/gitql + _name: GitQL + brew: gitql gitui: _bin: gitui _desc: Blazing fast TUI for git written in Rust @@ -5551,26 +4655,70 @@ softwarePackages: apt: glusterfs-server dnf:fedora: glusterfs-server pacman: glusterfs - android-platform-tools: - _bin: adb + gnome: + _bin: gnome + _github: https://github.com/GNOME/gnome-shell + _name: GNOME + apt: gnome + dnf: gnome + pacman: gnome + zypper: gnome + gnome-boxes: + _bin: gnome-boxes + _desc: GNOME Boxes is an application of the GNOME Desktop Environment, used to access virtual systems. Boxes uses the QEMU, KVM, and libvirt virtualization technologies + _docs: https://help.gnome.org/users/gnome-boxes/stable/ _github: null - _name: Android Platform Tools - cask: android-platform-tools - findutils: - _bin: gfind - brew: findutils - gnu-indent: - _bin: gindent - brew: gnu-indent - gnu-tar: - _bin: gtar - brew: gnu-tar - gnu-sed: - _bin: gsed - brew: gnu-sed - gnutls: - _bin: gnutls-certtool - brew: gnutls + _home: https://apps.gnome.org/app/org.gnome.Boxes/ + _name: GNOME Boxes + apt: gnome-boxes + dnf: gnome-boxes + flatpak: org.gnome.Boxes + pacman: gnome-boxes + gnome-calendar: + _bin: calendar + flatpak: org.gnome.Calendar + gnome-document-viewer: + _bin: document-viewer + flatpak: org.gnome.Evince + gnome-extension-manager: + _bin: gnome-extension-manager + flatpak: com.mattjakeman.ExtensionManager + gnome-eyedropper: + _bin: eyedropper + flatpak: com.github.finefindus.eyedropper + gnome-file-roller: + _bin: file-roller + flatpak: org.gnome.FileRoller + gnome-image-viewer: + _bin: image-viewer + flatpak: org.gnome.eog + gnome-network-displays: + _bin: network-displays + flatpak: org.gnome.NetworkDisplays + gnome-passwords-keys: + _bin: seahorse + flatpak: org.gnome.seahorse.Application + gnome-photos: + _bin: photos + flatpak: org.gnome.Photos + gnome-sound-recorder: + _bin: sound-recorder + flatpak: org.gnome.SoundRecorder + gnome-text-editor: + _bin: text-editor + flatpak: org.gnome.TextEditor + gnome-tweaks: + _bin: gnome-tweaks + _name: GNOME Tweaks + apt: gnome-tweaks + dnf: gnome-tweaks + pacman: gnome-tweaks + gnome-video-player: + _bin: video-player + flatpak: org.gnome.Totem + gnome-weather: + _bin: gnome-weather + flatpak: org.gnome.Weather gnu: _deps:darwin: - coreutils @@ -5581,6 +4729,18 @@ softwarePackages: - gnu-sed - gnutls - grep + gnu-indent: + _bin: gindent + brew: gnu-indent + gnu-sed: + _bin: gsed + brew: gnu-sed + gnu-tar: + _bin: gtar + brew: gnu-tar + gnutls: + _bin: gnutls-certtool + brew: gnutls go: _bin: go _desc: '[Go](https://golang.org/) is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. Go is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style concurrency.' @@ -5613,6 +4773,19 @@ softwarePackages: _home: null _name: null go: github.com/ramya-rao-a/go-outline@latest + goaccess: + _bin: goaccess + _desc: GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. + _docs: https://goaccess.io/get-started + _github: https://github.com/allinurl/goaccess + _home: https://goaccess.io/ + _name: GoAccess + apt: goaccess + brew: goaccess + dnf:fedora: goaccess + emerge: net-analyzer/goaccess + pacman: goaccess + pkgin: goaccess gojq: _bin: gojq _desc: gojq is a pure Go implementation of jq that is mostly backwards compatible (but not completely) @@ -5653,6 +4826,169 @@ softwarePackages: brew: gomplate choco: gomplate port: gomplate + goofys: + _bin: goofys + _deps: + - fuse + _desc: A high-performance, POSIX-ish Amazon S3 file system written in Go + _docs: https://github.com/kahing/goofys#usage + _github: https://github.com/kahing/goofys + _home: https://github.com/kahing/goofys + _name: Goofys + ansible:linux: professormanhattan.goofys + brew:linux: goofys + go:linux: github.com/kahing/goofys@latest + google-assistant: + _app: Google Assistant.app + _bin: g-assist + _desc: '[Google Assistant for Desktop](https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client) is a cross-platform unofficial Google Assistant Client for Desktop.' + _docs: null + _github: https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client + _home: null + _name: Google Assistant for Desktop + ansible:windows: professormanhattan.googleassistant + cask: google-assistant + github: github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client + snap: g-assist + winget: g-assist + google-chrome: + _app: Google Chrome.app + _bin: null + _deps: + - chrome-gnome-shell + _desc: '[Google Chrome](https://www.google.com/chrome/) is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android where it is the default browser built into the OS.' + _docs: https://developer.chrome.com/docs/extensions/reference/ + _env: + GOOGLE_CHROME_APPDATA: + cask: "$HOME/Library/Application Support/Google/Chrome/Default" + flatpak: "$HOME/.var/app/com.google.Chrome/config/google-chrome/Default" + _github: Not open-source + _home: https://www.google.com/chrome/ + _name: Google Chrome + _post: | + #!/usr/bin/env bash + # @file Chrome Settings / Extensions + # @brief This script configures Chrome, Brave, and Chromium system-wide managed / recommended policies settings. It also pre-loads a configurable list of Chrome extensions to Chrome, Brave, Chromium, and Edge (if they are installed). + # @description + # This Chrome setup script applies system-wide settings and pre-loads Chrome extensions into the browser profiles. The + # extensions still must be enabled but they appear in the Chrome extensions menu and can be enabled with the toggle. The + # system settings are applied to Chrome, Chromium, and Brave. Extensions are installed to the same browsers plus Microsoft Edge. + # + # ## Features + # + # * Adds `~/.config/chrome/managed.json` to the `managed/policies.json` system locations + # * Adds `~/.config/chrome/recommended.json` to the `recommended/policies.json` system locations + # * Pre-loads extension metadata for all the extensions defined under `chromeExtensions` in the [`home/.chezmoidata.yaml`](https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoidata.yaml) file + # + # ## TODO + # + # * Automatically enable the extensions that are pre-loaded + # * Create several profiles with different characteristics (similar to the Firefox setup script) + # * Ensure the directories that the script cycles through to install managed settings and extensions are complete for all installation types (i.e. there might need to be some additions for Flatpak installations since their folder structure is different) + # * Document how [`chromium-flags.conf`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chromium-flags.conf) can be or is integrated + # + # ## Links + # + # * [`managed.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chrome/managed.json) + # * [`recommended.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/chrome/recommended.json) + + function chromeSetUp() { + ### Ensure Chrome policies directory is present + logg info 'Processing policy directories for Chromium based browsers' + for POLICY_DIR in "/opt/google/chrome/policies"; do + if [ -d "$(dirname "$POLICY_DIR")" ]; then + ### Managed policies + if [ ! -f "$POLICY_DIR/managed/policies.json" ]; then + logg info "Ensuring directory $POLICY_DIR/managed exists" + sudo mkdir -p "$POLICY_DIR/managed" + logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json to $POLICY_DIR/managed/policies.json" + sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/managed.json" "$POLICY_DIR/managed/policies.json" + fi + + ### Recommended policies + if [ ! -f "$POLICY_DIR/recommended/policies.json" ]; then + logg info "Ensuring directory $POLICY_DIR/recommended exists" && sudo mkdir -p "$POLICY_DIR/recommended" + logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json to $POLICY_DIR/recommended/policies.json" + sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/recommended.json" "$POLICY_DIR/recommended/policies.json" + fi + else + logg info "Skipping extension injection into $POLICY_DIR - create these folders prior to running to create managed configs" + fi + done + + ### Add Chrome extension JSON + logg info 'Populating Chrome extension JSON' + for EXTENSION_DIR in "/opt/google/chrome/extensions" "$HOME/Library/Application Support/Google/Chrome/External Extensions"; do + ### Ensure program-type is installed + if [ -d "$(dirname "$EXTENSION_DIR")" ]; then + ### Ensure extension directory exists + if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then + if [ ! -d "$EXTENSION_DIR" ]; then + logg info "Creating directory $EXTENSION_DIR" && sudo mkdir -p "$EXTENSION_DIR" + fi + else + if [ ! -d "$EXTENSION_DIR" ]; then + logg info "Creating directory $EXTENSION_DIR" && mkdir -p "$EXTENSION_DIR" + fi + fi + + ### Add extension JSON + logg info "Adding Chrome extensions to $EXTENSION_DIR" + for EXTENSION in {{ list (.chromeExtensions | toString | replace "[" "" | replace "]" "") | uniq | join " " }}; do + logg info "Adding Chrome extension manifest ($EXTENSION)" + if ! echo "$EXTENSION" | grep 'https://chrome.google.com/webstore/detail/' > /dev/null; then + EXTENSION="https://chrome.google.com/webstore/detail/$EXTENSION" + fi + EXTENSION_ID="$(echo "$EXTENSION" | sed 's/^.*\/\([^\/]*\)$/\1/')" + if [[ "$EXTENSION_DIR" == '/opt/'* ]] || [[ "$EXTENSION_DIR" == '/etc/'* ]]; then + sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" + else + cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/chrome/extension.json" "$EXTENSION_DIR/${EXTENSION_ID}.json" + fi + done + else + logg info "$EXTENSION_DIR does not exist" + fi + done + } + chromeSetUp + ansible: professormanhattan.chrome + cask: google-chrome + choco: googlechrome + flatpak: com.google.Chrome + yay: google-chrome + google-drive: + _app: Google Drive.app + _bin: google-drive + _desc: Google Drive for Desktop integrates a Google Drive account into your macOS / Windows workstation by adding a menubar with options to synchronize folders to the cloud. + _docs: false + _github: false + _home: https://www.google.com/drive/download/ + _name: Google Drive + cask: google-drive + choco: googledrive + google-web-designer: + _bin: google-web-designer + _name: Google Web Designer + cask: google-web-designer + choco: google-web-designer + gopass: + _bin: gopass + _desc: The slightly more awesome standard unix password manager for teams + _docs: https://github.com/gopasspw/gopass/tree/master/docs + _github: https://github.com/gopasspw/gopass + _home: https://www.gopass.pw/ + _name: GoPass + apk: gopass + brew: gopass + choco: + - gpg4win + - gopass + dnf: gopass + go: github.com/gopasspw/gopass@latest + pacman: gopass + scoop: gopass + winget: gopass.gopass gopkgs: _bin: gopkgs _desc: Tool to get list available Go packages @@ -5670,6 +5006,15 @@ softwarePackages: _name: null brew: gopls go: golang.org/x/tools/gopls@latest + goreleaser: + _bin: goreleaser + _github: https://github.com/goreleaser/goreleaser + _name: Go Releaser + brew: goreleaser + go: github.com/goreleaser/goreleaser@latest + nix-env: goreleaser + snap: goreleaser --classic + yay: goreleaser-bin gotests: _bin: gotests _desc: Automatically generate Go test boilerplate from your source code @@ -5702,6 +5047,11 @@ softwarePackages: github: github.com/orf/gping pacman: gping scoop: gping + gpt-engineer: + _bin: gpt-engineer + _github: https://github.com/AntonOsika/gpt-engineer + _name: GPT Engineer + pipx: gpt-engineer gradle: _bin: gradle _desc: '[Gradle](https://gradle.org/) is a build automation tool for multi-language software development. It controls the development process in the tasks of compilation and packaging to testing, deployment, and publishing. Supported languages include Java, C/C++, JavaScript.' @@ -5715,6 +5065,21 @@ softwarePackages: port: gradle scoop: gradle snap: gradle --classic + graphql-playground: + _app: GraphQL Playground.app + _bin: graphql-playground + _github: https://github.com/graphql/graphql-playground + _name: GraphQL Playground + appimage: graphql/graphql-playground + cask: graphql-playground + exe: https://github.com/graphql/graphql-playground/releases/download/v1.8.10/graphql-playground-electron-setup-1.8.10.exe + grep: + _bin: grep + apt: grep + brew: grep + dnf: grep + pacman: grep + zypper: grep grex: _bin: grex _desc: A command-line tool and library for generating regular expressions from user-provided test cases @@ -5766,22 +5131,6 @@ softwarePackages: _home: https://guacamole.apache.org/ _name: Guacamole ansible: professormanhattan.guacamole - seafile-client: - _bin: seafile-client - _app: Seafile Client.app - cask: seafile-client - choco: seafile-client - flatpak: com.seafile.Client - flow-launcher: - _bin: null - _desc: Quick file search & app launcher for Windows with community-made plugins - _docs: https://www.flowlauncher.com/docs/ - _github: https://github.com/Flow-Launcher/Flow.Launcher - _home: https://flowlauncher.com/ - _name: Flow Launcher - choco: Flow-Launcher - scoop: Flow-Launcher - winget: Flow Launcher gulp: _bin: gulp _desc: '[Gulp](https://gulpjs.com/) is a toolkit to automate & enhance your workflow' @@ -5805,19 +5154,12 @@ softwarePackages: nix: nixpkgs.gum pacman: gum pkg-termux: gum - goaccess: - _bin: goaccess - _desc: GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. - _docs: https://goaccess.io/get-started - _github: https://github.com/allinurl/goaccess - _home: https://goaccess.io/ - _name: GoAccess - apt: goaccess - brew: goaccess - dnf:fedora: goaccess - emerge: net-analyzer/goaccess - pacman: goaccess - pkgin: goaccess + gup: + _bin: gup + _github: + _name: Gup + brew: nao1215/tap/gup + go: github.com/nao1215/gup@latest gvm: _bin: null _desc: '[gvm](https://github.com/moovweb/gvm) lets you manage Go environments and switch between Go versions.' @@ -5836,6 +5178,38 @@ softwarePackages: brew: hadolint dnf:fedora: hadolint scoop: hadolint + handbrake: + _app: HandBrake.app + _bin: handbrake + cask: handbrake + choco: handbrake + flatpak: fr.handbrake.ghb + handlr: + _bin: handlr + _desc: A better xdg-utils + _docs: https://github.com/chmln/handlr#usage + _github: https://github.com/chmln/handlr + _home: https://github.com/chmln/handlr + _name: Handlr + cargo: handlr --locked + yay: handlr-bin + haproxy: + _bin: haproxy + _github: https://github.com/haproxy/haproxy + _name: HAProxy + _service: haproxy + apk: haproxy + apt: haproxy + brew: haproxy + choco: haproxy + dnf: haproxy + pacman: haproxy + zypper: haproxy + has: + _bin: has + _github: https://github.com/kdabir/has + _name: Has + brew: kdabir/tap/has hbs-cli: _bin: hbs _desc: This is a CLI tool to render handlebars templates, with the ability to require in Partials, Helpers and JSON Data @@ -5852,6 +5226,45 @@ softwarePackages: _name: hclq github: github.com/mattolenik/hclq go: github.com/mattolenik/hclq@latest + helix: + _bin: hx + _desc: A post-modern modal text editor. + _docs: https://docs.helix-editor.com/ + _github: https://github.com/helix-editor/helix + _home: https://helix-editor.com/ + _name: Helix Editor + _repology: helix + brew: helix + choco: helix + flatpak: com.helix_editor.Helix + pacman: helix + scoop: helix + winget: Helix.Helix + helm: + _bin: helm + _desc: The Kubernetes Package Manager. Helm is the best way to find, share, and use software built for Kubernetes. + _docs: https://helm.sh/docs + _github: https://github.com/helm/helm + _home: https://helm.sh/ + _name: Helm + brew: helm + choco: kubernetes-helm + scoop: helm + snap: helm --classic + helm-docs: + _bin: helm-docs + _github: https://github.com/norwoodj/helm-docs + _name: Helm Docs + brew: norwoodj/tap/helm-docs + scoop: helm-docs + helmfile: + _bin: helmfile + _github: https://github.com/helmfile/helmfile + _name: Helmfile + brew: helmfile + pacman: helmfile + scoop: helmfile + zypper: helmfile heroku-cli: _bin: heroku _desc: '[Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli) lets you create and manage Heroku apps directly from the terminal. It’s an essential part of using Heroku.' @@ -5885,18 +5298,6 @@ softwarePackages: port: hexyl scoop: hexyl xbps: hexyl - chatgpt-nofwl: - _bin: null - _desc: ChatGPT desktop application (Mac, Windows and Linux) - _docs: https://app.nofwl.com/docs/chatgpt/config - _github: https://github.com/lencx/nofwl - _home: https://app.nofwl.com/ - _name: ChatGPT Desktop (NoFWL Version) - _app: NoFWL.app - appimage: lencx/nofwl - apt: https://github.com/lencx/nofwl/releases/download/v0.1.0/NoFWL_0.1.0_linux_x86_64.deb - cask: lencx/nofwl/nofwl --no-quarantine - msi: https://github.com/lencx/nofwl/releases/download/v0.1.0/NoFWL_0.1.0_windows_x86_64.msi hey: _bin: hey _desc: HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom @@ -5906,26 +5307,16 @@ softwarePackages: _name: hey brew: hey github: github.com/rakyll/hey - desk: - _bin: desk - _github: https://github.com/jamesob/desk - _name: Desk - brew: desk - rustdesk: - _bin: rustdesk - _desc: Open source virtual / remote desktop infrastructure for everyone! The open source TeamViewer alternative. Display and control your PC and Android devices from anywhere at anytime. - _docs: https://rustdesk.com/docs/en/ - _github: https://github.com/rustdesk/rustdesk - _home: https://rustdesk.com/ - _name: RustDesk - _app: RustDesk.app - apt: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb - cask: rustdesk - choco: rustdesk - dnf: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-fedora28-centos8.rpm - pacman: rustdesk - scoop: rustdesk - zypper: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-suse.rpm + hiddenbar: + _app: Hidden Bar.app + _bin: null + _desc: macOS menu bar application that allows you to add menu bar items to a hideable drawer + _docs: https://github.com/dwarvesf/hidden + _github: https://github.com/dwarvesf/hidden + _home: https://dwarves.foundation/opensource/ + _name: Hidden Bar + cask: hiddenbar + mas: 1452453066 himalaya: _bin: himalaya _desc: '[Himalaya](https://github.com/soywod/himalaya) is a CLI email client written in Rust.' @@ -5936,6 +5327,30 @@ softwarePackages: ansible: professormanhattan.himalaya brew: himalaya scoop: himalaya + hishtory: + _bin: hishtory + _github: https://github.com/ddworken/hishtory + _name: hiSHtory + _post: | + #!/usr/bin/env bash + echo y | hishtory init "$HISHTORY_USER_SECRET" + _todo: Check for Homebrew version + script: curl -sSL --compressed https://hishtory.dev/install.py | python3 - + hoard: + _bin: hoard + _github: https://github.com/Hyde46/hoard + _name: Hoard + # brew: Hyde46/hoard/hoard # Fails with cURL trying to download non-existant release file + cargo: hoard-rs + nix-env: hoard + # Might be paru instead of pacman + pacman: hoard + port: hoard-cli + holehe: + _bin: holehe + _github: https://github.com/megadose/holehe + _name: Holehe + pipx: holehe hostctl: _bin: hostctl _desc: This tool gives more control over the use of hosts file @@ -5963,6 +5378,40 @@ softwarePackages: _home: null _name: Hosts ansible: professormanhattan.hosts + howdoi: + _bin: howdoi + _github: https://github.com/gleitz/howdoi + _name: howdoi + brew: howdoi + pipx: howdoi + hss: + _bin: hss + _github: https://github.com/six-ddc/hss + _name: hss + brew: hss + port: hss + script: cd /tmp && git clone https://github.com/six-ddc/hss.git && cd hss && make && make install && cd /tmp && rm -rf hss + hstr: + _bin: hstr + _github: https://github.com/dvorka/hstr + _name: HiSToRy + apk: hstr + apt: hstr + brew: hstr + dnf: hstr + emerge: app-shells/hstr + nix-env: hstr + pkg-freebsd: hstr + port: histr + xbps: hstr + htmlhint: + _bin: htmlhint + _desc: The static code analysis tool you need for your HTML + _docs: https://htmlhint.com/docs/user-guide/getting-started + _github: https://github.com/htmlhint/HTMLHint + _home: https://htmlhint.com/ + _name: HTMLHint + npm: htmlhint htmlq: _bin: htmlq _desc: A lightweight and flexible command-line JSON processor for HTML @@ -5996,6 +5445,14 @@ softwarePackages: _name: HTTP Prompt brew: http-prompt pipx: http-prompt + http-toolkit: + _app: HTTP Toolkit.app + _github: https://github.com/httptoolkit/httptoolkit + _name: HTTP Toolkit + apt: https://github.com/httptoolkit/httptoolkit-desktop/releases/download/v1.14.8/HttpToolkit-1.14.8.deb + cask: http-toolkit + winget: HTTPToolKit.HTTPToolKit + yay: httptoolkit httpie: _bin: httpie _desc: '[HTTPie](https://httpie.io/) is a terminal-based, user-friendly command-line HTTP client for the API era. It comes with JSON support, syntax highlighting, persistent sessions, wget-like downloads, plugins, and more.' @@ -6034,6 +5491,35 @@ softwarePackages: pacman: hub pkg: hub scoop: hub + hugo: + _bin: hugo + _desc: The world’s fastest framework for building websites. + _docs: https://gohugo.io/documentation/ + _github: https://github.com/gohugoio/hugo + _home: https://gohugo.io/ + _name: Hugo + apt: hugo + brew: hugo + choco: hugo + dnf: hugo + eopkg: hugo + go: github.com/gohugoio/hugo@latest + pacman: hugo + port: hugo + scoop: main/hugo + snap: hugo + zypper: hugo + hurl: + _bin: hurl + _github: https://github.com/Orange-OpenSource/hurl + brew: hurl + cargo: hurl + choco: hurl + npm: '@orangeopensource/hurl' + pkg-freebsd: hurl + port: hurl + scoop: hurl + winget: hurl husky: _bin: husky _desc: Husky improves your commits and more @@ -6071,6 +5557,13 @@ softwarePackages: github: github.com/sharkdp/hyperfine pacman: hyperfine pkg: hyperfine + hyperkit: + _bin: hyperkit + _deps:darwin: + - xcode + _github: https://github.com/moby/hyperkit + _name: HyperKit + brew:darwin: hyperkit ideviceinstaller: _bin: ideviceinstaller _desc: null @@ -6079,6 +5572,15 @@ softwarePackages: _home: null _name: null brew:darwin: ideviceinstaller + iina: + _app: iina.app + _bin: null + _desc: The modern video player for macOS. + _docs: https://iina.io/ + _github: https://github.com/iina/iina + _home: https://iina.io/ + _name: iina macOS Video Player + cask: iina imagemagick: _bin: convert _desc: null @@ -6094,6 +5596,35 @@ softwarePackages: choco: imagemagick dnf:fedora: imagemagick scoop: imagemagick + imageoptim: + _app: ImageOptim.app + _bin: null + _desc: Image compressor that utilizes other applications like ImageOptim under the hood + _docs: null + _github: https://github.com/ImageOptim/ImageOptim + _home: https://imageoptim.com/mac + cask: imageoptim + imageoptim-cli: + _bin: imageoptim + _deps: + - imageoptim + _desc: Image compressor that utilizes other applications like ImageOptim under the hood + _docs: null + _github: https://github.com/ImageOptim/ImageOptim + _home: https://imageoptim.com/mac + brew:darwin-x86_64: imageoptim-cli + npm:darwin: imageoptim-cli + imagine: + _app: Imagine.app + _bin: null + _desc: Imagine is a desktop app for compression of PNG and JPEG, with a modern and friendly UI. + _docs: https://github.com/meowtec/Imagine + _github: https://github.com/meowtec/Imagine + _home: https://github.com/meowtec/Imagine + _name: Imagine + appimage: meowtec/Imagine + exe: https://github.com/meowtec/Imagine/releases/download/v0.7.4/Imagine-Setup-0.7.4.exe + script:darwin: curl -sSL https://github.com/meowtec/Imagine/releases/download/v0.7.4/Imagine-0.7.4.dmg > /tmp/Imagine.dmg && sudo hdiutil attach /tmp/Imagine.dmg && sudo cp -R "/Volumes/Imagine 0.7.4/Imagine.app" /Applications && sudo hdiutil detach "/Volumes/Imagine 0.7.4" && rm -f /tmp/Imagine.dmg imgur-uploader: _bin: imgur-uploader _desc: Upload images to imgur @@ -6102,18 +5633,6 @@ softwarePackages: _home: null _name: null npm: imgur-uploader-cli - codeclimate: - _bin: codeclimate - _desc: null - _docs: null - _github: https://github.com/codeclimate/codeclimate - _home: null - _name: CodeClimate - _usesDocker: true - _todo: Add check to ensure Docker is loaded / running - brew: codeclimate/formulae/codeclimate - script:linux: cd /tmp && curl -L https://github.com/codeclimate/codeclimate/archive/master.tar.gz | tar xvz && cd codeclimate-* && sudo make install - brew:darwin: codeclimate/formulae/codeclimate impl: _bin: impl _desc: impl generates method stubs for implementing an interface @@ -6133,13 +5652,13 @@ softwarePackages: choco: infracost yay: infracost inkscape: + _app: Inkscape.app _bin: inkscape _desc: '[Inkscape](https://inkscape.org/) is a free and open-source vector graphics editor used to create vector images, primarily in Scalable Vector Graphics format. Other formats can be imported and exported. Inkscape can render primitive vector shapes and text. This role installs Inkscape on nearly any platform.' _docs: https://inkscape.org/*docs/ _github: https://github.com/inkscape/inkscape _home: https://inkscape.org _name: Inkscape - _app: Inkscape.app ansible: professormanhattan.inkscape apt: inkscape cask: inkscape @@ -6149,17 +5668,23 @@ softwarePackages: pacman: inkscape snap: inkscape intellij-idea-ce: + _app: IntelliJ IDEA CE.app _bin: intellij-idea-community _desc: '[IntelliJ IDEA](https://www.jetbrains.com/idea/) is an integrated development environment written in Java for developing computer software. It is developed by JetBrains, and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.' _docs: https://www.jetbrains.com/help/ _github: https://github.com/JetBrains/intellij-community _home: https://www.jetbrains.com/idea/ _name: IntelliJ IDEA (CE) - _app: IntelliJ IDEA CE.app ansible: professormanhattan.intellij cask: intellij-idea-ce choco: intellijidea-community snap: intellij-idea-community --classic + iodine: + _bin: iodined + _github: https://github.com/yarrick/iodine + _name: Iodine + brew: iodine + choco: iodine ionic: _bin: ionic _desc: '[Ionic Framework](https://ionicframework.com/) The Ionic command line interface (CLI) is your go-to tool for developing Ionic apps' @@ -6168,14 +5693,6 @@ softwarePackages: _home: https://ionicframework.com/ _name: Ionic Framework npm: '@ionic/cli' - toml-sort: - _bin: toml-sort - _desc: A Python module that auto-formats TOML files - _docs: https://pypi.org/project/toml-sort/ - _home: https://pypi.org/project/toml-sort/ - _github: https://github.com/pappasam/toml-sort - _name: TOML Sort - pipx: toml-sort ios-deploy: _bin: ios-deploy _desc: Install and debug iPhone apps from the command line, without using Xcode @@ -6204,19 +5721,6 @@ softwarePackages: port: ipfs scoop: go-ipfs snap: ipfs - ipfs-desktop: - _bin: null - _desc: An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux. - _docs: https://docs.ipfs.tech/install/ipfs-desktop/ - _github: https://github.com/ipfs/ipfs-desktop - _home: https://ipfs.tech/ - _name: IPFS Desktop - _app: IPFS Desktop.app - appimage: https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.28.0/ipfs-desktop-0.28.0-linux-x86_64.AppImage - cask: ipfs - choco: ipfs-desktop - scoop: extras/ipfs-desktop - winget: IPFS.IPFS-Desktop ipfs-deploy: _bin: ipd _desc: A peer-to-peer hypermedia protocol designed to preserve and grow humanity's knowledge by making the web upgradeable, resilient, and more open @@ -6225,46 +5729,32 @@ softwarePackages: _home: https://ipfs.tech/ _name: IPFS npm: ipfs-deploy - is-up: - _bin: is-up - _desc: Check whether a website is up or down using the isitup.org API - _docs: null - _github: https://github.com/sindresorhus/is-up-cli - _home: null - _name: null - npm: is-up-cli - iterm2: + ipfs-desktop: + _app: IPFS Desktop.app _bin: null - _desc: '[iTerm2](https://eugeny.github.io/iterm2/) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux.' - _docs: https://iterm2.com/documentation.html - _github: https://github.com/gnachman/iTerm2 - _home: https://iterm2.com/ - _name: iTerm2 - _app: iTerm.app - _post:cask: | - #!/usr/bin/env bash - echo "Setting iTerm2 options location to Install Doctor Chezmoi location" && defaults write com.googlecode.iterm2 PrefsCustomFolder -string "${XDG_DATA_HOME:-$HOME/.local/share}/chezmoi/home/Library/Preferences/com.googlecode.iterm2.plist" - echo "Setting iTerm2 to automatically sync with managed options" && defaults write com.googlecode.iterm2 NoSyncNeverRemindPrefsChangesLostForFile_selection -int 2 - ansible:darwin: professormanhattan.iterm2 - cask: iterm2 - kcpassword: - _bin: kcpassword - _github: https://github.com/xfreebird/kcpassword - _name: kcpassword - brew:darwin: xfreebird/utils/kcpassword - nativescript: - _bin: ns - _github: https://github.com/NativeScript/NativeScript - _name: NativeScript - npm: nativescript - kube-shell: - _bin: kube-shell - _desc: An integrated shell for working with the Kubernetes - _docs: https://github.com/cloudnativelabs/kube-shell - _github: https://github.com/cloudnativelabs/kube-shell - _home: https://github.com/cloudnativelabs/kube-shell - _name: Kube Shell - pipx: kube-shell + _desc: An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux. + _docs: https://docs.ipfs.tech/install/ipfs-desktop/ + _github: https://github.com/ipfs/ipfs-desktop + _home: https://ipfs.tech/ + _name: IPFS Desktop + appimage: https://github.com/ipfs-shipyard/ipfs-desktop/releases/download/v0.28.0/ipfs-desktop-0.28.0-linux-x86_64.AppImage + cask: ipfs + choco: ipfs-desktop + scoop: extras/ipfs-desktop + winget: IPFS.IPFS-Desktop + ipmitool: + _bin: ipmitool + _github: https://github.com/ipmitool/ipmitool + _name: IPMI Tool + apt: ipmitool + brew: ipmitool + dnf: ipmitool + pacman: ipmitool + iproute2mac: + _bin: ip + _github: https://github.com/brona/iproute2mac + _name: iproute2mac + brew:darwin: iproute2mac iredis: _bin: iredis _desc: A terminal client for Redis with auto-completion and syntax highlightin @@ -6275,23 +5765,53 @@ softwarePackages: apt: iredis brew: iredis pipx: iredis - aws-shell: - _bin: aws-shell - _desc: An integrated shell for working with the AWS CLI. - _docs: https://github.com/awslabs/aws-shell - _github: https://github.com/awslabs/aws-shell - _home: https://pypi.org/project/aws-shell/ - _name: AWS Shell - brew: aws-shell - pipx: aws-shell - ansibler: - _bin: ansibler - _desc: Megabyte Labs Python project used to extract test information from Molecule and save it as JSON that can be rendered into charts - _docs: https://pypi.org/project/ansibler/ - _github: https://github.com/megabyte-labs/ansibler - _home: https://pypi.org/project/ansibler/ - _name: Ansibler - pipx: ansibler + irssi: + _bin: irssi + _desc: Irssi is a modular text mode chat client. It comes with IRC support built in, and there are third party ICB, SILC, XMPP (Jabber), PSYC and Quassel protocol modules available. + _docs: https://irssi.org/documentation/ + _github: https://github.com/irssi/irssi + _home: https://irssi.org/ + _name: irssi + apt: irssi + brew: irssi + dnf: irssi + pacman: irssi + port: irssi + is-up: + _bin: is-up + _desc: Check whether a website is up or down using the isitup.org API + _docs: null + _github: https://github.com/sindresorhus/is-up-cli + _home: null + _name: null + npm: is-up-cli + iso-image-writer: + _bin: iso-image-writer + _name: ISO Image Writer + flatpak: org.kde.isoimagewriter + isort: + _bin: isort + _desc: isort is a Python utility / library to sort imports alphabetically, and automatically separated into sections and by type. + _docs: https://pycqa.github.io/isort/index.html + _github: https://github.com/PyCQA/isort + _home: https://pycqa.github.io/isort/ + _name: iSort + brew: isort + pipx: isort + iterm2: + _app: iTerm.app + _bin: null + _desc: '[iTerm2](https://eugeny.github.io/iterm2/) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux.' + _docs: https://iterm2.com/documentation.html + _github: https://github.com/gnachman/iTerm2 + _home: https://iterm2.com/ + _name: iTerm2 + _post:cask: | + #!/usr/bin/env bash + echo "Setting iTerm2 options location to Install Doctor Chezmoi location" && defaults write com.googlecode.iterm2 PrefsCustomFolder -string "${XDG_DATA_HOME:-$HOME/.local/share}/chezmoi/home/Library/Preferences/com.googlecode.iterm2.plist" + echo "Setting iTerm2 to automatically sync with managed options" && defaults write com.googlecode.iterm2 NoSyncNeverRemindPrefsChangesLostForFile_selection -int 2 + ansible:darwin: professormanhattan.iterm2 + cask: iterm2 java: _bin: false _desc: '[Java](https://www.java.com/en/) is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible.' @@ -6309,6 +5829,19 @@ softwarePackages: pacman: jdk-openjdk port: openjdk11 scoop: openjdk11 + jc: + _bin: jc + _desc: null + _github: https://github.com/kellyjonbrazil/jc + _home: null + _name: jc + apt: jc + brew: jc + dnf: jc + nix-env: nixpkgs.jc + pacman: jc + pipx: jc + zypper: jc jenv: _bin: jenv _desc: '[jenv](https://www.jenv.be/) lets you switch between Java versions. It sets JAVA_HOME inside your shell, in a way that can be set globally, local to the current working directory or per shell.' @@ -6318,39 +5851,14 @@ softwarePackages: _name: jenv ansible: professormanhattan.jenv brew: jenv - atuin: - _bin: atuin - _github: https://github.com/ellie/atuin - _name: Atuin - _post: | - #!/usr/bin/env bash - source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" - atuin register -u "$ATUIN_USERNAME" -e "$ATUIN_EMAIL" -p "$ATUIN_PASSWORD" - atuin import auto - atuin sync - brew: atuin - cargo: atuin - pacman: atuin - port: atuin - pkg-termux: atuin - hishtory: - _bin: hishtory - _github: https://github.com/ddworken/hishtory - _name: hiSHtory - _todo: Check for Homebrew version - _post: | - #!/usr/bin/env bash - echo y | hishtory init "$HISHTORY_USER_SECRET" - script: curl -sSL --compressed https://hishtory.dev/install.py | python3 - - git-town: - _bin: git-town - _github: https://github.com/git-town/git-town - _name: Git Town - _post: | - #!/usr/bin/env bash - git town aliases add - brew: git-town - go: github.com/git-town/git-town@latest + jest: + _bin: jest + _desc: Delightful JavaScript testing. + _docs: https://jestjs.io/docs/getting-started + _github: https://github.com/jestjs/jest + _home: https://jestjs.io/ + _name: Jest + npm: jest jiq: _bin: jiq _desc: Create jq queries interactively by leveraging a live reload feature in the terminal @@ -6361,13 +5869,13 @@ softwarePackages: github: github.com/fiatjaf/jiq/cmd/jiq go: github.com/fiatjaf/jiq/cmd/jiq@latest jitsi-meet: + _app: Jitsi Meet.app _bin: jitsi-meet _desc: Desktop application for Jitsi Meet built with Electron _docs: null _github: https://github.com/jitsi/jitsi-meet-electron _home: null _name: Jitsi Meet Electron - _app: Jitsi Meet.app cask: jitsi-meet choco: jitsi-meet-electron flatpak: org.jitsi.jitsi-meet @@ -6389,6 +5897,25 @@ softwarePackages: scoop: jo snap: jo yay: jo + john: + _bin: john + _github: + _name: John + apt: john + brew: john + choco: john + dnf: john + pacman: john + jpegoptim: + _bin: jpegoptim + _github: https://github.com/tjko/jpegoptim + _name: JPEGOptim + apt: jpegoptim + brew: jpegoptim + choco: jpegoptim + dnf: jpegoptim + pacman: jpegoptim + zypper: jpegoptim jq: _bin: jq _desc: '[jq](https://github.com/stedolan/jq) is like sed for JSON data. You can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.' @@ -6404,12 +5931,6 @@ softwarePackages: dnf: jq github: github.com/stedolan/jq pkg: jq - apktool: - _bin: apktool - _github: https://github.com/iBotPeaches/Apktool - _name: APKTool - brew: apktool - choco: apktool jqp: _bin: jqp _desc: A TUI playground to experiment with jq @@ -6420,6 +5941,25 @@ softwarePackages: brew: noahgorstein/tap/jqp port: jqp yay: jqp + json-server: + _bin: json-server + _desc: Get a full fake REST API with zero coding in less than 30 seconds (seriously) + _docs: https://github.com/typicode/json-server + _github: https://github.com/typicode/json-server + _home: https://github.com/typicode/json-server + _name: JSON Server + npm: json-server + juicefs: + _bin: juicefs + _github: https://github.com/juicedata/juicefs + _name: JuiceFS + _post: | + #!/usr/bin/env sh + . "$HOME/.local/bin/installx/juicefs.sh" + brew: juicefs + scoop: juicefs + snap: juicefs + yay: juicefs juju: _bin: juju _desc: '[Juju](https://juju.is/) is a Charmed Operator Framework, composed of a Charmed Operator Lifecycle Manager, and the Charmed Operator SDK. It allows you to deploy, integrate, and manage Kubernetes, container, and VM-native applications seamlessly across hybrid clouds. Juju drives Day 0 through Day 2 operations in your complex environment.' @@ -6431,6 +5971,85 @@ softwarePackages: brew: juju choco: juju snap: juju --classic + junction: + _bin: junction + flatpak: re.sonny.Junction + just: + _bin: just + _github: https://github.com/casey/just + _name: Just + apk: just + apt: just + brew: just + cargo: just + choco: just + dnf: just + eopkg: just + nix-env: nixpkgs.just + pacman: just + pkg-freebsd: just + port: just + scoop: just + snap: --edge --classic just + winget: Casey.Just + xbps: just + k9s: + _bin: k9s + _github: https://github.com/derailed/k9s + _name: K9s + brew: derailed/k9s/k9s + choco: k9s + pacman: k9s + port: k9s + scoop: k9s + kap: + _app: Kap.app + _bin: kap + _github: https://github.com/wulkano/Kap + _name: Kap + cask: kap + kasmvnc: + _bin: kasmvncpasswd + _github: https://github.com/kasmtech/KasmVNC + script:linux: | + RELEASES=$(curl -sS "https://api.github.com/repos/kasmtech/KasmVNC/releases/latest") || : + LATEST_VERSION=$(echo $RELEASES | grep -o '"tag_name": "[^"]*' | grep -o '[^"]*$') || : + if command -v apt-get > /dev/null; then + . /etc/os-release + cd /tmp + case $VERSION_CODENAME in + bullseye ) + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_bullseye_${LATEST_VERSION:1}_amd64.deb" || : + ;; + buster ) + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_buster_${LATEST_VERSION:1}_amd64.deb" || : + ;; + focal ) + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_focal_${LATEST_VERSION:1}_amd64.deb" || : + ;; + jammy ) + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_jammy_${LATEST_VERSION:1}_amd64.deb" || : + ;; + * ) + ;; + esac + if ls kasmvncserver*.deb > /dev/null 2>&1; then sudo apt-get install ./kasmvncserver_*.deb; sudo addgroup $USER ssl-cert; fi + elif command -v dnf > /dev/null; then + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_centos_core_${LATEST_VERSION:1}_x86_64.rpm" || : + if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo rpm -ivh ./kasmvncserver_*.rpm; sudo usermod -a -G kasmvnc-cert $USER; fi + elif command -v zypper > /dev/null; then + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_opensuse_15_${LATEST_VERSION:1}_x86_64.rpm" || : + if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo rpm -ivh ./kasmvncserver_*.rpm; sudo usermod -a -G kasmvnc-cert $USER; fi + elif command -v apk > /dev/null; then + wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvnc.alpine_317_x86_64.tgz" || : + if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo tar -xzf "./kasmvnc.alpine_317_x86_64.tgz" -C /; fi + fi + yay: kasmvncserver-bin + kcpassword: + _bin: kcpassword + _github: https://github.com/xfreebird/kcpassword + _name: kcpassword + brew:darwin: xfreebird/utils/kcpassword kdash: _bin: kdash _desc: A simple and fast dashboard for Kubernetes @@ -6443,17 +6062,33 @@ softwarePackages: choco: kdash github: github.com/kdash-rs/kdash scoop: kdash + kde-plasma-desktop: + _bin: plasmashell + _deps: + - kdeplasma-addons + apt: kde-plasma-desktop + dnf: kde-plasma-desktop + pacman: kde-plasma-desktop + kdenlive: + _app: kdenlive.app + _bin: kdenlive + _github: https://github.com/KDE/kdenlive + _name: Kdenlive + cask: kdenlive + choco: kdenlive + flatpak: org.kde.kdenlive + kdeplasma-addons: + apt: kdeplasma-addons + dnf: kdeplasma-addons + pacman: kdeplasma-addons keybase: + _app: Keybase.app _bin: null _desc: '[Keybase](https://keybase.io/) is secure messaging and file-sharing. Keybase uses public key cryptography to ensure your messages stay private. Keybase works for families, roommates, clubs, and groups of friends. Keybase connects to public identities, too. You can connect with communities from Twitter, Reddit, and elsewhere.' _docs: https://book.keybase.io/docs _github: https://github.com/keybase/client _home: https://keybase.io/ _name: Keybase - _post:cask: | - #!/usr/bin/env bash - if [ ! -f /usr/local/bin/keybase ] && [ -f /Applications/Keybase.app/Contents/SharedSupport/bin/keybase ]; then echo "Fixing missing keybase executable symlink permission issue" && sudo ln -s /Applications/Keybase.app/Contents/SharedSupport/bin/keybase /usr/local/bin/keybase; fi - _when:ansible: '! test -f /opt/keybase/Keybase' _post: | #!/usr/bin/env bash # @file Keybase Configuration @@ -6472,7 +6107,10 @@ softwarePackages: else logg info 'The keybase executable is not available' fi - _app: Keybase.app + _post:cask: | + #!/usr/bin/env bash + if [ ! -f /usr/local/bin/keybase ] && [ -f /Applications/Keybase.app/Contents/SharedSupport/bin/keybase ]; then echo "Fixing missing keybase executable symlink permission issue" && sudo ln -s /Applications/Keybase.app/Contents/SharedSupport/bin/keybase /usr/local/bin/keybase; fi + _when:ansible: '! test -f /opt/keybase/Keybase' ansible: professormanhattan.keybase cask: keybase choco: keybase @@ -6480,6 +6118,15 @@ softwarePackages: - keybase - keybase-gui yay: keybase-bin + keycastr: + _app: KeyCastr.app + _bin: null + _desc: Keystroke visualizer for macOS screen recordings + _docs: https://github.com/keycastr/keycastr + _github: https://github.com/keycastr/keycastr + _home: https://github.com/keycastr/keycastr + _name: Keycastr + cask: keycastr kitty: _bin: null _desc: '[KiTTY](https://sw.kovidgoyal.net/kitty/) is designed for power keyboard users. To that end all its controls work with the keyboard (although it fully supports mouse interactions as well). Its configuration is a simple, human editable, single file for easy reproducibility.' @@ -6498,44 +6145,14 @@ softwarePackages: brew: kn github: github.com/knative/client yay: knative-client-bin - s-search: - _bin: s - _desc: Open a web search in your terminal. - _docs: https://github.com/zquestz/s - _github: https://github.com/zquestz/s - _home: https://github.com/zquestz/s - _name: s - brew: s-search - zsh-completions: - _github: https://github.com/zsh-users/zsh-completions - _name: ZSH Completions - brew: zsh-completions - rancher-desktop: - _github: https://github.com/rancher-sandbox/rancher-desktop/ - cask: rancher - footloose: - _bin: footloose - _desc: Container Machines - Containers that look like Virtual Machines - _docs: https://github.com/weaveworks/footloose - _github: https://github.com/weaveworks/footloose - _home: https://github.com/weaveworks/footloose - _name: Footloose - brew: weaveworks/tap/footloose - go: github.com/weaveworks/footloose@master - beekeeper-studio: - _bin: beekeeper-studio - _app: Beekeeper Studio.app - cask: beekeeper-studio - choco: beekeeper-studio - flatpak: io.beekeeperstudio.Studio kodi: + _app: Kodi.app _bin: kodi _desc: '[Kodi](https://kodi.tv/) is a free and open-source media player software application developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls.' _docs: https://kodi.wiki/view/Main_Page _github: https://github.com/xbmc/xbmc _home: https://kodi.tv/ _name: Kodi - _app: Kodi.app ansible: professormanhattan.kodi apt: kodi cask: kodi @@ -6543,11 +6160,54 @@ softwarePackages: dnf: kodi flatpak: tv.kodi.Kodi pacman: kodi + koodo-reader: + _app: Koodo Reader.app + _bin: koodo-reader + _github: https://github.com/koodo-reader/koodo-reader + _name: Koodo Reader + cask: koodo-reader + flatpak: io.github.troyeguo.koodo-reader + scoop: extras/koodo-reader + winget: AppbyTroye.KoodoReader + kooha: + _bin: kooha + flatpak: io.github.seadve.Kooha + korkut: + _bin: korkut + _github: https://github.com/oguzhaninan/korkut + _name: Korkut + npm: korkut krew: _bin: kubectl-krew _github: https://github.com/kubernetes-sigs/krew _name: KubeCTL brew: krew + krita: + _app: krita.app + _bin: krita + cask: krita + choco: krita + flatpak: org.kde.krita + ksnip: + _app: ksnip.app + _bin: ksnip + _github: https://github.com/ksnip/ksnip + _name: kSnip + _post:snap: | + #!/usr/bin/env bash + sudo snap connect ksnip:network-observe && sudo snap connect ksnip:network-manager-observe && sudo snap connect ksnip:removable-media + cask: ksnip + choco: ksnip + flatpak: org.ksnip.ksnip + snap: ksnip + kube-shell: + _bin: kube-shell + _desc: An integrated shell for working with the Kubernetes + _docs: https://github.com/cloudnativelabs/kube-shell + _github: https://github.com/cloudnativelabs/kube-shell + _home: https://github.com/cloudnativelabs/kube-shell + _name: Kube Shell + pipx: kube-shell kubectx: _bin: kubectx _desc: Faster way to switch between clusters and namespaces in kubectl @@ -6562,14 +6222,22 @@ softwarePackages: pacman: kubectx port: kubectx snap: kubectx --classic + kubekey: + _bin: kk + _desc: kk stands for KubeKey and it is an installer for [KubeSphere](https://github.com/kubesphere/kubesphere) + _docs: https://github.com/kubesphere/kubekey#usage + _github: https://github.com/kubesphere/kubekey + _home: https://kubesphere.io/ + _name: KubeKey + brew: kubekey kubenav: + _app: kubenav.app _bin: null _desc: kubenav is the navigator for your Kubernetes clusters right in your pocket _docs: https://github.com/kubenav/kubenav _github: https://github.com/kubenav/kubenav _home: https://kubenav.io/ _name: kubenav - _app: kubenav.app cask: kubenav github: github.com/kubenav/kubenav yay: kubenav-bin @@ -6583,25 +6251,6 @@ softwarePackages: brew: kubectl choco: kubernetes-cli snap: kubectl --classic - helm: - _bin: helm - _desc: The Kubernetes Package Manager. Helm is the best way to find, share, and use software built for Kubernetes. - _docs: https://helm.sh/docs - _github: https://github.com/helm/helm - _home: https://helm.sh/ - _name: Helm - brew: helm - choco: kubernetes-helm - scoop: helm - snap: helm --classic - helmfile: - _bin: helmfile - _github: https://github.com/helmfile/helmfile - _name: Helmfile - brew: helmfile - pacman: helmfile - scoop: helmfile - zypper: helmfile kubernetes-kompose: _bin: kompose _desc: Go from Docker Compose to Kubernetes @@ -6612,14 +6261,6 @@ softwarePackages: brew: kompose choco: kubernetes-kompose snap: kompose - kustomize: - _bin: kustomize - _github: https://github.com/kubernetes-sigs/kustomize - _name: Kustomize - brew: kustomize - port: kustomize - choco: kustomize - go: sigs.k8s.io/kustomize/kustomize/v5@latest kubeval: _bin: kubeval _desc: Validate your Kubernetes configuration files, supports multiple Kubernetes versions @@ -6642,40 +6283,14 @@ softwarePackages: # brew: instrumenta/instrumenta/kubeval go: github.com/instrumenta/kubeval@latest scoop: kubeval - edex-ui: - _bin: edex-ui - _desc: A cross-platform, customizable science fiction terminal emulator with advanced monitoring & touchscreen support. - _docs: https://github.com/GitSquared/edex-ui - _github: https://github.com/GitSquared/edex-ui - _home: https://github.com/GitSquared/edex-ui - _name: EDEX UI - _app: eDEX-UI.app - appimage: edex-ui - cask: edex-ui - port: edex-ui - powerline: - _bin: powerline - apt: powerline - dnf: powerline - pacman: powerline - pipx: powerline-status - yapf: - _bin: yapf - _desc: A formatter for Python files maintained by Google - _docs: false - _github: https://github.com/google/yapf - _home: false - _name: YAPF - pipx: yapf - handlr: - _bin: handlr - _desc: A better xdg-utils - _docs: https://github.com/chmln/handlr#usage - _github: https://github.com/chmln/handlr - _home: https://github.com/chmln/handlr - _name: Handlr - cargo: handlr --locked - yay: handlr-bin + kustomize: + _bin: kustomize + _github: https://github.com/kubernetes-sigs/kustomize + _name: Kustomize + brew: kustomize + choco: kustomize + go: sigs.k8s.io/kustomize/kustomize/v5@latest + port: kustomize kvantum: _bin: kvantummanager _desc: Kvantum is an SVG-based theme engine for Qt4/Qt5 and KDE, i.e. a program for styling Qt applications with SVG images, with an emphasis on elegance, usability and practicality. @@ -6729,6 +6344,25 @@ softwarePackages: - bridge-utils - libvirt - virt-manager + langflow: + _bin: langflow + _github: https://github.com/logspace-ai/langflow + _name: LangFlow + pipx: langflow + lapce: + _app: Lapce.app + _bin: lapce + _desc: Lightning-fast and Powerful Code Editor written in Rust + _docs: https://docs.lapce.dev/ + _github: https://github.com/lapce/lapce + _home: https://lapce.dev/ + _name: Lapce + cask: lapce + emerge: app-editors/lapce + flatpak: dev.lapce.lapce + nix-env: nixpkgs.lapce + scoop: lapce + winget: lapce lazygit: _bin: lazygit _desc: Simple terminal UI for git commands @@ -6745,18 +6379,19 @@ softwarePackages: scoop: lazygit xbps: lazygit ledger-live: + _app: Ledger Live.app _bin: null _desc: '[Ledger Live](https://www.ledger.com/ledger-live) is a new generation wallet desktop application providing a unique interface to maintain multiple cryptocurrencies for your Ledger Nano S / Blue. Manage your device, create accounts, receive and send cryptoassets and many more.' _docs: null _github: null _home: https://www.ledger.com/ledger-live _name: Ledger Live - _app: Ledger Live.app ansible: professormanhattan.ledgerlive appimage: ledger-live-desktop cask: ledger-live choco: ledger-live lens: + _app: Lens.app _bin: lens _bin:snap: kontena-lens _desc: '[Lens IDE](https://k8slens.dev/) provides the full situational awareness for everything that runs in Kubernetes. It is an IDE designed for those who work with Kubernetes on a daily basis' @@ -6764,13 +6399,13 @@ softwarePackages: _github: https://github.com/lensapp/lens _home: https://k8slens.dev/ _name: Lens - _app: Lens.app ansible: professormanhattan.lens cask: lens choco: lens snap: kontena-lens --classic yay: lens lepton: + _app: Lepton.app _bin: lepton _bin:snap: lepton _desc: Cross-platform snippet manager @@ -6778,7 +6413,6 @@ softwarePackages: _github: https://github.com/hackjutsu/Lepton _home: https://hackjutsu.com/Lepton/ _name: lepton - _app: Lepton.app cask: lepton snap: lepton lexicon: @@ -6793,6 +6427,11 @@ softwarePackages: pipx inject dns-lexicon dns-lexicon[full] ansible: professormanhattan.lexicon pipx: dns-lexicon + libguestfs-tools: + _bin: guestfish + _github: https://github.com/libguestfs/libguestfs + apt: libguestfs-tools + dnf: libguestfs-tools libimobiledevice: _bin: null _desc: null @@ -6801,38 +6440,36 @@ softwarePackages: _home: https://libimobiledevice.org/ _name: null brew:darwin: libimobiledevice - kdeplasma-addons: - apt: kdeplasma-addons - dnf: kdeplasma-addons - pacman: kdeplasma-addons - kde-plasma-desktop: - _deps: - - kdeplasma-addons - _bin: plasmashell - apt: kde-plasma-desktop - dnf: kde-plasma-desktop - pacman: kde-plasma-desktop - krita: - _bin: krita - _app: krita.app - cask: krita - choco: krita - flatpak: org.kde.krita + libre-menu-editor: + _bin: libre-menu-editor + _github: null + _name: Libre Menu Editor for GNOME + flatpak: page.codeberg.libre_menu_editor.LibreMenuEditor libreoffice: + _app: LibreOffice.app _bin: libreoffice _desc: '[LibreOffice](https://www.libreoffice.org/) is a free and open-source office productivity software suite, a project of The Document Foundation. It was forked in 2010 from OpenOffice.org, which was an open-sourced version of the earlier StarOffice.' _docs: https://documentation.libreoffice.org/en/english-documentation/ _github: null _home: https://www.libreoffice.org/ _name: LibreOffice - _app: LibreOffice.app apt: libreoffice cask: libreoffice choco: libreoffice-fresh dnf: libreoffice flatpak: org.libreoffice.LibreOffice - pacman: libreoffice mas: 1630474372 + pacman: libreoffice + librewolf: + _app: LibreWolf.app + _bin: librewolf + _scoopExtras: true + cask: librewolf + choco: librewolf + flatpak: io.gitlab.librewolf-community + scoop: librewolf + winget: librewolf + yay: librewolf license: _bin: license _desc: Command-line license text generator @@ -6842,6 +6479,17 @@ softwarePackages: _name: license go: github.com/nishanths/license@latest yay: nishanths-license-git + lighthouse: + _bin: lighthouse + _github: https://github.com/GoogleChrome/lighthouse + _name: Lighthouse + npm: lighthouse + lightproxy: + _app: LightProxy.app + _bin: lightproxy + _github: https://github.com/alibaba/lightproxy + _name: LightProxy + cask: lightproxy linkerd2: _bin: linkerd _desc: Linkerd is an ultralight, security-first service mesh for Kubernetes @@ -6852,6 +6500,23 @@ softwarePackages: brew: linkerd github: github.com/linkerd/linkerd2 yay: linkerd + linkliar: + _app: LinkLiar.app + _bin: null + _desc: Menu bar application for macOS that allows you to spoof your MAC address + _docs: https://halo.github.io/LinkLiar/usage.html + _github: https://github.com/halo/LinkLiar + _home: https://halo.github.io/LinkLiar/ + _name: Link Liar + cask: linkliar + liquidjs: + _bin: liquidjs + _desc: A simple, expressive and safe template engine. + _docs: https://liquidjs.com/tutorials/intro-to-liquid.html + _github: https://github.com/harttle/liquidjs + _home: https://liquidjs.com/ + _name: LiquidJS + npm: liquidjs litecli: _bin: litecli _desc: CLI for SQLite Databases with auto-completion and syntax highlighting @@ -6862,14 +6527,10 @@ softwarePackages: brew: litecli pipx: litecli yay: litecli - liquidjs: - _bin: liquidjs - _desc: A simple, expressive and safe template engine. - _docs: https://liquidjs.com/tutorials/intro-to-liquid.html - _github: https://github.com/harttle/liquidjs - _home: https://liquidjs.com/ - _name: LiquidJS - npm: liquidjs + live-captions: + _bin: live-captions + _desc: Linux Desktop application that provides live captioning + flatpak: net.sapples.LiveCaptions localtunnel: _bin: lt _desc: localtunnel exposes your localhost to the world for easy testing and sharing @@ -6889,6 +6550,32 @@ softwarePackages: brew: logcli github: github.com/grafana/loki yay: logcli-git + logi-options-plus: + _app: logioptionsplus.app + _bin: logi-options-plus + _env: + LOGI_OPTIONS_PLUS_APPDATA: + cask: "$HOME/Library/Application Support/LogiOptionsPlus" + choco: "TODO" + _github: false + _name: Logi Options+ + cask: logi-options-plus + choco: logioptionsplus + exe: https://download01.logi.com/web/ftp/pub/techsupport/optionsplus/logioptionsplus_installer.exe + winget: Logitech.OptionsPlus + logi-tune: + _bin: logi-tune + _github: false + _name: Logi Tune + dmg: https://software.vc.logitech.com/downloads/tune/LogiTuneInstaller.dmg + exe: https://software.vc.logitech.com/downloads/tune/LogiTuneInstall.exe + lolcat: + _bin: lolcat + _github: https://github.com/busyloop/lolcat + _name: lolcat + brew: lolcat + choco: lolcat + snap: lolcat lollypop: _bin: lollypop _desc: '[Lollypop](https://wiki.gnome.org/Apps/Lollypop) is a lightweight modern music player designed to work excellently on the GNOME desktop environment. Lollypop also features a party mode which will automatically select party-related playlists to play; a full-screen view which lets you visually access the player from your couch thanks to its HiDPI support; and native support for replay gain.' @@ -6902,6 +6589,13 @@ softwarePackages: flatpak: org.gnome.Lollypop pacman: lollypop yay: lollypop-stable-git + loop: + _bin: loop + _github: https://github.com/Miserlou/Loop + _name: Loop + cargo: loop-rs + pacman: loop + snap: loop-rs --beta lpass: _bin: null _desc: >- @@ -6911,15 +6605,6 @@ softwarePackages: _home: null _name: LastPass CLI ansible: professormanhattan.lpass - lux: - _bin: lux - _github: - _name: Lux - go: github.com/iawia002/lux@latest - brew: lux - xbps: lux - scoop: lux - choco: github.com/iawia002/lux lsd: _bin: lsd _desc: '[LSD](https://github.com/Peltoche/lsd) (LSDeluxe), a clone of ls, is the next gen ls command with colorful output, file type icons, and more.' @@ -6941,6 +6626,44 @@ softwarePackages: scoop: lsd xbps: lsd zypper: lsd + lsyncd: + _bin: lsyncd + _desc: Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets (via SSH and more) + _docs: https://lsyncd.github.io/lsyncd/ + _github: https://github.com/lsyncd/lsyncd + _home: false + _name: Lsyncd + apt: lsyncd + brew: lsyncd + dnf: lsyncd + pacman: lsyncd + lua: + _bin: lua + _github: https://github.com/lua/lua + _name: Lua + apt: lua + brew: lua + choco: lua + dnf: lua + pacman: lua + lulu: + _app: LuLu.app + _bin: null + _desc: Powerful firewall application for macOS + _docs: https://objective-see.org/products/lulu.html + _github: https://github.com/objective-see/LuLu + _home: https://objective-see.org/products/lulu.html + _name: LuLu + cask: lulu + lux: + _bin: lux + _github: + _name: Lux + brew: lux + choco: github.com/iawia002/lux + go: github.com/iawia002/lux@latest + scoop: lux + xbps: lux lxc: _bin: lxc _desc: Linux Containers is an operating-system-level virtualization method for running multiple isolated Linux systems on a control host using a single Linux kernel. @@ -6964,6 +6687,14 @@ softwarePackages: _name: LXDC ansible:linux: professormanhattan.lxdc snap: lxd + lxd-ui: + _bin: lxd-ui + _github: https://github.com/canonical/lxd-ui + _name: LXD UI + _post: | + #!/usr/bin/env bash + lxd init && lxc config set core.https_address "[::]:8443" + snap: lxd lxdc: _deps: - lxc @@ -7012,121 +6743,159 @@ softwarePackages: ansible: professormanhattan.mackup brew: mackup pipx: mackup - malwarebytes: - _bin: null - _desc: Cybersecurity. For every one. - _docs: null - _github: null - _home: https://www.malwarebytes.com/ - _name: Malwarebytes - _app: Malwarebytes.app - cask: malwarebytes - choco: malwarebytes - dialect: - _bin: dialect - flatpak: app.drey.Dialect - meld: - _bin: meld - _app: Meld.app - cask: meld - choco: meld - flatpak: org.gnome.meld - cryptomator: - _bin: cryptomator - _app: Cryptomator.app - cask: cryptomator - choco: cryptomator - flatpak: org.cryptomator.Cryptomator - connections: - _bin: connections - flatpak: org.gnome.Connections - ferdium: - _bin: ferdium - _app: Ferdium.app - _env: - FERDIUM_APPDATA: - cask: "$HOME/Library/Application Support/Ferdium" - choco: TODO - flatpak: "$HOME/.var/app/org.ferdium.Ferdium/config/Ferdium" - snap: "$HOME/snap/ferdium/current/.config/Ferdium" - cask: ferdium - choco: ferdium - flatpak: org.ferdium.Ferdium - snap: ferdium - thunderbird: - _bin: thunderbird - _app: Thunderbird.app - cask: thunderbird - choco: thunderbird - flatpak: org.mozilla.Thunderbird - live-captions: - _bin: live-captions - _desc: Linux Desktop application that provides live captioning - flatpak: net.sapples.LiveCaptions - caddy: - _bin: caddy - _github: https://github.com/caddyserver/caddy - _name: Caddy - _service: caddy - brew: caddy - choco: caddy - scoop: caddy - mailsy: - _bin: mailsy - _github: https://github.com/BalliAsghar/Mailsy - _name: Mailsy - brew: mailsy - npm: mailsy + macprefs: + _bin: macprefs + _github: https://github.com/clintmod/macprefs + _name: MacPrefs + brew: clintmod/formulas/macprefs + macvim: + _app: MacVim.app + _todo: Integrate this into macOS setup + cask: macvim + mage-ai: + _bin: mage + _desc: The modern replacement for Airflow. Build, run, and manage data pipelines for integrating and transforming data. + _docs: https://docs.mage.ai/introduction/overview + _github: https://github.com/mage-ai/mage-ai + _home: https://www.mage.ai + _name: Mage AI + pipx: mage-ai + magic-wormhole: + _bin: wormhole + _github: https://github.com/magic-wormhole/magic-wormhole + _name: Magic Wormhole + brew: magic-wormhole + mailcatcher: + _bin: mailcatcher + _github: https://github.com/sj26/mailcatcher + _name: Mail Catcher + _service: mailcatcher + brew: mailcatcher + gem: mailcatcher mailspring: + _app: Mailspring.app _bin: mailspring _desc: '[Mailspring](https://getmailspring.com/) comes packed with powerful features like Unified Inbox, Snooze, Send Later, Mail Rules, Templates and more. Mailspring Pro, which you can unlock with a monthly subscription, adds even more features for people who send a ton of email: link tracking, read receipts, mailbox analytics, contact and company profiles. All of these features run in the client - Mailspring does not send your email credentials to the cloud.' _docs: https://community.getmailspring.com/docs/ - _github: https://github.com/Foundry376/Mailspring - _home: https://getmailspring.com/ - _name: Mailspring - _app: Mailspring.app _env: MAILSPRING_APPDATA: cask: "$HOME/Library/Application Support/Mailspring" choco: "TODO" flatpak: "TODO" snap: "TODO" + _github: https://github.com/Foundry376/Mailspring + _home: https://getmailspring.com/ + _name: Mailspring cask: mailspring choco: mailspring flatpak: com.getmailspring.Mailspring snap: mailspring yay: mailspring + mailsy: + _bin: mailsy + _github: https://github.com/BalliAsghar/Mailsy + _name: Mailsy + brew: mailsy + npm: mailsy + majestic: + _bin: majestic + _github: https://github.com/Raathigesh/majestic + _name: Majestic + npm: majestic + makeself: + _bin: makeself + _github: https://github.com/megastep/makeself + _name: MakeSelf + brew: makeself + malwarebytes: + _app: Malwarebytes.app + _bin: null + _desc: Cybersecurity. For every one. + _docs: null + _github: null + _home: https://www.malwarebytes.com/ + _name: Malwarebytes + cask: malwarebytes + choco: malwarebytes + mambaforge: + _bin: conda + _github: https://github.com/mamba-org/mamba + _name: Mamba Forge + _post: | + #!/usr/bin/env bash + echo y | conda update -n base -c conda-forge conda + cask: mambaforge + choco: mambaforge + script:linux: bash <(curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh") manta: + _app: Manta.app _bin: null _desc: Flexible invoicing desktop app with beautiful & customizable templates _docs: null _github: https://github.com/hql287/Manta _home: null _name: Manta - _app: Manta.app appimage: https://github.com/hql287/Manta/releases/download/v1.1.4/Manta-1.1.4-x86_64.AppImage cask: manta exe: https://github.com/hql287/Manta/releases/download/v1.1.4/Manta.Setup.1.1.4.exe github: github.com/hql287/Manta + mariadb: + _bin: mariadb + _github: false + _name: MariaDB + _service: mariadb + apk: mariadb-server + apt: mariadb-server + brew: mariadb + choco: mariadb + dnf: mariadb-server + pacman: mariadb-server mark-text: + _app: MarkText.app _bin: marktext _desc: A simple and elegant markdown editor, available for Linux, macOS and Windows _docs: null - _github: https://github.com/marktext/marktext - _home: null - _name: MarkText - _app: MarkText.app _env: MARK_TEXT_APPDATA: cask: "$HOME/Library/Application Support/marktext" choco: "TODO" flatpak: "TODO" winget: "TODO" + _github: https://github.com/marktext/marktext + _home: null + _name: MarkText cask: mark-text choco: marktext flatpak: com.github.marktext.marktext winget: marktext yay: marktext + markdownlint-cli: + _bin: markdownlint + _desc: MarkdownLint command line interface + _docs: https://github.com/igorshubovych/markdownlint-cli + _github: https://github.com/igorshubovych/markdownlint-cli + _home: https://github.com/igorshubovych/markdownlint-cli + _name: Markdownlint CLI + brew: markdownlint-cli + pipx: markdownlint-cli + markmap: + _bin: markmap + _desc: Visualize your Markdown as mindmaps with Markmap. + _docs: https://markmap.js.org/docs/markmap + _github: https://github.com/markmap/markmap + _home: https://markmap.js.org/ + _name: Markmap + npm: markmap-cli + marp: + _bin: marp + _desc: A CLI interface for Marp and Marpit based converters + _docs: https://github.com/marp-team/marp-cli + _github: https://github.com/marp-team/marp-cli + _home: https://marp.app/ + _name: Marp + brew: marp-cli + npm: '@marp-team/marp-cli' + scoop: marp mas: _bin: mas _desc: '[MAS CLI](https://github.com/mas-cli/mas) is a simple command line interface for the Mac App Store. Designed for scripting and automation.' @@ -7137,9 +6906,12 @@ softwarePackages: ansible:darwin: professormanhattan.mas brew:darwin: mas port: mas - gnome-extension-manager: - _bin: gnome-extension-manager - flatpak: com.mattjakeman.ExtensionManager + mask: + _bin: mask + _github: https://github.com/jacobdeichert/mask + _name: Mask + brew: mask + cargo: mask masscan: _bin: masscan _github: https://github.com/robertdavidgraham/masscan @@ -7147,13 +6919,13 @@ softwarePackages: brew: masscan choco: masscan masscode: + _app: massCode.app _bin: null _desc: A free and open source code snippets manager for developers _docs: null _github: https://github.com/antonreshetov/massCode _home: null _name: MassCode - _app: massCode.app cask: masscode github: github.com/antonreshetov/massCode mc: @@ -7186,19 +6958,70 @@ softwarePackages: port: mcfly script:darwin: curl -LSfs https://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh | sh -s -- --git cantino/mcfly script:linux: curl -LSfs https://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh | sh -s -- --git cantino/mcfly + medis: + _app: Medis.app + _bin: medis + _github: https://github.com/luin/medis + _name: Medis + cask: medis + medusa: + _bin: medusa + _github: https://github.com/medusajs/medusa + _name: Medusa + npm: '@medusajs/medusa-cli' + meetingbar: + _app: MeetingBar.app + _bin: null + _desc: Meeting menu bar application that shows calendar event details on macOS + _docs: https://github.com/leits/MeetingBar + _github: https://github.com/leits/MeetingBar + _home: https://apps.apple.com/app/id1532419400 + _name: Meeting Bar + cask: meetingbar + mas: 1532419400 + meld: + _app: Meld.app + _bin: meld + cask: meld + choco: meld + flatpak: org.gnome.meld + meta: + _bin: meta + _github: https://github.com/mateodelnorte/meta + _name: Meta + npm: meta + meta-package-manager: + _bin: mpm + _github: https://github.com/kdeldycke/meta-package-manager + _name: Meta Package Manager + brew: meta-package-manager + pipx: meta-package-manager + metasploit: + _github: https://github.com/rapid7/metasploit-framework + _name: Metasploit Framework + _when: '! test -f /opt/metasploit-framework/bin/msfconsole' + script: curl -sSL --compressed https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > /tmp/msfinstall && chmod 755 /tmp/msfinstall && sudo /tmp/msfinstall + micromamba: + _bin: micromamba + _github: https://github.com/mamba-org/mamba + _name: MicroMamba + _post: | + #!/usr/bin/env bash + micromamba self-update + brew: micromamba microsoft-edge: + _app: Microsoft Edge.app _bin: microsoft-edge _desc: '[Microsoft Edge](https://www.microsoft.com/en-us/edge) is a cross-platform web browser developed by Microsoft. It was first released for Windows 10 and Xbox One in 2015, then for Android and iOS in 2017, for macOS in 2019, and as a preview for Linux in October 2020.' _docs: https://docs.microsoft.com/en-us/microsoft-edge/ - _github: false - _home: https://www.microsoft.com/en-us/edge - _name: Microsoft Edge - _app: Microsoft Edge.app _env: MICROSOFT_EDGE_APPDATA: cask: "$HOME/Library/Application Support/Microsoft Edge/Default" choco: "TODO" flatpak: "TODO" + _github: false + _home: https://www.microsoft.com/en-us/edge + _name: Microsoft Edge _post: | #!/usr/bin/env bash # @brief See `google-chrome` `_post` script for more details @@ -7266,70 +7089,81 @@ softwarePackages: choco: microsoft-edge flatpak: com.microsoft.Edge yay: microsoft-edge-stable-bin - gnome-boxes: - _bin: gnome-boxes - _desc: GNOME Boxes is an application of the GNOME Desktop Environment, used to access virtual systems. Boxes uses the QEMU, KVM, and libvirt virtualization technologies - _docs: https://help.gnome.org/users/gnome-boxes/stable/ - _github: null - _home: https://apps.gnome.org/app/org.gnome.Boxes/ - _name: GNOME Boxes - apt: gnome-boxes - dnf: gnome-boxes - flatpak: org.gnome.Boxes - pacman: gnome-boxes - mpv: - _bin: mpv - _github: https://github.com/mpv-player/mpv - _name: MPV - _todo: This software does not run on macOS versions other than Mojave, Catalina, Big Sur and Ventura --- probably adding support - this issue will likely fix itself - _app: mpv.app - brew: mpv - cask: mpv - choco: mpv - flatpak: io.mpv.Mpv - swifty: - _bin: swifty - _github: https://github.com/swiftyapp/swifty - _name: Swifty - _app: Swifty.app - appimage: swiftyapp/swifty - cask: swifty - exe: https://github.com/swiftyapp/swifty/releases/download/v0.6.13/Swifty-Setup-0.6.13.exe + microsoft-git: + _bin: scalar + _github: https://github.com/microsoft/VFSForGit + _name: Microsoft Git (with Git VFS) + cask: microsoft/git/microsoft-git + script:linux: | + #!/usr/bin/env bash + mkdir -p "$HOME/.local/src" + rm -rf "$HOME/.local/src/microsoft-git" + git clone https://github.com/microsoft/git "$HOME/.local/src/microsoft-git" + cd "$HOME/.local/src/microsoft-git" + make -j12 prefix=/usr/local + sudo make -j12 prefix=/usr/local install + winget: microsoft.git microsoft-office: + _app: Microsoft Word.app _bin: null _desc: '[Microsoft Office](https://www.microsoft.com/en-us/microsoft-365/microsoft-office), or simply Office, is a family of client software, server software, and services developed by Microsoft.' _docs: https://docs.microsoft.com/en-us/microsoft-365/?view=o365-worldwide _github: null _home: https://www.office.com/ _name: Office - _app: Microsoft Word.app cask: microsoft-office choco: office365business + microsoft-remote-desktop: + _app: Microsoft Remote Desktop.app + _bin: null + _desc: null + _docs: null + _github: null + _home: null + _name: Microsoft Remote Desktop + cask: microsoft-remote-desktop + mas: 1295203466 + microsoft-teams: + _app: Microsoft Teams.app + _bin: teams + _desc: '[Microsoft Teams](https://www.microsoft.com/en-us/microsoft-teams/group-chat-software) is a proprietary business communication platform developed by Microsoft, as part of the Microsoft 365 family of products. Teams primarily competes with the similar service Slack, offering workspace chat and videoconferencing, file storage, and application integration.' + _docs: null + _github: null + _home: null + _name: Microsoft Teams + ansible: professormanhattan.teams + cask: microsoft-teams + choco: microsoft-teams + flatpak: com.microsoft.Teams + snap: teams-for-linux + yay: teams-for-linux microsoft-todo: + _app: Ao.app _bin:snap: microsoft-todo-unofficial _desc: '[Microsoft To Do](https://todo.microsoft.com/tasks/) is a productivity application developed by Microsoft. It lets you create to do lists, reminders, and notes for any purpose. Sync lists across devices and Microsoft 365 accounts to access daily planner and task manager features anywhere.' _docs: https://support.microsoft.com/en-us/todo _github: false _home: https://todo.microsoft.com/tasks/ _name: Microsoft To-Do - _app: Ao.app ansible: professormanhattan.microsofttodo cask: ao - snap: microsoft-todo-unofficial mas: 1274495053 - hyperkit: - _deps:darwin: - - xcode - _bin: hyperkit - _github: https://github.com/moby/hyperkit - _name: HyperKit - brew:darwin: hyperkit + snap: microsoft-todo-unofficial + miller: + _bin: mlr + _github: https://github.com/johnkerl/miller + _name: Miller + apt: miller + brew: miller + choco: miller + dnf: miller + port: miller minikube: - _deps:darwin: - - hyperkit + _bin: minikube _deps: - docker - _bin: minikube + _deps:darwin: + - hyperkit _desc: minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows _docs: https://minikube.sigs.k8s.io/docs/ _github: https://github.com/kubernetes/minikube @@ -7342,6 +7176,23 @@ softwarePackages: _todo: A full installation of Xcode.app 9.0 is required. Also, hyperkit x86_64 architecture is required for this software. So automate install of Xcode.app 9.0 and add check for x86_64 prior to installing this brew: minikube choco: minikube + mise: + _bin: mise + _github: + _name: mise + _post: | + #!/usr/bin/env bash + mise install + if [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/mise/installs/java/openjdk-20/Contents" ]; then + sudo mkdir -p /Library/Java/JavaVirtualMachines/openjdk-20.jdk + sudo ln -s "${XDG_DATA_HOME:-$HOME/.local/share}/mise/installs/java/openjdk-20/Contents" /Library/Java/JavaVirtualMachines/openjdk-20.jdk/Contents + fi + apk: mise + brew: mise + cargo: mise-cli + nix-env: mise + npm: '@jdxcode/mise' + port: port mitmproxy: _bin: mitmproxy _desc: '[mitmproxy](https://mitmproxy.org/) is an interactive, SSL/TLS-capable intercepting proxy with a console interface for HTTP/1, HTTP/2, and WebSockets. It also includes mitmweb which is a web-based interface for mitmproxy.' @@ -7355,13 +7206,13 @@ softwarePackages: choco: mitmproxy pacman: mitmproxy mjml: + _app: MJML.app _bin:npm: mjml _desc: The desktop app for MJML _docs: https://documentation.mjml.io/ _github: https://github.com/mjmlio/mjml-app _home: https://mjmlio.github.io/mjml-app/ _name: MJML App - _app: MJML.app cask: mjml github: github.com/mjmlio/mjml-app npm: mjml @@ -7378,13 +7229,13 @@ softwarePackages: pacman: mkcert scoop: mkcert mockoon: + _app: Mockoon.app _bin:snap: mockoon _desc: Mockoon is the easiest and quickest way to run mock APIs locally. No remote deployment, no account required, open source _docs: null _github: https://github.com/mockoon/mockoon _home: null _name: Mockoon - _app: Mockoon.app cask: mockoon choco: mockoon github: github.com/mockoon/mockoon @@ -7392,6 +7243,23 @@ softwarePackages: snap: mockoon winget: mockoon yay: mockoon-bin + modern-flyouts: + _bin: modern-flyouts + _github: https://github.com/ModernFlyouts-Community/ModernFlyouts + _name: Modern Flyouts + choco: modernflyouts + winapp: modernflyouts-preview/9MT60QV066RP + winget: ModernFlyouts.ModernFlyouts + mods: + _bin: mods + _desc: AI for the command-line that leverages OpenAI or LocalAI (if configured to do so) + _docs: https://github.com/charmbracelet/mods + _github: https://github.com/charmbracelet/mods + _home: https://charm.sh/ + _name: Mods + brew: charmbracelet/tap/mods + go: github.com/charmbracelet/mods@latest + yay: mods mole: _bin: mole _desc: CLI application to create ssh tunnels focused on resiliency and user experience @@ -7402,23 +7270,6 @@ softwarePackages: brew: davrodpin/homebrew-mole/mole github: github.com/davrodpin/mole yay: mole-bin - dotenv-vault: - _bin: dotenv-vault - _name: Dotenv Vault - brew: dotenv-org/brew/dotenv-vault - npm: dotenv-vault - gcsf: - _bin: gcsf - _github: https://github.com/harababurel/gcsf - _name: GCSF - cargo: gcsf - hss: - _bin: hss - _github: https://github.com/six-ddc/hss - _name: hss - brew: hss - port: hss - script: cd /tmp && git clone https://github.com/six-ddc/hss.git && cd hss && make && make install && cd /tmp && rm -rf hss molecule: _bin: molecule _desc: Molecule aids in the development and testing of Ansible roles @@ -7431,24 +7282,8 @@ softwarePackages: pipx inject molecule ansible PyObjC PyObjC-core docker lxml netaddr pexpect python-vagrant pywinrm requests-credssp watchdog apache-libcloud gcloud junit-xml molecule-docker molecule-gce molecule-vagrant pycrypto # brew: molecule pipx: molecule - markdownlint-cli: - _bin: markdownlint - _desc: MarkdownLint command line interface - _docs: https://github.com/igorshubovych/markdownlint-cli - _github: https://github.com/igorshubovych/markdownlint-cli - _home: https://github.com/igorshubovych/markdownlint-cli - _name: Markdownlint CLI - brew: markdownlint-cli - pipx: markdownlint-cli - starred: - _bin: starred - _desc: Creates your own Awesome List sorted by GitHub stars by using the GitHub API - _docs: https://github.com/maguowei/starred - _github: https://github.com/maguowei/starred - _home: https://pypi.org/project/starred/ - _name: Starred - pipx: starred monero: + _app: monero-wallet-gui.app _bin: monero _bin:flatpak: org.getmonero.Monero _desc: '[Monero](https://www.getmonero.org/) is a leading cryptocurrency focused on private and censorship-resistant transactions. This role installs the Monero wallet application which is required for interacting with the Monero network.' @@ -7458,42 +7293,93 @@ softwarePackages: _name: Monero _restricted: true _service: monero - _app: monero-wallet-gui.app ansible: professormanhattan.monero cask: monero-wallet choco: monero flatpak: org.getmonero.Monero - wallpaper-cli: - _bin: wallpaper - _github: https://github.com/sindresorhus/wallpaper-cli - _name: Wallpaper CLI - npm: wallpaper-cli monero-cli: _bin: monerod _desc: CLI for Monero, a leading cryptocurrency focused on private and censorship-resistant transactions. - _github: https://github.com/monero-project/monero _docs: https://www.getmonero.org/resources/user-guides/ + _github: https://github.com/monero-project/monero _home: https://www.getmonero.org/ _restricted: true brew: monero scoop: monero - mymonero: + mongodb: + _bin: mongod + _github: https://github.com/mongodb/mongo + _name: MongoDB + _service: mongodb + _service:brew: mongodb-community + brew: mongodb/brew/mongodb-community + choco: mongodb + mongodb-atlas: + _bin: atlas + _desc: Install the Atlas CLI to quickly provision and manage Atlas database deployments from the terminal. (Official MongoDB hosted service provider CLI) + _docs: https://www.mongodb.com/docs/atlas/cli/stable/command/atlas/ + _github: https://github.com/mongodb/mongodb-atlas-cli + _home: https://www.mongodb.com/docs/atlas/cli/stable/ + _name: MongoDB Atlas + brew: mongodb-atlas + choco: mongodb-atlas + mongodb-compass: + _app: MongoDB Compass.app + _bin: mongodb-compass + _github: https://github.com/mongodb-js/compass + _name: MongoDB Compass + apt: https://downloads.mongodb.com/compass/mongodb-compass_1.38.0_amd64.deb + cask: mongodb-compass + choco: mongodb-compass + dnf: https://downloads.mongodb.com/compass/mongodb-compass-1.38.0.x86_64.rpm + monitorcontrol: + _app: MonitorControl.app _bin: null - _desc: Easy-to-use Monero client with managed keys - _github: https://github.com/mymonero/mymonero-app-js - _docs: https://github.com/mymonero/mymonero-app-js - _home: https://mymonero.com/ - _app: MyMonero.app - cask: mymonero - choco: mymonero + _desc: Menu bar application for macOS that allows you to control the screen brightness and volume + _docs: https://github.com/MonitorControl/MonitorControl + _github: https://github.com/MonitorControl/MonitorControl + _home: https://github.com/MonitorControl/MonitorControl + _name: Monitor Control + cask: monitorcontrol + mono: + _bin: mono + _desc: Mono open source ECMA CLI, C# and .NET implementation. + _docs: https://www.mono-project.com/docs/ + _github: https://github.com/mono/mono + _home: https://www.mono-project.com/ + _name: Mono + apt: mono-complete + brew: mono + choco: mono + dnf: mono-complete + port: mono + scoop: main/mono + winget: Mono.Mono + mosh: + _bin: mosh + _desc: Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. + _docs: https://mosh.org/#usage + _github: https://github.com/mobile-shell/mosh + _home: https://mosh.org/ + _name: Mosh + apk: mosh + apt: mosh + brew: mosh + dnf: mosh + emerge: net-misc/mosh + pacman: mosh + pkg-freebsd: net/mosh + pkg_add: mosh + port: mosh + zypper: mosh motrix: + _app: Motrix.app _bin: motrix _desc: '[Motrix](https://motrix.app/) is a full-featured download manager that supports downloading HTTP, FTP, BitTorrent, Magnet, etc.' _docs: null _github: https://github.com/agalwood/Motrix _home: https://motrix.app/ _name: Motrix - _app: Motrix.app ansible: professormanhattan.motrix cask: motrix choco: motrix @@ -7515,19 +7401,40 @@ softwarePackages: pacman: mpg123 port: mpg123 scoop: mpg123 + mpv: + _app: mpv.app + _bin: mpv + _github: https://github.com/mpv-player/mpv + _name: MPV + _todo: This software does not run on macOS versions other than Mojave, Catalina, Big Sur and Ventura --- probably adding support - this issue will likely fix itself + brew: mpv + cask: mpv + choco: mpv + flatpak: io.mpv.Mpv mqttx: + _app: MQTTX.app _bin: mqttx _desc: MQTT X - Elegant Cross-platform MQTT 5.0 Desktop Client _docs: null _github: https://github.com/emqx/MQTTX _home: null _name: MQTT X - _app: MQTTX.app cask: mqttx flatpak: com.emqx.MQTTX github: github.com/emqx/MQTTX snap: mqttx yay: mqttx-bin + mudlet: + _app: mudlet.app + _bin: mudlet + _desc: A full-featured cross-OS MUD client + _docs: https://wiki.mudlet.org/?pk_vid=b53bfe5eba0aac5a1685341616dc4f27 + _github: https://github.com/Mudlet/Mudlet + _home: https://www.mudlet.org/ + _name: Mudlet + cask: mudlet + choco: mudlet + snap: mudlet-linux muffet: _bin: muffet _desc: Fast website link checker in Go @@ -7539,131 +7446,28 @@ softwarePackages: github: github.com/raviqqe/muffet go: github.com/raviqqe/muffet/v2@latest yay: muffet-bin - eartrumpet: - _bin: null - _desc: Advanced, sleek volume controls for Windows - _docs: https://github.com/File-New-Project/EarTrumpet - _github: https://github.com/File-New-Project/EarTrumpet - _home: https://eartrumpet.app/ - _name: EarTrumpet - choco: eartrumpet - winget: File-New-Project.EarTrumpet - slides: - _bin: slides - _desc: A terminal application that allows you to present slides rendered from markdown - _docs: https://github.com/maaslalani/slides - _github: https://github.com/maaslalani/slides - _home: https://maaslalani.com/slides/ - _name: Slides - brew: slides - go: github.com/maaslalani/slides@latest - nix-env: nixpkgs.slides - snap: slides - yay: slides - envpane: - _bin: null - _desc: An OS X preference pane for environment variables - _docs: https://github.com/hschmidt/EnvPane - _github: https://github.com/hschmidt/EnvPane - _home: https://github.com/hschmidt/EnvPane - _name: EnvPane - _when:script: '! test -d "$HOME/Library/PreferencePanes/EnvPane.prefPane"' - script:darwin: '(cd ~/Library/PreferencePanes && rm -rf EnvPane.prefPane && curl -sL https://github.com/hschmidt/EnvPane/releases/download/releases%2F0.8/EnvPane-0.8.tar.bz2 | tar -xjf -)' - skhd: - _bin: skhd - _desc: Keyboard shortcut daemon for macOS - _docs: https://github.com/koekeishiya/skhd/issues/1 - _github: https://github.com/koekeishiya/skhd - _home: https://github.com/koekeishiya/skhd - _name: skhd - _post:brew: | - #!/usr/bin/env bash - skhd --start-service - brew:darwin: koekeishiya/formulae/skhd - profilecreator: - _bin: null - _desc: Profile manifest creator GUI for macOS - _docs: https://github.com/ProfileCreator/ProfileCreator - _github: https://github.com/ProfileCreator/ProfileCreator - _home: https://github.com/ProfileCreator/ProfileCreator - _name: Profile Creator - _app: ProfileCreator.app - cask: profilecreator - mas: 2141249187 - vagrant-manager: - _bin: null - _desc: Status bar menu application that allows you to manage Vagrant available on macOS and Windows - _docs: https://github.com/lanayotech/vagrant-manager - _github: https://github.com/lanayotech/vagrant-manager - _home: https://www.vagrantmanager.com/ - _name: Vagrant Manager - _app: Vagrant Manager.app - cask: vagrant-manager - choco: vagrant-manager - openinterminal: - _bin: null - _desc: Finder Toolbar app for macOS to open the current directory in Terminal, iTerm, Hyper or Alacritty - _docs: https://github.com/Ji4n1ng/OpenInTerminal - _github: https://github.com/Ji4n1ng/OpenInTerminal - _home: https://github.com/Ji4n1ng/OpenInTerminal - _name: OpenInTerminal - _app: OpenInTerminal.app - cask: openinterminal - youtube-music: - _desc: YouTube Music desktop app bundled with custom plugins (and built-in ad blocker / downloader) - _docs: null - _github: https://github.com/th-ch/youtube-music - _home: https://th-ch.github.io/youtube-music/ - _todo: Might have to add _post cask xattr -cr /Applications/YouTube\ Music.app to fix permissions - _app: YouTube Music.app - appimage: th-ch/youtube-music - apt: https://github.com/th-ch/youtube-music/releases/download/v1.19.0/youtube-music_1.19.0_amd64.deb - exe: https://github.com/th-ch/youtube-music/releases/download/v1.19.0/YouTube-Music-Setup-1.19.0.exe - scoop: extras/youtube-music - script:darwin: | - DL_URL="https://github.com/th-ch/youtube-music/releases/download/v1.20.0/YouTube-Music-1.20.0.dmg" - if [ $(arch) = 'arm64' ]; then - DL_URL="https://github.com/th-ch/youtube-music/releases/download/v1.20.0/YouTube-Music-1.20.0-arm64.dmg" - fi - echo "Downloading YouTube Music" && curl -sSL "$DL_URL" > /tmp/YouTube-Music.dmg - echo "Attaching volume" && sudo hdiutil attach /tmp/YouTube-Music.dmg - echo "Copying to /Applications" - if [ -d "/Volumes/YouTube Music 1.20.0" ]; then - sudo cp -R "/Volumes/YouTube Music 1.20.0/YouTube Music.app" /Applications - echo "Detaching" && sudo hdiutil detach "/Volumes/YouTube Music 1.20.0" - elif [ -d "/Volumes/YouTube Music 1.20.0-arm64" ]; then - sudo cp -R "/Volumes/YouTube Music 1.20.0-arm64/YouTube Music.app" /Applications - echo "Detaching" && sudo hdiutil detach "/Volumes/YouTube Music 1.20.0-arm64" - fi - echo "Removing /tmp/YouTube-Music.dmg" && rm -f /tmp/YouTube-Music.dmg - winget: th-ch.YouTubeMusic - yay: youtube-music-bin - imagine: - _bin: null - _desc: Imagine is a desktop app for compression of PNG and JPEG, with a modern and friendly UI. - _docs: https://github.com/meowtec/Imagine - _github: https://github.com/meowtec/Imagine - _home: https://github.com/meowtec/Imagine - _name: Imagine - _app: Imagine.app - appimage: meowtec/Imagine - exe: https://github.com/meowtec/Imagine/releases/download/v0.7.4/Imagine-Setup-0.7.4.exe - script:darwin: curl -sSL https://github.com/meowtec/Imagine/releases/download/v0.7.4/Imagine-0.7.4.dmg > /tmp/Imagine.dmg && sudo hdiutil attach /tmp/Imagine.dmg && sudo cp -R "/Volumes/Imagine 0.7.4/Imagine.app" /Applications && sudo hdiutil detach "/Volumes/Imagine 0.7.4" && rm -f /tmp/Imagine.dmg mullvad-vpn: + _app: Mullvad VPN.app _bin: null _desc: The Mullvad VPN client app for desktop and mobile _docs: null _github: https://github.com/mullvad/mullvadvpn-app _home: null _name: Mullvad VPN - _app: Mullvad VPN.app apt: https://github.com/mullvad/mullvadvpn-app/releases/download/2022.5/MullvadVPN-2022.5_amd64.deb cask: mullvadvpn - exe: https://github.com/mullvad/mullvadvpn-app/releases/download/2022.5/MullvadVPN-2022.5.exe dnf: https://github.com/mullvad/mullvadvpn-app/releases/download/2022.5/MullvadVPN-2022.5_x86_64.rpm + exe: https://github.com/mullvad/mullvadvpn-app/releases/download/2022.5/MullvadVPN-2022.5.exe github: github.com/mullvad/mullvadvpn-app yay: mullvad-vpn + multi-gitter: + _bin: multi-gitter + _github: https://github.com/lindell/multi-gitter + _name: Multi-Gitter + brew: lindell/multi-gitter/multi-gitter + go: github.com/lindell/multi-gitter@latest multipass: + _app: Multipass.app _bin: multipass _desc: '[Multipass](https://multipass.run/) makes it so that you can get an instant Ubuntu VM with a single command. Multipass can launch and run virtual machines and configure them with cloud-init like a public cloud. It is a product of [Canonical](https://canonical.com/), the same company that publishes Ubuntu.' _docs: https://multipass.run/docs @@ -7676,11 +7480,18 @@ softwarePackages: _post:choco: | #!/usr/bin/env bash multipass set local.driver=virtualbox - _app: Multipass.app ansible: professormanhattan.multipass cask: multipass choco: multipass snap: multipass + mutagen: + _bin: mutagen + _github: https://github.com/mutagen-io/mutagen + _name: Mutagen + _post: | + #!/usr/bin/env bash + mutagen daemon register + brew: mutagen-io/mutagen/mutagen mycli: _bin: mycli _desc: A terminal client for MySQL with auto-completion and syntax highlighting. @@ -7691,6 +7502,15 @@ softwarePackages: apt: mycli brew: mycli pipx: mycli + mymonero: + _app: MyMonero.app + _bin: null + _desc: Easy-to-use Monero client with managed keys + _docs: https://github.com/mymonero/mymonero-app-js + _github: https://github.com/mymonero/mymonero-app-js + _home: https://mymonero.com/ + cask: mymonero + choco: mymonero nativefier: _bin: nativefier _deps: @@ -7701,6 +7521,11 @@ softwarePackages: _home: null _name: nativefier npm: nativefier + nativescript: + _bin: ns + _github: https://github.com/NativeScript/NativeScript + _name: NativeScript + npm: nativescript nautilus-brasero: apt: nautilus-extension-brasero dnf: brasero-nautilus @@ -7735,6 +7560,19 @@ softwarePackages: nautilus-wipe: apt: nautilus-wipe pacman: nautilus-wipe + navi: + _bin: navi + _desc: An interactive cheatsheet tool for the command-line + _docs: https://github.com/denisidoro/navi/blob/master/docs/installation.md + _github: https://github.com/denisidoro/navi + _home: https://github.com/denisidoro/navi + _name: Navi + _repology: navi + brew: navi + cargo: navi --locked + emerge: app-misc/navi + nix-env: nixpkgs.navi + pacman: navi nb: _bin: nb _deps: @@ -7756,53 +7594,6 @@ softwarePackages: bpkg: xwmx/nb brew: nb npm: nb.sh - vdirsyncer: - _bin: vdirsyncer - _github: https://github.com/pimutils/vdirsyncer - _name: vdirsyncer - _todo: echo "TODO - Implement the following command after automating the process of setting up contact groups / calendars to sync" && echo "vdirsyncer discover contacts" && echo "vdirsyncer sync contacts" && echo "TODO - Add to cron" && echo "*/30 * * * * /usr/local/bin/vdirsyncer sync > /dev/null" && echo "This should be in _post instead of _pre - it is here for testing purposes" - pipx: vdirsyncer - charm: - _bin: charm - _desc: The Charm Tool and Library - _docs: https://github.com/charmbracelet/charm - _github: https://github.com/charmbracelet/charm - _home: https://charm.sh - _name: Charm - brew: charmbracelet/tap/charm - go: github.com/charmbracelet/charm@main - nix-env: nixpkgs.charm - pacman: charm - portal: - _bin: portal - _desc: Portal is a quick and easy command-line file transfer utility from any computer to another - _docs: https://github.com/SpatiumPortae/portal - _github: https://github.com/SpatiumPortae/portal - _home: https://portal.spatiumportae.com/ - _name: Portal - brew: portal - scoop: portal - winget: SpatiumPortae.portal - yay: portal-bin - sttr: - _bin: sttr - _desc: Cross-platform, CLI app to perform various operations on string - _docs: https://github.com/abhimanyu003/sttr - _github: https://github.com/abhimanyu003/sttr - _home: https://github.com/abhimanyu003/sttr - _name: sttr - brew: abhimanyu003/sttr/sttr - go: github.com/abhimanyu003/sttr@latest - snap: sttr - yay: sttr-bin - enola: - _bin: enola - _desc: Hunt down social media accounts by username across social networks (Sherlock Go clone) - _docs: https://github.com/TheYahya/enola - _github: https://github.com/TheYahya/enola - _home: https://github.com/TheYahya/enola - _name: Enola - go: github.com/theyahya/enola/cmd/enola@latest ncc: _bin: ncc _desc: Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires. @@ -7812,6 +7603,11 @@ softwarePackages: _name: null brew: ncc npm: '@vercel/ncc' + ndb: + _bin: ndb + _github: https://github.com/GoogleChromeLabs/ndb + _name: ndb + npm: ndb nebula: _bin: nebula _desc: A scalable overlay networking tool with a focus on performance, simplicity and security @@ -7835,22 +7631,47 @@ softwarePackages: _home: https://nectar.js.org/ _name: nerctarjs npm: nectarjs - neovim-node-host: - _bin: neovim-node-host - _github: https://github.com/neovim/node-client - _name: Neovim Node Host - npm: neovim + neofetch: + _bin: neofetch + _github: https://github.com/dylanaraps/neofetch + _name: NeoFetch + apk: + - ncurses + - neofetch + apt: neofetch + brew: neofetch + dnf: neofetch + eopkg: neofetch + nix-env: neofetch + pacman: neofetch + pkg-freebsd: neofetch + pkg-termux: neofetch + scoop: neofetch + xbps: neofetch + zypper: neofetch + neovide: + _app: Neovide.app + _bin: neovide + _desc: No Nonsense Neovim Client in Rust + _docs: https://neovide.dev/installation.html + _github: https://github.com/neovide/neovide + _home: https://neovide.dev/ + _name: Neovide + cask: neovide + pacman: neovide + scoop: neovide + snap: neovide neovim: _bin: nvim + _deps: + - clangd + - terraform-ls + - neovim-node-host _desc: '[neovim](https://neovim.io/) is Vim-fork focused on extensibility and usability' _docs: https://neovim.io/doc/general/ _github: https://github.com/neovim/neovim _home: https://neovim.io/ _name: neovim - _deps: - - clangd - - terraform-ls - - neovim-node-host apk: neovim apt: - neovim @@ -7876,11 +7697,11 @@ softwarePackages: - neovim - python-neovim - python3-neovim - majestic: - _bin: majestic - _github: https://github.com/Raathigesh/majestic - _name: Majestic - npm: majestic + neovim-node-host: + _bin: neovim-node-host + _github: https://github.com/neovim/node-client + _name: Neovim Node Host + npm: neovim nest: _bin: nest _desc: CLI tool for Nest applications @@ -7904,207 +7725,33 @@ softwarePackages: scoop: netcat netdata: _bin: netdata + _deps: + - debsecan + - speedtest-cli _desc: '[Netdata](https://www.netdata.cloud/) is an open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts.' _docs: https://learn.netdata.cloud/docs/ _github: https://github.com/netdata/netdata - _home: https://www.netdata.cloud/ - _name: Netdata _groups: - netdata + _home: https://www.netdata.cloud/ + _name: Netdata + _post: "#!/usr/bin/env bash\n# @file Netdata\n# @brief Connects Netdata with Netdata's free cloud dashboard and applies some system optimizations, if necessary\n# @description\n# This script connects Netdata with Netdata Cloud if Netdata is installed, the `NETDATA_TOKEN` is provided, and the\n# `NETDATA_ROOM` is defined. This allows you to graphically browse through system metrics on all your connected devices\n# from a single free web application.\n#\n# This script installs additional alerts and enables notifications if Netdata is installed. Email notifications are configured\n# using the provided primary email address. If the OS is Debian based, Netdata shows the number of CVEs in currently installed packages.\n\nensureNetdataOwnership() {\n ### Ensure /usr/local/var/lib/netdata/cloud.d is owned by user\n if [ -d /usr/local/var/lib/netdata ]; then\n logg info 'Ensuring permissions are correct on /usr/local/var/lib/netdata' && sudo chown -Rf netdata:netdata /usr/local/var/lib/netdata 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) /usr/local/var/lib/netdata\n elif [ -d /var/lib/netdata ]; then\n logg info 'Ensuring permissions are correct on /var/lib/netdata' && sudo chown -Rf netdata:netdata /var/lib/netdata 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) /var/lib/netdata\n elif [ -d \"${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata\" ]; then\n logg info \"Ensuring permissions are correct on ${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata\" && sudo chown -Rf netdata:netdata \"${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata\" 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) \"${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata\"\n else\n logg warn 'No /var/lib/netdata folder found'\n fi\n}\n\n### Claim the instance with Netdata Cloud\nif command -v netdata-claim.sh > /dev/null; then\n ### Add user / group with script in ~/.local/bin/add-usergroup, if it is available\n if command -v add-usergroup > /dev/null; then\n sudo add-usergroup \"$USER\" netdata\n fi\n\n ### Ensure ownership\n ensureNetdataOwnership\n\n ### netdata-claim.sh must be run as netdata user\n sudo -H -u netdata bash -c 'export NETDATA_ROOM=\"{{- if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"NETDATA_ROOM\")) -}}{{- includeTemplate \"secrets/NETDATA_ROOM\" | decrypt | trim -}}{{- else -}}{{- env \"NETDATA_ROOM\" -}}{{- end -}}\" && export NETDATA_TOKEN=\"{{- if (stat (joinPath .chezmoi.sourceDir \".chezmoitemplates\" \"secrets\" \"NETDATA_TOKEN\")) -}}{{- includeTemplate \"secrets/NETDATA_TOKEN\" | decrypt | trim -}}{{- else -}}{{- env \"NETDATA_TOKEN\" -}}{{- end -}}\" && yes | netdata-claim.sh -token=\"$NETDATA_TOKEN\" -rooms=\"$NETDATA_ROOM\" -url=\"https://app.netdata.cloud\"'\n \n ### Kernel optimizations\n # These are mentioned while installing via the kickstart.sh script method. We are using Homebrew for the installation though.\n # Assuming these optimizations do not cause any harm.\n if [ -d /Applications ] && [ -d /System ]; then\n ### macOS\n logg info 'System is macOS so Netdata kernel optimizations are not required'\n else\n ### Linux\n if [ -d /sys/kernel/mm/ksm ]; then\n logg info 'Adding Netdata kernel optimization for /sys/kernel/mm/ksm/run'\n echo 1 | sudo tee /sys/kernel/mm/ksm/run\n logg info 'Adding Netdata kernel optimization for /sys/kernel/mm/ksm/sleep_millisecs'\n echo 1000 | sudo tee /sys/kernel/mm/ksm/sleep_millisecs\n else\n logg info 'The /sys/kernel/mm/ksm directory does not exist so Netdata kernel optimizations are not being applied'\n fi\n fi\n\n ### Install additional alerts and enable notifications\n if command -v netdata > /dev/null; then\n ### Copy the additional alert definitions\n if [ -d /usr/local/etc/netdata ]; then\n NETDATA_ETC='/usr/local/etc/netdata/'\n elif [ -d /etc/netdata ]; then\n NETDATA_ETC='/etc/netdata'\n elif [ -d \"${HOMEBREW_PREFIX:-/opt/homebrew}/etc/netdata\" ]; then\n NETDATA_ETC=\"${HOMEBREW_PREFIX:-/opt/homebrew}/etc/netdata\"\n else\n logg error 'No etc location found for netdata' && exit 1\n fi\n logg info \"Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/ to $NETDATA_ETC\" && sudo cp -rf \"${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/\" \"$NETDATA_ETC\"\n \n if command -v gsed > /dev/null; then\n SED_UTIL=\"gsed\"\n else\n SED_UTIL=\"sed\"\n fi\n\n ### Blocky\n logg info \"Adding Blocky metrics collection to $NETDATA_ETC/go.d/prometheus.conf\"\n sudo \"$SED_UTIL\" -i \"/jobs:/a\\ - name: blocky_local \\n url: 'http://127.0.0.1:4000/metrics'\" \"$NETDATA_ETC/go.d/prometheus.conf\"\n \n ### SFTPGo\n logg info \"Adding SFTPGo metrics collection to $NETDATA_ETC/go.d/prometheus.conf\"\n sudo \"$SED_UTIL\" -i \"/jobs:/a\\ - name: sftpgo_local \\n url: 'http://127.0.0.1:57500/metrics'\" \"$NETDATA_ETC/go.d/prometheus.conf\"\n\n # Backup current health alarm configuration and apply new one\n if [ -d /usr/local/lib/netdata ]; then\n NETDATA_LIB='/usr/local/lib/netdata'\n elif [ -d /usr/lib/netdata ]; then\n NETDATA_LIB='/usr/lib/netdata'\n elif [ -d \"${HOMEBREW_PREFIX:-/opt/homebrew}/lib/netdata\" ]; then\n NETDATA_LIB=\"${HOMEBREW_PREFIX:-/opt/homebrew}/lib/netdata\"\n else\n logg error 'No lib location found for netdata' && exit 1\n fi\n logg info \"Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health_alarm_notify.conf to $NETDATA_LIB/conf.d/health_alarm_notify.conf\" && sudo cp -f \"${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health_alarm_notify.conf\" \"$NETDATA_LIB/conf.d/health_alarm_notify.conf\"\n else\n logg warn 'netdata is not available in the PATH or is not installed'\n fi\n\n ### Ensure the apt command is available before running `debsecan` logic\n if command -v apt-get > /dev/null; then\n ### Configure Netdata to gather information about CVEs in the installed packages\n if command -v debsecan > /dev/null; then\n DEBSECAN_GIT=\"${XDG_DATA_HOME:-$HOME/.local/share}/netdata-debsecan\"\n ### Installing the script to generate report on CVEs in installed packages\n logg info 'Installing script to generate report on CVEs in installed packages' && sudo cp -f \"$DEBSECAN_GIT/usr_local_bin_debsecan-by-type\" \"/usr/local/bin/debsecan-by-type\"\n ### Generate initial debsecan reports in /var/log/debsecan/\n logg info 'Generating initial debsecan reports in /var/log/debsecan/' && debsecan-by-type\n ### Configure dpkg to refresh the file after each run\n logg info 'Configuring dpkg to refresh the file after each run' && sudo cp -f \"$DEBSECAN_GIT/etc_apt_apt.conf.d_99debsecan\" /etc/apt/apt.conf.d/99-debsecan\n ### Add a cron job to refresh the file every hour\n logg info 'Adding a cron job to refresh the file every hour' && sudo cp -f \"$DEBSECAN_GIT/etc_cron.d_debsecan\" /etc/cron.d/debsecan\n ### Install the module/configuration file\n logg info 'Installing the module and configuration file'\n sudo \"$DEBSECAN_GIT/debsecan.chart.py\" /usr/libexec/netdata/python.d/debsecan.chart.py\n sudo \"$DEBSECAN_GIT/debsecan.conf\" /etc/netdata/python.d/debsecan.conf\n else\n logg warn 'apt-get is available but debsecan is not available in the PATH or is not installed'\n fi\n fi\n\n ### Ensure / report whether speedtest-cli is installed\n if ! command -v speedtest-cli > /dev/null; then\n if command -v pipx > /dev/null; then\n pipx install speedtest-cli\n else\n logg warn 'speedtest-cli not installed and pipx is not available'\n fi\n fi\n\n ### Configure Netdata to gather information about Internet connection speed\n if command -v speedtest-cli > /dev/null; then\n ### Installing the script to generate report on Internet connection speed\n logg info 'Installing script to generate report on Internet connection speed'\n LIBEXEC_PATH=\"$(netdata -W buildinfo | grep 'Configure' | sed \"s/.*--libexecdir=\\([^ \\']*\\).*/\\1/\")\"\n if [ -d /usr/libexec/netdata/charts.d ]; then\n sudo cp -f \"${XDG_DATA_HOME:-$HOME/.local/share}/netdata-speedtest/speedtest.chart.sh\" \"/usr/libexec/netdata/charts.d/speedtest.chart.sh\"\n elif [ -d \"$LIBEXEC_PATH/netdata/charts.d\" ]; then\n logg info \"$LIBEXEC_PATH/netdata/charts.d present on system\"\n cp -f \"${XDG_DATA_HOME:-$HOME/.local/share}/netdata-speedtest/speedtest.chart.sh\" \"$LIBEXEC_PATH/netdata/charts.d/speedtest.chart.sh\"\n else\n logg warn \"Failed to find appropriate directory to add Netdata speedtest chart script\"\n fi\n else\n logg warn 'speedtest-cli is not available in the PATH or is not installed'\n fi\n\n ### Ensure ownership again\n ensureNetdataOwnership\n\n ### Restart Netdata service\n if command -v systemctl > /dev/null; then\n logg info 'Enabling netdata service' && sudo systemctl enable netdata\n logg info 'Restarting netdata service' && sudo systemctl restart netdata\n elif [ -d /Applications ] && [ -d /System ]; then\n logg info 'Starting / enabling netdata service' && brew services restart netdata\n else\n logg warn 'systemctl is not available'\n fi\nelse\n logg info 'netdata-claim.sh is not available in the PATH'\nfi\n" _service: netdata _service:brew: - name: netdata sudo: true _serviceEnabled: true - _deps: - - debsecan - - speedtest-cli - _post: | - #!/usr/bin/env bash - # @file Netdata - # @brief Connects Netdata with Netdata's free cloud dashboard and applies some system optimizations, if necessary - # @description - # This script connects Netdata with Netdata Cloud if Netdata is installed, the `NETDATA_TOKEN` is provided, and the - # `NETDATA_ROOM` is defined. This allows you to graphically browse through system metrics on all your connected devices - # from a single free web application. - # - # This script installs additional alerts and enables notifications if Netdata is installed. Email notifications are configured - # using the provided primary email address. If the OS is Debian based, Netdata shows the number of CVEs in currently installed packages. - - ensureNetdataOwnership() { - ### Ensure /usr/local/var/lib/netdata/cloud.d is owned by user - if [ -d /usr/local/var/lib/netdata ]; then - logg info 'Ensuring permissions are correct on /usr/local/var/lib/netdata' && sudo chown -Rf netdata:netdata /usr/local/var/lib/netdata 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) /usr/local/var/lib/netdata - elif [ -d /var/lib/netdata ]; then - logg info 'Ensuring permissions are correct on /var/lib/netdata' && sudo chown -Rf netdata:netdata /var/lib/netdata 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) /var/lib/netdata - elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata" ]; then - logg info "Ensuring permissions are correct on ${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata" && sudo chown -Rf netdata:netdata "${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata" 2> /dev/null || sudo chown -Rf netdata:$(id -g -n) "${HOMEBREW_PREFIX:-/opt/homebrew}/var/lib/netdata" - else - logg warn 'No /var/lib/netdata folder found' - fi - } - - ### Claim the instance with Netdata Cloud - if command -v netdata-claim.sh > /dev/null; then - ### Add user / group with script in ~/.local/bin/add-usergroup, if it is available - if command -v add-usergroup > /dev/null; then - sudo add-usergroup "$USER" netdata - fi - - ### Ensure ownership - ensureNetdataOwnership - - ### netdata-claim.sh must be run as netdata user - sudo -H -u netdata bash -c 'export NETDATA_ROOM="{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_ROOM")) -}}{{- includeTemplate "secrets/NETDATA_ROOM" | decrypt | trim -}}{{- else -}}{{- env "NETDATA_ROOM" -}}{{- end -}}" && export NETDATA_TOKEN="{{- if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NETDATA_TOKEN")) -}}{{- includeTemplate "secrets/NETDATA_TOKEN" | decrypt | trim -}}{{- else -}}{{- env "NETDATA_TOKEN" -}}{{- end -}}" && yes | netdata-claim.sh -token="$NETDATA_TOKEN" -rooms="$NETDATA_ROOM" -url="https://app.netdata.cloud"' - - ### Kernel optimizations - # These are mentioned while installing via the kickstart.sh script method. We are using Homebrew for the installation though. - # Assuming these optimizations do not cause any harm. - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - logg info 'System is macOS so Netdata kernel optimizations are not required' - else - ### Linux - if [ -d /sys/kernel/mm/ksm ]; then - logg info 'Adding Netdata kernel optimization for /sys/kernel/mm/ksm/run' - echo 1 | sudo tee /sys/kernel/mm/ksm/run - logg info 'Adding Netdata kernel optimization for /sys/kernel/mm/ksm/sleep_millisecs' - echo 1000 | sudo tee /sys/kernel/mm/ksm/sleep_millisecs - else - logg info 'The /sys/kernel/mm/ksm directory does not exist so Netdata kernel optimizations are not being applied' - fi - fi - - ### Install additional alerts and enable notifications - if command -v netdata > /dev/null; then - ### Copy the additional alert definitions - if [ -d /usr/local/etc/netdata ]; then - NETDATA_ETC='/usr/local/etc/netdata/' - elif [ -d /etc/netdata ]; then - NETDATA_ETC='/etc/netdata' - elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/netdata" ]; then - NETDATA_ETC="${HOMEBREW_PREFIX:-/opt/homebrew}/etc/netdata" - else - logg error 'No etc location found for netdata' && exit 1 - fi - logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/ to $NETDATA_ETC" && sudo cp -rf "${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health.d/" "$NETDATA_ETC" - - if command -v gsed > /dev/null; then - SED_UTIL="gsed" - else - SED_UTIL="sed" - fi - - ### Blocky - logg info "Adding Blocky metrics collection to $NETDATA_ETC/go.d/prometheus.conf" - sudo "$SED_UTIL" -i "/jobs:/a\ - name: blocky_local \n url: 'http://127.0.0.1:4000/metrics'" "$NETDATA_ETC/go.d/prometheus.conf" - - ### SFTPGo - logg info "Adding SFTPGo metrics collection to $NETDATA_ETC/go.d/prometheus.conf" - sudo "$SED_UTIL" -i "/jobs:/a\ - name: sftpgo_local \n url: 'http://127.0.0.1:57500/metrics'" "$NETDATA_ETC/go.d/prometheus.conf" - - # Backup current health alarm configuration and apply new one - if [ -d /usr/local/lib/netdata ]; then - NETDATA_LIB='/usr/local/lib/netdata' - elif [ -d /usr/lib/netdata ]; then - NETDATA_LIB='/usr/lib/netdata' - elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/lib/netdata" ]; then - NETDATA_LIB="${HOMEBREW_PREFIX:-/opt/homebrew}/lib/netdata" - else - logg error 'No lib location found for netdata' && exit 1 - fi - logg info "Copying ${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health_alarm_notify.conf to $NETDATA_LIB/conf.d/health_alarm_notify.conf" && sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/netdata/health_alarm_notify.conf" "$NETDATA_LIB/conf.d/health_alarm_notify.conf" - else - logg warn 'netdata is not available in the PATH or is not installed' - fi - - ### Ensure the apt command is available before running `debsecan` logic - if command -v apt-get > /dev/null; then - ### Configure Netdata to gather information about CVEs in the installed packages - if command -v debsecan > /dev/null; then - DEBSECAN_GIT="${XDG_DATA_HOME:-$HOME/.local/share}/netdata-debsecan" - ### Installing the script to generate report on CVEs in installed packages - logg info 'Installing script to generate report on CVEs in installed packages' && sudo cp -f "$DEBSECAN_GIT/usr_local_bin_debsecan-by-type" "/usr/local/bin/debsecan-by-type" - ### Generate initial debsecan reports in /var/log/debsecan/ - logg info 'Generating initial debsecan reports in /var/log/debsecan/' && debsecan-by-type - ### Configure dpkg to refresh the file after each run - logg info 'Configuring dpkg to refresh the file after each run' && sudo cp -f "$DEBSECAN_GIT/etc_apt_apt.conf.d_99debsecan" /etc/apt/apt.conf.d/99-debsecan - ### Add a cron job to refresh the file every hour - logg info 'Adding a cron job to refresh the file every hour' && sudo cp -f "$DEBSECAN_GIT/etc_cron.d_debsecan" /etc/cron.d/debsecan - ### Install the module/configuration file - logg info 'Installing the module and configuration file' - sudo "$DEBSECAN_GIT/debsecan.chart.py" /usr/libexec/netdata/python.d/debsecan.chart.py - sudo "$DEBSECAN_GIT/debsecan.conf" /etc/netdata/python.d/debsecan.conf - else - logg warn 'apt-get is available but debsecan is not available in the PATH or is not installed' - fi - fi - - ### Ensure / report whether speedtest-cli is installed - if ! command -v speedtest-cli > /dev/null; then - if command -v pipx > /dev/null; then - pipx install speedtest-cli - else - logg warn 'speedtest-cli not installed and pipx is not available' - fi - fi - - ### Configure Netdata to gather information about Internet connection speed - if command -v speedtest-cli > /dev/null; then - ### Installing the script to generate report on Internet connection speed - logg info 'Installing script to generate report on Internet connection speed' - LIBEXEC_PATH="$(netdata -W buildinfo | grep 'Configure' | sed "s/.*--libexecdir=\([^ \']*\).*/\1/")" - if [ -d /usr/libexec/netdata/charts.d ]; then - sudo cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/netdata-speedtest/speedtest.chart.sh" "/usr/libexec/netdata/charts.d/speedtest.chart.sh" - elif [ -d "$LIBEXEC_PATH/netdata/charts.d" ]; then - logg info "$LIBEXEC_PATH/netdata/charts.d present on system" - cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/netdata-speedtest/speedtest.chart.sh" "$LIBEXEC_PATH/netdata/charts.d/speedtest.chart.sh" - else - logg warn "Failed to find appropriate directory to add Netdata speedtest chart script" - fi - else - logg warn 'speedtest-cli is not available in the PATH or is not installed' - fi - - ### Ensure ownership again - ensureNetdataOwnership - - ### Restart Netdata service - if command -v systemctl > /dev/null; then - logg info 'Enabling netdata service' && sudo systemctl enable netdata - logg info 'Restarting netdata service' && sudo systemctl restart netdata - elif [ -d /Applications ] && [ -d /System ]; then - logg info 'Starting / enabling netdata service' && brew services restart netdata - else - logg warn 'systemctl is not available' - fi - else - logg info 'netdata-claim.sh is not available in the PATH' - fi ansible: professormanhattan.netdata brew: netdata pacman: netdata port: netdata script: curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh - hurl: - _bin: hurl - _github: https://github.com/Orange-OpenSource/hurl - brew: hurl - cargo: hurl - choco: hurl - npm: '@orangeopensource/hurl' - pkg-freebsd: hurl - port: hurl - scoop: hurl - winget: hurl - mutagen: - _bin: mutagen - _github: https://github.com/mutagen-io/mutagen - _name: Mutagen - _post: | - #!/usr/bin/env bash - mutagen daemon register - brew: mutagen-io/mutagen/mutagen + networkmanager: + _bin: networkmanager + _github: https://github.com/BornToBeRoot/NETworkManager + _name: NETworkManager + scoop: networkmanager + winget: BornToBeRoot.NETworkManager newman: _bin: newman _desc: Command-line collection runner for Postman @@ -8114,22 +7761,20 @@ softwarePackages: _name: newman brew: newman npm: newman + newsflash: + _bin: newsflash + flatpak: com.gitlab.newsflash nextcloud: + _app: Nextcloud.app _bin: nextcloudcmd _desc: '[Nextcloud Client](https://nextcloud.com) is a tool to keep your files synchronized between your Nextcloud server and your desktop. Select one or more directories on your local machine and always have access to your latest files wherever you are' _docs: https://docs.nextcloud.com/server/latest/user_manual/en/ _github: https://github.com/nextcloud/desktop _home: https://nextcloud.com _name: Nextcloud Client - _app: Nextcloud.app cask: nextcloud choco: nextcloud-client flatpak: com.nextcloud.desktopclient.nextcloud - nx: - _bin: nx - _github: https://github.com/nrwl/nx - _name: NX - npm: nx nginx: _bin: nginx _desc: It also generates sites-enabled proxies using YML configurations. Easter eggs included. [Nginx](https://www.nginx.com/), stylized as NGINX, nginx or NginX, is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache. The software was created by Igor Sysoev and publicly released in 2004. Nginx is free and open-source software, released under the terms of the 2-clause BSD license. @@ -8137,14 +7782,11 @@ softwarePackages: _github: https://github.com/nginx/nginx _home: https://nginx.org/ _name: NGINX - _todo: Check out /opt/homebrew/etc/nginx/nginx.conf / nginx/servers _ports: - port: 80 proto: tcp - port: 443 proto: tcp - _service: nginx - _serviceEnabled: true _post: | #!/usr/bin/env bash # @file NGINX Amplify Join @@ -8166,6 +7808,9 @@ softwarePackages: logg info 'Running the NGINX Amplify setup script' API_KEY="{{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "NGINX_AMPLIFY_API_KEY")) }}{{- includeTemplate "secrets/NGINX_AMPLIFY_API_KEY" | decrypt | trim -}}{{ else }}{{- env "NGINX_AMPLIFY_API_KEY" -}}{{ end }}" sh "$TMP" fi + _service: nginx + _serviceEnabled: true + _todo: Check out /opt/homebrew/etc/nginx/nginx.conf / nginx/servers ansible: professormanhattan.nginx apt: nginx brew: nginx @@ -8174,6 +7819,12 @@ softwarePackages: pacman: nginx port: nginx scoop: nginx + nginx-unit: + _bin: unitd + _github: https://github.com/nginx/unit + _name: NGINX Unit + _service: unit + brew: nginx/unit/unit ngrok: _bin: ngrok _desc: '[Ngrok](https://ngrok.com/) exposes local servers behind NATs and firewalls to the public internet over secure tunnels. Ngrok also provides a real-time web UI where you can introspect all HTTP traffic running over your tunnels. You can replay any request against your tunnels with one click. The main feature is the ability to generate an internet-accessible URL that directs traffic to your local web server even if it is behind a firewall or proxy.' @@ -8185,11 +7836,6 @@ softwarePackages: cask: ngrok choco: ngrok snap: ngrok - generator-ngx-rocket: - _bin: ngx - _github: https://github.com/ngx-rocket/generator-ngx-rocket - _name: Angular - npm: generator-ngx-rocket ngxtop: _bin: ngxtop _desc: Real-time metrics for nginx server @@ -8198,6 +7844,28 @@ softwarePackages: _home: null _name: ngxtop pipx: ngxtop + ninja: + _bin: ninja + _github: https://github.com/ninja-build/ninja + _name: Ninja + apt: ninja + brew: ninja + dnf: ninja + pacman: ninja + zypper: ninja + nitroshare: + _app: nitroshare.app + _bin: nitroshare + _desc: Network file transfer application for Windows, OS X, & Linux + _docs: https://nitroshare.net/ + _github: https://github.com/nitroshare/nitroshare-desktop + _home: https://nitroshare.net/ + _name: NitroShare + apt: nitroshare + cask: nitroshare + choco: nitroshare + dnf: nitroshare + pacman: nitroshare nmap: _bin: nmap _desc: >- @@ -8241,136 +7909,6 @@ softwarePackages: ansible: professormanhattan.nodejs brew: node scoop: nodejs - pkgx: - _bin: pkgx - _desc: The next-generation, cross‐platform package manager - _docs: https://docs.pkgx.sh/ - _github: https://github.com/pkgxdev/pkgx - _home: https://pkgx.sh/ - _name: pkgx - brew: pkgxdev/made/pkgx - pipedream-cli: - _bin: pd - _desc: Connect APIs, remarkably fast. Free for developers. - _github: https://github.com/PipedreamHQ/pipedream - _docs: https://pipedream.com/docs/cli/reference/ - _home: https://pipedream.com/ - _name: Pipedream CLI - brew: pipedreamhq/pd-cli/pipedream - sddm: - _bin: sddm - _github: https://github.com/sddm/sddm - _name: SDDM - _post: | - #!/usr/bin/env bash - sudo systemctl set-default graphical.target - _service: sddm - apt: sddm - dnf: sddm - pacman: sddm - zypper: sddm - notion: - _bin: null - _desc: Notion is the connected workspace where better, faster work happens. - _docs: https://www.notion.so/help/guides/category/documentation - _github: https://github.com/makenotion/notion-sdk-js - _home: https://www.notion.so/ - _name: Notion AI - _note: Waiting on Linux install alternative. - _app: Notion.app - _env: - NOTION_APPDATA: - cask: "$HOME/Library/Application Support/Notion" - choco: "TODO" - cask: notion - choco: notion - mas: 1559269364 - zaproxy: - _bin: zaproxy - _desc: The world’s most widely used web app scanner. Free and open source. Actively maintained by a dedicated international team of volunteers. A GitHub Top 1000 project. - _docs: https://www.zaproxy.org/docs/ - _github: https://github.com/zaproxy/zaproxy - _home: https://www.zaproxy.org/ - _name: OWASP ZAP - _app: ZAP.app - cask: zap - choco: zap - flatpak: org.zaproxy.ZAP - pkg-freebsd: zaproxy - scoop: zaproxy - snap: zaproxy --classic - pika: - _bin: null - _desc: An open-source colour picker app for macOS - _docs: https://github.com/superhighfives/pika - _github: https://github.com/superhighfives/pika - _home: https://superhighfives.com/pika - _name: Pika - _app: Pika.app - cask: pika - obsidian: - _bin: null - _desc: Obsidian is the private and flexible note‑taking app that adapts to the way you think. - _docs: https://help.obsidian.md/Home - _github: false - _home: https://obsidian.md/ - _name: Obsidian - _app: Obsidian.app - appimage: Obsidian - cask: obsidian - choco: obsidian - flatpak: md.obsidian.Obsidian - scoop: extras/obsidian - winget: Obsidian.Obsidian - raycast: - _bin: null - _desc: Everything you need to extend Raycast (the search provider for macOS) - _docs: https://developers.raycast.com/ - _github: https://github.com/raycast/extensions - _home: https://www.raycast.com/ - _name: Raycast - _app: Raycast.app - _env: - RAYCAST_APPDATA: - cask: "$HOME/Library/Application Support/com.raycast.macos" - cask: raycast - mage-ai: - _bin: mage - _desc: The modern replacement for Airflow. Build, run, and manage data pipelines for integrating and transforming data. - _docs: https://docs.mage.ai/introduction/overview - _github: https://github.com/mage-ai/mage-ai - _home: https://www.mage.ai - _name: Mage AI - pipx: mage-ai - warp-terminal: - _bin: warp - _desc: Warp is a blazingly-fast modern Rust based GPU-accelerated terminal built to make you and your team more productive. - _docs: https://docs.warp.dev/getting-started/readme - _github: https://github.com/warpdotdev/Warp - _home: https://www.warp.dev/ - _name: Warp Terminal - _app: Warp.app - _env: - WARP_TERMINAL_APPDATA: - cask: "$HOME/Library/Application Support/dev.warp.Warp-Stable" - cask: warp - appimage: https://app.warp.dev/get_warp?linux=true&package=appimage - dnf: https://app.warp.dev/get_warp?package=rpm - apt: https://app.warp.dev/get_warp?package=deb - pacman: https://app.warp.dev/get_warp?linux=true&package=pacman - figma: - _bin: null - _desc: Collaborative team software - _docs: https://help.figma.com/hc/en-us - _github: false - _home: https://www.figma.com/ - _name: Figma - _app: Figma.app - appimage: Figma-Linux/figma-linux - cask: figma - choco: figma - flatpak: io.github.Figma_Linux.figma_linux - snap: figma-linux node-prune: _bin: node-prune _desc: Extension to remove unnecessary files from node_modules @@ -8380,6 +7918,11 @@ softwarePackages: _name: node-prune github: github.com/tj/node-prune go: github.com/tj/node-prune@latest + nodemon: + _bin: nodemon + _github: https://github.com/remy/nodemon + _name: Nodemon + npm: nodemon nomad: _bin: nomad _desc: '[HashiCorp Nomad](https://www.nomadproject.io/) is a simple and flexible scheduler and workload orchestrator to deploy and manage containers and non-containerized applications across on-prem and clouds at scale.' @@ -8421,6 +7964,22 @@ softwarePackages: _name: Normit ansible: professormanhattan.normit npm: normit + notion: + _app: Notion.app + _bin: null + _desc: Notion is the connected workspace where better, faster work happens. + _docs: https://www.notion.so/help/guides/category/documentation + _env: + NOTION_APPDATA: + cask: "$HOME/Library/Application Support/Notion" + choco: "TODO" + _github: https://github.com/makenotion/notion-sdk-js + _home: https://www.notion.so/ + _name: Notion AI + _note: Waiting on Linux install alternative. + cask: notion + choco: notion + mas: 1559269364 np: _bin: np _desc: A better `npm publish` @@ -8429,19 +7988,15 @@ softwarePackages: _home: null _name: np npm: np - nushell: - _bin: nu - _github: https://github.com/nushell/nushell - _name: Nu - apk: nushell - apt: nushell - brew: nushell - choco: nushell - pacman: nushell - port: nushell - dnf: nushell - scoop: nushell - winget: nushell + # Error installing aiohttp dependency + # starred: + # _bin: starred + # pipx: starred + npkill: + _bin: npkill + _github: https://github.com/voidcosmos/npkill + _name: npkill + npm: npkill npm-check: _bin: npm-check _desc: Check for outdated, incorrect, and unused dependencies. @@ -8450,20 +8005,109 @@ softwarePackages: _home: null _name: npm-check npm: npm-check + npm-check-updates: + _bin: ncu + _github: https://github.com/raineorshine/npm-check-updates + _name: NPM Check Updates + npm: npm-check-updates + ntfy: + _bin: nfty + _github: https://github.com/dschep/ntfy + _name: NFTY + _post: | + #!/usr/bin/env bash + sudo mkdir -p /usr/local/etc/branding + sudo cp -f "$HOME/.local/etc/branding/logo-color-256x256.png" /usr/local/etc/branding/logo-color-256x256.png + sudo mkdir -p /usr/local/share/sounds + sudo rsync -rtvp "${XDG_DATA_HOME:-$HOME/.local/share}/sounds/" /usr/local/share/sounds + if command -v apt-get > /dev/null; then + sudo apt install python-dbus + fi + if command -v termux-setup-storage > /dev/null; then + apt install termux-api + fi + pip3: ntfy[emoji,matrix,pid,slack] + ntl: + _bin: ntl + _desc: null + _docs: null + _github: https://github.com/ruyadorno/ntl + _home: null + _name: NTL + npm: ntl nuclear: + _app: nuclear.app _bin: nuclear _desc: Streaming music player that finds free music _docs: null _github: https://github.com/nukeop/nuclear _home: https://nuclear.js.org/ _name: Nuclear - _app: nuclear.app cask: nuclear choco: nuclear flatpak: org.js.nuclear.Nuclear github: github.com/nukeop/nuclear snap: nuclear yay: nuclear-player-bin + nugetpackageexplorer: + _bin: nugetpackageexplorer + _github: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer + _name: NuGet Package Explorer + choco: nugetpackageexplorer + winapp: nuget-package-explorer/9WZDNCRDMDM3 + winget: NuGet Package Explorer + nushell: + _bin: nu + _github: https://github.com/nushell/nushell + _name: Nu + apk: nushell + apt: nushell + brew: nushell + choco: nushell + dnf: nushell + pacman: nushell + port: nushell + scoop: nushell + winget: nushell + nve: + _bin: nve + _github: https://github.com/ehmicky/nve + _name: nve + npm: nve + nx: + _bin: nx + _github: https://github.com/nrwl/nx + _name: NX + npm: nx + obs-studio: + _app: OBS.app + _bin: obs-studio + _github: https://github.com/obsproject/obs-studio + _name: OBS Studio + cask: obs + choco: obs-studio + flatpak: com.obsproject.Studio + obsidian: + _app: Obsidian.app + _bin: null + _desc: Obsidian is the private and flexible note‑taking app that adapts to the way you think. + _docs: https://help.obsidian.md/Home + _github: false + _home: https://obsidian.md/ + _name: Obsidian + appimage: Obsidian + cask: obsidian + choco: obsidian + flatpak: md.obsidian.Obsidian + scoop: extras/obsidian + winget: Obsidian.Obsidian + obsidian-cli: + _bin: obs + _github: https://github.com/Yakitrak/obsidian-cli + _name: Obsidian CLI + _pre:scoop: scoop bucket add scoop-yakitrak https://github.com/yakitrak/scoop-yakitrak.git + brew: megabyte-labs/tap/obs-cli + scoop: obs oclif: _bin: oclif _desc: "[oclif](https://oclif.io/) is a framework for building CLIs in Node.js. This framework was built out of the Heroku CLI but generalized to build any custom CLI. It's designed both for single-file CLIs with a few flag options, or for very complex CLIs that have subcommands (like git or heroku)" @@ -8472,6 +8116,12 @@ softwarePackages: _home: https://oclif.io/ _name: oclif npm: oclif + octosql: + _bin: octosql + _github: https://github.com/cube2222/octosql + _name: OctoSQL + brew: cube2222/octosql/octosql + scoop: octosql oh-my-posh: _bin: oh-my-posh _desc: A blazing fast cross platform/shell prompt renderer @@ -8501,6 +8151,7 @@ softwarePackages: flatpak: org.onionshare.OnionShare snap: onionshare onlykey: + _app: OnlyKey App.app _bin: onlykey _bin:snap: onlykey-app _desc: null @@ -8514,23 +8165,22 @@ softwarePackages: sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules sudo udevadm control --reload-rules sudo udevadm trigger - _app: OnlyKey App.app ansible:darwin: professormanhattan.onlykey - script:darwin: cd /tmp && curl -sSL https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.3.6/OnlyKey.App.5.3.6.dmg > OnlyKey.dmg && hdiutil attach "/tmp/OnlyKey.dmg" && sudo cp -R "/Volumes/OnlyKey App/OnlyKey App.app" /Applications && sudo hdiutil detach "/Volumes/OnlyKey App" && rm -f "/tmp/OnlyKey.dmg" choco: onlykey + script:darwin: cd /tmp && curl -sSL https://github.com/trustcrypto/OnlyKey-App/releases/download/v5.3.6/OnlyKey.App.5.3.6.dmg > OnlyKey.dmg && hdiutil attach "/tmp/OnlyKey.dmg" && sudo cp -R "/Volumes/OnlyKey App/OnlyKey App.app" /Applications && sudo hdiutil detach "/Volumes/OnlyKey App" && rm -f "/tmp/OnlyKey.dmg" snap: onlykey-app onlykey-agent: + _bin: onlykey-agent _deps: - onlykey-cli-deps - _bin: onlykey-agent _github: https://github.com/trustcrypto/onlykey-agent _name: OnlyKey Agent brew: onlykey-agent pipx: onlykey-agent onlykey-cli: + _bin: onlykey-cli _deps: - onlykey-cli-deps - _bin: onlykey-cli _github: https://github.com/trustcrypto/python-onlykey _name: OnlyKey CLI pipx: onlykey @@ -8568,6 +8218,91 @@ softwarePackages: - python3-tk - libusb-1_0-devel - libudev-devel + opencommit: + _bin: opencommit + _desc: GPT CLI to auto-generate impressive commits in 1 second + _docs: https://github.com/di-sukharev/opencommit + _github: https://github.com/di-sukharev/opencommit + _home: https://www.npmjs.com/package/opencommit + _name: OpenCommit + npm: opencommit + openinterminal: + _app: OpenInTerminal.app + _bin: null + _desc: Finder Toolbar app for macOS to open the current directory in Terminal, iTerm, Hyper or Alacritty + _docs: https://github.com/Ji4n1ng/OpenInTerminal + _github: https://github.com/Ji4n1ng/OpenInTerminal + _home: https://github.com/Ji4n1ng/OpenInTerminal + _name: OpenInTerminal + cask: openinterminal + openjdk: + _bin: javac + _desc: Latest version of the OpenJDK (Java Development Kit) + _docs: https://openjdk.org/groups/build/doc/building.html + _github: https://github.com/openjdk/jdk + _home: https://openjdk.org/ + _name: OpenJDK + apt: default-jdk + brew: openjdk + choco: openjdk + dnf: java-latest-openjdk.x86_64 + pacman: jdk-openjdk + openshift-cli: + _bin: oc + _desc: The OpenShift Command Line, part of OKD + _docs: https://docs.openshift.com/container-platform/4.8/cli_reference/openshift_cli/getting-started-cli.html + _github: https://github.com/openshift/oc + _home: https://www.redhat.com/en/technologies/cloud-computing/openshift + _name: OpenShift CLI + brew: openshift-cli + choco: openshift-cli + openssh-server: + _service: sshd + _when: test -f /proc/version && ! grep Microsoft /proc/version > /dev/null && ! test -d /Applications' + apt: openssh-server + dnf: openssh-server + pacman: openssh + openssl: + _bin: openssl + _desc: null + _docs: null + _github: null + _home: null + _name: OpenSSL + apt: openssl + brew: openssl + choco: openssl + dnf: openssl + pacman: openssl + port: openssl + scoop: openssl + openssl-osx-ca: + _bin: openssl-osx-ca + _github: https://github.com/raggi/openssl-osx-ca + _name: OpenSSL macOS CA + _service:brew:darwin: + - name: openssl-osx-ca + sudo: true + _serviceEnabled: true + brew:darwin: raggi/ale/openssl-osx-ca + openvpn: + _bin: openvpn + _github: https://github.com/OpenVPN/openvpn + _name: OpenVPN + _service: openvpn + _service:brew: + - name: openvpn + sudo: true + apt: openvpn + brew: openvpn + choco: openvpn + dnf: openvpn + pacman: openvpn + opn-cli: + _bin: opn-cli + _github: https://github.com/andeman/opn-cli + _name: OPNSense CLI + pipx: opn-cli oq: _bin: oq _desc: A performant, and portable jq wrapper to facilitate the consumption and output of formats other than JSON; using jq filters to transform the data @@ -8579,23 +8314,12 @@ softwarePackages: github: github.com/Blacksmoke16/oq snap: oq yay: oq - coder: - _bin: coder - _desc: A tool that provisions remote development environments via Terraform - _docs: https://coder.com/docs/v1/latest - _github: https://github.com/coder/coder - _home: https://coder.com/ - _name: Coder - brew: coder - pulumi: - _bin: pulumi - _desc: Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages - _docs: https://www.pulumi.com/docs/quickstart/ - _github: https://github.com/pulumi/pulumi - _home: https://www.pulumi.com/ - _name: Pulumi - brew: pulumi/tap/pulumi - choco: pulumi + orbstack: + _app: OrbStack.app + _bin: orb + _github: + _name: OrbStack + cask: orbstack osquery: _bin: osqueryctl _desc: SQL powered operating system instrumentation, monitoring, and analytics @@ -8607,6 +8331,11 @@ softwarePackages: choco: osquery github: github.com/osquery/osquery yay: osquery-git + osx-sign: + _bin: electron-osx-sign + _github: https://github.com/electron/osx-sign + _name: macOS Code Sign + npm: '@electron/osx-sign' ots: _bin: ots _desc: Share end-to-end encrypted secrets with others via a one-time URL @@ -8617,6 +8346,17 @@ softwarePackages: brew: ots github: github.com/sniptt-official/ots go: github.com/sniptt-official/ots@latest + p7zip: + _bin: p7zip + _desc: null + _docs: null + _github: null + _home: null + _name: p7zip + apt: p7zip + brew: p7zip + dnf: p7zip + pacman: p7zip package-size: _bin: package-size _desc: Get the bundle size of an npm package @@ -8653,93 +8393,9 @@ softwarePackages: _home: null _name: pageres npm: pageres-cli - fury: - _bin: fury - _desc: null - _docs: null - _github: null - _home: null - _name: Fury - brew: gemfury/tap/gemfury - markmap: - _bin: markmap - _desc: Visualize your Markdown as mindmaps with Markmap. - _docs: https://markmap.js.org/docs/markmap - _github: https://github.com/markmap/markmap - _home: https://markmap.js.org/ - _name: Markmap - npm: markmap-cli - resume: - _bin: resume - _desc: CLI tool to easily setup a new resume - _docs: https://jsonresume.org/getting-started/ - _github: https://github.com/jsonresume/resume-cli - _home: https://jsonresume.org/ - _name: JSON Resume CLI - npm: resume-cli - distrobox: - _bin: distrobox - _github: https://github.com/89luca89/distrobox - _name: Distrobox - apt: distrobox - apk: distrobox - pacman: distrobox - dnf: distrobox - neofetch: - _bin: neofetch - _github: https://github.com/dylanaraps/neofetch - _name: NeoFetch - apk: - - ncurses - - neofetch - pkg-termux: neofetch - pacman: neofetch - apt: neofetch - dnf: neofetch - pkg-freebsd: neofetch - brew: neofetch - nix-env: neofetch - eopkg: neofetch - xbps: neofetch - zypper: neofetch - scoop: neofetch - neovide: - _bin: neovide - _desc: No Nonsense Neovim Client in Rust - _docs: https://neovide.dev/installation.html - _github: https://github.com/neovide/neovide - _home: https://neovide.dev/ - _name: Neovide - _app: Neovide.app - cask: neovide - pacman: neovide - scoop: neovide - snap: neovide - marp: - _bin: marp - _desc: A CLI interface for Marp and Marpit based converters - _docs: https://github.com/marp-team/marp-cli - _github: https://github.com/marp-team/marp-cli - _home: https://marp.app/ - _name: Marp - brew: marp-cli - npm: '@marp-team/marp-cli' - scoop: marp - taplo: - _bin: taplo - _desc: A TOML toolkit written in Rust that includes TOML formatting abilities - _docker: docker run tamasfe/taplo - _docs: https://taplo.tamasfe.dev/cli/introduction.html - _github: https://github.com/tamasfe/taplo - _home: https://taplo.tamasfe.dev/ - _name: Taplo - cargo: taplo-cli --locked - npm: '@taplo/cli' - basictex: - _github: false - _name: Basictex - _when: '! test -d /Library/TeX' - cask: basictex + pake: + _bin: pake + npm: pake-cli pandoc: _bin: pandoc _deps: @@ -8775,6 +8431,7 @@ softwarePackages: _name: papertrail gem: papertrail parallels: + _app: Parallels Desktop.app _bin: null _desc: '[Parallels Desktop for Mac](https://www.parallels.com/) is software providing hardware virtualization for Macintosh computers with Intel processors. It is developed by Parallels, since 2018 a subsidiary of Corel.' _docs: https://kb.parallels.com/ @@ -8782,13 +8439,9 @@ softwarePackages: _home: https://www.parallels.com/ _name: Parallels _notes: On macOS, full disk access is required for Terminal. For Homebrew Cask, this requires the terminal to have full disk access - _app: Parallels Desktop.app ansible:darwin: professormanhattan.parallels cask: parallels mas: 1085114709 - gnome-passwords-keys: - _bin: seahorse - flatpak: org.gnome.seahorse.Application pass: _bin: pass _desc: pass is a very simple password store that keeps passwords inside gpg2(1) encrypted files @@ -8813,6 +8466,19 @@ softwarePackages: github: github.com/sharkdp/pastel snap: pastel yay: pastel + patch-package: + _bin: patch-package + _github: https://github.com/ds300/patch-package + _name: Patch Package + npm: patch-package + pb: + _app: PB for Desktop.app + _bin: pushbullet + _github: https://github.com/sidneys/pb-for-desktop + _name: Pushbullet for Desktop + appimage: sidneys/pb-for-desktop + cask: pb + choco: pushbullet peco: _bin: peco _desc: '[peco](https://github.com/peco/peco) can be a great tool to filter stuff like logs, process stats, find files, because unlike grep, you can type as you think and look through the current results.' @@ -8849,18 +8515,16 @@ softwarePackages: - gifski - peek yay: peek-git - - gifsicle: - _bin: gifsicle - _github: https://github.com/kohler/gifsicle - _name: Gifsicle - apt: gifsicle - brew: gifsicle - dnf: gifsicle - pacman: gifsicle - choco: gifsicle - scoop: gifsicle - port: gifsicle + percol: + _bin: percol + _github: https://github.com/mooz/percol + _name: Percol + pipx: percol + pfsense-fauxapi: + _bin: fauxapi + _github: https://github.com/ndejong/pfsense_fauxapi_client_python + _name: pfSense CLI (fauxapi) + pipx: pfsense-fauxapi pgcli: _bin: pgcli _desc: '[pgcli](https://www.pgcli.com/) is a free and open-source CLI for Postgres that does auto-completion and syntax highlighting.' @@ -8874,9 +8538,9 @@ softwarePackages: pipx: pgcli port: pgcli php: + _bin: php _deps: - php-extensions - _bin: php _desc: '[PHP](https://www.php.net/) is a general-purpose scripting language especially suited to web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1994. The PHP reference implementation is now produced by The PHP Group.' _docs: https://www.php.net/docs.php _github: https://github.com/php/php-src @@ -8976,18 +8640,99 @@ softwarePackages: - php-snmp - php-sqlite3 - php-xml - postgresql: - _bin: postgresql - _name: PostgreSQL - _github: https://github.com/postgres/postgres - _service: postgresql - _service:brew: postgresql@14 - brew: postgresql - zypper: postgresql - pacman: postgresql - apt: postgresql - dnf: postgresql - choco: postgresql + phpmon: + _app: PHP Monitor.app + _bin: phpmon + _github: https://github.com/nicoverbruggen/phpmon + _name: PHP Mon + _pre: | + #!/usr/bin/env bash + if ! command -v valet > /dev/null; then + if ! command -v composer > /dev/null; then + brew install composer + fi + composer global require laravel/valet + valet install + valet trust + fi + cask: nicoverbruggen/homebrew-cask/phpmon + pick: + _bin: pick + _github: https://github.com/mptre/pick + _name: Pick + apt: pick + brew: pick + dnf: pick + emerge: pick + pkg-freebsd: pick + pkg_add: pick + port: pick + xbps: pick + yay: pick + pidcat: + _bin: pidcat + _github: https://github.com/JakeWharton/pidcat + _name: PidCat + brew: pidcat + pieces: + _app: Pieces.app + _bin: pieces-for-developers + _desc: Pieces is a first-in-kind productivity suite that optimizes developer tools and eliminates the chaos of context switching. + _docs: https://docs.pieces.app/ + _github: false + _home: https://pieces.app/ + _name: Pieces + appinstaller: https://builds.pieces.app/stages/production/appinstaller/pieces_for_x.appinstaller + cask: pieces + exe: https://builds.pieces.app/stages/production/pieces_for_x/windows-exe/download + snap: pieces-for-developers + pieces-cli: + _bin: pieces + _desc: Pieces is a first-in-kind productivity suite that optimizes developer tools and eliminates the chaos of context switching. + _docs: https://docs.pieces.app/ + _github: false + _home: https://pieces.app/ + _name: Pieces CLI + cask: pieces-cli + pieces-os: + _app: Pieces.app + _bin: pieces-os + _docs: https://docs.pieces.app/ + _env: + PIECES_OS_APPDATA: + cask: "$HOME/Library/Application Support/com.pieces.os" + snap: "TODO" + _github: false + _home: https://pieces.app/ + _name: Pieces OS + _note: Waiting for choco package + _post:snap: | + #!/usr/bin/env bash + sudo snap connect pieces-os:dotnet-runtime-aspnetcore + appinstaller: https://builds.pieces.app/stages/production/appinstaller/os_server.appinstaller + cask: pieces-os + exe: https://builds.pieces.app/stages/production/os_server/windows-exe/download + snap: pieces-os + pigz: + _bin: pigz + _github: https://github.com/madler/pigz + _name: PIGZ + apt: pigz + brew: pigz + dnf: pigz + pacman: pigz + pika: + _app: Pika.app + _bin: null + _desc: An open-source colour picker app for macOS + _docs: https://github.com/superhighfives/pika + _github: https://github.com/superhighfives/pika + _home: https://superhighfives.com/pika + _name: Pika + cask: pika + pinapp: + _bin: pinapp + flatpak: io.github.fabrialberio.pinapp pip: _bin: pip _desc: '[pip](https://pypi.org/project/pip/) is a package-management system written in Python used to install and manage software packages. It connects to an online repository of public and paid-for private packages, called the Python Package Index.' @@ -8996,6 +8741,20 @@ softwarePackages: _home: https://pip.pypa.io/en/stable/ _name: PIP ansible: professormanhattan.pip + pipedream-cli: + _bin: pd + _desc: Connect APIs, remarkably fast. Free for developers. + _docs: https://pipedream.com/docs/cli/reference/ + _github: https://github.com/PipedreamHQ/pipedream + _home: https://pipedream.com/ + _name: Pipedream CLI + brew: pipedreamhq/pd-cli/pipedream + pipelight: + _bin: pipelight + _github: https://github.com/pipelight/pipelight + _name: Pipelight + cargo:linux: --git https://github.com/pipelight/pipelight + yay: pipelight pipx: _bin: pipx _desc: "[pipx](https://pypi.org/project/pipx/) is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt" @@ -9015,6 +8774,20 @@ softwarePackages: _home: null _name: pkg npm: pkg + pkgx: + _bin: pkgx + _desc: The next-generation, cross‐platform package manager + _docs: https://docs.pkgx.sh/ + _github: https://github.com/pkgxdev/pkgx + _home: https://pkgx.sh/ + _name: pkgx + brew: pkgxdev/made/pkgx + platformio: + _bin: platformio + _github: https://github.com/platformio/platformio-core + _name: PlatformIO + brew: platformio + pipx: platformio playwright: _bin: playwright _desc: '[Playwright](https://playwright.dev) enables reliable end-to-end testing for modern web apps. It allows testing Chromium, Firefox and WebKit with a single API' @@ -9023,51 +8796,40 @@ softwarePackages: _home: https://playwright.dev _name: Playwright npm: playwright + please: + _bin: plz + _desc: + _docs: + _github: + _home: + _name: Please + brew: thought-machine/please/please plex: + _app: Plex.app _bin: plex _desc: '[Plex](https://www.plex.tv/) is a global streaming service of free ad-supported video, with TV shows and movies from distributors such as Crackle, Warner Bros., MGM, Endemol Shine Group, Lionsgate, and Legendary. Plex is also a client–server media player system plus an ancillary software suite.' _github: false _home: https://www.plex.tv/ _name: Plex - _app: Plex.app ansible: professormanhattan.plex cask: plex choco: plex flatpak: tv.plex.PlexDesktop - pwnat: - _bin: pwnat - _github: https://github.com/samyk/pwnat - _name: pwnat - brew: pwnat - xdotool: - _bin: xdotool - _github: https://github.com/jordansissel/xdotool - _name: xdotool - _post:brew:darwin: | - #!/usr/bin/env bash - defaults write org.x.X11 enable_test_extensions -boolean true - apt: xdotool - brew: xdotool - dnf: xdotool - pacman: xdotool - pkg-freebsd: xdotool - port: xdotool - zypper: xdotool - jpegoptim: - _bin: jpegoptim - _github: https://github.com/tjko/jpegoptim - _name: JPEGOptim - apt: jpegoptim - brew: jpegoptim - choco: jpegoptim - dnf: jpegoptim - pacman: jpegoptim - zypper: jpegoptim + plex-htpc: + _app: Plex HTPC.app + _bin: plex-htpc + _github: false + _home: https://www.plex.tv/ + _name: Plex HTPC + cask: plex-htpc + choco: plex-home-theater + flatpak: tv.plex.PlexHTPC + snap: plex-htpc plex-media-server: + _app: Plex Media Server.app _bin: plex-media-server _github: false _name: Plex Media Server - _app: Plex Media Server.app _ports: - port: 32400 proto: tcp @@ -9087,21 +8849,120 @@ softwarePackages: choco: plexmediaserver snap: plexmediaserver yay: plex-media-server - plex-htpc: - _bin: plex-htpc - _github: false - _home: https://www.plex.tv/ - _name: Plex HTPC - _app: Plex HTPC.app - cask: plex-htpc - choco: plex-home-theater - flatpak: tv.plex.PlexHTPC - snap: plex-htpc - forever: - _bin: forever - _github: https://github.com/foreversd/forever - _name: Forever - npm: forever + plumber: + _bin: plumber + _github: https://github.com/streamdal/plumber + _name: Plumber + brew: streamdal/public/plumber + exe: https://github.com/streamdal/plumber/releases/latest/download/plumber-windows.exe + plymouth: + _post: | + #!/usr/bin/env bash + # @file Plymouth Theme / Configuration + # @brief Configures Plymouth to use a custom theme + # @description + # This script installs Plymouth and then configures it to use our custom Betelgeuse theme. + + ### Create /etc/plymouth/plymouthd.conf + if [ -f /etc/plymouth/plymouthd.conf ]; then + ### Back up original plymouthd.conf + if [ ! -f /etc/plymouth/plymouthd.conf.bak ]; then + logg info 'Backing up /etc/plymouth/plymouthd.conf to /etc/plymouth/plymouthd.conf.bak' + sudo cp -f /etc/plymouth/plymouthd.conf /etc/plymouth/plymouthd.conf.bak + fi + + ### Create new plymouthd.conf + logg info 'Populating the /etc/plymouth/plymouthd.conf file' + echo "[Daemon]" | sudo tee /etc/plymouth/plymouthd.conf > /dev/null + echo "Theme={{ .theme }}" | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null + echo "ShowDelay=1" | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null + fi + + ### Apply update-alternatives + if command -v update-alternatives > /dev/null; then + if [ -f "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" ]; then + sudo update-alternatives --install /usr/share/plymouth/themes/default.plymouth default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" 100 + logg success 'Installed default.plymouth' + # Required sometimes + sudo update-alternatives --set default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" + logg success 'Set default.plymouth' + else + logg warn "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth does not exist!" + fi + else + logg warn 'update-alternatives is not available' + fi + + ### Update /etc/plymouth/plymouthd.conf + # Replaced by code above + # if [ -f /etc/plymouth/plymouthd.conf ]; then + # logg info 'Setting ShowDelay=1 in /etc/plymouth/plymouthd.conf' + # if cat /etc/plymouth/plymouthd.conf | grep ShowDelay; then + # sudo sed -i 's/^ShowDelay=.*/ShowDelay=1/' /etc/plymouth/plymouthd.conf + # else + # echo 'ShowDelay=1' | sudo tee -a /etc/plymouth/plymouthd.conf > /dev/null + # fi + # else + # logg warn '/etc/plymouth/plymouthd.conf does not exist!' + # fi + + ### Symlink /usr/local/share/plymouth/themes to /usr/share/plymouth/themes + if [ ! -d '/usr/share/plymouth/themes/{{ .theme }}' ]; then + logg info 'Symlinking /usr/local/share/plymouth/themes/{{ .theme }} to /usr/share/plymouth/themes/{{ .theme }}' + sudo ln -s '/usr/local/share/plymouth/themes/{{ .theme }}' '/usr/share/plymouth/themes/{{ .theme }}' + fi + + ### Set default Plymouth theme + if command -v plymouth-set-default-theme > /dev/null; then + sudo plymouth-set-default-theme -R '{{ .theme }}' || EXIT_CODE=$? + if [ -n "$EXIT_CODE" ]; then + logg warn 'There may have been an issue while setting the Plymouth default theme with plymouth-set-default-theme' + else + logg success 'Set Plymouth default theme with plymouth-set-default-theme' + fi + else + logg warn 'Could not apply default Plymouth theme because plymouth-set-default-theme is missing' + fi + + ### Apply update-alternatives (again - required sometimes) + if command -v update-alternatives > /dev/null; then + if [ -f "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" ]; then + # Required sometimes + sudo update-alternatives --set default.plymouth "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth" + logg success 'Set default.plymouth (second time is required sometimes)' + else + logg warn "/usr/local/share/plymouth/themes/{{ .theme }}/{{ .theme }}.plymouth does not exist!" + fi + else + logg warn 'update-alternatives is not available' + fi + + ### Update kernel / initrd images + # Set `export DEBUG_MODE=true` to bypass GRUB2 / Plymouth application + if [ "$DEBUG_MODE" != 'true' ]; then + if command -v update-initramfs > /dev/null; then + logg info 'Running sudo update-initramfs -u' + sudo update-initramfs -u + logg success 'Updated kernel / initrd images for Plymouth' + elif command -v dracut > /dev/null; then + logg info 'Running sudo dracut --regenerate-all -f' + sudo dracut --regenerate-all -f + logg success 'Updated kernel / initrd images for Plymouth' + else + logg warn 'Unable to update kernel / initrd images because neither update-initramfs or dracut are available' + fi + fi + apt: + - libplymouth5 + - plymouth + - plymouth-themes + - plymouth-label + dnf: + - plymouth + # - plymouth-x11 + - plymouth-plugin-script + pacman: + - plymouth pm2: _bin: pm2 _desc: PM2 is a production process manager for Node.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks @@ -9130,20 +8991,27 @@ softwarePackages: _home: null _name: null npm: pnpm-lock-export - stacer: - _bin: stacer - _desc: Popular desktop GUI for monitoring and cleaning Linux systems. - _docs: https://github.com/oguzhaninan/Stacer/blob/native/README.md - _github: https://github.com/oguzhaninan/Stacer - _home: https://oguzhaninan.github.io/Stacer-Web/ - _name: Stacer - appimage: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/Stacer-1.1.0-x64.AppImage - apt: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/stacer_1.1.0_amd64.deb - apt:debian: stacer - apt:ubuntu: stacer - dnf: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/stacer-1.1.0-amd64.rpm - dnf:fedora: stacer - yay: stacer + pock: + _app: Pock.app + _bin: null + _desc: Widgets manager for MacBook Touch Bar + _docs: https://github.com/pock/pock + _github: https://github.com/pock/pock + _home: https://pock.app/ + _name: Pock + cask: pock + podman: + _bin: podman + _github: https://github.com/containers/podman + _name: Podman + apk: podman + apt: podman + bitbake: podman + brew: podman + dnf: podman + emerge: app-containers/podman + pacman: podman + zypper: podman poetry: _bin: poetry _desc: '[Poetry](https://python-poetry.org) helps you declare, manage and install dependencies of Python projects, ensuring you have the right stack everywhere.' @@ -9154,19 +9022,16 @@ softwarePackages: ansible: professormanhattan.poetry brew: poetry yay: python-poetry-git - lighthouse: - _bin: lighthouse - _github: https://github.com/GoogleChrome/lighthouse - _name: Lighthouse - npm: lighthouse - jest: - _bin: jest - _desc: Delightful JavaScript testing. - _docs: https://jestjs.io/docs/getting-started - _github: https://github.com/jestjs/jest - _home: https://jestjs.io/ - _name: Jest - npm: jest + polybar: + _bin: polybar + _github: https://github.com/polybar/polybar + _name: Polybar + apt: polybar + dnf: polybar + pacman: polybar + pkg-freebsd: polybar + xbps: polybar + zypper: polybar pony: _bin: pony _desc: Local file-based password, API key, secret, recovery code store backed by GPG @@ -9176,16 +9041,29 @@ softwarePackages: _name: pony github: github.com/jessfraz/pony go: github.com/jessfraz/pony@latest - firewall-applet: - _bin: firewall-applet - apt: firewall-applet - dnf: firewall-applet - pacman: firewall-applet - firewall-config: - _bin: firewall-config - apt: firewall-config - dnf: firewall-config - pacman: firewall-config + poppler: + brew: poppler + portal: + _bin: portal + _desc: Portal is a quick and easy command-line file transfer utility from any computer to another + _docs: https://github.com/SpatiumPortae/portal + _github: https://github.com/SpatiumPortae/portal + _home: https://portal.spatiumportae.com/ + _name: Portal + brew: portal + scoop: portal + winget: SpatiumPortae.portal + yay: portal-bin + porter: + _bin: porter + _desc: Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command. + _docs: https://getporter.org/docs/ + _github: https://github.com/getporter/porter + _home: https://getporter.org/ + _name: Porter + script:darwin: curl -L https://cdn.porter.sh/latest/install-mac.sh | bash + script:linux: curl -L https://cdn.porter.sh/latest/install-linux.sh | bash + script:windows: iwr "https://cdn.porter.sh/latest/install-windows.ps1" -UseBasicParsing | iex portmaster: _bin: null _desc: "[Portmaster](https://safing.io/portmaster/) is a free and open-source application that puts you back in charge over all your computer's network connections." @@ -9201,24 +9079,203 @@ softwarePackages: dnf: https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.rpm exe: https://updates.safing.io/latest/windows_amd64/packages/portmaster-installer.exe scoop: portmaster-np - pake: - _bin: pake - npm: pake-cli + postfix: + _bin: postfix + _desc: Postfix is an e-mail server that can be used to send e-mail + _docs: https://www.postfix.org/documentation.html + _github: https://github.com/vdukhovni/postfix + _home: https://www.postfix.org/ + _name: Postfix + _post: | + #!/usr/bin/env bash + # @file SendGrid Postfix Configuration + # @brief Configures Postfix to use SendGrid as a relay host so you can use the `mail` program to send e-mail from the command-line + # @description + # This script follows the instructions from [SendGrid's documentation on integrating Postfix](https://docs.sendgrid.com/for-developers/sending-email/postfix). + # After this script runs, you should be able to send outgoing e-mails using SendGrid as an SMTP handler. In other words, you will + # be able to use the `mail` CLI command to send e-mails. The following is an example mailing the contents of `~/.bashrc` to `name@email.com`: + # + # ```shell + # cat ~/.bashrc | mail -s "My subject" name@email.com + # ``` + + if [ -n "$SENDGRID_API_KEY" ] && [ "$SENDGRID_API_KEY" != "" ]; then + if command -v postfix > /dev/null; then + ### Ensure dependencies are installed + if command -v apt-get > /dev/null; then + logg info 'Installing libsasl2-modules' + sudo apt-get update + sudo apt-get install -y libsasl2-modules || EXIT_CODE=$? + elif command -v dnf > /dev/null; then + sudo dnf install -y cyrus-sasl-plain || EXIT_CODE=$? + elif command -v yum > /dev/null; then + sudo yum install -y cyrus-sasl-plain || EXIT_CODE=$? + fi + if [ -n "$EXIT_CODE" ]; then + logg warn 'There was an error ensuring the Postfix-SendGrid dependencies were installed' + fi + + if [ -d /etc/postfix ]; then + ### Add the SendGrid Postfix settings to the Postfix configuration + if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf" ]; then + CONFIG_FILE=/etc/postfix/main.cf + if cat "$CONFIG_FILE" | grep '### INSTALL DOCTOR MANAGED' > /dev/null; then + logg info 'Removing Install Doctor-managed block of code in /etc/postfix/main.cf block' + START_LINE="$(echo `grep -n -m 1 "### INSTALL DOCTOR MANAGED ### START" "$CONFIG_FILE" | cut -f1 -d ":"`)" + END_LINE="$(echo `grep -n -m 1 "### INSTALL DOCTOR MANAGED ### END" "$CONFIG_FILE" | cut -f1 -d ":"`)" + if [ -n "$START_LINE" ] && [ -n "$END_LINE" ]; then + if command -v gsed > /dev/null; then + sudo gsed -i "${START_LINE},${END_LINE}d" "$CONFIG_FILE" + else + sudo sed -i "${START_LINE},${END_LINE}d" "$CONFIG_FILE" + fi + else + logg info 'No start-line or end-line detected - configuration appears to already be clean' + fi + fi + + ### Add Postfix main configuration + logg "Adding the following configuration from ${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf to /etc/postfix/main.cf" + cat "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf" | sudo tee -a "$CONFIG_FILE" > /dev/null + echo "" | sudo tee -a "$CONFIG_FILE" > /dev/null + fi + + ### Ensure proper permissions on `sasl_passwd` and update Postfix hashmaps + if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd" ]; then + logg info "Copying file from ${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd to /etc/postfix/sasl_passwd" + sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd" /etc/postfix/sasl_passwd + logg info 'Assigning proper permissions to /etc/postfix/sasl_passwd' + sudo chmod 600 /etc/postfix/sasl_passwd + logg info 'Updating Postfix hashmaps for /etc/postfix/sasl_passwd' + sudo postmap /etc/postfix/sasl_passwd + else + logg warn '~/.config/postfix/sasl_passwd file is missing' + fi + + ### Forward root e-mails + if [ -d /root ]; then + logg info "Forwarding root e-mails to $PRIMARY_EMAIL" + echo "$PRIMARY_EMAIL" | sudo tee /root/.forward > /dev/null || logg error 'Failed to set root user .forward file' + elif [ -d /var/root ]; then + logg info "Forwarding root e-mails to $PRIMARY_EMAIL" + echo "$PRIMARY_EMAIL" | sudo tee /var/root/.forward > /dev/null || logg error 'Failed to set root user .forward file' + else + logg warn 'Unable to identify root user home directory' + fi + + ### Ensure /etc/postfix/header_checks exists + if [ ! -d /etc/postfix/header_checks ]; then + logg info 'Creating /etc/postfix/header_checks since it does not exist' + sudo touch /etc/postfix/header_checks + fi + + ### Re-write header From for SendGrid + if ! cat /etc/postfix/header_checks | grep "no-reply@${PUBLIC_SERVICES_DOMAIN}" > /dev/null; then + logg info 'Added From REPLACE to /etc/postfix/header_checks' + echo "/^From:.*@${PUBLIC_SERVICES_DOMAIN}/ REPLACE From: no-reply@${PUBLIC_SERVICES_DOMAIN}" | sudo tee -a /etc/postfix/header_checks > /dev/null + fi + + ### Update aliases + if [ -f /etc/aliases ]; then + logg info "Forward root e-mails to $PRIMARY_EMAIL" + ALIASES_TMP="$(mktemp)" + logg info "Setting $PRIMARY_EMAIL as root e-mail in temporary file" + sudo sed "s/#root.*/root:\ $PRIMARY_EMAIL/" /etc/aliases > "$ALIASES_TMP" + logg info 'Moving temporary file to /etc/aliases' + sudo mv -f "$ALIASES_TMP" /etc/aliases + if ! cat /etc/aliases | grep "$USER_USERNAME: root" > /dev/null; then + logg info 'Forward user e-mail to root@localhost' + echo "$USER_USERNAME: root" | sudo tee -a /etc/aliases > /dev/null + fi + + ### Ensure old /etc/aliases.db is removed + if [ -f /etc/aliases.db ]; then + logg info 'Ensuring /etc/aliases.db is removed' && sudo rm -f /etc/aliases.db + else + logg info '/etc/aliases.db was not found' + fi + + ### Re-generate the /etc/aliases.db file + if [ -f /etc/aliases ]; then + logg info 'Ensuring proper permissions on the /etc/aliases file' && sudo chown $(stat -c "%U:%G" /etc/sudoers) /etc/aliases + logg info 'Generating Postfix aliases' && sudo postalias /etc/aliases > /dev/null + else + logg warn '/etc/aliases is missing which is required for Postfix' + fi + # The `sudo newaliases` mode is probably used to regenerate the /etc/aliases.db + # but since we are removing it to ensure proper permissions, this method is commented out. + # logg info 'Running newaliases to regenerate the alias database' && sudo newaliases + else + logg warn '/etc/aliases does not appear to exist' + fi + + if [ -d /Applications ] && [ -d /System ]; then + ### macOS + # Source: https://budiirawan.com/install-mail-server-mac-osx/ + if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/com.apple.postfix.master.plist" ] && ! sudo launchctl list | grep 'postfix.master' > /dev/null; then + logg info 'Copying com.apple.postfix.master.plist' + sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/com.apple.postfix.master.plist" /System/Library/LaunchDaemons/com.apple.postfix.master.plist + sudo launchctl load /System/Library/LaunchDaemons/com.apple.postfix.master.plist && logg success 'launchctl load of com.apple.postfix.master successful' + fi + if ! sudo postfix status > /dev/null; then + logg info 'Starting postfix' + sudo postfix start > /dev/null + else + logg info 'Reloading postfix' + sudo postfix reload > /dev/null + fi + else + ### Enable / restart postfix on Linux + logg info 'Enabling / restarting postfix' + sudo systemctl enable postfix + sudo systemctl restart postfix + fi + else + logg warn '/etc/postfix is not a directory! Skipping SendGrid Postfix setup.' + fi + else + logg info 'Skipping Postfix configuration because Postfix is not installed' + fi + fi + apt: postfix + dnf: postfix + pacman: postfix + port: postfix + script:darwin: echo "Postfix is included by macOS already" + postgresql: + _bin: postgresql + _github: https://github.com/postgres/postgres + _name: PostgreSQL + _service: postgresql + _service:brew: postgresql@14 + apt: postgresql + brew: postgresql + choco: postgresql + dnf: postgresql + pacman: postgresql + zypper: postgresql postman: + _app: Postman.app _bin: postman _desc: "[Postman](https://www.postman.com/) is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs — faster." _docs: https://learning.postman.com/docs/getting-started/introduction/ _github: null _home: https://www.postman.com/ _name: Postman - _app: Postman.app ansible: professormanhattan.postman cask: postman choco: postman flatpak: com.getpostman.Postman snap: postman yay: postman-bin + powerline: + _bin: powerline + apt: powerline + dnf: powerline + pacman: powerline + pipx: powerline-status powershell: + _app: PowerShell.app _bin: powershell _desc: '[PowerShell](https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.1) is a task automation and configuration management framework from Microsoft, consisting of a command-line shell and the associated scripting language. Initially a Windows component only, known as Windows PowerShell, it was made open-source and cross-platform in 2016 with the introduction of PowerShell Core.' _docs: https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7.1 @@ -9228,10 +9285,15 @@ softwarePackages: _post:cask: | #!/usr/bin/env bash brew install mono-libgdiplus - _app: PowerShell.app ansible: professormanhattan.powershell cask: powershell snap: powershell --classic + pppc-utility: + _app: PPPC Utility.app + _bin: pppc-utility + _github: https://github.com/jamf/PPPC-Utility + _name: Privacy Preferences Policy Control (PPPC) Utility + cask: pppc-utility pre-commit: _bin: pre-commit _desc: Automatically installs a git pre-commit script in your git repository which runs your `npm test` on pre-commit @@ -9241,6 +9303,11 @@ softwarePackages: _name: pre-commit brew: pre-commit pipx: pre-commit + prefsniff: + _bin: prefsniff + _github: https://github.com/zcutlip/prefsniff + _name: PrefSniff + pipx: prefsniff prepare: _bin: null _desc: An Ansible Role that prepares hosts for playbook execution @@ -9249,26 +9316,6 @@ softwarePackages: _home: null _name: null ansible: professormanhattan.prepare - htmlhint: - _bin: htmlhint - _desc: The static code analysis tool you need for your HTML - _docs: https://htmlhint.com/docs/user-guide/getting-started - _github: https://github.com/htmlhint/HTMLHint - _home: https://htmlhint.com/ - _name: HTMLHint - npm: htmlhint - xz: - _bin: xz - _github: https://github.com/xz-mirror/xz - _name: xz - apk: xz - apt: xz - brew: xz - choco: xz - dnf: xz - pacman: xz - port: xz - scoop: xz prettier: _bin: prettier _desc: '[Prettier](https://prettier.io/docs/en/index.html) is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary' @@ -9288,6 +9335,9 @@ softwarePackages: brew: fsouza/prettierd/prettierd npm: '@fsouza/prettierd' pretzel: + _app: Pretzel.app + # cask: pretzel + _bin: null _desc: Pretzel is Mac desktop app that shows and find keyboard shortcuts based on your current app _docs: https://github.com/amiechen/pretzel @@ -9295,8 +9345,46 @@ softwarePackages: _home: https://github.com/amiechen/pretzel _name: Pretzel _todo: Waiting for SHASUM error on Homebrew cask to resolve - _app: Pretzel.app - # cask: pretzel + prezi-video: + _app: Prezi Video.app + _bin: prezi-video + _github: null + _name: Prezi Video + cask: prezi-video + privaxy: + _app: Privaxy.app + _bin: privaxy + _desc: Privaxy is the next generation tracker and advertisement blocker. It blocks ads and trackers by MITMing HTTP(s) traffic. + _docs: false + _github: https://github.com/Barre/privaxy + _home: false + _name: Privaxy + appimage: barre/privaxy + apt: https://github.com/Barre/privaxy/releases/download/v0.5.2/privaxy_0.5.2_amd64.deb + script:darwin: curl -sSL https://github.com/Barre/privaxy/releases/download/v0.5.2/Privaxy_0.5.2_universal.dmg > /tmp/Privaxy.dmg && sudo hdiutil attach /tmp/Privaxy.dmg && sudo cp -R /Volumes/Privaxy/Privaxy.app /Applications && sudo hdiutil detach /Volumes/Privaxy && rm -f /tmp/Privaxy.dmg + privileges: + _app: Privileges.app + _bin: privileges + _github: https://github.com/SAP/macOS-enterprise-privileges + _name: Privileges + cask: privileges + privoxy: + _bin: privoxy + _desc: Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk + _docs: https://www.privoxy.org/user-manual/index.html + _github: null + _groups: + - privoxy + _home: https://www.privoxy.org/ + _name: Privoxy + _post: "#!/usr/bin/env bash\n# @file Privoxy Configuration\n# @brief This script applies the Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system and then restarts Privoxy\n# @description\n# Privoxy is a web proxy that can be combined with Tor to provide an HTTPS / HTTP proxy that can funnel all traffic\n# through Tor. This script:\n#\n# 1. Determines the system configuration file location\n# 2. Applies the configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config`\n# 3. Enables and restarts the Privoxy service with the new configuration\n#\n# ## Links\n#\n# * [Privoxy configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/privoxy/config)\n\n### Define the Privoxy configuration location based on whether system is macOS or Linux\nif [ -d /Applications ] && [ -d /System ]; then\n ### macOS\n if [ -d \"/usr/local/etc/privoxy\" ]; then\n PRIVOXY_CONFIG_DIR=/usr/local/etc/privoxy\n elif [ -d \"${HOMEBREW_PREFIX:-/opt/homebrew}/etc/privoxy\" ]; then\n PRIVOXY_CONFIG_DIR=\"${HOMEBREW_PREFIX:-/opt/homebrew}/etc/privoxy\"\n else\n logg warn 'Unable to detect Privoxy configuration directory'\n fi\nelse\n ### Linux\n PRIVOXY_CONFIG_DIR=/etc/privoxy\nfi\nPRIVOXY_CONFIG=\"$PRIVOXY_CONFIG_DIR/config\"\n\n### Copy Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system location\nif command -v privoxy > /dev/null; then\n if [ -d \"$PRIVOXY_CONFIG_DIR\" ]; then\n sudo cp -f \"${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config\" \"$PRIVOXY_CONFIG\"\n sudo chmod 600 \"$PRIVOXY_CONFIG\"\n if command -v add-usergroup > /dev/null; then\n sudo add-usergroup \"$USER\" privoxy\n fi\n sudo chown privoxy:privoxy \"$PRIVOXY_CONFIG\" 2> /dev/null || sudo chown privoxy:$(id -g -n) \"$PRIVOXY_CONFIG\"\n \n ### Restart Privoxy after configuration is applied\n if [ -d /Applications ] && [ -d /System ]; then\n ### macOS\n brew services restart privoxy\n else\n if [[ ! \"$(test -d /proc && grep Microsoft /proc/version > /dev/null)\" ]]; then\n ### Linux\n sudo systemctl enable privoxy\n sudo systemctl restart privoxy\n else\n logg info 'The system is a WSL environment so the Privoxy systemd service will not be enabled / restarted'\n fi\n fi\n else\n logg warn 'The '\"$PRIVOXY_CONFIG_DIR\"' directory is missing'\n fi\nelse\n logg logg 'privoxy is missing from the PATH - skipping configuration'\nfi\n" + _service: privoxy + _serviceEnabled: true + apt: privoxy + brew: privoxy + dnf: privoxy + pacman: privoxy + port: privoxy procs: _bin: procs _desc: A modern replacement for ps written in Rust @@ -9312,15 +9400,45 @@ softwarePackages: pacman: procs scoop: procs snap: procs - gnome: - _bin: gnome - _github: https://github.com/GNOME/gnome-shell - _name: GNOME - apt: gnome - dnf: gnome - pacman: gnome - zypper: gnome + profilecreator: + _app: ProfileCreator.app + _bin: null + _desc: Profile manifest creator GUI for macOS + _docs: https://github.com/ProfileCreator/ProfileCreator + _github: https://github.com/ProfileCreator/ProfileCreator + _home: https://github.com/ProfileCreator/ProfileCreator + _name: Profile Creator + cask: profilecreator + mas: 2141249187 + progress: + _bin: progress + _github: https://github.com/Xfennec/progress + _name: Progress + apt: progress + brew: progress + dnf: progress + pacman: progress + port: progress + zypper: progress + projen: + _bin: projen + _github: https://github.com/projen/projen + _name: Projen + npm: projen + protonmail-bridge: + _app: Proton Mail Bridge.app + _bin: protonmail-bridge + cask: protonmail-bridge + choco: protonmailbridge + flatpak: ch.protonmail.protonmail-bridge + yay: protonmail-bridge + protonmail-import-export: + _app: ProtonMail Import-Export app.app + _bin: protonmail-import-export + cask: protonmail-import-export + flatpak: ch.protonmail.protonmail-import-export-app protonvpn: + _app: ProtonVPN.app _bin: protonvpn _desc: '[Proton](https://www.proton.org/) is a free and open-source raster graphics editor used for image manipulation and image editing, free-form drawing, transcoding between different image file formats, and more specialized tasks. Proton is released under GPLv3+ license and is available for Linux, macOS, and Microsoft Windows.' _docs: https://protonmail.com/support/ @@ -9339,7 +9457,6 @@ softwarePackages: _pre:dnf: | #!/usr/bin/env bash sudo dnf install -y https://repo.protonvpn.com/fedora-36-stable/release-packages/protonvpn-stable-release-1.0.1-1.noarch.rpm && sudo dnf update - _app: ProtonVPN.app # ansible: professormanhattan.proton apt: - gir1.2-appindicator3-0.1 @@ -9355,10 +9472,10 @@ softwarePackages: - protonvpn yay: protonvpn protonvpn-cli: + _bin: protonvpn _deps:script:darwin: - dialog - openvpn - _bin: protonvpn _desc: The ProtonVPN CLI official release for Linux along with an unofficial ProtonVPN CLI for macOS _docs: null _github: null @@ -9373,44 +9490,17 @@ softwarePackages: sudo git clone https://github.com/phx/protonvpn-cli-macos /usr/local/src/protonvpn-cli cd /usr/local/src/protonvpn-cli && pip3 install -r requirements.txt sudo python3 setup.py install - openvpn: - _bin: openvpn - _github: https://github.com/OpenVPN/openvpn - _name: OpenVPN - _service: openvpn - _service:brew: - - name: openvpn - sudo: true - apt: openvpn - dnf: openvpn - pacman: openvpn - choco: openvpn - brew: openvpn - dialog: - _bin: dialog - _github: false - _home: https://invisible-island.net/dialog/ - _name: Dialog - apt: dialog - dnf: dialog - pacman: dialog - choco: dialog - brew: dialog - protonmail-bridge: - _bin: protonmail-bridge - _app: Proton Mail Bridge.app - cask: protonmail-bridge - choco: protonmailbridge - flatpak: ch.protonmail.protonmail-bridge - yay: protonmail-bridge - protonmail-import-export: - _bin: protonmail-import-export - _app: ProtonMail Import-Export app.app - cask: protonmail-import-export - flatpak: ch.protonmail.protonmail-import-export-app - bottles: - _bin: bottles - flatpak: com.usebottles.bottles + provisionql: + _github: https://github.com/ealeksandrov/ProvisionQL + _name: ProvisionQL + _when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"' + cask: provisionql + proxyman: + _app: Proxyman.app + _bin: proxyman-cli + _github: https://github.com/ProxymanApp/Proxyman + _name: Proxyman + cask: proxyman psi: _bin: psi _desc: Run mobile and desktop performance tests for your deployed site using Google PageSpeed Insights v5 with tidy reporting for your build process @@ -9419,6 +9509,11 @@ softwarePackages: _home: null _name: psi npm: psi + psscriptanalyzer: + _bin: psscriptanalyzer + _github: https://github.com/PowerShell/PSScriptAnalyzer + _name: PSScriptAnalyzer + choco: psscriptanalyzer psu: _bin: portainer-stack-utils _desc: CLI client for Portainer @@ -9427,6 +9522,26 @@ softwarePackages: _home: https://hub.docker.com/r/greenled/portainer-stack-utils/ _name: psu go: github.com/greenled/portainer-stack-utils@master + pueue: + _bin: pueue + _github: https://github.com/Nukesor/pueue + _name: Pueue + _service: pueue + apk: pueue + apt: pueue + brew: pueue + cargo: pueue --locked + dnf: pueue + pacman: pueue + pulumi: + _bin: pulumi + _desc: Pulumi - Infrastructure as Code in any programming language. Build infrastructure intuitively on any cloud using familiar languages + _docs: https://www.pulumi.com/docs/quickstart/ + _github: https://github.com/pulumi/pulumi + _home: https://www.pulumi.com/ + _name: Pulumi + brew: pulumi/tap/pulumi + choco: pulumi pup: _bin: pup _desc: '[pup](https://github.com/ericchiang/pup) is a command line tool for processing HTML. It reads from stdin, prints to stdout, and allows the user to filter parts of the page using CSS selectors.' @@ -9438,6 +9553,19 @@ softwarePackages: brew: pup github: github.com/ericchiang/pup go: github.com/ericchiang/pup@latest + pushpin: + _bin: pushpin + _github: https://github.com/fastly/pushpin + _name: Pushpin + brew: pushpin + pv: + _bin: pv + apt: pv + pwnat: + _bin: pwnat + _github: https://github.com/samyk/pwnat + _name: pwnat + brew: pwnat python: _bin: python3 _desc: null @@ -9478,14 +9606,19 @@ softwarePackages: brew: pywhat pipx: pywhat port: pywhat + pywin32: + _bin: pywin32 + _github: https://github.com/mhammond/pywin32 + _name: Pywin32 + pipx:windows: pywin32 qbittorrent: + _app: qBittorrent.app _bin: qbittorrent _desc: '[qBittorrent](https://www.qbittorrent.org/) is a cross-platform free and open-source BitTorrent client. qBittorrent is a native application written in C++. It uses Boost, Qt 5 toolkit, and libtorrent-rasterbar library. Its optional search engine is written in Python.' _docs: https://github.com/qbittorrent/qBittorrent/wiki _github: https://github.com/qbittorrent/qBittorrent _home: https://www.qbittorrent.org/ _name: qBittorrent - _app: qBittorrent.app ansible: professormanhattan.qbittorrent apt: qbittorrent cask: qbittorrent @@ -9494,26 +9627,32 @@ softwarePackages: flatpak: org.qbittorrent.qBittorrent pacman: qbittorrent yay: qbittorrent-git - provisionql: - _github: https://github.com/ealeksandrov/ProvisionQL - _name: ProvisionQL - _when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"' - cask: provisionql qlcolorcode: _github: https://github.com/n8gray/QLColorCode _name: QLColorCode _when:cask: '! test -d "$HOME/Library/QuickLook/QLColorCode.qlgenerator"' cask: qlcolorcode - prefsniff: - _bin: prefsniff - _name: PrefSniff - _github: https://github.com/zcutlip/prefsniff - pipx: prefsniff qlmarkdown: _github: https://github.com/toland/qlmarkdown _name: QLMarkdown _when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"' cask: qlmarkdown + qlplugins: + _bin: null + _deps: + - provisionql + - qlcolorcode + - qlmarkdown + - qlstephen + - qlvideo + - quicklook-json + - quicklookapk + - webpquicklook + _desc: null + _docs: null + _github: null + _home: null + _name: null qlstephen: _github: https://github.com/whomwah/qlstephen _name: QLStephen @@ -9524,6 +9663,35 @@ softwarePackages: _name: QLVideo _when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"' cask: qlvideo + quark-engine: + _bin: quark + _desc: Dig Vulnerabilities in the BlackBox (requirement of APKLabs VSCode plugin) + _docs: https://quark-engine.readthedocs.io/en/latest/index.html + _github: https://github.com/quark-engine/quark-engine + _home: https://github.com/quark-engine/quark-engine + _name: Quark-Engine + pipx: quark-engine + quasar: + _bin: null + _desc: '[Quasar](https://github.com/quasar/Quasar) is a fast and light-weight remote administration tool coded in C#. The usage ranges from user support through day-to-day administrative work to employee monitoring. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.' + _docs: https://github.com/quasar/Quasar/wiki + _github: https://github.com/quasar/Quasar + _home: https://github.com/quasar/Quasar + _name: Quasar + ansible:windows: professormanhattan.quasar + quickemu: + _bin: quickemu + _github: https://github.com/quickemu-project/quickemu + _pre: | + #!/usr/bin/env bash + sudo apt-add-repository ppa:flexiondotorg/quickemu && sudo apt update + apt:ubuntu: quickemu + quickgui: + _github: https://github.com/quickemu-project/quickgui + _pre: | + #!/usr/bin/env bash + sudo add-apt-repository ppa:yannick-mauray/quickgui && sudo apt update + apt:ubuntu: quickgui quicklook-json: _github: false _name: QLJSON @@ -9534,35 +9702,11 @@ softwarePackages: _name: QLAPK _when:cask: '! test -d "$HOME/Library/QuickLook/QuickLookAPK.qlgenerator"' cask: quicklookapk - webpquicklook: - _github: https://github.com/emin/WebPQuickLook - _name: QLWebP - _when:cask: '! test -d "$HOME/Library/QuickLook/WebpQuickLook.qlgenerator"' - cask: webpquicklook - qlplugins: - _deps: - - provisionql - - qlcolorcode - - qlmarkdown - - qlstephen - - qlvideo - - quicklook-json - - quicklookapk - - webpquicklook - _bin: null - _desc: null - _docs: null - _github: null - _home: null - _name: null - quasar: - _bin: null - _desc: '[Quasar](https://github.com/quasar/Quasar) is a fast and light-weight remote administration tool coded in C#. The usage ranges from user support through day-to-day administrative work to employee monitoring. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.' - _docs: https://github.com/quasar/Quasar/wiki - _github: https://github.com/quasar/Quasar - _home: https://github.com/quasar/Quasar - _name: Quasar - ansible:windows: professormanhattan.quasar + quicktype: + _bin: quicktype + _github: https://github.com/quicktype/quicktype + _name: Quicktype + npm: quicktype ramda: _bin: ramda _desc: A CLI tool for processing data with functional pipelines @@ -9581,14 +9725,17 @@ softwarePackages: brew: rancher-cli github: github.com/rancher/cli yay: rancher-cli-bin + rancher-desktop: + _github: https://github.com/rancher-sandbox/rancher-desktop/ + cask: rancher raspberry-pi-imager: + _app: Raspberry Pi Imager.app _bin: rpi-imager _desc: '[Raspberry Pi Imager](https://www.raspberrypi.org/software/) is the quick and easy way to install Raspberry Pi OS and other operating systems to a microSD card, ready to use with your Raspberry Pi.' _docs: https://www.raspberrypi.com/documentation/computers/getting-started.html _github: https://github.com/raspberrypi/rpi-imager _home: https://www.raspberrypi.com/software/ _name: Raspberry Pi Imager - _app: Raspberry Pi Imager.app ansible: professormanhattan.raspberryimager cask: raspberry-pi-imager choco: rpi-imager @@ -9596,6 +9743,18 @@ softwarePackages: flatpak: org.raspberrypi.rpi-imager snap: rpi-imager yay: rpi-imager + raycast: + _app: Raycast.app + _bin: null + _desc: Everything you need to extend Raycast (the search provider for macOS) + _docs: https://developers.raycast.com/ + _env: + RAYCAST_APPDATA: + cask: "$HOME/Library/Application Support/com.raycast.macos" + _github: https://github.com/raycast/extensions + _home: https://www.raycast.com/ + _name: Raycast + cask: raycast rclone: _bin: rclone _desc: '[Rclone](https://rclone.org/) is an open source, multi threaded, command line computer program to manage content on cloud and other high latency storage. Its capabilities include sync, transfer, crypt, cache, union, compress and mount. The rclone website lists [fifty supported backends](https://rclone.org/overview/) including S3 services and Google Drive.' @@ -9777,6 +9936,30 @@ softwarePackages: curl https://rclone.org/install.sh > "$TMP" sudo bash "$TMP" rm -f "$TMP" + recoverpy: + _bin: recoverpy + _deps: + - coreutils + - grep + - progress + - util-linux + _desc: '[RecoverPy](https://github.com/PabloLec/RecoverPy) is a powerful tool that leverages your system capabilities to recover lost file. Unlike others, you can not only recover deleted files but also overwritten data.' + _docs: https://github.com/PabloLec/RecoverPy#usage + _github: https://github.com/PabloLec/RecoverPy + _home: https://github.com/PabloLec/RecoverPy + _name: RecoverPy + _when: echo '! pip3 list | grep recoverpy > /dev/null' | bash + ansible:linux: professormanhattan.recoverpy + script:linux: python3 -m pip install recoverpy + recuva: + _bin: recuva + _desc: Recuva recovers files from your Windows computer, recycle bin, digital camera card, or MP3 player! + _docs: https://www.ccleaner.com/recuva + _github: false + _home: https://www.ccleaner.com/recuva + _name: Recuva + choco: recuva + scoop: extras/recuva 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.' @@ -9788,189 +9971,58 @@ softwarePackages: flatpak: app.resp.RESP snap: redis-desktop-manager redis-insight: + _app: RedisInsight.app _bin: redis-insight _github: https://github.com/RedisInsight/RedisInsight _name: Redis Insight - _app: RedisInsight.app cask: redisinsight flatpak: com.redis.RedisInsight mas: 2142946629 - recoverpy: - _deps: - - coreutils - - grep - - progress - - util-linux - _bin: recoverpy - _desc: '[RecoverPy](https://github.com/PabloLec/RecoverPy) is a powerful tool that leverages your system capabilities to recover lost file. Unlike others, you can not only recover deleted files but also overwritten data.' - _docs: https://github.com/PabloLec/RecoverPy#usage - _github: https://github.com/PabloLec/RecoverPy - _home: https://github.com/PabloLec/RecoverPy - _name: RecoverPy - _when: echo '! pip3 list | grep recoverpy > /dev/null' | bash - ansible:linux: professormanhattan.recoverpy - script:linux: python3 -m pip install recoverpy - coreutils: - _bin: - - cat - - ls - - rm - _bin:darwin: gchown - apt: coreutils - brew: coreutils - dnf: coreutils - pacman: coreutils - grep: - _bin: grep - apt: grep - brew: grep - dnf: grep - pacman: grep - zypper: grep - wipe-modules: - _bin: wipe-modules - _github: https://github.com/bntzio/wipe-modules - _name: wipe-modules - npm: wipe-modules - progress: - _bin: progress - _github: https://github.com/Xfennec/progress - _name: Progress - apt: progress - brew: progress - dnf: progress - pacman: progress - zypper: progress - port: progress - util-linux: - _bin: - - cal - - chmem - - hexdump - apt: util-linux - dnf: util-linux - pacman: util-linux - remote-desktop: - _deps: - - gnome-boxes - - microsoft-remote-desktop - - remmina - - xrdp + reek: + _bin: reek + _github: https://github.com/troessner/reek + _name: Reek + gem: reek remmina: _bin: remmina _desc: Remmina is a GTK Remmina Remote Desktop Client which provides remote access, screen and file sharing to your desktop _docs: https://gitlab.com/Remmina/Remmina/-/wikis/home - _github: null - _home: https://remmina.org/ - _name: Remmina _env: REMMINA_APPDATA: flatpak: "$HOME/.var/app/org.remmina.Remmina/config/remmina/remmina.pref" snap: "$HOME/snap/remmina/current/.config/remmina/remmina.pref" + _github: null + _home: https://remmina.org/ + _name: Remmina apt: remmina dnf: remmina flatpak: org.remmina.Remmina pacman: remmina snap: remmina yay: remmina-git - microsoft-remote-desktop: - _bin: null - _desc: null - _docs: null - _github: null - _home: null - _name: Microsoft Remote Desktop - _app: Microsoft Remote Desktop.app - cask: microsoft-remote-desktop - mas: 1295203466 - aiac: - _bin: aiac - _github: https://github.com/gofireflyio/aiac - _name: AIAC - brew: gofireflyio/aiac/aiac - go: github.com/gofireflyio/aiac/v3@latest - firewalld: - _bin: firewall-cmd - _github: https://github.com/firewalld/firewalld - _name: FirewallD - _service: firewalld - _pre: | - #!/usr/bin/env bash - if command -v ufw > /dev/null; then sudo ufw disable; fi - _notes: https://computingforgeeks.com/install-and-use-firewalld-on-ubuntu/ - apt: firewalld - dnf: firewalld - emerge: net-firewall/firewalld - pacman: firewalld - zypper: firewalld - xrdp: - _bin: xrdp - _desc: null - _docs: null - _github: https://github.com/neutrinolabs/xrdp - _home: http://www.xrdp.org/ - _name: xrdp - _ports: - - port: 3389 - proto: tcp - _post: | - #!/usr/bin/env bash - sudo adduser xrdp ssl-cert - _service: xrdp - _service:yay: + remote-desktop: + _deps: + - gnome-boxes + - microsoft-remote-desktop + - remmina - xrdp - - xrdp-sesman - _note: Should work like professormanhattan.remotedesktop - apt: xrdp - dnf: xrdp - pacman: xrdp - zypper: xrdp - yay: xrdp - kasmvnc: - _bin: kasmvncpasswd - _github: https://github.com/kasmtech/KasmVNC - script:linux: | - RELEASES=$(curl -sS "https://api.github.com/repos/kasmtech/KasmVNC/releases/latest") || : - LATEST_VERSION=$(echo $RELEASES | grep -o '"tag_name": "[^"]*' | grep -o '[^"]*$') || : - if command -v apt-get > /dev/null; then - . /etc/os-release - cd /tmp - case $VERSION_CODENAME in - bullseye ) - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_bullseye_${LATEST_VERSION:1}_amd64.deb" || : - ;; - buster ) - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_buster_${LATEST_VERSION:1}_amd64.deb" || : - ;; - focal ) - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_focal_${LATEST_VERSION:1}_amd64.deb" || : - ;; - jammy ) - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_jammy_${LATEST_VERSION:1}_amd64.deb" || : - ;; - * ) - ;; - esac - if ls kasmvncserver*.deb > /dev/null 2>&1; then sudo apt-get install ./kasmvncserver_*.deb; sudo addgroup $USER ssl-cert; fi - elif command -v dnf > /dev/null; then - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_centos_core_${LATEST_VERSION:1}_x86_64.rpm" || : - if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo rpm -ivh ./kasmvncserver_*.rpm; sudo usermod -a -G kasmvnc-cert $USER; fi - elif command -v zypper > /dev/null; then - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvncserver_opensuse_15_${LATEST_VERSION:1}_x86_64.rpm" || : - if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo rpm -ivh ./kasmvncserver_*.rpm; sudo usermod -a -G kasmvnc-cert $USER; fi - elif command -v apk > /dev/null; then - wget "https://github.com/kasmtech/KasmVNC/releases/download/$LATEST_VERSION/kasmvnc.alpine_317_x86_64.tgz" || : - if ls kasmvncserver*.rpm > /dev/null 2>&1; then sudo tar -xzf "./kasmvnc.alpine_317_x86_64.tgz" -C /; fi - fi - yay: kasmvncserver-bin + repo: + _bin: repo + _github: false + _name: Repo + apt: repo + brew: repo + dnf: repo + pacman: repo + # TODO: Include Windows install method responsively: + _app: ResponsivelyApp.app _bin: null _desc: A modified web browser that helps in responsive web development _docs: null _github: https://github.com/responsively-org/responsively-app _home: null _name: Responsively - _app: ResponsivelyApp.app cask: responsively choco: responsively github: github.com/responsively-org/responsively-app @@ -9994,19 +10046,14 @@ softwarePackages: port: restic scoop: restic zypper: restic - gup: - _bin: gup - _github: - _name: Gup - brew: nao1215/tap/gup - go: github.com/nao1215/gup@latest - eget: - _bin: eget - _github: https://github.com/zyedidia/eget - _name: eget - brew: eget - choco: eget - go: github.com/zyedidia/eget@latest + resume: + _bin: resume + _desc: CLI tool to easily setup a new resume + _docs: https://jsonresume.org/getting-started/ + _github: https://github.com/jsonresume/resume-cli + _home: https://jsonresume.org/ + _name: JSON Resume CLI + npm: resume-cli ripgrep: _bin: rg _desc: '[ripgrep](https://github.com/BurntSushi/ripgrep) is a line-oriented search tool that recursively searches your current directory for a regex pattern. By default, ripgrep will respect your .gitignore and automatically skip hidden files/directories and binary files. This role also installs ripgrep-all. [ripgrep-all](https://github.com/phiresky/ripgrep-all) is just like ripgrep except it also searches in PDFs, E-Books, Office documents, zip, tar.gz, etc.' @@ -10087,6 +10134,14 @@ softwarePackages: cargo: rm-improved github: github.com/nivekuil/rip yay: rm-improved + robotframework: + _bin: robot + _desc: Generic automation framework for acceptance testing and RPA + _docs: https://robotframework.org/robotframework/#user-guide + _github: https://github.com/robotframework/robotframework + _home: https://robotframework.org/ + _name: Robot Framework + pipx: robotframework rofi: _bin: rofi _desc: Rofi is a window switcher, application launcher and dmenu replacement @@ -10111,6 +10166,28 @@ softwarePackages: brew: rsync choco: rsync dnf: rsync + rsyslog: + _bin: rsyslogd + _github: https://github.com/rsyslog/rsyslog + _name: RSyslog + _ports: + - port: 514 + proto: tcp + _service: rsyslog + apt: rsyslog + brew: rsyslog + dnf: rsyslog + pacman: rsyslog + rtop: + _bin: rtop + _github: https://github.com/rapidloop/rtop + _name: rtop + go: github.com/rapidloop/rtop@latest + rubocop: + _bin: rubocop + _github: https://github.com/rubocop/rubocop + _name: Rubocop + gem: rubocop ruby: _bin: ruby _desc: Ruby is an interpreted, high-level, general-purpose programming language which supports multiple programming paradigms. It was designed with an emphasis on programming productivity and simplicity. In Ruby, everything is an object, including primitive data types. It was developed in the mid-1990s in Japan. @@ -10126,14 +10203,30 @@ softwarePackages: pacman: ruby port: ruby scoop: ruby + ruff: + _bin: ruff + _desc: An extremely fast Python linter, written in Rust. + _docs: https://beta.ruff.rs/docs/ + _github: https://github.com/charliermarsh/ruff + _home: https://beta.ruff.rs/docs/ + _name: Ruff + apk: ruff + brew: ruff + pacman: ruff + pipx: ruff + runitor: + _bin: runitor + _github: https://github.com/bdd/runitor + _name: Runitor + go: bdd.fi/x/runitor/cmd/runitor@latest runjs: + _app: RunJS.app _bin: null _desc: A JavaScript playground that auto-evaluates as you type _docs: null _github: https://github.com/lukehaas/RunJS _home: null _name: RunJS - _app: RunJS.app cask: runjs choco: runjs github: github.com/lukehaas/RunJS @@ -10161,29 +10254,43 @@ softwarePackages: scoop: rust script:darwin: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y script:linux: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - goofys: - _bin: goofys - _deps: - - fuse - _desc: A high-performance, POSIX-ish Amazon S3 file system written in Go - _docs: https://github.com/kahing/goofys#usage - _github: https://github.com/kahing/goofys - _home: https://github.com/kahing/goofys - _name: Goofys - ansible:linux: professormanhattan.goofys - brew:linux: goofys - go:linux: github.com/kahing/goofys@latest - catfs: - _deps: - - fuse - _bin: catfs - _desc: Cache anything filesystem written in Rust - _docs: https://github.com/kahing/catfs#usage - _github: https://github.com/kahing/catfs - _home: https://github.com/kahing/catfs - _name: Catfs - ansible:linux: professormanhattan.s3filesystem - cargo:linux: catfs + rustdesk: + _app: RustDesk.app + _bin: rustdesk + _desc: Open source virtual / remote desktop infrastructure for everyone! The open source TeamViewer alternative. Display and control your PC and Android devices from anywhere at anytime. + _docs: https://rustdesk.com/docs/en/ + _github: https://github.com/rustdesk/rustdesk + _home: https://rustdesk.com/ + _name: RustDesk + apt: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb + cask: rustdesk + choco: rustdesk + dnf: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-fedora28-centos8.rpm + pacman: rustdesk + scoop: rustdesk + zypper: https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-suse.rpm + rustscan: + _bin: rustscan + _desc: An Nmap-based port scanner that scans all 65k ports in 3 seconds + _docs: https://rustscan.github.io/RustScan/ + _github: https://github.com/RustScan/RustScan + _home: https://github.com/RustScan/RustScan + _name: RustScan + brew: rustscan + yay: rustscan + rusty: + _bin: rusty + _github: https://github.com/zahidkhawaja/rusty + _name: Rusty AI CLI + _todo: Get cargo crate link once this is resolved https://github.com/zahidkhawaja/rusty/issues/7 + s-search: + _bin: s + _desc: Open a web search in your terminal. + _docs: https://github.com/zquestz/s + _github: https://github.com/zquestz/s + _home: https://github.com/zquestz/s + _name: s + brew: s-search s5cmd: _bin: s5cmd _desc: '[s5cmd](https://github.com/peak/s5cmd) is a very fast S3 and local filesystem execution tool. It comes with support for a multitude of operations including tab completion and wildcard support for files, which can be very handy for your object storage workflow while working with large number of files. s5cmd is the fastest way of interacting with S3 buckets because it can utilize multiple threads unlike similar tools.' @@ -10204,6 +10311,11 @@ softwarePackages: _name: null brew: ms-jpq/sad/sad pacman: sad + safe-rm: + _bin: safe-rm + _github: https://github.com/kaelzhang/shell-safe-rm + _name: safe-rm + npm: safe-rm sake: _bin: sake _desc: Sake is a task runner for local and remote hosts @@ -10225,8 +10337,6 @@ softwarePackages: - sambausers _home: https://www.samba.org/ _name: Samba - _service: smbd - _service:dnf: smb _post: | #!/usr/bin/env bash # @file Samba Configuration @@ -10326,15 +10436,17 @@ softwarePackages: else logg info "Samba server is not installed" fi + _service: smbd + _service:dnf: smb apt: samba brew: samba dnf: samba pacman: samba port: samba4 sanoid: + _bin: sanoid _deps: - pv - _bin: sanoid _desc: '[Sanoid](https://github.com/jimsalterjrs/sanoid/) is a free and open source snapshot management tool. Sanoid is a policy-driven snapshot management tool for ZFS filesystems. When combined with the Linux KVM hypervisor, you can use it to make your systems functionally immortal.' _docs: null _github: https://github.com/jimsalterjrs/sanoid/ @@ -10350,90 +10462,6 @@ softwarePackages: # Unavailable on Ubuntu 22.04 # - mhash2 - sanoid - x64dbg: - _bin: x64dbg - _desc: An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis. - _docs: https://github.com/x64dbg/x64dbg/wiki - _github: https://github.com/x64dbg/x64dbg - _home: https://x64dbg.com/ - _name: x64dbg - choco: x64dbg.portable - scoop: extras/x64dbg - wpfui: - _github: https://github.com/lepoco/wpfui - _name: WPF UI - winget: WPF UI - winapp: wpf-ui/9N9LKV8R9VGM - blender: - _bin: blender - _desc: Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. - _docs: https://docs.blender.org/manual/en/latest/ - _github: https://github.com/blender/blender - _home: https://www.blender.org/ - _name: Blender - _app: Blender.app - apt: blender - cask: blender - choco: blender - dnf: blender - flatpak: org.blender.Blender - scoop: extras/blender - snap: blender --classic - fiddler: - _bin: fiddler - _desc: The community-trusted free Windows-only tool that logs HTTP(s) network traffic. - _docs: https://docs.telerik.com/fiddler/configure-fiddler/tasks/configurefiddler - _github: false - _home: https://www.telerik.com/fiddler - _name: Fiddler - _todo: Add headless installation method for Linux - choco: fiddler - scoop: extras/fiddler - recuva: - _bin: recuva - _desc: Recuva recovers files from your Windows computer, recycle bin, digital camera card, or MP3 player! - _docs: https://www.ccleaner.com/recuva - _github: false - _home: https://www.ccleaner.com/recuva - _name: Recuva - choco: recuva - scoop: extras/recuva - audacity: - _bin: audacity - _desc: An open-source audio editor - _docs: https://support.audacityteam.org/ - _github: https://github.com/audacity/audacity - _home: https://www.audacityteam.org/ - _name: Audacity - _app: Audacity.app - appimage: Audacity - apt: audacity - cask: audacity - choco: audacity - dnf: audacity - flatpak: org.audacityteam.Audacity - scoop: extras/audacity - snap: audacity - turbo: - _bin: turbo - _github: https://github.com/vercel/turbo - _name: Turbo - npm: turbo - bazelisk: - _bin: bazelisk - _desc: A user-friendly launcher for Bazel. - _docs: https://bazel.build/docs - _github: https://github.com/bazelbuild/bazelisk - _home: https://bazel.build/ - _name: Bazel - brew: bazelisk - choco: bazelisk - go: github.com/bazelbuild/bazelisk@latest - npm: '@bazel/bazelisk' - scoop: main/bazel - pv: - _bin: pv - apt: pv santa: _bin: santactl _desc: A binary authorization system for MacOS (santa) role is a daemon that makes execution decisions based on the contents of a local database, a GUI agent that notifies the user in case of a block decision and a command-line utility for managing the system and synchronizing the database with a server. @@ -10442,6 +10470,28 @@ softwarePackages: _home: https://santa.dev/ _name: A binary authorization system for MacOS cask: santa + sapling: + _bin: sl + _github: https://github.com/facebook/sapling + _name: Sapling + brew: sapling + pacman: sapling-scm-bin + script:windows: | + curl -sSL https://github.com/facebook/sapling/releases/latest > ~/Downloads/sapling_windows_0.2.20231113-145254+995db0d6_amd64.zip + Expand-Archive ~/Downloads/sapling_windows_0.2.20231113-145254+995db0d6_amd64.zip 'C:\Program Files' + setx PATH "$env:PATH;C:\Program Files\Sapling" -m + Set-Alias -Name sl -Value 'C:\Program Files\Sapling\sl.exe' -Force -Option Constant,ReadOnly,AllScope + scap-security-guide: + _bin: oscap + _github: https://github.com/ComplianceAsCode/content + _name: OpenSCAP + apt: + - ssg-debderived + - ssg-applications + apt:debian: + - ssg-debian + - ssg-applications + dnf: scap-security-guide schema: _bin: schema _desc: A tool to infer and instantiate schemas and translate between data formats @@ -10489,14 +10539,85 @@ softwarePackages: github: github.com/chmln/sd pacman: sd pkg: sd + sddm: + _bin: sddm + _github: https://github.com/sddm/sddm + _name: SDDM + _post: | + #!/usr/bin/env bash + sudo systemctl set-default graphical.target + _service: sddm + apt: sddm + dnf: sddm + pacman: sddm + zypper: sddm + sdkman-cli: + _bin: sdk + _github: https://github.com/sdkman/sdkman-cli + _name: SDKMan + script: | + #!/usr/bin/env bash + # @file SDKMAN Install + # @brief Ensures SDKMAN is installed. + # @description + # This script ensures SDKMAN (a Java version manager) is installed using the method recommended on [their + # website](https://sdkman.io/). + + ### Re-source ~/.bashrc + if [ -z "$SDKMAN_DIR" ]; then + logg info 'SDKMAN_DIR is undefined so ~/.bashrc is being re-sourced' && source ~/.bashrc + fi + + ### SDKMan ~/.bashrc settings + if command -v brew > /dev/null && command -v sdkman-cli > /dev/null; then + export SDKMAN_DIR="$(brew --prefix sdkman-cli)/libexec" + . "$SDKMAN_DIR/bin/sdkman-init.sh" + elif [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/sdkman" ]; then + export SDKMAN_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/sdkman" + . "$SDKMAN_DIR/bin/sdkman-init.sh" + else + logg logg 'Unable to find SDKMAN instance' + fi + + ### Ensure SDKMan is installed (https://sdkman.io/) + if [ ! -d "$SDKMAN_DIR" ]; then + logg info 'Installing SDKMan via curl -s https://get.sdkman.io?rcupdate=false' + logg info "Install directory: $SDKMAN_DIR" + curl -s "https://get.sdkman.io?rcupdate=false" | bash + if [ -f "$SDKMAN_DIR/bin/sdkman-init.sh" ]; then + . "$SDKMAN_DIR/bin/sdkman-init.sh" + logg info 'Running sdk install java' && sdk install java + else + logg warn 'SDKMAN_DIR/bin/sdkman-init.sh is missing' + fi + else + logg info 'SDKMan appears to already be installed.' + logg info 'Running sdk update' + if command -v sdk > /dev/null; then + sdk update + else + logg warn 'Unable to run sdk update because the sdk command is unavailable' + fi + fi + seafile-client: + _app: Seafile Client.app + _bin: seafile-client + cask: seafile-client + choco: seafile-client + flatpak: com.seafile.Client + search-gpt: + _bin: searchgpt + _github: https://github.com/tobiasbueschel/search-gpt + _name: Search GPT + npm: search-gpt secretive: + _app: Secretive.app _bin: null _desc: Store SSH keys in the Secure Enclave _docs: null _github: https://github.com/maxgoedjen/secretive _home: null _name: null - _app: Secretive.app cask: secretive security: _bin: null @@ -10543,21 +10664,10 @@ softwarePackages: _name: serverless brew: serverless npm: serverless - sftpgo-plugin-auth: - _bin: sftpgo-plugin-auth - _desc: A plugin for SFTPGo to enable LDAP/Active Directory authentication - _docs: null - _github: https://github.com/sftpgo/sftpgo-plugin-auth - _home: null - _name: SFTPGo Authentication Plugin - _post: | - #!/usr/bin/env bash - sudo mv -f $(which sftpgo-plugin-auth) /usr/local/bin/sftpgo-plugin-auth - go: github.com/sftpgo/sftpgo-plugin-auth@latest sftpgo: + _bin: sftpgo _deps: - sftpgo-plugin-auth - _bin: sftpgo _desc: Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob _docs: null _github: https://github.com/drakkan/sftpgo @@ -10583,6 +10693,17 @@ softwarePackages: github: github.com/drakkan/sftpgo pkg: sftpgo yay: sftpgo-bin + sftpgo-plugin-auth: + _bin: sftpgo-plugin-auth + _desc: A plugin for SFTPGo to enable LDAP/Active Directory authentication + _docs: null + _github: https://github.com/sftpgo/sftpgo-plugin-auth + _home: null + _name: SFTPGo Authentication Plugin + _post: | + #!/usr/bin/env bash + sudo mv -f $(which sftpgo-plugin-auth) /usr/local/bin/sftpgo-plugin-auth + go: github.com/sftpgo/sftpgo-plugin-auth@latest share: _bin: share _desc: Quickly share files from your command line @@ -10600,11 +10721,6 @@ softwarePackages: _name: ShareX ansible:windows: professormanhattan.sharex choco: sharex - nodemon: - _bin: nodemon - _github: https://github.com/remy/nodemon - _name: Nodemon - npm: nodemon sharp: _bin: sharp _desc: CLI for sharp (a Node.js image processing module) @@ -10625,9 +10741,9 @@ softwarePackages: brew: shc port: shc shdoc: + _bin: shdoc _deps:script: - gawk - _bin: shdoc _desc: '[shdoc](https://github.com/reconquest/shdoc) is a tool to generate Documentation for shell scripts (bash, sh, zsh)' _docs: null _github: https://github.com/reconquest/shdoc @@ -10638,6 +10754,18 @@ softwarePackages: script:darwin: cd /tmp && git clone --recursive https://github.com/reconquest/shdoc && cd shdoc && sudo make install && cd /tmp && sudo rm -rf shdoc script:linux: cd /tmp && git clone --recursive https://github.com/reconquest/shdoc && cd shdoc && sudo make install && cd /tmp && sudo rm -rf shdoc yay: shdoc-git + sheldon: + _bin: sheldon + _completions: sheldon completions --shell {SHELL} + _github: https://github.com/rossmacarthur/sheldon + _name: Sheldon + brew: sheldon + cargo: sheldon + shell-gpt: + _bin: sgpt + _github: https://github.com/TheR1D/shell_gpt + _name: Shell GPT + pipx: shell-gpt shellcheck: _bin: shellcheck _desc: A static analysis tool for shell scripts @@ -10678,14 +10806,20 @@ softwarePackages: pkg: shfmt scoop: shfmt snap: shfmt + shml: + _bin: shml + _github: https://github.com/odb/shml + _name: SHML + brew: shml + npm: shml shotcut: + _app: Shotcut.app _bin: shotcut _desc: '[Shotcut](https://shotcut.org/) is a free and open-source cross-platform video editing application for FreeBSD, Linux, macOS and Windows. Started in 2011 by Dan Dennedy, Shotcut is developed on the MLT Multimedia Framework, in development since 2004 by the same author.' _docs: https://shotcut.org/howtos/getting-started/ _github: https://github.com/mltframework/shotcut _home: https://shotcut.org/ _name: Shotcut - _app: Shotcut.app ansible: professormanhattan.shotcut apt: shotcut cask: shotcut @@ -10705,6 +10839,44 @@ softwarePackages: dnf: shotwell flatpak: org.gnome.Shotwell pacman: shotwell + shuttle: + _bin: cargo-shuttle + _github: https://github.com/shuttle-hq/shuttle + _name: Shuttle + cargo: cargo-shuttle + pacman: cargo-shuttle + script: curl -sSfL https://www.shuttle.rs/install | bash + shx: + _bin: shx + _github: https://github.com/shelljs/shx + _name: shx + npm: shx + sidekick: + _app: Sidekick.app + _bin: sidekick + _github: false + _name: Sidekick + cask: pushplaylabs-sidekick + signal: + _app: Signal.app + _bin: signal + _desc: Signal is a cross-platform centralized encrypted instant messaging service developed by the non-profit Signal Foundation and its subsidiary, the Signal Messenger LLC. Users can send one-to-one and group messages, which can include files, voice notes, images, and videos. + _docs: https://support.signal.org/hc/en-us + _github: https://github.com/signalapp/Signal-Desktop + _home: https://signal.org + _name: Signal Desktop + cask: signal + choco: signal + flatpak: org.signal.Signal + scoop: signal + skaffold: + _bin: skaffold + _github: https://github.com/GoogleContainerTools/skaffold + _name: Skaffold + brew: skaffold + choco: skaffold + port: skaffold + scoop: extras/skaffold skate: _bin: skate _desc: Skate is a personal key-value store. Use it to save and retrieve anything you’d like—even binary data. It’s fully encrypted, backed up to the cloud (that you can self-host if you want) and can be synced with all your machines @@ -10716,25 +10888,17 @@ softwarePackages: go: github.com/charmbracelet/skate@latest nix: nixpkgs.skate pacman: skate - rtop: - _bin: rtop - _name: rtop - _github: https://github.com/rapidloop/rtop - go: github.com/rapidloop/rtop@latest - unikraft: - _bin: kraft - _name: Unikraft - _github: https://github.com/unikraft/unikraft - brew: unikraft/cli/kraftkit - script: curl --proto '=https' --tlsv1.2 -sSf https://get.kraftkit.sh | sh - skaffold: - _bin: skaffold - _name: Skaffold - _github: https://github.com/GoogleContainerTools/skaffold - brew: skaffold - port: skaffold - choco: skaffold - scoop: extras/skaffold + skhd: + _bin: skhd + _desc: Keyboard shortcut daemon for macOS + _docs: https://github.com/koekeishiya/skhd/issues/1 + _github: https://github.com/koekeishiya/skhd + _home: https://github.com/koekeishiya/skhd + _name: skhd + _post:brew: | + #!/usr/bin/env bash + skhd --start-service + brew:darwin: koekeishiya/formulae/skhd skm: _bin: skm _desc: A simple and powerful SSH keys manager @@ -10744,9 +10908,8 @@ softwarePackages: _name: skm github: github.com/TimothyYe/skm go: github.com/TimothyYe/skm/cmd/skm@latest - vup: - flatpak: app.vup.Vup skype: + _app: Skype.app _bin: skype _desc: '[Skype](https://www.skype.com/en/) is a proprietary telecommunications application that specializes in providing video chat and voice calls between computers, tablets, mobile devices, the Xbox One console, and smartwatches over the Internet. Skype also provides instant messaging services. Users may transmit text, video, audio and images.' _description: Skype is for connecting with the people that matter most in your life and work @@ -10754,7 +10917,6 @@ softwarePackages: _github: Not open-source _home: https://www.skype.com/en/ _name: Skype - _app: Skype.app ansible: professormanhattan.skype cask: skype choco: skype @@ -10762,31 +10924,19 @@ softwarePackages: snap: skype yay: skypeforlinux-stable-bin slack: + _app: Slack.app _bin: slack _desc: '[Slack](https://slack.com/) is a proprietary business communication platform developed by American software company Slack Technologies. Slack offers many IRC-style features, including persistent chat rooms organized by topic, private groups, and direct messaging.' _docs: https://api.slack.com/docs _github: https://github.com/slackhq/SlackTextViewController _home: https://slack.com/ _name: Slack - _app: Slack.app ansible: professormanhattan.slack cask: slack choco: slack flatpak: com.slack.Slack - snap: slack mas: 803453959 - pppc-utility: - _bin: pppc-utility - _github: https://github.com/jamf/PPPC-Utility - _name: Privacy Preferences Policy Control (PPPC) Utility - _app: PPPC Utility.app - cask: pppc-utility - privileges: - _bin: privileges - _github: https://github.com/SAP/macOS-enterprise-privileges - _name: Privileges - _app: Privileges.app - cask: privileges + snap: slack slack-term: _bin: slack-term _desc: '[slack-term](https://github.com/erroneousboat/slack-term) features a colorful interface as well as keyboard shortcuts. It is one of, if not the, most well-received [Slack](https://slack.com/) client available on GitHub.' @@ -10796,19 +10946,31 @@ softwarePackages: _name: slack-term ansible: professormanhattan.slackterm go: github.com/erroneousboat/slack-term@latest + slides: + _bin: slides + _desc: A terminal application that allows you to present slides rendered from markdown + _docs: https://github.com/maaslalani/slides + _github: https://github.com/maaslalani/slides + _home: https://maaslalani.com/slides/ + _name: Slides + brew: slides + go: github.com/maaslalani/slides@latest + nix-env: nixpkgs.slides + snap: slides + yay: slides sloth: + _app: Sloth.app _bin: null _desc: Mac app that shows all open files, directories, sockets, pipes and devices in use by all running processes. Nice GUI for lsof. _docs: https://github.com/sveinbjornt/Sloth _github: https://github.com/sveinbjornt/Sloth _home: https://sveinbjorn.org/sloth _name: Sloth - _app: Sloth.app cask: sloth snapcraft: + _bin: snapcraft _deps: - snapd - _bin: snapcraft _desc: null _docs: null _github: null @@ -10826,6 +10988,7 @@ softwarePackages: # ansible:linux: professormanhattan.snapd _service: snapd snitch: + _app: Little Snitch.app # Used for OpenSnitch, which is "temporarily" disabled until it works as expected # _bin: opensnitchd _desc: '[Little Snitch](https://www.obdev.at/products/littlesnitch/index.html) (macOS) and [OpenSnitch](https://github.com/evilsocket/opensnitch) (Linux) are application firewalls that make Internet connections visible. You can then configure which applications can access the internet (or LAN) as well as monitor the traffic patterns of applications.' @@ -10833,7 +10996,6 @@ softwarePackages: _github: https://github.com/evilsocket/opensnitch _home: https://www.obdev.at/products/littlesnitch/index.html _name: OpenSnitch/Little Snitch - _app: Little Snitch.app # Not loading on Ubuntu 22.04 # ansible: professormanhattan.snitch cask: little-snitch @@ -10845,6 +11007,31 @@ softwarePackages: _home: null _name: social-analyzer pipx: social-analyzer + soduto: + _app: Soduto.app + _github: + _name: Soduto + cask: soduto + soft-serve: + _bin: soft + _desc: A tasty, self-hostable Git server for the command line + _docs: https://github.com/charmbracelet/soft-serve + _github: https://github.com/charmbracelet/soft-serve + _home: https://charm.sh/ + _name: Soft Serve + brew: charmbracelet/tap/soft-serve + go: github.com/charmbracelet/soft-serve/cmd/soft@latest + nix-env: nixpkgs.soft-serve + pacman: soft-serve + solargraph: + _bin: solargraph + _desc: Ruby language server + _docs: https://solargraph.org/guides/getting-started + _github: https://github.com/castwide/solargraph + _home: https://solargraph.org/ + _name: Solargraph + brew: solargraph + gem: solargraph solidity: _bin: solcjs _desc: Javascript bindings for the Solidity compiler @@ -10853,6 +11040,14 @@ softwarePackages: _home: null _name: solcjs npm: solc + sparkleshare: + _app: SparkleShare.app + _bin: sparkleshare + _github: https://github.com/hbons/SparkleShare + _name: Sparkle Share + cask: sparkleshare + choco: sparkleshare + flatpak: org.sparkleshare.SparkleShare speed-test: _bin: speed-test _desc: Test your internet connection speed and ping using speedtest.net from the CLI @@ -10869,25 +11064,14 @@ softwarePackages: _home: null _name: speedtest-cli pipx: speedtest-cli - carapace: - _bin: carapace - _github: https://github.com/rsteube/carapace-bin - _name: Carapace - brew: rsteube/tap/carapace - nix-shell: carapace - pacman: carapace-bin - scoop: extras/carapace-bin - winget: rsteube.Carapace - hoard: - _bin: hoard - _github: https://github.com/Hyde46/hoard - _name: Hoard - # brew: Hyde46/hoard/hoard # Fails with cURL trying to download non-existant release file - cargo: hoard-rs - nix-env: hoard - # Might be paru instead of pacman - pacman: hoard - port: hoard-cli + sphinx: + _bin: sphinx-build + _github: https://github.com/sphinx-doc/sphinx + _name: Sphinx + apt: python3-sphinx + choco: sphinx + dnf: python-sphinx + pipx: sphinx spotdl: _bin: spotdl _deps: @@ -10898,29 +11082,26 @@ softwarePackages: _home: null _name: spotdl pipx: spotdl - gnome-eyedropper: - _bin: eyedropper - flatpak: com.github.finefindus.eyedropper - kooha: - _bin: kooha - flatpak: io.github.seadve.Kooha + sql-language-server: + _bin: sql-language-server + _desc: An SQL language server + _docs: https://github.com/joe-re/sql-language-server + _github: https://github.com/joe-re/sql-language-server + _home: https://github.com/joe-re/sql-language-server + _name: SQL Language Server + brew: sql-language-server + npm: sql-language-server sqlectron: + _app: sqlectron.app _bin: null _desc: A simple and lightweight SQL client desktop with cross database and platform support _docs: null _github: https://github.com/sqlectron/sqlectron-gui _home: null _name: SQLectron - _app: sqlectron.app cask: sqlectron github: github.com/sqlectron/sqlectron-gui yay: sqlectron-gui - handbrake: - _bin: handbrake - _app: HandBrake.app - cask: handbrake - choco: handbrake - flatpak: fr.handbrake.ghb sqlite: _bin: sqlite3 _desc: SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. @@ -10935,6 +11116,16 @@ softwarePackages: pacman: sqlite port: sqlite3 scoop: sqlite + squid: + _bin: squid + _github: https://github.com/squid-cache/squid + _name: Squid + _preload: true + _service: squid + apt: squid + brew: squid + dnf: squid + pacman: squid ssh: _bin: null _desc: On top of tightening up SSH security settings, this role also installs fail2ban on Linux systems. If provided, the role will also populate all your SSH keys and set their permissions appropriately @@ -10953,6 +11144,20 @@ softwarePackages: ansible: professormanhattan.sshvault brew: ssh-vault github: github.com/ssh-vault/ssh-vault + sshfs: + _bin: sshfs + _desc: null + _docs: null + _github: null + _home: null + _name: SSHFS + apt: sshfs + brew:linux: sshfs + choco: sshfs + dnf: sshfs + pacman: sshfs + port: sshfs + scoop: sshfs-np sshpass: _bin: sshpass _desc: Sshpass is a tool for non-interactivly performing password authentication with SSH's so called "interactive keyboard password authentication". Most user should use SSH's more secure public key authentiaction instead. @@ -10963,103 +11168,26 @@ softwarePackages: apt: sshpass brew: hudochenkov/sshpass/sshpass dnf: sshpass - tunnelblick: - _desc: Tunnelblick is a macOS menubar tray application that helps you control OpenVPN. - _docs: https://tunnelblick.net/documents.html - _github: https://github.com/Tunnelblick/Tunnelblick - _home: https://tunnelblick.net/ - _name: Tunnelblick - _app: Tunnelblick.app - cask: tunnelblick - endlessh: - _bin: endlessh - _desc: '[Endlessh](https://github.com/skeeto/endlessh) is an SSH tarpit that very slowly sends an endless, random SSH banner. It keeps SSH clients locked up for hours or even days at a time. The purpose is to put your real SSH server on another port and then let the script kiddies get stuck in this tarpit instead of bothering a real server.' - _docs: https://github.com/skeeto/endlessh - _github: https://github.com/skeeto/endlessh - _home: https://github.com/skeeto/endlessh - _name: Endlessh - _service: endlessh - _post: | - #!/usr/bin/env bash - # @file Endlessh Configuration - # @brief Applies the Endlessh configuration and starts the service on Linux systems - # @description - # Endlessh is a endless SSH tarpit that slowly shows an infinitely long SSH welcome banner on the default - # SSH port. It is intended to break unsophisticated malware that targets SSH. - # - # If the `endlessh` program is installed, this script applies the configuration stored in `home/private_dot_ssh/endlessh/config.tmpl` - # (that unpacks with Chezmoi to `~/.ssh/endlessh/config`) to the system location and then starts the service. - # - # **Note:** _This script runs under the assumption that the actual SSH port which is defined in `home/.chezmoidata.yaml` - # is assigned to a non-standard port like 2214. This allows the default port to be used for `endlessh`._ - # - # ## Links - # - # * [Endlessh GitHub repository](https://github.com/skeeto/endlessh) - # * [Endlessh configuration](https://github.com/megabyte-labs/install.doctor/blob/master/home/private_dot_ssh/endlessh/config.tmpl) - - ### Configures endlessh service - function configureEndlessh() { - ### Update the service configuration file - logg info 'Updating endlessh service configuration file' - sudo sed -i 's/^.*#AmbientCapabilities=CAP_NET_BIND_SERVICE/AmbientCapabilities=CAP_NET_BIND_SERVICE/' /usr/lib/systemd/system/endlessh.service - sudo sed -i 's/^.*PrivateUsers=true/#PrivateUsers=true/' /usr/lib/systemd/system/endlessh.service - logg info 'Reloading systemd' && sudo systemctl daemon-reload - - ### Update capabilities of `endlessh` - logg info 'Updating capabilities of endlessh' && sudo setcap 'cap_net_bind_service=+ep' /usr/bin/endlessh - - ### Restart / enable Endlessh - logg info 'Enabling the endlessh service' && sudo systemctl enable endlessh - logg info 'Restarting the endlessh service' && sudo systemctl restart endlessh - } - - ### Update /etc/endlessh/config if environment is not WSL - if [[ ! "$(test -d proc && grep Microsoft /proc/version > /dev/null)" ]]; then - if command -v endlessh > /dev/null; then - if [ -d /etc/endlessh ]; then - logg info 'Copying ~/.ssh/endlessh/config to /etc/endlessh/config' && sudo cp -f "$HOME/.ssh/endlessh/config" /etc/endlessh/config - - configureEndlessh || CONFIGURE_EXIT_CODE=$? - if [ -n "$CONFIGURE_EXIT_CODE" ]; then - logg error 'Configuring endlessh service failed' && exit 1 - else - logg success 'Successfully configured endlessh service' - fi - elif [ -f /etc/endlessh.conf ]; then - logg info 'Copying ~/.ssh/endlessh/config to /etc/endlessh.conf' && sudo cp -f "$HOME/.ssh/endlessh/config" /etc/endlessh.conf - - configureEndlessh || CONFIGURE_EXIT_CODE=$? - if [ -n "$CONFIGURE_EXIT_CODE" ]; then - logg error 'Configuring endlessh service failed' && exit 1 - else - logg success 'Successfully configured endlessh service' - fi - else - logg warn 'Neither the /etc/endlessh folder nor the /etc/endlessh.conf file exist' - fi - else - logg info 'Skipping Endlessh configuration because the endlessh executable is not available in the PATH' - fi - else - logg info 'Skipping Endlessh configuration since environment is WSL' - fi - # CentOS 9 not in EPEL - # ansible:linux: professormanhattan.sshtarpit - apt: endlessh - dnf:fedora: endlessh - yay: endlessh-git - kap: - _bin: kap - _github: https://github.com/wulkano/Kap - _name: Kap - _app: Kap.app - cask: kap - autodoc: - _bin: doc - _github: https://github.com/context-labs/autodoc - _name: Autodoc - npm: '@context-labs/autodoc' + sshs: + _bin: sshs + _github: https://github.com/quantumsheep/sshs + _name: SSHS + brew: sshs + choco: sshs + sshuttle: + _bin: sshuttle + _github: https://github.com/sshuttle/sshuttle + _name: SShuttle + apt: sshuttle + brew: sshuttle + dnf: sshuttle + emerge: net-proxy/sshuttle + nix-env: nixos.sshuttle + nix-pkg: nixpkgs.sshuttle + pacman: sshuttle + pipx: sshuttle + port: sshuttle + zypper: sshuttle ssl-proxy: _bin: ssl-proxy _desc: Simple zero-config SSL reverse proxy with real autogenerated certificates @@ -11068,52 +11196,38 @@ softwarePackages: _home: null _name: ssl-proxy go: github.com/suyashkumar/ssl-proxy@latest - # Error installing aiohttp dependency - # starred: - # _bin: starred - # pipx: starred - npkill: - _bin: npkill - _github: https://github.com/voidcosmos/npkill - _name: npkill - npm: npkill - npm-check-updates: - _bin: ncu - _github: https://github.com/raineorshine/npm-check-updates - _name: NPM Check Updates - npm: npm-check-updates - backup: - _bin: backup - _github: https://github.com/backup/backup - _name: Backup - gem: backup -v5.0.0.beta.1 - fastlane: - _bin: fastlane - _github: https://github.com/fastlane/fastlane - _home: https://fastlane.tools/ - _name: Fastlane - brew: fastlane - gem: fastlane - patch-package: - _bin: patch-package - _github: https://github.com/ds300/patch-package - _name: Patch Package - npm: patch-package - psscriptanalyzer: - _bin: psscriptanalyzer - _github: https://github.com/PowerShell/PSScriptAnalyzer - _name: PSScriptAnalyzer - choco: psscriptanalyzer - networkmanager: - _bin: networkmanager - _github: https://github.com/BornToBeRoot/NETworkManager - _name: NETworkManager - scoop: networkmanager - winget: BornToBeRoot.NETworkManager - gdbgui: - _bin: gdbgui - _github: https://github.com/cs01/gdbgui - pipx: gdbgui + stacer: + _bin: stacer + _desc: Popular desktop GUI for monitoring and cleaning Linux systems. + _docs: https://github.com/oguzhaninan/Stacer/blob/native/README.md + _github: https://github.com/oguzhaninan/Stacer + _home: https://oguzhaninan.github.io/Stacer-Web/ + _name: Stacer + appimage: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/Stacer-1.1.0-x64.AppImage + apt: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/stacer_1.1.0_amd64.deb + apt:debian: stacer + apt:ubuntu: stacer + dnf: https://github.com/oguzhaninan/Stacer/releases/download/v1.1.0/stacer-1.1.0-amd64.rpm + dnf:fedora: stacer + yay: stacer + standard-notes: + _app: Standard Notes.app + _bin: standard-notes + _desc: End-to-end encrypted notes app + _docs: https://standardnotes.com/help + _github: https://github.com/standardnotes/app + _home: https://standardnotes.com/ + _name: Standard Notes + cask: standard-notes + flatpak: org.standardnotes.standardnotes + starred: + _bin: starred + _desc: Creates your own Awesome List sorted by GitHub stars by using the GitHub API + _docs: https://github.com/maguowei/starred + _github: https://github.com/maguowei/starred + _home: https://pypi.org/project/starred/ + _name: Starred + pipx: starred starship: _bin: null _desc: '[Starship](https://starship.rs/) is the minimal, blazing fast, and extremely customizable prompt for any shell! It shows the information you need, while staying sleek and minimal. Unlike most other prompts, it is compatible with nearly every type of terminal. If you want to retain the same look and feel across different terminals, then look no further.' @@ -11145,15 +11259,28 @@ softwarePackages: port: staticcheck scoop: staticcheck stats: + _app: Stats.app _bin: null _desc: System monitor for the menu bar _docs: null _github: https://github.com/exelban/stats _home: null _name: stats - _app: Stats.app - cask: stats _service: null + cask: stats + steam: + _app: Steam.app + _bin: steam + _github: false + _name: steam + cask: steam + choco: steam + flatpak: com.valvesoftware.Steam + steampipe: + _bin: steampipe + _github: https://github.com/turbot/steampipe + _name: Steampipe + brew: turbot/tap/steampipe stegcloak: _bin: stegcloak _desc: StegCloak is a pure JavaScript steganography module designed in functional programming style, to hide secrets inside text by compressing and encrypting the secret before cloaking it with special unicode invisible characters @@ -11162,6 +11289,22 @@ softwarePackages: _home: https://stegcloak.surge.sh/ _name: stegcloak npm: stegcloak + storybook: + _bin: storybook + _github: https://github.com/storybookjs/storybook + _name: Storybook + npm: storybook + sttr: + _bin: sttr + _desc: Cross-platform, CLI app to perform various operations on string + _docs: https://github.com/abhimanyu003/sttr + _github: https://github.com/abhimanyu003/sttr + _home: https://github.com/abhimanyu003/sttr + _name: sttr + brew: abhimanyu003/sttr/sttr + go: github.com/abhimanyu003/sttr@latest + snap: sttr + yay: sttr-bin stubby: _bin: stubby _desc: DNS privacy enabled stub resolver service based on getdns @@ -11169,11 +11312,22 @@ softwarePackages: _github: null _home: null _name: Stubby - _service: stubby _post:brew:darwin: | #!/usr/bin/env bash bash "$(brew --prefix stubby)/sbin/stubby-setdns-macos.sh" + _service: stubby brew:darwin: stubby + supervisor: + _bin: supervisord + _github: https://github.com/Supervisor/supervisor + _name: Supervisor + _service: supervisor + apt: supervisor + brew: supervisor + dnf: supervisor + pacman: supervisor + pipx: supervisor + zypper: supervisor surge: _bin: surge _desc: CLI for the surge.sh CDN @@ -11199,14 +11353,41 @@ softwarePackages: _home: null _name: Docker Swarm ansible: professormanhattan.swarm + swiftbar: + _app: SwiftBar.app + _github: https://github.com/swiftbar/SwiftBar + _name: SwiftBar + cask: swiftbar + swiftformat: + _bin: swiftformat + _github: https://github.com/nicklockwood/SwiftFormat + _name: SwiftFormat + brew: swiftformat + swifty: + _app: Swifty.app + _bin: swifty + _github: https://github.com/swiftyapp/swifty + _name: Swifty + appimage: swiftyapp/swifty + cask: swifty + exe: https://github.com/swiftyapp/swifty/releases/download/v0.6.13/Swifty-Setup-0.6.13.exe + swimat: + _app: Swimat.app + _bin: null + _desc: Swift code auto-formatter for Xcode + _docs: https://jintin.github.io/Swimat/ + _github: https://github.com/Jintin/Swimat + _home: https://jintin.github.io/Swimat/ + _name: Swimat + cask: swimat switchhosts: + _app: SwitchHosts.app _bin: null _desc: '[SwitchHosts](https://github.com/oldj/SwitchHosts) is an application for managing the etc hosts file. It allows you to easily switch between different etc hosts file configurations.' _docs: https://github.com/oldj/SwitchHosts _github: https://github.com/oldj/SwitchHosts _home: https://swh.app/ _name: SwitchHosts - _app: SwitchHosts.app ansible: professormanhattan.switchhosts appimage: oldj/SwitchHosts cask: switchhosts @@ -11222,120 +11403,24 @@ softwarePackages: _name: sync-ssh-keys go: github.com/samber/sync-ssh-keys@latest yay: sync-ssh-keys-bin - vidmerger: - _deps: - - ffmpeg - _bin: vidmerger - _desc: Merge video & audio files via CLI - _docs: https://github.com/tgotwig/vidmerger - _github: https://github.com/tgotwig/vidmerger - _home: https://github.com/tgotwig/vidmerger - _name: VidMerger - brew: tgotwig/vidmerger/vidmerger - choco: vidmerger - lapce: - _bin: lapce - _desc: Lightning-fast and Powerful Code Editor written in Rust - _docs: https://docs.lapce.dev/ - _github: https://github.com/lapce/lapce - _home: https://lapce.dev/ - _name: Lapce - _app: Lapce.app - cask: lapce - emerge: app-editors/lapce - flatpak: dev.lapce.lapce - nix-env: nixpkgs.lapce - scoop: lapce - winget: lapce - helix: - _bin: hx - _desc: A post-modern modal text editor. - _docs: https://docs.helix-editor.com/ - _github: https://github.com/helix-editor/helix - _home: https://helix-editor.com/ - _name: Helix Editor - _repology: helix - brew: helix - choco: helix - pacman: helix - flatpak: com.helix_editor.Helix - scoop: helix - winget: Helix.Helix - navi: - _bin: navi - _desc: An interactive cheatsheet tool for the command-line - _docs: https://github.com/denisidoro/navi/blob/master/docs/installation.md - _github: https://github.com/denisidoro/navi - _home: https://github.com/denisidoro/navi - _name: Navi - _repology: navi - brew: navi - cargo: navi --locked - emerge: app-misc/navi - nix-env: nixpkgs.navi - pacman: navi - frpc: - _bin: frpc - _desc: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - _docs: https://github.com/fatedier/frp - _github: https://github.com/fatedier/frp - _home: https://github.com/fatedier/frp - _name: frpc (client) - brew: frpc - frps: - _bin: frps - _desc: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. - _docs: https://github.com/fatedier/frp - _github: https://github.com/fatedier/frp - _home: https://github.com/fatedier/frp - _name: frps (server) - brew: frps - koodo-reader: - _bin: koodo-reader - _github: https://github.com/koodo-reader/koodo-reader - _name: Koodo Reader - _app: Koodo Reader.app - cask: koodo-reader - scoop: extras/koodo-reader - winget: AppbyTroye.KoodoReader - flatpak: io.github.troyeguo.koodo-reader - ruff: - _bin: ruff - _desc: An extremely fast Python linter, written in Rust. - _docs: https://beta.ruff.rs/docs/ - _github: https://github.com/charliermarsh/ruff - _home: https://beta.ruff.rs/docs/ - _name: Ruff - apk: ruff - brew: ruff - pacman: ruff - pipx: ruff - hugo: - _bin: hugo - _desc: The world’s fastest framework for building websites. - _docs: https://gohugo.io/documentation/ - _github: https://github.com/gohugoio/hugo - _home: https://gohugo.io/ - _name: Hugo - apt: hugo - dnf: hugo - brew: hugo - choco: hugo - eopkg: hugo - go: github.com/gohugoio/hugo@latest - pacman: hugo - port: hugo - scoop: main/hugo - snap: hugo - zypper: hugo - json-server: - _bin: json-server - _desc: Get a full fake REST API with zero coding in less than 30 seconds (seriously) - _docs: https://github.com/typicode/json-server - _github: https://github.com/typicode/json-server - _home: https://github.com/typicode/json-server - _name: JSON Server - npm: json-server + syncpack: + _bin: syncpack + _desc: Consistent dependency versions in large JavaScript Monorepos. + _docs: https://jamiemason.github.io/syncpack/installation + _github: https://github.com/JamieMason/syncpack + _home: https://jamiemason.github.io/syncpack/ + _name: Syncpack + npm: syncpack + syncthing: + _bin: syncthing + _github: https://github.com/syncthing/syncthing + _name: Syncthing + _service: syncthing + _serviceEnabled: true + brew: syncthing + choco: syncthing + port: syncthing + scoop: syncthing synp: _bin: synp _desc: Convert yarn.lock to package-lock.json and vice versa @@ -11371,11 +11456,6 @@ softwarePackages: pacman: - sysdig - sysdig-dkms - ejs: - _bin: ejs - _github: https://github.com/mde/ejs - _name: EJS - npm: ejs sysget: _bin: sysget _desc: One package manager to rule them all @@ -11384,6 +11464,19 @@ softwarePackages: _home: null _name: sysget _note: TODO + sysz: + _bin: sysz + _deps: + - fzf + _desc: An fzf terminal UI for systemctl + _docs: https://github.com/joehillen/sysz + _github: https://github.com/joehillen/sysz + _home: https://github.com/joehillen/sysz + _name: syz + bin: https://github.com/joehillen/sysz + nix-env: nixpkgs.sysz + pacman: sysz + script:linux: cd /tmp && git clone https://github.com/joehillen/sysz.git && cd sysz && sudo make install && cd /tmp && rm -rf sysz t: _bin: t _desc: A command-line power tool for Twitter @@ -11407,66 +11500,8 @@ softwarePackages: port: t-rec snap: t-rec --classic yay: t-rec - just: - _bin: just - _github: https://github.com/casey/just - _name: Just - cargo: just - scoop: just - brew: just - port: just - pacman: just - nix-env: nixpkgs.just - eopkg: just - xbps: just - pkg-freebsd: just - apk: just - dnf: just - choco: just - snap: --edge --classic just - winget: Casey.Just - apt: just - repo: - _bin: repo - _github: false - _name: Repo - apt: repo - dnf: repo - brew: repo - pacman: repo - # TODO: Include Windows install method - ack: - _bin: ack - _github: https://github.com/beyondgrep/ack3 - _name: Ack - port: perl/p5-app-ack - brew: ack - choco: ack - dnf: ack - pacman: ack - apt: ack - cloc: - _bin: cloc - _github: https://github.com/AlDanial/cloc - _name: Cloc - npm: cloc - apt: cloc - dnf: cloc - pacman: cloc - emerge: dev-util/cloc - apk: cloc - pkg_add: cloc - pkg-freebsd: cloc - port: cloc - brew: cloc - choco: cloc - scoop: cloc - shx: - _bin: shx - _github: https://github.com/shelljs/shx - _name: shx - npm: shx tabby: + _app: Tabby.app _bin: tabby _desc: '[Tabby](https://eugeny.github.io/tabby/) is a highly configurable terminal emulator, SSH and serial client for Windows, macOS and Linux.' _docs: https://openbase.com/js/tabby/documentation @@ -11474,7 +11509,6 @@ softwarePackages: _home: https://tabby.sh/ _name: Tabby _notes: TODO Update the direct links periodically and keep eye out for Snap / Flatpak - _app: Tabby.app _post: | #!/usr/bin/env bash # @file Tabby Plugins @@ -11538,21 +11572,14 @@ softwarePackages: dnf: https://github.com/Eugeny/tabby/releases/download/v1.0.188/tabby-1.0.188-linux-x64.rpm github: github.com/Eugeny/tabby pacman: https://github.com/Eugeny/tabby/releases/download/v1.0.188/tabby-1.0.188-linux-x64.pacman - whereami: - _bin: whereami - _github: https://github.com/rafaelrinaldi/whereami - _name: Where Am I? - npm: '@rafaelrinaldi/whereami' tailscale: + _app: Tailscale.app _bin: tailscale _desc: '[Tailscale](https://tailscale.com/) lets you easily manage access to private resources, quickly SSH into devices on your network, and work securely from anywhere in the world.' _docs: https://tailscale.com/kb/ _github: https://github.com/tailscale/tailscale _home: https://tailscale.com/ _name: Tailscale - _service:brew: tailscale - _service:pacman: tailscaled - _app: Tailscale.app _post: | #!/usr/bin/env bash # @file Tailscale @@ -11583,14 +11610,36 @@ softwarePackages: logg success 'Connected to Tailscale network' fi fi + _service:brew: tailscale + _service:pacman: tailscaled ansible: professormanhattan.tailscale brew: tailscale cask: tailscale choco: tailscale go: tailscale.com/cmd/tailscale{,d}@main + mas: 1475387142 pacman: tailscale port: tailscale - mas: 1475387142 + talksheet: + _bin: talksheet + _github: https://github.com/danthelion/talksheet + _name: Talksheet + pipx: talksheet + taplo: + _bin: taplo + _desc: A TOML toolkit written in Rust that includes TOML formatting abilities + _docker: docker run tamasfe/taplo + _docs: https://taplo.tamasfe.dev/cli/introduction.html + _github: https://github.com/tamasfe/taplo + _home: https://taplo.tamasfe.dev/ + _name: Taplo + cargo: taplo-cli --locked + npm: '@taplo/cli' + tart: + _bin: tart + _github: https://github.com/cirruslabs/tart + _todo: Verify that this installs properly (error on arm64 macOS) + brew:darwin: cirruslabs/cli/gitlab-tart-executor task: _bin: task _desc: A task runner / simpler Make alternative written in Go @@ -11603,186 +11652,31 @@ softwarePackages: github: github.com/go-task/task go: github.com/go-task/task/v3/cmd/task@latest scoop: task - dua: - _bin: dua - _github: https://github.com/Byron/dua-cli - brew: dua-cli - cargo: dua-cli - dnf:fedora: dua-cli - pacman: dua-cli - pkgin: dua-cli - port: dua-cli - scoop: dua - xbps: dua-cli - xh: - _bin: xh - _github: https://github.com/ducaale/xh - _name: XH - cargo: xh - pkg-android: xh - apk: xh - pacman: xh - apt: xh - pkg-freebsd: xh - nix-env: nixpkgs.xh - brew: xh - scoop: xh - choco: xh - soduto: - _github: - _name: Soduto - _app: Soduto.app - cask: soduto - envio: - _bin: envio - _github: https://github.com/humblepenguinn/envio - _name: Envio - cargo: envio - mods: - _bin: mods - _desc: AI for the command-line that leverages OpenAI or LocalAI (if configured to do so) - _docs: https://github.com/charmbracelet/mods - _github: https://github.com/charmbracelet/mods - _home: https://charm.sh/ - _name: Mods - brew: charmbracelet/tap/mods - go: github.com/charmbracelet/mods@latest - yay: mods - vhs: - _bin: vhs - _desc: Your CLI home video recorder - _docs: https://github.com/charmbracelet/vhs - _github: https://github.com/charmbracelet/vhs - _home: https://charm.sh/ - _name: VHS - brew: vhs - go: github.com/charmbracelet/vhs@latest - nix-env: nixpkgs.vhs - pacman: vhs - port: vhs - scoop: vhs - xbps: vhs - soft-serve: - _bin: soft - _desc: A tasty, self-hostable Git server for the command line - _docs: https://github.com/charmbracelet/soft-serve - _github: https://github.com/charmbracelet/soft-serve - _home: https://charm.sh/ - _name: Soft Serve - brew: charmbracelet/tap/soft-serve - go: github.com/charmbracelet/soft-serve/cmd/soft@latest - nix-env: nixpkgs.soft-serve - pacman: soft-serve - nugetpackageexplorer: - _bin: nugetpackageexplorer - _github: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer - _name: NuGet Package Explorer - choco: nugetpackageexplorer - winapp: nuget-package-explorer/9WZDNCRDMDM3 - winget: NuGet Package Explorer - sparkleshare: - _bin: sparkleshare - _github: https://github.com/hbons/SparkleShare - _name: Sparkle Share - _app: SparkleShare.app - cask: sparkleshare - choco: sparkleshare - flatpak: org.sparkleshare.SparkleShare - mambaforge: - _bin: conda - _github: https://github.com/mamba-org/mamba - _name: Mamba Forge - _post: | - #!/usr/bin/env bash - echo y | conda update -n base -c conda-forge conda - cask: mambaforge - choco: mambaforge - script:linux: bash <(curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh") - micromamba: - _bin: micromamba - _github: https://github.com/mamba-org/mamba - _name: MicroMamba - _post: | - #!/usr/bin/env bash - micromamba self-update - brew: micromamba - sapling: - _bin: sl - _name: Sapling - _github: https://github.com/facebook/sapling - brew: sapling - pacman: sapling-scm-bin - script:windows: | - curl -sSL https://github.com/facebook/sapling/releases/latest > ~/Downloads/sapling_windows_0.2.20231113-145254+995db0d6_amd64.zip - Expand-Archive ~/Downloads/sapling_windows_0.2.20231113-145254+995db0d6_amd64.zip 'C:\Program Files' - setx PATH "$env:PATH;C:\Program Files\Sapling" -m - Set-Alias -Name sl -Value 'C:\Program Files\Sapling\sl.exe' -Force -Option Constant,ReadOnly,AllScope - steam: - _bin: steam - _github: false - _name: steam - _app: Steam.app - choco: steam - cask: steam - flatpak: com.valvesoftware.Steam - microsoft-teams: - _bin: teams - _desc: '[Microsoft Teams](https://www.microsoft.com/en-us/microsoft-teams/group-chat-software) is a proprietary business communication platform developed by Microsoft, as part of the Microsoft 365 family of products. Teams primarily competes with the similar service Slack, offering workspace chat and videoconferencing, file storage, and application integration.' - _docs: null - _github: null - _home: null - _name: Microsoft Teams - _app: Microsoft Teams.app - ansible: professormanhattan.teams - cask: microsoft-teams - choco: microsoft-teams - flatpak: com.microsoft.Teams - snap: teams-for-linux - yay: teams-for-linux - ninja: - _bin: ninja - _github: https://github.com/ninja-build/ninja - _name: Ninja - apt: ninja - dnf: ninja - brew: ninja - pacman: ninja - zypper: ninja - juicefs: - _bin: juicefs - _github: https://github.com/juicedata/juicefs - _name: JuiceFS - _post: | - #!/usr/bin/env sh - . "$HOME/.local/bin/installx/juicefs.sh" - brew: juicefs - scoop: juicefs - snap: juicefs - yay: juicefs - supervisor: - _bin: supervisord - _github: https://github.com/Supervisor/supervisor - _name: Supervisor - _service: supervisor - apt: supervisor - dnf: supervisor - brew: supervisor - pacman: supervisor - pipx: supervisor - zypper: supervisor - has: - _bin: has - _github: https://github.com/kdabir/has - _name: Has - brew: kdabir/tap/has + taskwarrior: + _bin: taskwarrior + _github: https://github.com/GothenburgBitFactory/taskwarrior + _name: Task Warrior + apt: taskwarrior + brew: + - task + - taskd + - tasksh + dnf: task + emerge: task + nix-env: taskwarrior + pacman: task + port: task + sbopkg: task + xbps: task + zypper: taskwarrior teamviewer: + _app: TeamViewer.app _bin: teamviewer _desc: '[TeamViewer](https://www.teamviewer.com/en-us/) is a proprietary software for remote access to as well as remote control and maintenance of computers and other devices, which was first released in 2005. The functionality has been expanded step by step, most recently for example through the integration of TeamViewer Meeting.' _docs: https://www.teamviewer.com/en-us/documents/ _github: Not open-source _home: https://www.teamviewer.com/en-us/ _name: TeamViewer - _app: TeamViewer.app ansible:linux: professormanhattan.teamviewer apt: https://download.teamviewer.com/download/linux/teamviewer_amd64.deb cask: teamviewer @@ -11790,18 +11684,14 @@ softwarePackages: dnf: https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm yay: teamviewer zypper: https://download.teamviewer.com/download/linux/teamviewer-suse.x86_64.rpm - irssi: - _bin: irssi - _desc: Irssi is a modular text mode chat client. It comes with IRC support built in, and there are third party ICB, SILC, XMPP (Jabber), PSYC and Quassel protocol modules available. - _docs: https://irssi.org/documentation/ - _github: https://github.com/irssi/irssi - _home: https://irssi.org/ - _name: irssi - apt: irssi - brew: irssi - dnf: irssi - pacman: irssi - port: irssi + telegram: + _app: Telegram.app + _bin: telegram + _name: Telegram + cask: telegram + choco: telegram + flatpak: org.telegram.desktop + mas: 747648890 teleport: _bin: teleport _desc: '[Teleport](https://goteleport.com/) is a free and open-source tool that allows engineers and security professionals to unify access for SSH servers, Kubernetes clusters, web applications, and databases across all environments. It is an identity-aware, multi-protocol access proxy which understands SSH, HTTPS, Kubernetes API, MySQL and PostgreSQL wire protocols.' @@ -11822,17 +11712,6 @@ softwarePackages: _name: teller brew: spectralops/tap/teller github: github.com/tellerops/teller - lsyncd: - _bin: lsyncd - _desc: Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets (via SSH and more) - _docs: https://lsyncd.github.io/lsyncd/ - _github: https://github.com/lsyncd/lsyncd - _home: false - _name: Lsyncd - apt: lsyncd - dnf: lsyncd - pacman: lsyncd - brew: lsyncd temps: _bin: null _desc: Simple menubar application based on Electron with actual weather information and forecast @@ -11841,6 +11720,11 @@ softwarePackages: _home: null _name: Temps github: github.com/jackd248/temps + terminal-notifier: + _bin: terminal-notifier + _github: https://github.com/julienXX/terminal-notifier + _name: Terminal Notifier + brew:darwin: terminal-notifier terminalizer: _bin: terminalizer _desc: Record your terminal and generate animated gif images or share a web player @@ -11865,182 +11749,6 @@ softwarePackages: pipx: termius snap: termius-app yay: termius - dagu: - _bin: dagu - _github: - _name: Dagu - _post: | - #!/usr/bin/env bash - sudo mkdir -p /var/log/dagu - brew: yohamta/tap/dagu - runitor: - _bin: runitor - _github: https://github.com/bdd/runitor - _name: Runitor - go: bdd.fi/x/runitor/cmd/runitor@latest - postfix: - _bin: postfix - _desc: Postfix is an e-mail server that can be used to send e-mail - _docs: https://www.postfix.org/documentation.html - _github: https://github.com/vdukhovni/postfix - _home: https://www.postfix.org/ - _name: Postfix - _post: | - #!/usr/bin/env bash - # @file SendGrid Postfix Configuration - # @brief Configures Postfix to use SendGrid as a relay host so you can use the `mail` program to send e-mail from the command-line - # @description - # This script follows the instructions from [SendGrid's documentation on integrating Postfix](https://docs.sendgrid.com/for-developers/sending-email/postfix). - # After this script runs, you should be able to send outgoing e-mails using SendGrid as an SMTP handler. In other words, you will - # be able to use the `mail` CLI command to send e-mails. The following is an example mailing the contents of `~/.bashrc` to `name@email.com`: - # - # ```shell - # cat ~/.bashrc | mail -s "My subject" name@email.com - # ``` - - if [ -n "$SENDGRID_API_KEY" ] && [ "$SENDGRID_API_KEY" != "" ]; then - if command -v postfix > /dev/null; then - ### Ensure dependencies are installed - if command -v apt-get > /dev/null; then - logg info 'Installing libsasl2-modules' - sudo apt-get update - sudo apt-get install -y libsasl2-modules || EXIT_CODE=$? - elif command -v dnf > /dev/null; then - sudo dnf install -y cyrus-sasl-plain || EXIT_CODE=$? - elif command -v yum > /dev/null; then - sudo yum install -y cyrus-sasl-plain || EXIT_CODE=$? - fi - if [ -n "$EXIT_CODE" ]; then - logg warn 'There was an error ensuring the Postfix-SendGrid dependencies were installed' - fi - - if [ -d /etc/postfix ]; then - ### Add the SendGrid Postfix settings to the Postfix configuration - if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf" ]; then - CONFIG_FILE=/etc/postfix/main.cf - if cat "$CONFIG_FILE" | grep '### INSTALL DOCTOR MANAGED' > /dev/null; then - logg info 'Removing Install Doctor-managed block of code in /etc/postfix/main.cf block' - START_LINE="$(echo `grep -n -m 1 "### INSTALL DOCTOR MANAGED ### START" "$CONFIG_FILE" | cut -f1 -d ":"`)" - END_LINE="$(echo `grep -n -m 1 "### INSTALL DOCTOR MANAGED ### END" "$CONFIG_FILE" | cut -f1 -d ":"`)" - if [ -n "$START_LINE" ] && [ -n "$END_LINE" ]; then - if command -v gsed > /dev/null; then - sudo gsed -i "${START_LINE},${END_LINE}d" "$CONFIG_FILE" - else - sudo sed -i "${START_LINE},${END_LINE}d" "$CONFIG_FILE" - fi - else - logg info 'No start-line or end-line detected - configuration appears to already be clean' - fi - fi - - ### Add Postfix main configuration - logg "Adding the following configuration from ${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf to /etc/postfix/main.cf" - cat "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/main.cf" | sudo tee -a "$CONFIG_FILE" > /dev/null - echo "" | sudo tee -a "$CONFIG_FILE" > /dev/null - fi - - ### Ensure proper permissions on `sasl_passwd` and update Postfix hashmaps - if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd" ]; then - logg info "Copying file from ${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd to /etc/postfix/sasl_passwd" - sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/sasl_passwd" /etc/postfix/sasl_passwd - logg info 'Assigning proper permissions to /etc/postfix/sasl_passwd' - sudo chmod 600 /etc/postfix/sasl_passwd - logg info 'Updating Postfix hashmaps for /etc/postfix/sasl_passwd' - sudo postmap /etc/postfix/sasl_passwd - else - logg warn '~/.config/postfix/sasl_passwd file is missing' - fi - - ### Forward root e-mails - if [ -d /root ]; then - logg info "Forwarding root e-mails to $PRIMARY_EMAIL" - echo "$PRIMARY_EMAIL" | sudo tee /root/.forward > /dev/null || logg error 'Failed to set root user .forward file' - elif [ -d /var/root ]; then - logg info "Forwarding root e-mails to $PRIMARY_EMAIL" - echo "$PRIMARY_EMAIL" | sudo tee /var/root/.forward > /dev/null || logg error 'Failed to set root user .forward file' - else - logg warn 'Unable to identify root user home directory' - fi - - ### Ensure /etc/postfix/header_checks exists - if [ ! -d /etc/postfix/header_checks ]; then - logg info 'Creating /etc/postfix/header_checks since it does not exist' - sudo touch /etc/postfix/header_checks - fi - - ### Re-write header From for SendGrid - if ! cat /etc/postfix/header_checks | grep "no-reply@${PUBLIC_SERVICES_DOMAIN}" > /dev/null; then - logg info 'Added From REPLACE to /etc/postfix/header_checks' - echo "/^From:.*@${PUBLIC_SERVICES_DOMAIN}/ REPLACE From: no-reply@${PUBLIC_SERVICES_DOMAIN}" | sudo tee -a /etc/postfix/header_checks > /dev/null - fi - - ### Update aliases - if [ -f /etc/aliases ]; then - logg info "Forward root e-mails to $PRIMARY_EMAIL" - ALIASES_TMP="$(mktemp)" - logg info "Setting $PRIMARY_EMAIL as root e-mail in temporary file" - sudo sed "s/#root.*/root:\ $PRIMARY_EMAIL/" /etc/aliases > "$ALIASES_TMP" - logg info 'Moving temporary file to /etc/aliases' - sudo mv -f "$ALIASES_TMP" /etc/aliases - if ! cat /etc/aliases | grep "$USER_USERNAME: root" > /dev/null; then - logg info 'Forward user e-mail to root@localhost' - echo "$USER_USERNAME: root" | sudo tee -a /etc/aliases > /dev/null - fi - - ### Ensure old /etc/aliases.db is removed - if [ -f /etc/aliases.db ]; then - logg info 'Ensuring /etc/aliases.db is removed' && sudo rm -f /etc/aliases.db - else - logg info '/etc/aliases.db was not found' - fi - - ### Re-generate the /etc/aliases.db file - if [ -f /etc/aliases ]; then - logg info 'Ensuring proper permissions on the /etc/aliases file' && sudo chown $(stat -c "%U:%G" /etc/sudoers) /etc/aliases - logg info 'Generating Postfix aliases' && sudo postalias /etc/aliases > /dev/null - else - logg warn '/etc/aliases is missing which is required for Postfix' - fi - # The `sudo newaliases` mode is probably used to regenerate the /etc/aliases.db - # but since we are removing it to ensure proper permissions, this method is commented out. - # logg info 'Running newaliases to regenerate the alias database' && sudo newaliases - else - logg warn '/etc/aliases does not appear to exist' - fi - - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - # Source: https://budiirawan.com/install-mail-server-mac-osx/ - if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/com.apple.postfix.master.plist" ] && ! sudo launchctl list | grep 'postfix.master' > /dev/null; then - logg info 'Copying com.apple.postfix.master.plist' - sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/postfix/com.apple.postfix.master.plist" /System/Library/LaunchDaemons/com.apple.postfix.master.plist - sudo launchctl load /System/Library/LaunchDaemons/com.apple.postfix.master.plist && logg success 'launchctl load of com.apple.postfix.master successful' - fi - if ! sudo postfix status > /dev/null; then - logg info 'Starting postfix' - sudo postfix start > /dev/null - else - logg info 'Reloading postfix' - sudo postfix reload > /dev/null - fi - else - ### Enable / restart postfix on Linux - logg info 'Enabling / restarting postfix' - sudo systemctl enable postfix - sudo systemctl restart postfix - fi - else - logg warn '/etc/postfix is not a directory! Skipping SendGrid Postfix setup.' - fi - else - logg info 'Skipping Postfix configuration because Postfix is not installed' - fi - fi - apt: postfix - dnf: postfix - pacman: postfix - port: postfix - script:darwin: echo "Postfix is included by macOS already" terraform: _deps: - tfenv @@ -12051,8 +11759,18 @@ softwarePackages: _github: https://github.com/hashicorp/terraform-ls _home: https://github.com/hashicorp/terraform-ls _name: terraform-ls - brew: terraform-ls _service: false + brew: terraform-ls + textql: + _bin: textql + _desc: CLI that allows you to execute SQL against structured text like CSV or TSV + _docs: https://github.com/dinedal/textql + _github: https://github.com/dinedal/textql + _home: https://github.com/dinedal/textql + _name: TextQL + brew: textql + go: github.com/dinedal/textql@master + yay: textql-git tfenv: _bin: tfenv _desc: '[tfenv](https://github.com/tfutils/tfenv) is a Terraform version manager inspired by [rbenv](https://github.com/rbenv/rbenv). It supports macOS, Linux, and Windows.' @@ -12070,22 +11788,6 @@ softwarePackages: brew: tfenv port: tfenv yay: tfenv - alda: - _bin: alda - _github: https://github.com/alda-lang/alda - _name: Alda - brew: alda - gitql: - _bin: gitql - _github: https://github.com/filhodanuvem/gitql - _name: GitQL - brew: gitql - octosql: - _bin: octosql - _github: https://github.com/cube2222/octosql - _name: OctoSQL - brew: cube2222/octosql/octosql - scoop: octosql tflint: _bin: tflint _desc: '[tflint](https://github.com/terraform-linters/tflint) is a framework that can help in finding possible errors for major cloud providers, warn about deprecated syntax and unused declarations and enforce best practices. This role installs tflint on nearly any platform.' @@ -12097,6 +11799,38 @@ softwarePackages: brew: tflint choco: tflint github: github.com/terraform-linters/tflint + tfsec: + _bin: tfsec + _github: https://github.com/aquasecurity/tfsec + _name: Aqua TFSec + brew: tfsec + choco: tfsec + scoop: tfsec + tgpt: + _bin: tgpt + _github: https://github.com/aandrew-me/tgpt + _name: Terminal GPT + go: github.com/aandrew-me/tgpt/v2@latest + scoop: https://raw.githubusercontent.com/aandrew-me/tgpt/main/tgpt.json + yay: tgpt-bin + thefuck: + _bin: fuck + _desc: Magnificent CLI tool that corrects your previous console command whenever something fails due to misspelling. + _docs: https://github.com/nvbn/thefuck + _github: https://github.com/nvbn/thefuck + _home: https://github.com/nvbn/thefuck + _name: The Fuck + brew: thefuck + crew: thefuck + pacman: thefuck + pipx: thefuck + pkg-freebsd: thefuck + thunderbird: + _app: Thunderbird.app + _bin: thunderbird + cask: thunderbird + choco: thunderbird + flatpak: org.mozilla.Thunderbird tig: _bin: tig _desc: Tig is an ncurses-based text-mode interface for git. It functions mainly as a Git repository browser, but can also assist in staging changes for commit at chunk level and act as a pager for output from various Git commands @@ -12107,23 +11841,17 @@ softwarePackages: brew: tig nix: tig pkg: tig - doitlive: - _bin: doitlive - _github: https://github.com/sloria/doitlive - _name: Do It Live! - brew: doitlive - pipx: doitlive - howdoi: - _bin: howdoi - _github: https://github.com/gleitz/howdoi - _name: howdoi - brew: howdoi - pipx: howdoi - magic-wormhole: - _bin: wormhole - _github: https://github.com/magic-wormhole/magic-wormhole - _name: Magic Wormhole - brew: magic-wormhole + tigervnc: + _bin: tigervncpasswd + _github: https://github.com/TigerVNC/tigervnc + _name: TigerVNC Server + _ports: + - port: 5900-5904 + proto: tcp + apt: tigervnc-standalone-server + dnf: tigervnc-server + pacman: tigervnc + zypper: tigervnc tilt: _bin: tilt _desc: Define your dev environment as code. For microservice apps on Kubernetes @@ -12161,6 +11889,16 @@ softwarePackages: apt: timeshift dnf:fedora: timeshift yay: timeshift + timewarrior: + _bin: timew + _github: https://github.com/GothenburgBitFactory/timewarrior + _name: Time Warrior + apt: timewarrior + brew: timewarrior + dnf: timew + emerge: app-misc/timew + nix-env: timewarrior + pacman: timew tinypng: _bin: tinypng _desc: Handy command line tool for shrinking PNG images using the TinyPNG API @@ -12168,8 +11906,8 @@ softwarePackages: _github: https://github.com/websperts/tinypng-cli _home: null _name: tinypng - npm: tinypng-cli _service: null + npm: tinypng-cli tldr: _bin: tldr _desc: Simplified and community-driven man pages @@ -12179,22 +11917,19 @@ softwarePackages: _name: tldr brew: tldr npm: tldr - please: - _bin: plz - _desc: - _docs: - _github: - _home: - _name: Please - brew: thought-machine/please/please - tmuxinator: - _bin: tmuxinator - _desc: Manage complex tmux sessions easily - _docs: https://github.com/tmuxinator/tmuxinator - _github: https://github.com/tmuxinator/tmuxinator - _home: https://github.com/tmuxinator/tmuxinator - _name: Tmuxinator - brew: tmuxinator + tmate: + _bin: tmate + _github: https://github.com/tmate-io/tmate + _name: tmate + apt: tmate + brew: tmate + dnf: tmate + emerge: app-misc/tmate + opkg: tmate + pacman: tmate + pkg-freebsd: tmate + pkg_add: tmate + zypper: tmate tmux: _bin: tmux _desc: '[Tmux](https://github.com/tmux/tmux/wiki) is a terminal multiplexer. It enables a number of terminals to be created, accessed, and controlled from a single screen. Tmux may be detached from a screen and continue running in the background, then later reattached.' @@ -12209,6 +11944,14 @@ softwarePackages: - gnu-sed - perl - tmux + tmuxinator: + _bin: tmuxinator + _desc: Manage complex tmux sessions easily + _docs: https://github.com/tmuxinator/tmuxinator + _github: https://github.com/tmuxinator/tmuxinator + _home: https://github.com/tmuxinator/tmuxinator + _name: Tmuxinator + brew: tmuxinator tokei: _bin: tokei _desc: Tokei is a program that displays statistics about the code @@ -12224,83 +11967,30 @@ softwarePackages: pacman: tokei pkg: tokei scoop: tokei - privoxy: - _bin: privoxy - _desc: Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk - _docs: https://www.privoxy.org/user-manual/index.html - _github: null - _groups: - - privoxy - _home: https://www.privoxy.org/ - _name: Privoxy - _service: privoxy - _serviceEnabled: true - _post: | + tomcat: + _bin: catalina + _github: https://github.com/apache/tomcat + _name: Tomcat + _post:darwin: | #!/usr/bin/env bash - # @file Privoxy Configuration - # @brief This script applies the Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system and then restarts Privoxy - # @description - # Privoxy is a web proxy that can be combined with Tor to provide an HTTPS / HTTP proxy that can funnel all traffic - # through Tor. This script: - # - # 1. Determines the system configuration file location - # 2. Applies the configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` - # 3. Enables and restarts the Privoxy service with the new configuration - # - # ## Links - # - # * [Privoxy configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/privoxy/config) - - ### Define the Privoxy configuration location based on whether system is macOS or Linux - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - if [ -d "/usr/local/etc/privoxy" ]; then - PRIVOXY_CONFIG_DIR=/usr/local/etc/privoxy - elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/privoxy" ]; then - PRIVOXY_CONFIG_DIR="${HOMEBREW_PREFIX:-/opt/homebrew}/etc/privoxy" - else - logg warn 'Unable to detect Privoxy configuration directory' - fi - else - ### Linux - PRIVOXY_CONFIG_DIR=/etc/privoxy - fi - PRIVOXY_CONFIG="$PRIVOXY_CONFIG_DIR/config" - - ### Copy Privoxy configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config` to the system location - if command -v privoxy > /dev/null; then - if [ -d "$PRIVOXY_CONFIG_DIR" ]; then - sudo cp -f "${XDG_CONFIG_HOME:-HOME/.config}/privoxy/config" "$PRIVOXY_CONFIG" - sudo chmod 600 "$PRIVOXY_CONFIG" - if command -v add-usergroup > /dev/null; then - sudo add-usergroup "$USER" privoxy - fi - sudo chown privoxy:privoxy "$PRIVOXY_CONFIG" 2> /dev/null || sudo chown privoxy:$(id -g -n) "$PRIVOXY_CONFIG" - - ### Restart Privoxy after configuration is applied - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - brew services restart privoxy - else - if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then - ### Linux - sudo systemctl enable privoxy - sudo systemctl restart privoxy - else - logg info 'The system is a WSL environment so the Privoxy systemd service will not be enabled / restarted' - fi - fi - else - logg warn 'The '"$PRIVOXY_CONFIG_DIR"' directory is missing' - fi - else - logg logg 'privoxy is missing from the PATH - skipping configuration' - fi - apt: privoxy - brew: privoxy - dnf: privoxy - pacman: privoxy - port: privoxy + sed 's/8080/8180/g' /usr/local/etc/tomcat/server.xml > /usr/local/etc/tomcat/server.xml + _post:linux: | + #!/usr/bin/env bash + sed 's/8080/8180/g' /usr/local/etc/tomcat/server.xml > /usr/local/etc/tomcat/server.xml + _service: tomcat + apt: tomcat + brew: tomcat + choco: tomcat + dnf: tomcat + pacman: tomcat + toml-sort: + _bin: toml-sort + _desc: A Python module that auto-formats TOML files + _docs: https://pypi.org/project/toml-sort/ + _github: https://github.com/pappasam/toml-sort + _home: https://pypi.org/project/toml-sort/ + _name: TOML Sort + pipx: toml-sort tor: _bin: tor _desc: "[Tor](https://www.torproject.org/) is free and open-source software for enabling anonymous communication by directing Internet traffic through a free, worldwide, volunteer overlay network consisting of more than seven thousand relays in order to conceal a user's location and usage from anyone conducting network surveillance or traffic analysis. On Linux you can combine Tor with [Privoxy](https://www.privoxy.org/) which allows you to tunnel all of your traffic through the Tor network." @@ -12308,9 +11998,6 @@ softwarePackages: _github: https://github.com/TheTorProject _home: https://www.torproject.org/ _name: TOR - _restricted: true - _service: tor - _serviceEnabled: true _post: | #!/usr/bin/env bash # @file Tor Configuration @@ -12363,19 +12050,40 @@ softwarePackages: else logg warn 'toron is missing from the PATH' fi + _restricted: true + _service: tor + _serviceEnabled: true ansible:linux: professormanhattan.tor apt: tor brew: tor dnf: tor pacman: tor port: tor - sheldon: - _bin: sheldon - _github: https://github.com/rossmacarthur/sheldon - _name: Sheldon - _completions: sheldon completions --shell {SHELL} - brew: sheldon - cargo: sheldon + tor-browser: + _app: Tor Browser.app + _bin: tor-browser + _desc: Tor, short for The Onion Router, is free and open-source software for enabling anonymous communication. It directs Internet traffic through a free, worldwide, volunteer overlay network, consisting of more than seven thousand relays, to conceal a user's location and usage. + _docs: https://www.torproject.org/docs/documentation.html.en + _env: + TOR_BROWSER_APPDATA: + cask: "$HOME/Library/Application Support/TorBrowser-Data/Tor" + choco: "TODO" + flatpak: "TODO" + _github: https://github.com/TheTorProject/gettorbrowser + _home: https://www.torproject.org/ + _name: Tor Browser + _restricted: true + cask: tor-browser + choco: tor-browser + flatpak: com.github.micahflee.torbrowser-launcher + tradingview: + _app: TradingView.app + _bin: tradingview + _github: https://github.com/tradingview/lightweight-charts + _name: Trading View + cask: tradingview + msix: https://tvd-packages.tradingview.com/stable/latest/win32/TradingView.msix + snap: tradingview translate: _bin: trans _desc: '[Translate Shell](https://github.com/soimort/translate-shell) (formerly Google Translate CLI) is a command-line translator powered by Google Translate (default), Bing Translator, Yandex.Translate, and Apertium. It gives you easy access to these translation engines in your terminal. It is feature-rich and, although there is some overlap, it complements [Normit](https://gitlab.com/megabyte-labs/ansible-roles/normit) well.' @@ -12389,6 +12097,11 @@ softwarePackages: brew: translate-shell dnf: translate-shell pacman: translate-shell + trayscale: + _bin: trayscale + _desc: Unofficial Menu Bar for Tailscale on Linux + _name: Trayscale + flatpak: dev.deedles.Trayscale tree: _bin: tree _desc: '[tree-cli](https://github.com/MrRaindrop/tree-cli) is a recursive directory listing program that produces a depth indented listing of files. With no arguments, tree lists the files in the current directory. When directory arguments are given, tree lists all the files and/or directories found in the given directories each in turn. Upon completion of listing all files/directories found, tree returns the total number of files and/or directories listed.' @@ -12436,6 +12149,15 @@ softwarePackages: _home: https://trufflesecurity.com/trufflehog/ _name: trufflehog brew: trufflesecurity/trufflehog/trufflehog + trunk: + _bin: trunk + _desc: An all-in-one linter / code auto-fixer augmented by a freemium web service + _docs: https://docs.trunk.io/ + _github: + _home: https://trunk.io/ + cask: trunk-io + npm: '@trunkio/launcher' + script: curl https://get.trunk.io -fsSL | bash -s -- -y ts2c: _bin: ts2c _desc: Convert Javascript/TypeScript to C @@ -12444,6 +12166,19 @@ softwarePackages: _home: null _name: ts2c npm: ts2c + tunnelblick: + _app: Tunnelblick.app + _desc: Tunnelblick is a macOS menubar tray application that helps you control OpenVPN. + _docs: https://tunnelblick.net/documents.html + _github: https://github.com/Tunnelblick/Tunnelblick + _home: https://tunnelblick.net/ + _name: Tunnelblick + cask: tunnelblick + turbo: + _bin: turbo + _github: https://github.com/vercel/turbo + _name: Turbo + npm: turbo typescript: _bin: tsc _desc: TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale. @@ -12453,6 +12188,19 @@ softwarePackages: _name: TypeScript brew: typescript npm: tsc + typescript-to-lua: + _bin: tstl + _github: https://github.com/TypeScriptToLua/TypeScriptToLua + _name: TypeScript to Lua Converter + npm: typescript-to-lua + ugm: + _bin: ugm + _desc: A terminal based UNIX user and group browser + _docs: https://github.com/ariasmn/ugm + _github: https://github.com/ariasmn/ugm + _home: https://github.com/ariasmn/ugm + _name: ugm + go: github.com/ariasmn/ugm@latest ulauncher: _bin: ulauncher _desc: '[Ulauncher](https://ulauncher.io/) is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. The packages, called ulaunchers, and the tool for using them, ulauncher, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Ulaunchers are self-contained applications running in a sandbox with mediated access to the host system.' @@ -12461,6 +12209,14 @@ softwarePackages: _home: https://ulauncher.io/ _name: Ulauncher ansible: professormanhattan.ulauncher + ultra: + _bin: ultra + _desc: Ultra fast monorepo script runner and build tool + _docs: https://github.com/folke/ultra-runner + _github: https://github.com/folke/ultra-runner + _home: https://www.npmjs.com/package/ultra-runner + _name: Ultra Task Runner + npm: ultra-runner unbuffer: _bin: unbuffer _desc: null @@ -12473,6 +12229,18 @@ softwarePackages: brew: expect dnf: unbuffer pacman: unbuffer + unikraft: + _bin: kraft + _github: https://github.com/unikraft/unikraft + _name: Unikraft + brew: unikraft/cli/kraftkit + script: curl --proto '=https' --tlsv1.2 -sSf https://get.kraftkit.sh | sh + unison: + _bin: unison + _github: https://github.com/bcpierce00/unison + _name: Unison + brew: unison + choco: unison up: _bin: up _desc: up, which is short for [Ultimate Plumber](https://github.com/akavel/up), is a tool for writing Linux pipes in a terminal-based UI interactively, with an instant live preview of command results. @@ -12485,6 +12253,15 @@ softwarePackages: github: github.com/akavel/up pkg: up yay: up + upscayl: + _bin: upscayl + _github: https://github.com/upscayl/upscayl + _name: Upscayl + _todo: Recheck for Homebrew Cask + appimage: Upscayl + choco: upscayl + flatpak: org.upscayl.Upscayl + snap: upscayl upt: _bin: upt _desc: Universal package-management tool for Windows, macOS and Linux @@ -12492,8 +12269,8 @@ softwarePackages: _github: https://github.com/sigoden/upt _home: null _name: upt - 'cargo:': upt cargo: upt + 'cargo:': upt upx: _bin: upx _desc: '[UPX](https://upx.github.io/) is an advanced executable file compressor. UPX will typically reduce the file size of programs and DLLs by around 50%-70%, thus reducing disk space, network load times, download times and other distribution and storage costs. It supports compressing a wide variety of binary-like files. Surprisingly, it even compresses executables better than WinZip. Best of all, it is free and open source.' @@ -12509,22 +12286,28 @@ softwarePackages: pacman: upx port: upx scoop: upx - cutter: - _bin: cutter - _app: Cutter.app - cask: cutter - choco: cutter - flatpak: re.rizin.cutter - librewolf: - _bin: librewolf - _scoopExtras: true - _app: LibreWolf.app - cask: librewolf - choco: librewolf - flatpak: io.gitlab.librewolf-community - scoop: librewolf - winget: librewolf - yay: librewolf + usql: + _bin: usql + _github: https://github.com/xo/usql + _name: Universal SQL CLI + brew: xo/xo/usql + choco: usql + go: github.com/xo/usql@latest + scoop: usql + util-linux: + _bin: + - cal + - chmem + - hexdump + apt: util-linux + dnf: util-linux + pacman: util-linux + utm: + _app: UTM.app + _bin: utm + _github: https://github.com/utmapp/UTM + _name: UTM + cask: utm vagrant: _bin: vagrant _desc: '[Vagrant](https://www.vagrantup.com/) is an open-source software product for building and maintaining portable virtual software development environments (e.g., for VirtualBox, KVM, Hyper-V, Docker containers, VMware, and AWS).' @@ -12540,6 +12323,16 @@ softwarePackages: dnf:fedora: vagrant pacman: vagrant scoop: vagrant + vagrant-manager: + _app: Vagrant Manager.app + _bin: null + _desc: Status bar menu application that allows you to manage Vagrant available on macOS and Windows + _docs: https://github.com/lanayotech/vagrant-manager + _github: https://github.com/lanayotech/vagrant-manager + _home: https://www.vagrantmanager.com/ + _name: Vagrant Manager + cask: vagrant-manager + choco: vagrant-manager vagrant-vmware-utility: _bin: false _desc: null @@ -12555,6 +12348,13 @@ softwarePackages: cask: vagrant-vmware-utility choco: vagrant-vmware-utility script: rm -rf /tmp/vagrant-vmware-utility_1.0.21_linux_amd64.zip && curl https://releases.hashicorp.com/vagrant-vmware-utility/1.0.21/vagrant-vmware-utility_1.0.21_linux_amd64.zip -o /tmp/vagrant-vmware-utility_1.0.21_linux_amd64.zip && unzip /tmp/vagrant-vmware-utility_1.0.21_linux_amd64.zip && sudo mv -f /tmp/vagrant-vmware-utility /usr/local/bin/vagrant-vmware-utility && sudo chmod +x /usr/local/bin/vagrant-vmware-utility + vale: + _bin: vale + _github: https://github.com/errata-ai/vale + _name: Vale + brew: vale + choco: vale + go: github.com/errata-ai/vale@latest vault: _bin: vault _desc: '[HashiCorp Vault](https://www.vaultproject.io/) secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets. Basically, it is a tool for managing any data that you want to tightly control access to. It also has some advanced integrations with systems like AWS.' @@ -12567,15 +12367,12 @@ softwarePackages: ansible: professormanhattan.vault brew: hashicorp/tap/vault yay: vault-cli - chatgpt-menubar: - _bin: null - _desc: ChatGPT for Mac, living in your menubar. - _docs: https://github.com/vincelwt/chatgpt-mac - _github: https://github.com/vincelwt/chatgpt-mac - _home: https://github.com/vincelwt/chatgpt-mac - _name: ChatGPT Menubar for macOS - _app: Chatgpt.app - cask: vincelwt-chatgpt + vdirsyncer: + _bin: vdirsyncer + _github: https://github.com/pimutils/vdirsyncer + _name: vdirsyncer + _todo: echo "TODO - Implement the following command after automating the process of setting up contact groups / calendars to sync" && echo "vdirsyncer discover contacts" && echo "vdirsyncer sync contacts" && echo "TODO - Add to cron" && echo "*/30 * * * * /usr/local/bin/vdirsyncer sync > /dev/null" && echo "This should be in _post instead of _pre - it is here for testing purposes" + pipx: vdirsyncer vector: _bin: vector _desc: Vector is a lightweight, ultra-fast tool for building observability pipelines that lets you collect, transform, and route all your logs and metrics with one simple tool. @@ -12601,10 +12398,36 @@ softwarePackages: choco: velero github: github.com/vmware-tanzu/velero yay: velero-bin - macvim: - _todo: Integrate this into macOS setup - _app: MacVim.app - cask: macvim + vermin: + _bin: vermin + _github: https://github.com/mhewedy/vermin + _name: Vermin + go: github.com/mhewedy/vermin@latest + vhs: + _bin: vhs + _desc: Your CLI home video recorder + _docs: https://github.com/charmbracelet/vhs + _github: https://github.com/charmbracelet/vhs + _home: https://charm.sh/ + _name: VHS + brew: vhs + go: github.com/charmbracelet/vhs@latest + nix-env: nixpkgs.vhs + pacman: vhs + port: vhs + scoop: vhs + xbps: vhs + vidmerger: + _bin: vidmerger + _deps: + - ffmpeg + _desc: Merge video & audio files via CLI + _docs: https://github.com/tgotwig/vidmerger + _github: https://github.com/tgotwig/vidmerger + _home: https://github.com/tgotwig/vidmerger + _name: VidMerger + brew: tgotwig/vidmerger/vidmerger + choco: vidmerger vim: _bin: vim _desc: '[Vim](https://www.vim.org/) is a greatly improved version of the good old UNIX editor Vi' @@ -12635,73 +12458,14 @@ softwarePackages: pacman: vim port: vim scoop: vim - docker-langserver: - _bin: docker-langserver - _desc: A Docker language server - _docs: https://github.com/rcjsuen/dockerfile-language-server-nodejs - _github: https://github.com/rcjsuen/dockerfile-language-server-nodejs - _home: https://github.com/rcjsuen/dockerfile-language-server-nodejs - _name: Docker Language Server - npm: dockerfile-language-server-nodejs - sql-language-server: - _bin: sql-language-server - _desc: An SQL language server - _docs: https://github.com/joe-re/sql-language-server - _github: https://github.com/joe-re/sql-language-server - _home: https://github.com/joe-re/sql-language-server - _name: SQL Language Server - brew: sql-language-server - npm: sql-language-server - chef-workstation: - _bin: chef-workstation - _github: https://github.com/chef/chef - _name: Chef Workstation - _app: Chef Workstation App.app - apt: https://packages.chef.io/files/stable/chef-workstation/21.10.640/ubuntu/20.04/chef-workstation_21.10.640-1_amd64.deb - cask: chef-workstation - choco: chef-workstation - dnf: https://packages.chef.io/files/stable/chef-workstation/21.10.640/el/8/chef-workstation-21.10.640-1.el8.x86_64.rpm - reek: - _bin: reek - _github: https://github.com/troessner/reek - _name: Reek - gem: reek - argc: - _bin: argc - _github: https://github.com/sigoden/argc - _name: Argc - cargo: argc - rubocop: - _bin: rubocop - _github: https://github.com/rubocop/rubocop - _name: Rubocop - gem: rubocop - solargraph: - _bin: solargraph - _desc: Ruby language server - _docs: https://solargraph.org/guides/getting-started - _github: https://github.com/castwide/solargraph - _home: https://solargraph.org/ - _name: Solargraph - brew: solargraph - gem: solargraph virtualbox: + _app: VirtualBox.app _bin: null _desc: '[VirtualBox](https://www.virtualbox.org/) is a free and open-source hosted hypervisor for x86 virtualization, developed by Oracle Corporation. Created by Innotek, it was acquired by Sun Microsystems in 2008, which was in turn acquired by Oracle in 2010. VirtualBox may be installed on Windows, macOS, Linux, Solaris and OpenSolaris.' _docs: https://www.virtualbox.org/wiki/Documentation _github: https://github.com/mirror/vbox _home: https://www.virtualbox.org/ _name: VirtualBox - _todo: Add support for arm64 - currently brew install --cask virtualbox requires intel 64 bit - _post:choco: | - # TODO - # TODO - # TODO - # TODO - cd C:/Program Files/Oracle/VirtualBox/ - # TODOFigure out how to get version without Ansible here and download / install the extpack - wget https://download.virtualbox.org/virtualbox/' + vbox_version + '/Oracle_VM_VirtualBox_Extension_Pack-' + vbox_version + '.vbox-extpack' - echo y | VBoxManage extpack install --replace ./Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack _post: | #!/usr/bin/env bash # @file VirtualBox Extension Pack @@ -12741,6 +12505,15 @@ softwarePackages: else logg info 'VirtualBox is not installed so VirtualBox Extension pack will not be installed' fi + _post:choco: | + # TODO + # TODO + # TODO + # TODO + cd C:/Program Files/Oracle/VirtualBox/ + # TODOFigure out how to get version without Ansible here and download / install the extpack + wget https://download.virtualbox.org/virtualbox/' + vbox_version + '/Oracle_VM_VirtualBox_Extension_Pack-' + vbox_version + '.vbox-extpack' + echo y | VBoxManage extpack install --replace ./Oracle_VM_VirtualBox_Extension_Pack.vbox-extpack _pre:dnf: | #!/usr/bin/env bash . /etc/os-release @@ -12755,7 +12528,7 @@ softwarePackages: EOF sudo dnf -y install @development-tools sudo dnf -y install kernel-headers kernel-devel dkms elfutils-libelf-devel qt5-qtx11extras - _app: VirtualBox.app + _todo: Add support for arm64 - currently brew install --cask virtualbox requires intel 64 bit ansible: professormanhattan.virtualbox apt: virtualbox cask: virtualbox @@ -12772,193 +12545,26 @@ softwarePackages: brew: virtualenv pipx: virtualenv visual-studio: + # TODO - Figure out why we included this _post script + # _post:cask: 'APP_LINK="$(find "${HOMEBREW_PREFIX:-/opt/homebrew}/Caskroom/visual-studio" -mindepth 2 -maxdepth 2 -name "*.app*" | head -n1)" && open "$APP_LINK"' + _app: Visual Studio.app _bin: null _desc: '[Microsoft Visual Studio](https://visualstudio.microsoft.com/) is an integrated development environment from Microsoft. It is used to develop computer programs, as well as websites, web apps, web services and mobile apps.' _docs: https://docs.microsoft.com/en-us/visualstudio/windows/?view=vs-2022 _github: Not open-source _home: https://visualstudio.microsoft.com/ _name: Visual Studio - # TODO - Figure out why we included this _post script - # _post:cask: 'APP_LINK="$(find "${HOMEBREW_PREFIX:-/opt/homebrew}/Caskroom/visual-studio" -mindepth 2 -maxdepth 2 -name "*.app*" | head -n1)" && open "$APP_LINK"' - _app: Visual Studio.app ansible:windows: professormanhattan.visualstudio cask: visual-studio choco: visualstudio2022community - aider: - _bin: aider - _github: https://github.com/paul-gauthier/aider - _name: Aider AI Chat - pipx: aider-chat - poppler: - brew: poppler - csvkit: - brew: csvkit - airdrop-cli: - _bin: airdrop - _github: https://github.com/vldmrkl/airdrop-cli - _name: Airdrop CLI - brew:darwin: vldmrkl/formulae/airdrop-cli - rusty: - _bin: rusty - _github: https://github.com/zahidkhawaja/rusty - _name: Rusty AI CLI - _todo: Get cargo crate link once this is resolved https://github.com/zahidkhawaja/rusty/issues/7 - aifiles: - _deps: - - pandoc - - exiftool - - poppler - - csvkit - _bin: aifiles - _github: https://github.com/jjuliano/aifiles - _name: AI Files - _todo: Implement this when XDG spec is supported so we can store configs in ~/.config - npm: aifiles - talksheet: - _bin: talksheet - _github: https://github.com/danthelion/talksheet - _name: Talksheet - pipx: talksheet - tgpt: - _bin: tgpt - _github: https://github.com/aandrew-me/tgpt - _name: Terminal GPT - yay: tgpt-bin - go: github.com/aandrew-me/tgpt/v2@latest - scoop: https://raw.githubusercontent.com/aandrew-me/tgpt/main/tgpt.json - ai-shell: - _bin: ai - _github: https://github.com/BuilderIO/ai-shell - _name: AI Shell - npm: '@builder.io/ai-shell' - github-runner: - _bin: false - _desc: '[GitHub Runner](https://docs.github.com/en/actions/hosting-your-own-runners) is a system that you deploy and manage to execute jobs from GitHub Actions on GitHub.com.' - _docs: https://docs.github.com/en/actions/hosting-your-own-runners - _github: https://github.com/actions/runner - _home: https://docs.github.com/en/actions/hosting-your-own-runners - _name: GitHub Runner - _when: '! test -d "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner"' - _post: | - #!/usr/bin/env bash - # @file GitHub Runner Registration - # @brief Registers a GitHub action runner with GitHub - # @description - # This script registers the host as a self-hosted GitHub runner with scope set - # in the `.user.github.runnerOrg` input in the `.chezmoi.yaml.tmpl` file. If your organization is `megabyte-labs`, then - # the value of `.user.github.runnerOrg` should be `megabyte-labs`. A self-hosted runner is an application - # that that allows you to run tasks from GitHub CI. - # - # This script adds 3 labels to the runner: self-hosted, _hostname_, and _operating-system family_. - # - # The script automatically acquires the GitHub Action runner token (as long as you specify your `.user.github.runnerOrg` value in `.chezmoi.yaml.tmpl`). - # In order to authenticate with GitHub, you should have the `GITHUB_TOKEN` environment variable in place with the appropriate permissions - # specified when you generate the token. - # - # ## Links - # - # * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets) - - - ### Check if GitHub runner is installed - if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/github-runnerconfig.sh" ]; then - if [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/.runner" ]; then - logg info "GitHub Actions runner is already configured (${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/.runner file is present)" - else - logg info 'Creating runner configuration' - ### Configure labels - LABELS="self-hosted,{{ .chezmoi.hostname }},{{ .host.distro.family }}" - if [ '{{ .host.distro.family }}' != '{{ .host.distro.id }}' ]; then - LABELS="${LABELS},{{ .host.distro.id }}" - fi - if command -v VirtualBox > /dev/null; then - LABELS="${LABELS},virtualbox" - fi - if command -v docker > /dev/null; then - LABELS="${LABELS},docker" - fi - - if [ -n "$GITHUB_TOKEN" ]; then - if command -v jq > /dev/null; then - ### Acquire token - logg info 'Acquiring runner token' - RUNNER_TOKEN="$(curl -sSL -X POST -H "Accept: application/vnd.github+json" -H "Authorization: Bearer $GITHUB_TOKEN" -H "X-GitHub-Api-Version: 2022-11-28" https://api.github.com/orgs/{{ .user.github.runnerOrg }}/actions/runners/registration-token | jq -r '.token')" - ### Generate the configuration - logg info 'Joining GitHub runner to https://github.com/{{ .user.github.runnerOrg }}' - "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/config.sh" --unattended --url https://github.com/{{ .user.github.runnerOrg }} --token "$RUNNER_TOKEN" --labels "$LABELS" || EXIT_CODE=$? - if [ -n "$EXIT_CODE" ]; then - logg error 'GitHub runner configuration failed' && exit 1 - fi - ### Install / start the service - logg info 'Configuring runner service' - "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/svc.sh" install && logg success 'Successfully installed the GitHub Actions runner service' - logg info 'Starting runner service' - "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner/svc.sh" start && logg success 'Started the GitHub Actions runner service' - else - logg warn 'jq is required by the GitHub runner configuration script' - fi - else - logg warn 'The GITHUB_TOKEN environment variable is not present' - fi - fi - else - logg info "The GitHub Actions runner installation is not present at ${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" - fi - script: | - #!/usr/bin/env bash - if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" ]; then - source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/private.sh" - fi - if [ -n "$GITHUB_TOKEN" ]; then - RELEASES="$(curl -sSL --compressed --header "Authorization: Bearer $GITHUB_TOKEN" "https://api.github.com/repos/actions/runner/releases/latest")" - else - RELEASES="$(curl -sSL --compressed "https://api.github.com/repos/actions/runner/releases/latest")" - fi - LATEST_VERSION="$(echo "$RELEASES" | grep -o '"tag_name": "[^"]*' | grep -o '[^"]*$')" - ARCHITECTURE="$(uname -m | sed 's/86_//' | sed 's/v7l//')" - OS_FAMILY="$(test -d /Applications && echo osx || echo linux)" - curl -sSL "https://github.com/actions/runner/releases/download/$LATEST_VERSION/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" > "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" - mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" - tar xzf "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" -C "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" - chown -Rf "$USER" "${XDG_DATA_HOME:-$HOME/.local/share}/github-runner" - rm -f "/tmp/actions-runner-${OS_FAMILY}-${ARCHITECTURE}-${LATEST_VERSION:1}.tar.gz" - vscodium: - _bin: codium - _app: VSCodium.app - _post: | - #!/usr/bin/env bash - # @brief See `_post` entry for `vscode` for a description - export NODE_OPTIONS=--throw-deprecation - # @description Check for the presence of the `codium` command in the `PATH` and install extensions for VSCodium if it is present - if command -v codium > /dev/null; then - EXTENSIONS="$(codium --list-extensions)" - jq -r '.recommendations[]' "${XDG_CONFIG_HOME:-$HOME/.config}/Code/User/extensions.json" | while read EXTENSION; do - if ! echo "$EXTENSIONS" | grep -iF "$EXTENSION" > /dev/null; then - logg info 'Installing VSCodium extension '"$EXTENSION"'' && codium --install-extension "$EXTENSION" && logg success 'Installed '"$EXTENSION"'' - else - logg info ''"$EXTENSION"' already installed' - fi - done - else - logg info 'codium executable not available - skipping plugin install process for it' - fi - appimage: vscodium/vscodium - cask: vscodium - choco: vscodium - flatpak: com.vscodium.codium - nix: nixpkgs.vscodium - scoop: vscodium - snap: codium --classic - winget: vscodium - yay: vscodium-bin vlc: + _app: VLC.app _bin: vlc _desc: '[VLC](https://www.videolan.org/) media player is a free and open-source, portable, cross-platform media player software, and streaming media server developed by the VideoLAN project. VLC is available for desktop operating systems, and mobile platforms, such as Android, iOS, iPadOS, Tizen, Windows 10 Mobile, and Windows Phone.' _docs: https://www.videolan.org/doc/ _github: https://github.com/videolan/vlc _home: https://www.videolan.org/vlc/ _name: VLC Media Player - _app: VLC.app ansible: professormanhattan.vlc apt: vlc cask: vlc @@ -12966,6 +12572,7 @@ softwarePackages: flatpak: org.videolan.VLC snap: vlc vmware: + _app: VMware Fusion.app _bin: vmware _bin:cask: vmware-id _desc: '[VMWare Workstation](https://www.vmware.com/products/workstation-pro.html) (or [VMWare Fusion](https://www.vmware.com/products/fusion.html) in the case of macOS) is a hosted hypervisor that runs on x64 versions of Windows and Linux operating systems. It enables users to set up virtual machines on a single physical machine and use them simultaneously along with the host machine. It is similar to [VirtualBox](https://gitlab.com/megabyte-labs/ansible-roles/virtualbox).' @@ -12973,7 +12580,6 @@ softwarePackages: _github: null _home: https://www.vmware.com/ _name: VMWare - _app: VMware Fusion.app _post: | #!/usr/bin/env bash # @file VMWare Configuration @@ -13137,18 +12743,6 @@ softwarePackages: else logg info 'VMware Workstation is already installed' fi - what-ip: - _bin: whatip - flatpak: org.gabmus.whatip - github-classroom-assistant: - _bin: github-classroom-assistant - _github: https://github.com/education/classroom-assistant - _name: GitHub Classroom Assistant - _app: Classroom Assistant.app - apt: https://github.com/education/classroom-assistant/releases/download/v2.0.4/classroom-assistant_2.0.4_amd64.deb - dnf: https://github.com/education/classroom-assistant/releases/download/v2.0.4/classroom-assistant-2.0.4-1.x86_64.rpm - cask: classroom-assistant - exe: https://github.com/education/classroom-assistant/releases/download/v2.0.4/Classroom.Assistant-2.0.4.Setup.exe volta: _bin: volta _desc: '[Volta](https://volta.sh/) is a hassle-free Javascript Tool Manager. It is a fast, reliable and universal tool manager. It supports multiple package managers and provides extensibility hooks for site-specific customization.' @@ -13175,13 +12769,13 @@ softwarePackages: _name: System VPN ansible: professormanhattan.vpn vscode: + _app: Visual Studio Code.app _bin: code _desc: '[Visual Studio Code](https://code.visualstudio.com/) is a freeware source-code editor made by Microsoft for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent code completion, snippets, code refactoring, and embedded Git.' _docs: https://code.visualstudio.com/api/references/vscode-api _github: https://github.com/microsoft/vscode _home: https://code.visualstudio.com/ _name: Visual Studio Code - _app: Visual Studio Code.app _post: | #!/usr/bin/env bash # @file VSCode Extensions / Global NPM Modules Fallback @@ -13307,6 +12901,37 @@ softwarePackages: flatpak: com.visualstudio.code snap: code --classic yay: visual-studio-code-bin + vscodium: + _app: VSCodium.app + _bin: codium + _post: | + #!/usr/bin/env bash + # @brief See `_post` entry for `vscode` for a description + export NODE_OPTIONS=--throw-deprecation + # @description Check for the presence of the `codium` command in the `PATH` and install extensions for VSCodium if it is present + if command -v codium > /dev/null; then + EXTENSIONS="$(codium --list-extensions)" + jq -r '.recommendations[]' "${XDG_CONFIG_HOME:-$HOME/.config}/Code/User/extensions.json" | while read EXTENSION; do + if ! echo "$EXTENSIONS" | grep -iF "$EXTENSION" > /dev/null; then + logg info 'Installing VSCodium extension '"$EXTENSION"'' && codium --install-extension "$EXTENSION" && logg success 'Installed '"$EXTENSION"'' + else + logg info ''"$EXTENSION"' already installed' + fi + done + else + logg info 'codium executable not available - skipping plugin install process for it' + fi + appimage: vscodium/vscodium + cask: vscodium + choco: vscodium + flatpak: com.vscodium.codium + nix: nixpkgs.vscodium + scoop: vscodium + snap: codium --classic + winget: vscodium + yay: vscodium-bin + vup: + flatpak: app.vup.Vup w3m: _bin: w3m _desc: w3m is a pager/text-based WWW browser. You can browse local documents and/or documents on the WWW using a terminal emulator. @@ -13329,19 +12954,19 @@ softwarePackages: _name: Wails ansible: professormanhattan.wails go: github.com/wailsapp/wails/cmd/wails@latest - safe-rm: - _bin: safe-rm - _github: https://github.com/kaelzhang/shell-safe-rm - _name: safe-rm - npm: safe-rm + wallpaper-cli: + _bin: wallpaper + _github: https://github.com/sindresorhus/wallpaper-cli + _name: Wallpaper CLI + npm: wallpaper-cli warp: + _app: Cloudflare WARP.app _bin: warp-cli _desc: '[Cloudflare WARP Client](https://cloudflarewarp.com/) is a free app that makes your Internet safer' _docs: null _github: null _home: https://cloudflarewarp.com/ _name: Cloudflare WARP Client - _app: Cloudflare WARP.app _post: | #!/usr/bin/env bash # @file CloudFlare WARP @@ -13599,23 +13224,25 @@ softwarePackages: apt: cloudflare-warp cask: cloudflare-warp choco: warp - cloudflare-cli: - _bin: cfcli - _github: https://github.com/danielpigott/cloudflare-cli - _name: CloudFlare CLI - npm: cloudflare-cli - iodine: - _bin: iodined - _github: https://github.com/yarrick/iodine - _name: Iodine - brew: iodine - choco: iodine - unison: - _bin: unison - _github: https://github.com/bcpierce00/unison - _name: Unison - brew: unison - choco: unison + warp-terminal: + _app: Warp.app + _bin: warp + _desc: Warp is a blazingly-fast modern Rust based GPU-accelerated terminal built to make you and your team more productive. + _docs: https://docs.warp.dev/getting-started/readme + _env: + WARP_TERMINAL_APPDATA: + cask: "$HOME/Library/Application Support/dev.warp.Warp-Stable" + _github: https://github.com/warpdotdev/Warp + _home: https://www.warp.dev/ + _name: Warp Terminal + appimage: https://app.warp.dev/get_warp?linux=true&package=appimage + apt: https://app.warp.dev/get_warp?package=deb + cask: warp + dnf: https://app.warp.dev/get_warp?package=rpm + pacman: https://app.warp.dev/get_warp?linux=true&package=pacman + warp-transfer: + _bin: warp-transfer + flatpak: app.drey.Warp watchexec: _bin: watchexec _desc: Executes commands in response to file modifications. @@ -13665,14 +13292,26 @@ softwarePackages: _github: https://github.com/wazuh/wazuh _home: https://wazuh.com/ _name: Wazuh - _service:windows: wazuh-agent _service:linux: wazuh-agent + _service:windows: wazuh-agent _when:darwin: '! test -f /Library/Ossec/bin/agent-auth' _when:linux: '! test -f /var/ossec/bin/agent-auth' _when:windows: '! test -f "C:\Program Files (x86)\ossec-agent\agent-auth.exe"' choco: wazuh-agent script:darwin: if ! csrutil status | grep enabled > /dev/null; then cd /tmp && curl -sSL https://packages.wazuh.com/4.x/macos/wazuh-agent-4.4.4-1.pkg > wazuh-agent.pkg && sudo launchctl setenv WAZUH_MANAGER "$WAZUH_MANAGER" && sudo installer -pkg wazuh-agent.pkg -target / && sudo chmod 755 /Library/Ossec && sudo chmod 755 /Library/Ossec/bin && rm /tmp/wazuh-agent.pkg && sudo wazuh-control start; else echo "WARNING - Skipping Wazuh Agent installation because System Integrity Protection is enabled. Disabling it requires booting into recovery and running csrutil disable, installing Wazuh Agent normally, and then re-enabling it again in recovery mode."; fi script:linux: if command -v apt-get > /dev/null; then curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import && sudo chmod 644 /usr/share/keyrings/wazuh.gpg && echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee -a /etc/apt/sources.list.d/wazuh.list && sudo apt-get update && sudo apt-get install -y wazuh-agent; elif command -v dnf > /dev/null; then echo "[wazuh]" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "gpgcheck=1" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "enabled=1" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "name=EL-\$releasever - Wazuh" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "baseurl=https://packages.wazuh.com/4.x/yum/" | sudo tee -a /etc/yum.repos.d/wazuh.repo && echo "protect=1" | sudo tee -a /etc/yum.repos.d/wazuh.repo && sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH && sudo dnf install -y wazuh-agent; elif command -v zypper > /dev/null; then echo "[wazuh]" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "gpgcheck=1" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "enabled=1" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "name=EL-$releasever - Wazuh" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "baseurl=https://packages.wazuh.com/4.x/yum/" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && echo "protect=1" | sudo tee -a /etc/zypp/repos.d/wazuh.repo && sudo rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH && sudo zypper install -y wazuh-agent; elif command -v apk > /dev/null; then sudo wget -O /etc/apk/keys/alpine-devel@wazuh.com-633d7457.rsa.pub https://packages.wazuh.com/key/alpine-devel%40wazuh.com-633d7457.rsa.pub && echo "https://packages.wazuh.com/4.x/alpine/v3.12/main" | sudo tee -a /etc/apk/repositories && sudo apk update && sudo apk add wazuh-agent; fi + web-ext: + _bin: web-ext + _github: https://github.com/mozilla/web-ext + _name: Web Extension CLI by Mozilla + npm: web-ext + web-font-generator: + flatpak: com.rafaelmardojai.WebfontKitGenerator + webpquicklook: + _github: https://github.com/emin/WebPQuickLook + _name: QLWebP + _when:cask: '! test -d "$HOME/Library/QuickLook/WebpQuickLook.qlgenerator"' + cask: webpquicklook websocat: _bin: websocat _desc: CLI for interacting with web sockets @@ -13686,18 +13325,29 @@ softwarePackages: pkg: websocat port: websocat webtorrent: + _app: WebTorrent.app _bin: webtorrent _desc: Streaming torrent app for Mac, Windows, and Linux _docs: null _github: https://github.com/webtorrent/webtorrent-desktop _home: webtorrent.io/desktop _name: WebTorrent Desktop - _app: WebTorrent.app cask: webtorrent choco: webtorrent-desktop flatpak: io.webtorrent.WebTorrent github: github.com/webtorrent/webtorrent-desktop yay: webtorrent-desktop + wego: + _bin: wego + _github: https://github.com/schachmat/wego + _name: WeGo + brew: wego + go: github.com/schachmat/wego@latest + wetty: + _bin: wetty + _github: https://github.com/butlerx/wetty + _name: Wetty + npm: wetty wget: _bin: wget _desc: The [wget](https://www.gnu.org/software/wget/) command is a command line utility for downloading files from the Internet. It supports downloading multiple files, downloading in the background, resuming downloads, limiting the bandwidth used for downloads and viewing headers. @@ -13721,6 +13371,14 @@ softwarePackages: brew: whalebrew script:darwin: curl -L "https://github.com/whalebrew/whalebrew/releases/download/0.4.0/whalebrew-$(uname -s)-$(uname -m)" -o /usr/local/bin/whalebrew; chmod +x /usr/local/bin/whalebrew script:linux: curl -L "https://github.com/whalebrew/whalebrew/releases/download/0.4.0/whalebrew-$(uname -s)-$(uname -m)" -o /usr/local/bin/whalebrew; chmod +x /usr/local/bin/whalebrew + what-ip: + _bin: whatip + flatpak: org.gabmus.whatip + whereami: + _bin: whereami + _github: https://github.com/rafaelrinaldi/whereami + _name: Where Am I? + npm: '@rafaelrinaldi/whereami' wifi-password: _bin: wifi-password _desc: Get the password of the wifi you're on @@ -13761,24 +13419,6 @@ softwarePackages: ansible:windows: professormanhattan.windowspowertoys choco: powertoys scoop: powertoys - pick: - _bin: pick - _github: https://github.com/mptre/pick - _name: Pick - apt: pick - brew: pick - dnf: pick - emerge: pick - pkg-freebsd: pick - pkg_add: pick - port: pick - yay: pick - xbps: pick - nve: - _bin: nve - _github: https://github.com/ehmicky/nve - _name: nve - npm: nve winrm-cli: _bin: winrm-cli _desc: Command-line tool to remotely execute commands on Windows machines through WinRM @@ -13788,186 +13428,17 @@ softwarePackages: _name: winrm-cli go: github.com/masterzen/winrm-cli@latest yay: winrm-cli-git - browserosaurus: - _bin: null - _desc: The browser prompter for macOS - _docs: https://github.com/will-stone/browserosaurus - _github: https://github.com/will-stone/browserosaurus - _home: https://browserosaurus.com/ - _name: Browserosaurus - _app: Browserosaurus.app - cask: browserosaurus - docker: - _deps: - - docker-images - _bin: docker - _desc: null - _docs: null - _github: null - _home: null - _name: Docker CLI - apt: - - containerd.io - - docker-ce - - docker-ce-cli - - docker-compose-plugin - dnf: - - containerd.io - - docker-ce - - docker-ce-cli - - docker-compose-plugin - pacman: - - containerd.io - - docker-ce - - docker-ce-cli - - docker-compose-plugin - script:darwin: echo "Docker CLI installed by Docker Desktop on macOS" - zypper: - - containerd.io - - docker-ce - - docker-ce-cli - - docker-compose-plugin - docker-pushrm: - _bin: docker-pushrm - _name: Docker PushRM - _github: https://github.com/christian-korneck/docker-pushrm - script: | - if [ ! -f "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" ]; then - logg info 'Acquiring release information for Docker push-rm' - RELEASE_TAG="$(curl -sSL https://api.github.com/repos/christian-korneck/docker-pushrm/releases/latest | jq -r '.tag_name')" - mkdir -p "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins" - logg info 'Downloading Docker push-rm' && curl https://github.com/christian-korneck/docker-pushrm/releases/download/$RELEASE_TAG/docker-pushrm_darwin_amd64 -o "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" - chmod +x "${XDG_CONFIG_HOME:-$HOME/.config}/docker/cli-plugins/docker-pushrm" - logg success 'Added Docker push-rm' - else - logg info 'Docker push-rm already added' - fi - docker-images: - _desc: This entry is used to trigger a post-installation docker image pre-load. See the `docker-images` entry in `.chezmoidata.yaml`. - script: echo "Enabling docker-images pre-load" - docker-plugins: - _desc: This entry is used to trigger a post-installation Docker plugin installation. See `docker-plugins` entry in `.chezmoidata.yaml`. - openssh-server: - _service: sshd - _when: test -f /proc/version && ! grep Microsoft /proc/version > /dev/null && ! test -d /Applications' - apt: openssh-server - dnf: openssh-server - pacman: openssh - kubekey: - _bin: kk - _desc: kk stands for KubeKey and it is an installer for [KubeSphere](https://github.com/kubesphere/kubesphere) - _docs: https://github.com/kubesphere/kubekey#usage - _github: https://github.com/kubesphere/kubekey - _home: https://kubesphere.io/ - _name: KubeKey - brew: kubekey - fail2ban: - _bin: fail2ban-client - _service: fail2ban - _service:brew: - - name: fail2ban - sudo: true - _serviceEnabled: true - _notes: | - fail2ban cannot be installed on Qubes Fedora 36 without messing with the qubes-firewall since firewalld is required. - _post: | - #!/usr/bin/env bash - # @file Fail2ban Configuration - # @brief Applies the system `fail2ban` jail configuration and then restarts the service - # @description - # Fail2ban is an SSH security program that temporarily bans IP addresses that could possibly be - # attempting to gain unauthorized system access. This script applies the "jail" configuration - # located at `home/private_dot_ssh/fail2ban/` to the system location. It then enables and restarts - # the `fail2ban` configuration. - # - # ## Links - # - # * [`fail2ban` configuration folder](https://github.com/megabyte-labs/install.doctor/tree/master/home/private_dot_ssh/fail2ban) - - ### Notify of script start - logg info 'Configuring fail2ban' - - ### Restart fail2ban - function restartFailToBan() { - if [ -d /Applications ] && [ -d /System ]; then - ### macOS - logg info 'Enabling the fail2ban Homebrew service' - brew services restart fail2ban - else - # Linux - logg info 'Enabling the fail2ban service' - sudo systemctl enable fail2ban - logg info 'Restarting the fail2ban service' - sudo systemctl restart fail2ban - fi - } - - ### Update the jail.local file if environment is not WSL - logg info 'Checking if script is being run in WSL environment' - if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then - if [ -d /etc/fail2ban ]; then - logg info 'Copying ~/.ssh/fail2ban/jail.local to /etc/fail2ban/jail.local' - sudo cp -f "$HOME/.ssh/fail2ban/jail.local" /etc/fail2ban/jail.local - restartFailToBan - elif [ -d /usr/local/etc/fail2ban ]; then - logg info 'Copying ~/.ssh/fail2ban/jail.local to /usr/local/etc/fail2ban/jail.local' - sudo cp -f "$HOME/.ssh/fail2ban/jail.local" /usr/local/etc/fail2ban/jail.local - restartFailToBan - elif [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban" ]; then - logg info "Copying ~/.ssh/fail2ban/jail.local to ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban/jail.local" - sudo cp -f "$HOME/.ssh/fail2ban/jail.local" "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban/jail.local" - restartFailToBan - else - logg warn 'The /etc/fail2ban (Linux), the /usr/local/etc/fail2ban, and the ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/fail2ban (macOS) folder do not exist' - fi - else - logg info 'Skipping sshd_config application since environment is WSL' - fi - _when:linux: '! command -v qubes-firewall > /dev/null && test -f /proc/version && ! grep Microsoft /proc/version > /dev/null' - apt: fail2ban - brew: fail2ban - dnf: fail2ban - pacman: fail2ban - port: fail2ban - timewarrior: - _bin: timew - _github: https://github.com/GothenburgBitFactory/timewarrior - _name: Time Warrior - apt: timewarrior - brew: timewarrior - dnf: timew - emerge: app-misc/timew - nix-env: timewarrior - pacman: timew - taskwarrior: - _bin: taskwarrior - _github: https://github.com/GothenburgBitFactory/taskwarrior - _name: Task Warrior - apt: taskwarrior - dnf: task - brew: - - task - - taskd - - tasksh - nix-env: taskwarrior - sbopkg: task - port: task - emerge: task - pacman: task - xbps: task - zypper: taskwarrior - boringtun: - _bin: boringtun-cli - _desc: BoringTun is an implementation of the WireGuard® protocol designed for portability and speed. - _docs: null - _github: https://github.com/cloudflare/boringtun - _home: null - _name: BoringTun - _todo: Add sudo boringtun-cli utun - brew: boringtun - cargo:darwin: boringtun-cli - cargo:linux: boringtun-cli + winui-gallery: + _github: https://github.com/microsoft/WinUI-Gallery + _name: WinUI Gallery + winapp: winui-3-gallery/9P3JFPWWDZRC + wipe-modules: + _bin: wipe-modules + _github: https://github.com/bntzio/wipe-modules + _name: wipe-modules + npm: wipe-modules wireguard-client: + _app: WireGuard.app _bin: wireguard-client _deps: - wireguard-tools @@ -13976,7 +13447,6 @@ softwarePackages: _github: null _home: null _name: WireGuard Client - _app: WireGuard.app choco: wireguard mas: 1451685025 scoop: wireguard-np @@ -14046,6 +13516,23 @@ softwarePackages: port: wireguard-tools slackpkg: wireguard-tools zypper: wireguard-tools + wireshark: + _app: Wireshark.app + _bin: wireshark-gui + _desc: '[Wireshark](https://www.wireshark.org/) is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Originally named Ethereal, the project was renamed Wireshark in May 2006 due to trademark issues.' + _docs: https://www.wireshark.org/docs/ + _github: https://github.com/wireshark/wireshark + _home: https://www.wireshark.org/ + _name: Wireshark + _pre:cask: | + #!/usr/bin/env bash + if command -v idl2wrs > /dev/null; then brew uninstall wireshark; fi + apt: wireshark + cask: wireshark + choco: wireshark + dnf: wireshark + flatpak: org.wireshark.Wireshark + pacman: wireshark-qt wireshark-cli: _bin: sharkd _desc: null @@ -14061,23 +13548,17 @@ softwarePackages: # brew: wireshark dnf: wireshark-cli pacman: wireshark-cli - wireshark: - _bin: wireshark-gui - _desc: '[Wireshark](https://www.wireshark.org/) is a free and open-source packet analyzer. It is used for network troubleshooting, analysis, software and communications protocol development, and education. Originally named Ethereal, the project was renamed Wireshark in May 2006 due to trademark issues.' - _docs: https://www.wireshark.org/docs/ - _github: https://github.com/wireshark/wireshark - _home: https://www.wireshark.org/ - _name: Wireshark - _pre:cask: | - #!/usr/bin/env bash - if command -v idl2wrs > /dev/null; then brew uninstall wireshark; fi - _app: Wireshark.app - apt: wireshark - cask: wireshark - choco: wireshark - dnf: wireshark - flatpak: org.wireshark.Wireshark - pacman: wireshark-qt + wishlist: + _bin: wishlist + _desc: TUI for listing definitions defined in the SSH directory + _docs: https://github.com/charmbracelet/wishlist + _github: https://github.com/charmbracelet/wishlist + _home: https://charm.sh + _name: Wishlist + brew: charmbracelet/tap/wishlist + nix-env: nixpkgs.wishlist + scoop: wishlist + yay: wishlist-bin wkhtmltopdf: _bin: wkhtmltopdf _desc: '[wkhtmltopdf](https://github.com/wkhtmltopdf/wkhtmltopdf) is a command line tool to render HTML into PDF and various image formats using the QT Webkit rendering engine.' @@ -14092,6 +13573,14 @@ softwarePackages: choco: wkhtmltopdf github: github.com/wkhtmltopdf/wkhtmltopdf pacman: wkhtmltopdf + wordops: + _bin: wo + _desc: Install and manage a high performance WordPress stack with a few keystrokes + _docs: https://docs.wordops.net/ + _github: https://github.com/WordOps/WordOps + _home: https://wordops.net/ + _name: WordOps + script:debian: wget -qO wo wops.cc && sudo bash wo wordpressify: _bin: wordpressify _desc: A build system designed to automate your WordPress development workflow @@ -14110,11 +13599,11 @@ softwarePackages: ansible:darwin: professormanhattan.wpcli ansible:linux: professormanhattan.wpcli brew: wp-cli - adobe-creative-cloud: - _bin: adobe-creative-cloud - _name: Adobe Creative Cloud - _when:cask: '! test -d "/Applications/Adobe Creative Cloud" && ! test -d "$HOME/Applications/Adobe Creative Cloud"' - cask: adobe-creative-cloud + wpfui: + _github: https://github.com/lepoco/wpfui + _name: WPF UI + winapp: wpf-ui/9N9LKV8R9VGM + winget: WPF UI wrangler: _bin: wrangler _desc: wrangler is a CLI tool designed for folks who are interested in using Cloudflare Workers. Deploy serverless code instantly across the globe to give it exceptional performance, reliability, and scale. @@ -14145,31 +13634,20 @@ softwarePackages: _home: null _name: wsl ansible: professormanhattan.wsl - xcpretty: - _bin: xcpretty - _github: https://github.com/xcpretty/xcpretty - _name: xcpretty - gem:darwin: xcpretty - airtame: - _bin: airtame - _github: false - _name: Airtame - _app: Airtame.app - cask: airtame - choco: airtame - flatpak: com.airtame.Client - snap: airtame-application - shuttle: - _bin: cargo-shuttle - _github: https://github.com/shuttle-hq/shuttle - _name: Shuttle - cargo: cargo-shuttle - pacman: cargo-shuttle - script: curl -sSfL https://www.shuttle.rs/install | bash + x64dbg: + _bin: x64dbg + _desc: An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis. + _docs: https://github.com/x64dbg/x64dbg/wiki + _github: https://github.com/x64dbg/x64dbg + _home: https://x64dbg.com/ + _name: x64dbg + choco: x64dbg.portable + scoop: extras/x64dbg xcode: + _app: Xcode.app + _bin: xcode _deps:script:darwin: - xcodeinstall - _bin: xcode _desc: "[Xcode](https://developer.apple.com/xcode/) is Apple's integrated development environment for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, and tvOS." _docs: https://developer.apple.com/documentation/xcode _github: false @@ -14178,7 +13656,6 @@ softwarePackages: _post: | #!/usr/bin/env bash sudo xcodebuild -license accept && sudo xcodebuild -runFirstLaunch - _app: Xcode.app mas: 497799835 #script:darwin: | # echo "NOTE - This may not work headlessly due to requirement of 2FA" @@ -14235,6 +13712,117 @@ softwarePackages: # brew install gnu-sed # fi # sudo gsed -i '/# TEMPORARY FOR INSTALL DOCTOR XCODEINSTALL/d' /etc/sudoers + xcodeinstall: + _bin: xcodeinstall + _github: https://github.com/sebsto/xcodeinstall + _name: Xcode Install + brew: sebsto/macos/xcodeinstall + xcodes: + _bin: xcodes + _desc: CLI utility to download, install, and switch to alternate versions of Xcode + _docs: https://github.com/XcodesOrg/xcodes + _github: https://github.com/XcodesOrg/xcodes + _home: https://github.com/XcodesOrg/xcodes + _name: Xcodes + brew:darwin: xcodesorg/made/xcodes + xcodes-app: + _app: Xcodes.app + _bin: null + _desc: macOS desktop app that allows you to download, install, and switch to alternate versions of Xcode + _docs: https://github.com/XcodesOrg/XcodesApp + _github: https://github.com/XcodesOrg/XcodesApp + _home: https://github.com/XcodesOrg/XcodesApp + _name: Xcodes App + cask: xcodes + xcpretty: + _bin: xcpretty + _github: https://github.com/xcpretty/xcpretty + _name: xcpretty + gem:darwin: xcpretty + xdotool: + _bin: xdotool + _github: https://github.com/jordansissel/xdotool + _name: xdotool + _post:brew:darwin: | + #!/usr/bin/env bash + defaults write org.x.X11 enable_test_extensions -boolean true + apt: xdotool + brew: xdotool + dnf: xdotool + pacman: xdotool + pkg-freebsd: xdotool + port: xdotool + zypper: xdotool + xh: + _bin: xh + _github: https://github.com/ducaale/xh + _name: XH + apk: xh + apt: xh + brew: xh + cargo: xh + choco: xh + nix-env: nixpkgs.xh + pacman: xh + pkg-android: xh + pkg-freebsd: xh + scoop: xh + xhyve: + _bin: xhyve + _github: https://github.com/machyve/xhyve + _name: xhyve + _notes: Has not been modified for several years and has been disabled on Homebrew + brew:darwin: xhyve + port: xhyve + xpanes: + _bin: xpanes + _github: https://github.com/greymd/tmux-xpanes + _name: xpanes + apt: https://github.com/greymd/tmux-xpanes/releases/download/v4.1.4/tmux-xpanes_v4.1.4.deb + brew: tmux-xpanes + dnf: xpanes + script: curl -sSL --compressed https://raw.githubusercontent.com/greymd/tmux-xpanes/v4.1.4/bin/xpanes > /tmp/xpanes && sudo mv /tmp/xpanes /usr/local/bin/xpanes + xpra: + _app: Xpra.app + _bin: xpra + _github: https://github.com/Xpra-org/xpra + _name: xpra + cask: xpra + choco: xpra + exe: https://xpra.org/dists/windows/Xpra-x86_64_Setup.exe + flatpak: org.xpra.xpra + msi: https://xpra.org/dists/windows/Xpra-x86_64.msi + xrdp: + _bin: xrdp + _desc: null + _docs: null + _github: https://github.com/neutrinolabs/xrdp + _home: http://www.xrdp.org/ + _name: xrdp + _note: Should work like professormanhattan.remotedesktop + _ports: + - port: 3389 + proto: tcp + _post: | + #!/usr/bin/env bash + sudo adduser xrdp ssl-cert + _service: xrdp + _service:yay: + - xrdp + - xrdp-sesman + apt: xrdp + dnf: xrdp + pacman: xrdp + yay: xrdp + zypper: xrdp + xsv: + _bin: xsv + _github: https://github.com/BurntSushi/xsv + _name: xsv + brew: xsv + cargo: xsv + nix-env: xsv + port: xsv xurls: _bin: xurls _desc: Extract urls from text @@ -14244,6 +13832,25 @@ softwarePackages: _name: xurls brew: xurls go: mvdan.cc/xurls/v2/cmd/xurls@latest + xxh: + _bin: xxh + _github: https://github.com/xxh/xxh + _name: xxh + brew: xxh + pipx: xxh-xxh + port: xxh + xz: + _bin: xz + _github: https://github.com/xz-mirror/xz + _name: xz + apk: xz + apt: xz + brew: xz + choco: xz + dnf: xz + pacman: xz + port: xz + scoop: xz yamllint: _bin: yamllint _desc: A linter for YAML files. yamllint does not only check for syntax validity, but also for weirdnesses like key repetition and cosmetic problems such as lines length, trailing spaces, indentation, etc. @@ -14251,43 +13858,9 @@ softwarePackages: _github: https://github.com/adrienverge/yamllint _home: null _name: yamllint + _service: null brew: yamllint pipx: yamllint - _service: null - xcodeinstall: - _bin: xcodeinstall - _name: Xcode Install - _github: https://github.com/sebsto/xcodeinstall - brew: sebsto/macos/xcodeinstall - sshfs: - _bin: sshfs - _desc: null - _docs: null - _github: null - _home: null - _name: SSHFS - apt: sshfs - choco: sshfs - dnf: sshfs - pacman: sshfs - port: sshfs - scoop: sshfs-np - brew:linux: sshfs - dockfmt: - _bin: dockfmt - _github: https://github.com/jessfraz/dockfmt - _name: dockfmt - go: github.com/jessfraz/dockfmt@latest - capacitor: - _bin: cap - _github: https://github.com/ionic-team/capacitor - _name: Capacitor - npm: '@capacitor/cli' - quicktype: - _bin: quicktype - _github: https://github.com/quicktype/quicktype - _name: Quicktype - npm: quicktype yank: _bin: yank _bin:apt: yank-cli @@ -14308,6 +13881,14 @@ softwarePackages: port: yank scoop: win32yank zypper: yank + yapf: + _bin: yapf + _desc: A formatter for Python files maintained by Google + _docs: false + _github: https://github.com/google/yapf + _home: false + _name: YAPF + pipx: yapf yarn: _bin: yarn _desc: "[Yarn](https://yarnpkg.com/) is a relatively new and open source JavaScript package manager developed by Facebook. Yarn is fully compatible with the npm registry (i.e. [npmjs.com](https://www.npmjs.com/)) and can work alongside npm, but it's aim it to be a safer, more secure and more reliable alternative." @@ -14332,11 +13913,6 @@ softwarePackages: _home: null _name: Yarnhook npm: yarnhook - search-gpt: - _bin: searchgpt - _github: https://github.com/tobiasbueschel/search-gpt - _name: Search GPT - npm: search-gpt yj: _bin: yj _desc: CLI program that allows you to convert between YAML, TOML, JSON, and HCL. @@ -14347,30 +13923,13 @@ softwarePackages: _name: YJ brew: yj go: github.com/sclevine/yj/v5@v5.1.0 - porter: - _bin: porter - _desc: Porter enables you to package your application artifact, client tools, configuration and deployment logic together as an installer that you can distribute, and install with a single command. - _docs: https://getporter.org/docs/ - _github: https://github.com/getporter/porter - _home: https://getporter.org/ - _name: Porter - script:darwin: curl -L https://cdn.porter.sh/latest/install-mac.sh | bash - script:linux: curl -L https://cdn.porter.sh/latest/install-linux.sh | bash - script:windows: iwr "https://cdn.porter.sh/latest/install-windows.ps1" -UseBasicParsing | iex - docker-credential-helper: - _bin:darwin: docker-credential-osxkeychain - _bin:linux: docker-credential-secretservice - _bin:windows: docker-credential-wincred - _desc: Programs to keep Docker login credentials safe by storing in platform keystores - _docs: https://github.com/docker/docker-credential-helpers - _github: https://github.com/docker/docker-credential-helpers - _home: https://github.com/docker/docker-credential-helpers - _name: Docker Credential Helper - _preload: true - brew: docker-credential-helper - forklift: - _bin: forklift - flatpak: com.github.Johnn3y.Forklift + you-get: + _bin: you-get + _github: https://github.com/soimort/you-get + _name: You-Get + brew: you-get + pipx: you-get + pkg-freebsd: you-get youtube-dl: _bin: youtube-dl _desc: '[youtube-dl](https://github.com/ytdl-org/youtube-dl) is an open-source download manager for video and audio from YouTube and over 1000 other video hosting websites. It is released under the Unlicense software license and is one of the most popular projects on GitHub.' @@ -14382,6 +13941,35 @@ softwarePackages: brew: youtube-dl pipx: youtube-dl port: youtube-dl + youtube-music: + _app: YouTube Music.app + _desc: YouTube Music desktop app bundled with custom plugins (and built-in ad blocker / downloader) + _docs: null + _github: https://github.com/th-ch/youtube-music + _home: https://th-ch.github.io/youtube-music/ + _todo: Might have to add _post cask xattr -cr /Applications/YouTube\ Music.app to fix permissions + appimage: th-ch/youtube-music + apt: https://github.com/th-ch/youtube-music/releases/download/v1.19.0/youtube-music_1.19.0_amd64.deb + exe: https://github.com/th-ch/youtube-music/releases/download/v1.19.0/YouTube-Music-Setup-1.19.0.exe + scoop: extras/youtube-music + script:darwin: | + DL_URL="https://github.com/th-ch/youtube-music/releases/download/v1.20.0/YouTube-Music-1.20.0.dmg" + if [ $(arch) = 'arm64' ]; then + DL_URL="https://github.com/th-ch/youtube-music/releases/download/v1.20.0/YouTube-Music-1.20.0-arm64.dmg" + fi + echo "Downloading YouTube Music" && curl -sSL "$DL_URL" > /tmp/YouTube-Music.dmg + echo "Attaching volume" && sudo hdiutil attach /tmp/YouTube-Music.dmg + echo "Copying to /Applications" + if [ -d "/Volumes/YouTube Music 1.20.0" ]; then + sudo cp -R "/Volumes/YouTube Music 1.20.0/YouTube Music.app" /Applications + echo "Detaching" && sudo hdiutil detach "/Volumes/YouTube Music 1.20.0" + elif [ -d "/Volumes/YouTube Music 1.20.0-arm64" ]; then + sudo cp -R "/Volumes/YouTube Music 1.20.0-arm64/YouTube Music.app" /Applications + echo "Detaching" && sudo hdiutil detach "/Volumes/YouTube Music 1.20.0-arm64" + fi + echo "Removing /tmp/YouTube-Music.dmg" && rm -f /tmp/YouTube-Music.dmg + winget: th-ch.YouTubeMusic + yay: youtube-music-bin yq: _bin: yq _desc: '[yq](https://github.com/mikefarah/yq) is a free, open-source command-line YAML processor. It aims to be like [jq](https://gitlab.com/megabyte-labs/ansible-roles/jq) except for YAML files. It can read and write values to YAML files.' @@ -14397,19 +13985,40 @@ softwarePackages: github: github.com/stedolan/jq go: github.com/mikefarah/yq/v4@latest snap: yq + yt-dlp: + _bin: yt-dlp + _github: https://github.com/yt-dlp/yt-dlp/wiki/Installation + _name: YouTube Download + brew: yt-dlp + choco: yt-dlp + pacman: yt-dlp + pipx: yt-dlp + port: yt-dlp + scoop: yt-dlp + winget: yt-dlp + yubikey-agent: + _bin: yubikey-agent + _desc: null + _docs: https://github.com/FiloSottile/yubikey-agent + _github: https://github.com/FiloSottile/yubikey-agent + _home: https://github.com/FiloSottile/yubikey-agent + _name: OpenSSL + _service: yubikey-agent + _todo: Experiment with this to see if it is worthwhile adding to the stack + brew: yubikey-agent yubikey-authenticator: + _app: Yubico Authenticator.app _bin: yubioath _desc: null _docs: The Yubico Authenticator app works across Windows, macOS, Linux, iOS and Android. Get the same set of codes across all Yubico Authenticator apps for desktops as well as for all leading mobile platforms. Portable credentials across devices. _github: null _home: https://www.yubico.com/products/yubico-authenticator/ _name: Yubico Authenticator - _app: Yubico Authenticator.app cask: yubico-authenticator choco: yubico-authenticator flatpak: com.yubico.yubioath - script:darwin: curl -sSL https://developers.yubico.com/yubioath-flutter/Releases/yubico-authenticator-latest-mac.dmg > "/tmp/Yubico Authenticator.dmg" && hdiutil attach "/tmp/Yubico Authenticator.dmg" && sudo cp -R "/Volumes/Yubico Authenticator/Yubico Authenticator.app" /Applications && sudo hdiutil detach "/Volumes/Yubico Authenticator" && rm -f "/tmp/Yubico Authenticator.dmg" mas: 1497506650 + script:darwin: curl -sSL https://developers.yubico.com/yubioath-flutter/Releases/yubico-authenticator-latest-mac.dmg > "/tmp/Yubico Authenticator.dmg" && hdiutil attach "/tmp/Yubico Authenticator.dmg" && sudo cp -R "/Volumes/Yubico Authenticator/Yubico Authenticator.app" /Applications && sudo hdiutil detach "/Volumes/Yubico Authenticator" && rm -f "/tmp/Yubico Authenticator.dmg" yubikey-manager: _bin: ykman _desc: Use the YubiKey Manager to configure FIDO2, OTP and PIV functionality on your YubiKey on Windows, macOS, and Linux operating systems. @@ -14421,75 +14030,20 @@ softwarePackages: dnf:fedora: yubikey-manager pacman: yubikey-manager pipx: yubikey-manager - nginx-unit: - _bin: unitd - _github: https://github.com/nginx/unit - _name: NGINX Unit - _service: unit - brew: nginx/unit/unit yubikey-manager-qt: + _app: YubiKey Manager.app _bin: yubikey-manager-qt _desc: Cross-platform application for configuring any YubiKey over all USB interfaces. _docs: null _github: https://github.com/Yubico/yubikey-manager-qt _home: https://developers.yubico.com/yubikey-manager-qt/ _name: YubiKey Manager - _app: YubiKey Manager.app appimage: Yubico/yubikey-manager-qt cask: yubico-yubikey-manager choco: yubikey-manager dnf:fedora: yubikey-manager-qt pacman: yubikey-manager-qt scoop: yubikey-manager-qt - goreleaser: - _bin: goreleaser - _github: https://github.com/goreleaser/goreleaser - _name: Go Releaser - brew: goreleaser - go: github.com/goreleaser/goreleaser@latest - nix-env: goreleaser - snap: goreleaser --classic - yay: goreleaser-bin - obs-studio: - _bin: obs-studio - _github: https://github.com/obsproject/obs-studio - _name: OBS Studio - _app: OBS.app - cask: obs - choco: obs-studio - flatpak: com.obsproject.Studio - shell-gpt: - _bin: sgpt - _github: https://github.com/TheR1D/shell_gpt - _name: Shell GPT - pipx: shell-gpt - tigervnc: - _bin: tigervncpasswd - _github: https://github.com/TigerVNC/tigervnc - _name: TigerVNC Server - _ports: - - port: 5900-5904 - proto: tcp - apt: tigervnc-standalone-server - dnf: tigervnc-server - pacman: tigervnc - zypper: tigervnc - proxyman: - _bin: proxyman-cli - _github: https://github.com/ProxymanApp/Proxyman - _name: Proxyman - _app: Proxyman.app - cask: proxyman - squid: - _bin: squid - _github: https://github.com/squid-cache/squid - _name: Squid - _service: squid - _preload: true - apt: squid - brew: squid - dnf: squid - pacman: squid zap: _bin: zap _desc: Delightful AppImage package manager @@ -14501,14 +14055,51 @@ softwarePackages: ansible:linux: professormanhattan.zap binary:linux: https://github.com/srevinsaju/zap/releases/download/continuous/zap-amd64 script:linux: curl https://raw.githubusercontent.com/srevinsaju/zap/main/install.sh | sudo bash -s + zaproxy: + _app: ZAP.app + _bin: zaproxy + _desc: The world’s most widely used web app scanner. Free and open source. Actively maintained by a dedicated international team of volunteers. A GitHub Top 1000 project. + _docs: https://www.zaproxy.org/docs/ + _github: https://github.com/zaproxy/zaproxy + _home: https://www.zaproxy.org/ + _name: OWASP ZAP + cask: zap + choco: zap + flatpak: org.zaproxy.ZAP + pkg-freebsd: zaproxy + scoop: zaproxy + snap: zaproxy --classic + zenity: + _bin: zenity + _github: https://github.com/ncruces/zenity + _name: Zenity + brew: ncruces/tap/zenity + go: github.com/ncruces/zenity/cmd/zenity@latest + scoop: https://ncruces.github.io/scoop/zenity.json + zola: + _bin: zola + _desc: A static site generator built with Rust + _docs: + apk: zola + brew: zola + choco: zola + flatpak: org.getzola.zola + pacman: zola + pkg-freebsd: zola + pkg_add: zola + pkgin: zola + port: zola + scoop: zola + snap: zola + xbps: zola zoom: + _app: zoom.us.app _bin: zoom _desc: '[Zoom](https://zoom.us/) is a videotelephony software program developed by Zoom Video Communications. This role installs Zoom on nearly any platform. The Zoom free plan provides a video chatting service that allows up to 100 participants concurrently, with a 40-minute time restriction.' _docs: https://support.zoom.us/hc/en-us/categories/200101697-Getting-Started-with-Zoom _github: Not open-source _home: https://zoom.us/ _name: Zoom - _app: zoom.us.app ansible: professormanhattan.zoom cask: zoom choco: zoom @@ -14540,10 +14131,10 @@ softwarePackages: dnf: zsh pacman: zsh port: zsh - winui-gallery: - _github: https://github.com/microsoft/WinUI-Gallery - _name: WinUI Gallery - winapp: winui-3-gallery/9P3JFPWWDZRC + zsh-completions: + _github: https://github.com/zsh-users/zsh-completions + _name: ZSH Completions + brew: zsh-completions zx: _bin: zx _desc: Bash is great, but when it comes to writing more complex scripts, many people prefer a more convenient programming language. JavaScript is a perfect choice, but the Node.js standard library requires additional hassle before using. The zx package provides useful wrappers around child_process, escapes arguments and gives sensible defaults. @@ -14554,6 +14145,3 @@ softwarePackages: _preload: true brew: zx npm: zx - flatseal: - _bin: flatseal - flatpak: com.github.tchx84.Flatseal