15235 lines
1 MiB
15235 lines
1 MiB
---
|
||
installerPreference:
|
||
apt:
|
||
- flatpak
|
||
- snap
|
||
- whalebrew
|
||
- apt
|
||
- brew
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- pip
|
||
- gem
|
||
- appimage
|
||
- script
|
||
- ansible
|
||
- binary
|
||
darwin:
|
||
- whalebrew
|
||
- cask
|
||
- brew
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- pip
|
||
- gem
|
||
- pkg-darwin
|
||
- script
|
||
- ansible
|
||
- binary
|
||
dnf:
|
||
- flatpak
|
||
- snap
|
||
- whalebrew
|
||
- dnf
|
||
- brew
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- pip
|
||
- gem
|
||
- appimage
|
||
- script
|
||
- ansible
|
||
- binary
|
||
freebsd:
|
||
- pkg
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- gem
|
||
- script
|
||
pacman:
|
||
- flatpak
|
||
- snap
|
||
- whalebrew
|
||
- pacman
|
||
- brew
|
||
- yay
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- pip
|
||
- gem
|
||
- appimage
|
||
- script
|
||
- ansible
|
||
- binary
|
||
ubuntu:
|
||
- snap
|
||
- flatpak
|
||
- whalebrew
|
||
- apt
|
||
- brew
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- pip
|
||
- gem
|
||
- appimage
|
||
- script
|
||
- ansible
|
||
- binary
|
||
windows:
|
||
- choco
|
||
- scoop
|
||
- winget
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- gem
|
||
- script
|
||
- ansible
|
||
- binary
|
||
zypper:
|
||
- flatpak
|
||
- snap
|
||
- whalebrew
|
||
- zypper
|
||
- brew
|
||
- go
|
||
- cargo
|
||
- npm
|
||
- pipx
|
||
- gem
|
||
- appimage
|
||
- script
|
||
- ansible
|
||
- binary
|
||
softwarePackages:
|
||
_envchain:deps:
|
||
_github: false
|
||
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
|
||
_github: false
|
||
_misc-flatpaks:
|
||
_deps:
|
||
- bottles
|
||
- cockpit-client
|
||
- connections
|
||
- dconf-editor
|
||
- deja-dup
|
||
- dialect
|
||
- drawing
|
||
- flatseal
|
||
- forklift
|
||
- gnome-calendar
|
||
- gnome-document-viewer
|
||
- gnome-extension-manager
|
||
- gnome-eyedropper
|
||
- gnome-file-roller
|
||
- gnome-image-viewer
|
||
- gnome-network-displays
|
||
- gnome-passwords-keys
|
||
- gnome-photos
|
||
- gnome-sound-recorder
|
||
- gnome-video-player
|
||
- gnome-weather
|
||
- junction
|
||
- kooha
|
||
- newsflash
|
||
- pinapp
|
||
- vup
|
||
- warp-transfer
|
||
- web-font-generator
|
||
- what-ip
|
||
- live-captions
|
||
- libre-menu-editor
|
||
- iso-image-writer
|
||
- trayscale
|
||
_github: false
|
||
_nautilus-extensions:
|
||
_deps:
|
||
- nautilus-brasero
|
||
- nautilus-gtkhash
|
||
- nautilus-gsconnect
|
||
- nautilus-image-converter
|
||
- nautilus-python
|
||
- nautilus-seahorse
|
||
- nautilus-search-tool
|
||
- nautilus-share
|
||
- nautilus-wipe
|
||
_github: false
|
||
ack:
|
||
_bin: ack
|
||
_desc: "Ack is a tool similar to grep but optimized for searching code. Ack 3 is the latest version of this tool. It is designed to be fast, easy to use, and specifically tailored for searching large codebases.\nIt supports various file types, ignores version control directories, and has built-in filtering options. Ack 3 is written in Perl and is known for its speed and simplicity in searching through code \nfiles. It's a popular choice among developers for efficiently searching and navigating codebases. "
|
||
_github: https://github.com/beyondgrep/ack3
|
||
_name: Ack
|
||
_short: "ack is a code-searching tool similar to grep, optimized for programmers. "
|
||
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"
|
||
_docs: https://github.com/nektos/act#example-commands
|
||
_github: https://github.com/nektos/act
|
||
_home: https://github.com/nektos/act
|
||
_name: Act
|
||
_short: "act is a tool that allows you to run GitHub Actions locally. "
|
||
brew: act
|
||
choco: act-cli
|
||
go: github.com/nektos/act@
|
||
nix: nixpkgs.act
|
||
port: act
|
||
scoop: act
|
||
yay: act
|
||
adobe-creative-cloud:
|
||
_bin: adobe-creative-cloud
|
||
_github: false
|
||
_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
|
||
_desc: "The repository at https://github.com/BuilderIO/ai-shell appears to be related to a project called \"ai-shell\" by BuilderIO. It seems to be a shell script that provides various AI-related functionalities \nor tools. Without further details or examining the repository, it's likely designed to assist with tasks related to artificial intelligence within a shell environment. For more specific information, you\nmay want to explore the repository's documentation, code, and README file. "
|
||
_github: https://github.com/BuilderIO/ai-shell
|
||
_name: AI Shell
|
||
_short: "ai-shell is a tool that enhances your shell with AI capabilities, allowing for intelligent auto-completions and suggestions while working in the terminal. "
|
||
npm: "@builder.io/ai-shell"
|
||
aiac:
|
||
_bin: aiac
|
||
_desc: "aiac is a Go library developed by gofireflyio that provides a simple and efficient way to interact with the Apple iCloud service. It allows developers to access iCloud services like Find My iPhone, \niCloud Contacts, iCloud Calendar, and iCloud Reminders programmatically using Go. The library supports features such as authentication, device tracking, and interacting with iCloud data. It can be \nuseful for developers looking to integrate iCloud functionality into their Go applications. "
|
||
_github: https://github.com/gofireflyio/aiac
|
||
_name: AIAC
|
||
_short: "aiac is a Go library for building AI applications with a focus on simplicity and ease of use. "
|
||
brew: gofireflyio/aiac/aiac
|
||
go: github.com/gofireflyio/aiac/v3@latest
|
||
aicommits:
|
||
_bin: aicommits
|
||
_desc: "The repository at https://github.com/Nutlope/aicommits appears to be a project related to artificial intelligence commits. It likely contains code, documentation, or resources related to AI development \nor version control of AI projects. To get a more detailed understanding, you can explore the repository's contents, such as the README file, code files, and any documentation provided. "
|
||
_github: https://github.com/Nutlope/aicommits
|
||
_name: AI Commits
|
||
_short: "aicommits is a tool for analyzing and visualizing AI-related commits on GitHub. "
|
||
brew: aicommits
|
||
npm: aicommits
|
||
aider:
|
||
_bin: aider
|
||
_desc: "Aider is a GitHub repository created by Paul Gauthier. Unfortunately, without further context or access to the repository, I cannot provide specific details about its contents. To learn more about the \nproject, you can visit the repository link provided and explore the code, documentation, and any other resources available there. "
|
||
_github: https://github.com/paul-gauthier/aider
|
||
_name: Aider AI Chat
|
||
_short: "aider is a tool for generating documentation from your Python code. "
|
||
pipx: aider-chat
|
||
aifiles:
|
||
_bin: aifiles
|
||
_deps:
|
||
- pandoc
|
||
- exiftool
|
||
- poppler
|
||
- csvkit
|
||
_desc: "Repository Description: \n\nThe repository at https://github.com/jjuliano/aifiles contains a collection of AI-related files. These files likely include code, models, datasets, or other resources related to artificial intelligence.\nIt seems to be a valuable resource for individuals interested in AI development, research, or learning. You can explore the repository to access and utilize the AI files provided by the owner. "
|
||
_github: https://github.com/jjuliano/aifiles
|
||
_name: AI Files
|
||
_short: "aifiles is a repository containing various AI-related files and resources. "
|
||
_todo: Implement this when XDG spec is supported so we can store configs in ~/.config
|
||
npm: aifiles
|
||
airdrop-cli:
|
||
_bin: airdrop
|
||
_desc: "Airdrop-cli is a command-line tool available on GitHub at https://github.com/vldmrkl/airdrop-cli. It allows users to easily send files between Mac devices using AirDrop from the terminal. This tool \nsimplifies the process of sharing files wirelessly by providing a command-line interface for initiating AirDrop transfers. It can be a handy tool for users who prefer working with the terminal and want \na quick way to transfer files between their Mac devices without using the graphical interface. "
|
||
_github: https://github.com/vldmrkl/airdrop-cli
|
||
_name: Airdrop CLI
|
||
_short: "airdrop-cli is a command-line tool for transferring files using Apple's AirDrop feature. "
|
||
brew:darwin: vldmrkl/formulae/airdrop-cli
|
||
airtame:
|
||
_app: Airtame.app
|
||
_bin: airtame
|
||
_github: false
|
||
_name: Airtame
|
||
cask: airtame
|
||
choco: airtame
|
||
flatpak: com.airtame.Client
|
||
snap: airtame-application
|
||
alda:
|
||
_bin: alda
|
||
_desc: "Alda is a music programming language for musicians to write and play music. It allows users to compose music using text-based commands and play it back instantly. Alda is designed to be simple and \nintuitive, making it easy for both beginners and experienced musicians to create music. It supports various musical elements like notes, rhythms, chords, and more. The code written in Alda can be saved \nas text files, making it easy to share and collaborate on musical compositions. It is a versatile tool for music enthusiasts looking to experiment with music composition in a unique way. "
|
||
_github: https://github.com/alda-lang/alda
|
||
_name: Alda
|
||
_short: "Alda is a music programming language for musicians and programmers to create music using text-based commands. "
|
||
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."
|
||
_docs: https://docs.qameta.io/allure-report/
|
||
_github: https://github.com/allure-framework/allure2
|
||
_home: https://docs.qameta.io/allure-testops/
|
||
_name: Allure
|
||
_post:binary:darwin: |
|
||
#!/usr/bin/env bash
|
||
echo "TODO"
|
||
_post:binary:linux: |
|
||
#!/usr/bin/env bash
|
||
# TODO How to pass the path of the file downloaded in `binary` step? That can replace the `wget` command below
|
||
mkdir -p /usr/local/share/allure
|
||
cd /usr/local/share/allure
|
||
wget https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.20.1/allure-commandline-2.20.1.zip -O /usr/local/share/allure/allure.zip
|
||
unzip -o allure.zip
|
||
ln -s /usr/local/share/allure/allure<version>/bin/allure
|
||
_post:binary:windows: |
|
||
# TODO
|
||
_short: "Allure2 is a flexible test reporting tool that provides clear and concise test execution reports with rich visual representations. "
|
||
binary: https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.20.1/allure-commandline-2.20.1.zip
|
||
brew: allure
|
||
scoop: allure
|
||
yay: allure
|
||
alt-tab:
|
||
_app: AltTab.app
|
||
_bin: alt-tab
|
||
_desc: "alt-tab-macos is a tool created by lwouis on GitHub. It enhances the macOS app switcher by providing a more Windows-like experience with Alt-Tab functionality. This tool allows users to cycle through \nopen applications using the Alt-Tab key combination, making it easier to switch between apps quickly. It is designed to improve productivity and streamline the app-switching process on macOS systems. \nUsers looking for a more efficient way to navigate between applications may find this tool useful. "
|
||
_github: https://github.com/lwouis/alt-tab-macos
|
||
_name: Alt+Tab for macOS that works like alt+tab on Windows
|
||
_short: "alt-tab-macos is a tool that brings Windows-like alt-tab functionality to MacOS, allowing users to switch between applications more easily. "
|
||
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/
|
||
_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
|
||
_short: "Altair is a powerful GraphQL client for making API requests and exploring schemas visually. "
|
||
cask: altair-graphql-client
|
||
choco: altair-graphql
|
||
snap: altair
|
||
yay: altair
|
||
amethyst:
|
||
_app: Amethyst.app
|
||
_bin: amethyst
|
||
_desc: "Amethyst is a tiling window manager for macOS that allows users to organize and manage their windows efficiently. It enables users to resize and arrange windows using keyboard shortcuts, improving \nproductivity by eliminating the need to manually adjust window sizes. Amethyst supports multiple layouts and customizable key bindings, providing a flexible window management solution for macOS users. \nIt is open-source and available on GitHub at https://github.com/ianyh/Amethyst. "
|
||
_github: https://github.com/ianyh/Amethyst
|
||
_name: Amethyst
|
||
_short: "Amethyst is a tiling window manager for macOS. "
|
||
cask: amethyst
|
||
android-commandlinetools:
|
||
_bin: false
|
||
_deps:
|
||
- java
|
||
_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: false
|
||
_name: Android Platform Tools
|
||
cask: android-platform-tools
|
||
android-studio:
|
||
_app: Android Studio.app
|
||
_bin: android-studio
|
||
_deps:
|
||
- android-commandlinetools
|
||
- java
|
||
_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
|
||
_env:
|
||
ANDROID_STUDIO_APPDATA:
|
||
cask: TODO
|
||
choco: TODO
|
||
flatpak: TODO
|
||
snap: TODO
|
||
_github: false
|
||
_home: https://developer.android.com/studio
|
||
_name: Android Studio
|
||
cask: android-studio
|
||
choco: androidstudio
|
||
flatpak: com.google.AndroidStudio
|
||
snap: android-studio
|
||
yay: android-studio
|
||
angular-cli:
|
||
_bin: ng
|
||
_desc: "[Angular](https://angular.io) The web development framework for building the future"
|
||
_docs: https://angular.io/docs
|
||
_github: https://github.com/angular/angular
|
||
_home: https://angular.io
|
||
_name: Angular
|
||
_short: "Angular is an open-source web application framework maintained by Google for building dynamic single-page applications. "
|
||
brew: angular-cli
|
||
npm: "@angular/cli"
|
||
ansible:
|
||
_bin: ansible
|
||
_desc: "[Ansible](https://www.ansible.com/) Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain"
|
||
_docs: https://docs.ansible.com/
|
||
_github: https://github.com/ansible/ansible
|
||
_home: https://www.ansible.com/
|
||
_name: Ansible
|
||
_post:pipx: |
|
||
#!/usr/bin/env bash
|
||
if [ ! -f "${XDG_CACHE_HOME:-$HOME/.cache}/installx/ansible-post" ]; then
|
||
pipx inject ansible PyObjC PyObjC-core docker lxml netaddr pexpect python-vagrant pywinrm requests-credssp watchdog
|
||
touch "${XDG_CACHE_HOME:-$HOME/.cache}/installx/ansible-post"
|
||
else
|
||
logg info 'Ansible and dependencies already installed'
|
||
fi
|
||
_short: "Ansible is an open-source automation tool that simplifies IT orchestration, configuration management, and application deployment. "
|
||
pipx: ansible
|
||
ansible-lint:
|
||
_bin: ansible-lint
|
||
_desc: "[Ansible Lint](https://github.com/ansible/ansible-lint/) is a command-line tool for linting playbooks, roles and collections aimed toward any Ansible users"
|
||
_docs: https://ansible-lint.readthedocs.io/
|
||
_github: https://github.com/ansible/ansible-lint/
|
||
_home: https://github.com/ansible/ansible-lint/
|
||
_name: Ansible Lint
|
||
_short: "ansible-lint is a tool that checks playbooks for practices and behavior that could potentially be improved. "
|
||
pipx: ansible-lint
|
||
ansibleconnect:
|
||
_bin: ansibleconnect
|
||
_deps:
|
||
- sshpass
|
||
- tmux
|
||
_desc: "[ansibleconnect](https://github.com/psykulsk/ansibleconnect) allows you to connect to all hosts from the inventory with one command"
|
||
_docs: https://github.com/psykulsk/ansibleconnect
|
||
_github: https://github.com/psykulsk/ansibleconnect
|
||
_home: https://github.com/psykulsk/ansibleconnect
|
||
_name: Ansibleconnect
|
||
_short: "ansibleconnect is a repository for Ansible playbooks and roles created by psykulsk. "
|
||
pipx: ansibleconnect
|
||
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
|
||
_short: "Ansibler is a tool for managing Ansible playbooks and roles in a structured way. "
|
||
pipx: ansibler
|
||
ansifilter:
|
||
_bin: ansifilter
|
||
_github: false
|
||
_name: Ansifilter
|
||
brew: ansifilter
|
||
choco: ansifilter
|
||
port: ansifilter
|
||
apktool:
|
||
_bin: apktool
|
||
_desc: "Apktool is a popular open-source tool used for reverse engineering Android APK files. It allows users to decompile, modify, and recompile APK files, making it easier to analyze and understand the inner \nworkings of Android applications. Apktool is commonly used by developers, security researchers, and enthusiasts to explore and customize APKs. It supports decoding resources, smali code, and manifest \nfiles, enabling users to make changes to APKs without access to the original source code. Overall, Apktool is a valuable tool for Android application analysis and modification. "
|
||
_github: https://github.com/iBotPeaches/Apktool
|
||
_name: APKTool
|
||
_short: "Apktool is a tool for reverse engineering Android APK files. "
|
||
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."
|
||
_docs: https://appium.io/docs/en/about-appium/intro/
|
||
_github: https://github.com/appium/appium
|
||
_home: https://appium.io/
|
||
_name: Appium
|
||
_service: appium
|
||
_short: "Appium is an open-source automation tool for testing mobile, web, and hybrid applications. "
|
||
brew: appium
|
||
npm: appium
|
||
appium-desktop:
|
||
_app: Appium Server GUI.app
|
||
_bin: appium-desktop
|
||
_desc: "Appium Desktop is an open-source app that provides a graphical interface for Appium, an automation tool for testing mobile applications. It allows users to easily set up and run Appium server, inspect \nmobile apps, and write and run test scripts. Appium Desktop simplifies the process of creating and running automated tests for mobile apps across different platforms like iOS and Android. It is a \nvaluable tool for mobile app developers and testers looking to automate their testing processes. "
|
||
_github: https://github.com/appium/appium-desktop
|
||
_name: Appium Desktop
|
||
_short: Appium Desktop is a graphical interface for Appium, an open-source tool for automating mobile app testing. It provides a user-friendly way to interact with Appium server and inspect your app's elements.
|
||
appimage: appium/appium-desktop
|
||
cask: appium
|
||
choco: appium-desktop
|
||
appium-inspector:
|
||
_app: Appium Inspector.app
|
||
_bin: appium-inspector
|
||
_desc: "Appium Inspector is a tool provided by Appium, an open-source automation framework for mobile apps. It allows users to inspect elements of mobile applications for testing purposes. With Appium \nInspector, you can view the structure of your app's UI elements, locate elements using various selectors, and generate test scripts. It provides a graphical interface for inspecting elements across \ndifferent platforms like iOS and Android, making it easier for testers and developers to interact with mobile apps during the automation testing process. "
|
||
_github: https://github.com/appium/appium-inspector
|
||
_name: Appium Inspector
|
||
_short: "Appium Inspector is a tool for inspecting and recording interactions with mobile apps for testing purposes. "
|
||
appimage: appium/appium-inspector
|
||
cask: appium-inspector
|
||
choco: appium-desktop
|
||
appnest-readme:
|
||
_bin: readme
|
||
_desc: "[Readme](https://github.com/andreasbm/readme/) automatically generate a beautiful best-practice README file based on the contents of your repository"
|
||
_docs: https://github.com/andreasbm/readme/
|
||
_github: https://github.com/andreasbm/readme/
|
||
_home: https://github.com/andreasbm/readme/
|
||
_name: Readme
|
||
_short: "Description: \nA GitHub repository for the readme-md-generator tool by Andreas Baum. "
|
||
npm: "@appnest/readme"
|
||
apprise:
|
||
_bin: apprise
|
||
_deps:
|
||
- pywin32
|
||
- terminal-notifier
|
||
_desc: "Apprise is a Python library that simplifies the process of sending notifications to multiple messaging services. It supports various notification services like Slack, Discord, Telegram, and more. With \nApprise, you can easily integrate notifications into your scripts or applications by providing a unified interface to interact with different messaging platforms. It's a convenient tool for developers \nand system administrators to streamline their notification workflows. "
|
||
_github: https://github.com/caronc/apprise
|
||
_name: Apprise
|
||
_short: "Apprise is a Python library that simplifies sending notifications to multiple messaging services. "
|
||
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."
|
||
_docs: https://www.unix-ag.uni-kl.de/~bloch/acng/html/index.html
|
||
_github: https://salsa.debian.org/blade/apt-cacher-ng
|
||
_home: https://wiki.debian.org/AptCacherNg
|
||
_name: AptCacherNG
|
||
_short: "apt-cacher-ng is a caching proxy for software packages, primarily used in Debian-based systems like Ubuntu. It helps in saving bandwidth and speeding up package installations by caching downloaded \npackages locally. "
|
||
_systemd: apt-cacher-ng
|
||
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."
|
||
_docs: https://aquaproj.github.io
|
||
_github: https://github.com/aquaproj/aqua
|
||
_home: https://aquaproj.github.io
|
||
_name: aqua
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Aqua Initialization
|
||
# @brief Updates and installs any Aqua dependencies that are defined in Aqua's configuration file.
|
||
# @description
|
||
# This script updates Aqua and then installs any Aqua dependencies that are defined.
|
||
if command -v aqua > /dev/null; then
|
||
logg info 'Updating Aqua'
|
||
aqua update-aqua
|
||
logg info 'Installing Aqua dependencies (if any are defined)'
|
||
aqua install -a
|
||
else
|
||
logg info 'Skipping aqua install script because aqua was not installed'
|
||
fi
|
||
_short: "Aqua is a tool for secure and efficient container image scanning. "
|
||
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
|
||
_desc: "Arduino IDE is an open-source integrated development environment (IDE) for programming Arduino boards. It provides a user-friendly interface for writing, compiling, and uploading code to Arduino \ndevices. The IDE supports various Arduino boards and libraries, making it easy for both beginners and advanced users to develop projects. It is written in C++ and uses the Electron framework. The GitHub\nrepository contains the source code, issue tracker, and documentation for the Arduino IDE, allowing users to contribute, report bugs, and stay updated on the latest developments. "
|
||
_github: https://github.com/arduino/arduino-ide
|
||
_name: "arduino-ide "
|
||
_short: "The Arduino IDE is an open-source software used for programming Arduino boards. "
|
||
cask: arduino
|
||
choco: arduino
|
||
flatpak: cc.arduino.IDE2
|
||
argc:
|
||
_bin: argc
|
||
_desc: "argc is a command-line argument parser for C/C++ programs, available at https://github.com/sigoden/argc. It simplifies the process of parsing command-line arguments in C/C++ programs by providing a \nclean and easy-to-use interface. It allows developers to define options, flags, and arguments with minimal boilerplate code. This library can be useful for developers looking to quickly implement \ncommand-line argument parsing in their C/C++ projects without having to write complex parsing logic from scratch. "
|
||
_github: https://github.com/sigoden/argc
|
||
_name: Argc
|
||
_short: "argc is a command-line argument parser for C/C++ programs. "
|
||
cargo: argc
|
||
argo-cli:
|
||
_bin: argocd
|
||
_desc: ArgoCD is a declarative GitOps continuous delivery platform.
|
||
_docs: https://argoproj.github.io/argo-workflows/walk-through/argo-cli/
|
||
_github: https://github.com/argoproj/argo-cd
|
||
_home: https://argo-cd.readthedocs.io/en/stable/
|
||
_name: argo
|
||
_short: "Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. "
|
||
brew: argocd
|
||
choco: argocd-cli
|
||
github: https://github.com/argoproj/argo-workflows
|
||
pacman:
|
||
- argocd
|
||
- argocd-cli
|
||
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."
|
||
_docs: https://aria2.github.io/manual/en/html/
|
||
_github: https://github.com/aria2/aria2
|
||
_name: Aria2/AriaNg
|
||
_short: "aria2 is a lightweight multi-protocol & multi-source command-line download utility. "
|
||
ansible: professormanhattan.aria
|
||
apt: aria2
|
||
brew: aria2
|
||
choco: aria2
|
||
dnf:fedora: aria2
|
||
pacman: aria2
|
||
port: aria2
|
||
scoop: aria2
|
||
ariang:
|
||
_app: AriaNg Native.app
|
||
_desc: "AriaNg is a lightweight web frontend for the popular download utility Aria2. It provides a clean and intuitive interface for managing downloads through a web browser. Users can add, pause, resume, and \nremove downloads easily. AriaNg supports multiple languages, customizable themes, and can be accessed from various devices. It is a great tool for remotely managing downloads on a server or personal \ncomputer. "
|
||
_github: https://github.com/mayswind/AriaNg
|
||
_name: "AriaNg "
|
||
_short: "AriaNg is a lightweight web frontend for Aria2 that allows you to manage downloads through a web interface. "
|
||
cask: ariang
|
||
arping:
|
||
_bin: arping
|
||
_desc: "arping is a utility that allows users to send ARP (Address Resolution Protocol) requests and receive responses. It is commonly used to discover and verify network connectivity and address resolution on \na local network. The tool is helpful for troubleshooting network issues, detecting duplicate IP addresses, and testing network configurations. The GitHub repository for arping, maintained by Thomas \nHabets, likely contains the source code, documentation, and possibly discussions or issues related to the tool's development and usage. "
|
||
_github: https://github.com/ThomasHabets/arping
|
||
_name: ARPing
|
||
_short: "arping is a tool for sending ARP (Address Resolution Protocol) requests and measuring the time taken to receive a response. It helps in troubleshooting network connectivity and detecting duplicate IP \naddresses. "
|
||
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"
|
||
_docs: https://asciinema.org/docs/
|
||
_github: https://github.com/asciinema/asciinema
|
||
_home: https://asciinema.org/
|
||
_name: asciinema
|
||
_short: "asciinema is a tool for recording and sharing terminal sessions. "
|
||
apk: asciinema
|
||
apt: asciinema
|
||
brew: asciinema
|
||
dnf: asciinema
|
||
pacman: asciinema
|
||
pipx: asciinema
|
||
asdf:
|
||
_bin: asdf
|
||
_desc: "[asdf](https://asdf-vm.com/#/) is a CLI tool that can manage multiple language runtime versions on a per-project basis or globally. It is like gvm, nvm, rbenv, and pyenv all in one. This role installs asdf on Linux or macOS."
|
||
_docs: https://asdf-vm.com/guide/introduction.html
|
||
_github: https://github.com/asdf-vm/asdf
|
||
_home: https://asdf-vm.com/
|
||
_name: asdf-vm
|
||
_short: "asdf is a tool for managing multiple runtime versions like Node.js, Ruby, Python, etc., in a single environment. "
|
||
ansible: professormanhattan.asdf
|
||
assh:
|
||
_bin: assh
|
||
_desc: "[assh](https://manfred.life/assh) makes your ssh client smarter"
|
||
_docs: https://github.com/moul/assh
|
||
_github: https://github.com/moul/assh
|
||
_home: https://manfred.life/assh
|
||
_name: assh
|
||
_short: "assh is a tool that simplifies SSH configuration management by allowing you to define host aliases and settings in a single YAML file. "
|
||
brew: assh
|
||
go: moul.io/assh/v2
|
||
yay: assh
|
||
astronvim:
|
||
_deps:
|
||
- bottom
|
||
- lazygit
|
||
- neovim
|
||
- node
|
||
- python
|
||
- ripgrep
|
||
- tree-sitter
|
||
_desc: "[AstroNvim](https://astronvim.github.io/) is an aesthetic and feature-rich neovim config that is extensible and easy to use with a great set of plugins"
|
||
_docs: https://astronvim.github.io/
|
||
_github: https://github.com/AstroNvim/AstroNvim
|
||
_home: https://astronvim.github.io/
|
||
_name: AstroNvim
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
echo "Waiting on command that installs nvim plugins"
|
||
# bash -ci "nvim --headless -c 'quitall'"
|
||
_short: "AstroNvim is a plugin for Neovim that provides astronomy-related features and tools for users interested in astronomy while coding. "
|
||
atuin:
|
||
_bin: atuin
|
||
_desc: "Atuin is a tool for managing AWS infrastructure using a simple command-line interface. It allows users to create, update, and delete AWS resources like EC2 instances, security groups, and S3 buckets \nusing a declarative configuration file. Atuin aims to simplify AWS infrastructure management by providing a user-friendly interface and automating common tasks. It is written in Go and is open-source, \navailable on GitHub at https://github.com/ellie/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 login -u "$ATUIN_USERNAME" -p "$ATUIN_PASSWORD" -k "$ATUIN_KEY"
|
||
atuin import auto
|
||
atuin sync
|
||
_short: "Atuin is a command-line tool for managing macOS windows. "
|
||
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
|
||
_short: "Audacity is an open-source audio editing software for recording and editing sounds. "
|
||
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"
|
||
_docs: https://github.com/siddharthkp/auto-install
|
||
_github: https://github.com/siddharthkp/auto-install
|
||
_home: https://github.com/siddharthkp/auto-install
|
||
_name: auto-install
|
||
_short: "auto-install is a tool that automatically installs dependencies for your Node.js projects based on the packages you import in your code. "
|
||
npm: auto-install
|
||
autodoc:
|
||
_bin: doc
|
||
_desc: "AutoDoc is a tool developed by Context Labs available on GitHub at https://github.com/context-labs/autodoc. It is designed to automatically generate API documentation from source code comments. This \ntool can help streamline the documentation process by extracting information from code comments and presenting it in a structured format. It supports various programming languages and can be a useful \ntool for developers looking to maintain up-to-date and consistent API documentation alongside their codebase. "
|
||
_github: https://github.com/context-labs/autodoc
|
||
_name: Autodoc
|
||
_short: "AutoDoc is a tool for generating API documentation from source code comments. "
|
||
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."
|
||
_docs: https://autokey.github.io/
|
||
_github: https://github.com/autokey/autokey
|
||
_home: https://code.google.com/archive/p/autokey/
|
||
_name: Autokey
|
||
_short: "AutoKey is a powerful automation tool for keyboard shortcuts and text expansion on Linux and Unix-like systems. "
|
||
ansible:linux: professormanhattan.autokey
|
||
ansible:windows: professormanhattan.autokey
|
||
apt: autokey
|
||
choco: autohotkey
|
||
dnf: autokey
|
||
yay: autokey-gtk
|
||
automake:
|
||
_bin: automake
|
||
_desc: "[GNU Automake](https://www.gnu.org/software/automake/) is a tool for automatically generating Makefile.in files compliant with the GNU Coding Standards"
|
||
_docs: https://www.gnu.org/software/automake/manual/automake.html
|
||
_github: false
|
||
_home: https://www.gnu.org/software/automake/
|
||
_name: GNU Automake
|
||
apk: automake
|
||
apt: automake
|
||
brew: automake
|
||
dnf: automake
|
||
pacman: automake
|
||
pkg: automake
|
||
autorestic:
|
||
_bin: autorestic
|
||
_desc: "[Autorestic](https://autorestic.vercel.app/) is a wrapper around [Restic](https://restic.net/). The Restic CLI can be a bit overwhelming and difficult to manage if you have many different location that you want to backup to multiple locations. Autorestic makes managing all your S3 backups easier by making it config / cron driven."
|
||
_docs: https://autorestic.vercel.app/quick
|
||
_github: https://github.com/cupcakearmy/autorestic/
|
||
_home: https://autorestic.vercel.app/
|
||
_name: Autorestic
|
||
_short: "AutoRestic is a tool that simplifies and automates backups using Restic, a fast, secure, and efficient backup program. "
|
||
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
|
||
_short: "aws-shell is an interactive command-line interface for AWS services, allowing users to manage their AWS resources directly from the terminal. "
|
||
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.
|
||
_docs: https://docs.aws.amazon.com/cli/index.html
|
||
_github: https://github.com/aws/aws-cli
|
||
_home: https://aws.amazon.com/
|
||
_name: AWS CLI
|
||
_short: "AWS CLI is a unified tool to manage AWS services through the command line. "
|
||
ansible: professormanhattan.awscli
|
||
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
|
||
_desc: "[ansible-tower-cli](https://docs.ansible.com/ansible-tower/latest/html/towercli/index.html) is a CLI program that interacts with Ansible Tower or AWX. It is the official command-line client for both Ansible Tower and AWX. It uses naming and structure consistent with the AWX HTTP API, provides consistent output formats with optional machine-parsable formats, and auto-detects API versions, available endpoints, and feature support."
|
||
_docs: https://docs.ansible.com/ansible-tower/latest/html/towercli/index.html
|
||
_github: https://github.com/ansible/awx
|
||
_home: https://docs.ansible.com/automation.html
|
||
_name: AWX CLI
|
||
_short: "AWX is an open-source automation platform that provides a web-based user interface, REST API, and task engine built on top of Ansible. "
|
||
ansible: professormanhattan.awxcli
|
||
pipx: https://releases.ansible.com/ansible-tower/cli/ansible-tower-cli-latest.tar.gz
|
||
axel:
|
||
_bin: axel
|
||
_desc: "Axel is a lightweight command-line download accelerator for Linux and Unix-like systems. It splits downloads into multiple parts and downloads them simultaneously, which can result in faster download \nspeeds. It supports HTTP, HTTPS, and FTP protocols, allows for resuming interrupted downloads, and provides progress indicators during downloads. Axel is known for its simplicity and efficiency in \nspeeding up file downloads, making it a popular choice for users looking to optimize their download speeds from the command line. "
|
||
_github: https://github.com/axel-download-accelerator/axel
|
||
_name: Axel
|
||
_short: "Axel is a command-line download accelerator for Linux and Unix-like systems. "
|
||
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.
|
||
_docs: https://docs.microsoft.com/en-us/cli/azure/
|
||
_github: https://github.com/Azure/azure-cli
|
||
_home: https://azure.microsoft.com/
|
||
_name: Azure CLI
|
||
_short: "Azure CLI is a command-line tool for managing Azure resources. "
|
||
ansible: professormanhattan.azurecli
|
||
brew: azure-cli
|
||
choco: azure-cli
|
||
winget: Microsoft.AzureCLI
|
||
yay: azure-cli
|
||
azure-functions:
|
||
_bin: func
|
||
_desc: "[azure-functions-core-tools](https://github.com/Azure/azure-functions-core-tools) A local development experience for creating, developing, testing, running, and debugging Azure Functions"
|
||
_github: https://github.com/Azure/azure-functions-core-tools
|
||
_name: azure-functions-core-tools
|
||
_short: "Azure Functions Core Tools is a command-line interface for Azure Functions, enabling local development and testing of serverless functions. "
|
||
brew: azure/functions/azure-functions-core-tools@4
|
||
choco: azure-functions-core-tools
|
||
github: github.com/Azure/azure-functions-core-tools
|
||
npm: azure-functions-core-tools@4
|
||
backup:
|
||
_bin: backup
|
||
_desc: "Backup is an open-source Ruby gem that provides a DSL for performing backups and restoring data. It supports various storage destinations like Amazon S3, Dropbox, FTP, and more. Backup allows you to \nschedule backups, encrypt data, and perform database backups for MySQL, PostgreSQL, and MongoDB. It also supports notifications via email or Slack. It's a versatile tool for automating backup processes \nin a customizable and efficient manner. "
|
||
_github: https://github.com/backup/backup
|
||
_name: Backup
|
||
_short: "Backup is an open-source backup system for Unix-like systems, including macOS. It allows you to easily perform backups and store them on various cloud storage services. "
|
||
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."
|
||
_docs: https://www.balena.io/docs/learn/welcome/introduction/
|
||
_github: https://github.com/balena-io/etcher
|
||
_home: https://www.balena.io/etcher/
|
||
_name: balenaEtcher
|
||
_short: "Etcher is an open-source tool for burning images to SD cards and USB drives, making it easy to create bootable media for operating systems like Linux distributions or Raspberry Pi OS. "
|
||
ansible:linux: professormanhattan.etcher
|
||
appimage: etcher
|
||
cask: balenaetcher
|
||
choco: etcher
|
||
yay: balena-etcher
|
||
bandwhich:
|
||
_bin: bandwhich
|
||
_desc: "[Bandwhich](https://github.com/imsnif/bandwhich) is a CLI utility for displaying current network utilization by process, connection and remote IP/hostname."
|
||
_github: https://github.com/imsnif/bandwhich
|
||
_name: Bandwhich
|
||
_short: "bandwhich is a terminal bandwidth utilization tool for Linux and macOS. "
|
||
ansible: professormanhattan.bandwhich
|
||
brew: bandwhich
|
||
github: github.com/imsnif/bandwhich
|
||
pacman: bandwhich
|
||
pkg: bandwhich
|
||
bane:
|
||
_bin: bane
|
||
_desc: "[bane](https://github.com/genuinetools/bane) Custom & better AppArmor profile generator for Docker containers"
|
||
_github: https://github.com/genuinetools/bane
|
||
_name: bane
|
||
_short: "Bane is a tool for testing network services and applications for security vulnerabilities. "
|
||
github: github.com/genuinetools/bane
|
||
go: github.com/genuinetools/bane@latest
|
||
barrier:
|
||
_app: Barrier.app
|
||
_bin: barrier
|
||
_desc: "Barrier is an open-source software that allows you to share your mouse and keyboard between multiple computers with different operating systems. It enables you to control multiple machines with a single\nset of input devices seamlessly. Barrier supports Windows, macOS, and Linux operating systems, making it a versatile tool for users who work across different platforms. It is a convenient solution for \nstreamlining workflows and improving productivity by eliminating the need for multiple sets of input devices. "
|
||
_github: https://github.com/debauchee/barrier
|
||
_name: Barrier
|
||
_short: "Barrier is an open-source software that allows you to share your mouse and keyboard between multiple computers. "
|
||
_todo: TODO
|
||
cask: barrier
|
||
choco: barrier
|
||
flatpak: com.github.debauchee.barrier
|
||
bash-completion:
|
||
_bin: null
|
||
_desc: "bash-completion is a project on GitHub that provides programmable completion for the Bash shell. It offers completion scripts for various commands, making it easier for users to quickly and accurately \ncomplete command line inputs. These scripts enhance the usability of the Bash shell by providing suggestions and auto-completion for commands, options, and arguments. The project is actively maintained \nand allows users to contribute their own completion scripts for different commands and utilities. It's a useful tool for improving productivity and efficiency when working in a Bash environment. "
|
||
_docs: https://docs.brew.sh/Shell-Completion
|
||
_github: https://github.com/scop/bash-completion
|
||
_name: Bash Completion Formula
|
||
_short: "bash-completion is a tool for enhancing tab completion in the Bash shell. "
|
||
apt: bash-completion
|
||
brew: bash-completion@2
|
||
dnf: bash-completion
|
||
pacman: bash-completion
|
||
bashly:
|
||
_bin: bashly
|
||
_desc: "Bashly is a tool that helps in creating Bash command-line applications with ease. It allows developers to define the structure of their command-line interface using a simple configuration file, which is\nthen used to generate the necessary Bash scripts. This simplifies the process of building complex command-line applications in Bash by abstracting away the repetitive tasks involved in handling \narguments, flags, and commands. Bashly also provides features like auto-generated help menus, error handling, and tab completion. It is a useful tool for developers looking to create robust command-line\napplications in Bash efficiently. "
|
||
_github: https://github.com/DannyBen/bashly
|
||
_name: Bashly
|
||
_short: "bashly is a tool for creating Bash command-line applications with ease. "
|
||
gem: bashly
|
||
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."
|
||
_github: https://github.com/sharkdp/bat
|
||
_name: bat
|
||
_short: "bat is a cat(1) clone with syntax highlighting and Git integration. "
|
||
ansible: professormanhattan.bat
|
||
apk: bat
|
||
apt: bat
|
||
brew: bat
|
||
cargo: bat
|
||
choco: bat
|
||
pacman: bat
|
||
pkg: bat
|
||
port: bat
|
||
scoop: bat
|
||
zypper: bat
|
||
bat-extras:
|
||
_bin: batman
|
||
_desc: "bat-extras is a collection of additional scripts and utilities that extend the functionality of the bat command-line tool. These extras include features like syntax highlighting for more file types, \nintegration with version control systems like Git, and additional customization options. It enhances the user experience when viewing and working with files in the terminal using bat. You can find more \ndetails and installation instructions on the GitHub repository: bat-extras. "
|
||
_github: https://github.com/eth-p/bat-extras
|
||
_name: Bat Extras
|
||
_short: "bat-extras is a collection of additional scripts and functions for the bat command-line tool, enhancing its functionality on Unix-like systems. "
|
||
brew: bat-extras
|
||
emerge: sys-apps/bat-extras
|
||
pacman: bat-extras
|
||
bats:
|
||
_bin: bats
|
||
_desc: "bats-core is a GitHub repository for Bats (Bash Automated Testing System), a TAP-compliant testing framework for Bash and POSIX shell scripts. It provides a simple way to verify that the UNIX programs \nyou write behave as expected. The repository contains the source code, documentation, and issues related to the Bats project. Users can contribute to the project, report bugs, and access the latest \nreleases and updates for Bats testing framework. "
|
||
_github: https://github.com/bats-core/bats-core
|
||
_name: Bats Bash Testing
|
||
_short: "bats-core is a TAP-compliant testing framework for Bash. "
|
||
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
|
||
_short: "Bazelisk is a tool that manages different versions of Bazel, a build system developed by Google. It automatically downloads and uses the correct Bazel version specified for a project, simplifying the \nsetup process for developers. "
|
||
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
|
||
_desc: "Beekeeper Studio is an open-source SQL editor and database manager that supports various databases like MySQL, PostgreSQL, SQLite, and more. It provides a user-friendly interface for executing SQL \nqueries, managing database connections, and viewing query results. Beekeeper Studio offers features like syntax highlighting, auto-completion, and the ability to save queries. It is designed to be \nintuitive and easy to use for both beginners and experienced users in database management. The project is actively maintained on GitHub and welcomes contributions from the community. "
|
||
_github: https://github.com/beekeeper-studio/beekeeper-studio
|
||
_name: Beekeeper Studio
|
||
_short: "Beekeeper Studio is an open-source SQL editor and database manager for MacOS. "
|
||
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.
|
||
_docs: https://beets.readthedocs.io/en/stable/
|
||
_github: https://github.com/beetbox/beets
|
||
_home: https://beets.io/
|
||
_name: Beets
|
||
_short: "Beets is a music library manager and tagger for organizing your music collection efficiently. "
|
||
ansible: professormanhattan.beets
|
||
pipx: beets
|
||
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
|
||
_short: "Betwixt is a web debugging proxy based on Chrome DevTools Network panel with a focus on simplicity and ease of use. "
|
||
cask: betwixt
|
||
bfg:
|
||
_bin: bfg
|
||
_desc: "BFG Repo-Cleaner is a tool designed to remove large or problematic files from Git repositories. It's particularly useful for cleaning up repositories before sharing or migrating them. The tool operates \nmuch faster than Git's built-in filter-branch and offers a simpler syntax for specifying files to be removed. It can help reduce the size of repositories by eliminating unwanted files and history, \nmaking them more manageable. BFG Repo-Cleaner is commonly used for tasks like removing sensitive data, large binaries, or other unwanted files from Git history. "
|
||
_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
|
||
_short: "BFG Repo-Cleaner is a fast, simpler alternative to git-filter-branch for removing large files or sensitive data from Git repositories. "
|
||
brew: bfg
|
||
choco: bfg-repo-cleaner
|
||
port: bfg
|
||
bin:
|
||
_bin: bin
|
||
_desc: Effortless binary manager
|
||
_github: https://github.com/marcosnils/bin
|
||
_name: bin
|
||
_short: "bin is a collection of useful scripts and tools for macOS users, maintained by Marcos Nil. "
|
||
github: github.com/marcosnils/bin
|
||
go: github.com/marcosnils/bin@latest
|
||
binwalk:
|
||
_bin: binwalk
|
||
_desc: "Binwalk is a popular tool for analyzing, reverse engineering, and extracting firmware images. It can identify embedded files and executable code within firmware images, making it useful for security \nanalysis and vulnerability research. Binwalk supports various file formats commonly found in firmware, including compressed files, executables, and more. It provides detailed information about the \ncontents of firmware images, allowing users to understand the structure and components of embedded systems. Binwalk is widely used in the cybersecurity community for analyzing IoT devices, routers, and \nother embedded systems. "
|
||
_github: https://github.com/ReFirmLabs/binwalk
|
||
_name: Binwalk
|
||
_short: "Binwalk is a tool for analyzing, reverse engineering, and extracting firmware images. "
|
||
apt: binwalk
|
||
brew: binwalk
|
||
choco: binwalk
|
||
dnf: binwalk
|
||
pacman: binwalk
|
||
bismuth:
|
||
_bin: bismuth
|
||
_desc: "Bismuth is a blockchain platform that focuses on simplicity and modularity. It aims to provide a secure and decentralized environment for applications and smart contracts. The project on GitHub contains\nthe source code, documentation, and resources related to the Bismuth blockchain. Developers can contribute to the project, explore the codebase, and learn about the technology behind Bismuth. It's a \nvaluable resource for those interested in blockchain development and decentralized applications. "
|
||
_github: https://github.com/Bismuth-Forge/bismuth
|
||
_name: Bismuth
|
||
_short: "Bismuth is a blockchain platform that focuses on modularity and customization for developers. "
|
||
apt: kwin-bismuth
|
||
dnf: bismuth
|
||
pacman: kwin-bismuth
|
||
bitly:
|
||
_bin: bitly
|
||
_desc: Shorten links with Bitly in your terminal!
|
||
_github: https://github.com/xxczaki/bitly-cli-client
|
||
_name: bitly
|
||
_short: "bitly-cli-client is a command-line interface (CLI) tool for shortening URLs using the Bitly service. "
|
||
npm: bitly-cli-client
|
||
bitwarden:
|
||
_app: Bitwarden.app
|
||
_bin: bitwarden
|
||
_desc: The desktop vault (Windows, macOS, & Linux)
|
||
_github: https://github.com/bitwarden/desktop
|
||
_name: BitWarden
|
||
_short: "bitwarden/desktop is a secure and open-source password manager for desktop platforms. "
|
||
cask: bitwarden
|
||
choco: bitwarden
|
||
flatpak: com.bitwarden.desktop
|
||
github: github.com/bitwarden/desktop
|
||
mas: 1352778147
|
||
snap: bitwarden
|
||
yay: bitwarden-git
|
||
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."
|
||
_docs: https://bitwarden.com/help/
|
||
_github: https://github.com/bitwarden/clients
|
||
_home: https://bitwarden.com/
|
||
_name: Bitwarden CLI
|
||
_short: "Bitwarden Clients: Open-source password manager with clients for various platforms including web, desktop, and mobile. "
|
||
ansible: professormanhattan.bw
|
||
brew: bitwarden-cli
|
||
choco: bitwarden-cli
|
||
npm: "@bitwarden/cli"
|
||
scoop: bitwarden-cli
|
||
snap: bw
|
||
bivac:
|
||
_bin: null
|
||
_desc: "[Bivac](https://bivac.io/) - Backup Interface for Volumes Attached to Containers - allows to backup Container volumes using Restic"
|
||
_github: https://github.com/camptocamp/bivac
|
||
_home: https://bivac.io/
|
||
_name: bivac
|
||
_short: "Bivac is an open-source backup tool for virtual machines. "
|
||
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
|
||
_short: "BlackHole is a modern macOS virtual audio driver that allows applications to pass audio to other applications with zero additional latency. "
|
||
_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
|
||
_short: "Blender is an open-source 3D creation suite for modeling, animation, simulation, rendering, and more. "
|
||
apt: blender
|
||
cask: blender
|
||
choco: blender
|
||
dnf: blender
|
||
flatpak: org.blender.Blender
|
||
scoop: extras/blender
|
||
snap: blender --classic
|
||
blocky:
|
||
_bin: blocky
|
||
_desc: "Blocky is a tool available on GitHub at https://github.com/0xERR0R/blocky. It is a Python script designed for managing DNS blacklists. Blocky allows users to easily add, remove, and update domains in \nvarious blocklists. This tool can be useful for system administrators and network security professionals to control access to specific domains by blocking them at the DNS level. It provides a simple and\nefficient way to manage blacklists for enhanced security and control over network traffic. "
|
||
_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
|
||
_short: "blocky is a tool for managing and monitoring multiple blockchain nodes easily. "
|
||
brew: blocky
|
||
go: github.com/0xERR0R/blocky@mastergithub.com/0xERR0R/blocky@master
|
||
blueutil:
|
||
_bin: blueutil
|
||
_desc: "blueutil is a command-line utility for macOS that allows you to control Bluetooth settings. It provides functionalities like turning Bluetooth on or off, querying the status of Bluetooth, and managing \nconnected devices. This tool can be useful for automating Bluetooth-related tasks or integrating Bluetooth control into scripts. It's a lightweight and handy tool for managing Bluetooth settings on \nmacOS systems. "
|
||
_github: https://github.com/toy/blueutil
|
||
_name: BlueUtil
|
||
_short: "blueutil is a command-line utility for macOS that allows you to control Bluetooth settings. "
|
||
brew:darwin: blueutil
|
||
boilr:
|
||
_bin: null
|
||
_desc: boilerplate template manager that generates files or directories from template repositories
|
||
_github: https://github.com/tmrts/boilr
|
||
_name: boilr
|
||
_short: "Boilr is a command-line tool to generate files and directories from boilerplate templates. "
|
||
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.
|
||
_github: https://github.com/cloudflare/boringtun
|
||
_name: BoringTun
|
||
_short: "BoringTun is a lightweight WireGuard VPN implementation designed for embedded systems and low-resource environments. "
|
||
_todo: Add sudo boringtun-cli utun
|
||
brew: boringtun
|
||
cargo:darwin: boringtun-cli
|
||
cargo:linux: boringtun-cli
|
||
bottles:
|
||
_bin: bottles
|
||
_desc: "Bottles is a tool that allows you to run Windows applications on macOS using Wine. It provides a user-friendly interface to manage Windows applications, including installation, configuration, and \nremoval. Bottles simplifies the process of setting up and running Windows software on macOS by creating isolated environments for each application, reducing conflicts and dependencies. It is a \nconvenient solution for users who need to use specific Windows applications on their macOS system without the need for a full Windows installation. "
|
||
_github: https://github.com/bottlesdevs/Bottles
|
||
_name: "Bottles "
|
||
_short: "Bottles is a tool for managing Windows applications on macOS. "
|
||
flatpak: com.usebottles.bottles
|
||
bottom:
|
||
_bin: bottom
|
||
_bin:brew: btm
|
||
_desc: "[bottom](https://clementtsang.github.io/bottom/) is yet another cross-platform graphical process/system monitor. It is a customizable cross-platform graphical process/system monitor for the terminal that supports Linux, macOS, and Windows"
|
||
_docs: https://clementtsang.github.io/bottom/nightly/
|
||
_github: https://github.com/ClementTsang/bottom
|
||
_home: https://clementtsang.github.io/
|
||
_name: bottom
|
||
_short: "bottom is a cross-platform graphical process/system monitor with a customizable interface, written in Rust. "
|
||
brew: bottom
|
||
pacman: bottom
|
||
scoop: bottom
|
||
snap: bottom
|
||
brasero:
|
||
_bin: brasero
|
||
_desc: "Brasero is an open-source application for burning CDs and DVDs on the GNOME desktop environment. It provides a simple and user-friendly interface for creating and copying discs, as well as burning ISO \nimages. Brasero supports various disc formats and allows users to create audio CDs, data discs, and more. It is a popular tool for managing optical media on Linux systems. You can find more information \nand the source code for Brasero on its GitHub repository: GNOME/brasero. "
|
||
_github: https://github.com/GNOME/brasero
|
||
_name: Brasero
|
||
_short: "Brasero is a GNOME application for burning CDs/DVDs. "
|
||
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-
|
||
_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
|
||
function chromeSetUp() {
|
||
### Ensure Chrome policies directory is present
|
||
logg info 'Processing policy directories for Chromium based browsers'
|
||
for POLICY_DIR in "/etc/brave/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 "/etc/brave/extensions" "$HOME/Library/Application Support/BraveSoftware/Brave-Browser/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
|
||
_short: "Brave Browser is an open-source web browser that focuses on privacy and security, with built-in ad-blocking and privacy features. "
|
||
cask: brave-browser
|
||
choco: brave
|
||
flatpak: com.brave.Browser
|
||
snap: brave
|
||
brew-gem:
|
||
_bin: brew-gem
|
||
_desc: "brew-gem is a tool that allows you to install Ruby gems as Homebrew formulae on macOS. This simplifies managing Ruby gems by integrating them into Homebrew, a popular package manager for macOS. By using\nbrew-gem, you can easily install, update, and remove Ruby gems using Homebrew commands, providing a more streamlined approach to managing Ruby dependencies on your system. It helps in keeping your Ruby \nenvironment organized and easily maintainable. "
|
||
_github: https://github.com/sportngin/brew-gem
|
||
_name: Homebrew RubyGems
|
||
_short: "brew-gem is a Homebrew tap for installing Ruby gems as formulae. "
|
||
brew: brew-gem
|
||
brew-pkg:
|
||
_desc: "brew-pkg is a tool available on GitHub at https://github.com/timsutton/brew-pkg that allows you to build macOS installer packages directly from Homebrew formulae. It simplifies the process of creating \ninstaller packages for software installed via Homebrew, making it easier to distribute and deploy software on macOS systems. This tool can be particularly useful for system administrators and developers\nwho need to package Homebrew-installed software for deployment across multiple machines. "
|
||
_github: https://github.com/timsutton/brew-pkg
|
||
_name: Homebrew Pkg
|
||
_short: "brew-pkg is a tool that allows you to build macOS installer packages directly from Homebrew formulae. "
|
||
_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."
|
||
_docs: https://dystroy.org/broot/documentation/usage/
|
||
_github: https://github.com/Canop/broot
|
||
_home: https://dystroy.org/broot/
|
||
_name: Broot
|
||
_short: "broot is a command-line interactive tree view tool for navigating directories efficiently. "
|
||
ansible: professormanhattan.broot
|
||
apk: broot
|
||
brew: broot
|
||
cargo: broot
|
||
emerge: broot
|
||
pkgin: broot
|
||
port: broot
|
||
browser-sync:
|
||
_bin: browser-sync
|
||
_desc: "[Browsersync](https://browsersync.io/) allows you to keep multiple browsers & devices in sync when building websites"
|
||
_docs: https://browsersync.io/docs
|
||
_github: https://github.com/BrowserSync/browser-sync
|
||
_home: https://browsersync.io/
|
||
_name: Browsersync
|
||
_short: "BrowserSync is a tool that synchronizes actions across multiple browsers in real-time, making web development faster and more efficient. "
|
||
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
|
||
_short: "Browserosaurus is a macOS app that allows you to choose which browser to open links with. "
|
||
cask: browserosaurus
|
||
budibase-cli:
|
||
_bin: budi
|
||
_desc: "[Budibase](https://budibase.com) The Budibase CLI is how you initialise, manage and update your Budibase installation"
|
||
_docs: https://docs.budibase.com/docs/budibase-cli-reference
|
||
_github: https://github.com/Budibase/budibase
|
||
_home: https://budibase.com
|
||
_name: budibase-cli
|
||
_short: "Budibase is an open-source low-code platform for building internal tools and applications quickly. "
|
||
github: github.com/Budibase/budibase
|
||
npm: "@budibase/cli"
|
||
buildkite-agent:
|
||
_bin: buildkite-agent
|
||
_desc: "Buildkite Agent \n\nThe Buildkite Agent is an open-source tool that runs build jobs on your own infrastructure. It allows you to run builds on your own servers, providing more control and security over your build \nenvironment. The agent communicates with the Buildkite service to coordinate and execute build jobs. It supports various platforms and can be easily configured to integrate with your existing CI/CD \npipelines. The agent is highly customizable and scalable, making it a popular choice for teams looking to manage their build processes efficiently. "
|
||
_github: https://github.com/buildkite/agent
|
||
_name: BuildKite Agent
|
||
_short: "buildkite/agent is a lightweight build runner for continuous integration. "
|
||
brew: buildkite/buildkite/buildkite-agent
|
||
bun:
|
||
_bin: bun
|
||
_desc: "Bun is a tool developed by oven-sh available on GitHub at https://github.com/oven-sh/bun. It is a command-line utility for managing project-specific environments using Docker. Bun simplifies the process\nof setting up and managing development environments by defining project-specific configurations in a Bunfile. This allows developers to easily reproduce the same environment across different machines. \nBun also supports Docker Compose integration, making it easier to work with multi-container applications. It's a handy tool for streamlining development workflows and ensuring consistency across \nenvironments. "
|
||
_github: https://github.com/oven-sh/bun
|
||
_name: Bun
|
||
_short: "Bun is a tool for managing macOS development environments using Homebrew and Ansible. "
|
||
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"
|
||
_docs: https://bundler.io/docs.html
|
||
_github: https://github.com/rubygems/rubygems/tree/master/bundler
|
||
_home: https://bundler.io/
|
||
_name: Bundler
|
||
_short: "The link leads to the Bundler repository within the RubyGems organization on GitHub. Bundler is a tool for managing Ruby dependencies in a project. "
|
||
gem: bundler
|
||
caddy:
|
||
_bin: caddy
|
||
_desc: "Caddy is an open-source web server with automatic HTTPS capability built in. It is known for its simplicity and ease of use, making it popular for serving websites securely. Caddy's configuration is \ndone using a Caddyfile, which simplifies the process compared to traditional web servers. It supports features like virtual hosting, reverse proxy, static file serving, and more. Caddy is written in Go \nand is actively maintained by the community. It is a great choice for those looking for a modern, secure, and easy-to-configure web server solution. "
|
||
_github: https://github.com/caddyserver/caddy
|
||
_name: Caddy
|
||
_service: caddy
|
||
_short: "Caddy is a lightweight, open-source web server with automatic HTTPS. "
|
||
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
|
||
_short: "Cakebrew is a graphical user interface for Homebrew package manager on macOS. It provides a convenient way to manage packages and software installations through a visual interface. "
|
||
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
|
||
_github: https://github.com/sgentle/caniuse-cmd
|
||
_name: "caniuse-cmd "
|
||
_short: "caniuse-cmd is a command-line tool that provides compatibility data for HTML, CSS, and JavaScript features across different web browsers. "
|
||
npm: caniuse-cmd
|
||
capacitor:
|
||
_bin: cap
|
||
_desc: "Capacitor is an open-source cross-platform native runtime for web applications. Developed by the Ionic Team, it allows developers to build web apps that can run on iOS, Android, and the web with a \nsingle codebase. Capacitor provides a consistent API for accessing native features like camera, geolocation, and notifications, making it easier to create hybrid apps. It also supports Progressive Web \nApps (PWAs) and Electron for desktop applications. With Capacitor, developers can leverage their web development skills to create powerful, native-like experiences across multiple platforms. "
|
||
_github: https://github.com/ionic-team/capacitor
|
||
_name: Capacitor
|
||
_short: "Capacitor is a cross-platform app runtime that makes it easy to build web apps that run natively on iOS, Android, and the web. "
|
||
npm: "@capacitor/cli"
|
||
captain:
|
||
_bin: captain
|
||
_desc: Helps manage docker-compose.yml files from anywhere in the file system
|
||
_github: https://github.com/jenssegers/captain
|
||
_name: captain
|
||
_short: "Captain is a tool for managing your Laravel Forge servers through a simple and elegant interface. "
|
||
go: github.com/jenssegers/captain@latest
|
||
carapace:
|
||
_bin: carapace
|
||
_desc: "carapace-bin is a repository on GitHub maintained by rsteube. It contains shell completion scripts for various commands and utilities. These completion scripts help users by providing auto-completion \nsuggestions when typing commands in the shell, making it easier and faster to navigate and use these commands. The repository likely includes scripts for popular tools and commands, enhancing the user \nexperience for those working in the shell environment. "
|
||
_github: https://github.com/rsteube/carapace-bin
|
||
_name: Carapace
|
||
_short: "carapace-bin is a collection of shell completion scripts for various commands and tools, designed to enhance the command-line user experience. "
|
||
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"
|
||
_github: https://github.com/carbon-app/carbon
|
||
_home: https://carbon.now.sh/
|
||
_name: Carbon
|
||
_short: "Carbon is a tool that allows you to create and share beautiful images of your source code snippets. "
|
||
npm: carbon-now-cli
|
||
carthage:
|
||
_bin: carthage
|
||
_desc: A simple, decentralized dependency manager for Cocoa
|
||
_github: https://github.com/Carthage/Carthage
|
||
_name: Carthage
|
||
_short: "Carthage is a decentralized dependency manager for macOS and iOS development projects. "
|
||
brew:darwin: carthage
|
||
catfs:
|
||
_bin: catfs
|
||
_deps:
|
||
- 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
|
||
_short: "catfs is a FUSE-based file system that concatenates files and directories from multiple locations into a single virtual directory. "
|
||
ansible:linux: professormanhattan.s3filesystem
|
||
cargo:linux: catfs
|
||
catlight:
|
||
_app: Catlight.app
|
||
_desc: "CatLight is a tool that provides continuous build status notifications for software development teams. It supports various build servers like Jenkins, TeamCity, Travis CI, and more. CatLight monitors \nthe build status of projects and displays notifications on different platforms such as Windows, macOS, and Linux. It helps teams stay informed about the status of their builds without having to \nconstantly check the build server. CatLight also offers features like custom notifications, build history tracking, and integration with popular project management tools like Jira and Trello. "
|
||
_github: https://github.com/catlightio/CatLight
|
||
_name: Catlight
|
||
_short: "CatLight is a tool that provides visual alerts for continuous integration and other events from various sources like Jenkins, Travis CI, and more. "
|
||
cask: catlight
|
||
deb: https://catlight.io/downloads/linux/beta
|
||
ccat:
|
||
_bin: ccat
|
||
_desc: "ccat is a tool available on GitHub at https://github.com/owenthereal/ccat that enhances the traditional cat command in Unix-like systems. It adds syntax highlighting for various file types when \ndisplaying their contents in the terminal. This can make it easier to read and understand code or configuration files. It supports a wide range of languages and file formats, making it a useful tool for\ndevelopers and system administrators working with text files. "
|
||
_github: https://github.com/owenthereal/ccat
|
||
_name: ccat
|
||
_short: "ccat is a colorizing cat command that highlights syntax in terminal output. "
|
||
brew: ccat
|
||
go: github.com/owenthereal/ccat@latest
|
||
pacman: ccat
|
||
ceph:
|
||
_bin: ceph-client
|
||
_deps:
|
||
- dokany
|
||
_desc: "Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. It is open-source and can be used to store large amounts of data across multiple nodes. Ceph\nuses a decentralized architecture, with data being distributed across the cluster to ensure high availability and fault tolerance. It supports various storage interfaces like object, block, and file \nstorage. Ceph is commonly used in cloud computing environments and is known for its flexibility and ability to handle petabytes of data efficiently. "
|
||
_github: https://github.com/ceph/ceph
|
||
_name: CephFS
|
||
_short: "Ceph is a distributed storage system designed to provide excellent performance, reliability, and scalability. "
|
||
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
|
||
_github: https://github.com/cerebroapp/cerebro
|
||
_name: Cerebro
|
||
_short: "Cerebro is a cross-platform productivity app that acts as a search tool for your desktop, allowing you to quickly find and access files, applications, and information. "
|
||
cask: cerebro
|
||
choco: cerebro
|
||
github: github.com/cerebroapp/cerebro
|
||
yay: cerebro
|
||
certbot:
|
||
_bin: certbot
|
||
_desc: "[Certbot](https://certbot.eff.org/) is part of EFF’s effort to encrypt the entire Internet. Secure communication over the Web relies on HTTPS, which requires the use of a digital certificate that lets browsers verify the identity of web servers (e.g., is that really google.com?). Web servers obtain their certificates from trusted third parties called certificate authorities (CAs). Certbot is an easy-to-use client that fetches a certificate from [Let’s Encrypt](https://letsencrypt.org/)—an open certificate authority launched by the EFF, Mozilla, and others—and deploys it to a web server."
|
||
_docs: https://eff-certbot.readthedocs.io/en/stable/
|
||
_github: https://github.com/certbot/certbot
|
||
_home: https://certbot.eff.org/
|
||
_name: CertBot
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
pipx inject certbot certbot-dns-cloudflare
|
||
_post:windows: |
|
||
#!/usr/bin/env bash
|
||
echo "Add method for Windows"
|
||
_short: "Certbot is a free, open-source software tool that automates the process of enabling HTTPS on your website by deploying SSL/TLS certificates. "
|
||
pipx: certbot
|
||
cf-terraforming:
|
||
_bin: cf-terraforming
|
||
_desc: "cf-terraforming is a tool developed by Cloudflare that helps automate the process of exporting existing Cloudflare configurations into Terraform code. This tool allows users to manage their Cloudflare \nconfigurations as code, making it easier to version control, track changes, and replicate configurations across different environments. By using cf-terraforming, users can streamline their \ninfrastructure management processes and ensure consistency in their Cloudflare setups. "
|
||
_github: https://github.com/cloudflare/cf-terraforming
|
||
_name: CloudFlare Terraforming
|
||
_short: "cf-terraforming is a tool by Cloudflare that helps automate the creation of Terraform configurations for Cloudflare resources. "
|
||
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"
|
||
_github: https://github.com/cloudflare/cfssl
|
||
_home: https://cfssl.org/
|
||
_name: CFSSL
|
||
_short: "cfssl is a tool for TLS/PKI management by Cloudflare. "
|
||
brew: cfssl
|
||
pacman: cfssl
|
||
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
|
||
_short: "Charm is a collection of modern CLI tools for building interactive terminal applications in Go. "
|
||
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
|
||
_short: "chatGPT-mac is a macOS app that brings OpenAI's GPT-3 powered chatbot to your desktop for easy access and interaction. "
|
||
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)
|
||
_short: "nofwl is a minimalistic firewall for MacOS. "
|
||
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.
|
||
_docker: docker run --rm bannmann/docker-cheat
|
||
_docs: https://github.com/cheat/cheat
|
||
_github: https://github.com/cheat/cheat
|
||
_home: https://github.com/cheat/cheat
|
||
_name: Cheat
|
||
_short: "cheat is a command-line tool that allows you to create and view interactive cheatsheets for the command line. "
|
||
brew: cheat
|
||
go: github.com/cheat/cheat/cmd/cheat@latest
|
||
nix: nixos.cheat
|
||
snap: cheat
|
||
yay: cheat
|
||
chef-workstation:
|
||
_app: Chef Workstation App.app
|
||
_bin: chef-workstation
|
||
_desc: "Chef is an open-source configuration management tool written in Ruby and Erlang. It allows you to automate the deployment, configuration, and management of servers and applications. With Chef, you can \ndefine your infrastructure as code using recipes and cookbooks, which are used to describe how each part of your system should be configured. It supports various operating systems and cloud providers, \nmaking it a versatile tool for managing infrastructure at scale. Chef follows a client-server architecture where nodes (servers) are managed by a Chef server that stores configuration data and \ndistributes it to the nodes. "
|
||
_github: https://github.com/chef/chef
|
||
_name: Chef Workstation
|
||
_short: "Chef is an open-source automation platform that helps you manage your infrastructure as code. "
|
||
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.
|
||
_docs: https://www.chezmoi.io/user-guide/command-overview/
|
||
_github: https://github.com/twpayne/chezmoi
|
||
_home: https://www.chezmoi.io/
|
||
_name: Chezmoi
|
||
_short: "Chezmoi is a tool that helps manage dotfiles across multiple machines using a version control system like Git. "
|
||
apk: chezmoi
|
||
brew: chezmoi
|
||
choco: chezmoi
|
||
nix: chezmoi
|
||
pacman: chezmoi
|
||
pkg: chezmoi
|
||
snap: chezmoi --classic
|
||
xbps: chezmoi
|
||
zypper: chezmoi
|
||
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
|
||
_github: https://github.com/prasmussen/chrome-cli
|
||
_name: "chrome-cli "
|
||
_short: "chrome-cli is a command-line tool for controlling Google Chrome. "
|
||
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
|
||
_github: https://gitlab.gnome.org/GNOME/gnome-browser-extension
|
||
_home: ttps://wiki.gnome.org/Projects/GnomeShellIntegration
|
||
_name: "gnome-browser-extension "
|
||
_short: "GNOME Browser Extension is a project hosted on GitLab under the GNOME organization. It likely provides browser extensions tailored for the GNOME desktop environment. "
|
||
apt: chrome-gnome-shell
|
||
dnf: chrome-gnome-shell
|
||
pacman: chrome-gnome-shell
|
||
chrome-remote-desktop-host:
|
||
_app: Chrome Remote Desktop Host Uninstaller.app
|
||
_bin: chrome-remote-desktop-host
|
||
_github: false
|
||
_name: Chrome Remote Desktop Host
|
||
_todo: TODO - Add install method for Linux
|
||
cask: chrome-remote-desktop-host
|
||
choco: chrome-remote-desktop-host
|
||
chromium:
|
||
_bin: chromium
|
||
_deps:
|
||
- chrome-gnome-shell
|
||
_desc: "Chromium is an open-source web browser project that serves as the foundation for Google Chrome. It provides the source code for the Chromium browser, allowing developers to contribute to its development\nand customize it for their own purposes. The project is maintained by the Chromium team at Google and is known for its speed, stability, and support for modern web standards. Developers can access the \ncode, report issues, and contribute to the project's ongoing development on GitHub. "
|
||
_github: https://github.com/chromium/chromium
|
||
_name: "chromium "
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
function chromeSetUp() {
|
||
### Ensure Chrome policies directory is present
|
||
logg info 'Processing policy directories for Chromium based browsers'
|
||
for POLICY_DIR in "/etc/chromium/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'
|
||
# ### TODO - Find `EXTENSION_DIR` for macOS in Application Support folder like `$HOME/Library/Application Support/Google/Chrome/External Extensions` for Google Chrome
|
||
# for EXTENSION_DIR in "/etc/chromium/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
|
||
_short: "https://github.com/chromium/chromium is the official repository for the Chromium web browser, an open-source project that serves as the foundation for Google Chrome. "
|
||
apt: chromium
|
||
dnf: chromium
|
||
flatpak: org.chromium.Chromium
|
||
snap: chromium
|
||
clair:
|
||
_bin: clair
|
||
_desc: Vulnerability Static Analysis for Containers
|
||
_docs: https://quay.github.io/clair/
|
||
_github: https://github.com/quay/clair
|
||
_name: clair
|
||
_short: "Clair is an open-source vulnerability scanning tool for containers, used to monitor the security of container images. "
|
||
brew: clair
|
||
github: github.com/quay/clair
|
||
clamav:
|
||
_bin: clamav-config
|
||
_desc: "[ClamAV](https://www.clamav.net/) is an open-source antivirus engine for detecting trojans, viruses, malware & other malicious threats."
|
||
_docs: https://docs.clamav.net/
|
||
_github: https://github.com/Cisco-Talos/clamav
|
||
_home: https://www.clamav.net/
|
||
_name: ClamAV
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
### Add freshclam.conf
|
||
if [ -f "$HOME/.local/etc/clamav/freshclam.conf" ]; then
|
||
sudo mkdir -p /usr/local/etc/clamav
|
||
sudo cp -f "$HOME/.local/etc/clamav/freshclam.conf" /usr/local/etc/clamav/freshclam.conf
|
||
if [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav" ] && [ ! -f "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav/freshclam.conf" ]; then
|
||
ln -s /usr/local/etc/clamav/freshclam.conf "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav/freshclam.conf"
|
||
fi
|
||
fi
|
||
### Add clamd.conf
|
||
if [ -f "$HOME/.local/etc/clamav/clamd.conf" ]; then
|
||
sudo mkdir -p /usr/local/etc/clamav
|
||
sudo cp -f "$HOME/.local/etc/clamav/clamd.conf" /usr/local/etc/clamav/clamd.conf
|
||
if [ -d "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav" ] && [ ! -f "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav/clamd.conf" ]; then
|
||
ln -s /usr/local/etc/clamav/clamd.conf "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/clamav/clamd.conf"
|
||
fi
|
||
fi
|
||
### Update database
|
||
freshclam
|
||
### Setting up launchd services on macOS
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
sudo mkdir -p /var/log/clamav
|
||
# sudo chown $USER /var/log/clamav
|
||
sudo cp -f "$HOME/.local/etc/clamav/clamdscan.plist.tmpl" /Library/LaunchDaemons/clamdscan.plist
|
||
sudo cp -f "$HOME/.local/etc/clamav/freshclam.plist.tmpl" /Library/LaunchDaemons/freshclam.plist
|
||
sudo launchctl load -w /Library/LaunchDaemons/clamdscan.plist
|
||
sudo launchctl load -w /Library/LaunchDaemons/freshclam.plist
|
||
fi
|
||
_service:apt: clamav-freshclam
|
||
_service:brew:
|
||
- name: clamav
|
||
sudo: true
|
||
_service:dnf: clamd-freshclam
|
||
_service:pacman: clamav-freshclam
|
||
_serviceEnabled: true
|
||
_short: "ClamAV is an open-source antivirus engine for detecting trojans, viruses, malware, and other malicious threats on Unix-like systems. "
|
||
apt:
|
||
- clamav
|
||
- clamdscan
|
||
brew: clamav
|
||
dnf:
|
||
- clamav
|
||
- clamav-update
|
||
pacman: clamav
|
||
clangd:
|
||
_bin: clangd
|
||
_desc: "[clangd](https://clangd.llvm.org/) is an language server that understands your C++ code and adds smart features to your editor"
|
||
_docs: https://clangd.llvm.org/guides/
|
||
_github: https://github.com/llvm/llvm-project/tree/main/clang-tools-extra/clangd
|
||
_home: https://clangd.llvm.org/
|
||
_name: clangd
|
||
_short: "clangd is a language server for C++. It provides IDE-like features such as code completion, find references, and more for C and C++ codebases. "
|
||
apt: clangd
|
||
brew: llvm
|
||
choco: llvm
|
||
dnf: clang-tools-extra
|
||
pacman: clang
|
||
scoop: llvm
|
||
clipboard:
|
||
_bin: cb
|
||
_desc: "The repository at https://github.com/Slackadays/Clipboard.git appears to be a Git repository hosted on GitHub. Without further details or access to the repository, I can't provide specific information \nabout its contents. If you need more information, you may want to clone the repository locally and explore its files and commit history using Git commands. "
|
||
_github: https://github.com/Slackadays/Clipboard.git
|
||
_name: Clipboard
|
||
_short: "This is a GitHub repository named Clipboard under the Slackadays organization. "
|
||
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
|
||
_desc: "cloc (Count Lines of Code) is a tool used to count the lines of code in various programming languages. It can analyze multiple files and directories, providing a breakdown of the number of blank lines, \ncomment lines, and code lines in each file. It supports over 200 programming languages and file types, making it versatile for different projects. cloc is open-source and available on GitHub at \nhttps://github.com/AlDanial/cloc for users to download, contribute to, or report issues. "
|
||
_github: https://github.com/AlDanial/cloc
|
||
_name: Cloc
|
||
_short: "cloc is a tool that counts lines of code in various programming languages. "
|
||
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
|
||
_desc: Clocker is designed to help you keep track of your friends and colleagues in different time zones.
|
||
_github: https://github.com/n0shake/clocker
|
||
_name: "Clocker "
|
||
_short: "Clocker is a menu bar application for macOS that helps you schedule Do Not Disturb and Notification settings. "
|
||
cask: clocker
|
||
cloudflare-cli:
|
||
_bin: cfcli
|
||
_desc: "cloudflare-cli is a command-line interface tool available on GitHub at https://github.com/danielpigott/cloudflare-cli. This tool allows users to interact with Cloudflare's API directly from the command \nline, enabling tasks such as managing DNS records, configuring security settings, and more. It provides a convenient way to automate Cloudflare-related tasks and integrate them into scripts or \nworkflows. The tool is written in Python and offers a range of functionalities to streamline Cloudflare management from the terminal. "
|
||
_github: https://github.com/danielpigott/cloudflare-cli
|
||
_name: CloudFlare CLI
|
||
_short: "cloudflare-cli is a command-line interface tool for interacting with Cloudflare services directly from the terminal. "
|
||
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."
|
||
_github: https://github.com/cloudflare/cloudflared
|
||
_name: CloudFlared
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
{{- $registrationToken := "" }}
|
||
{{- if and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "cloudflared" .host.hostname)) -}}
|
||
{{- $registrationToken = (includeTemplate (print "cloudflared/" .host.hostname) | decrypt) -}}
|
||
{{- end }}
|
||
### Set up CloudFlare tunnels
|
||
if command -v cloudflared > /dev/null && [ -d "$HOME/.local/etc/cloudflared" ]; then
|
||
# Show warning message about ~/.cloudflared already existing
|
||
if [ -d "$HOME/.cloudflared" ]; then
|
||
logg warn '~/.cloudflared is already in the home directory - to ensure proper deployment, remove previous tunnel configuration folders'
|
||
fi
|
||
### Ensure /usr/local/etc/cloudflared exists
|
||
if [ -d /usr/local/etc/cloudflared ]; then
|
||
logg info 'Creating folder /usr/local/etc/cloudflared'
|
||
sudo mkdir -p /usr/local/etc/cloudflared
|
||
fi
|
||
# Copy over configuration files
|
||
logg info 'Ensuring /usr/local/etc/cloudflared exists' && sudo mkdir -p /usr/local/etc/cloudflared
|
||
logg info 'Copying over configuration files from ~/.local/etc/cloudflared to /usr/local/etc/cloudflared'
|
||
sudo cp -f "$HOME/.local/etc/cloudflared/cert.pem" /usr/local/etc/cloudflared/cert.pem
|
||
sudo cp -f "$HOME/.local/etc/cloudflared/config.yml" /usr/local/etc/cloudflared/config.yml
|
||
# Register tunnel (if not already registered)
|
||
if sudo cloudflared tunnel list | grep "host-{{ .host.hostname }}" > /dev/null; then
|
||
logg info 'CloudFlare tunnel is already registered'
|
||
else
|
||
logg info 'Creating a CloudFlare tunnel to this host'
|
||
sudo cloudflared tunnel create "host-{{ .host.hostname }}"
|
||
fi
|
||
TUNNEL_ID="$(sudo cloudflared tunnel list | grep 'host-{{ .host.hostname }}' | sed 's/ .*//')"
|
||
logg info "Tunnel ID: $TUNNEL_ID"
|
||
if [ -f "/usr/local/etc/cloudflared/${TUNNEL_ID}.json" ]; then
|
||
logg info 'Symlinking tunnel configuration to /usr/local/etc/cloudflared/credentials.json'
|
||
rm -f /usr/local/etc/cloudflared/credentials.json
|
||
sudo ln -s "/usr/local/etc/cloudflared/${TUNNEL_ID}.json" /usr/local/etc/cloudflared/credentials.json
|
||
else
|
||
logg info 'Handling case where the tunnel registration is not present in /usr/local/etc/cloudflared'
|
||
{{ if eq $registrationToken "" -}}
|
||
logg warn 'Registration token is unavailable - you might have to delete the pre-existing tunnel or set up secrets properly'
|
||
{{- else -}}
|
||
logg info 'Registration token retrieved from encrypted blob stored at home/.chezmoitemplates/cloudflared/{{ .host.hostname }}'
|
||
{{ if eq (substr 0 1 $registrationToken) "{" -}}
|
||
logg info 'Registration token stored in credential file form'
|
||
echo -n '{{ $registrationToken }}' | sudo tee /usr/local/etc/cloudflared/credentials.json > /dev/null
|
||
{{ else }}
|
||
logg info 'Registration token is in token form - it will be used in conjunction with sudo cloudflared service install'
|
||
{{- end }}
|
||
{{- end }}
|
||
fi
|
||
# Set up service
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
# System is macOS
|
||
if [ -f /Library/LaunchDaemons/com.cloudflare.cloudflared.plist ]; then
|
||
logg info 'cloudflared service is already installed'
|
||
else
|
||
logg info 'Running sudo cloudflared service install'
|
||
sudo cloudflared service install{{ if and (ne $registrationToken "") (eq (substr 0 1 $registrationToken) "{") -}} {{ $registrationToken }}{{ end }}
|
||
fi
|
||
logg info 'Ensuring cloudflared service is installed'
|
||
sudo launchctl start com.cloudflare.cloudflared
|
||
elif [ -f /etc/os-release ]; then
|
||
# System is Linux
|
||
if systemctl --all --type service | grep -q "cloudflared" > /dev/null; then
|
||
logg info 'cloudflared service is already available as a service'
|
||
else
|
||
logg info 'Running sudo cloudflared service install'
|
||
sudo cloudflared service install{{ if and (ne $registrationToken "") (eq (substr 0 1 $registrationToken) "{") -}} {{ $registrationToken }}{{ end }}
|
||
fi
|
||
logg info 'Ensuring cloudflared service is started'
|
||
sudo systemctl start cloudflared
|
||
logg info 'Enabling cloudflared as a boot systemctl service'
|
||
sudo systemctl enable cloudflared
|
||
else
|
||
# System is Windows
|
||
cloudflared service install
|
||
mkdir C:\Windows\System32\config\systemprofile\.cloudflared
|
||
# Copy same cert.pem as being used above
|
||
# copy C:\Users\%USERNAME%\.cloudflared\cert.pem C:\Windows\System32\config\systemprofile\.cloudflared\cert.pem
|
||
# https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/as-a-service/windows/
|
||
fi
|
||
else
|
||
logg info 'cloudflared was not installed so CloudFlare Tunnels cannot be enabled. (Or the ~/.local/etc/cloudflared folder is not present)'
|
||
fi
|
||
_short: "cloudflared is a tool by Cloudflare that allows secure and fast access to the internet. "
|
||
ansible: professormanhattan.cloudflared
|
||
binary:linux: https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
|
||
brew:darwin: cloudflare/cloudflare/cloudflared
|
||
github: github.com/cloudflare/cloudflared
|
||
cmake:
|
||
_bin: cmake
|
||
_desc: CMake is an open-source, cross-platform family of tools designed to build, test and package software.
|
||
_docs: https://cmake.org/documentation/
|
||
_github: https://github.com/Kitware/CMake
|
||
_home: https://cmake.org/
|
||
_name: Chezmoi
|
||
_short: "CMake is an open-source cross-platform build system designed to build, test, and package software. "
|
||
brew: cmake
|
||
choco: cmake
|
||
snap: cmake --classic
|
||
cmctl:
|
||
_bin: cmctl
|
||
_desc: A CLI tool that can help you to manage cert-manager resources inside your cluster
|
||
_docs: https://cert-manager.io/docs/
|
||
_github: https://github.com/cert-manager/cert-manager
|
||
_home: https://cert-manager.io/docs/usage/cmctl/
|
||
_name: cmctl
|
||
_short: "cert-manager is a Kubernetes add-on to automate and manage TLS certificates. "
|
||
brew: cmctl
|
||
cockpit:
|
||
_bin: cockpit
|
||
_desc: "[Cockpit](https://cockpit-project.org/) allows you to view many aspects of system performance and make configuration changes, though the task list may depend on the particular flavor of Linux that you are using."
|
||
_docs: https://cockpit-project.org/documentation.html
|
||
_github: https://github.com/cockpit-project/cockpit
|
||
_home: https://cockpit-project.org/
|
||
_name: Cockpit
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo usermod -a -G libvirtdbus libvirt
|
||
_service:pacman: cockpit.socket
|
||
_short: "Cockpit is a web-based graphical interface for managing Linux servers. "
|
||
_systemd: cockpit
|
||
_systemd:pacman: cockpit.socket
|
||
ansible:linux: professormanhattan.cockpit
|
||
apt:
|
||
- 389-ds-base
|
||
- cockpit
|
||
- cockpit-389-ds
|
||
- cockpit-machines
|
||
- cockpit-networkmanager
|
||
- cockpit-packagekit
|
||
- cockpit-podman
|
||
- cockpit-storaged
|
||
- libvirt-dbus
|
||
dnf:centos:
|
||
- 389-ds-base
|
||
- cockpit
|
||
- cockpit-machines
|
||
- cockpit-networkmanager
|
||
- cockpit-packagekit
|
||
- cockpit-podman
|
||
- cockpit-storaged
|
||
- libvirt-dbus
|
||
dnf:fedora:
|
||
- 389-ds-base
|
||
- cockpit
|
||
- cockpit-389-ds
|
||
- cockpit-machines
|
||
- cockpit-networkmanager
|
||
- cockpit-packagekit
|
||
- cockpit-podman
|
||
- cockpit-storaged
|
||
- libvirt-dbus
|
||
pacman:
|
||
- 389-ds-base
|
||
- cockpit
|
||
- cockpit-389-ds
|
||
- cockpit-machines
|
||
- cockpit-networkmanager
|
||
- cockpit-packagekit
|
||
- cockpit-podman
|
||
- cockpit-storaged
|
||
- libvirt-dbus
|
||
cockpit-client:
|
||
_bin: cockpit-client
|
||
_desc: "Cockpit is a web-based server management tool that allows users to monitor and manage multiple servers from a single interface. It provides a dashboard for system metrics, logs, storage, networking, and\nmore. Cockpit is designed to be user-friendly and accessible for both new and experienced administrators. It supports various Linux distributions and offers features like system updates, user \nmanagement, and container management. It is open-source and actively maintained by the Cockpit Project community on GitHub. "
|
||
_github: https://github.com/cockpit-project/cockpit
|
||
_home: https://cockpit-project.org/
|
||
_name: Cockpit Desktop Client
|
||
_short: "Cockpit is a web-based graphical interface for managing Linux servers. "
|
||
flatpak: org.cockpit_project.CockpitClient
|
||
cocoapods:
|
||
_bin: null
|
||
_desc: "[CocoaPods](https://cocoapods.org/) is an application level dependency manager for Objective-C, Swift and any other languages that run on the Objective-C runtime, such as RubyMotion, that provides a standard format for managing external libraries."
|
||
_docs: https://guides.cocoapods.org/using/getting-started.html
|
||
_github: https://github.com/CocoaPods/CocoaPods
|
||
_home: https://cocoapods.org/
|
||
_name: cocoapods
|
||
_short: "CocoaPods is a dependency manager for Swift and Objective-C projects. "
|
||
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
|
||
_short: "cod is a lightweight, fast, and powerful code editor designed for macOS. "
|
||
_todo: Check for brew install later on (5/14/2023)
|
||
go: github.com/dim-an/cod@master
|
||
codeclimate:
|
||
_bin: codeclimate
|
||
_desc: "Code Climate is a popular static analysis platform that helps developers improve code quality. It offers various tools like code review, static analysis, and test coverage to identify issues early in \nthe development process. Code Climate integrates with popular version control systems like GitHub to provide automated code review feedback. It helps teams maintain code quality standards, streamline \ncode reviews, and ultimately deliver better software. The platform supports multiple programming languages and provides actionable insights to help developers write cleaner, more maintainable code. "
|
||
_github: https://github.com/codeclimate/codeclimate
|
||
_name: CodeClimate
|
||
_short: "CodeClimate is a platform for automated code review and quality analysis. "
|
||
_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
|
||
_desc: "CodeEdit is a GitHub repository for an application called CodeEdit. It likely contains the source code, documentation, and possibly other resources related to the CodeEdit application. Without further \ndetails or access to the repository, it's difficult to provide a more in-depth description. If you need specific information or details about the project, you may want to explore the repository directly\non GitHub. "
|
||
_github: https://github.com/CodeEditApp/CodeEdit
|
||
_name: CodeEdit
|
||
_short: "CodeEdit is a collaborative code editor for developers to work together in real-time on coding projects. "
|
||
_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
|
||
_short: "coder/coder is an open-source platform for creating, running, and managing development environments in the cloud. "
|
||
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."
|
||
_docs: https://docs.cointop.sh/
|
||
_github: https://github.com/cointop-sh/cointop
|
||
_home: https://cointop.sh/
|
||
_name: Cointop
|
||
_short: "cointop is a fast and lightweight interactive terminal-based cryptocurrency tracker. "
|
||
ansible:darwin: professormanhattan.cointop
|
||
ansible:linux: professormanhattan.cointop
|
||
brew: cointop
|
||
port: cointop
|
||
commitizen:
|
||
_bin: cz
|
||
_desc: Commitizen is a tool designed for teams. Its main purpose is to define a standard way of committing rules and communicating it
|
||
_docs: https://commitizen-tools.github.io/commitizen/
|
||
_github: https://github.com/commitizen/cz-cli
|
||
_home: https://commitizen-tools.github.io/commitizen/
|
||
_name: commitizen
|
||
_short: "cz-cli is a command-line tool that helps in creating standardized commit messages following conventional commit message guidelines. "
|
||
npm: commitizen
|
||
commitlint:
|
||
_bin: commitlint
|
||
_desc: Lint commit messages
|
||
_docs: https://commitlint.js.org/#/?id=documentation
|
||
_github: https://github.com/conventional-changelog/commitlint
|
||
_home: https://commitlint.js.org
|
||
_name: commitlint
|
||
_short: "commitlint is a tool that enforces commit message conventions to ensure consistent and structured commit messages in a project. "
|
||
npm: "@commitlint/cli"
|
||
common:
|
||
_bin: null
|
||
_desc: For example, this role sets the timezone, sets the hostname, sets up the swap space, ensures auto-login is either disabled or enabled, and customizes GRUB (on Linux). It also ensures that specified groups are present on the system. On Windows, the role ensures all the available updates are installed, ensures [Scoop](https://scoop.sh/) is installed, and ensures common dependencies like [Bandizip](https://en.bandisoft.com/bandizip/) (a compressed-file manager) are installed.
|
||
_github: false
|
||
_name: Common
|
||
ansible: professormanhattan.common
|
||
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."
|
||
_docs: https://getcomposer.org/doc/
|
||
_github: https://github.com/composer/composer
|
||
_home: https://getcomposer.org/
|
||
_name: Composer
|
||
_short: "Composer is a dependency manager for PHP. "
|
||
ansible: professormanhattan.composer
|
||
brew: composer
|
||
choco: composer
|
||
pacman: composer
|
||
scoop: composer
|
||
script:darwin: cd ~ && curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer && sudo chmod +x /usr/local/bin/composer
|
||
script:linux: cd ~ && curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer && sudo chmod +x /usr/local/bin/composer
|
||
confd:
|
||
_bin: confd
|
||
_desc: Manage local application configuration files using templates and data from etcd or consul
|
||
_github: https://github.com/kelseyhightower/confd
|
||
_name: confd
|
||
_short: "confd is a lightweight configuration management tool designed to help manage application configuration files dynamically using templates and backends like etcd, consul, or environment variables. "
|
||
brew: confd
|
||
choco: confd
|
||
github: github.com/kelseyhightower/confd
|
||
yay: confd
|
||
connections:
|
||
_bin: connections
|
||
_github: false
|
||
_gitlab: https://gitlab.gnome.org/GNOME/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"
|
||
_docs: https://developer.hashicorp.com/consul/docs
|
||
_github: https://www.github.com/hashicorp/consul
|
||
_home: https://www.consul.io/
|
||
_name: Consul
|
||
_service: consul
|
||
_short: "Consul is a tool for service discovery, configuration, and orchestration by HashiCorp. "
|
||
apt: consul
|
||
brew: consul
|
||
pkg: consul
|
||
yay: consul-bin
|
||
consul-template:
|
||
_bin: consul-template
|
||
_desc: "[Consul-Template](https://github.com/hashicorp/consul-template) provides a convenient way to populate values from [Consul](https://www.consul.io/) into the file system using the consul-template daemon. It was created by [HashiCorp](https://www.hashicorp.com/) (the creators of Consul)."
|
||
_docs: https://learn.hashicorp.com/tutorials/consul/consul-template
|
||
_github: https://github.com/hashicorp/consul-template
|
||
_home: https://www.hashicorp.com/
|
||
_name: Consul Template
|
||
_short: "Consul Template is a tool by HashiCorp that renders templates based on Consul data. "
|
||
ansible: professormanhattan.consultemplate
|
||
brew: consul-template
|
||
choco: consul-template
|
||
scoop: main/consul
|
||
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
|
||
_github: https://github.com/GoogleContainerTools/container-structure-test
|
||
_name: Container Structure Tests
|
||
_post:binary:linux: |
|
||
#!/usr/bin/env bash
|
||
echo "TODO"
|
||
_short: "container-structure-test is a tool by GoogleContainerTools for validating container images against a set of tests. "
|
||
binary:linux: https://storage.googleapis.com/container-structure-test/latest/container-structure-test-linux-amd64
|
||
brew: container-structure-test
|
||
yay: container-structure-test
|
||
cookiecutter:
|
||
_bin: cookiecutter
|
||
_desc: A cross-platform command-line utility that creates projects from cookiecutters (project templates)
|
||
_docs: https://cookiecutter.readthedocs.io/
|
||
_github: https://github.com/cookiecutter/cookiecutter
|
||
_name: cookiecutter
|
||
_short: "Cookiecutter is a tool that helps you create project templates from cookiecutters (project skeletons). It allows for easy project setup and customization by generating files and folders based on \ntemplates. "
|
||
brew: cookiecutter
|
||
pipx: cookiecutter
|
||
cordova:
|
||
_bin: cordova
|
||
_desc: "[Apache Cordova](https://cordova.apache.org/) is a tool to create cross-platform apps from standard web technologies (HTML, CSS, and JavaScript). Its primary purpose is to provide a bridge for native device API access and to bundle for distribution"
|
||
_docs: https://cordova.apache.org/docs/en/latest/
|
||
_github: https://github.com/apache/cordova
|
||
_home: https://cordova.apache.org/
|
||
_name: Apache Cordova
|
||
_short: "Apache Cordova is an open-source mobile development framework that allows developers to build mobile applications using web technologies like HTML, CSS, and JavaScript. "
|
||
npm: cordova
|
||
coreutils:
|
||
_bin:
|
||
- cat
|
||
- ls
|
||
- rm
|
||
_bin:darwin: gchown
|
||
_github: false
|
||
apt: coreutils
|
||
brew: coreutils
|
||
dnf: coreutils
|
||
pacman: coreutils
|
||
croc:
|
||
_bin: croc
|
||
_desc: Easily and securely send things from one computer to another
|
||
_github: https://github.com/schollz/croc
|
||
_name: croc
|
||
_short: "croc is a tool for secure and easy file transfer between computers. "
|
||
brew: croc
|
||
choco: croc
|
||
github: github.com/schollz/croc
|
||
go: github.com/schollz/croc/v9@latest
|
||
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
|
||
_short: "Crunch is a tool for creating wordlists based on character sets. "
|
||
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
|
||
_short: "Crunch is a tool for creating wordlists based on character sets. "
|
||
cask: crunch
|
||
cryptomator:
|
||
_app: Cryptomator.app
|
||
_bin: cryptomator
|
||
_desc: "Cryptomator is an open-source encryption software that provides client-side encryption for your cloud storage files. It allows you to securely store your data in the cloud by encrypting it on your \ndevice before uploading. This ensures that only you have access to your files, even if the cloud storage provider is compromised. Cryptomator supports various cloud storage services and offers a \nuser-friendly interface for managing your encrypted files. It is available for multiple platforms, including Windows, macOS, Linux, Android, and iOS. "
|
||
_github: https://github.com/cryptomator/cryptomator
|
||
_name: "Cryptomator "
|
||
_short: "Cryptomator is an open-source encryption software that provides client-side encryption for your cloud files. "
|
||
cask: cryptomator
|
||
choco: cryptomator
|
||
flatpak: org.cryptomator.Cryptomator
|
||
csvkit:
|
||
_bin: csvcut
|
||
_desc: "csvkit is a suite of command-line tools for working with CSV files. It allows you to easily manipulate and analyze CSV data using simple commands in the terminal. With csvkit, you can convert between \nCSV, JSON, SQL, and other formats, clean and filter data, aggregate and join datasets, and more. It's a powerful tool for anyone working with CSV files who prefers command-line interfaces for data \nprocessing. You can find more information and documentation on how to use csvkit at https://github.com/wireservice/csvkit. "
|
||
_github: https://github.com/wireservice/csvkit
|
||
_name: "csvkit "
|
||
_short: "csvkit is a suite of utilities for working with CSV files in the command line. "
|
||
brew: csvkit
|
||
ctop:
|
||
_bin: ctop
|
||
_desc: Top-like interface for container metrics
|
||
_github: https://github.com/bcicen/ctop
|
||
_name: ctop
|
||
_short: "ctop is a concise and intuitive container monitoring tool for Docker. "
|
||
brew: ctop
|
||
github: github.com/bcicen/ctop
|
||
yay: ctop-bin
|
||
cumulus:
|
||
_app: Cumulus.app
|
||
_bin: null
|
||
_desc: A SoundCloud player that lives in the menubar
|
||
_github: https://github.com/gillesdemey/Cumulus
|
||
_name: Cumulus
|
||
_short: "Cumulus is a command-line tool for managing DigitalOcean servers. "
|
||
cask: cumulus
|
||
github: github.com/gillesdemey/Cumulus
|
||
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."
|
||
_github: https://github.com/apple/cups
|
||
_name: CUPS
|
||
_ports:
|
||
- port: 631
|
||
proto: tcp
|
||
_short: "CUPS (Common UNIX Printing System) is an open-source printing system developed by Apple for Unix-like operating systems. "
|
||
_systemd: smbd
|
||
ansible: professormanhattan.cups
|
||
apt:
|
||
- avahi-daemon
|
||
- cups
|
||
brew: cups
|
||
dnf: cups
|
||
pacman:
|
||
- avahi-daemon
|
||
- cups
|
||
curator:
|
||
_bin: curator
|
||
_desc: Elasticsearch Curator helps you curate, or manage, your Elasticsearch indices and snapshots
|
||
_docs: https://www.elastic.co/guide/en/elasticsearch/client/curator
|
||
_github: https://github.com/elastic/curator
|
||
_home: https://www.elastic.co/guide/en/elasticsearch/client/curator
|
||
_name: curator
|
||
_short: "Curator is a tool for managing time-series indices in Elasticsearch. "
|
||
pipx: elasticsearch-curator
|
||
curl:
|
||
_bin: curl
|
||
_desc: cURL is a computer software project providing a library (libcurl) and command-line tool (curl) for transferring data using various network protocols.
|
||
_docs: https://curl.se/docs/
|
||
_github: https://github.com/curl/curl
|
||
_home: https://curl.se/
|
||
_name: cURL
|
||
_short: "curl is a command-line tool and library for transferring data with URLs. "
|
||
apk: curl
|
||
apt: curl
|
||
brew: curl
|
||
choco: curl
|
||
dnf: curl
|
||
pacman: curl
|
||
pkg: curl
|
||
scoop: curl
|
||
xbps: curl
|
||
zypper: curl
|
||
curlie:
|
||
_bin: curlie
|
||
_desc: Curlie is a frontend to curl that adds the ease of use of httpie, without compromising on features and performance.
|
||
_docs: https://curlie.io/
|
||
_github: https://github.com/rs/curlie
|
||
_home: https://curlie.io/
|
||
_name: Curlie
|
||
_short: "curlie is a modern command-line interface for curl. "
|
||
brew: curlie
|
||
go: github.com/rs/curlie@latest
|
||
pkg: curlie
|
||
port: curlie
|
||
scoop: curlie
|
||
cutter:
|
||
_app: Cutter.app
|
||
_bin: cutter
|
||
_desc: "Cutter is a graphical user interface for the Rizin reverse engineering framework. It provides a user-friendly environment for analyzing and manipulating binary files. Cutter allows users to disassemble,\ndebug, and analyze executables in a visually appealing way. It supports various architectures and file formats, making it a versatile tool for reverse engineering tasks. Additionally, Cutter is \nopen-source and actively maintained by the Rizin community, making it a popular choice for both beginners and experienced reverse engineers. "
|
||
_github: https://github.com/rizinorg/cutter
|
||
_name: "cutter "
|
||
_short: "Cutter is a graphical user interface for the Rizin reverse engineering framework. "
|
||
cask: cutter
|
||
choco: cutter
|
||
flatpak: re.rizin.cutter
|
||
cyberduck:
|
||
_app: Cyberduck.app
|
||
_bin: cyberduck
|
||
_github: https://github.com/iterate-ch/cyberduck
|
||
_name: Cyberduck
|
||
cask: cyberduck
|
||
choco: cyberduck
|
||
cyberduck-cli:
|
||
_bin: duck
|
||
_github: https://github.com/iterate-ch/cyberduck
|
||
_name: Cyberduck CLI
|
||
brew: cyberduck
|
||
choco: duck
|
||
pacman: duck
|
||
d2vm:
|
||
_bin: d2vm
|
||
_desc: "d2vm is a project hosted on GitHub under the linka-cloud organization. It appears to be related to virtual machine management, possibly for development or testing purposes. The repository likely \ncontains scripts, configurations, or tools for managing virtual machines efficiently. To get more detailed information about its specific features and functionalities, you may need to explore the \nrepository's contents, README file, or any documentation provided within the project. "
|
||
_github: https://github.com/linka-cloud/d2vm
|
||
_name: Docker 2 VM
|
||
_short: "d2vm is a lightweight virtual machine manager for managing virtual machines on macOS. "
|
||
brew: linka-cloud/tap/d2vm
|
||
dagu:
|
||
_bin: dagu
|
||
_desc: "dagu-dev/dagu \n\nThis is a GitHub repository belonging to the user \"dagu-dev\" named \"dagu.\" It likely contains code, documentation, or other files related to a project called \"dagu.\" Without further information or \naccess to the repository, it's difficult to provide more details. You can visit the link to explore the contents of the repository and learn more about the project it represents. "
|
||
_github: https://github.com/dagu-dev/dagu
|
||
_name: Dagu
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo mkdir -p /var/log/dagu
|
||
_short: "dagu is a GitHub repository for the Dagu project. "
|
||
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
|
||
_github: https://github.com/TomWright/dasel
|
||
_name: dasel
|
||
_short: "Dasel is a command-line tool to query and modify data in JSON, YAML, TOML, XML, and CSV files using a simple and expressive syntax. "
|
||
brew: dasel
|
||
github: github.com/TomWright/dasel
|
||
go: github.com/tomwright/dasel/cmd/dasel@master
|
||
dat:
|
||
_bin: dat
|
||
_desc: Peer-to-peer sharing & live syncronization of files via command line
|
||
_github: https://github.com/datproject/dat
|
||
_name: dat
|
||
_short: "dat is a decentralized data sharing tool for efficiently syncing and versioning files across multiple devices. "
|
||
github: github.com/dat-ecosystem-archive/dat
|
||
npm: dat@next
|
||
dat-desktop:
|
||
_app: Dat Desktop.app
|
||
_bin: null
|
||
_desc: Peer to peer data syncronization
|
||
_github: https://github.com/datproject/dat-desktop
|
||
_name: Dat Desktop
|
||
_short: "dat-desktop is a desktop application for sharing and syncing files using the Dat protocol. "
|
||
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
|
||
_desc: "The link provided is for the GNOME dconf-editor repository on GitHub. dconf-editor is a graphical editor for the dconf configuration system used in GNOME. It allows users to view and edit settings that \nare stored in a simple key-value format. The repository contains the source code for the dconf-editor application, which is written in C and uses GTK for the graphical interface. Users can contribute to\nthe development of dconf-editor by submitting issues, feature requests, or pull requests on this repository. "
|
||
_github: https://github.com/GNOME/dconf-editor/tree/master
|
||
_gitlab: https://gitlab.gnome.org/GNOME/dconf-editor
|
||
_name: "dconf-editor "
|
||
_short: "dconf-editor is a graphical editor for the Dconf configuration system used in GNOME. "
|
||
flatpak: ca.desrt.dconf-editor
|
||
debloat:
|
||
_bin: null
|
||
_desc: This repository is the home of an Ansible role that Debloats Windows
|
||
_github: false
|
||
_name: Debloat Windows
|
||
ansible: professormanhattan.debloat
|
||
debsecan:
|
||
_bin: debsecan-by-type
|
||
_desc: debsecan analyzes the list of installed packages on the current host and reports vulnerabilities found on the system.
|
||
_github: false
|
||
_gitlab: https://gitlab.com/fweimer/debsecan
|
||
_home: https://wiki.debian.org/DebianSecurity/debsecan
|
||
_name: Debian Security Analyzer
|
||
apt: debsecan
|
||
defaultbrowser:
|
||
_bin: null
|
||
_desc: This role performs the necessary logic to set the default browser on nearly any platform.
|
||
_github: false
|
||
_name: Default Browser Setter
|
||
ansible: professormanhattan.defaultbrowser
|
||
deja-dup:
|
||
_bin: dejadup
|
||
_github: false
|
||
_gitlab: https://gitlab.gnome.org/World/deja-dup
|
||
_home: https://apps.gnome.org/DejaDup/
|
||
flatpak: org.gnome.DejaDup
|
||
delta:
|
||
_bin: delta
|
||
_desc: "[delta](https://github.com/dandavison/delta) is a viewer for git and diff output"
|
||
_docs: https://dandavison.github.io/delta/
|
||
_github: https://github.com/dandavison/delta
|
||
_home: https://github.com/dandavison/delta
|
||
_name: Delta
|
||
_short: "Delta is a tool for viewing git diff output with syntax highlighting and line decorations. "
|
||
ansible: professormanhattan.delta
|
||
brew: git-delta
|
||
cargo: git-delta
|
||
choco: delta
|
||
dnf:fedora: git-delta
|
||
pacman: git-delta
|
||
pkg: git-delta
|
||
scoop: delta
|
||
delve:
|
||
_bin: dlv
|
||
_desc: Delve is a debugger for the Go programming language.
|
||
_docs: https://github.com/go-delve/delve/tree/master/Documentation
|
||
_github: https://github.com/go-delve/delve
|
||
_home: https://github.com/go-delve/delve
|
||
_name: Delve
|
||
_short: "Delve is a debugger for the Go programming language, allowing developers to inspect and debug Go programs efficiently. "
|
||
brew: delve
|
||
go: github.com/go-delve/delve/cmd/dlv@latest
|
||
deno:
|
||
_bin: deno
|
||
_desc: "[Deno](https://deno.land/) is a modern runtime for JavaScript and TypeScript. It is advertised as a simple runtime that uses V8 and Rust. It is boasted as secure-by-default because there is no file, network, or environment access unless explicitly enabled. Deno compiles apps into single executables. An app made with Deno generally specifies its dependencies as URLs mainly hosted in the [Deno standard module repository](https://deno.land/std)."
|
||
_docs: https://deno.land/manual
|
||
_github: https://github.com/denoland/deno
|
||
_home: https://deno.land/
|
||
_name: Deno
|
||
_short: "Deno is a secure runtime for JavaScript and TypeScript. "
|
||
ansible: professormanhattan.deno
|
||
brew: deno
|
||
cargo: deno
|
||
choco: deno
|
||
nix: deno
|
||
scoop: deno
|
||
desed:
|
||
_bin: desed
|
||
_desc: Debugger for sed used to demystify and debug the sed scripts, from comfort of terminal
|
||
_docs: https://github.com/SoptikHa2/desed#controls
|
||
_github: https://github.com/SoptikHa2/desed
|
||
_home: https://github.com/SoptikHa2/desed
|
||
_name: desed
|
||
_short: "desed is a tool for debugging and exploring sed commands interactively. "
|
||
cargo: desed
|
||
dnf:fedora: desed
|
||
github: github.com/SoptikHa2/desed
|
||
pkg: desed
|
||
xbps-freebsd: desed
|
||
desk:
|
||
_bin: desk
|
||
_desc: "Desk is a tool that helps you manage your workspace configurations on macOS. It allows you to save and restore different setups of your desktop, including open applications, windows, and their \npositions. This can be useful for switching between different projects or tasks without having to rearrange everything manually each time. Desk is a command-line tool that lets you create, list, switch,\nand remove these configurations easily. It's a handy utility for improving productivity and organization on your Mac. "
|
||
_github: https://github.com/jamesob/desk
|
||
_name: Desk
|
||
_short: "desk is a tool for managing your workspace configurations in macOS. "
|
||
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.
|
||
_github: false
|
||
_name: Desktop
|
||
ansible: professormanhattan.desktop
|
||
deta:
|
||
_bin: deta
|
||
_desc: Command line interface for managing Deta micros and deployments
|
||
_docs: https://docs.deta.sh/docs/cli/install
|
||
_github: https://github.com/deta/deta-cli
|
||
_home: https://www.deta.sh/
|
||
_name: deta
|
||
_short: "deta-cli is a command-line interface tool for Deta, a platform for building and deploying scalable cloud applications. "
|
||
github: github.com/deta/deta-cli
|
||
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
|
||
_desc: "devbox is a GitHub repository belonging to jetpack-io. It likely contains resources related to a development environment setup, possibly including configurations, scripts, or tools to streamline the \nsetup process. To get more detailed information, you can visit the repository link provided and explore the contents. "
|
||
_github: https://github.com/jetpack-io/devbox
|
||
_name: "devbox "
|
||
_short: "devbox is a tool for creating and managing development environments using Docker. "
|
||
_todo: Revisit because install via script would require expect since piping y to the installer is not working
|
||
devpod:
|
||
_bin: devpod
|
||
_desc: "Devpod is a tool that allows developers to create disposable development environments using Kubernetes. It enables developers to define their development environment as code, making it easy to share and\nreproduce. Devpod provides a consistent and isolated environment for each developer, ensuring that dependencies are managed consistently. It supports various IDEs and tools, making it versatile for \ndifferent development workflows. Overall, Devpod streamlines the setup of development environments, making it easier for teams to collaborate and work efficiently. "
|
||
_github: https://github.com/loft-sh/devpod
|
||
_name: DevPod
|
||
_short: "Devpod is a tool that creates disposable development environments using Kubernetes. "
|
||
cask: devpod
|
||
devspace:
|
||
_bin: devspace
|
||
_desc: "DevSpace is a tool that simplifies the development workflow for Kubernetes applications. It allows developers to build, test, and deploy applications directly in Kubernetes clusters without needing to \nset up complex local environments. DevSpace provides features like hot reloading, remote debugging, and easy configuration management. It supports various programming languages and frameworks, making it\na versatile tool for Kubernetes development. The tool is open-source and actively maintained on GitHub, making it accessible for developers looking to streamline their Kubernetes development process. "
|
||
_github: https://github.com/devspace-sh/devspace
|
||
_name: DevSpace
|
||
_short: "DevSpace is a tool that simplifies Kubernetes development by providing an efficient workflow for developers. "
|
||
brew: devspace
|
||
npm: devspace
|
||
scoop: devspace
|
||
devtoys:
|
||
_app: DevToys.app
|
||
_bin: devtoys
|
||
_desc: "DevToysMac is a collection of development tools for macOS created by ObuchiYuki. It includes various utilities and scripts that can aid developers in their daily tasks. Some of the tools included are \nfor managing Xcode projects, generating Swift code, working with Git repositories, and more. It aims to streamline development workflows and improve productivity on the macOS platform. Users can explore\nthe repository on GitHub to find detailed information about each tool and how to use them effectively. "
|
||
_github: https://github.com/ObuchiYuki/DevToysMac
|
||
_name: "DevToysMac "
|
||
_short: "DevToysMac is a collection of developer tools for MacOS, designed to enhance productivity and streamline common tasks. "
|
||
cask: devtoys
|
||
devtoys-windows:
|
||
_bin: devtoys
|
||
_desc: "DevToys is a collection of development tools for macOS that aims to simplify common tasks for developers. It provides a set of utilities accessible from the macOS menu bar, including features like \nJSON/XML/YAML formatting, base64 encoding/decoding, URL encoding/decoding, and more. DevToys offers a convenient way to access these tools without the need to open separate applications, making it a \nhandy resource for developers looking to streamline their workflow on macOS. "
|
||
_github: https://github.com/veler/DevToys
|
||
_name: Windows DevToys
|
||
_short: "DevToys is a collection of development tools and utilities for macOS, designed to enhance productivity and streamline common tasks for developers. "
|
||
choco: devtoys
|
||
winget: devtoys
|
||
dframe:
|
||
_bin: dframe
|
||
_desc: Put device frames around your mobile/web/progressive app screenshots
|
||
_github: https://github.com/c0bra/deviceframe
|
||
_name: "deviceframe "
|
||
_short: "deviceframe is a tool that allows you to add device frames to screenshots easily. "
|
||
npm: deviceframe
|
||
dialect:
|
||
_bin: dialect
|
||
_desc: "The link https://github.com/dialect-app/dialect/ leads to a GitHub repository for a project named \"dialect.\" This repository likely contains the source code, documentation, and other files related to \nthe Dialect application. Without further details or access to the repository, it's difficult to provide specific information about the project's purpose or functionality. Users can typically find \ninformation about the project, such as its README file, codebase, issues, and contributions, by exploring the repository on GitHub. "
|
||
_github: https://github.com/dialect-app/dialect/
|
||
_name: "dialect "
|
||
_short: "Dialect is a GitHub repository for the Dialect app, a platform for language learning and cultural exchange. "
|
||
apt: dialect
|
||
dnf: 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.
|
||
_docs: https://difftastic.wilfred.me.uk/git.html
|
||
_github: https://github.com/Wilfred/difftastic
|
||
_home: https://difftastic.wilfred.me.uk/
|
||
_name: Difftastic
|
||
_short: "Difftastic is a tool for visually comparing text files in a terminal environment. "
|
||
brew: difftastic
|
||
cargo: difftastic
|
||
direnv:
|
||
_bin: direnv
|
||
_desc: "[direnv](https://direnv.net/) is an extension for your shell. It augments existing shells with a new feature that can load and unload environment variables depending on the current directory."
|
||
_docs: https://direnv.net/
|
||
_github: https://github.com/direnv/direnv
|
||
_home: https://direnv.net/
|
||
_name: direnv
|
||
_short: "direnv is a tool that helps automate loading and unloading of environment variables based on the current directory. "
|
||
ansible: professormanhattan.direnv
|
||
apt: direnv
|
||
brew: direnv
|
||
github: github.com/direnv/direnv
|
||
discord:
|
||
_app: Discord.app
|
||
_bin: discord
|
||
_github: false
|
||
_name: Discord
|
||
cask: discord
|
||
choco: discord
|
||
flatpak: com.discordapp.Discord
|
||
distrobox:
|
||
_bin: distrobox
|
||
_desc: "Distrobox is a project hosted on GitHub by user 89luca89. It appears to be a repository related to creating a custom Linux distribution. The project might include scripts, configurations, or \ndocumentation to help users build their own Linux distribution tailored to their needs. For more detailed information, you can visit the GitHub repository directly at \nhttps://github.com/89luca89/distrobox. "
|
||
_github: https://github.com/89luca89/distrobox
|
||
_name: Distrobox
|
||
_short: "distrobox is a project on GitHub by 89luca89. It likely involves a distribution or box-related software or tool. For detailed information, you should visit the repository directly. "
|
||
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."
|
||
_description: A tool for exploring each layer in a docker image
|
||
_github: https://github.com/wagoodman/dive
|
||
_home: https://github.com/wagoodman/dive
|
||
_name: dive
|
||
_short: "Dive is a tool for exploring and analyzing Docker images interactively. "
|
||
ansible: professormanhattan.dive
|
||
brew: dive
|
||
github: github.com/wagoodman/dive
|
||
go: github.com/wagoodman/dive@latest
|
||
yay: dive
|
||
dns:
|
||
_bin: null
|
||
_desc: This role ensures that DNS requests are encrypted if you supply it the appropriate configuration. It uses systemd on Linux. On macOS/Windows, it installs and configures [Stubby](https://github.com/getdnsapi/stubby).
|
||
_github: false
|
||
_name: DNS
|
||
ansible: professormanhattan.dns
|
||
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."
|
||
_docs: https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html
|
||
_github: https://github.com/imp/dnsmasq
|
||
_name: dnsmasq
|
||
_service: dnsmasq
|
||
_short: "dnsmasq is a lightweight DNS forwarder and DHCP server. "
|
||
ansible: professormanhattan.dnsmasq
|
||
apt: dnsmasq
|
||
brew: dnsmasq
|
||
dnf: dnsmasq
|
||
pacman: dnsmasq
|
||
port: dnsmasq
|
||
docker:
|
||
_bin: docker
|
||
_deps:
|
||
- docker-images
|
||
_desc: "The GitHub repository at https://github.com/microsoft/docker is maintained by Microsoft and is related to Docker, a popular platform for developing, shipping, and running applications using \ncontainerization technology. The repository likely contains code, documentation, and resources related to Microsoft's involvement with Docker, such as tools, extensions, or integrations. It could also \ninclude projects aimed at improving Docker's functionality on Microsoft platforms like Windows or Azure. For specific details, exploring the repository directly would provide more insights. "
|
||
_github: https://github.com/microsoft/docker
|
||
_name: Docker CLI
|
||
_short: "microsoft/docker is a GitHub repository maintained by Microsoft for Docker-related projects. "
|
||
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
|
||
_short: "docker-credential-helpers is a set of utilities that help Docker authenticate with various container registries securely. "
|
||
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
|
||
_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).
|
||
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
|
||
_short: "Docker Compose is a tool for defining and running multi-container Docker applications. "
|
||
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
|
||
docker-images:
|
||
_desc: This entry is used to trigger a post-installation docker image pre-load. See the `docker-images` entry in `.chezmoidata.yaml`.
|
||
_github: false
|
||
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
|
||
_short: "dockerfile-language-server-nodejs is a language server for Dockerfiles, written in Node.js. "
|
||
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`.
|
||
_github: false
|
||
docker-pushrm:
|
||
_bin: docker-pushrm
|
||
_desc: "The repository at https://github.com/christian-korneck/docker-pushrm appears to be a tool or script related to Docker. The name \"docker-pushrm\" suggests it might be related to pushing Docker images to a\nregistry. To get more details, you can check the repository's README file or explore the code to understand its functionality, usage, and any specific requirements or dependencies it might have. "
|
||
_github: https://github.com/christian-korneck/docker-pushrm
|
||
_name: Docker PushRM
|
||
_short: "docker-pushrm is a tool that simplifies pushing Docker images to AWS Elastic Container Registry (ECR) with reduced manual steps. "
|
||
script: |
|
||
#!/usr/bin/env bash
|
||
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."
|
||
_docs: https://github.com/docker-slim/docker-slim#basic-usage-info
|
||
_github: https://github.com/docker-slim/docker-slim
|
||
_home: https://dockersl.im/
|
||
_name: Docker Slim
|
||
_short: "docker-slim is a tool to create smaller and more secure Docker images by analyzing and optimizing them. "
|
||
brew: docker-slim
|
||
dnf:fedora: golang-github-docker-slim
|
||
github: github.com/docker-slim/docker-slim
|
||
yay: docker-slim
|
||
dockfmt:
|
||
_bin: dockfmt
|
||
_desc: "Dockfmt is a tool created by jessfraz that formats Dockerfiles in a consistent and easy-to-read manner. It helps maintain a standardized structure in Dockerfiles, making them more readable and \nmaintainable. By using Dockfmt, you can ensure that your Dockerfiles follow best practices and adhere to a specific style guide. It can be integrated into your workflow to automatically format \nDockerfiles, saving time and reducing errors related to inconsistent formatting. "
|
||
_github: https://github.com/jessfraz/dockfmt
|
||
_name: dockfmt
|
||
_short: "dockfmt is a tool for formatting Dockerfiles. "
|
||
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
|
||
_github: https://github.com/goodwithtech/dockle
|
||
_name: dockle
|
||
_short: "Dockle is a security and compliance scanner for Docker containers. "
|
||
brew: goodwithtech/r/dockle
|
||
github: github.com/goodwithtech/dockle
|
||
yay: dockle-bin
|
||
dockly:
|
||
_bin: dockly
|
||
_desc: "Dockly is a terminal-based dashboard for managing Docker containers and services. It provides a user-friendly interface to monitor and interact with Docker containers, images, networks, and volumes. \nWith Dockly, users can view container logs, inspect container details, start/stop containers, and more, all from the command line. It offers a convenient way to manage Docker resources without needing \nto switch to a separate GUI application. Dockly is written in Node.js and supports various features to streamline Docker container management in a terminal environment. "
|
||
_github: https://github.com/lirantal/dockly
|
||
_name: Dockly
|
||
_short: "Dockly is a terminal-based dashboard for managing Docker containers. "
|
||
npm: dockly
|
||
dockutil:
|
||
_bin: dockutil
|
||
_desc: "Dockutil is a command-line utility for managing the dock in macOS. It allows users to add, remove, and arrange items on the dock from the terminal. This tool is particularly useful for system \nadministrators or users who want to automate dock configurations. It provides a simple and efficient way to customize the dock layout without having to manually drag and drop icons. The GitHub \nrepository contains the source code, documentation, and examples on how to use dockutil effectively. "
|
||
_github: https://github.com/kcrawford/dockutil
|
||
_name: DockUtil
|
||
_short: "dockutil is a command-line utility for managing the macOS Dock. "
|
||
brew:darwin: dockutil
|
||
doctl:
|
||
_bin: doctl
|
||
_desc: The official command line interface for the DigitalOcean API
|
||
_github: https://github.com/digitalocean/doctl
|
||
_name: doctl
|
||
_short: "doctl is a command-line interface for managing DigitalOcean services. "
|
||
brew: doctl
|
||
github: github.com/digitalocean/doctl
|
||
pacman: doctl
|
||
pkg: doctl
|
||
snap: doctl
|
||
dog:
|
||
_bin: dog
|
||
_desc: A command-line DNS client
|
||
_github: https://github.com/ogham/dog
|
||
_name: dog
|
||
_short: "Dog is a command-line DNS client for DNS-over-HTTPS. "
|
||
brew: dog
|
||
github: github.com/ogham/dog
|
||
pacman: dog
|
||
pkg: dog
|
||
doitlive:
|
||
_bin: doitlive
|
||
_desc: "DoItLive is a tool for live presentations in the terminal. It allows you to record and replay shell commands with annotations, making it perfect for demonstrations or tutorials. You can define a \nsequence of commands, add comments, and execute them in a controlled manner. It supports syntax highlighting, timing control, and customization options to enhance the presentation experience. Overall, \nit's a handy tool for showcasing command-line workflows in a structured and engaging way. "
|
||
_github: https://github.com/sloria/doitlive
|
||
_name: Do It Live!
|
||
_short: "doitlive is a tool for live presentations in the terminal, allowing you to script and replay command line sessions with ease. "
|
||
brew: doitlive
|
||
pipx: doitlive
|
||
dokany:
|
||
_bin: dokany
|
||
_desc: "Dokany is a user-mode file system library for Windows that provides a Windows kernel driver to create and manage virtual file systems. It allows developers to create file systems without writing a \nkernel driver. Dokany is similar to FUSE (Filesystem in Userspace) on Unix-like systems. It enables users to mount virtual disks or network drives and interact with them as if they were physical drives.\nDokany is open-source and provides a simple API for developers to create custom file systems on Windows. "
|
||
_github: https://github.com/dokan-dev/dokany
|
||
_name: Dokany
|
||
_note: Required for CephFS on Windows
|
||
_short: "Dokany is a user-mode file system library for 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"
|
||
_github: https://github.com/dotenv-linter/dotenv-linter
|
||
_home: https://dotenv-linter.github.io/
|
||
_name: Dotenv Linter
|
||
_short: "dotenv-linter is a tool for checking .env files for errors and inconsistencies. "
|
||
brew: dotenv-linter
|
||
cargo: dotenv-linter
|
||
scoop: dotenv-linter
|
||
yay: dotenv-linter
|
||
dotenv-vault:
|
||
_bin: dotenv-vault
|
||
_desc: "dotenv-vault is a tool developed by the dotenv-org organization on GitHub. It is designed to securely manage secrets in a .env file using HashiCorp Vault. This tool allows you to fetch secrets from \nVault and inject them into your application's environment variables, providing a secure way to manage sensitive information. By integrating Vault with your .env file, you can ensure that your \napplication secrets are stored and accessed in a secure manner. "
|
||
_github: https://github.com/dotenv-org/dotenv-vault
|
||
_name: Dotenv Vault
|
||
_short: "dotenv-vault is a tool that loads environment variables from HashiCorp Vault into your application. "
|
||
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"
|
||
_docs: https://learn.microsoft.com/en-us/dotnet/
|
||
_github: https://github.com/dotnet
|
||
_home: https://dotnet.microsoft.com/
|
||
_name: .Net
|
||
_short: "dotnet is a GitHub repository for the .NET development platform by Microsoft. "
|
||
brew: dotnet
|
||
choco: dotnet
|
||
yay: dotnet-sdk-bin
|
||
dprint:
|
||
_bin: dprint
|
||
_desc: "[dprint](https://dprint.dev/) is a pluggable and configurable code formatting platform written in Rust."
|
||
_docs: https://dprint.dev/
|
||
_github: https://github.com/dprint
|
||
_home: https://dprint.dev/
|
||
_name: DPrint
|
||
_short: "dprint is a code formatting tool for various programming languages available on GitHub. "
|
||
brew: dprint
|
||
cargo: dprint
|
||
npm: dprint
|
||
scoop: dprint
|
||
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
|
||
_desc: "The repository at https://github.com/maoschanz/drawing appears to be a project related to drawing. Without further details or access to the repository, it's difficult to provide a detailed description. \nTo get a better understanding, you may want to visit the repository directly to see the project's files, documentation, and any additional information provided by the owner. "
|
||
_github: https://github.com/maoschanz/drawing
|
||
_name: "drawing "
|
||
_short: "drawing is a simple drawing program written in Python using the Tkinter library. "
|
||
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
|
||
_short: "drawio-desktop is an open-source diagramming tool that allows users to create flowcharts, diagrams, and more. "
|
||
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
|
||
_docs: https://docs.drone.io/cli/install/
|
||
_github: https://github.com/harness/drone-cli
|
||
_home: https://www.drone.io/
|
||
_name: Drone CLI
|
||
_short: "drone-cli is a command-line interface (CLI) tool for interacting with the Drone CI/CD platform. "
|
||
brew: drone/drone/drone
|
||
github: github.com/harness/drone-cli
|
||
scoop: drone
|
||
dua:
|
||
_bin: dua
|
||
_desc: "dua-cli is a command-line tool available on GitHub at https://github.com/Byron/dua-cli. It is used for finding and cleaning up unnecessary or duplicate files in a directory. The tool helps in reclaiming\ndisk space by identifying redundant files based on their content. It provides options to review and delete these files efficiently. It is written in Rust and offers a fast and efficient way to manage \ndisk space usage. Users can customize the tool's behavior through various command-line options. "
|
||
_github: https://github.com/Byron/dua-cli
|
||
_name: "dua-cli "
|
||
_short: "dua-cli is a fast, interactive disk usage analyzer with a colorful interface for the command line. "
|
||
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."
|
||
_docs: https://github.com/muesli/duf#usage
|
||
_github: https://github.com/muesli/duf
|
||
_home: https://github.com/muesli/duf
|
||
_name: duf
|
||
_short: "Duf is a disk usage utility with a modern interface for visualizing disk space usage on your system. "
|
||
ansible: professormanhattan.duf
|
||
brew: duf
|
||
choco: duf
|
||
github: github.com/muesli/duf
|
||
pacman: duf
|
||
pkg: duf
|
||
scoop: duf
|
||
dust:
|
||
_bin: dust
|
||
_desc: A more intuitive version of du in rust
|
||
_docs: https://github.com/bootandy/dust#usage
|
||
_github: https://github.com/bootandy/dust
|
||
_home: https://github.com/bootandy/dust
|
||
_name: dust
|
||
_short: "Dust is a modern alternative to du command, providing a more intuitive visualization of disk usage in a terminal. "
|
||
apk: dust
|
||
brew:darwin: dust
|
||
brew:linux: tgotwig/linux-dust/dust
|
||
cargo: du-dust
|
||
github: github.com/bootandy/dust
|
||
pacman: dust
|
||
duti:
|
||
_bin: duti
|
||
_desc: "duti is a command-line tool for managing default applications on macOS. It allows users to set which applications should open specific file types or URLs by default. This tool is useful for customizing \nthe default behavior of file associations on a Mac system. Users can use duti to specify which application should open when a particular file type or URL is accessed, providing more control over the \nsystem's default application settings. "
|
||
_github: https://github.com/moretension/duti
|
||
_name: Duti
|
||
_short: "duti is a command-line tool for managing default applications on macOS. "
|
||
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
|
||
_short: "EarTrumpet is a volume control app for Windows that provides a modern alternative to the default volume mixer. "
|
||
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."
|
||
_docs: https://easyengine.io/handbook/
|
||
_github: https://github.com/EasyEngine/easyengine
|
||
_home: https://easyengine.io/
|
||
_name: EasyEngine
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
if [ -n "$CLOUDFLARE_EMAIL" ] && [ -n "$CLOUDFLARE_API_KEY" ]; then
|
||
ee config set le-mail "$CLOUDFLARE_EMAIL"
|
||
ee config set cloudflare-api-key "$CLOUDFLARE_API_KEY"
|
||
fi
|
||
_short: "EasyEngine is a command-line tool for setting up and managing WordPress sites on Linux servers efficiently. "
|
||
brew: easyengine
|
||
script:linux: wget -qO ee rt.cx/ee4 && sudo bash ee
|
||
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
|
||
_short: "edex-ui is a sci-fi inspired terminal emulator and system monitor. "
|
||
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.
|
||
_docs: https://github.com/mifi/editly#usage-command-line-video-editor
|
||
_github: https://github.com/mifi/editly
|
||
_home: https://github.com/mifi/editly
|
||
_name: Editly
|
||
_short: "Editly is a tool for creating videos programmatically using JavaScript. "
|
||
npm: editly
|
||
eget:
|
||
_bin: eget
|
||
_desc: "eget is a tool created by zyedidia available on GitHub at https://github.com/zyedidia/eget. It is a simple command-line utility for downloading files from the internet. Users can specify a URL to \ndownload a file directly to their current directory. This tool can be useful for automating file downloads in scripts or quickly fetching files without needing a full-fledged download manager. It is \nwritten in Go and is designed to be lightweight and easy to use. "
|
||
_github: https://github.com/zyedidia/eget
|
||
_name: eget
|
||
_short: "eget is a lightweight command-line utility for downloading files from the internet. "
|
||
brew: eget
|
||
choco: eget
|
||
go: github.com/zyedidia/eget@latest
|
||
ejs:
|
||
_bin: ejs
|
||
_desc: "EJS (Embedded JavaScript templates) is a simple templating language that lets you generate HTML markup with plain JavaScript. It works by embedding JavaScript code within <% %> delimiters in your HTML \ntemplates. This allows you to dynamically generate content based on variables, conditions, and loops. EJS is easy to use and integrates well with Node.js applications. It's a popular choice for \ngenerating dynamic web pages and emails. You can find more information and documentation about EJS on its GitHub repository: EJS GitHub Repository. "
|
||
_github: https://github.com/mde/ejs
|
||
_name: EJS
|
||
_short: "EJS is a simple templating language that lets you generate HTML markup with plain JavaScript. "
|
||
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
|
||
_short: "Electron is a framework that allows you to build cross-platform desktop applications using web technologies like HTML, CSS, and JavaScript. "
|
||
cask: electron
|
||
choco: electron
|
||
npm: electron
|
||
element:
|
||
_app: Element.app
|
||
_bin: element
|
||
_desc: "Element Web is an open-source web-based messaging application developed by Vector.im. It is built using the Matrix open network for secure, decentralized communication. Element Web allows users to chat,\nmake voice and video calls, share files, and collaborate in rooms. It supports end-to-end encryption for secure conversations. The platform is highly customizable and extensible, making it suitable for \npersonal and business use. It is actively maintained and updated by the developer community on GitHub. "
|
||
_github: https://github.com/vector-im/element-web
|
||
_name: Element
|
||
_short: "Element Web is an open-source, secure messaging application based on the Matrix protocol. "
|
||
cask: element
|
||
choco: element-desktop
|
||
flatpak: im.riot.Riot
|
||
emma:
|
||
_bin: emma
|
||
_desc: Advanced package search for NPM
|
||
_docs: https://www.npmjs.com/package/emma-cli#example
|
||
_github: https://github.com/maticzav/emma-cli
|
||
_home: https://www.npmjs.com/package/emma-cli
|
||
_name: Emma
|
||
_short: "emma-cli is a command-line tool for managing your email templates efficiently. "
|
||
npm: emma-cli
|
||
emoj:
|
||
_bin: emoj
|
||
_desc: Find relevant emoji from text on the command-line
|
||
_github: https://github.com/sindresorhus/emoj
|
||
_name: emoj
|
||
_short: "emoj is a command-line tool that makes it easy to find and copy emojis from the terminal. "
|
||
npm: emoj
|
||
emplace:
|
||
_bin: emplace
|
||
_desc: Emplace objects and arrays - pointer to pointer style
|
||
_docs: https://github.com/tversteeg/emplace
|
||
_github: https://github.com/tversteeg/emplace
|
||
_home: https://github.com/tversteeg/emplace
|
||
_name: Emplace
|
||
_short: "Emplace is a tool for quickly creating and managing GitHub repositories from the command line. "
|
||
cargo: emplace --locked
|
||
nix: emplace
|
||
scoop: emplace
|
||
empty-trash:
|
||
_bin: empty-trash
|
||
_desc: CLI to empty trash on macOS, Windows, and Linux
|
||
_docs: https://github.com/sindresorhus/empty-trash-cli
|
||
_github: https://github.com/sindresorhus/empty-trash-cli
|
||
_home: https://github.com/sindresorhus/empty-trash-cli
|
||
_name: Empty Trash CLI
|
||
_short: "empty-trash-cli is a command-line tool for emptying the trash on macOS. "
|
||
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
|
||
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
|
||
_short: "endlessh is a tool that generates endless SSH honeypot noise to frustrate and slow down attackers. "
|
||
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
|
||
_short: "Enola is a tool for managing and organizing your dotfiles efficiently on GitHub. "
|
||
go: github.com/theyahya/enola/cmd/enola@latest
|
||
envchain:
|
||
_bin: envchain
|
||
_deps:
|
||
- _envchain:deps
|
||
_desc: Environment variables meet macOS Keychain and gnome-keyring
|
||
_docs: https://github.com/sorah/envchain#usage
|
||
_github: https://github.com/sorah/envchain
|
||
_home: https://github.com/sorah/envchain
|
||
_name: envchain
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Store Secrets in Keyring
|
||
# @brief Stores secret environment variables into the System keyring
|
||
# @description
|
||
# This script imports secret environment variables into the System keyring if `envchain` is installed.
|
||
# Secrets stored in the folder 'home/.chezmoitemplates/secrets' following the Install Doctor method are
|
||
# imported into the System keyring by this script. There is only one namespace called `default` where the
|
||
# secrets are stored. Executing `envchain default env` displays all the environment variables and their values.
|
||
#
|
||
# ## Secrets
|
||
#
|
||
# For more information about storing secrets like SSH keys and API keys, refer to our [Secrets documentation](https://install.doctor/docs/customization/secrets).
|
||
### Import environment variables into `envchain`
|
||
if command -v envchain > /dev/null; then
|
||
if [ -f "$HOME/.config/age/chezmoi.txt" ]; then
|
||
logg info 'Importing environment variables into the System keyring'
|
||
for file in {{ joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "*" }}; do
|
||
cat "$file" | chezmoi decrypt | envchain -s default "$(basename $file)" > /dev/null || logg info 'Importing "$(basename $file)" failed'
|
||
done
|
||
else
|
||
logg warn 'Unable to import any variables into envchain because ~/.config/age/chezmoi.txt was not created by the secrets encryption process yet'
|
||
fi
|
||
else
|
||
logg info 'envchain is not installed or it is not available in the PATH'
|
||
fi
|
||
_short: "envchain is a tool that securely stores and manages environment variables for command-line applications. "
|
||
brew: envchain
|
||
github: github.com/sorah/envchain
|
||
envconsul:
|
||
_bin: envconsul
|
||
_desc: Launch a subprocess with environment variables using data from @hashicorp Consul and Vault
|
||
_github: https://github.com/hashicorp/envconsul
|
||
_name: envconsul
|
||
_short: "Envconsul is a tool by HashiCorp that updates environment variables in running processes from Consul. "
|
||
ansible: professormanhattan.envconsul
|
||
brew: envconsul
|
||
github: github.com/hashicorp/envconsul
|
||
envio:
|
||
_bin: envio
|
||
_desc: "envio is a GitHub repository created by humblepenguinn. Unfortunately, without further context or access to the repository, I can't provide specific details about its contents. Typically, repositories \non GitHub contain code, documentation, or other resources related to a project. If you're interested in learning more about envio, you can visit the GitHub link provided to explore its contents, read \nthe README file, check the code, and see if there are any issues or pull requests associated with it. "
|
||
_github: https://github.com/humblepenguinn/envio
|
||
_name: Envio
|
||
_short: "envio is a lightweight command-line tool for sending files securely over the internet using end-to-end encryption. "
|
||
cargo: envio
|
||
environment:
|
||
_bin: null
|
||
_github: false
|
||
ansible: professormanhattan.environment
|
||
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
|
||
_short: "EnvPane is a macOS preference pane for environment variables. "
|
||
_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"
|
||
_docs: https://eslint.org/docs
|
||
_github: https://github.com/eslint/eslint
|
||
_home: https://eslint.org/
|
||
_name: ESLint
|
||
_short: "ESLint is a popular JavaScript linting tool that helps developers maintain code quality and adhere to coding standards. "
|
||
brew: eslint
|
||
npm: eslint
|
||
eslint-dashboard:
|
||
_bin: eslint-dashboard
|
||
_desc: "eslint-dashboard is a tool available on GitHub created by fengzilong. It provides a dashboard interface for ESLint, a popular JavaScript linter. This tool allows you to visualize and manage ESLint \nreports in a more user-friendly way, making it easier to track and address code quality issues in your JavaScript projects. It can help streamline the code review process and improve overall code \nquality by providing a centralized view of ESLint warnings and errors. "
|
||
_github: https://github.com/fengzilong/eslint-dashboard
|
||
_name: ESLint Dashboard
|
||
_short: "eslint-dashboard is a tool that provides a visual dashboard for ESLint results, making it easier to track and manage code quality issues in a project. "
|
||
npm: eslint-dashboard
|
||
eslint-interactive:
|
||
_bin: eslint-interactive
|
||
_desc: "eslint-interactive is a tool that enhances the ESLint workflow by providing an interactive interface for managing ESLint errors and warnings. It allows users to easily fix, ignore, or review ESLint \nissues directly from the terminal. This tool simplifies the process of addressing linting errors by providing a more user-friendly and efficient way to handle them. It is particularly useful for \ndevelopers who want to streamline their ESLint workflow and improve code quality. "
|
||
_github: https://github.com/mizdra/eslint-interactive
|
||
_name: ESLint Interactive
|
||
_short: "eslint-interactive is a tool that provides an interactive interface for managing ESLint errors and warnings in your codebase. "
|
||
npm: eslint-interactive
|
||
eslintd:
|
||
_bin: eslint_d
|
||
_desc: "eslint_d.js is a fast, persistent ESLint server designed to improve linting performance for large codebases. It runs as a daemon process in the background, allowing multiple linting requests to be \nhandled more efficiently. By keeping ESLint loaded in memory, it avoids the overhead of starting ESLint for each linting operation, resulting in faster linting times. This tool is particularly useful \nfor projects with many files or when using ESLint in an editor or build system where linting is done frequently. "
|
||
_docs: https://github.com/mantoni/eslint_d.js
|
||
_github: https://github.com/mantoni/eslint_d.js
|
||
_home: https://github.com/mantoni/eslint_d.js
|
||
_name: ESLint_d
|
||
_short: "eslint_d.js is a fast daemon for running ESLint on files. "
|
||
npm: eslint_d
|
||
espanso:
|
||
_app: Espanso.app
|
||
_bin: espanso
|
||
_desc: "Espanso is a cross-platform text expander tool that allows users to define abbreviations which expand into longer phrases or sentences. It helps in saving time and increasing productivity by automating \nrepetitive typing tasks. Espanso is highly customizable and supports various features like variables, snippets, and more. It is open-source and actively maintained, making it a popular choice for users \nlooking to streamline their typing workflow. "
|
||
_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
|
||
_short: "Espanso is a cross-platform text expander tool that helps you type faster by replacing abbreviations with snippets of text. "
|
||
appimage: federico-terzi/espanso
|
||
cask: espanso
|
||
choco: espanso
|
||
snap: espanso --channel=latest/edge --classic
|
||
esprint:
|
||
_bin: esprint
|
||
_desc: "Esprint is a tool developed by Pinterest to improve the performance of JavaScript unit tests. It parallelizes test runs across multiple processes, reducing the overall test execution time. It is \ndesigned to work with Jest, a popular JavaScript testing framework. Esprint aims to optimize the testing workflow by leveraging the capabilities of modern multi-core processors. By utilizing Esprint, \ndevelopers can significantly speed up their test suites, leading to faster feedback cycles during development. It is open-source and available on GitHub at https://github.com/pinterest/esprint. "
|
||
_github: https://github.com/pinterest/esprint
|
||
_name: ESPrint
|
||
_short: "esprint is a tool by Pinterest for running JavaScript tests with parallel processes to speed up the testing process. "
|
||
npm: esprint
|
||
etcd:
|
||
_bin: etcd
|
||
_desc: Distributed reliable key-value store for the most critical data of a distributed system
|
||
_github: https://github.com/etcd-io/etcd
|
||
_name: etcd
|
||
_service: etcd
|
||
_serviceEnabled: true
|
||
_short: "etcd is a distributed key-value store used for shared configuration and service discovery in distributed systems. "
|
||
apt: etcd
|
||
brew: etcd
|
||
choco: etcd
|
||
dnf:fedora: etcd
|
||
github: github.com/etcd-io/etcd
|
||
yay: etcd
|
||
ettercap:
|
||
_bin: ettercap
|
||
_desc: "Ettercap is a comprehensive suite for man-in-the-middle attacks on LAN. It features sniffing of live connections, content filtering on the fly, and many other interesting tricks. It supports active and \npassive dissection of many protocols and includes many features for network and host analysis. It also has plugin support to extend its functionality. Ettercap is widely used for network security \ntesting and educational purposes. You can find more information about it on its GitHub page: Ettercap GitHub. "
|
||
_github: https://github.com/Ettercap/ettercap
|
||
_name: Ettercap
|
||
_short: "Ettercap is a comprehensive suite for man-in-the-middle attacks on LAN. "
|
||
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
|
||
_short: "eul is a lightweight macOS system monitor. "
|
||
cask: eul
|
||
mas: 1537133867
|
||
exa:
|
||
_bin: exa
|
||
_desc: A modern replacement for ls.
|
||
_docs: https://the.exa.website/introduction
|
||
_github: https://github.com/ogham/exa
|
||
_home: https://the.exa.website/
|
||
_name: Exa
|
||
_short: "exa is a modern replacement for ls command with more features and better output formatting. "
|
||
apt: exa
|
||
brew: exa
|
||
cargo: exa
|
||
dnf: exa
|
||
emerge: sys-apps/exa
|
||
nix: exa
|
||
pacman: exa
|
||
zypper: exa
|
||
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"
|
||
_docs: https://exiftool.org/exiftool_pod.html
|
||
_github: https://github.com/exiftool/exiftool
|
||
_home: https://exiftool.org/
|
||
_name: exiftool
|
||
_short: "ExifTool is a powerful command-line tool for reading, writing, and editing metadata in a wide variety of files, including images, videos, and documents. "
|
||
ansible: professormanhattan.exiftool
|
||
apt: libimage-exiftool-perl
|
||
brew: exiftool
|
||
choco: exiftool
|
||
dnf: perl-Image-ExifTool.noarch
|
||
pacman: perl-image-exiftool
|
||
port: exiftool
|
||
scoop: exiftool
|
||
expect:
|
||
_bin: expect
|
||
_github: false
|
||
_name: Expect
|
||
apt: expect
|
||
brew: expect
|
||
dnf: expect
|
||
pacman: expect
|
||
port: expect
|
||
extensions:
|
||
_bin: null
|
||
_desc: This role acts as a catch-all for extensions for various system software.
|
||
_github: false
|
||
_name: Extensions
|
||
ansible: professormanhattan.extensions
|
||
fabric:
|
||
_bin: fab
|
||
_desc: "Fabric is a Python library and command-line tool designed for streamlining the process of executing shell commands remotely over SSH. It simplifies the automation of tasks like deploying applications, \nrunning scripts, and managing servers. Fabric allows you to define tasks in Python scripts and execute them across multiple servers simultaneously. It provides features like parallel execution, error \nhandling, and output processing. Fabric is commonly used by developers and system administrators to automate repetitive tasks in a more efficient and consistent manner. "
|
||
_github: https://github.com/fabric/fabric
|
||
_name: Fabric
|
||
_short: "Fabric is a Python library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks. "
|
||
brew: fabric
|
||
pipx: fabric
|
||
fail2ban:
|
||
_bin: fail2ban-client
|
||
_desc: "Fail2ban is an open-source intrusion prevention software that protects servers from brute-force attacks by monitoring logs for malicious activity and dynamically blocking IP addresses that exhibit \nsuspicious behavior. It works by analyzing log files, detecting patterns of failed login attempts or other malicious activities, and then taking action such as blocking the IP address for a specified \nperiod. Fail2ban is highly configurable, allowing users to define custom filters and actions. It is commonly used to enhance the security of servers and services like SSH, FTP, and web applications. "
|
||
_github: https://github.com/fail2ban/fail2ban
|
||
_name: "fail2ban "
|
||
_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
|
||
_short: "Fail2ban is an open-source intrusion prevention software that protects servers from brute-force attacks by monitoring logs and blocking malicious IP addresses. "
|
||
_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
|
||
_github: https://github.com/fastify/fastify-cli
|
||
_home: https://www.fastify.io/
|
||
_name: fastify
|
||
_short: "fastify-cli is a command-line interface tool for generating Fastify application templates quickly and efficiently. "
|
||
npm: fastify-cli
|
||
fastlane:
|
||
_bin: fastlane
|
||
_desc: "Fastlane is an open-source platform that automates the process of building and releasing iOS and Android apps. It simplifies tasks like code signing, generating screenshots, and distributing beta \nbuilds. Fastlane consists of multiple tools that can be used together or independently to streamline the app development workflow. It is highly customizable and can be integrated with Continuous \nIntegration (CI) systems like Jenkins. Fastlane helps developers save time and avoid common errors by automating repetitive tasks involved in the app deployment process. "
|
||
_github: https://github.com/fastlane/fastlane
|
||
_home: https://fastlane.tools/
|
||
_name: Fastlane
|
||
_short: "Fastlane is a tool that automates the building and releasing of iOS and Android apps. "
|
||
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.
|
||
_docs: https://github.com/Svetlitski/fcp#usage
|
||
_github: https://github.com/Svetlitski/fcp
|
||
_home: https://github.com/Svetlitski/fcp
|
||
_name: fcp
|
||
_short: "fcp is a tool for copying files with progress bars in the terminal. "
|
||
brew: fcp
|
||
cargo: fcp
|
||
nix: unstable.fcp
|
||
fd:
|
||
_bin: fd
|
||
_bin:apt: fdfind
|
||
_desc: "[fd](https://github.com/sharkdp/fd) is a program that can search for files on your filesystem. It is a simple, fast, and user-friendly alternative to find. While it does not aim to support all of find's powerful functionality, it provides sensible (opinionated) defaults for a majority of use cases."
|
||
_github: https://github.com/sharkdp/fd
|
||
_name: fd
|
||
_short: "fd is a simple, fast and user-friendly alternative to find command, written in Rust. "
|
||
ansible: professormanhattan.fd
|
||
apk: fd
|
||
apt: fd-find
|
||
brew: fd
|
||
cargo: fd-find
|
||
choco: fd
|
||
github: github.com/sharkdp/fd
|
||
pacman: fd
|
||
pkg: fd
|
||
scoop: fd
|
||
fdupes:
|
||
_bin: fdupes
|
||
_desc: "fdupes is a program written in C that finds duplicate files in a given set of directories. It compares file sizes and MD5 signatures to determine duplicates. It offers options to automatically delete or\nhardlink duplicates, making it useful for freeing up disk space. It's a handy tool for managing cluttered file systems and organizing data efficiently. The program is open-source and available on GitHub\nfor users to download, contribute to, or customize according to their needs. "
|
||
_github: https://github.com/adrianlopezroche/fdupes
|
||
_name: fdupes
|
||
_short: "fdupes is a command-line tool for finding and removing duplicate files in a directory. "
|
||
apt: fdupes
|
||
brew: fdupes
|
||
dnf: fdupes
|
||
pacman: fdupes
|
||
feathers:
|
||
_bin: feathers
|
||
_desc: The command line interface for scaffolding Feathers applications
|
||
_github: https://github.com/feathersjs-ecosystem/cli
|
||
_name: "feathers-cli "
|
||
_short: "The feathersjs-ecosystem/cli is a command-line interface tool for the Feathers framework, designed to streamline development tasks and enhance productivity. "
|
||
npm: "@feathersjs/cli"
|
||
ferdium:
|
||
_app: Ferdium.app
|
||
_bin: ferdium
|
||
_desc: I'm unable to access external websites directly. Could you provide me with a brief description or any specific details you would like to know about the https://github.com/ferdium/ferdium-app repository?
|
||
_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
|
||
_github: https://github.com/ferdium/ferdium-app
|
||
_name: "ferdium-app "
|
||
_short: "ferdium-app is a GitHub repository belonging to user 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."
|
||
_github: https://github.com/FFmpeg/FFmpeg
|
||
_name: FFmpeg
|
||
_short: "FFmpeg is a powerful multimedia framework that can decode, encode, transcode, mux, demux, stream, filter, and play almost anything that humans and machines have created. "
|
||
ansible: professormanhattan.ffmpeg
|
||
apk: ffmpeg
|
||
apt: ffmpeg
|
||
brew: ffmpeg
|
||
choco: ffmpeg
|
||
dnf: ffmpeg
|
||
pacman: ffmpeg
|
||
scoop: ffmpeg
|
||
ffsend:
|
||
_bin: ffsend
|
||
_desc: "[ffsend](https://github.com/timvisee/ffsend) (formerly [Firefox Send](https://support.mozilla.org/en-US/kb/what-happened-firefox-send)) allows you to easily and securely share files and directories from the command line through a safe, private and encrypted link using a single simple command. Files are shared using the [Send](https://send.vis.ee/) service and may be up to 1GB. Others are able to download these files with this tool, or through their web browser."
|
||
_github: https://github.com/timvisee/ffsend
|
||
_name: ffsend
|
||
_short: "ffsend is a command-line tool for securely and easily sharing files from the terminal using Firefox Send. "
|
||
ansible: professormanhattan.ffsend
|
||
apk: ffsend
|
||
brew: ffsend
|
||
github: github.com/timvisee/ffsend
|
||
pkg: ffsend
|
||
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
|
||
_github: https://github.com/withfig/autocomplete
|
||
_home: https://fig.io/
|
||
_name: Fig
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
source ~/.config/shell/private.sh && fig login --token "$FIG_TOKEN" || logg info 'Fig login failed - User might already be logged in'
|
||
_short: "Fig Autocomplete is a tool that enhances shell autocompletion on MacOS and Linux systems, providing a more interactive and user-friendly experience for navigating and completing commands in the \nterminal. "
|
||
cask: fig
|
||
figlet:
|
||
_bin: figlet
|
||
_desc: "Figlet is a program that generates text banners in various typefaces, known as \"figlet fonts.\" It allows users to create ASCII art text using different font styles. The GitHub repository you mentioned, \nhttps://github.com/cmatsuoka/figlet, likely contains the source code, documentation, and possibly additional resources related to the Figlet program. Users can download, install, and customize Figlet to\ncreate visually appealing text-based designs for various purposes like banners, signs, or decorative text in terminal applications. "
|
||
_github: https://github.com/cmatsuoka/figlet
|
||
_name: Figlet
|
||
_short: "Figlet is a command-line tool that generates text banners in various fonts. "
|
||
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."
|
||
_docs: https://filebrowser.org/installation
|
||
_github: https://github.com/filebrowser/filebrowser
|
||
_home: https://filebrowser.org/
|
||
_name: File Browser
|
||
_short: "Filebrowser is an open-source, self-hosted web-based file manager with a simple and intuitive interface for managing files on a server. "
|
||
ansible: professormanhattan.filebrowser
|
||
brew: filebrowser/tap/filebrowser
|
||
github: github.com/filebrowser/filebrowser
|
||
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
|
||
_short: "This is the URL for the FileZilla project's Subversion repository. "
|
||
ansible:darwin: professormanhattan.filezilla
|
||
apt: filezilla
|
||
choco: filezilla
|
||
dnf: filezilla
|
||
flatpak: org.filezillaproject.Filezilla
|
||
pacman: filezilla
|
||
findutils:
|
||
_bin: gfind
|
||
_github: false
|
||
brew: findutils
|
||
finish:
|
||
_bin: null
|
||
_desc: This role should be the last role in the playbook.
|
||
_github: false
|
||
_name: Finish
|
||
ansible: professormanhattan.finish
|
||
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
|
||
_github: https://github.com/firebase/firebase-tools
|
||
_name: "firebase-tools "
|
||
_short: "firebase-tools is a command-line interface for Firebase services, allowing developers to deploy and manage Firebase projects from the terminal. "
|
||
npm: firebase-tools
|
||
firefox:
|
||
_app: Firefox.app
|
||
_bin: firefox
|
||
_deps:
|
||
- htmlq
|
||
_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/
|
||
_env:
|
||
FIREFOX_APPDATA:
|
||
apt: $HOME/.mozilla/firefox
|
||
cask: $HOME/Library/Application Support/Firefox/Profiles
|
||
choco: TODO
|
||
dnf: $HOME/.mozilla/firefox
|
||
flatpak: $HOME/.var/app/org.mozilla.firefox/.mozilla/firefox
|
||
pacman: $HOME/.mozilla/firefox
|
||
snap: $HOME/snap/firefox/common/.mozilla/firefox
|
||
_github: false
|
||
_home: https://www.mozilla.org/en-US/firefox/new/
|
||
_name: Mozilla Firefox
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Firefox Settings / Add-Ons / Profiles
|
||
# @brief This script configures system-wide settings, sets up Firefox Profile Switcher, creates various profiles from different sources, and installs a configurable list of Firefox Add-Ons.
|
||
# @description
|
||
# The Firefox setup script performs a handful of tasks that automate the setup of Firefox as well as
|
||
# useful utilities that will benefit Firefox power-users. The script also performs the same logic on
|
||
# [LibreWolf](https://librewolf.net/) installations.
|
||
#
|
||
# ## Features
|
||
#
|
||
# * Installs and sets up [Firefox Profile Switcher](https://github.com/null-dev/firefox-profile-switcher)
|
||
# * Sets up system-wide enterprise settings (with configurations found in `~/.local/share/firefox`)
|
||
# * Sets up a handful of default profiles to use with the Firefox Profile Switcher
|
||
# * Automatically installs the plugins defined in the firefoxAddOns key of [`home/.chezmoidata.yaml`](https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoidata.yaml) to the Standard and Private profiles
|
||
# * Configures the default profile to clone its settings from the profile stored in firefoxPublicProfile of `home/.chezmoidata.yaml`
|
||
# * Optionally, if the Chezmoi encryption key is present, then the default profile will be set to the contents of an encrypted `.tar.gz` that must be stored in the cloud somewhere (with the firefoxPrivateProfile key in `home/.chezmoidata.yaml` defining the URL of the encrypted `.tar.gz`)
|
||
#
|
||
# ## Profiles
|
||
#
|
||
# The script sets up numerous profiles for user flexibility. They can be switched by using the Firefox Profile Switcher
|
||
# that this script sets up. The map of the profiles is generated by using the template file stored in `~/.local/share/firefox/profiles.ini`.
|
||
# The following details the features of each profile:
|
||
#
|
||
# | Name | Description |
|
||
# |------------------|---------------------------------------------------------------------------------------------|
|
||
# | Factory | Default browser settings (system-wide configurations still apply) |
|
||
# | default-release | Same as Factory (unmodified and generated by headlessly opening Firefox / LibreWolf) |
|
||
# | Git (Public) | Pre-configured profile with address stored in `firefoxPublicProfile` |
|
||
# | Standard | Cloned from the profile above with `firefoxAddOns` also installed |
|
||
# | Miscellaneous | Cloned from the Factory profile (with the user.js found in `~/.config/firefox` applied) |
|
||
# | Development | Same as Miscellaneous |
|
||
# | Automation | Same as Miscellaneous |
|
||
# | Private | Populated from an encrypted profile stored in the cloud (also installs `firefoxAddOns`) |
|
||
#
|
||
# ## Notes
|
||
#
|
||
# * The Firefox Profile Switcher is only compatible with Firefox and not LibreWolf
|
||
# * This script is only designed to properly provision profiles on a fresh installation (so it does not mess around with pre-existing / already configured profiles)
|
||
# * Additional profiles for LibreWolf are not added because the Firefox Profile Switcher is not compatible with LibreWolf
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [System-wide configurations](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_local/share/firefox) as well as the location of the `profile.ini` and some other configurations
|
||
# * [User-specific configurations](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/firefox/user.js) added to all profiles except Factory
|
||
function installFirefoxProfileConnector() {
|
||
logg info 'Installing the Firefox Profile Connector'
|
||
if command -v apt-get > /dev/null; then
|
||
sudo apt-get install -y https://github.com/null-dev/firefox-profile-switcher-connector/releases/latest/download/linux-x64.deb
|
||
elif command -v dnf > /dev/null; then
|
||
sudo dnf install -y https://github.com/null-dev/firefox-profile-switcher-connector/releases/latest/download/linux-x64.rpm
|
||
elif command -v yay > /dev/null; then
|
||
yay -Ss firefox-profile-switcher-connector
|
||
else
|
||
logg warn 'apt-get, dnf, and yay were all unavailable so the Firefox Profile Connector helper executable could not be installed'
|
||
fi
|
||
}
|
||
function firefoxSetup() {
|
||
### Installs the Firefox Profile Connector on Linux systems (Snap / Flatpak installs are not included in this function, but instead inline below)
|
||
### Add Firefox enterprise profile
|
||
# TODO - figure out how to do this for other installations like Flatpak and macOS and Librewolf
|
||
for FIREFOX_DIR in '/usr/lib/firefox' '/usr/lib/firefox-esr' '/etc/firefox' '/etc/firefox-esr' '/Applications/Firefox.app/Contents/Resources'; do
|
||
if [ -d "$FIREFOX_DIR" ] && [ -d "${XDG_DATA_HOME:-$HOME/.local/share}/firefox" ] && command -v rsync > /dev/null; then
|
||
logg info "Syncing enterprise profiles from ${XDG_DATA_HOME:-$HOME/.local/share}/firefox to $FIREFOX_DIR"
|
||
sudo rsync -artvu "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/" "$FIREFOX_DIR" > /dev/null
|
||
fi
|
||
done
|
||
### Loop through various Firefox profile locations
|
||
for SETTINGS_DIR in "$HOME/snap/firefox/common/.mozilla/firefox" "$HOME/.var/app/org.mozilla.firefox/.mozilla/firefox" "$HOME/Library/Application Support/Firefox/Profiles" "$HOME/.mozilla/firefox"; do
|
||
### Determine executable to use
|
||
logg info "Processing Firefox profile location $SETTINGS_DIR"
|
||
unset FIREFOX_EXE
|
||
if [ "$SETTINGS_DIR" == "$HOME/.var/app/org.mozilla.firefox/.mozilla/firefox" ]; then
|
||
if ! command -v org.mozilla.firefox > /dev/null || [ ! -d "$HOME/.var/app/org.mozilla.firefox" ]; then
|
||
continue
|
||
else
|
||
FIREFOX_EXE="$(which org.mozilla.firefox)"
|
||
### Firefox Profile Switcher
|
||
BASE_DIR="$HOME/.var/app/org.mozilla.firefox"
|
||
BIN_INSTALL_DIR="$BASE_DIR/data/firefoxprofileswitcher-install"
|
||
MANIFEST_INSTALL_DIR="$BASE_DIR/.mozilla/native-messaging-hosts"
|
||
DOWNLOAD_URL="https://github.com/null-dev/firefox-profile-switcher-connector/releases/latest/download/linux-x64.deb"
|
||
### Ensure Firefox Profile Switcher is not already installed
|
||
if [ ! -f "$BIN_INSTALL_DIR/usr/bin/ff-pswitch-connector" ] || [ ! -f "$MANIFEST_INSTALL_DIR/ax.nd.profile_switcher_ff.json" ]; then
|
||
### Download profile switcher
|
||
mkdir -p "$BIN_INSTALL_DIR"
|
||
TMP_FILE="$(mktemp)"
|
||
logg info 'Downloading Firefox Profile Switch connector'
|
||
curl -sSL "$DOWNLOAD_URL" -o "$TMP_FILE"
|
||
ar p "$TMP_FILE" data.tar.xz | tar xfJ - --strip-components=2 -C "$BIN_INSTALL_DIR" usr/bin/ff-pswitch-connector
|
||
rm -f "$TMP_FILE"
|
||
### Create manifest
|
||
logg info 'Copying profile switcher configuration to manifest directory'
|
||
mkdir -p "$MANIFEST_INSTALL_DIR"
|
||
cat "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/profile-switcher.json" | sed 's=PATH_PLACEHOLDER='"$BIN_INSTALL_DIR"'=' > "$MANIFEST_INSTALL_DIR/ax.nd.profile_switcher_ff.json"
|
||
fi
|
||
fi
|
||
elif [ "$SETTINGS_DIR" == "$HOME/.var/app/io.gitlab.librewolf-community/.librewolf" ]; then
|
||
if ! command -v io.gitlab.librewolf-community > /dev/null || [ ! -d "$HOME/.var/app/io.gitlab.librewolf-community" ]; then
|
||
continue
|
||
else
|
||
continue
|
||
# FIREFOX_EXE="$(which io.gitlab.librewolf-community)"
|
||
fi
|
||
elif [ "$SETTINGS_DIR" == "$HOME/Library/Application Support/Firefox/Profiles" ]; then
|
||
FIREFOX_EXE="/Applications/Firefox.app/Contents/MacOS/firefox"
|
||
if [ ! -f "$FIREFOX_EXE" ] || [ ! -d /Applications ]; then
|
||
continue
|
||
else
|
||
### Download Firefox Profile Switcher
|
||
if [ ! -d /usr/local/Cellar/firefox-profile-switcher-connector ]; then
|
||
logg info 'Ensuring Firefox Profile Switcher is installed'
|
||
brew install --quiet null-dev/firefox-profile-switcher/firefox-profile-switcher-connector
|
||
fi
|
||
### Ensure Firefox Profile Switcher configuration is symlinked
|
||
if [ ! -d "/Library/Application Support/Mozilla/NativeMessagingHosts/ax.nd.profile_switcher_ff.json" ]; then
|
||
logg info 'Ensuring Firefox Profile Switcher is configured'
|
||
sudo mkdir -p "/Library/Applcation Support/Mozilla/NativeMessagingHosts"
|
||
sudo ln -sf "$(brew ls -l firefox-profile-switcher-connector | grep -i ax.nd.profile_switcher_ff.json | head -n1)" "/Library/Application Support/Mozilla/NativeMessagingHosts/ax.nd.profile_switcher_ff.json"
|
||
fi
|
||
fi
|
||
elif [ "$SETTINGS_DIR" == "$HOME/Library/Application Support/LibreWolf/Profiles" ]; then
|
||
continue
|
||
# FIREFOX_EXE="/Applications/LibreWolf.app/Contents/MacOS/librewolf"
|
||
# if [ ! -f "$FIREFOX_EXE" ] || [ ! -d /Applications ]; then
|
||
# logg info "$FIREFOX_EXE is not a file"
|
||
# continue
|
||
# fi
|
||
elif [ "$SETTINGS_DIR" == "$HOME/snap/firefox/common/.mozilla/firefox" ]; then
|
||
FIREFOX_EXE="/snap/bin/firefox"
|
||
if [ ! -f "$FIREFOX_EXE" ] || [ ! -d "$HOME/snap/firefox" ]; then
|
||
continue
|
||
else
|
||
### Firefox Profile Switcher
|
||
BASE_DIR="$HOME/snap/firefox/common"
|
||
BIN_INSTALL_DIR="$BASE_DIR/firefoxprofileswitcher-install"
|
||
MANIFEST_INSTALL_DIR="$BASE_DIR/.mozilla/native-messaging-hosts"
|
||
DOWNLOAD_URL="https://github.com/null-dev/firefox-profile-switcher-connector/releases/latest/download/linux-x64.deb"
|
||
### Ensure Firefox Profile Switcher is not already installed
|
||
if [ ! -f "$BIN_INSTALL_DIR/usr/bin/ff-pswitch-connector" ] || [ ! -f "$MANIFEST_INSTALL_DIR/ax.nd.profile_switcher_ff.json" ]; then
|
||
### Download profile switcher
|
||
mkdir -p "$BIN_INSTALL_DIR"
|
||
TMP_FILE="$(mktemp)"
|
||
logg info 'Downloading Firefox Profile Switch connector'
|
||
curl -sSL "$DOWNLOAD_URL" -o "$TMP_FILE"
|
||
ar p "$TMP_FILE" data.tar.xz | tar xfJ - --strip-components=2 -C "$BIN_INSTALL_DIR" usr/bin/ff-pswitch-connector
|
||
rm -f "$TMP_FILE"
|
||
### Create manifest
|
||
logg info 'Copying profile switcher configuration to manifest directory'
|
||
mkdir -p "$MANIFEST_INSTALL_DIR"
|
||
cat "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/profile-switcher.json" | sed 's/PATH_PLACEHOLDER/'"$BIN_INSTALL_DIR"'/' > "$MANIFEST_INSTALL_DIR/ax.nd.profile_switcher_ff.json"
|
||
fi
|
||
fi
|
||
elif [ "$SETTINGS_DIR" == "$HOME/.mozilla/firefox" ]; then
|
||
if command -v firefox-esr > /dev/null; then
|
||
FIREFOX_EXE="$(which firefox-esr)"
|
||
installFirefoxProfileConnector
|
||
elif command -v firefox > /dev/null && [ "$(which firefox)" != *'snap'* ] && [ "$(which firefox)" != *'flatpak'* ] && [ ! -d /Applications ] && [ ! -d /System ]; then
|
||
# Conditional check ensures Snap / Flatpak / macOS Firefox versions do not try to install to the wrong folder
|
||
FIREFOX_EXE="$(which firefox)"
|
||
installFirefoxProfileConnector
|
||
else
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
# Continue on macOS without logging because profiles are not stored here on macOS
|
||
continue
|
||
else
|
||
logg warn 'Unable to register Firefox executable'
|
||
logg info "Settings directory: $SETTINGS_DIR"
|
||
continue
|
||
fi
|
||
fi
|
||
fi
|
||
### Initiatize Firefox default profiles
|
||
logg info "Processing executable located at $FIREFOX_EXE"
|
||
if command -v "$FIREFOX_EXE" > /dev/null; then
|
||
### Create default profile by launching Firefox headlessly
|
||
logg info "Firefox executable set to $FIREFOX_EXE"
|
||
if [ ! -d "$SETTINGS_DIR" ]; then
|
||
logg info 'Running Firefox (or its derivative) headlessly to generate default profiles'
|
||
timeout 14 "$FIREFOX_EXE" --headless
|
||
logg info 'Finished running Firefox headlessly'
|
||
elif [ -d /Applications ] && [ -d /System ] && [ ! -f "$SETTINGS_DIR/../installs.ini" ]; then
|
||
logg info 'Running Firefox (or its derivative) headlessly to generate default profiles because install.ini is not at the macOS default location.'
|
||
timeout 14 "$FIREFOX_EXE" --headless
|
||
logg info 'Finished running Firefox headlessly (while fixing the missing macOS installs.ini issue)'
|
||
fi
|
||
### Ensure settings directory exists (since the application was brought up temporarily headlessly)
|
||
if [ ! -d "$SETTINGS_DIR" ]; then
|
||
logg warn "The settings directory located at $SETTINGS_DIR failed to be populated by running the browser headlessly"
|
||
continue
|
||
fi
|
||
### Add the populated profiles.ini
|
||
logg info "Copying "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/profiles.ini" to profile directory"
|
||
logg info "The settings directory is $SETTINGS_DIR"
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
# macOS
|
||
logg info "Copying ~/.local/share/firefox/profiles.ini to $SETTINGS_DIR/../profiles.ini"
|
||
cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/profiles.ini" "$SETTINGS_DIR/../profiles.ini"
|
||
SETTINGS_INI="$SETTINGS_DIR/../installs.ini"
|
||
else
|
||
# Linux
|
||
logg info "Copying ~/.local/share/firefox/profiles.ini to $SETTINGS_DIR/profiles.ini"
|
||
cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/profiles.ini" "$SETTINGS_DIR/profiles.ini"
|
||
SETTINGS_INI="$SETTINGS_DIR/installs.ini"
|
||
fi
|
||
### Default profile (created by launching Firefox headlessly)
|
||
DEFAULT_RELEASE_PROFILE="$(find "$SETTINGS_DIR" -mindepth 1 -maxdepth 1 -name "*.default" -not -name "profile.default")"
|
||
if [ -n "$DEFAULT_RELEASE_PROFILE" ]; then
|
||
logg info "Syncing $DEFAULT_RELEASE_PROFILE to $SETTINGS_DIR/profile.default"
|
||
rsync -a "$DEFAULT_RELEASE_PROFILE/" "$SETTINGS_DIR/profile.default"
|
||
else
|
||
logg warn 'Unable to sync default Mozilla Firefox profile'
|
||
fi
|
||
### Ensure original installs.ini is removed
|
||
if [ -f "$SETTINGS_INI" ]; then
|
||
# DEFAULT_PROFILE_PROFILE="$SETTINGS_DIR/$(cat "$SETTINGS_INI" | grep 'Default=' | sed 's/.*Profiles\///')"
|
||
logg info 'Removing previous installs.ini file'
|
||
rm -f "$SETTINGS_INI"
|
||
else
|
||
logg info 'installs.ini was not present in the Mozilla Firefox settings folder'
|
||
fi
|
||
### Miscellaneous default profiles
|
||
for NEW_PROFILE in "automation" "development" "miscellaneous"; do
|
||
if [ ! -d "$SETTINGS_DIR/profile.${NEW_PROFILE}" ] && [ -d "$SETTINGS_DIR/profile.default" ]; then
|
||
logg info "Cloning $NEW_PROFILE from profile.default"
|
||
rsync -a "$SETTINGS_DIR/profile.default/" "$SETTINGS_DIR/profile.${NEW_PROFILE}"
|
||
rsync -a "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/" "$SETTINGS_DIR/profile.${NEW_PROFILE}"
|
||
cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/firefox/user.js" "$SETTINGS_DIR/profile.${NEW_PROFILE}"
|
||
fi
|
||
done
|
||
### Public git profile
|
||
if [ -d "$SETTINGS_DIR/profile.git" ]; then
|
||
logg info 'Resetting the Firefox git profile'
|
||
cd "$SETTINGS_DIR/profile.git"
|
||
git reset --hard HEAD
|
||
git clean -fxd
|
||
logg info 'Pulling latest updates to the Firefox git profile'
|
||
git pull origin master
|
||
else
|
||
logg info 'Cloning the public Firefox git profile'
|
||
cd "$SETTINGS_DIR" && git clone "$FIREFOX_PUBLIC_PROFILE" profile.git
|
||
fi
|
||
### Copy user.js to profile.git profile
|
||
cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/firefox/user.js" "$SETTINGS_DIR/profile.git"
|
||
### Git profile w/ plugins installed (installation happens below)
|
||
if [ ! -d "$SETTINGS_DIR/profile.plugins" ]; then
|
||
logg info "Syncing $SETTINGS_DIR/profile.git to $SETTINGS_DIR/profile.plugins"
|
||
rsync -a "$SETTINGS_DIR/profile.git/" "$SETTINGS_DIR/profile.plugins"
|
||
rsync -a "${XDG_DATA_HOME:-$HOME/.local/share}/firefox/" "$SETTINGS_DIR/profile.plugins"
|
||
cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/firefox/user.js" "$SETTINGS_DIR/profile.plugins"
|
||
fi
|
||
### Private hosted profile
|
||
# Deprecated in favor of using the Restic profile tasks saved in `~/.config/task/Taskfile.yml`
|
||
# if [ ! -d "$SETTINGS_DIR/profile.private" ]; then
|
||
# logg info 'Downloading the encrypted Firefox private profile'
|
||
# cd "$SETTINGS_DIR"
|
||
# curl -sSL '{ { .firefoxPrivateProfile } }' -o profile.private.tar.gz.age
|
||
# logg info 'Decrypting the Firefox private profile'
|
||
# chezmoi decrypt profile.private.tar.gz.age > profile.private.tar.gz || EXIT_DECRYPT_CODE=$?
|
||
# if [ -z "$EXIT_DECRYPT_CODE" ]; then
|
||
# rm -f profile.private.tar.gz.age
|
||
# logg info 'Decompressing the Firefox private profile'
|
||
# tar -xzf profile.private.tar.gz
|
||
# logg success 'The Firefox private profile was successfully installed'
|
||
# cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/firefox/user.js" "$SETTINGS_DIR/profile.private"
|
||
# logg info 'Copied ~/.config/firefox/user.js to profile.private profile'
|
||
# else
|
||
# logg error 'Failed to decrypt the private Firefox profile'
|
||
# fi
|
||
# fi
|
||
### Install Firefox addons (using list declared in .chezmoidata.yaml)
|
||
for SETTINGS_PROFILE in "profile.plugins" "profile.private"; do
|
||
if [ -d "$SETTINGS_DIR/$SETTINGS_PROFILE" ]; then
|
||
for FIREFOX_PLUGIN in {{ list (.firefoxAddOns | toString | replace "[" "" | replace "]" "") | uniq | join " " }}; do
|
||
logg info "Processing the $FIREFOX_PLUGIN Firefox add-on"
|
||
PLUGIN_HTML="$(mktemp)"
|
||
curl --silent "https://addons.mozilla.org/en-US/firefox/addon/$FIREFOX_PLUGIN/" > "$PLUGIN_HTML"
|
||
PLUGIN_TMP="$(mktemp)"
|
||
if ! command -v htmlq > /dev/null && command -v brew > /dev/null; then
|
||
logg info 'Installing htmlq using Homebrew since it is a dependency for populating Firefox add-ons' && brew install htmlq
|
||
fi
|
||
cat "$PLUGIN_HTML" | htmlq '#redux-store-state' | sed 's/^<scri.*application\/json">//' | sed 's/<\/script>$//' > "$PLUGIN_TMP"
|
||
PLUGIN_ID="$(jq '.addons.bySlug["'"$FIREFOX_PLUGIN"'"]' "$PLUGIN_TMP")"
|
||
if [ "$PLUGIN_ID" != 'null' ]; then
|
||
PLUGIN_FILE_ID="$(jq -r '.addons.byID["'"$PLUGIN_ID"'"].guid' "$PLUGIN_TMP")"
|
||
if [ "$PLUGIN_FILE_ID" != 'null' ]; then
|
||
PLUGIN_URL="$(cat "$PLUGIN_HTML" | htmlq '.InstallButtonWrapper-download-link' --attribute href)"
|
||
PLUGIN_FILENAME="${PLUGIN_FILE_ID}.xpi"
|
||
PLUGIN_FOLDER="$(echo "$PLUGIN_FILENAME" | sed 's/.xpi$//')"
|
||
if [ ! -d "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions/$PLUGIN_FOLDER" ]; then
|
||
logg info 'Downloading add-on XPI file for '"$PLUGIN_FILENAME"' ('"$FIREFOX_PLUGIN"')'
|
||
if [ ! -d "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions" ]; then
|
||
mkdir -p "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions"
|
||
fi
|
||
curl -sSL "$PLUGIN_URL" -o "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions/$PLUGIN_FILENAME"
|
||
# Unzipping like this causes Firefox to complain about unsigned plugins
|
||
# TODO - figure out how to headlessly enable the extensions in such a way that is compatible with Flatpak / Snap
|
||
# using the /usr/lib/firefox/distribution/policies.json works but this is not compatible with Flatpak / Snap out of the box
|
||
# it seems since they do not have access to the file system by default. Also, using the policies.json approach forces
|
||
# all Firefox profiles to use the same extensions. Ideally, we should find a way to enable the extensions scoped
|
||
# to the user profile.
|
||
# logg info 'Unzipping '"$PLUGIN_FILENAME"' ('"$FIREFOX_PLUGIN"')'
|
||
# unzip "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions/$PLUGIN_FILENAME" -d "$SETTINGS_DIR/$SETTINGS_PROFILE/extensions/$PLUGIN_FOLDER"
|
||
logg success 'Installed '"$FIREFOX_PLUGIN"''
|
||
fi
|
||
else
|
||
logg warn 'A null Firefox add-on filename was detected for '"$FIREFOX_PLUGIN"''
|
||
fi
|
||
else
|
||
logg warn 'A null Firefox add-on ID was detected for '"$FIREFOX_PLUGIN"''
|
||
fi
|
||
done
|
||
fi
|
||
done
|
||
fi
|
||
done
|
||
}
|
||
firefoxSetup
|
||
apt: firefox
|
||
apt:debian: firefox-esr
|
||
cask: firefox
|
||
choco: firefox
|
||
dnf: firefox
|
||
flatpak: org.mozilla.firefox
|
||
pacman: firefox
|
||
firefox-profile:
|
||
_bin: firefox-profile
|
||
_desc: "firefox-profile-js is a Node.js library that allows you to create and manage Firefox profiles programmatically. It provides functions to create new profiles, set preferences, add extensions, and manage \ncookies and permissions. This library can be useful for automated testing, web scraping, or any scenario where you need to interact with Firefox profiles in a scripted manner. It simplifies the process \nof working with Firefox profiles through a set of easy-to-use functions. "
|
||
_github: https://github.com/saadtazi/firefox-profile-js
|
||
_name: Firefox Profile CLI
|
||
_short: "firefox-profile-js is a tool for managing Firefox profiles programmatically using JavaScript. "
|
||
npm: firefox-profile
|
||
firewall-applet:
|
||
_bin: firewall-applet
|
||
_github: false
|
||
apt: firewall-applet
|
||
dnf: firewall-applet
|
||
pacman: firewall-applet
|
||
firewall-config:
|
||
_bin: firewall-config
|
||
_github: false
|
||
apt: firewall-config
|
||
dnf: firewall-config
|
||
pacman: firewall-config
|
||
firewalld:
|
||
_bin: firewall-cmd
|
||
_desc: "Firewalld is a dynamic firewall management tool for Linux systems. It provides a dynamically managed firewall with support for network zones, services, and rich rules. It allows for easy configuration \nof firewall rules through a command-line interface or graphical user interface. Firewalld is designed to be more user-friendly and flexible compared to traditional static firewall configurations. It is \nactively maintained and widely used in various Linux distributions to enhance network security and manage firewall settings efficiently. "
|
||
_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
|
||
_short: "firewalld is a dynamic firewall management tool for Linux systems. "
|
||
apt: firewalld
|
||
dnf: firewalld
|
||
emerge: net-firewall/firewalld
|
||
pacman: firewalld
|
||
zypper: firewalld
|
||
fiscript:
|
||
_app: FiScript.app
|
||
_bin: fiscript
|
||
_desc: "FiScript is a command-line tool for macOS that allows users to interact with files and directories using a simple and intuitive syntax. It provides a set of commands that can be used to perform various \nfile operations such as copying, moving, renaming, deleting, and more. FiScript aims to simplify file management tasks for users who prefer working in the terminal. It is written in Swift and offers a \nrange of features to enhance file manipulation efficiency on macOS systems. "
|
||
_github: https://github.com/Mortennn/FiScript
|
||
_name: FiScript
|
||
_short: "FiScript is a command-line tool for macOS that allows you to interact with files and directories using a simple and intuitive syntax. "
|
||
cask: fiscript
|
||
fission:
|
||
_bin: fission
|
||
_desc: Fast and Simple Serverless Functions for Kubernetes
|
||
_docs: https://fission.io/docs/
|
||
_github: https://github.com/fission/fission
|
||
_home: https://fission.io/
|
||
_name: Fission
|
||
_short: "Fission is an open-source, Kubernetes-native serverless framework for easily deploying functions and applications. "
|
||
exe: https://github.com/fission/fission/releases/download/v1.19.0/fission-v1.19.0-windows-amd64.exe
|
||
github: github.com/fission/fission
|
||
nix-env: nixos.fission
|
||
script:darwin: cd /tmp && curl -sSLo fission https://github.com/fission/fission/releases/download/v1.19.0/fission-v1.19.0-darwin-amd64 && chmod +x fission && sudo mv fission /usr/local/bin/
|
||
script:linux: cd /tmp && curl -sSLo fission https://github.com/fission/fission/releases/download/v1.19.0/fission-v1.19.0-linux-amd64 && chmod +x fission && sudo mv fission /usr/local/bin/
|
||
fkill:
|
||
_bin: fkill
|
||
_desc: Fabulously kill processes. Cross-platform
|
||
_github: https://github.com/sindresorhus/fkill
|
||
_name: fkill
|
||
_short: "fkill is a command-line tool for macOS that helps you easily kill processes by name or port. "
|
||
npm: fkill-cli
|
||
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
|
||
_short: "Flake8 is a Python tool that combines linting and style checking using various plugins to help maintain code quality. "
|
||
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/
|
||
_github: https://github.com/flameshot-org/flameshot
|
||
_home: https://flameshot.org/
|
||
_name: Flameshot
|
||
_scoopExtras: true
|
||
_short: "Flameshot is a powerful open-source screenshot tool for Linux and Windows, allowing users to capture, edit, and annotate screenshots with ease. "
|
||
apt: flameshot
|
||
cask: flameshot
|
||
choco: flameshot
|
||
dnf: flameshot
|
||
eopkg: flameshot
|
||
flatpak: org.flameshot.Flameshot
|
||
nix: nixos.flameshot
|
||
pacman: flameshot
|
||
port: flameshot
|
||
scoop: flameshot
|
||
snap: flameshot
|
||
winget: flameshot
|
||
xbps: flameshot
|
||
zypper: flameshot
|
||
flatseal:
|
||
_bin: flatseal
|
||
_desc: "Flatseal is a graphical utility tool for managing permissions in Flatpak applications on Linux systems. It provides a user-friendly interface to view and modify the permissions granted to Flatpak \napplications, enhancing the security and privacy control for users. With Flatseal, users can easily adjust permissions such as access to files, network, and hardware devices for individual Flatpak \napplications, giving them more control over their system's security settings. "
|
||
_github: https://github.com/tchx84/Flatseal
|
||
_name: "Flatseal "
|
||
_short: "Flatseal is a graphical utility to manage permissions for Flatpak applications on Linux systems. "
|
||
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
|
||
_short: "Fleet is an open-source device management platform for macOS, Windows, and Linux systems. "
|
||
npm: fleetctl
|
||
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
|
||
_short: "Flow.Launcher is an open-source productivity tool for Windows that enhances search and navigation capabilities through customizable plugins and hotkeys. "
|
||
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"
|
||
_docs: https://docs.flutter.dev/
|
||
_github: https://github.com/flutter/flutter
|
||
_home: https://flutter.dev/
|
||
_name: Flutter
|
||
_short: "Flutter is a popular open-source UI software development kit created by Google for building natively compiled applications for mobile, web, and desktop from a single codebase. "
|
||
cask: flutter
|
||
choco: flutter
|
||
snap: flutter --classic
|
||
yay: flutter
|
||
fly:
|
||
_bin: fly
|
||
_desc: CLI to manage Concourse CI installation
|
||
_github: https://github.com/concourse/concourse
|
||
_home: https://concourse-ci.org/
|
||
_name: fly
|
||
_short: "Concourse is an open-source continuous integration and continuous delivery (CI/CD) tool. "
|
||
cask: fly
|
||
github: https://github.com/concourse/concourse
|
||
yay: fly-cli
|
||
fm:
|
||
_bin: fm
|
||
_desc: Terminal file manager
|
||
_github: https://github.com/mistakenelf/fm
|
||
_name: fm
|
||
_short: "fm is a simple file manager for the terminal. "
|
||
github: github.com/mistakenelf/fm
|
||
go: github.com/mistakenelf/fm@latest
|
||
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
|
||
_short: "Footloose is a tool that creates lightweight containers as virtual machines for development and testing purposes. "
|
||
brew: weaveworks/tap/footloose
|
||
go: github.com/weaveworks/footloose@master
|
||
forever:
|
||
_bin: forever
|
||
_desc: "forever is a simple CLI tool for ensuring that a given script runs continuously. It's particularly useful for keeping Node.js scripts running indefinitely. It can restart the script if it crashes, and \nit also has features like logging, different log levels, and the ability to specify the maximum number of restarts within a specific time frame. This tool is handy for managing and monitoring \nlong-running processes, making it easier to maintain the stability of your applications. "
|
||
_github: https://github.com/foreversd/forever
|
||
_name: Forever
|
||
_short: "forever is a simple CLI tool for ensuring that a given script runs continuously. "
|
||
npm: forever
|
||
forklift:
|
||
_bin: forklift
|
||
_desc: "Forklift is a file manager for macOS that provides a user-friendly interface for managing files and folders. It offers features like dual-pane navigation, remote file access (FTP, SFTP, WebDAV, Amazon \nS3, Backblaze B2), file synchronization, file compression, and more. It is designed to be a powerful alternative to the default Finder app on macOS, with a focus on efficiency and ease of use. Users can\ncustomize the interface, keyboard shortcuts, and workflows to suit their preferences. Forklift is developed by BinaryNights and is available for purchase on the Mac App Store. "
|
||
_github: https://github.com/Johnn3y/Forklift
|
||
_name: "Forklift "
|
||
_short: "Forklift is a powerful file manager for macOS with a dual-pane interface, remote file access, and advanced file management features. "
|
||
flatpak: com.github.Johnn3y.Forklift
|
||
fpm:
|
||
_bin: fpm
|
||
_deps:
|
||
- fpm:deps
|
||
_desc: "[fpm](https://github.com/jordansissel/fpm) (short for Effing package management) allows you to build packages for multiple platforms with great ease. The source of your package can be a gem, Python module, pear, directory, .tar.gz, rpm, deb, Node.js package, or pacman package. The target packages it supports are deb, rpm, solaris, freebsd, tar, directory, Mac OS X .pkg file, or pacman package."
|
||
_github: https://github.com/jordansissel/fpm
|
||
_name: fpm
|
||
_short: "fpm is a tool for building packages in various formats like deb, rpm, and others, making package management easier across different systems. "
|
||
ansible: professormanhattan.fpm
|
||
gem: fpm
|
||
fpm:deps:
|
||
_github: false
|
||
apt:
|
||
- build-essential
|
||
- ruby-dev
|
||
- rubygems
|
||
brew:
|
||
- gnu-tar
|
||
dnf:
|
||
- gcc
|
||
- libffi-devel
|
||
- make
|
||
- rpm-build
|
||
- ruby-devel
|
||
- rubygems
|
||
pacman:
|
||
- base-devel
|
||
- gcc
|
||
fq:
|
||
_bin: fq
|
||
_desc: jq for binary formats
|
||
_github: https://github.com/wader/fq
|
||
_name: fq
|
||
_short: "fq is a command-line tool for viewing and querying JSON data interactively. "
|
||
apk: fq
|
||
brew: wader/tap/fq
|
||
github: github.com/wader/fq
|
||
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
|
||
_short: "Fritzing is an open-source software used for designing electronics projects. It provides a user-friendly interface for creating circuit diagrams, PCB layouts, and more. "
|
||
_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)
|
||
_short: "frp is a fast reverse proxy to help expose a local server to the internet securely. "
|
||
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)
|
||
_short: "frp is a fast reverse proxy to help expose a local server to the internet securely. "
|
||
brew: frps
|
||
fselect:
|
||
_bin: fselect
|
||
_desc: Extension to find files with SQL-like queries
|
||
_github: https://github.com/jhspetersson/fselect
|
||
_name: fselect
|
||
_short: "fselect is a command-line tool for searching files with SQL-like queries. "
|
||
brew: fselect
|
||
cargo: fselect
|
||
choco: fselect
|
||
github: github.com/jhspetersson/fselect
|
||
yay: fselect
|
||
fuego:
|
||
_bin: fuego
|
||
_desc: Fuego is a command line client for the Firestore database
|
||
_docs: https://github.com/sgarciac/fuego
|
||
_github: https://github.com/sgarciac/fuego
|
||
_home: https://github.com/sgarciac/fuego
|
||
_name: Fuego
|
||
_short: "Fuego is a lightweight and fast web framework for Go. "
|
||
brew: fuego-firestore
|
||
go: github.com/sgarciac/fuego@latest
|
||
snap: fuego
|
||
fury:
|
||
_bin: fury
|
||
_desc: "Gemfury is a service that provides private package repositories for RubyGems, Python packages, NPM modules, and more. It allows developers to securely host and distribute their private code and \ndependencies. Gemfury supports continuous integration tools like Travis CI and Jenkins, making it easy to integrate into existing workflows. It also offers features like team collaboration, access \ncontrol, and detailed analytics. Overall, Gemfury is a convenient solution for managing and sharing private packages across different programming languages. "
|
||
_github: https://github.com/gemfury/gemfury
|
||
_name: Fury
|
||
_short: "Gemfury is a platform for hosting and sharing private RubyGems, Python packages, and NPM modules. "
|
||
brew: gemfury/tap/gemfury
|
||
fuse:
|
||
_bin: null
|
||
_desc: "[macFUSE](https://osxfuse.github.io/) allows you to extend macOS via third party file systems."
|
||
_github: https://github.com/libfuse/libfuse
|
||
_name: Fuse
|
||
_short: "libfuse is a library for writing filesystems in userspace on Unix-like operating systems. "
|
||
_when:cask: '! test -d /usr/local/Caskroom/macfuse && ! test -d "$HOMEBREW_PREFIX/Caskroom/macfuse"'
|
||
ansible:darwin: professormanhattan.fuse
|
||
apt:
|
||
- fuse
|
||
- libfuse-dev
|
||
cask: macfuse
|
||
fx:
|
||
_bin: fx
|
||
_desc: A terminal JSON viewer.
|
||
_docs: https://github.com/antonmedv/fx/blob/master/doc/doc.md
|
||
_github: https://github.com/antonmedv/fx
|
||
_home: https://github.com/antonmedv/fx
|
||
_name: FX
|
||
_short: "fx is a command-line tool for processing JSON data interactively. "
|
||
brew: fx
|
||
go: github.com/antonmedv/fx@latest
|
||
pacman: fx
|
||
pkg: fx
|
||
scoop: fx
|
||
snap: fx
|
||
fzf:
|
||
_bin: fzf
|
||
_desc: "[fzf](https://github.com/junegunn/fzf) is a general-purpose command-line fuzzy finder. It's an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc."
|
||
_docs: https://github.com/junegunn/fzf#usage
|
||
_github: https://github.com/junegunn/fzf
|
||
_home: https://github.com/junegunn/fzf
|
||
_name: fzf
|
||
_short: "fzf is a command-line fuzzy finder for searching and selecting items interactively. "
|
||
ansible: professormanhattan.fzf
|
||
apk: fzf
|
||
apt: fzf
|
||
brew: fzf
|
||
dnf:fedora: fzf
|
||
nix: nixpkgs.fzf
|
||
pacman: fzf
|
||
pkg-freebsd: fzf
|
||
pkg_add: fzf
|
||
pkgin: fzf
|
||
port: fzf
|
||
xbps: fzf
|
||
zypper: fzf
|
||
gawk:
|
||
_bin: gawk
|
||
_desc: An implementation of the AWK programming language
|
||
_docs: https://www.gnu.org/software/gawk/manual/
|
||
_github: false
|
||
_home: https://www.gnu.org/software/gawk/
|
||
_name: gawk
|
||
apt: gawk
|
||
brew: gawk
|
||
choco: gawk
|
||
dnf: gawk
|
||
pacman: gawk
|
||
port: gawk
|
||
scoop: gawk
|
||
gcc:
|
||
_bin: gcc
|
||
_desc: "The link https://github.com/gcc-mirror/gcc leads to the official mirror of the GNU Compiler Collection (GCC) on GitHub. GCC is a widely used compiler for programming languages like C, C++, and Fortran. \nThis repository contains the source code for GCC, allowing developers to contribute to its development, report issues, and access the latest updates. It's a valuable resource for anyone interested in \nunderstanding or modifying the inner workings of this essential compiler tool. "
|
||
_github: https://github.com/gcc-mirror/gcc
|
||
_name: GCC
|
||
_short: "The gcc-mirror/gcc repository on GitHub is a mirror of the official GCC (GNU Compiler Collection) repository. "
|
||
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."
|
||
_github: false
|
||
_name: Google Cloud SDK
|
||
ansible: professormanhattan.googlecloudsdk
|
||
cask: google-cloud-sdk
|
||
choco: gcloudsdk
|
||
snap: google-cloud-sdk --classic
|
||
yay: google-cloud-sdk
|
||
gcsf:
|
||
_bin: gcsf
|
||
_desc: "gcsf is a FUSE file system that allows you to mount your Google Drive account as a local file system for easy access and manipulation of your files. It uses Google Drive API to interact with your Google\nDrive account securely. With gcsf, you can perform various file operations like browsing, uploading, downloading, and deleting files on your Google Drive directly from your terminal. It provides a \nconvenient way to work with your Google Drive files without needing a web browser. "
|
||
_github: https://github.com/harababurel/gcsf
|
||
_name: GCSF
|
||
_short: "gcsf is a FUSE file system that allows you to mount your Google Drive account as a local file system. "
|
||
cargo: gcsf
|
||
gdbgui:
|
||
_bin: gdbgui
|
||
_desc: "gdbgui is a browser-based frontend for the GNU Debugger (GDB), allowing users to debug C, C++, and Rust code in a visual interface. It provides features like code highlighting, variable inspection, and \nmemory viewing. Users can set breakpoints, step through code, and analyze program state in a more user-friendly manner compared to traditional command-line debugging. The tool aims to simplify the \ndebugging process by offering a graphical representation of the debugging session. It can be a useful tool for developers looking for a more intuitive way to debug their code. "
|
||
_github: https://github.com/cs01/gdbgui
|
||
_name: "gdbgui "
|
||
_short: "gdbgui is a browser-based graphical interface for GDB (GNU Debugger) that allows for debugging programs with a visual representation of the code execution flow. "
|
||
pipx: gdbgui
|
||
gdown:
|
||
_bin: gdown
|
||
_desc: Download a large file from Google Drive
|
||
_github: https://github.com/wkentaro/gdown
|
||
_name: "gdown "
|
||
_short: "gdown is a Python package that allows you to download files from Google Drive using their shareable links. "
|
||
pipx: gdown
|
||
gdrive:
|
||
_bin: gdrive
|
||
_desc: Google Drive CLI Client
|
||
_docs: https://github.com/prasmussen/gdrive#usage
|
||
_github: https://github.com/prasmussen/gdrive
|
||
_home: https://github.com/prasmussen/gdrive
|
||
_name: gdrive
|
||
_short: "gdrive is a command-line utility for interacting with Google Drive. "
|
||
brew: gdrive
|
||
choco: gdrive
|
||
github: github.com/prasmussen/gdrive
|
||
go: github.com/prasmussen/gdrive@latest
|
||
port: gdrive
|
||
scoop: gdrive
|
||
yay: gdrive
|
||
gdu:
|
||
_bin: gdu
|
||
_desc: "gdu is a disk usage analyzer with an ncurses interface for Unix systems. It provides a visual representation of disk space usage, allowing users to quickly identify large files and directories. Users \ncan navigate through directories, delete files, and drill down into specific folders to manage disk space efficiently. It is a lightweight and fast tool that can be useful for system administrators and \nusers looking to optimize their disk usage. "
|
||
_github: https://github.com/dundee/gdu
|
||
_name: "gdu "
|
||
_post:brew: |
|
||
#!/usr/bin/env bash
|
||
brew link --overwrite gdu
|
||
_post:snap: |
|
||
#!/usr/bin/env bash
|
||
sudo snap connect gdu-disk-usage-analyzer:mount-observe :mount-observe
|
||
sudo snap connect gdu-disk-usage-analyzer:system-backup :system-backup
|
||
sudo snap alias gdu-disk-usage-analyzer.gdu gdu
|
||
_short: "gdu is a disk usage analyzer with a terminal interface for MacOS. "
|
||
apt:debian: gdu
|
||
brew: gdu
|
||
go: github.com/dundee/gdu/v5/cmd/gdu@latest
|
||
pacman: gdu
|
||
snap: gdu-disk-usage-analyzer
|
||
generator-ngx-rocket:
|
||
_bin: ngx
|
||
_desc: "ngx-rocket/generator-ngx-rocket is a Yeoman generator for Angular applications. It provides a scaffolding tool to quickly set up and generate Angular projects with best practices, including a modular \narchitecture, lazy loading, and more. This generator helps streamline the process of creating Angular applications by providing a solid foundation and structure to build upon. It is a useful tool for \ndevelopers looking to kickstart their Angular projects efficiently. "
|
||
_github: https://github.com/ngx-rocket/generator-ngx-rocket
|
||
_name: Angular
|
||
_short: "generator-ngx-rocket is a Yeoman generator for Angular applications, providing a solid foundation with best practices and a modular architecture. "
|
||
npm: generator-ngx-rocket
|
||
genymotion:
|
||
_app: Genymotion.app
|
||
_github: false
|
||
cask: genymotion
|
||
choco: genymotion
|
||
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
|
||
_github: https://github.com/lordgiotto/google-font-installer
|
||
_name: "google-font-installer "
|
||
_short: "google-font-installer is a script that simplifies the process of installing Google Fonts on your system. "
|
||
npm: google-font-installer
|
||
gh:
|
||
_bin: gh
|
||
_desc: "[gh](https://cli.github.com/) is GitHub on the command line. It brings pull requests, issues, and other GitHub concepts to the terminal next to where you are already working with git and your code."
|
||
_docs: https://cli.github.com/manual/
|
||
_github: https://github.com/cli/cli
|
||
_home: https://cli.github.com/
|
||
_name: Github CLI
|
||
_short: "GitHub CLI is a command-line tool that brings GitHub to your terminal. "
|
||
ansible: professormanhattan.gh
|
||
brew: gh
|
||
choco: gh
|
||
port: gh
|
||
scoop: gh
|
||
winget: GitHub.cli
|
||
ghcup:
|
||
_bin: ghcup
|
||
_desc: "ghcup is a tool for installing and managing multiple versions of the Haskell compiler GHC. It allows you to easily switch between different versions of GHC, install development tools, and manage Haskell\npackages. With ghcup, you can keep your Haskell environment organized and up-to-date. It simplifies the process of managing Haskell installations and dependencies, making it easier for developers to \nwork with Haskell projects. "
|
||
_github: https://github.com/haskell/ghcup-hs
|
||
_name: GHCup
|
||
_short: "ghcup-hs is a tool for managing Haskell installations on your system. "
|
||
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."
|
||
_github: https://github.com/gabrie30/ghorg
|
||
_name: ghorg
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
ghorg reclone
|
||
_short: "ghorg is a tool for cloning all repositories of a GitHub organization quickly and easily. "
|
||
ansible: professormanhattan.ghorg
|
||
brew: gabrie30/utils/ghorg
|
||
github: github.com/gabrie30/ghorg
|
||
go: github.com/gabrie30/ghorg@latest
|
||
yay: ghorg
|
||
gifsicle:
|
||
_bin: gifsicle
|
||
_desc: "Gifsicle is a powerful command-line tool for creating, editing, and optimizing GIF images. It allows you to manipulate GIF files by resizing, optimizing, and applying various effects. With Gifsicle, you\ncan merge multiple GIFs, extract frames, and adjust colors. It's a versatile tool for working with GIF images efficiently. You can find more information and detailed usage instructions on its GitHub \npage: https://github.com/kohler/gifsicle. "
|
||
_github: https://github.com/kohler/gifsicle
|
||
_name: Gifsicle
|
||
_short: "gifsicle is a powerful command-line tool for creating, editing, and optimizing GIF images. "
|
||
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
|
||
_short: "GIMP is a free and open-source image editor for tasks like photo retouching, image composition, and image authoring. "
|
||
ansible: professormanhattan.gimp
|
||
apt: gimp
|
||
cask: gimp
|
||
choco: gimp
|
||
dnf: gimp
|
||
flatpak: org.gimp.GIMP
|
||
pacman: gimp
|
||
snap: gimp
|
||
gist:
|
||
_bin: gist
|
||
_desc: "[gist](https://github.com/defunkt/gist) provides a command that you can use from your terminal to upload content to https://gist.github.com/. This role will optionally set up a dotfile that handles authentication if you pass the appropriate configuration."
|
||
_github: https://github.com/defunkt/gist
|
||
_name: gist
|
||
_short: "Gist is a tool for sharing code snippets or files easily on GitHub. "
|
||
ansible: professormanhattan.gist
|
||
gem: gist
|
||
git:
|
||
_bin: git
|
||
_desc: "git/git is the official repository for the Git version control system. It contains the source code for Git, along with documentation, release notes, and other resources. Users can contribute to Git by \nsubmitting pull requests, reporting issues, and participating in discussions. The repository is maintained by the Git community and serves as the central hub for all things related to the development \nand improvement of Git. "
|
||
_github: https://github.com/git/git
|
||
_name: "git "
|
||
_short: "git/git is the official repository for the Git version control system. "
|
||
apk: git
|
||
apt: git
|
||
brew: git
|
||
dnf: git
|
||
git-branchless:
|
||
_bin: git-branchless
|
||
_desc: "git-branchless is a tool that aims to simplify and optimize Git workflows by eliminating the need for branches. It allows users to work directly on commits, making it easier to navigate and manage \nchanges without the overhead of creating and switching between branches. This approach can potentially improve performance and reduce complexity in certain Git workflows. The tool provides commands to \nhelp users interact with commits directly, making it a unique and interesting alternative to traditional branch-based Git workflows. "
|
||
_github: https://github.com/arxanas/git-branchless
|
||
_name: Git Branchless
|
||
_short: "git-branchless is a tool that simplifies Git workflows by avoiding the use of branches. It allows you to work directly on the main branch, making the process more linear and reducing the complexity of \nmanaging multiple branches. "
|
||
_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: "git-bug is a command-line tool that integrates a bug tracker directly into your Git workflow. It allows you to manage issues and bugs using Git commands, making it easy to track and resolve issues \nwithin your repository. With git-bug, you can create, list, edit, and close issues directly from the command line, streamlining the bug tracking process for developers. It also supports features like \nlabels, comments, and attachments, providing a comprehensive solution for managing project issues within Git. "
|
||
_github: https://github.com/MichaelMure/git-bug
|
||
_name: Git Bug
|
||
_short: "git-bug is a distributed bug tracker embedded in Git. "
|
||
brew: git-bug
|
||
pkg-freebsd: git-bug
|
||
scoop: git-bug
|
||
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."
|
||
_github: https://github.com/tj/git-extras
|
||
_name: git-extras
|
||
_short: "git-extras is a collection of useful Git utilities. "
|
||
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"
|
||
_github: https://github.com/newren/git-filter-repo
|
||
_name: "git-filter-repo "
|
||
_short: "git-filter-repo is a powerful tool for rewriting Git repository history efficiently and with ease. "
|
||
ansible: professormanhattan.gitfilterrepo
|
||
brew: git-filter-repo
|
||
pipx: git-filter-repo
|
||
git-jump:
|
||
_bin: git-jump
|
||
_desc: "git-jump is a tool available at https://github.com/mykolaharmash/git-jump designed to enhance navigation within a Git repository. It allows users to quickly jump to different parts of a repository by \nproviding a fuzzy search functionality for branches, tags, and commits. This tool can be especially useful for developers working on projects with many branches or frequent commits, making it easier to \nnavigate and switch between different parts of the repository efficiently. "
|
||
_github: https://github.com/mykolaharmash/git-jump
|
||
_name: Git Jump
|
||
_short: "git-jump is a tool that allows you to quickly switch between Git branches using fuzzy search. "
|
||
brew: mykolaharmash/git-jump/git-jump
|
||
npm: git-jump
|
||
git-lfs:
|
||
_bin: git-lfs
|
||
_deps:
|
||
- git
|
||
_desc: Git LFS (Large File Storage) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise.
|
||
_github: https://github.com/git-lfs/git-lfs
|
||
_name: Git LFS
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo git lfs install --system
|
||
git lfs install
|
||
_short: "git-lfs is an open-source extension for Git that manages large files by storing them outside the main repository. "
|
||
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
|
||
_github: https://github.com/jevakallio/git-notify
|
||
_name: Git Notify
|
||
_short: "git-notify is a tool that sends desktop notifications when you have new commits in your Git repositories. "
|
||
npm: git-notify
|
||
git-open:
|
||
_bin: git-open
|
||
_desc: Open the repo website (GitHub, GitLab, Bitbucket) in your browser
|
||
_github: https://github.com/paulirish/git-open
|
||
_name: "git-open "
|
||
_short: "git-open is a command-line tool that opens the GitHub page for a repository in your browser. "
|
||
npm: git-open
|
||
git-secret:
|
||
_bin: git-secret
|
||
_desc: "[git-secret](https://git-secret.io/) is a bash tool to store your private data inside a git repo. How’s that? Basically, it just encrypts, using GPG, the tracked files with the public keys of all the users that you trust. So everyone of them can decrypt these files using only their personal secret key."
|
||
_docs: https://git-secret.io/#commands
|
||
_epel: true
|
||
_github: https://github.com/sobolevn/git-secret
|
||
_home: https://git-secret.io/
|
||
_name: Git Secret
|
||
_short: "git-secret is a tool to store private data securely inside a Git repository. It encrypts files before committing them, allowing you to share repositories without exposing sensitive information. "
|
||
ansible:darwin: professormanhattan.gitsecret
|
||
ansible:linux: professormanhattan.gitsecret
|
||
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."
|
||
_github: https://github.com/IonicaBizau/git-stats
|
||
_name: git-stats
|
||
_short: "git-stats is a tool that provides statistics about a Git repository, such as contributors, commits per author, and more. "
|
||
ansible: professormanhattan.gitstats
|
||
npm: git-stats
|
||
git-subrepo:
|
||
_bin: git-subrepo
|
||
_desc: "git-subrepo is a tool that allows you to manage subrepositories within a Git repository. It enables you to include external repositories as subdirectories within your main repository, making it easier \nto work with multiple repositories as a single project. This tool simplifies the process of managing dependencies and keeping them in sync with your main project. It provides commands to add, update, \nand push changes to subrepositories, making it a useful tool for managing complex projects with multiple dependencies. "
|
||
_github: https://github.com/ingydotnet/git-subrepo
|
||
_name: Git Sub Repo
|
||
_short: "git-subrepo is a tool that allows you to manage subrepositories within a Git repository, enabling you to include external repositories as subdirectories in your main repository. "
|
||
brew: git-subrepo
|
||
git-town:
|
||
_bin: git-town
|
||
_desc: "Git Town is a Git extension that simplifies and streamlines common Git workflows. It provides a set of high-level Git commands that make it easier to work with branches, pull requests, and more. With \nGit Town, you can perform complex Git operations with simple, easy-to-remember commands, reducing the need to remember and type out lengthy Git commands. It aims to make Git more approachable for both \nbeginners and experienced users by abstracting away some of the complexity of Git operations. You can find more information and documentation on the project's GitHub page: Git Town on GitHub. "
|
||
_github: https://github.com/git-town/git-town
|
||
_name: Git Town
|
||
_short: "Git Town is a command-line tool that enhances Git workflow by simplifying common tasks and automating best practices. "
|
||
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
|
||
_short: "gitdock is a GitLab repository belonging to mvanremmerden. "
|
||
ansible:darwin: professormanhattan.gitdock
|
||
cask: gitdock
|
||
github-classroom-assistant:
|
||
_app: Classroom Assistant.app
|
||
_bin: github-classroom-assistant
|
||
_desc: "GitHub Classroom Assistant is a tool designed to help teachers and students manage assignments and repositories in GitHub Classroom. It automates the process of creating student repositories, cloning \nthem to the local machine, and submitting assignments back to GitHub. This tool simplifies the workflow for both instructors and students by providing a streamlined way to manage coding assignments and \nprojects within the GitHub ecosystem. It is a valuable resource for educational institutions looking to leverage GitHub for teaching programming and version control. "
|
||
_github: https://github.com/education/classroom-assistant
|
||
_name: GitHub Classroom Assistant
|
||
_short: "GitHub Classroom Assistant is a tool designed to help teachers and students manage assignments and grading on GitHub. "
|
||
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
|
||
_desc: "GitHub Desktop is a user-friendly desktop client for GitHub, designed to simplify interactions with GitHub repositories. It provides a graphical interface for tasks like managing repositories, reviewing\ncode, and merging changes. Users can easily clone repositories, create branches, commit changes, and push/pull code without needing to use the command line. GitHub Desktop supports both macOS and \nWindows operating systems, making it accessible to a wide range of users. It is a convenient tool for developers who prefer a visual interface for their version control workflows. "
|
||
_github: https://github.com/desktop/desktop
|
||
_name: "desktop "
|
||
_short: "GitHub Desktop is a user-friendly desktop client for managing your Git repositories. "
|
||
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
|
||
_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
|
||
HOST_DISTRO_FAMILY="$(yq '.data.host.distro.family' "${XDG_CONFIG_HOME:-$HOME/.config}/chezmoi/chezmoi.yaml")"
|
||
HOST_DISTRO_ID="$(yq '.data.host.distro.id' "${XDG_CONFIG_HOME:-$HOME/.config}/chezmoi/chezmoi.yaml")"
|
||
LABELS="self-hosted,$(yq '.data.host.hostname' "${XDG_CONFIG_HOME:-$HOME/.config}/chezmoi/chezmoi.yaml"),$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
|
||
_short: "GitHub Actions Runner is a tool that allows you to run GitHub Actions workflows on your own infrastructure. "
|
||
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: "Gitify is a macOS desktop application that provides a streamlined interface for managing GitHub notifications. It allows users to stay updated on their GitHub activities without needing to keep a \nbrowser tab open. With Gitify, users can receive notifications, view unread notifications, mark notifications as read, and easily access their GitHub repositories. It offers a convenient way for GitHub \nusers to stay organized and informed about their projects and collaborations. "
|
||
_description: GitHub notifications on the menu bar
|
||
_github: https://github.com/manosim/gitify
|
||
_home: https://github.com/manosim/gitify
|
||
_name: Gitify
|
||
_short: "Gitify is a macOS desktop client for GitHub, providing notifications and easy access to your repositories. "
|
||
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
|
||
_short: "$'Not open-source' is a string in zsh shell that uses single quotes to interpret escape sequences like \\n for newline. "
|
||
ansible: professormanhattan.gitkraken
|
||
cask: gitkraken
|
||
choco: gitkraken
|
||
flatpak: com.axosoft.GitKraken
|
||
snap: gitkraken --classic
|
||
gitlab-runner:
|
||
_bin: gitlab-runner
|
||
_desc: "[GitLab Runner](https://docs.gitlab.com/runner/) is an application that works with GitLab CI/CD to run jobs in a pipeline."
|
||
_docs: https://docs.gitlab.com/runner/
|
||
_github: https://github.com/gitlabhq/gitlab-runner
|
||
_home: https://gitlab.com/gitlab-org/gitlab-runner
|
||
_name: Gitlab Runner
|
||
_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
|
||
_service: gitlab-runner
|
||
_serviceEnabled: true
|
||
_short: "GitLab Runner is an open-source project that works with GitLab CI/CD to run jobs and send the results back to GitLab. "
|
||
ansible: professormanhattan.gitlabrunner
|
||
brew: gitlab-runner
|
||
choco: gitlab-runner
|
||
pacman: gitlab-runner
|
||
port: gitlab-runner
|
||
scoop: gitlab-runner
|
||
gitlabform:
|
||
_bin: gitlabform
|
||
_desc: "gitlabform is a tool available at https://github.com/gitlabform/gitlabform/ designed to manage GitLab resources as code. It allows users to define GitLab resources like projects, groups, users, and more\nin a configuration file, enabling easy versioning, sharing, and automation of GitLab configurations. With gitlabform, you can apply these configurations to your GitLab instance, ensuring consistency and\nreproducibility across environments. It simplifies GitLab administration tasks by providing a declarative way to manage GitLab resources. "
|
||
_github: https://github.com/gitlabform/gitlabform/
|
||
_name: "gitlabform "
|
||
_short: "gitlabform is a tool for managing GitLab resources as code, allowing you to define and version control your GitLab settings in a declarative way. "
|
||
pipx: gitlabform
|
||
gitleaks:
|
||
_bin: gitleaks
|
||
_desc: Extension to scan git repos (or files) for secrets using regex and entropy
|
||
_github: https://github.com/zricethezav/gitleaks
|
||
_name: gitleaks
|
||
_short: "gitleaks is a tool for finding sensitive information in git repositories. "
|
||
brew: gitleaks
|
||
dnf:fedora: gitleaks
|
||
github: github.com/zricethezav/gitleaks
|
||
pkg: gitleaks
|
||
yay: gitleaks
|
||
gitmoji-cli:
|
||
_bin: gitmoji
|
||
_desc: "gitmoji-cli is a command-line tool available on GitHub that allows users to easily use Gitmoji emojis in their commit messages. Gitmoji emojis are used to help standardize and communicate the purpose of\na commit in a more visual way. This tool simplifies the process of adding these emojis to commit messages, making it easier for developers to convey the nature of their changes. It provides a list of \nemojis and their meanings, making it convenient for developers to select the appropriate emoji for their commits. "
|
||
_github: https://github.com/carloscuesta/gitmoji-cli
|
||
_name: "gitmoji-cli "
|
||
_npm: Gitmoji CLI
|
||
_short: "gitmoji-cli is a command-line tool that helps you use emojis in your Git commit messages. "
|
||
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"
|
||
_github: https://github.com/muesli/gitomatic
|
||
_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
|
||
_short: "gitomatic is a tool for automatic syncing of Git repositories. "
|
||
ansible: professormanhattan.gitomatic
|
||
github: github.com/muesli/gitomatic
|
||
go: github.com/muesli/gitomatic@latest
|
||
pacman: gitomatic
|
||
scoop: gitomatic
|
||
gitql:
|
||
_bin: gitql
|
||
_desc: "gitql is a command-line tool that allows you to query your Git repositories using SQL-like syntax. It provides a way to search and filter through your commit history, branches, and more using familiar \nSQL commands. This tool can be useful for developers who are comfortable with SQL and want to analyze their Git repositories in a more structured manner. It offers a unique way to interact with Git \nrepositories and extract specific information efficiently. "
|
||
_github: https://github.com/filhodanuvem/gitql
|
||
_name: GitQL
|
||
_short: "gitql is a command-line tool that allows you to query your Git repositories using SQL-like syntax. "
|
||
brew: gitql
|
||
gitui:
|
||
_bin: gitui
|
||
_desc: Blazing fast TUI for git written in Rust
|
||
_docs: https://github.com/extrawurst/gitui
|
||
_github: https://github.com/extrawurst/gitui
|
||
_home: https://github.com/extrawurst/gitui
|
||
_name: Git UI
|
||
_short: "gitui is a terminal interface for Git with a user-friendly, interactive experience. "
|
||
brew: gitui
|
||
cargo: gitui
|
||
choco: delta
|
||
dnf:fedora: gitui
|
||
nix: nixpkgs.gitui
|
||
pacman: gitui
|
||
pkg: gitui
|
||
port: gitui
|
||
scoop: gitui
|
||
winget: gitui
|
||
gixy:
|
||
_bin: gixy
|
||
_desc: "Gixy is a tool developed by Yandex for analyzing Nginx configuration to detect security misconfigurations and performance issues. It scans the Nginx configuration file and provides recommendations to \nimprove security and performance. Gixy helps in identifying potential vulnerabilities such as insecure directives, misconfigured headers, and more. It is a useful tool for Nginx administrators to ensure\ntheir web server is properly configured and secure. "
|
||
_github: https://github.com/yandex/gixy
|
||
_name: "gixy "
|
||
_short: "gixy is a tool by Yandex for analyzing Nginx configuration to find security misconfigurations and performance issues. "
|
||
pipx: gixy
|
||
glab:
|
||
_bin: glab
|
||
_desc: An open-source GitLab command line tool bringing GitLab's cool features to your command line
|
||
_github: https://github.com/profclems/glab
|
||
_name: glab
|
||
_short: "glab is a GitLab CLI tool that brings GitLab to your terminal. "
|
||
apk: glab
|
||
brew: glab
|
||
github: github.com/profclems/glab
|
||
scoop: glab
|
||
yay: gitlab-glab-bin
|
||
glances:
|
||
_bin: glances
|
||
_desc: "[Glances](https://github.com/nicolargo/glances) is a cross-platform monitoring tool which aims to present a maximum of information in a minimum of space through a curses or a web interface. It can adapt the displayed information depending on the terminal size dynamically. It is a top/htop alternative for Linux, BSD, macOS, and even Windows."
|
||
_github: https://github.com/nicolargo/glances
|
||
_name: Glances
|
||
_post:pipx: |
|
||
#!/usr/bin/env bash
|
||
pipx inject glances glances[all]
|
||
_short: "Glances is a cross-platform monitoring tool that provides real-time system information in a visually appealing way. "
|
||
ansible: professormanhattan.glances
|
||
apt:ubuntu:
|
||
- python3-dev
|
||
- python3-jinja2
|
||
- python3-pip
|
||
- python3-psutil
|
||
- python3-setuptools
|
||
- gcc
|
||
- glances
|
||
- lm-sensors
|
||
- wireless-tools
|
||
brew: glances
|
||
dnf:
|
||
- gcc
|
||
- glances
|
||
- lm_sensors
|
||
- python3-devel
|
||
- python3-pip
|
||
pacman:
|
||
- glances
|
||
- python
|
||
- lm_sensors
|
||
- wireless_tools
|
||
pipx: glances
|
||
port: glances
|
||
glen:
|
||
_bin: glen
|
||
_desc: A CLI to gather GitLab project and group variables
|
||
_github: https://github.com/lingrino/glen
|
||
_name: "glen "
|
||
_short: "glen is a tool for managing Git repositories in a more efficient way. "
|
||
go: github.com/lingrino/glen@latest
|
||
glow:
|
||
_bin: glow
|
||
_desc: Glow is a terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI
|
||
_github: https://github.com/charmbracelet/glow
|
||
_name: glow
|
||
_short: "Glow is a terminal markdown viewer for Unix systems. "
|
||
brew: glow
|
||
github: github.com/charmbracelet/glow
|
||
pkg: glow
|
||
scoop: glow
|
||
yay: glow
|
||
glusterfs:
|
||
_bin: gluster
|
||
_desc: "[Gluster](https://www.gluster.org/) is a free and open source software scalable network filesystem. Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage."
|
||
_docs: https://docs.gluster.org/en/latest/
|
||
_github: https://github.com/gluster/glusterfs
|
||
_home: https://www.gluster.org/
|
||
_name: GlusterFS
|
||
_service: glusterd
|
||
_short: "GlusterFS is an open-source distributed file system that can scale out in building-block fashion to store multiple petabytes of data. "
|
||
apt: glusterfs-server
|
||
dnf:fedora: glusterfs-server
|
||
pacman: glusterfs
|
||
gnome:
|
||
_bin: gnome
|
||
_desc: "GNOME Shell is the official user interface of the GNOME desktop environment. It provides the graphical shell for the GNOME desktop, handling the desktop, application launching, and switching between \nwindows. The source code for GNOME Shell is hosted on GitHub at https://github.com/GNOME/gnome-shell. Developers can contribute to the project, report issues, and collaborate on improving the user \nexperience of the GNOME desktop environment. "
|
||
_github: https://github.com/GNOME/gnome-shell
|
||
_name: GNOME
|
||
_short: "GNOME Shell is the official user interface of the GNOME desktop environment for Unix-like operating systems. "
|
||
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: https://github.com/GNOME/gnome-boxes
|
||
_home: https://apps.gnome.org/app/org.gnome.Boxes/
|
||
_name: GNOME Boxes
|
||
_short: "GNOME Boxes is a simple application for managing virtual machines. "
|
||
apt: gnome-boxes
|
||
dnf: gnome-boxes
|
||
flatpak: org.gnome.Boxes
|
||
pacman: gnome-boxes
|
||
gnome-calendar:
|
||
_bin: calendar
|
||
_desc: "GNOME Calendar \n\nGNOME Calendar is a simple and beautiful calendar application designed for the GNOME desktop environment. It allows users to manage their events, appointments, and tasks efficiently. The application \nprovides a clean interface with features like day, week, and month views, event reminders, and integration with online calendars like Google Calendar. GNOME Calendar is open-source and actively \nmaintained by the GNOME community. It is written in C and uses the GTK toolkit for its user interface. Users can contribute to the project, report issues, and suggest improvements on its GitHub \nrepository: GNOME Calendar GitHub Repository. "
|
||
_github: https://github.com/GNOME/gnome-calendar
|
||
_name: "gnome-calendar "
|
||
_short: "GNOME Calendar is a simple and elegant calendar application for the GNOME desktop environment. "
|
||
flatpak: org.gnome.Calendar
|
||
gnome-document-viewer:
|
||
_bin: document-viewer
|
||
_desc: "Evince is a document viewer designed for the GNOME desktop environment. It supports multiple document formats such as PDF, PostScript, DjVu, TIFF, and DVI. Evince provides features like text search, \ndocument indexing, annotations, and the ability to view multiple documents in tabs. It is known for its simplicity, speed, and integration with the GNOME desktop. Evince is open-source software, \nallowing users to contribute to its development and customize it to suit their needs. "
|
||
_github: https://github.com/GNOME/evince
|
||
_name: "evince "
|
||
_short: "Evince is a document viewer for GNOME desktop environment. "
|
||
flatpak: org.gnome.Evince
|
||
gnome-extension-manager:
|
||
_bin: gnome-extension-manager
|
||
_desc: "The repository at https://github.com/mjakeman/extension-manager appears to be an extension manager tool created by the user mjakeman. It likely provides functionality to manage extensions for a specific\nsoftware or platform. Without further details or examining the code, it seems to be a tool designed to simplify the process of installing, updating, and managing extensions or plugins. If you need more \nspecific information, I can help you explore the repository further. "
|
||
_github: https://github.com/mjakeman/extension-manager
|
||
_name: "extension-manager "
|
||
_short: "extension-manager is a tool for managing browser extensions in Chrome and Firefox. "
|
||
flatpak: com.mattjakeman.ExtensionManager
|
||
gnome-eyedropper:
|
||
_bin: eyedropper
|
||
_desc: "Eyedropper \n\nEyedropper is a tool available on GitHub at FineFindus/eyedropper. It is a color picker application for macOS that allows users to easily identify and capture colors from their screen. The tool provides\na simple interface for selecting colors and copying their values in various formats. It can be useful for designers, developers, and anyone working with colors in their projects. Eyedropper is designed \nto be user-friendly and efficient in helping users work with colors effectively on the macOS platform. "
|
||
_github: https://github.com/FineFindus/eyedropper
|
||
_name: "eyedropper "
|
||
_short: "Eyedropper is a tool for macOS that allows users to quickly and easily pick colors from anywhere on the screen. "
|
||
flatpak: com.github.finefindus.eyedropper
|
||
gnome-file-roller:
|
||
_bin: file-roller
|
||
_desc: "File Roller is a file archive manager for GNOME desktop environments. It allows users to create and modify archives in various formats like zip, tar, and 7z. File Roller provides a simple and intuitive \ninterface for compressing and decompressing files, as well as viewing and extracting contents from archives. It integrates seamlessly with the GNOME desktop environment, making it easy to manage \ncompressed files. Additionally, it supports encryption and password protection for archives, enhancing file security. Overall, File Roller is a handy tool for managing archives on GNOME-based systems. "
|
||
_github: https://github.com/GNOME/file-roller
|
||
_name: "file-roller "
|
||
_short: "file-roller is a GNOME archive manager for managing compressed files on Linux systems. "
|
||
flatpak: org.gnome.FileRoller
|
||
gnome-image-viewer:
|
||
_bin: image-viewer
|
||
_desc: "eog (Eye of GNOME) is the official image viewer for the GNOME desktop environment. It allows users to view and browse images in various formats, including JPEG, PNG, TIFF, and more. eog provides basic \nimage editing features like rotating, flipping, and cropping images. It also supports slideshows, fullscreen mode, and can display image metadata. eog is designed to be simple and easy to use, making it\na popular choice for viewing images on Linux systems running the GNOME desktop. "
|
||
_github: https://github.com/GNOME/eog
|
||
_name: "eog "
|
||
_short: "eog is the official image viewer for the GNOME desktop environment. "
|
||
flatpak: org.gnome.eog
|
||
gnome-network-displays:
|
||
_bin: network-displays
|
||
_desc: "GNOME Network Displays is a project on GitHub developed by the GNOME community. It aims to provide a way to extend your desktop to other screens over the network. This tool allows you to use other \ncomputers or devices as secondary displays for your main machine. It leverages the VNC protocol to achieve this functionality. Users can mirror or extend their desktop to other devices, making it useful\nfor presentations, remote work, or simply expanding your workspace. The project is open-source and welcomes contributions from the community. "
|
||
_github: https://github.com/GNOME/gnome-network-displays
|
||
_name: "gnome-network-displays "
|
||
_short: "gnome-network-displays is a GNOME Shell extension that allows users to cast their screen to another computer on the same network. "
|
||
flatpak: org.gnome.NetworkDisplays
|
||
gnome-passwords-keys:
|
||
_bin: seahorse
|
||
_desc: "Seahorse is a GNOME application for managing encryption keys, passwords, and certificates in Linux systems. It provides a user-friendly interface to handle cryptographic tasks like generating key pairs,\nencrypting/decrypting files, and managing SSH keys. Seahorse integrates with the GNOME desktop environment, making it easy to work with encryption in a graphical way. It also supports OpenPGP and SSH \nprotocols, allowing users to securely store and manage their cryptographic keys. Seahorse is a valuable tool for users who need to handle encryption and key management tasks efficiently on their Linux \nsystems. "
|
||
_github: https://github.com/GNOME/seahorse
|
||
_name: "seahorse "
|
||
_short: "Seahorse is a GNOME application for managing encryption keys and passwords. "
|
||
flatpak: org.gnome.seahorse.Application
|
||
gnome-photos:
|
||
_bin: photos
|
||
_desc: "GNOME Photos is an application for managing and organizing photos on the GNOME desktop environment. It allows users to import photos from various sources, view them in a timeline or grid layout, and \nperform basic editing tasks like cropping and rotating. Users can also organize photos into albums, search for specific images, and easily share them. GNOME Photos integrates with online accounts like \nGoogle and Flickr for seamless access to cloud-based photos. It is designed to provide a simple and intuitive way to manage a large collection of photos on Linux systems running the GNOME desktop. "
|
||
_github: https://github.com/GNOME/gnome-photos
|
||
_name: "gnome-photos "
|
||
_short: "gnome-photos is a photo management application for the GNOME desktop environment. "
|
||
flatpak: org.gnome.Photos
|
||
gnome-sound-recorder:
|
||
_bin: sound-recorder
|
||
_github: false
|
||
_gitlab: https://gitlab.gnome.org/World/vocalis
|
||
flatpak: org.gnome.SoundRecorder
|
||
gnome-text-editor:
|
||
_bin: text-editor
|
||
_desc: "GNOME Text Editor \n\nThe GNOME Text Editor, also known as gedit, is a simple and easy-to-use text editor designed for the GNOME desktop environment. It offers basic text editing features like syntax highlighting, search and\nreplace, and support for plugins to extend its functionality. It is written in C and has a clean and user-friendly interface. gedit is commonly used for editing configuration files, programming code, \nand general text editing tasks on Linux systems. It is open-source and actively maintained by the GNOME project. "
|
||
_github: https://github.com/GNOME/gnome-text-editor
|
||
_name: "gnome-text-editor "
|
||
_short: "GNOME Text Editor is a simple and easy-to-use text editor for the GNOME desktop environment. "
|
||
flatpak: org.gnome.TextEditor
|
||
gnome-tweaks:
|
||
_bin: gnome-tweaks
|
||
_desc: "GNOME Tweaks is a tool that allows users to customize various aspects of the GNOME desktop environment. It provides a user-friendly interface to tweak settings that are not easily accessible through the\nstandard GNOME settings. Users can modify themes, fonts, icons, extensions, and other desktop-related settings to personalize their GNOME experience. GNOME Tweaks is a popular tool among GNOME users who\nwant more control over their desktop environment's appearance and behavior. It is open-source and actively maintained by the GNOME project. "
|
||
_github: https://github.com/GNOME/gnome-tweaks
|
||
_name: GNOME Tweaks
|
||
_short: "GNOME Tweaks is a tool that allows users to customize various aspects of the GNOME desktop environment on Linux systems. "
|
||
apt: gnome-tweaks
|
||
dnf: gnome-tweaks
|
||
pacman: gnome-tweaks
|
||
gnome-video-player:
|
||
_bin: video-player
|
||
_desc: "Totem is a media player for the GNOME desktop environment. It allows users to play audio and video files, as well as DVDs, VCDs, and various streaming protocols. Totem supports a wide range of formats \nand codecs, making it a versatile choice for multimedia playback on Linux systems. It also includes features like playlist support, subtitle display, and the ability to stream content from online \nsources. The project is open-source and hosted on GitHub, where users can contribute to its development and report issues. "
|
||
_github: https://github.com/GNOME/totem
|
||
_name: "totem "
|
||
_short: "Totem is a simple and easy-to-use media player for GNOME desktop environment. "
|
||
flatpak: org.gnome.Totem
|
||
gnome-weather:
|
||
_bin: gnome-weather
|
||
_desc: "GNOME Weather \n\nGNOME Weather is a simple and elegant weather application for the GNOME desktop environment. It provides users with current weather conditions, forecasts, and other weather-related information. The \napplication fetches data from various weather services to keep users informed about the weather in their location. Users can view weather details like temperature, humidity, wind speed, and more in a \nuser-friendly interface. GNOME Weather is designed to seamlessly integrate with the GNOME desktop environment, offering a convenient way for users to stay updated on weather conditions. "
|
||
_github: https://github.com/GNOME/gnome-weather
|
||
_name: "gnome-weather "
|
||
_short: "gnome-weather is a weather application for GNOME desktop environments. "
|
||
flatpak: org.gnome.Weather
|
||
gnu:
|
||
_deps:darwin:
|
||
- coreutils
|
||
- findutils
|
||
- gawk
|
||
- gnu-indent
|
||
- gnu-tar
|
||
- gnu-sed
|
||
- gnutls
|
||
- grep
|
||
_github: false
|
||
gnu-indent:
|
||
_bin: gindent
|
||
_github: false
|
||
brew: gnu-indent
|
||
gnu-sed:
|
||
_bin: gsed
|
||
_github: false
|
||
brew: gnu-sed
|
||
gnu-tar:
|
||
_bin: gtar
|
||
_github: false
|
||
brew: gnu-tar
|
||
gnutls:
|
||
_bin: gnutls-certtool
|
||
_github: false
|
||
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."
|
||
_docs: https://go.dev/doc/
|
||
_github: https://github.com/golang/go
|
||
_home: https://go.dev/
|
||
_name: Go
|
||
_short: "The official repository for the Go programming language. "
|
||
ansible: professormanhattan.go
|
||
apt: golang-go
|
||
brew: go
|
||
choco: golang
|
||
pacman: go
|
||
port: go
|
||
scoop: go
|
||
snap: go --classic
|
||
go-chromecast:
|
||
_bin: go-chromecast
|
||
_desc: CLI for Google Chromecast, Home devices and Cast Groups
|
||
_github: https://github.com/vishen/go-chromecast
|
||
_name: go-chromecast
|
||
_short: "go-chromecast is a Go package for controlling Chromecast devices. "
|
||
github: github.com/vishen/go-chromecast
|
||
go: github.com/vishen/go-chromecast@latest
|
||
go-outline:
|
||
_bin: go-outline
|
||
_desc: "go-outline is a tool for Go programming language that generates outline information for Go source code. It provides a way to extract structural information like types, functions, and methods from Go \nfiles. This can be useful for understanding the overall structure of a Go project or for tools that need to analyze Go code programmatically. The tool is typically used by Go developers and integrated \ninto IDEs or text editors to enhance code navigation and understanding. "
|
||
_github: https://github.com/ramya-rao-a/go-outline
|
||
_name: "go-outline "
|
||
_short: "go-outline is a Go language tool that generates code outline information for Go source files. "
|
||
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
|
||
_short: "GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal. "
|
||
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)
|
||
_github: https://github.com/itchyny/gojq
|
||
_name: gojq
|
||
_short: "gojq is a command-line JSON processor written in Go. "
|
||
brew: gojq
|
||
github: github.com/itchyny/gojq
|
||
go: github.com/itchyny/gojq@latest
|
||
golangci-lint:
|
||
_bin: golangci-lint
|
||
_desc: Fast linters Runner for Go
|
||
_github: https://github.com/golangci/golangci-lint
|
||
_home: https://golangci-lint.run/
|
||
_name: "golangci-lint "
|
||
_short: "golangci-lint is a fast Go linter. "
|
||
brew: golangci-lint
|
||
go: github.com/golangci/golangci-lint/cmd/golangci-lint@latest
|
||
gomodifytags:
|
||
_bin: gomodifytags
|
||
_desc: Go tool to modify struct field tags
|
||
_github: https://github.com/fatih/gomodifytags
|
||
_name: "gomodifytags "
|
||
_short: "gomodifytags is a tool for Go programming language that allows you to modify struct tags in Go source files easily. "
|
||
brew: gomodifytags
|
||
go: github.com/fatih/gomodifytags@latest
|
||
gomplate:
|
||
_bin: gomplate
|
||
_desc: A flexible commandline tool for template rendering. Supports lots of local and remote datasources.
|
||
_docker: docker run hairyhenderson/gomplate:stable
|
||
_docs: https://docs.gomplate.ca/
|
||
_github: https://github.com/hairyhenderson/gomplate
|
||
_home: https://gomplate.ca/
|
||
_name: Gomplate
|
||
_short: "gomplate is a versatile command-line tool for manipulating text templates with data. "
|
||
apk: gomplate
|
||
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
|
||
_short: "goofys is a Filey System written in Go, allowing you to mount an S3 bucket as a file system. "
|
||
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."
|
||
_github: https://github.com/Melvin-Abraham/Google-Assistant-Unofficial-Desktop-Client
|
||
_name: Google Assistant for Desktop
|
||
_short: "This is an unofficial desktop client for Google Assistant created by Melvin Abraham. "
|
||
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
|
||
_short: "$'Not open-source' is a string in zsh shell that uses single quotes to interpret escape sequences like \\n for newline. "
|
||
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
|
||
_desc: Google Web Designer gives you the power to create beautiful and compelling videos, images, and HTML5 ads. Use animation and interactive elements to build out your creative vision, then scale your content for different sizes or audiences with responsive and dynamic workflows.
|
||
_github: false
|
||
_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
|
||
_short: "gopass is a password manager for the command line that allows you to store and manage your passwords securely. "
|
||
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
|
||
_github: https://github.com/uudashr/gopkgs
|
||
_name: "gopkgs "
|
||
_short: "gopkgs is a tool for listing Go packages in your project. "
|
||
go: github.com/uudashr/gopkgs/v2/cmd/gopkgs@latest
|
||
gopls:
|
||
_bin: gopls
|
||
_github: false
|
||
brew: gopls
|
||
go: golang.org/x/tools/gopls@latest
|
||
goreleaser:
|
||
_bin: goreleaser
|
||
_desc: "goreleaser is a tool used for automating Go software releases. It simplifies the process of building, packaging, and releasing Go applications by providing a configurable release pipeline. With \ngoreleaser, you can create cross-platform builds, generate release notes, create binaries, and publish releases to platforms like GitHub. It helps streamline the release process for Go projects, making \nit easier for developers to package and distribute their software. "
|
||
_github: https://github.com/goreleaser/goreleaser
|
||
_name: Go Releaser
|
||
_short: "goreleaser is a tool that automates Go software releases. "
|
||
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
|
||
_github: https://github.com/cweill/gotests
|
||
_name: "gotests "
|
||
_short: "gotests is a tool that generates Go tests from your source code. "
|
||
brew: gotests
|
||
go: github.com/cweill/gotests/...@latest
|
||
gphotos-sync:
|
||
_bin: gphotos-sync
|
||
_desc: Google Photos Sync is a backup tool for your Google Photos cloud storage.
|
||
_docs: https://gilesknap.github.io/gphotos-sync/main/index.html
|
||
_github: https://github.com/gilesknap/gphotos-sync
|
||
_home: https://gilesknap.github.io/gphotos-sync/main/index.html
|
||
_name: Google Photos Sync
|
||
_short: "gphotos-sync is a tool for syncing Google Photos to a local directory. "
|
||
pacman: gphotos-sync
|
||
pipx: gphotos-sync
|
||
gping:
|
||
_bin: gping
|
||
_desc: "[gping](https://github.com/orf/gping) is like the regular ping command except it also displays a chart labeled with response timing statistics."
|
||
_github: https://github.com/orf/gping
|
||
_name: gping
|
||
_short: "gping is a modern ping tool that shows a graph of ping responses over time. "
|
||
ansible: professormanhattan.gping
|
||
brew: gping
|
||
cargo: gping
|
||
choco: gping
|
||
github: github.com/orf/gping
|
||
pacman: gping
|
||
scoop: gping
|
||
gpt-engineer:
|
||
_bin: gpt-engineer
|
||
_desc: "The GitHub repository https://github.com/AntonOsika/gpt-engineer appears to be a project related to GPT (Generative Pre-trained Transformer) technology for engineers. It likely contains code, \ndocumentation, or resources for utilizing GPT models in engineering-related tasks. Without further exploration, it seems to be a tool or framework tailored towards engineers looking to leverage GPT for \ntheir projects. For detailed insights, exploring the repository's contents, README file, and documentation would provide a clearer understanding of its purpose and functionality. "
|
||
_github: https://github.com/AntonOsika/gpt-engineer
|
||
_name: GPT Engineer
|
||
_short: "gpt-engineer is a tool for generating code using GPT-3. "
|
||
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."
|
||
_docs: https://docs.gradle.org/current/userguide/userguide.html
|
||
_github: https://github.com/gradle/gradle
|
||
_home: https://gradle.org/
|
||
_name: Gradle
|
||
_short: "Gradle is a powerful build automation tool that helps manage dependencies and build processes efficiently for software projects. "
|
||
ansible: professormanhattan.gradle
|
||
brew: gradle
|
||
choco: gradle
|
||
port: gradle
|
||
scoop: gradle
|
||
snap: gradle --classic
|
||
graphql-playground:
|
||
_app: GraphQL Playground.app
|
||
_bin: graphql-playground
|
||
_desc: "GraphQL Playground is an interactive web-based IDE for exploring, testing, and sharing GraphQL APIs. It provides a graphical interface where you can write, validate, and execute GraphQL queries, as well\nas view the results in real-time. It offers features like syntax highlighting, auto-completion, and documentation explorer to make working with GraphQL easier. Additionally, it allows you to save and \nshare your queries with others. Overall, GraphQL Playground is a powerful tool for developers working with GraphQL APIs to streamline their development workflow. "
|
||
_github: https://github.com/graphql/graphql-playground
|
||
_name: GraphQL Playground
|
||
_short: "GraphQL Playground is an interactive GraphQL IDE that allows you to explore, test, and share GraphQL APIs. "
|
||
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
|
||
_github: false
|
||
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
|
||
_docs: https://github.com/pemistahl/grex#5-how-to-use
|
||
_github: https://github.com/pemistahl/grex
|
||
_home: https://pemistahl.github.io/grex-js/
|
||
_name: grex
|
||
_short: "grex is a tool that generates regular expressions from user-provided test cases. "
|
||
brew: grex
|
||
cargo: grex
|
||
choco: grex
|
||
github: github.com/pemistahl/grex
|
||
scoop: grex
|
||
snap: grex
|
||
gron:
|
||
_bin: gron
|
||
_desc: Extension to make JSON greppable
|
||
_github: https://github.com/tomnomnom/gron
|
||
_name: gron
|
||
_short: "gron is a tool that transforms JSON into easily greppable format. "
|
||
brew: gron
|
||
github: github.com/tomnomnom/gron
|
||
go: github.com/tomnomnom/gron@latest
|
||
grype:
|
||
_bin: grype
|
||
_desc: A vulnerability scanner for container images and filesystems
|
||
_docs: https://github.com/anchore/grype#getting-started
|
||
_github: https://github.com/anchore/grype
|
||
_home: https://github.com/anchore/grype
|
||
_name: Grype
|
||
_short: "Grype is a vulnerability scanner for container images. "
|
||
brew: anchore/grype/grype
|
||
choco: grype
|
||
port: grype
|
||
yay: grype-bin
|
||
gtop:
|
||
_bin: gtop
|
||
_desc: System monitoring dashboard for terminal
|
||
_github: https://github.com/aksakalli/gtop
|
||
_name: "gtop "
|
||
_short: "gtop is a system monitoring dashboard for the terminal, providing real-time information on system resources like CPU, memory, and processes. "
|
||
brew: gtop
|
||
npm: gtop
|
||
guacamole:
|
||
_bin: null
|
||
_desc: "[Apache Guacamole](https://guacamole.apache.org/) is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH."
|
||
_docs: https://guacamole.apache.org/doc/gug/configuring-guacamole.html
|
||
_github: https://github.com/apache/guacamole-client
|
||
_home: https://guacamole.apache.org/
|
||
_name: Guacamole
|
||
_short: "Apache Guacamole is an open-source remote desktop gateway that provides access to desktop environments using a web browser. "
|
||
ansible: professormanhattan.guacamole
|
||
gulp:
|
||
_bin: gulp
|
||
_desc: "[Gulp](https://gulpjs.com/) is a toolkit to automate & enhance your workflow"
|
||
_docs: https://gulpjs.com/docs/en/getting-started/quick-start
|
||
_github: https://github.com/gulpjs/gulp
|
||
_home: https://gulpjs.com/
|
||
_name: Gulp
|
||
_short: "Gulp is a popular JavaScript task runner that helps automate repetitive tasks in web development workflows. "
|
||
npm: gulp
|
||
gum:
|
||
_bin: gum
|
||
_desc: A tool for glamorous shell scripts. Provides styling and fancy prompts.
|
||
_docs: https://github.com/charmbracelet/gum
|
||
_github: https://github.com/charmbracelet/gum
|
||
_home: https://charm.sh/
|
||
_name: Gum
|
||
_short: "gum is a terminal framework for Go that helps in building rich and interactive command-line applications. "
|
||
apk: gum
|
||
brew: gum
|
||
go: github.com/charmbracelet/gum@latest
|
||
nix: nixpkgs.gum
|
||
pacman: gum
|
||
pkg-termux: gum
|
||
gup:
|
||
_bin: gup
|
||
_desc: "gup is a tool available at https://github.com/nao1215/gup that simplifies the process of updating Git repositories. It allows you to update multiple repositories at once by running a single command. \nThis tool can be useful for managing and keeping multiple repositories up to date efficiently. It provides a convenient way to streamline the update process and ensure that your repositories are always \ncurrent with the latest changes. "
|
||
_github: https://github.com/nao1215/gup
|
||
_name: Gup
|
||
_short: "gup is a tool for updating Git repositories with ease. "
|
||
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."
|
||
_github: https://github.com/moovweb/gvm
|
||
_name: rvm
|
||
_short: "gvm is a Go Version Manager that allows you to easily install and manage multiple versions of Go on your system. "
|
||
ansible: professormanhattan.gvm
|
||
hadolint:
|
||
_bin: hadolint
|
||
_desc: A smarter Dockerfile linter that helps you build best practice Docker images. The linter parses the Dockerfile into an AST and performs rules on top of the AST
|
||
_github: https://github.com/hadolint/hadolint
|
||
_name: hadolint
|
||
_short: "Hadolint is a Dockerfile linter that checks for best practices and errors in Dockerfiles. "
|
||
brew: hadolint
|
||
dnf:fedora: hadolint
|
||
scoop: hadolint
|
||
handbrake:
|
||
_app: HandBrake.app
|
||
_bin: handbrake
|
||
_desc: "HandBrake is an open-source video transcoder software available at https://github.com/HandBrake/HandBrake. It allows users to convert video files into various formats, making it compatible with \ndifferent devices. HandBrake supports a wide range of input formats and offers features like batch encoding, chapter markers, and subtitles. It is popular for its ease of use and efficiency in \nconverting videos while maintaining good quality. The project is actively maintained by a community of developers and contributors. "
|
||
_github: https://github.com/HandBrake/HandBrake
|
||
_name: "HandBrake "
|
||
_short: "HandBrake is an open-source video transcoder that converts multimedia files to various formats. "
|
||
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
|
||
_short: "handlr is a command-line tool for managing URL handlers on macOS. "
|
||
cargo: handlr --locked
|
||
yay: handlr-bin
|
||
haproxy:
|
||
_bin: haproxy
|
||
_desc: "HAProxy is a widely-used open-source software that provides high availability, load balancing, and proxying for TCP and HTTP-based applications. It is known for its efficiency, reliability, and \nflexibility in handling traffic across servers. HAProxy can be used to distribute incoming traffic to multiple servers to ensure optimal performance and reliability. It is commonly used in web hosting, \ne-commerce, and other high-traffic websites to improve scalability and fault tolerance. The GitHub repository contains the source code, documentation, and community contributions for the HAProxy \nproject. "
|
||
_github: https://github.com/haproxy/haproxy
|
||
_name: HAProxy
|
||
_service: haproxy
|
||
_short: "HAProxy is a reliable, high-performance TCP/HTTP load balancer. "
|
||
apk: haproxy
|
||
apt: haproxy
|
||
brew: haproxy
|
||
choco: haproxy
|
||
dnf: haproxy
|
||
pacman: haproxy
|
||
zypper: haproxy
|
||
has:
|
||
_bin: has
|
||
_desc: "has is a tool developed by kdabir available on GitHub. It is a command-line utility for checking the presence of various Unix tools and their versions on a system. This tool can be useful for developers\nand system administrators to quickly verify the availability and versions of essential tools on their Unix-based systems. It simplifies the process of checking for the presence of tools like git, curl, \njq, etc., and their versions in a single command. It can help streamline system setup and troubleshooting processes. "
|
||
_github: https://github.com/kdabir/has
|
||
_name: Has
|
||
_short: "has is a command-line utility for checking the presence of various Unix tools and their versions. "
|
||
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
|
||
_github: https://github.com/keithamus/hbs-cli
|
||
_name: "hbs-cli "
|
||
_short: "hbs-cli is a command-line tool for Handlebars templating. "
|
||
npm: hbs-cli
|
||
hclq:
|
||
_bin: hclq
|
||
_desc: Command-line processor for HashiCorp config files, like sed for HCL — Terraform, Consul, Nomad, Vault
|
||
_github: https://github.com/mattolenik/hclq
|
||
_name: hclq
|
||
_short: "hclq is a command-line tool for querying and manipulating HashiCorp Configuration Language (HCL) files. "
|
||
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
|
||
_short: "Helix is a modern text editor for terminal-based systems, designed for speed and ease of use. "
|
||
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
|
||
_short: "Helm is a package manager for Kubernetes that helps you manage applications and resources using charts. "
|
||
brew: helm
|
||
choco: kubernetes-helm
|
||
scoop: helm
|
||
snap: helm --classic
|
||
helm-docs:
|
||
_bin: helm-docs
|
||
_desc: "helm-docs is a tool for automatically generating documentation for your Helm charts. It parses the Chart.yaml file in your Helm chart and generates a README.md file with information about the chart, \nsuch as the chart name, version, description, maintainers, and values.yaml file. This makes it easier to maintain up-to-date documentation for your Helm charts and share them with others. It simplifies \nthe process of creating and updating documentation, ensuring consistency and accuracy across your Helm charts. "
|
||
_github: https://github.com/norwoodj/helm-docs
|
||
_name: Helm Docs
|
||
_short: "helm-docs is a tool that automatically generates Markdown documentation for your Helm charts based on the values.yaml file. "
|
||
brew: norwoodj/tap/helm-docs
|
||
scoop: helm-docs
|
||
helmfile:
|
||
_bin: helmfile
|
||
_desc: "Helmfile is a declarative spec for deploying Helm charts. It allows you to define and maintain complex Helm deployments in a simple YAML file, making it easier to manage Helm releases across different \nenvironments. With Helmfile, you can specify the charts, values, repositories, and release management options in a structured way. It provides a way to manage Helm releases with more control and \nconsistency, especially in CI/CD pipelines or complex Kubernetes environments. "
|
||
_github: https://github.com/helmfile/helmfile
|
||
_name: Helmfile
|
||
_short: "helmfile is a declarative spec for deploying Helm charts. "
|
||
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."
|
||
_github: https://github.com/heroku/cli
|
||
_name: Heroku CLI
|
||
_short: "Heroku CLI is a command-line tool that allows developers to manage and deploy applications on the Heroku platform easily. "
|
||
ansible: professormanhattan.heroku
|
||
brew: heroku/brew/heroku
|
||
choco: heroku-cli
|
||
npm: heroku
|
||
scoop: heroku-cli
|
||
yay: heroku-cli
|
||
hexyl:
|
||
_bin: hexyl
|
||
_desc: "[hexyl](https://github.com/sharkdp/hexyl) is a simple hex viewer for the terminal. It uses a colored output to distinguish different categories of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII)."
|
||
_github: https://github.com/sharkdp/hexyl
|
||
_name: hexyl
|
||
_short: "Hexyl is a command-line hex viewer designed for speed and ease of use. "
|
||
ansible: professormanhattan.hexyl
|
||
apt: hexyl
|
||
brew: hexyl
|
||
cargo: hexyl
|
||
dnf:fedora: hexyl
|
||
github: github.com/sharkdp/hexyl
|
||
nix: hexyl
|
||
pacman: hexyl
|
||
pkg-freebsd: hexyl
|
||
pkg-termux: hexyl
|
||
port: hexyl
|
||
scoop: hexyl
|
||
xbps: hexyl
|
||
hey:
|
||
_bin: hey
|
||
_desc: HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom
|
||
_github: https://github.com/rakyll/hey
|
||
_name: hey
|
||
_short: "hey is a modern load testing tool for web applications. "
|
||
brew: hey
|
||
github: github.com/rakyll/hey
|
||
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
|
||
_short: "hidden is a tool that helps you hide files and directories in macOS using the chflags command. "
|
||
cask: hiddenbar
|
||
mas: 1452453066
|
||
himalaya:
|
||
_bin: himalaya
|
||
_desc: "[Himalaya](https://github.com/soywod/himalaya) is a CLI email client written in Rust."
|
||
_github: https://github.com/soywod/himalaya
|
||
_name: Himalaya
|
||
_short: "himalaya is a minimalist and fast static site generator written in Rust. "
|
||
ansible: professormanhattan.himalaya
|
||
brew: himalaya
|
||
scoop: himalaya
|
||
hishtory:
|
||
_bin: hishtory
|
||
_desc: "hishtory is a tool available on GitHub at https://github.com/ddworken/hishtory. It appears to be a project related to browsing history analysis. The tool likely allows users to analyze and visualize \ntheir browsing history data, providing insights into their online activities. For more detailed information, you can explore the repository on GitHub. "
|
||
_github: https://github.com/ddworken/hishtory
|
||
_name: hiSHtory
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
echo y | hishtory init "$HISHTORY_USER_SECRET"
|
||
_short: "hishtory is a tool for tracking and visualizing your command history in the terminal. "
|
||
_todo: Check for Homebrew version
|
||
script: curl -sSL --compressed https://hishtory.dev/install.py | python3 -
|
||
hoard:
|
||
_bin: hoard
|
||
_desc: "Hoard is a tool available on GitHub at https://github.com/Hyde46/hoard. It is a simple shell script designed to help users manage their dotfiles by storing them in a Git repository. Dotfiles are \nconfiguration files for various programs in Unix-like systems. Hoard simplifies the process of backing up and syncing these files across multiple machines. Users can easily add, commit, and push changes\nto their dotfiles repository using this tool. It provides a convenient way to keep configurations consistent across different environments. "
|
||
_github: https://github.com/Hyde46/hoard
|
||
_name: Hoard
|
||
_short: "Hoard is a tool for managing secrets securely in macOS keychain. "
|
||
cargo: hoard-rs
|
||
nix-env: hoard
|
||
pacman: hoard
|
||
port: hoard-cli
|
||
holehe:
|
||
_bin: holehe
|
||
_desc: "Holehe is a tool available on GitHub that is designed for DNS black-holing. It allows users to block unwanted domains by redirecting them to a local IP address. This tool can be useful for blocking ads,\ntracking domains, or malicious websites at the DNS level. Users can customize the list of domains to block and configure the tool according to their needs. It is a simple yet effective way to enhance \nprivacy and security by preventing unwanted connections to specific domains. "
|
||
_github: https://github.com/megadose/holehe
|
||
_name: Holehe
|
||
_short: "holehe is a tool for identifying and exploiting known and existing vulnerabilities in web applications. "
|
||
pipx: holehe
|
||
hostctl:
|
||
_bin: hostctl
|
||
_desc: This tool gives more control over the use of hosts file
|
||
_github: https://github.com/guumaster/hostctl
|
||
_name: hostctl
|
||
_short: "hostctl is a command-line tool for managing your /etc/hosts file easily. "
|
||
brew: guumaster/tap/hostctl
|
||
github: github.com/guumaster/hostctl
|
||
scoop: hostctl
|
||
yay: hostctl
|
||
hosthomepage:
|
||
_bin: null
|
||
_github: false
|
||
_name: Host Home Page
|
||
ansible: professormanhattan.hosthomepage
|
||
hosts:
|
||
_bin: null
|
||
_desc: This role is intended to be used with the [main ProfessorManhattan playbook](https://gitlab.com/ProfessorManhattan/Playbooks). It integrates tightly with the configuration variables that come with the playbook.
|
||
_github: false
|
||
_name: Hosts
|
||
ansible: professormanhattan.hosts
|
||
howdoi:
|
||
_bin: howdoi
|
||
_desc: "howdoi is a command-line tool that provides quick answers to programming questions by searching through Stack Overflow. Users can simply type a question related to programming, and howdoi will fetch and\ndisplay relevant answers from Stack Overflow. It's a handy tool for developers looking for quick solutions or explanations without having to manually search through forums. The tool is written in Python\nand is available on GitHub for anyone to use and contribute to. "
|
||
_github: https://github.com/gleitz/howdoi
|
||
_name: howdoi
|
||
_short: "howdoi is a command-line tool that instantly provides answers to programming questions by searching through Stack Overflow. "
|
||
brew: howdoi
|
||
pipx: howdoi
|
||
hss:
|
||
_bin: hss
|
||
_desc: "hss is a high-speed socks5 proxy server designed for shadowsocks. It is written in C and aims to provide a fast and efficient proxy solution. The project on GitHub provides details on how to build and \nuse the proxy server. It supports multiple encryption methods and is optimized for performance. Users can configure it to work with shadowsocks clients for secure and fast internet browsing. "
|
||
_github: https://github.com/six-ddc/hss
|
||
_name: hss
|
||
_short: "hss is a high-speed HTTP(S) proxy server written in Go. "
|
||
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
|
||
_desc: "hstr is a command-line utility for managing command history in Unix-like systems. It enhances the history search functionality in the terminal by providing a more interactive and powerful way to search \nand execute past commands. Users can search their command history with incremental search, view and filter results, and execute commands directly from the search results. It also supports fuzzy matching\nand can be integrated with various shells like zsh and bash. Overall, hstr aims to make working with command history more efficient and user-friendly. "
|
||
_github: https://github.com/dvorka/hstr
|
||
_name: HiSToRy
|
||
_short: "hstr is a command-line utility that enhances the history search functionality in Unix-based systems, allowing users to easily search and execute past commands using a fuzzy search algorithm. "
|
||
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
|
||
_short: "HTMLHint is a tool that helps developers write clean and error-free HTML code by analyzing and providing feedback on potential issues and best practices. "
|
||
npm: htmlhint
|
||
htmlq:
|
||
_bin: htmlq
|
||
_desc: A lightweight and flexible command-line JSON processor for HTML
|
||
_github: https://github.com/mgdm/htmlq
|
||
_name: htmlq
|
||
_short: "htmlq is a command-line tool that allows you to query HTML using CSS selectors. "
|
||
brew: htmlq
|
||
cargo: htmlq
|
||
github: github.com/mgdm/htmlq
|
||
htop:
|
||
_bin: htop
|
||
_desc: "[htop](https://htop.dev/) is an interactive system-monitor process-viewer and process-manager. It is designed as an alternative to the Unix program top. It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage."
|
||
_docs: https://www.man7.org/linux/man-pages/man1/htop.1.html
|
||
_github: https://github.com/htop-dev/htop
|
||
_home: https://htop.dev/
|
||
_name: htop
|
||
_short: "htop is a popular interactive process viewer for Unix systems, providing a more user-friendly and feature-rich alternative to the traditional top command. "
|
||
ansible:darwin: professormanhattan.htop
|
||
ansible:linux: professormanhattan.htop
|
||
apt: htop
|
||
brew: htop
|
||
dnf: htop
|
||
pacman: htop
|
||
port: htop
|
||
http-prompt:
|
||
_bin: http-prompt
|
||
_desc: HTTP Prompt is an interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit.
|
||
_docs: https://docs.http-prompt.com/en/latest/
|
||
_github: https://github.com/httpie/http-prompt
|
||
_home: https://http-prompt.com/
|
||
_name: HTTP Prompt
|
||
_short: "http-prompt is an interactive command-line HTTP client built on top of HTTPie, allowing users to make HTTP requests with a user-friendly interface. "
|
||
brew: http-prompt
|
||
pipx: http-prompt
|
||
http-toolkit:
|
||
_app: HTTP Toolkit.app
|
||
_desc: "HTTP Toolkit is an open-source tool for debugging, testing, and intercepting HTTP and HTTPS. It allows you to inspect, debug, and mock HTTP traffic between your applications and the internet. With HTTP \nToolkit, you can view and modify requests and responses, simulate network conditions, and test how your application behaves in different scenarios. It provides a user-friendly interface for monitoring \nand analyzing HTTP traffic, making it a valuable tool for developers and system administrators working with web applications. "
|
||
_github: https://github.com/httptoolkit/httptoolkit
|
||
_name: HTTP Toolkit
|
||
_short: "httptoolkit is a tool for debugging, testing, and intercepting HTTP and HTTPS traffic. "
|
||
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."
|
||
_github: https://github.com/httpie/cli
|
||
_name: HTTPie
|
||
_short: "HTTPie is a command-line HTTP client for making requests with a simple and intuitive syntax. "
|
||
_todo: Look into https://github.com/httpie/desktop as alternative to Postman and other HTTP request clients
|
||
ansible: professormanhattan.httpie
|
||
brew: httpie
|
||
choco: httpie
|
||
dnf: httpie
|
||
pacman: httpie
|
||
pipx: httpie
|
||
port: httpie
|
||
snap: httpie
|
||
httpstat:
|
||
_bin: httpstat
|
||
_desc: curl statistics made simple
|
||
_docs: https://github.com/reorx/httpstat#usage
|
||
_github: https://github.com/reorx/httpstat
|
||
_home: https://github.com/reorx/httpstat
|
||
_name: httpstat
|
||
_short: "httpstat is a tool that provides a visual representation of HTTP response times in the terminal. "
|
||
brew: httpstat
|
||
pipx: httpstat
|
||
hub:
|
||
_bin: hub
|
||
_desc: Add GitHub support to git on the command-line
|
||
_github: https://hub.github.com/
|
||
_name: "hub "
|
||
_short: "GitHub CLI (https://hub.github.com/) is a command-line tool that brings GitHub to your terminal. "
|
||
apt: hub
|
||
brew: hub
|
||
choco: hub
|
||
dnf:fedora: hub
|
||
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
|
||
_short: "Hugo is a popular static site generator written in Go. "
|
||
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
|
||
_desc: "Hurl is an open-source command-line tool for making HTTP requests with a simple and human-readable syntax. It allows users to easily test APIs, inspect HTTP responses, and automate API testing. Hurl \nsupports various HTTP methods, headers, query parameters, and request bodies. It is designed to be lightweight, fast, and easy to use, making it a handy tool for developers and testers working with \nAPIs. The tool is actively maintained by the Orange Open Source community and is available for use on various platforms. "
|
||
_github: https://github.com/Orange-OpenSource/hurl
|
||
_name: "hurl "
|
||
_short: "Hurl is a command-line tool for making HTTP requests with a simple and intuitive syntax. "
|
||
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
|
||
_github: https://github.com/typicode/husky
|
||
_home: https://typicode.github.io/husky/
|
||
_name: Husky
|
||
_short: "Husky is a tool that helps to set up Git hooks easily in a project. "
|
||
npm: husky
|
||
hyper:
|
||
_appImageName: Hyper
|
||
_bin: null
|
||
_desc: "[Hyper](https://hyper.is/) is an electron-based terminal. It is written using web technologies such as HTML, CSS, JavaScript etc. It looks very modern and has lots of customization options."
|
||
_docs: https://hyper.is/blog
|
||
_github: https://github.com/vercel/hyper
|
||
_home: https://hyper.is/
|
||
_name: Hyper
|
||
_short: "Hyper is a customizable terminal built on web technologies. "
|
||
ansible: professormanhattan.hyper
|
||
appimage: hyper
|
||
brew: hyper
|
||
choco: hyper
|
||
yay: hyper
|
||
hyperfine:
|
||
_bin: hyperfine
|
||
_desc: "[hyperfine](https://github.com/sharkdp/hyperfine) is a cross-platform command-line benchmarking tool that can be used to determine the performance of shell commands."
|
||
_docs: https://docs.rs/crate/hyperfine/1.2.0
|
||
_github: https://github.com/sharkdp/hyperfine
|
||
_name: hyperfine
|
||
_short: "hyperfine is a command-line benchmarking tool for measuring the execution time of programs. "
|
||
ansible: professormanhattan.hyperfine
|
||
apk: hyperfine
|
||
brew: hyperfine
|
||
cargo: hyperfine
|
||
choco: hyperfine
|
||
dnf: hyperfine
|
||
github: github.com/sharkdp/hyperfine
|
||
pacman: hyperfine
|
||
pkg: hyperfine
|
||
hyperkit:
|
||
_bin: hyperkit
|
||
_deps:darwin:
|
||
- xcode
|
||
_desc: "HyperKit is a lightweight hypervisor built on top of the Hypervisor.framework in macOS. It is used in Docker for Mac to run a Linux VM for Docker containers. HyperKit provides a way to run Docker \ncontainers natively on macOS without the need for VirtualBox or VMware Fusion. It offers a secure and efficient environment for running containers by leveraging macOS's native virtualization framework. \nHyperKit is open-source and maintained by the Moby project, which is the open-source project behind Docker. "
|
||
_github: https://github.com/moby/hyperkit
|
||
_name: HyperKit
|
||
_short: "HyperKit is a lightweight hypervisor for macOS that allows you to run Docker containers natively on macOS. "
|
||
brew:darwin: hyperkit
|
||
ideviceinstaller:
|
||
_bin: ideviceinstaller
|
||
_desc: "ideviceinstaller is a command-line tool that allows you to interact with iOS devices using the libimobiledevice library. It enables you to install, uninstall, and manage apps on iOS devices from the \nterminal. This tool is particularly useful for developers and system administrators who need to automate app installations or manage apps on multiple iOS devices. It provides a convenient way to work \nwith iOS devices without needing to use iTunes or Xcode. "
|
||
_github: https://github.com/libimobiledevice/ideviceinstaller
|
||
_name: "ideviceinstaller "
|
||
_short: "ideviceinstaller is a command-line tool for installing, managing, and removing apps on iOS devices. "
|
||
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
|
||
_short: "IINA is a modern media player for macOS. "
|
||
cask: iina
|
||
imagemagick:
|
||
_bin: convert
|
||
_desc: "ImageMagick is an open-source software suite used for creating, editing, composing, or converting bitmap images. It supports a wide range of image formats and includes tools for image manipulation, such\nas resizing, cropping, and applying filters. The software can be accessed via command line or through various programming languages like C++, Python, and Perl. It is widely used in web development, \ngraphic design, and scientific applications for its versatility and powerful image processing capabilities. The GitHub repository for ImageMagick contains the source code, documentation, and community \ncontributions related to the project. "
|
||
_github: https://github.com/ImageMagick/ImageMagick
|
||
_name: "ImageMagick "
|
||
_short: "ImageMagick is an open-source software suite for creating, editing, composing, or converting bitmap images. "
|
||
apk: imagemagick
|
||
apt:
|
||
- imagemagick
|
||
- libx11-dev
|
||
brew: imagemagick
|
||
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
|
||
_github: https://github.com/ImageOptim/ImageOptim
|
||
_home: https://imageoptim.com/mac
|
||
_name: "ImageOptim "
|
||
_short: "ImageOptim is an open-source tool for optimizing images to reduce file size without losing quality. "
|
||
cask: imageoptim
|
||
imageoptim-cli:
|
||
_bin: imageoptim
|
||
_deps:
|
||
- imageoptim
|
||
_desc: Image compressor that utilizes other applications like ImageOptim under the hood
|
||
_github: https://github.com/ImageOptim/ImageOptim
|
||
_home: https://imageoptim.com/mac
|
||
_name: "ImageOptim "
|
||
_short: "ImageOptim is an open-source tool for optimizing images to reduce file size without losing quality. "
|
||
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
|
||
_short: "Imagine is a lightweight image viewer for macOS with basic editing features. "
|
||
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
|
||
_github: https://github.com/kevva/imgur-uploader-cli
|
||
_name: "imgur-uploader-cli "
|
||
_short: "imgur-uploader-cli is a command-line tool for uploading images to Imgur. "
|
||
npm: imgur-uploader-cli
|
||
impl:
|
||
_bin: impl
|
||
_desc: impl generates method stubs for implementing an interface
|
||
_github: https://github.com/josharian/impl
|
||
_name: "impl "
|
||
_short: "impl is a tool that generates method stubs for Go interfaces. "
|
||
go: github.com/josharian/impl@latest
|
||
infracost:
|
||
_bin: infracost
|
||
_desc: "[infracost](https://www.infracost.io/) provides cloud cost estimates for Terraform in pull requests"
|
||
_docs: https://www.infracost.io/docs
|
||
_github: https://github.com/infracost/infracost
|
||
_home: https://www.infracost.io/
|
||
_name: infracost
|
||
_short: "Infracost is an open-source tool that helps you calculate the cost of your cloud infrastructure using Terraform. "
|
||
brew: infracost
|
||
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
|
||
_short: "Inkscape is a popular open-source vector graphics editor for creating illustrations, icons, logos, diagrams, and more. "
|
||
ansible: professormanhattan.inkscape
|
||
apt: inkscape
|
||
cask: inkscape
|
||
choco: inkscape
|
||
dnf: inkscape
|
||
flatpak: org.inkscape.Inkscape
|
||
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)
|
||
_short: "intellij-community is an open-source project by JetBrains for IntelliJ IDEA, a popular Java IDE. "
|
||
ansible: professormanhattan.intellij
|
||
cask: intellij-idea-ce
|
||
choco: intellijidea-community
|
||
snap: intellij-idea-community --classic
|
||
iodine:
|
||
_bin: iodined
|
||
_desc: "Iodine is a tool that allows you to tunnel IPv4 data through a DNS server. It creates a virtual network interface that forwards all traffic to a specified DNS server. This can be useful for situations \nwhere only DNS traffic is allowed, such as on restrictive networks or firewalled environments. Iodine provides a way to bypass such restrictions and access the internet securely. It is open-source and \navailable on GitHub for users to download and use. "
|
||
_github: https://github.com/yarrick/iodine
|
||
_name: Iodine
|
||
_short: "Iodine is a tool that allows you to tunnel IPv4 data through a DNS server. "
|
||
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"
|
||
_docs: https://ionicframework.com/docs
|
||
_github: https://github.com/ionic-team/ionic-cli
|
||
_home: https://ionicframework.com/
|
||
_name: Ionic Framework
|
||
_short: "Ionic CLI is a command-line interface for building Ionic apps with ease. "
|
||
npm: "@ionic/cli"
|
||
ios-deploy:
|
||
_bin: ios-deploy
|
||
_desc: Install and debug iPhone apps from the command line, without using Xcode
|
||
_github: https://github.com/ios-control/ios-deploy
|
||
_name: "ios-deploy "
|
||
_short: "ios-deploy is a command-line utility for deploying and debugging iOS apps. "
|
||
brew:darwin: ios-deploy
|
||
npm:darwin: ios-deploy
|
||
ios-sim:
|
||
_bin: ios-sim
|
||
_desc: "ios-sim is a command-line utility that launches iOS Simulator from the command line. It allows developers to interact with the iOS Simulator without needing to open Xcode. This tool is useful for \nautomating testing processes, running automated UI tests, and debugging iOS apps. It provides options to specify device type, iOS version, and more. The project is open-source and available on GitHub at\nhttps://github.com/ios-control/ios-sim. "
|
||
_github: https://github.com/ios-control/ios-sim
|
||
_name: ios-sim
|
||
_short: "ios-sim is a command-line utility for launching iOS Simulator from the terminal. "
|
||
npm:darwin: ios-sim
|
||
ipfs:
|
||
_bin: ipfs
|
||
_desc: A peer-to-peer hypermedia protocol designed to preserve and grow humanity's knowledge by making the web upgradeable, resilient, and more open
|
||
_docs: https://docs.ipfs.tech/
|
||
_github: https://github.com/ipfs/ipfs
|
||
_home: https://ipfs.tech/
|
||
_name: IPFS
|
||
_service: ipfs
|
||
_short: "IPFS is a peer-to-peer hypermedia protocol designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system. "
|
||
brew: ipfs
|
||
choco: go-ifps
|
||
nix: ipfs
|
||
port: ipfs
|
||
scoop: go-ipfs
|
||
snap: ipfs
|
||
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
|
||
_docs: https://docs.ipfs.tech/
|
||
_github: https://github.com/ipfs/ipfs
|
||
_home: https://ipfs.tech/
|
||
_name: IPFS
|
||
_short: "IPFS is a peer-to-peer hypermedia protocol designed to create a content-addressable, peer-to-peer method of storing and sharing hypermedia in a distributed file system. "
|
||
npm: ipfs-deploy
|
||
ipfs-desktop:
|
||
_app: IPFS Desktop.app
|
||
_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
|
||
_short: "IPFS Desktop is a graphical interface for IPFS, a peer-to-peer hypermedia protocol, allowing users to easily manage files and content on the InterPlanetary File System. "
|
||
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
|
||
_desc: "ipmitool is an open-source command-line utility for managing and configuring Intelligent Platform Management Interface (IPMI) systems. It allows users to interact with IPMI-enabled devices to monitor \nhardware sensors, view system event logs, manage system power, and more. ipmitool is commonly used for remote server management and is compatible with a wide range of hardware vendors. It provides a \npowerful set of commands for system administrators to efficiently manage and troubleshoot servers remotely. The project is hosted on GitHub at https://github.com/ipmitool/ipmitool. "
|
||
_github: https://github.com/ipmitool/ipmitool
|
||
_name: IPMI Tool
|
||
_short: "ipmitool is a command-line tool for managing and configuring IPMI-enabled devices. "
|
||
apt: ipmitool
|
||
brew: ipmitool
|
||
dnf: ipmitool
|
||
pacman: ipmitool
|
||
iproute2mac:
|
||
_bin: ip
|
||
_desc: "iproute2mac is a project on GitHub that provides a collection of network utilities for macOS, inspired by the iproute2 suite on Linux. It aims to bring similar functionality to macOS users, allowing \nthem to manage network interfaces, routing tables, and more from the command line. This tool can be useful for network administrators and users familiar with iproute2 on Linux who want similar \ncapabilities on macOS. It's a handy resource for managing network configurations efficiently on macOS systems. "
|
||
_github: https://github.com/brona/iproute2mac
|
||
_name: iproute2mac
|
||
_short: "iproute2mac is a command-line tool for macOS that provides advanced networking capabilities similar to the iproute2 toolset on Linux. "
|
||
brew:darwin: iproute2mac
|
||
iredis:
|
||
_bin: iredis
|
||
_desc: A terminal client for Redis with auto-completion and syntax highlightin
|
||
_docs: https://github.com/laixintao/iredis
|
||
_github: https://github.com/laixintao/iredis
|
||
_home: https://pypi.org/project/iredis/
|
||
_name: iRedis
|
||
_short: "iredis is a terminal-based Redis client with auto-completion and syntax highlighting. "
|
||
apt: iredis
|
||
brew: iredis
|
||
pipx: iredis
|
||
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
|
||
_short: "Irssi is a terminal-based IRC client for UNIX systems. "
|
||
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
|
||
_github: https://github.com/sindresorhus/is-up-cli
|
||
_name: "is-up-cli "
|
||
_short: "is-up-cli is a command-line interface (CLI) tool created by Sindre Sorhus to check if a website is up or down. "
|
||
npm: is-up-cli
|
||
iso-image-writer:
|
||
_bin: iso-image-writer
|
||
_desc: "The KDE ISO Image Writer is a tool developed by the KDE community for writing ISO images to USB drives or SD cards. It provides a simple and user-friendly interface for creating bootable media from ISO \nfiles. This tool is particularly useful for creating installation media for operating systems or other software that come in the form of ISO images. It supports various Linux distributions and other \noperating systems. The project is open source and hosted on GitHub, allowing for community contributions and improvements. "
|
||
_github: https://github.com/KDE/isoimagewriter
|
||
_name: ISO Image Writer
|
||
_short: "isoimagewriter is a tool for writing ISO images to USB drives. "
|
||
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
|
||
_short: "isort is a Python utility that sorts imports alphabetically within Python code files. "
|
||
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
|
||
logg info "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"
|
||
logg info "Setting iTerm2 to automatically sync with managed options" && defaults write com.googlecode.iterm2 NoSyncNeverRemindPrefsChangesLostForFile_selection -int 2
|
||
_short: "iTerm2 is a popular terminal emulator for macOS with advanced features like split panes, search, autocomplete, and more. "
|
||
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."
|
||
_docs: https://docs.oracle.com/en/cloud/paas/nosql-cloud/index.html
|
||
_github: https://github.com/oracle/nosql-java-sdk
|
||
_home: https://www.java.com/en/
|
||
_name: Java
|
||
_short: "nosql-java-sdk is a Java library for interacting with Oracle NoSQL Database. "
|
||
_when:cask: "! brew list temurin > /dev/null"
|
||
ansible: professormanhattan.java
|
||
apt: openjdk-11-jdk
|
||
brew: openjdk
|
||
cask: temurin
|
||
choco: jdk11
|
||
dnf: java-11-openjdk-devel.x86_64
|
||
pacman: jdk-openjdk
|
||
port: openjdk11
|
||
scoop: openjdk11
|
||
jc:
|
||
_bin: jc
|
||
_desc: "jc is a command-line utility for parsing, formatting, and colorizing JSON data in the terminal. It takes JSON input and converts it into a human-readable tabular format, making it easier to read and \nwork with JSON data in the terminal. It supports various output formats, including CSV, TSV, and JSON. jc is highly customizable, allowing users to define their own output formats and color themes. It \nis a useful tool for developers, system administrators, and anyone working with JSON data in a terminal environment. "
|
||
_github: https://github.com/kellyjonbrazil/jc
|
||
_name: jc
|
||
_short: "jc is a command-line utility that converts the output of various command-line tools into JSON format for easier parsing and manipulation. "
|
||
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."
|
||
_docs: https://github.com/gcuisinier/jenv/wiki
|
||
_github: https://github.com/jenv/jenv
|
||
_home: https://www.jenv.be/
|
||
_name: jenv
|
||
_short: "jenv is a tool for managing Java environments on your system. It allows you to easily switch between different Java versions and set the Java version on a per-directory basis. "
|
||
ansible: professormanhattan.jenv
|
||
brew: jenv
|
||
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
|
||
_short: "Jest is a popular JavaScript testing framework for Node.js and React applications. "
|
||
npm: jest
|
||
jiq:
|
||
_bin: jiq
|
||
_desc: Create jq queries interactively by leveraging a live reload feature in the terminal
|
||
_github: https://github.com/fiatjaf/jiq
|
||
_name: jiq
|
||
_short: "jiq is a command-line tool for manipulating JSON data using jq expressions. "
|
||
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
|
||
_github: https://github.com/jitsi/jitsi-meet-electron
|
||
_name: Jitsi Meet Electron
|
||
_short: "jitsi-meet-electron is a desktop application that wraps the Jitsi Meet web application into a standalone Electron app for video conferencing and collaboration. "
|
||
cask: jitsi-meet
|
||
choco: jitsi-meet-electron
|
||
flatpak: org.jitsi.jitsi-meet
|
||
github: github.com/jitsi/jitsi-meet-electron
|
||
pkg: jitsi-meet
|
||
yay: jitsi-meet-desktop-bin
|
||
jo:
|
||
_bin: jo
|
||
_desc: "[jo](https://github.com/jpmens/jo) is a free and open-source command-line tool that allows you to create JSON objects."
|
||
_github: https://github.com/jpmens/jo
|
||
_name: jo
|
||
_short: "jo is a command-line utility that creates JSON output from shell commands. "
|
||
ansible: professormanhattan.jo
|
||
apt: jo
|
||
brew: jo
|
||
github: github.com/jpmens/jo
|
||
pkg: jo
|
||
scoop: jo
|
||
snap: jo
|
||
yay: jo
|
||
john:
|
||
_bin: john
|
||
_desc: "John the Ripper is a popular password cracking tool that can be used for security auditing. It supports various encryption algorithms and hash types, making it versatile for testing the strength of \npasswords. The tool is open-source and actively maintained by the Openwall community. It is widely used by security professionals and system administrators to assess the security of their systems by \nidentifying weak passwords that could be vulnerable to attacks. John the Ripper is known for its speed and effectiveness in cracking passwords through various techniques like dictionary attacks, brute \nforce attacks, and more. "
|
||
_github: https://github.com/openwall/john
|
||
_name: John
|
||
_short: "John the Ripper is a popular password cracking tool used for security testing and recovery of lost passwords. "
|
||
apt: john
|
||
brew: john
|
||
choco: john
|
||
dnf: john
|
||
pacman: john
|
||
jpegoptim:
|
||
_bin: jpegoptim
|
||
_desc: "jpegoptim is a command-line utility for optimizing JPEG files. It allows you to compress JPEG images without losing quality, reducing their file size and making them load faster on websites. By removing\nunnecessary data and adjusting the compression settings, jpegoptim helps to improve the performance of websites by reducing bandwidth usage. It supports various optimization options like lossless and \nlossy compression, adjusting image quality, stripping metadata, and more. It's a handy tool for web developers and system administrators looking to optimize their JPEG images efficiently. "
|
||
_github: https://github.com/tjko/jpegoptim
|
||
_name: JPEGOptim
|
||
_short: "jpegoptim is a command-line utility that optimizes JPEG images to reduce their file size without affecting image quality. "
|
||
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."
|
||
_docs: https://stedolan.github.io/jq/manual/
|
||
_github: https://github.com/stedolan/jq
|
||
_home: https://stedolan.github.io/jq
|
||
_name: jq
|
||
_short: "jq is a lightweight and flexible command-line JSON processor for parsing, manipulating, and formatting JSON data efficiently. "
|
||
ansible: professormanhattan.jq
|
||
apk: jq
|
||
apt: jq
|
||
brew: jq
|
||
choco: jq
|
||
dnf: jq
|
||
github: github.com/stedolan/jq
|
||
pkg: jq
|
||
jqp:
|
||
_bin: jqp
|
||
_desc: A TUI playground to experiment with jq
|
||
_docs: https://github.com/noahgorstein/jqp#usage
|
||
_github: https://github.com/noahgorstein/jqp
|
||
_home: https://github.com/noahgorstein/jqp
|
||
_name: jqp
|
||
_short: "jqp is a command-line tool for parsing and querying JSON data quickly and easily. "
|
||
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
|
||
_short: "json-server is a lightweight, local server that allows you to quickly create a REST API from a JSON file. It's great for prototyping and mocking API responses during development. "
|
||
npm: json-server
|
||
juicefs:
|
||
_bin: juicefs
|
||
_desc: "JuiceFS is a distributed POSIX file system built for cloud-native environments. It is designed to provide scalable and reliable file storage for Kubernetes clusters and other cloud platforms. JuiceFS \nsupports features like snapshots, encryption, and data deduplication. It aims to simplify data management for applications running in cloud environments by offering a familiar file system interface. \nUsers can access JuiceFS through FUSE or a native API. It is open-source and actively maintained by the community. "
|
||
_github: https://github.com/juicedata/juicefs
|
||
_name: JuiceFS
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file JuiceFS
|
||
# @brief Mounts various S3-backed storage volumes (assuming correct secrets are in place)
|
||
# @description
|
||
# This script handles the mounting of various S3-backed storage volumes via [JuiceFS](https://juicefs.com/en/).
|
||
# The script will attempt to mount four different S3 volumes:
|
||
#
|
||
# 1. `public-{ { .juicefsVolumeNamePostfix } }`
|
||
# 2. `private-{ { .juicefsVolumeNamePostfix } }`
|
||
# 3. `docker-{ { .juicefsVolumeNamePostfix } }`
|
||
# 4. `user-{ { .juicefsVolumeNamePostfix } }`
|
||
#
|
||
# Where `{ { .juicefsVolumeNamePostfix } }` is replaced with the name stored in `home/.chezmoidata.yaml`.
|
||
# When creating the four volumes in the [JuiceFS console](https://juicefs.com/console/), it is important that you name the volumes using
|
||
# these four volume names.
|
||
MOUNT_FOLDER="/mnt"
|
||
UPDATE_FSTAB="--update-fstab"
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### macOS
|
||
MOUNT_FOLDER="/Volumes"
|
||
UPDATE_FSTAB=""
|
||
elif [ -f /snap/juicefs/current/juicefs ]; then
|
||
logg info 'Symlinking /snap/juicefs/current/juicefs to /snap/bin/juicefs' && sudo ln -s -f /snap/juicefs/current/juicefs /snap/bin/juicefs
|
||
fi
|
||
logg info "Acquiring juicefsVolumeNamePostfix from ${XDG_DATA_HOME:-$HOME/.local/share}/chezmoi/home/.chezmoidata.yaml"
|
||
JUICEFS_VOLUME_PREFIX="$(yq '.juicefsVolumeNamePostfix' "${XDG_DATA_HOME:-$HOME/.local/share}/chezmoi/home/.chezmoidata.yaml")"
|
||
for MOUNT_NAME in "docker" "private" "public" "user"; do
|
||
if [ "$MOUNT_NAME" == "user" ]; then
|
||
sudo juicefs mount --enable-xattr -o user_id="$(id -u "$USER")",group_id="$(id -g "$USER")" --conf-dir "${XDG_CONFIG_HOME:-$HOME/.config}/juicefs" -b $UPDATE_FSTAB "${JUICEFS_VOLUME_PREFIX}-${MOUNT_NAME}" "$HOME/.local/jfs"
|
||
else
|
||
sudo juicefs mount --enable-xattr --conf-dir /root/.juicefs $UPDATE_FSTAB -b "${JUICEFS_VOLUME_PREFIX}-${MOUNT_NAME}" "${MOUNT_FOLDER}/jfs-${MOUNT_NAME}"
|
||
fi
|
||
done
|
||
### Linux systemd
|
||
if command -v systemctl > /dev/null; then
|
||
logg info 'Ensuring /etc/systemd/system/docker.service.d exists as a directory' && sudo mkdir -p /etc/systemd/system/docker.service.d
|
||
logg info 'Creating /etc/systemd/system/docker.service.d/override.conf which ensures JuiceFS is loaded before Docker starts'
|
||
echo '[Unit]' | sudo tee /etc/systemd/system/docker.service.d/override.conf
|
||
echo 'After=network-online.target firewalld.service containerd.service jfs.mount' | sudo tee -a /etc/systemd/system/docker.service.d/override.conf
|
||
fi
|
||
_short: "JuiceFS is a POSIX-compatible distributed file system for cloud-native environments, designed for scalability and high performance. "
|
||
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."
|
||
_docs: https://juju.is/docs
|
||
_github: https://github.com/juju/juju
|
||
_home: https://juju.is/
|
||
_name: Juju
|
||
_short: "Juju is an open-source application modeling tool that allows you to deploy, configure, manage, and scale applications in the cloud easily. "
|
||
ansible: professormanhattan.juju
|
||
brew: juju
|
||
choco: juju
|
||
snap: juju --classic
|
||
junction:
|
||
_bin: junction
|
||
_desc: "Junction is a tool that allows you to create symbolic links on Windows operating systems. Symbolic links are references to files or directories that act as pointers to the original file or directory, \nenabling you to access them from a different location. This tool simplifies the process of creating and managing symbolic links, making it easier to organize and access files across different locations \non a Windows system. "
|
||
_github: https://github.com/sonnyp/Junction
|
||
_name: "Junction "
|
||
_short: "Junction is a tool for creating and managing symbolic links in macOS. "
|
||
flatpak: re.sonny.Junction
|
||
just:
|
||
_bin: just
|
||
_desc: "Just is a command runner tool for executing tasks defined in a file called justfile. It simplifies task automation by providing a straightforward syntax for defining and running commands. Justfile \ncontains task definitions with associated shell commands, making it easy to manage and execute tasks efficiently. Just is particularly useful for developers and system administrators who need a simple \nand flexible way to automate common tasks in their workflow. It is open-source and available on GitHub at https://github.com/casey/just. "
|
||
_github: https://github.com/casey/just
|
||
_name: Just
|
||
_short: "Just is a command runner for project-specific tasks, written in Rust. "
|
||
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
|
||
_desc: "K9s is a terminal-based Kubernetes CLI that provides a more intuitive and efficient way to interact with Kubernetes clusters. It offers a comprehensive view of resources, allows for easy navigation, and\nsupports various operations like viewing logs, editing resources, and executing commands within pods. K9s simplifies Kubernetes management by providing a user-friendly interface in the terminal, making \nit a popular choice for developers and system administrators working with Kubernetes clusters. "
|
||
_github: https://github.com/derailed/k9s
|
||
_name: K9s
|
||
_short: "k9s is a terminal-based Kubernetes CLI that provides a more intuitive and efficient way to interact with your Kubernetes clusters. "
|
||
brew: derailed/k9s/k9s
|
||
choco: k9s
|
||
pacman: k9s
|
||
port: k9s
|
||
scoop: k9s
|
||
kap:
|
||
_app: Kap.app
|
||
_bin: kap
|
||
_desc: "Kap is an open-source screen recording and sharing tool for macOS. It allows users to capture high-quality GIF, MP4, WebM, or APNG recordings of their screen, with options to customize frame rate, \nquality, and more. Kap offers a simple and intuitive interface, making it easy to use for creating tutorials, demos, or sharing quick screen recordings. It also supports keyboard shortcuts for efficient\nrecording. Additionally, Kap provides features like exporting to various formats, cloud integration, and plugins for extended functionality. "
|
||
_github: https://github.com/wulkano/Kap
|
||
_name: Kap
|
||
_short: "Kap is a macOS screen recording app for developers. "
|
||
cask: kap
|
||
kasmvnc:
|
||
_bin: kasmvncpasswd
|
||
_desc: "KasmVNC is an open-source project available on GitHub developed by Kasm Technologies. It is a web-based VNC (Virtual Network Computing) client that allows users to remotely access and control their \ndesktop environment through a web browser. This tool provides a secure and efficient way to connect to remote systems without the need for additional software installations. KasmVNC supports various \nplatforms and offers features like session recording, file transfer, and multi-monitor support. It is a useful tool for remote troubleshooting, collaboration, and accessing systems from anywhere with an\ninternet connection. "
|
||
_github: https://github.com/kasmtech/KasmVNC
|
||
_name: "KasmVNC "
|
||
_short: "KasmVNC is an open-source VNC server that provides secure remote desktop access through a web browser. "
|
||
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
|
||
_desc: "The repository at https://github.com/xfreebird/kcpassword appears to be related to the manipulation of the kcpassword file on macOS systems. This file is used to store the encrypted password for \nautomatic login on macOS. The repository likely contains tools or scripts to work with this file, possibly for managing or modifying automatic login settings on macOS systems. It's important to exercise\ncaution when working with sensitive files like kcpassword to avoid compromising system security. "
|
||
_github: https://github.com/xfreebird/kcpassword
|
||
_name: kcpassword
|
||
_short: "kcpassword is a tool used to decrypt and manipulate the macOS user password stored in the Keychain. "
|
||
brew:darwin: xfreebird/utils/kcpassword
|
||
kdash:
|
||
_bin: kdash
|
||
_desc: A simple and fast dashboard for Kubernetes
|
||
_github: https://github.com/kdash-rs/kdash
|
||
_home: https://kdash.cli.rs/
|
||
_name: kdash
|
||
_short: "kdash is a lightweight dashboard for Kubernetes. "
|
||
brew: kdash-rs/kdash/kdash
|
||
cargo: kdash
|
||
choco: kdash
|
||
github: github.com/kdash-rs/kdash
|
||
scoop: kdash
|
||
kde-plasma-desktop:
|
||
_bin: plasmashell
|
||
_deps:
|
||
- kdeplasma-addons
|
||
_desc: "KDE Plasma Desktop is an open-source graphical desktop environment for Linux and Unix-like operating systems. It provides a modern and customizable user interface with features like widgets, panels, and\ndesktop effects. The project is developed by the KDE community and offers a range of applications and tools to enhance the user experience. It is known for its flexibility and ability to cater to \ndifferent user preferences through themes, widgets, and extensions. The source code and development of KDE Plasma Desktop can be found on GitHub at https://github.com/KDE/plasma-desktop. "
|
||
_github: https://github.com/KDE/plasma-desktop
|
||
_name: "plasma-desktop "
|
||
_short: "KDE Plasma Desktop: \nOpen-source desktop environment for Linux systems with a modern and customizable user interface. "
|
||
apt: kde-plasma-desktop
|
||
dnf: kde-plasma-desktop
|
||
pacman: kde-plasma-desktop
|
||
kdenlive:
|
||
_app: kdenlive.app
|
||
_bin: kdenlive
|
||
_desc: "Kdenlive is an open-source video editing software developed by the KDE community. It offers a range of features for editing videos, including multi-track editing, support for a variety of audio and \nvideo formats, effects, transitions, and more. Kdenlive is available for Linux, FreeBSD, and now also for Windows and macOS. It is known for its user-friendly interface and powerful editing \ncapabilities, making it a popular choice for both beginners and advanced users in the video editing community. "
|
||
_github: https://github.com/KDE/kdenlive
|
||
_name: Kdenlive
|
||
_short: "Kdenlive is an open-source video editing software maintained by the KDE community. "
|
||
cask: kdenlive
|
||
choco: kdenlive
|
||
flatpak: org.kde.kdenlive
|
||
kdeplasma-addons:
|
||
_desc: "The KDE Plasma Addons repository on GitHub contains additional plugins, applets, and scripts for the KDE Plasma desktop environment. These addons provide extra functionality and customization options \nfor users of KDE Plasma. The repository is maintained by the KDE community and is open source, allowing users to contribute to and improve the collection of addons. It's a valuable resource for \nenhancing the user experience and extending the features of the KDE Plasma desktop. "
|
||
_github: https://github.com/KDE/kdeplasma-addons
|
||
_name: "kdeplasma-addons "
|
||
_short: "kdeplasma-addons is a repository for KDE Plasma desktop add-ons. "
|
||
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: |
|
||
#!/usr/bin/env bash
|
||
# @file Keybase Configuration
|
||
# @brief Updates Keybase's system configuration with the Keybase configuration stored in the `home/dot_config/keybase/config.json` location.
|
||
# @description
|
||
# This script ensures Keybase utilizes a configuration that, by default, adds a security fix.
|
||
if command -v keybase > /dev/null; then
|
||
KEYBASE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/keybase/config.json"
|
||
if [ -f "$KEYBASE_CONFIG" ]; then
|
||
logg info 'Ensuring /etc/keybase is a directory' && sudo mkdir -p /etc/keybase
|
||
logg info "Copying $KEYBASE_CONFIG to /etc/keybase/config.json" && sudo cp -f "$KEYBASE_CONFIG" /etc/keybase/config.json
|
||
else
|
||
logg warn "No Keybase config located at $KEYBASE_CONFIG"
|
||
fi
|
||
else
|
||
logg info 'The keybase executable is not available'
|
||
fi
|
||
_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
|
||
_short: "Keybase Client is an open-source security app that offers encrypted messaging, file sharing, and identity verification services. "
|
||
_when:ansible: "! test -f /opt/keybase/Keybase"
|
||
ansible: professormanhattan.keybase
|
||
cask: keybase
|
||
choco: keybase
|
||
pacman:
|
||
- 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
|
||
_short: "Keycastr is a keystroke visualizer for macOS. "
|
||
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."
|
||
_docs: https://sw.kovidgoyal.net/kitty/quickstart/
|
||
_github: https://github.com/kovidgoyal/kitty
|
||
_home: https://sw.kovidgoyal.net/kitty/
|
||
_name: KiTTY
|
||
_short: "kitty is a fast, feature-rich, and cross-platform terminal emulator. "
|
||
ansible: professormanhattan.kitty
|
||
kn:
|
||
_bin: kn
|
||
_desc: The Knative CLI (kn) provides a quick and easy interface for creating Knative resources, such as Knative Services and Event Sources
|
||
_github: https://github.com/knative/client
|
||
_name: kn
|
||
_short: "Knative Client is a command-line interface (CLI) for interacting with Knative resources on Kubernetes. "
|
||
brew: kn
|
||
github: github.com/knative/client
|
||
yay: knative-client-bin
|
||
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
|
||
_short: "GitHub Repository: \n\n • Name: xbmc/xbmc \n • Description: Open-source media player software \n • Link: xbmc/xbmc "
|
||
ansible: professormanhattan.kodi
|
||
apt: kodi
|
||
cask: kodi
|
||
choco: kodi
|
||
dnf: kodi
|
||
flatpak: tv.kodi.Kodi
|
||
pacman: kodi
|
||
koodo-reader:
|
||
_app: Koodo Reader.app
|
||
_bin: koodo-reader
|
||
_desc: "Koodo Reader is an open-source ebook reader application available on GitHub. It provides a user-friendly interface for reading ebooks in various formats. The project is actively maintained and allows \nusers to customize their reading experience with features like different themes, font sizes, and more. It supports EPUB, PDF, and other common ebook formats. Users can contribute to the project by \nreporting issues, suggesting improvements, or even submitting code changes. Overall, Koodo Reader is a versatile ebook reader that caters to the needs of readers looking for a customizable and \nfeature-rich reading experience. "
|
||
_github: https://github.com/koodo-reader/koodo-reader
|
||
_name: Koodo Reader
|
||
_short: "Koodo Reader is an open-source ebook reader application for MacOS. "
|
||
cask: koodo-reader
|
||
flatpak: io.github.troyeguo.koodo-reader
|
||
scoop: extras/koodo-reader
|
||
winget: AppbyTroye.KoodoReader
|
||
kooha:
|
||
_bin: kooha
|
||
_desc: "Kooha is an open-source project available on GitHub at https://github.com/SeaDve/Kooha. It appears to be a tool or application developed by SeaDve, but without further details or documentation, it's not\nclear what its specific purpose or functionality is. To understand more about Kooha, you may need to explore the repository, check the README file, or look at the source code to see what it offers and \nhow it can be used. "
|
||
_github: https://github.com/SeaDve/Kooha
|
||
_name: "Kooha "
|
||
_short: "Kooha is a lightweight and fast web server written in C. "
|
||
flatpak: io.github.seadve.Kooha
|
||
korkut:
|
||
_bin: korkut
|
||
_desc: "Korkut is a command-line tool developed by Oguzhan Inan for MacOS that allows users to easily manage their hosts file. The hosts file is used to map hostnames to IP addresses before DNS can resolve \nthem. With Korkut, users can add, remove, or list entries in their hosts file using simple commands in the terminal. It provides a convenient way to edit the hosts file without needing to manually \nnavigate to the file location. Korkut simplifies host file management tasks for MacOS users. "
|
||
_github: https://github.com/oguzhaninan/korkut
|
||
_name: Korkut
|
||
_short: "korkut is a lightweight and flexible command-line tool for macOS that allows you to manage your system's brightness, volume, and more with ease. "
|
||
npm: korkut
|
||
krew:
|
||
_bin: kubectl-krew
|
||
_desc: "Krew is a plugin manager for Kubernetes kubectl command-line tool. It allows users to easily discover, install, and manage kubectl plugins. With Krew, you can extend kubectl with additional \nfunctionality provided by plugins, making it easier to customize and enhance your Kubernetes workflow. Krew simplifies the process of finding and installing plugins by providing a centralized \nrepository. It helps users maintain their plugins up-to-date and manage them efficiently. Overall, Krew enhances the usability and extensibility of kubectl for Kubernetes users. "
|
||
_github: https://github.com/kubernetes-sigs/krew
|
||
_name: KubeCTL
|
||
_short: "Krew is a plugin manager for Kubernetes command-line tool kubectl. "
|
||
brew: krew
|
||
krita:
|
||
_app: krita.app
|
||
_bin: krita
|
||
_desc: "Krita is a free and open-source digital painting application for artists, illustrators, and designers. It offers a wide range of powerful tools for creating artwork, including brushes, layers, filters, \nand more. Developed by the KDE community, Krita supports various file formats and provides a customizable interface to suit different workflows. It is available for Windows, macOS, and Linux, making it \na versatile choice for digital artists across different platforms. The project is actively maintained and welcomes contributions from the community. "
|
||
_github: https://github.com/KDE/krita
|
||
_name: "Krita "
|
||
_short: "Krita is a free and open-source digital painting application for artists and illustrators. "
|
||
cask: krita
|
||
choco: krita
|
||
flatpak: org.kde.krita
|
||
ksnip:
|
||
_app: ksnip.app
|
||
_bin: ksnip
|
||
_desc: "ksnip is a feature-rich screenshot tool for macOS that allows users to capture screenshots, annotate them with various tools like arrows, text, and shapes, and easily share or save the edited \nscreenshots. It supports capturing full screen, specific windows, or custom regions. Users can also upload screenshots directly to services like Imgur. ksnip is open-source and actively maintained, \nmaking it a popular choice for users looking for a versatile screenshot tool on macOS. "
|
||
_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
|
||
_short: "ksnip is a feature-rich screenshot tool for MacOS. "
|
||
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
|
||
_short: "kube-shell is a Kubernetes shell that provides an interactive shell with auto-completion and syntax highlighting for Kubernetes commands. "
|
||
pipx: kube-shell
|
||
kubectx:
|
||
_bin: kubectx
|
||
_desc: Faster way to switch between clusters and namespaces in kubectl
|
||
_github: https://github.com/ahmetb/kubectx
|
||
_name: kubectx
|
||
_short: "kubectx is a command-line tool that allows users to switch between Kubernetes contexts easily. "
|
||
brew: kubectx
|
||
choco:
|
||
- kubens
|
||
- kubectx
|
||
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
|
||
_short: "KubeKey is a tool for installing Kubernetes clusters on multiple cloud providers and on-premises environments with ease. "
|
||
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
|
||
_short: "kubenav is a mobile and desktop app to manage Kubernetes clusters. "
|
||
cask: kubenav
|
||
github: github.com/kubenav/kubenav
|
||
yay: kubenav-bin
|
||
kubernetes-cli:
|
||
_bin: kubectl
|
||
_desc: kubectl is a command line tool for communicating with a Kubernetes cluster's control plane, using the Kubernetes API
|
||
_docs: https://kubernetes.io/docs/reference/kubectl/kubectl/
|
||
_github: https://github.com/kubernetes/kubectl
|
||
_name: kubectl
|
||
_short: "kubectl is a command-line tool for interacting with Kubernetes clusters. "
|
||
brew: kubectl
|
||
choco: kubernetes-cli
|
||
snap: kubectl --classic
|
||
kubernetes-kompose:
|
||
_bin: kompose
|
||
_desc: Go from Docker Compose to Kubernetes
|
||
_docs: https://kompose.io/getting-started/
|
||
_github: https://github.com/kubernetes/kompose
|
||
_home: https://kompose.io/
|
||
_name: kompose
|
||
_short: "Kompose is a tool that helps you convert Docker Compose files to Kubernetes manifests. "
|
||
brew: kompose
|
||
choco: kubernetes-kompose
|
||
snap: kompose
|
||
kubeval:
|
||
_bin: kubeval
|
||
_desc: Validate your Kubernetes configuration files, supports multiple Kubernetes versions
|
||
_github: https://github.com/instrumenta/kubeval/
|
||
_home: https://www.kubeval.com/
|
||
_name: kubeval
|
||
_post:binary:darwin: |
|
||
#!/usr/bin/env bash
|
||
tar xf kubeval-darwin-amd64.tar.gz
|
||
sudo cp kubeval /usr/local/bin
|
||
_post:binary:linux: |
|
||
#!/usr/bin/env bash
|
||
tar xf kubeval-linux-amd64.tar.gz
|
||
sudo cp kubeval /usr/local/bin
|
||
_pre:scoop: scoop bucket add instrumenta https://github.com/instrumenta/scoop-instrumenta
|
||
_short: "kubeval is a tool for validating Kubernetes configuration files against the Kubernetes API schemas. "
|
||
binary:darwin: https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-darwin-amd64.tar.gz
|
||
binary:linux: https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz
|
||
go: github.com/instrumenta/kubeval@latest
|
||
scoop: kubeval
|
||
kustomize:
|
||
_bin: kustomize
|
||
_desc: "Kustomize is a tool used in Kubernetes for customizing YAML configurations without modifying the original files. It allows you to manage Kubernetes application configurations through a \"base\" and \n\"overlay\" concept, where you define a base configuration and then apply overlays to customize it for different environments or use cases. This approach helps in maintaining a clean and organized \nconfiguration management process. Kustomize simplifies the management of Kubernetes resources by enabling configuration customization through patches and overlays, making it easier to manage complex \ndeployments. "
|
||
_github: https://github.com/kubernetes-sigs/kustomize
|
||
_name: Kustomize
|
||
_short: "Kustomize is a tool for customizing Kubernetes configurations without modifying the original YAML files. "
|
||
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.
|
||
_docs: https://github.com/tsujan/Kvantum/blob/master/Kvantum/doc/Theme-Config.pdf
|
||
_github: https://github.com/tsujan/Kvantum
|
||
_home: https://github.com/tsujan/Kvantum
|
||
_name: Kvantum
|
||
_short: "Kvantum is a theme manager for Linux desktop environments that allows users to customize the look and feel of their system. "
|
||
apt:
|
||
- qt5-style-kvantum
|
||
- qt5-style-kvantum-themes
|
||
dnf:fedora: kvantum
|
||
eopkg: kvantum
|
||
pacman: kvantum
|
||
kvm:
|
||
_bin:
|
||
- kvm
|
||
- qemu-img
|
||
_bin:brew:
|
||
- libvirtd
|
||
- qemu-img
|
||
_desc: Kernel-based Virtual Machine (or [KVM](https://www.linux-kvm.org/page/Main_Page)) is a virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the Linux kernel mainline in kernel version 2.6.20, which was released on February 5, 2007.
|
||
_docs: https://www.linux-kvm.org/page/Documents
|
||
_github: false
|
||
_groups:
|
||
- kvm
|
||
- libvirt
|
||
_home: https://www.linux-kvm.org/page/Main_Page
|
||
_name: KVM
|
||
_service: libvirt
|
||
_serviceEnabled: true
|
||
ansible: professormanhattan.kvm
|
||
apt:
|
||
- bridge-utils
|
||
- libvirt-clients
|
||
- libvirt-daemon-system
|
||
- qemu-kvm
|
||
- virt-manager
|
||
- virtinst
|
||
brew:
|
||
- libvirt
|
||
- qemu
|
||
dnf:
|
||
- bridge-utils
|
||
- libvirt
|
||
- qemu-kvm
|
||
- virt-install
|
||
- virt-manager
|
||
- virt-top
|
||
- virt-viewer
|
||
pacman:
|
||
- bridge-utils
|
||
- libvirt
|
||
- virt-manager
|
||
langflow:
|
||
_bin: langflow
|
||
_desc: "Langflow is a GitHub repository belonging to Logspace, an AI company. It likely contains code related to natural language processing or other language-related tasks. To get a more detailed \nunderstanding, you can explore the repository directly on GitHub. "
|
||
_github: https://github.com/logspace-ai/langflow
|
||
_name: LangFlow
|
||
_short: "langflow is a Python library for natural language processing tasks like text classification, named entity recognition, and sentiment analysis. "
|
||
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
|
||
_short: "Lapce is a lightweight and fast text editor for programmers, designed for ease of use and customization. "
|
||
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
|
||
_github: https://github.com/jesseduffield/lazygit
|
||
_name: "lazygit "
|
||
_short: "lazygit is a terminal-based GUI for Git with a simple interface for managing repositories. "
|
||
brew: lazygit
|
||
choco: lazygit
|
||
eopkg: lazygit
|
||
go: github.com/jesseduffield/lazygit@latest
|
||
pacman: lazygit
|
||
port: lazygit
|
||
scoop: lazygit
|
||
xbps: lazygit
|
||
ledger-live:
|
||
_app: Ledger Live.app
|
||
_bin: ledger-live
|
||
_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."
|
||
_github: https://github.com/LedgerHQ/ledger-live
|
||
_home: https://www.ledger.com/ledger-live
|
||
_name: Ledger Live
|
||
_short: "Ledger Live is a desktop application for managing cryptocurrency assets using Ledger hardware wallets. "
|
||
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"
|
||
_docs: https://docs.k8slens.dev/main/
|
||
_github: https://github.com/lensapp/lens
|
||
_home: https://k8slens.dev/
|
||
_name: Lens
|
||
_short: "Lens is an open-source Kubernetes IDE that provides a visual way to work with Kubernetes clusters. "
|
||
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
|
||
_github: https://github.com/hackjutsu/Lepton
|
||
_home: https://hackjutsu.com/Lepton/
|
||
_name: lepton
|
||
_short: "Lepton is a lightweight code snippet manager for MacOS. "
|
||
cask: lepton
|
||
snap: lepton
|
||
lexicon:
|
||
_bin: lexicon
|
||
_desc: "[Lexicon](https://github.com/AnalogJ/lexicon) provides a way to manipulate DNS records on multiple DNS providers in a standardized/agnostic way."
|
||
_github: https://github.com/AnalogJ/lexicon
|
||
_name: Lexicon
|
||
_post:pipx: |
|
||
#!/usr/bin/env bash
|
||
pipx inject dns-lexicon dns-lexicon[full]
|
||
_short: "Lexicon is a DNS manipulation framework that makes it easy to interact with multiple DNS providers. "
|
||
ansible: professormanhattan.lexicon
|
||
pipx: dns-lexicon
|
||
libguestfs-tools:
|
||
_bin: guestfish
|
||
_desc: "libguestfs is a set of tools for accessing and modifying virtual machine (VM) disk images. It allows you to create, view, modify, and extract files from VM disk images without needing to boot the VM. It\nsupports a wide range of disk image formats and can be used for tasks like disk cloning, filesystem analysis, and more. It's commonly used in virtualization environments for managing VMs efficiently. \nThe project is open source and actively maintained on GitHub. "
|
||
_github: https://github.com/libguestfs/libguestfs
|
||
_name: "libguestfs "
|
||
_short: "libguestfs is a set of tools for accessing and modifying virtual machine disk images. "
|
||
apt: libguestfs-tools
|
||
dnf: libguestfs-tools
|
||
libimobiledevice:
|
||
_bin: null
|
||
_desc: "libimobiledevice is an open-source software library that talks the protocols to support iOS devices. It allows communication with iPhone, iPod Touch, iPad, and Apple TV devices. This library enables \nfunctionalities like accessing the device filesystem, retrieving device information, installing/uninstalling applications, and more. It's commonly used by developers, researchers, and system \nadministrators to interact with iOS devices from a computer running macOS, Linux, or Windows. The project is actively maintained and updated to support the latest iOS versions and devices. "
|
||
_github: https://github.com/libimobiledevice/libimobiledevice
|
||
_home: https://libimobiledevice.org/
|
||
_name: "libimobiledevice "
|
||
_short: "libimobiledevice is an open-source software library that talks the protocols to support iOS devices. "
|
||
brew:darwin: libimobiledevice
|
||
libre-menu-editor:
|
||
_bin: libre-menu-editor
|
||
_github: false
|
||
_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: https://github.com/LibreOffice/core
|
||
_home: https://www.libreoffice.org/
|
||
_name: LibreOffice
|
||
_short: "LibreOffice/core is the main repository for the LibreOffice open-source office suite. "
|
||
apt: libreoffice
|
||
cask: libreoffice
|
||
choco: libreoffice-fresh
|
||
dnf: libreoffice
|
||
flatpak: org.libreoffice.LibreOffice
|
||
mas: 1630474372
|
||
pacman: libreoffice
|
||
librewolf:
|
||
_app: LibreWolf.app
|
||
_bin: librewolf
|
||
_desc: "LibreWolf is a community-maintained fork of Firefox, focused on privacy, security, and user freedom. It aims to provide a more privacy-respecting browsing experience by disabling telemetry, removing \nproprietary components, and integrating various privacy-focused extensions by default. The project is open-source and welcomes contributions from the community. It is available for Linux distributions \nand other platforms. Users concerned about online privacy and security may find LibreWolf to be a compelling alternative to mainstream browsers. "
|
||
_github: https://github.com/librewolf-community/browser-linux
|
||
_gitlab: https://gitlab.com/librewolf-community/browser/linux
|
||
_name: "browser-linux "
|
||
_scoopExtras: true
|
||
_short: "LibreWolf is a privacy-focused web browser based on Firefox, designed for Linux systems. "
|
||
cask: librewolf
|
||
choco: librewolf
|
||
flatpak: io.gitlab.librewolf-community
|
||
scoop: librewolf
|
||
winget: librewolf
|
||
yay: librewolf
|
||
license:
|
||
_bin: license
|
||
_desc: Command-line license text generator
|
||
_github: https://github.com/nishanths/license
|
||
_name: license
|
||
_short: "license is a tool that helps you add licenses to your projects easily by providing a simple command-line interface. "
|
||
go: github.com/nishanths/license@latest
|
||
yay: nishanths-license-git
|
||
lighthouse:
|
||
_bin: lighthouse
|
||
_desc: "Lighthouse is an open-source tool from Google Chrome that helps developers improve the quality of web pages. It runs audits on web pages, generating reports on performance, accessibility, progressive \nweb apps, SEO, and more. Developers can use Lighthouse to identify areas for improvement and optimize their websites for better user experience and search engine rankings. It can be run from the Chrome \nDevTools, as a CLI tool, or as a Node module. Lighthouse is widely used in web development for performance optimization and best practices adherence. "
|
||
_github: https://github.com/GoogleChrome/lighthouse
|
||
_name: Lighthouse
|
||
_short: "Lighthouse is an open-source tool from Google Chrome for improving the quality of web pages. "
|
||
npm: lighthouse
|
||
lightproxy:
|
||
_app: LightProxy.app
|
||
_bin: lightproxy
|
||
_desc: "LightProxy is an open-source tool developed by Alibaba that provides a lightweight and flexible proxy server for network traffic interception, analysis, and modification. It allows users to intercept \nand modify HTTP/HTTPS requests and responses, making it useful for debugging, testing, and security analysis of web applications. LightProxy supports features like request/response modification, traffic\nrecording, and SSL decryption, making it a versatile tool for developers and security professionals. It can be easily configured and integrated into various testing and development workflows. "
|
||
_github: https://github.com/alibaba/lightproxy
|
||
_name: LightProxy
|
||
_short: "LightProxy is a lightweight and cross-platform proxy tool developed by Alibaba for network debugging and testing purposes. "
|
||
cask: lightproxy
|
||
linkerd2:
|
||
_bin: linkerd
|
||
_desc: Linkerd is an ultralight, security-first service mesh for Kubernetes
|
||
_github: https://github.com/linkerd/linkerd2
|
||
_home: https://linkerd.io/
|
||
_name: linkerd2
|
||
_short: "linkerd2 is a service mesh for cloud-native applications. "
|
||
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
|
||
_short: "LinkLiar is a macOS application that allows users to change MAC addresses of network interfaces easily. "
|
||
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
|
||
_short: "liquidjs is a JavaScript implementation of the Liquid template language. "
|
||
npm: liquidjs
|
||
litecli:
|
||
_bin: litecli
|
||
_desc: CLI for SQLite Databases with auto-completion and syntax highlighting
|
||
_docs: https://litecli.com/features/
|
||
_github: https://github.com/dbcli/litecli
|
||
_home: https://litecli.com/
|
||
_name: LiteCLI
|
||
_short: "litecli is a command-line client for SQLite databases with auto-completion and syntax highlighting. "
|
||
brew: litecli
|
||
pipx: litecli
|
||
yay: litecli
|
||
live-captions:
|
||
_bin: live-captions
|
||
_desc: Linux Desktop application that provides live captioning
|
||
_github: https://github.com/abb128/LiveCaptions
|
||
_name: "LiveCaptions "
|
||
_short: "LiveCaptions is a GitHub repository that likely contains code for generating live captions, possibly for videos or live streams. "
|
||
flatpak: net.sapples.LiveCaptions
|
||
localtunnel:
|
||
_bin: lt
|
||
_desc: localtunnel exposes your localhost to the world for easy testing and sharing
|
||
_github: https://github.com/localtunnel/localtunnel
|
||
_home: https://theboroer.github.io/localtunnel-www/
|
||
_name: localtunnel
|
||
_short: "LocalTunnel is a tool that exposes your localhost to the web securely. "
|
||
brew: localtunnel
|
||
npm: localtunnel
|
||
logcli:
|
||
_bin: logcli
|
||
_desc: Run LogQL queries against a Loki server
|
||
_github: https://github.com/grafana/loki
|
||
_home: https://grafana.com/loki
|
||
_name: logcli
|
||
_short: "Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. "
|
||
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
|
||
_desc: "lolcat is a colorful command-line tool for Linux and MacOS that outputs text in rainbow colors. It takes standard input and applies rainbow coloring to it before displaying it in the terminal. It's \noften used to make terminal output more visually appealing or to highlight specific text. The tool is popular among developers and system administrators for adding a fun touch to their command-line \ninterfaces. "
|
||
_github: https://github.com/busyloop/lolcat
|
||
_name: lolcat
|
||
_short: "lolcat is a command-line tool that outputs rainbow-colored text in the terminal. "
|
||
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."
|
||
_docs: https://gitlab.gnome.org/World/lollypop/issues
|
||
_github: https://github.com/hamonikr/lollypop
|
||
_gitlab: https://gitlab.gnome.org/World/lollypop
|
||
_home: https://wiki.gnome.org/Apps/Lollypop
|
||
_name: Lollypop
|
||
_short: "Lollypop is a modern music player for Linux that supports various audio formats and online streaming services. "
|
||
ansible:linux: professormanhattan.lollypop
|
||
apt: lollypop
|
||
dnf: lollypop
|
||
flatpak: org.gnome.Lollypop
|
||
pacman: lollypop
|
||
yay: lollypop-stable-git
|
||
loop:
|
||
_bin: loop
|
||
_desc: "Loop is a tool that allows you to automatically restart a process when files in a directory change. It's particularly useful for web development or any project where you want to see changes reflected \nimmediately without manually restarting the process. Loop monitors the specified directory for changes and restarts the process automatically, saving you time and effort during development. It's a handy\ntool for streamlining your workflow and ensuring that your project stays up to date with the latest changes. "
|
||
_github: https://github.com/Miserlou/Loop
|
||
_name: Loop
|
||
_short: "Loop is a simple, fast, and lightweight macOS tool for running commands in a loop. "
|
||
cargo: loop-rs
|
||
pacman: loop
|
||
snap: loop-rs --beta
|
||
lpass:
|
||
_bin: null
|
||
_desc: "[LastPass CLI](https://github.com/lastpass/lastpass-cli) is a user-friendly command-line client for [LastPass](https://www.lastpass.com/). LastPass is a freemium password manager that stores encrypted passwords online. The standard version of LastPass comes with a web interface, but also includes plugins for various web browsers and apps for many smartphones. It also includes support for bookmarklets. It is similar to but not open-source like [Bitwarden](https://gitlab.com/megabyte-labs/ansible-roles/bw)."
|
||
_docs: LastPass command line interface tool
|
||
_github: https://github.com/lastpass/lastpass-cli
|
||
_name: LastPass CLI
|
||
_short: "lastpass-cli is a command line interface for LastPass password manager, allowing users to access and manage their passwords from the terminal. "
|
||
ansible: professormanhattan.lpass
|
||
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."
|
||
_docs: https://github.com/lsd-rs/lsd
|
||
_github: https://github.com/Peltoche/lsd
|
||
_home: https://github.com/lsd-rs/lsd
|
||
_name: LSD (LSDeluxe)
|
||
_notes: Only the Chocolatey definition is included because LSD is only used on Windows (when `exa` is not available)
|
||
_short: "lsd is a modern replacement for ls command with more features and a colorful interface. "
|
||
apt: lsd
|
||
brew: lsd
|
||
cargo: lsd
|
||
choco: lsd
|
||
dnf: lsd
|
||
eopkg: lsd
|
||
pacman: lsd
|
||
pkg-freebsd: lsd
|
||
pkg-termux: lsd
|
||
port: lsd
|
||
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
|
||
_short: "lsyncd is a lightweight live syncing daemon designed to synchronize local directories with remote targets. "
|
||
apt: lsyncd
|
||
brew: lsyncd
|
||
dnf: lsyncd
|
||
pacman: lsyncd
|
||
lua:
|
||
_bin: lua
|
||
_desc: "Lua is a powerful, efficient, lightweight, embeddable scripting language. It is designed to be simple yet powerful, making it ideal for various applications, including scripting, game development, and \nembedded systems. Lua's source code is available on GitHub at https://github.com/lua/lua, where you can find the latest releases, documentation, and community contributions. Lua is known for its \nsimplicity, speed, and flexibility, making it a popular choice for developers looking to add scripting capabilities to their projects. "
|
||
_github: https://github.com/lua/lua
|
||
_name: Lua
|
||
_short: "Lua is a lightweight, efficient scripting language designed for embedded systems and extensibility in other applications. "
|
||
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
|
||
_short: "LuLu is an open-source macOS firewall that aims to block unauthorized outgoing network connections. "
|
||
cask: lulu
|
||
lux:
|
||
_bin: lux
|
||
_desc: "Lux is a tool for visual regression testing of web pages. It captures screenshots of web pages and compares them to detect any visual changes. It can be integrated into continuous integration pipelines \nto automatically catch unintended visual changes in web applications. Lux supports various configuration options for fine-tuning the comparison process and provides detailed reports highlighting visual \ndifferences. It is a useful tool for maintaining the visual consistency of web applications across different environments and updates. "
|
||
_github: https://github.com/iawia002/lux
|
||
_name: Lux
|
||
_short: "Lux is a tool for measuring the memory, CPU usage, and other metrics of a website. "
|
||
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.
|
||
_docs: https://linuxcontainers.org/lxc/documentation/
|
||
_github: https://github.com/lxc/lxc
|
||
_home: https://linuxcontainers.org/lxc/
|
||
_name: LXC
|
||
_service: lxc
|
||
_short: "LXC (Linux Containers): \nOpen-source container technology for running multiple isolated Linux systems on a single host. "
|
||
apt: lxc
|
||
brew: lxc
|
||
dnf: lxc
|
||
pacman: lxc
|
||
lxd:
|
||
_bin: null
|
||
_desc: "[LXD](https://linuxcontainers.org) is a next generation system container manager. It offers a user experience similar to virtual machines but using Linux containers instead"
|
||
_docs: https://linuxcontainers.org/lxd/docs/master/
|
||
_github: https://github.com/lxc/lxd
|
||
_groups:
|
||
- lxd
|
||
_home: https://linuxcontainers.org/lxd/
|
||
_name: LXDC
|
||
_short: "LXD is a container manager for Linux systems, providing a user-friendly interface to manage containers with a focus on system containers rather than application containers. "
|
||
ansible:linux: professormanhattan.lxdc
|
||
snap: lxd
|
||
lxd-ui:
|
||
_bin: lxd-ui
|
||
_desc: "LXD-UI is a web-based graphical user interface for managing LXD containers. It provides a user-friendly way to interact with LXD, a system container manager. With LXD-UI, users can easily create, start,\nstop, and manage containers through a web interface. It offers features like container creation, deletion, and monitoring of container resources. The interface is designed to simplify container \nmanagement tasks for users who prefer a graphical interface over the command line. "
|
||
_github: https://github.com/canonical/lxd-ui
|
||
_name: LXD UI
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
lxd init && lxc config set core.https_address "[::]:8443"
|
||
_short: "lxd-ui is a web-based graphical user interface for managing LXD containers. "
|
||
snap: lxd
|
||
lxdc:
|
||
_deps:
|
||
- lxc
|
||
- lxd
|
||
_github: false
|
||
m-cli:
|
||
_bin: m
|
||
_desc: Swiss Army Knife for macOS. A wrapper for many types of macOS-specific commands.
|
||
_docs: https://github.com/rgcr/m-cli
|
||
_github: https://github.com/rgcr/m-cli
|
||
_home: https://github.com/rgcr/m-cli
|
||
_name: m-cli
|
||
_short: "m-cli is a command-line tool for interacting with macOS system settings and features, providing a convenient way to manage various aspects of a Mac system through the terminal. "
|
||
brew:darwin: m-cli
|
||
maas:
|
||
_bin: maas
|
||
_desc: "[MAAS](https://maas.io/) allows very fast server provisioning for your data centre. It allows self-service, remote installation of Windows, CentOS, ESXi and Ubuntu on real servers. It turns your data centre into a bare metal cloud."
|
||
_docs: https://maas.io/docs
|
||
_github: https://github.com/maas/maas
|
||
_home: https://maas.io/
|
||
_name: MAAS
|
||
_ports:
|
||
- port: 5240
|
||
proto: tcp
|
||
- port: 5240
|
||
proto: udp
|
||
- port: 5248
|
||
proto: tcp
|
||
- port: 5248
|
||
proto: udp
|
||
- port: 5241-5247
|
||
proto: tcp
|
||
- port: 5241-5247
|
||
proto: udp
|
||
- port: 5250-5270
|
||
proto: tcp
|
||
- port: 5250-5270
|
||
proto: udp
|
||
_short: "MAAS (Metal as a Service) is an open-source software that allows for easy management of physical servers for cloud infrastructure. "
|
||
ansible:ubuntu: professormanhattan.maas
|
||
snap:ubuntu: maas
|
||
mackup:
|
||
_bin: mackup
|
||
_desc: "[mackup](https://github.com/lra/mackup) lets you keep your application settings in sync."
|
||
_docs: https://github.com/lra/mackup
|
||
_github: https://github.com/lra/mackup
|
||
_home: https://github.com/lra/mackup
|
||
_name: mackup
|
||
_short: "Mackup is a tool that syncs application settings across multiple macOS devices using cloud storage services like Dropbox or Google Drive. "
|
||
ansible: professormanhattan.mackup
|
||
brew: mackup
|
||
pipx: mackup
|
||
macprefs:
|
||
_bin: macprefs
|
||
_desc: "The repository at https://github.com/clintmod/macprefs contains a collection of macOS preferences and settings that can be used to customize and configure a macOS system. It likely includes scripts or \ninstructions to apply these preferences to a macOS system efficiently. This repository can be useful for users looking to automate the setup or configuration of multiple macOS systems with consistent \nsettings. "
|
||
_github: https://github.com/clintmod/macprefs
|
||
_name: MacPrefs
|
||
_short: "macprefs is a repository containing scripts and tools for managing macOS preferences and settings efficiently. "
|
||
brew: clintmod/formulas/macprefs
|
||
macvim:
|
||
_app: MacVim.app
|
||
_desc: "MacVim is a highly configurable text editor built for macOS. It is an open-source project hosted on GitHub under the macvim-dev organization. MacVim is a GUI version of the popular Vim text editor, \nproviding a native macOS interface with features like syntax highlighting, split views, and support for various plugins. Users can customize MacVim to suit their preferences through its extensive \nconfiguration options. The project is actively maintained by a community of developers, ensuring compatibility with the latest macOS versions and continued improvements to the editor's functionality. "
|
||
_github: https://github.com/macvim-dev/macvim
|
||
_name: "macvim "
|
||
_short: "MacVim is a highly configurable text editor built for macOS, based on Vim. "
|
||
_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
|
||
_short: "mage-ai/mage-ai is a repository for the Mage AI project, an open-source artificial intelligence platform for game development. "
|
||
pipx: mage-ai
|
||
magic-wormhole:
|
||
_bin: wormhole
|
||
_desc: "Magic Wormhole is a tool that provides secure end-to-end encrypted file transfers between devices. It uses a unique approach where users generate a \"wormhole code\" that can be shared with the recipient \nto establish a secure connection for transferring files or text. This tool ensures privacy and security during the transfer process by using strong encryption techniques. Magic Wormhole is open-source \nand available on GitHub, making it a popular choice for users looking for a simple and secure way to transfer files over the internet. "
|
||
_github: https://github.com/magic-wormhole/magic-wormhole
|
||
_name: Magic Wormhole
|
||
_short: "Magic Wormhole is a tool for secure, end-to-end encrypted file transfers. "
|
||
brew: magic-wormhole
|
||
mailcatcher:
|
||
_bin: mailcatcher
|
||
_desc: "MailCatcher is a simple SMTP server that catches any email sent from your application and displays it in a web interface. It's useful for testing email functionality during development without actually \nsending emails to real addresses. With MailCatcher, you can view sent emails, inspect their content, and make sure your email templates are rendering correctly. It's a handy tool for debugging and \ntesting email-related features in your applications. You can find more details and installation instructions on its GitHub page: MailCatcher on GitHub. "
|
||
_github: https://github.com/sj26/mailcatcher
|
||
_name: Mail Catcher
|
||
_service: mailcatcher
|
||
_short: "Mailcatcher is a simple SMTP server that catches all your outgoing emails during development, allowing you to view them in a web interface instead of sending them out. "
|
||
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/
|
||
_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
|
||
_short: "Mailspring is a powerful email client designed for macOS, Windows, and Linux, offering features like unified inbox, snooze, and customizable themes. "
|
||
cask: mailspring
|
||
choco: mailspring
|
||
flatpak: com.getmailspring.Mailspring
|
||
snap: mailspring
|
||
yay: mailspring
|
||
mailsy:
|
||
_bin: mailsy
|
||
_desc: "Mailsy is an open-source email marketing application available on GitHub. It allows users to create and manage email campaigns, track email performance metrics, and engage with subscribers. The \napplication is built using Laravel and Vue.js, making it easy to customize and extend. With features like subscriber management, campaign scheduling, and detailed analytics, Mailsy provides a \ncomprehensive solution for businesses looking to run effective email marketing campaigns. Users can also benefit from its responsive design, making it accessible on various devices. "
|
||
_github: https://github.com/BalliAsghar/Mailsy
|
||
_name: Mailsy
|
||
_short: "Mailsy is a simple email marketing tool for managing mailing lists and sending newsletters. "
|
||
brew: mailsy
|
||
npm: mailsy
|
||
majestic:
|
||
_bin: majestic
|
||
_desc: "Majestic is a JavaScript test runner that provides a rich and interactive UI for running tests. It supports various testing frameworks like Jest, Mocha, Jasmine, etc. The tool allows you to run tests in\nwatch mode, filter tests, and see detailed test results in a visually appealing interface. It also offers features like code coverage reports and the ability to debug tests directly in the browser. \nMajestic simplifies the testing process by providing a user-friendly experience for developers to efficiently run and manage their tests. "
|
||
_github: https://github.com/Raathigesh/majestic
|
||
_name: Majestic
|
||
_short: "Majestic is a GUI for Jest, a JavaScript testing framework. "
|
||
npm: majestic
|
||
makeself:
|
||
_bin: makeself
|
||
_desc: "Makeself is a small shell script that generates a self-extractable compressed archive from a directory. The resulting file acts as a shell script that can extract the original archive. It's commonly \nused for creating installation packages that can be easily distributed and run on Unix-like systems. Makeself supports various compression formats like gzip, bzip2, and xz. It provides options for \ncustomizing the self-extracting archive's behavior, such as running commands before or after extraction. Makeself is a handy tool for packaging software or files for distribution in a user-friendly \nmanner. "
|
||
_github: https://github.com/megastep/makeself
|
||
_name: MakeSelf
|
||
_short: "Makeself is a small shell script that generates a self-extractable compressed archive from a directory. It's commonly used for creating software installation packages that can be easily distributed and \nrun on Unix-like systems. "
|
||
brew: makeself
|
||
malwarebytes:
|
||
_app: Malwarebytes.app
|
||
_bin: malwarebytes
|
||
_desc: Cybersecurity. For every one.
|
||
_github: false
|
||
_home: https://www.malwarebytes.com/
|
||
_name: Malwarebytes
|
||
cask: malwarebytes
|
||
choco: malwarebytes
|
||
mambaforge:
|
||
_bin: conda
|
||
_desc: "Mamba is a fast, reliable, and easy-to-use package manager for the conda package manager ecosystem. It aims to improve the performance of package management operations by utilizing parallel downloading \nand processing. Mamba is compatible with conda packages and environments, making it a suitable alternative for users looking for faster package management on their systems. It is particularly useful for\nmanaging large-scale data science and scientific computing environments efficiently. Mamba can be easily installed alongside conda and used as a drop-in replacement for faster package installations and \nupdates. "
|
||
_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
|
||
_short: "mamba is a fast, scalable package manager for data science and scientific computing. "
|
||
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
|
||
_github: https://github.com/hql287/Manta
|
||
_name: Manta
|
||
_short: "Manta is a lightweight, blazing fast full-text search engine in pure Swift. "
|
||
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
|
||
_env:
|
||
MARK_TEXT_APPDATA:
|
||
cask: $HOME/Library/Application Support/marktext
|
||
choco: TODO
|
||
flatpak: TODO
|
||
winget: TODO
|
||
_github: https://github.com/marktext/marktext
|
||
_name: MarkText
|
||
_short: "Mark Text is a simple yet powerful markdown editor that offers a distraction-free writing environment with real-time preview. "
|
||
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
|
||
_short: "markdownlint-cli is a command-line interface for linting Markdown files to ensure they follow best practices and formatting standards. "
|
||
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
|
||
_short: "Markmap is a tool that generates mind maps from Markdown. "
|
||
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
|
||
_short: "Marp CLI is a command-line tool for creating slide decks from Markdown files. "
|
||
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."
|
||
_github: https://github.com/mas-cli/mas
|
||
_name: MAS CLI
|
||
_short: "mas is a command-line interface for the Mac App Store, allowing users to interact with the App Store from the terminal. "
|
||
ansible:darwin: professormanhattan.mas
|
||
brew:darwin: mas
|
||
port: mas
|
||
mask:
|
||
_bin: mask
|
||
_desc: "Mask is a tool created by Jacob Deichert that simplifies the process of running shell commands with a predefined set of arguments. It allows you to define command templates with placeholders for \narguments, making it easier to reuse and customize commands. This can be especially useful for complex or frequently used commands where certain parts may need to change. By using Mask, you can \nstreamline your command execution process and make it more efficient. "
|
||
_github: https://github.com/jacobdeichert/mask
|
||
_name: Mask
|
||
_short: "mask is a tool for managing and running tasks in the terminal with a simple and intuitive syntax. "
|
||
brew: mask
|
||
cargo: mask
|
||
masscan:
|
||
_bin: masscan
|
||
_desc: "Masscan is a high-speed network scanner tool designed for large-scale scanning of IP addresses and ports. It is known for its speed and efficiency in scanning the internet. Masscan allows users to \nspecify ranges of IP addresses and ports to scan, making it useful for security assessments, network exploration, and research purposes. It is commonly used by security professionals and researchers to \nquickly identify open ports and potential vulnerabilities across a wide range of hosts. "
|
||
_github: https://github.com/robertdavidgraham/masscan
|
||
_name: Masscan
|
||
_short: "Masscan is a high-speed network scanner that can scan the entire Internet in under 6 minutes. "
|
||
brew: masscan
|
||
choco: masscan
|
||
masscode:
|
||
_app: massCode.app
|
||
_bin: null
|
||
_desc: A free and open source code snippets manager for developers
|
||
_github: https://github.com/antonreshetov/massCode
|
||
_name: MassCode
|
||
_short: "massCode is a web-based code snippet manager that allows you to store and organize your code snippets for easy access and sharing. "
|
||
cask: masscode
|
||
github: github.com/antonreshetov/massCode
|
||
mc:
|
||
_bin: mc
|
||
_desc: MinIO Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage
|
||
_github: https://github.com/minio/mc
|
||
_home: https://min.io/
|
||
_name: mc
|
||
_post:binary:linux: |
|
||
#!/usr/bin/env bash
|
||
# TODO
|
||
_post:binary:windows: |
|
||
#!/usr/bin/env bash
|
||
# TODO
|
||
_short: "MinIO Client (mc): A command-line tool for managing MinIO and Amazon S3 compatible object storage servers. "
|
||
binary:linux: https://dl.min.io/client/mc/release/linux-amd64/mc
|
||
binary:windows: https://dl.min.io/client/mc/release/windows-amd64/mc.exe
|
||
brew: minio/stable/mc
|
||
go: github.com/minio/mc@latest
|
||
mcfly:
|
||
_bin: mcfly
|
||
_desc: "[McFly](https://github.com/cantino/mcfly) replaces your default CTRL-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly's suggestions are prioritized in real time with a small neural network."
|
||
_github: https://github.com/cantino/mcfly
|
||
_name: McFly
|
||
_short: "McFly is a tool that enhances your command line history search and navigation, making it faster and more efficient. "
|
||
ansible:darwin: professormanhattan.mcfly
|
||
ansible:linux: professormanhattan.mcfly
|
||
brew: mcfly
|
||
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
|
||
_desc: "Medis is a beautiful, easy-to-use Redis management application built on Electron. It allows users to connect to multiple Redis databases, view and edit data in a user-friendly interface, execute \ncommands, and manage keys. Medis supports various Redis features like data visualization, key expiration, and more. It is open-source and available on GitHub at https://github.com/luin/medis for users \nto contribute, report issues, or download and use for their Redis database management needs. "
|
||
_github: https://github.com/luin/medis
|
||
_name: Medis
|
||
_short: "Medis is a graphical Redis client for MacOS. "
|
||
cask: medis
|
||
medusa:
|
||
_bin: medusa
|
||
_desc: "Medusa is an open-source eCommerce platform built on Node.js. It provides a flexible and customizable solution for creating online stores. With features like multi-store support, customizable themes, \nand a RESTful API, Medusa allows developers to build unique eCommerce experiences. It also offers integrations with popular payment gateways and shipping providers. The platform is actively maintained \nand has a growing community contributing to its development. If you're looking to set up an eCommerce store with Node.js, Medusa could be a solid choice. "
|
||
_github: https://github.com/medusajs/medusa
|
||
_name: Medusa
|
||
_short: "Medusa is an open-source eCommerce platform built with Node.js and React. "
|
||
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
|
||
_short: "MeetingBar is a MacOS menu bar app that integrates with your calendar services like Google Calendar, Outlook, and more, displaying your upcoming meetings and events. "
|
||
cask: meetingbar
|
||
mas: 1532419400
|
||
meld:
|
||
_app: Meld.app
|
||
_bin: meld
|
||
_desc: "Meld is a visual diff and merge tool that allows users to compare files, directories, and version-controlled projects. It provides a side-by-side view to easily identify differences and merge changes. \nMeld supports various version control systems like Git, Mercurial, Bazaar, and SVN. It is written in Python and is available for Linux, Windows, and macOS platforms. Meld is a popular tool among \ndevelopers and system administrators for managing code changes and resolving conflicts efficiently. "
|
||
_github: https://github.com/GNOME/meld
|
||
_name: "meld "
|
||
_short: "Meld is a visual diff and merge tool for developers. "
|
||
cask: meld
|
||
choco: meld
|
||
flatpak: org.gnome.meld
|
||
meta:
|
||
_bin: meta
|
||
_desc: "meta is a tool that helps manage multiple git repositories simultaneously. It allows you to work with a collection of repositories as if they were a single repository. With meta, you can run commands \nacross all repositories, manage dependencies, and streamline workflows for projects that are spread across multiple repositories. It simplifies tasks like cloning, updating, and syncing multiple \nrepositories, making it easier to work with complex projects that are divided into smaller components. "
|
||
_github: https://github.com/mateodelnorte/meta
|
||
_name: Meta
|
||
_short: "meta is a tool that helps manage multiple git repositories simultaneously. "
|
||
npm: meta
|
||
meta-package-manager:
|
||
_bin: mpm
|
||
_desc: "Meta Package Manager is a tool available on GitHub at https://github.com/kdeldycke/meta-package-manager. It appears to be a package manager designed to simplify the management of multiple package \nmanagers across different programming languages. The tool likely aims to streamline the process of handling dependencies and packages from various sources, providing a unified interface for package \nmanagement tasks. For more detailed information and usage instructions, you may want to explore the repository's documentation and README file. "
|
||
_github: https://github.com/kdeldycke/meta-package-manager
|
||
_name: Meta Package Manager
|
||
_short: "meta-package-manager is a tool for managing multiple package managers in a unified way. "
|
||
brew: meta-package-manager
|
||
pipx: meta-package-manager
|
||
metasploit:
|
||
_desc: "Metasploit Framework \n\nMetasploit Framework is an open-source penetration testing tool developed by Rapid7. It provides information about security vulnerabilities and aids in penetration testing and IDS signature development.\nThe framework includes a suite of tools, including exploits, payloads, auxiliary modules, and post-exploitation modules. It is widely used by security professionals and researchers to test the security \nof networks and applications. The tool is regularly updated with new exploits and features to keep up with the evolving threat landscape. "
|
||
_github: https://github.com/rapid7/metasploit-framework
|
||
_name: Metasploit Framework
|
||
_short: "metasploit-framework is an open-source penetration testing framework used for developing, testing, and executing exploit code against a remote target machine. "
|
||
_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
|
||
_desc: "Mamba is a fast, reliable, and easy-to-use package manager for the conda package manager ecosystem. It aims to improve the performance of package management operations by utilizing parallel downloading \nand processing. Mamba is compatible with conda packages and environments, making it a suitable alternative for users looking for faster package management on their systems. It is particularly useful for\nmanaging large-scale data science and scientific computing environments efficiently. Mamba can be easily installed alongside conda and used as a drop-in replacement for faster package installations and \nupdates. "
|
||
_github: https://github.com/mamba-org/mamba
|
||
_name: MicroMamba
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
micromamba self-update
|
||
_short: "mamba is a fast, scalable package manager for data science and scientific computing. "
|
||
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/
|
||
_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
|
||
function chromeSetUp() {
|
||
### Ensure Chrome policies directory is present
|
||
# logg info 'Processing policy directories for Chromium based browsers'
|
||
### TODO - Find POLICY_DIR location for Microsoft Edge
|
||
# for POLICY_DIR in "/opt/google/chrome/policies" "/etc/chromium/policies" "/etc/brave/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 "$HOME/Library/Application Support/Microsoft/Edge/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
|
||
cask: microsoft-edge
|
||
choco: microsoft-edge
|
||
flatpak: com.microsoft.Edge
|
||
yay: microsoft-edge-stable-bin
|
||
microsoft-git:
|
||
_bin: scalar
|
||
_desc: "VFS for Git is an open-source system developed by Microsoft that improves Git repository performance on Windows by virtualizing the file system. It allows Git to operate more efficiently with \nrepositories containing large numbers of files. VFS for Git works by only downloading files as they are needed, reducing the disk space and time required for cloning and fetching from repositories. This\ntool can significantly enhance the performance of Git operations, especially in repositories with extensive histories and numerous files. "
|
||
_github: https://github.com/microsoft/VFSForGit
|
||
_name: Microsoft Git (with Git VFS)
|
||
_short: "VFS for Git is a virtual file system extension for Git, designed to improve Git performance on Windows by enabling Git to operate more efficiently with large repositories. "
|
||
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: false
|
||
_home: https://www.office.com/
|
||
_name: Office
|
||
cask: microsoft-office
|
||
choco: office365business
|
||
microsoft-remote-desktop:
|
||
_app: Microsoft Remote Desktop.app
|
||
_bin: microsoft-remote-desktop
|
||
_github: false
|
||
_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."
|
||
_github: false
|
||
_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
|
||
ansible: professormanhattan.microsofttodo
|
||
cask: ao
|
||
mas: 1274495053
|
||
snap: microsoft-todo-unofficial
|
||
miller:
|
||
_bin: mlr
|
||
_desc: "Miller is a command line tool that allows for text processing in Unix-like systems. It is designed for working with structured text data like CSV, TSV, JSON, and XML. Miller provides various operations \nfor data manipulation such as filtering, joining, sorting, and formatting. It is particularly useful for tasks like data cleaning, transformation, and analysis. Miller is open-source and actively \nmaintained by John Kerl. It offers a flexible and powerful way to work with structured data efficiently from the command line. "
|
||
_github: https://github.com/johnkerl/miller
|
||
_name: Miller
|
||
_short: "Miller is a command line tool for processing text files in Unix-like systems. "
|
||
apt: miller
|
||
brew: miller
|
||
choco: miller
|
||
dnf: miller
|
||
port: miller
|
||
minikube:
|
||
_bin: minikube
|
||
_deps:
|
||
- docker
|
||
_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
|
||
_name: minikube
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
if command -v hyperkit > /dev/null; then minikube config set driver hyperkit; elif command -v docker > /dev/null; then minikube config set driver docker; elif command -v VBoxManage > /dev/null; then minikube config set driver virtualbox; fi
|
||
_short: "Minikube is a tool that enables you to run Kubernetes clusters locally for development and testing purposes. "
|
||
_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
|
||
_desc: "Mise is a tool created by jdx available on GitHub at https://github.com/jdx/mise. It is a simple script that helps in managing macOS system preferences from the command line. With Mise, you can easily \nset and get various system preferences like dark mode, accent color, wallpaper, and more. It provides a convenient way to automate the customization of macOS settings, making it useful for system \nadministrators and power users who prefer working with the command line interface. "
|
||
_github: https://github.com/jdx/mise
|
||
_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
|
||
_short: "Mise is a tool for managing macOS dotfiles. "
|
||
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."
|
||
_docs: https://docs.mitmproxy.org/stable
|
||
_github: https://github.com/mitmproxy/mitmproxy
|
||
_home: https://mitmproxy.org/
|
||
_name: mitmproxy
|
||
_short: "mitmproxy is an open-source interactive HTTPS proxy. "
|
||
ansible: professormanhattan.mitmproxy
|
||
apt: mitmproxy
|
||
cask: mitmproxy
|
||
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
|
||
_short: "MJML App is a desktop application that allows users to create responsive email templates using the MJML framework. "
|
||
cask: mjml
|
||
github: github.com/mjmlio/mjml-app
|
||
npm: mjml
|
||
mkcert:
|
||
_bin: mkcert
|
||
_desc: A simple zero-config tool to make locally trusted development certificates with any names
|
||
_github: https://github.com/FiloSottile/mkcert
|
||
_name: mkcert
|
||
_short: "mkcert is a simple tool for making locally-trusted development certificates. "
|
||
brew: mkcert
|
||
choco: mkcert
|
||
github: github.com/FiloSottile/mkcert
|
||
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
|
||
_github: https://github.com/mockoon/mockoon
|
||
_name: Mockoon
|
||
_short: "Mockoon is an open-source API mocking tool that helps developers simulate backend services quickly and easily. "
|
||
cask: mockoon
|
||
choco: mockoon
|
||
github: github.com/mockoon/mockoon
|
||
npm: "@mockoon/cli"
|
||
snap: mockoon
|
||
winget: mockoon
|
||
yay: mockoon-bin
|
||
modern-flyouts:
|
||
_bin: modern-flyouts
|
||
_desc: "ModernFlyouts is an open-source project hosted on GitHub that provides a modern and customizable replacement for the default volume, brightness, and media controls in Windows 10. It offers a sleek and \ncustomizable user interface with various themes and settings to enhance the user experience. Users can contribute to the project, report issues, suggest improvements, and customize the tool to suit \ntheir preferences. It aims to provide a more visually appealing and functional alternative to the standard system controls in Windows 10. "
|
||
_github: https://github.com/ModernFlyouts-Community/ModernFlyouts
|
||
_name: Modern Flyouts
|
||
_short: "ModernFlyouts is a customizable and modern replacement for the default volume, brightness, and media controls on Windows 10. "
|
||
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
|
||
_short: "mods is a collection of terminal utilities for building modern CLI applications in Go. "
|
||
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
|
||
_docs: https://davrodpin.github.io/mole/
|
||
_github: https://github.com/davrodpin/mole
|
||
_home: https://davrodpin.github.io/mole/
|
||
_name: mole
|
||
_short: "Mole is a CLI application that helps you create SSH tunnels with ease. "
|
||
brew: davrodpin/homebrew-mole/mole
|
||
github: github.com/davrodpin/mole
|
||
yay: mole-bin
|
||
molecule:
|
||
_bin: molecule
|
||
_desc: Molecule aids in the development and testing of Ansible roles
|
||
_docs: https://molecule.readthedocs.io/en/latest/getting-started.html
|
||
_github: https://github.com/ansible-community/molecule
|
||
_home: https://molecule.readthedocs.io/en/latest/
|
||
_name: Ansible Molecule
|
||
_post:pipx: |
|
||
#!/usr/bin/env bash
|
||
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
|
||
_short: "Molecule is a tool for testing Ansible roles in multiple scenarios. "
|
||
pipx: molecule
|
||
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."
|
||
_docs: https://www.getmonero.org/resources/user-guides/
|
||
_github: https://github.com/monero-project/monero
|
||
_home: https://www.getmonero.org/
|
||
_name: Monero
|
||
_restricted: true
|
||
_service: monero
|
||
_short: "Monero is an open-source cryptocurrency that focuses on privacy, security, and decentralization. "
|
||
ansible: professormanhattan.monero
|
||
cask: monero-wallet
|
||
choco: monero
|
||
flatpak: org.getmonero.Monero
|
||
monero-cli:
|
||
_bin: monerod
|
||
_desc: CLI for Monero, a leading cryptocurrency focused on private and censorship-resistant transactions.
|
||
_docs: https://www.getmonero.org/resources/user-guides/
|
||
_github: https://github.com/monero-project/monero
|
||
_home: https://www.getmonero.org/
|
||
_name: "monero "
|
||
_restricted: true
|
||
_short: "Monero is an open-source cryptocurrency that focuses on privacy, security, and decentralization. "
|
||
brew: monero
|
||
scoop: monero
|
||
mongodb:
|
||
_bin: mongod
|
||
_desc: "MongoDB is an open-source, document-oriented NoSQL database program. It uses a flexible, JSON-like document data model, making it easy to store and manage data. MongoDB is designed for scalability, high\navailability, and performance. The GitHub repository contains the source code, documentation, and resources related to MongoDB. It is actively maintained by the MongoDB community and developers \nworldwide. "
|
||
_github: https://github.com/mongodb/mongo
|
||
_name: MongoDB
|
||
_service: mongodb
|
||
_service:brew: mongodb-community
|
||
_short: "MongoDB is an open-source NoSQL database program that uses a document-oriented data model. "
|
||
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
|
||
_short: "mongodb-atlas-cli is a command-line interface tool for managing MongoDB Atlas resources. "
|
||
brew: mongodb-atlas
|
||
choco: mongodb-atlas
|
||
mongodb-compass:
|
||
_app: MongoDB Compass.app
|
||
_bin: mongodb-compass
|
||
_desc: "MongoDB Compass is a graphical user interface (GUI) for MongoDB, designed to make working with MongoDB databases more intuitive and efficient. It allows users to visually explore their data, run ad-hoc \nqueries, and perform CRUD operations without needing to write complex commands. Compass provides features like schema visualization, real-time server statistics, and an aggregation pipeline builder. It \nsupports both SQL and MongoDB query languages, making it a versatile tool for developers and database administrators. Overall, MongoDB Compass simplifies database management tasks and enhances the user \nexperience when working with MongoDB databases. "
|
||
_github: https://github.com/mongodb-js/compass
|
||
_name: MongoDB Compass
|
||
_short: "MongoDB Compass is a graphical user interface for MongoDB, allowing users to explore and manipulate their data visually. "
|
||
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: 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
|
||
_short: "MonitorControl is a macOS app that allows you to control external monitor brightness, contrast, and volume directly from your Mac. "
|
||
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
|
||
_short: "Mono is an open-source implementation of Microsoft's .NET Framework. "
|
||
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
|
||
_short: "Mosh is a remote terminal application that allows for robust and reliable connections, even on unstable networks, by using predictive algorithms to maintain smooth sessions. "
|
||
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."
|
||
_github: https://github.com/agalwood/Motrix
|
||
_home: https://motrix.app/
|
||
_name: Motrix
|
||
_short: "Motrix is a full-featured download manager that supports downloading HTTP, FTP, BitTorrent, Magnet, and more. "
|
||
ansible: professormanhattan.motrix
|
||
cask: motrix
|
||
choco: motrix
|
||
flatpak: net.agalwood.Motrix
|
||
github: github.com/agalwood/Motrix
|
||
scoop: motrix
|
||
yay: motrix-bin
|
||
mpg123:
|
||
_bin: mpg123
|
||
_desc: mpg123 is a free and open-source audio player. It supports MPEG audio formats, including MP3
|
||
_github: false
|
||
_home: https://mpg123.org/
|
||
_name: mpg123
|
||
apt: mpg123
|
||
brew: mpg123
|
||
choco: mpg123
|
||
dnf: mpg123
|
||
pacman: mpg123
|
||
port: mpg123
|
||
scoop: mpg123
|
||
mpv:
|
||
_app: mpv.app
|
||
_bin: mpv
|
||
_desc: "mpv is a free and open-source media player known for its high-quality video output and wide range of supported formats. It is highly customizable and can be controlled via keyboard shortcuts or command \nline. mpv is popular among users who seek a lightweight, efficient media player with advanced features like hardware acceleration and support for various codecs. It is actively maintained by a community\nof developers and is available for multiple platforms, including macOS. "
|
||
_github: https://github.com/mpv-player/mpv
|
||
_name: MPV
|
||
_short: "mpv is a free and open-source media player known for its high-quality video playback and customization options. "
|
||
_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
|
||
_github: https://github.com/emqx/MQTTX
|
||
_name: MQTT X
|
||
_short: "MQTTX is a cross-platform MQTT 5.0 client tool. "
|
||
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
|
||
_short: "Mudlet is an open-source platform for creating and playing text-based multiplayer games, known as MUDs (Multi-User Dungeons). "
|
||
cask: mudlet
|
||
choco: mudlet
|
||
snap: mudlet-linux
|
||
muffet:
|
||
_bin: muffet
|
||
_desc: Fast website link checker in Go
|
||
_github: https://github.com/raviqqe/muffet
|
||
_name: muffet
|
||
_short: "Muffet is a fast website link checker written in Go. "
|
||
brew: muffet
|
||
github: github.com/raviqqe/muffet
|
||
go: github.com/raviqqe/muffet/v2@latest
|
||
yay: muffet-bin
|
||
mullvad-vpn:
|
||
_app: Mullvad VPN.app
|
||
_bin: null
|
||
_desc: The Mullvad VPN client app for desktop and mobile
|
||
_github: https://github.com/mullvad/mullvadvpn-app
|
||
_name: Mullvad VPN
|
||
_short: "mullvadvpn-app is an open-source VPN application developed by Mullvad for secure and private internet connections. "
|
||
apt: https://github.com/mullvad/mullvadvpn-app/releases/download/2022.5/MullvadVPN-2022.5_amd64.deb
|
||
cask: mullvadvpn
|
||
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
|
||
_desc: "multi-gitter is a tool available on GitHub that allows you to manage multiple repositories across different organizations on GitHub. It provides a way to perform actions like cloning, pulling, pushing, \nand fetching on multiple repositories at once. This tool can be useful for users who work with several repositories and need to streamline their workflow by automating repetitive tasks. It simplifies \nmanaging multiple repositories by providing a single interface to interact with them efficiently. "
|
||
_github: https://github.com/lindell/multi-gitter
|
||
_name: Multi-Gitter
|
||
_short: "multi-gitter is a tool that allows you to run multiple GitHub actions workflows in parallel. "
|
||
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
|
||
_github: https://github.com/canonical/multipass
|
||
_home: https://multipass.run/
|
||
_name: Multipass
|
||
_post:cask: |
|
||
#!/usr/bin/env bash
|
||
multipass set local.driver=virtualbox
|
||
_post:choco: |
|
||
#!/usr/bin/env bash
|
||
multipass set local.driver=virtualbox
|
||
_short: "Multipass is a lightweight VM manager for Linux, Windows, and macOS. "
|
||
ansible: professormanhattan.multipass
|
||
cask: multipass
|
||
choco: multipass
|
||
snap: multipass
|
||
mutagen:
|
||
_bin: mutagen
|
||
_desc: "Mutagen is an open-source file synchronization and network forwarding tool that simplifies the process of keeping files in sync between multiple machines. It supports bi-directional synchronization, \nautomatic conflict resolution, and real-time updates. Mutagen can be used for development, deployment, and other scenarios where keeping files in sync is crucial. It works efficiently with large files \nand is designed to be fast and reliable. The tool is available for various operating systems, including macOS, and can be easily integrated into existing workflows. "
|
||
_github: https://github.com/mutagen-io/mutagen
|
||
_name: Mutagen
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
mutagen daemon register
|
||
_short: "Mutagen is a file synchronization and networking tool for developers, providing fast and efficient file synchronization for local development environments. "
|
||
brew: mutagen-io/mutagen/mutagen
|
||
mycli:
|
||
_bin: mycli
|
||
_desc: A terminal client for MySQL with auto-completion and syntax highlighting.
|
||
_docs: https://www.mycli.net/docs
|
||
_github: https://github.com/dbcli/mycli
|
||
_home: https://www.mycli.net/
|
||
_name: MyCLI
|
||
_short: "mycli is a command-line interface for MySQL with auto-completion and syntax highlighting. "
|
||
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/
|
||
_name: "mymonero-app-js "
|
||
_short: "mymonero-app-js is a JavaScript library for interacting with the MyMonero web wallet service. "
|
||
cask: mymonero
|
||
choco: mymonero
|
||
nativefier:
|
||
_bin: nativefier
|
||
_deps:
|
||
- imagemagick
|
||
_desc: Make any web page a desktop application
|
||
_github: https://github.com/nativefier/nativefier
|
||
_name: nativefier
|
||
_short: "Nativefier is a tool that allows you to create desktop applications from any website with minimal effort. "
|
||
npm: nativefier
|
||
nativescript:
|
||
_bin: ns
|
||
_desc: "NativeScript is an open-source framework for building truly native mobile applications using JavaScript, TypeScript, or Angular. It allows developers to create cross-platform apps for iOS and Android \nwhile maintaining a native look and feel. NativeScript provides access to native APIs, UI components, and performance, making it a powerful tool for mobile app development. The GitHub repository \ncontains the source code, documentation, and resources for the NativeScript framework, making it easy for developers to contribute, report issues, and stay updated on the latest developments. "
|
||
_github: https://github.com/NativeScript/NativeScript
|
||
_name: NativeScript
|
||
_short: "NativeScript is an open-source framework for building truly native mobile applications using JavaScript. "
|
||
npm: nativescript
|
||
nautilus-brasero:
|
||
_github: false
|
||
apt: nautilus-extension-brasero
|
||
dnf: brasero-nautilus
|
||
pacman: brasero-nautilus
|
||
nautilus-gsconnect:
|
||
_github: false
|
||
apt: nautilus-gsconnect
|
||
dnf: nautilus-gsconnect
|
||
pacman: nautilus-gsconnect
|
||
nautilus-gtkhash:
|
||
_github: false
|
||
apt: nautilus-gtkhash
|
||
dnf: gtkhash-nautilus
|
||
pacman: nautilus-gtkhash
|
||
nautilus-image-converter:
|
||
_github: false
|
||
apt: nautilus-image-converter
|
||
dnf:fedora: nautilus-image-converter
|
||
pacman: nautilus-image-converter
|
||
nautilus-python:
|
||
_github: false
|
||
apt: nautilus-python
|
||
dnf:fedora: nautilus-python
|
||
pacman: nautilus-python
|
||
nautilus-seahorse:
|
||
_github: false
|
||
apt: nautilus-seahorse
|
||
dnf: seahorse-nautilus
|
||
pacman: nautilus-seahorse
|
||
nautilus-search-tool:
|
||
_github: false
|
||
apt: nautilus-search-tool
|
||
dnf:fedora: nautilus-search-tool
|
||
pacman: nautilus-search-tool
|
||
nautilus-share:
|
||
_github: false
|
||
apt: nautilus-share
|
||
pacman: nautilus-share
|
||
nautilus-wipe:
|
||
_github: false
|
||
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
|
||
_short: "navi is a command-line cheat sheet tool that helps users navigate commands more efficiently. "
|
||
brew: navi
|
||
cargo: navi --locked
|
||
emerge: app-misc/navi
|
||
nix-env: nixpkgs.navi
|
||
pacman: navi
|
||
nb:
|
||
_bin: nb
|
||
_deps:
|
||
- bat
|
||
- netcat
|
||
- pandoc
|
||
- ripgrep
|
||
- tig
|
||
- w3m
|
||
_desc: "[nb](https://xwmx.github.io/nb) is a command line and local web note‑taking, bookmarking, archiving, and knowledge base application with plain text data storage, encryption, filtering, pinning, #tagging, search, Git-backed versioning and syncing, Pandoc-backed conversion and many more features."
|
||
_github: https://github.com/xwmx/nb
|
||
_home: https://xwmx.github.io/nb
|
||
_name: nb
|
||
_short: "nb is a command-line note-taking, bookmarking, and knowledge base application for developers. "
|
||
ansible: professormanhattan.nb
|
||
basher: xwmx/nb
|
||
bpkg: xwmx/nb
|
||
brew: nb
|
||
npm: nb.sh
|
||
ncc:
|
||
_bin: ncc
|
||
_desc: Compile a Node.js project into a single file. Supports TypeScript, binary addons, dynamic requires.
|
||
_github: https://github.com/vercel/ncc
|
||
_name: "ncc "
|
||
_short: "ncc is a tool by Vercel for compiling Node.js projects into a single file. "
|
||
brew: ncc
|
||
npm: "@vercel/ncc"
|
||
ndb:
|
||
_bin: ndb
|
||
_desc: "ndb is a tool developed by Google Chrome Labs for debugging Node.js applications. It provides an improved debugging experience by offering features like advanced code navigation, real-time code \nexecution, and integrated debugging tools. With ndb, developers can easily inspect and debug their Node.js applications in a more efficient and user-friendly manner. It is particularly useful for \ntroubleshooting complex Node.js projects and identifying issues quickly. The tool is open-source and available on GitHub for developers to use and contribute to. "
|
||
_github: https://github.com/GoogleChromeLabs/ndb
|
||
_name: ndb
|
||
_short: "ndb is a tool for debugging Node.js applications, developed by Google Chrome Labs. "
|
||
npm: ndb
|
||
nebula:
|
||
_bin: nebula
|
||
_desc: A scalable overlay networking tool with a focus on performance, simplicity and security
|
||
_docs: https://nebula.defined.net/docs/
|
||
_github: https://github.com/slackhq/nebula
|
||
_home: https://github.com/slackhq/nebula
|
||
_name: nebula
|
||
_service: nebula
|
||
_service:brew:
|
||
- name: nebula
|
||
sudo: true
|
||
_serviceEnabled: true
|
||
_short: "Nebula is an open-source, scalable overlay networking tool for connecting and securing services across different infrastructures. "
|
||
brew: nebula
|
||
dnf: nebula
|
||
pacman: nebula
|
||
nectar:
|
||
_bin: nectar
|
||
_desc: JavaScript native compiler. No bytecode no VM, just pure native binaries.
|
||
_docs: https://nectar.js.org/docs/
|
||
_github: https://github.com/NerdLang/nerd
|
||
_home: https://nectar.js.org/
|
||
_name: nerctarjs
|
||
_short: "Nerd is a programming language that aims to be simple and powerful, designed for beginners and experts alike. "
|
||
npm: nectarjs
|
||
neofetch:
|
||
_bin: neofetch
|
||
_desc: "Neofetch is a command-line tool that displays system information in a visually appealing way. It gathers details about your system, including the operating system, kernel version, CPU, GPU, memory, and \nmore, and presents it in a customizable ASCII art or image. Neofetch supports various Linux distributions, macOS, and other Unix-like systems. It is highly customizable through configuration files and \ncommand-line options, allowing users to personalize the output to suit their preferences. Neofetch is popular among users who like to display system information in a stylish and informative manner. "
|
||
_github: https://github.com/dylanaraps/neofetch
|
||
_name: NeoFetch
|
||
_short: "Neofetch is a command-line system information tool that displays information about your system in a visually appealing way. "
|
||
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
|
||
_short: "Neovide is a Neovim GUI written in Rust for better performance and modern look. "
|
||
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
|
||
_short: "Neovim is a highly extensible text editor based on Vim, with improved performance and features for modern development workflows. "
|
||
apk: neovim
|
||
apt:
|
||
- neovim
|
||
- python3-neovim
|
||
brew: neovim
|
||
choco: neovim
|
||
dnf:
|
||
- neovim
|
||
- python3-neovim
|
||
nix: neovim
|
||
pacman:
|
||
- neovim
|
||
- python-pynvim
|
||
pkg:
|
||
- neovim
|
||
- py27-pynvim
|
||
- py36-pynvim
|
||
port: neovim
|
||
winget: Neovim.Neovim
|
||
zypper:
|
||
- neovim
|
||
- python-neovim
|
||
- python3-neovim
|
||
neovim-node-host:
|
||
_bin: neovim-node-host
|
||
_desc: "The neovim/node-client repository on GitHub is a Node.js client for Neovim, a highly extensible text editor. This client allows developers to interact with Neovim programmatically using JavaScript. It \nprovides a way to communicate with Neovim's API, enabling users to create plugins, extensions, and automation scripts for Neovim using Node.js. The repository contains code, documentation, and examples \nto help developers integrate Neovim functionality into their Node.js applications. "
|
||
_github: https://github.com/neovim/node-client
|
||
_name: Neovim Node Host
|
||
_short: "neovim/node-client is a Node.js client for Neovim, allowing communication with Neovim instances using JavaScript. "
|
||
npm: neovim
|
||
nest:
|
||
_bin: nest
|
||
_desc: CLI tool for Nest applications
|
||
_docs: https://docs.nestjs.com/cli/overview
|
||
_github: https://github.com/nestjs/nest-cli
|
||
_name: nest
|
||
_short: "nestjs/nest-cli is a command-line interface tool for NestJS applications, providing features for generating components, modules, and more to streamline development. "
|
||
npm: "@nestjs/cli"
|
||
netcat:
|
||
_bin: netcat
|
||
_desc: netcat (often abbreviated to nc) is a computer networking utility for reading from and writing to network connections using TCP or UDP.
|
||
_github: false
|
||
_home: https://nc110.sourceforge.io/
|
||
_name: netcat
|
||
apt: netcat
|
||
brew: netcat
|
||
choco: netcat
|
||
dnf: netcat
|
||
pacman: netcat
|
||
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
|
||
_groups:
|
||
- netdata
|
||
_home: https://www.netdata.cloud/
|
||
_name: Netdata
|
||
_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
|
||
_service: netdata
|
||
_service:brew:
|
||
- name: netdata
|
||
sudo: true
|
||
_serviceEnabled: true
|
||
_short: "Netdata is an open-source real-time performance monitoring tool for system administrators and developers. "
|
||
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
|
||
networkmanager:
|
||
_bin: networkmanager
|
||
_desc: "NETworkManager is an open-source network manager tool for Linux systems. It provides a user-friendly interface to manage network connections, including wired, wireless, and VPN connections. Users can \neasily configure network settings, monitor network traffic, and troubleshoot network issues through a graphical interface. It supports various network protocols and offers features like network profile \nmanagement, connection sharing, and network device information. The tool is designed to simplify network management tasks for both novice and experienced users. "
|
||
_github: https://github.com/BornToBeRoot/NETworkManager
|
||
_name: NETworkManager
|
||
_short: "NETworkManager is a powerful tool for managing network interfaces and connections on Linux systems. "
|
||
scoop: networkmanager
|
||
winget: BornToBeRoot.NETworkManager
|
||
newman:
|
||
_bin: newman
|
||
_desc: Command-line collection runner for Postman
|
||
_github: https://github.com/postmanlabs/newman
|
||
_home: https://www.getpostman.com
|
||
_name: newman
|
||
_short: "Newman is a command-line collection runner for Postman. "
|
||
brew: newman
|
||
npm: newman
|
||
newsflash:
|
||
_bin: newsflash
|
||
_github: false
|
||
_gitlab: https://gitlab.com/news-flash/news_flash_gtk
|
||
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
|
||
_short: "Nextcloud Desktop is a client application for the Nextcloud file sharing and collaboration platform, allowing users to sync files, access, and share them across devices. "
|
||
cask: nextcloud
|
||
choco: nextcloud-client
|
||
flatpak: com.nextcloud.desktopclient.nextcloud
|
||
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.
|
||
_docs: https://nginx.org/en/docs/
|
||
_github: https://github.com/nginx/nginx
|
||
_home: https://nginx.org/
|
||
_name: NGINX
|
||
_ports:
|
||
- port: 80
|
||
proto: tcp
|
||
- port: 443
|
||
proto: tcp
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file NGINX Amplify Join
|
||
# @brief Set up NGINX Amplify and joins the cloud monitoring service dashboard
|
||
# @description
|
||
# This script installs NGINX Amplify and connects with the user's NGINX Amplify instance, assuming the `NGINX_AMPLIFY_API_KEY`
|
||
# is defined. NGINX Amplify is a free web application that serves as a way of browsing through metrics of all your connected
|
||
# NGINX instances.
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [NGINX Amplify login](https://amplify.nginx.com/login)
|
||
# * [NGINX Amplify documentation](https://docs.nginx.com/nginx-amplify/#)
|
||
if command -v nginx > /dev/null; then
|
||
logg info 'Downloading the NGINX Amplify installer script'
|
||
TMP="$(mktemp)"
|
||
curl -sSL https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh > "$TMP"
|
||
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
|
||
_short: "nginx is a popular open-source web server known for its high performance, stability, and scalability. "
|
||
_todo: Check out /opt/homebrew/etc/nginx/nginx.conf / nginx/servers
|
||
ansible: professormanhattan.nginx
|
||
apt: nginx
|
||
brew: nginx
|
||
choco: nginx
|
||
dnf: nginx
|
||
pacman: nginx
|
||
port: nginx
|
||
scoop: nginx
|
||
nginx-unit:
|
||
_bin: unitd
|
||
_desc: "NGINX Unit is an open-source application server that supports multiple languages and frameworks, allowing you to run web applications written in Python, PHP, Go, Perl, and more. It provides a flexible \nand scalable solution for hosting web applications with its modular architecture. NGINX Unit can be configured dynamically without needing to restart the server, making it ideal for microservices and \ncontainerized environments. It offers features like process isolation, automatic application updates, and detailed logging. NGINX Unit is actively maintained by NGINX, Inc. and is available for various \nUnix-like operating systems. "
|
||
_github: https://github.com/nginx/unit
|
||
_name: NGINX Unit
|
||
_service: unit
|
||
_short: "nginx/unit is an open-source web application server that supports multiple languages and frameworks, providing a flexible and scalable solution for hosting web applications. "
|
||
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."
|
||
_github: false
|
||
_home: https://ngrok.com/)
|
||
_name: Ngrok
|
||
ansible: professormanhattan.ngrok
|
||
cask: ngrok
|
||
choco: ngrok
|
||
snap: ngrok
|
||
ngxtop:
|
||
_bin: ngxtop
|
||
_desc: Real-time metrics for nginx server
|
||
_github: https://github.com/lebinh/ngxtop
|
||
_name: ngxtop
|
||
_short: "ngxtop is a command-line tool for real-time monitoring of nginx log files. "
|
||
pipx: ngxtop
|
||
ninja:
|
||
_bin: ninja
|
||
_desc: "Ninja is a small build system with a focus on speed. It is designed to be fast and efficient, particularly for large projects with many dependencies. Ninja uses a simple syntax for build files and aims \nto be easy to use and understand. It is commonly used in conjunction with other build systems like CMake to accelerate the build process. Ninja is open-source and available on GitHub for users to \ncontribute to and customize according to their needs. "
|
||
_github: https://github.com/ninja-build/ninja
|
||
_name: Ninja
|
||
_short: "Ninja is a fast build system that aims to be simpler than Make. "
|
||
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
|
||
_short: "NitroShare Desktop is a cross-platform network file transfer application. "
|
||
apt: nitroshare
|
||
cask: nitroshare
|
||
choco: nitroshare
|
||
dnf: nitroshare
|
||
pacman: nitroshare
|
||
nmap:
|
||
_bin: nmap
|
||
_desc: "[Nmap](https://github.com/nmap/nmap) (short for Network Mapper) is a free and open source utility for network discovery and security auditing. Many systems and network administrators also find it useful for tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime. Nmap uses raw IP packets in novel ways to determine what hosts are available on the network, what services those hosts are offering, what operating systems they are running, what type of packet filters/firewalls are in use, and dozens of other characteristics. It was designed to rapidly scan large networks, but works fine against single hosts. Nmap runs on all major operating systems."
|
||
_docs: https://nmap.org/docs.html
|
||
_github: https://github.com/nmap/nmap
|
||
_home: https://nmap.org/
|
||
_name: Nmap
|
||
_post:snap: |
|
||
#!/usr/bin/env bash
|
||
sudo snap connect nmap:network-control
|
||
_short: "Nmap is a popular open-source network scanning tool used for network discovery and security auditing. "
|
||
ansible: professormanhattan.nmap
|
||
apt: nmap
|
||
brew: nmap
|
||
choco: nmap
|
||
dnf: nmap
|
||
pacman: nmap
|
||
port: nmap
|
||
scoop: nmap
|
||
snap: nmap
|
||
nnn:
|
||
_bin: nnn
|
||
_desc: A full-featured terminal file manager
|
||
_github: https://github.com/jarun/nnn
|
||
_name: nnn
|
||
_short: "nnn is a fast and resource-friendly file manager for the terminal. "
|
||
apk: nnn
|
||
apt: nnn
|
||
brew: nnn
|
||
github: github.com/jarun/nnn
|
||
pacman: nnn
|
||
pkg: nnn
|
||
node:
|
||
_bin: node
|
||
_desc: "[Node.js](https://nodejs.org/en/) is an open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine and executes JavaScript code outside a web browser."
|
||
_docs: https://nodejs.org/en/docs/
|
||
_github: https://github.com/nodejs/node
|
||
_home: https://nodejs.org/en/
|
||
_name: Node.js
|
||
_short: "Node.js is an open-source JavaScript runtime built on Chrome's V8 JavaScript engine. "
|
||
ansible: professormanhattan.nodejs
|
||
brew: node
|
||
scoop: nodejs
|
||
node-prune:
|
||
_bin: node-prune
|
||
_desc: Extension to remove unnecessary files from node_modules
|
||
_github: https://github.com/tj/node-prune
|
||
_name: node-prune
|
||
_short: "node-prune is a tool that removes unnecessary files from Node.js projects, helping to reduce the size of the project directory. "
|
||
github: github.com/tj/node-prune
|
||
go: github.com/tj/node-prune@latest
|
||
nodemon:
|
||
_bin: nodemon
|
||
_desc: "nodemon is a utility for Node.js that helps in automatically restarting the application when file changes in the directory are detected. It is commonly used during development to speed up the \ndevelopment process by eliminating the need to manually restart the server after every code change. nodemon monitors the files in the directory and restarts the server whenever a change is detected, \nmaking the development workflow more efficient. It can be easily installed via npm and configured to suit specific project requirements. "
|
||
_github: https://github.com/remy/nodemon
|
||
_name: Nodemon
|
||
_short: "nodemon is a tool that helps develop Node.js applications by automatically restarting the server when file changes are detected. "
|
||
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."
|
||
_docs: https://developer.hashicorp.com/nomad/docs
|
||
_github: https://github.com/hashicorp/nomad
|
||
_home: https://www.nomadproject.io/
|
||
_name: HashiCorp Nomad
|
||
_service: nomad
|
||
_short: "Nomad is a cluster manager and scheduler designed by HashiCorp for deploying and managing containerized and non-containerized applications at scale. "
|
||
ansible: professormanhattan.nomad
|
||
brew: nomad
|
||
choco: nomad
|
||
yay: nomad-git
|
||
nomino:
|
||
_bin: nomino
|
||
_desc: Batch rename utility for developers
|
||
_github: https://github.com/yaa110/nomino
|
||
_name: nomino
|
||
_short: "Nomino is a tool for generating random names. "
|
||
cargo: nomino
|
||
github: github.com/yaa110/nomino
|
||
yay: nomino
|
||
nordvpn:
|
||
_bin: null
|
||
_desc: "[NordVPN](https://nordvpn.com/) is a virtual private network service provider. It has desktop applications for Windows, macOS, and Linux, mobile apps for Android and iOS, as well as an application for Android TV. Manual setup is available for wireless routers, NAS devices and other platforms."
|
||
_docs: https://support.nordvpn.com/
|
||
_github: https://github.com/jotyGill/openpyn-nordvpn
|
||
_home: https://nordvpn.com/
|
||
_name: NordVPN
|
||
_short: "openpyn-nordvpn is a script that simplifies connecting to NordVPN servers using the OpenVPN protocol on Linux systems. "
|
||
ansible: professormanhattan.nordvpn
|
||
normit:
|
||
_bin: normit
|
||
_deps:
|
||
- mpg123
|
||
_desc: "[Normit](https://github.com/pawurb/normit) allows you to easily translate any text from one language to another. It also includes the ability to generate audio through speech synthesis as well."
|
||
_github: https://github.com/pawurb/normit
|
||
_name: Normit
|
||
_short: "normit is a command-line tool for translating text using multiple translation engines. "
|
||
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.
|
||
_short: "The Notion SDK for JavaScript is a library that allows developers to interact with the Notion API in their JavaScript applications. "
|
||
cask: notion
|
||
choco: notion
|
||
mas: 1559269364
|
||
np:
|
||
_bin: np
|
||
_desc: A better `npm publish`
|
||
_github: https://github.com/sindresorhus/np
|
||
_name: np
|
||
_short: "np is a tool for publishing npm packages. "
|
||
npm: np
|
||
npkill:
|
||
_bin: npkill
|
||
_desc: "npkill is a tool available on GitHub that helps users easily find and remove old or large node_modules directories in their projects. It provides a visual interface to select which directories to \ndelete, helping to free up disk space by removing unnecessary dependencies. This tool can be especially useful for Node.js developers who want to clean up their projects and reclaim storage space on \ntheir machines. "
|
||
_github: https://github.com/voidcosmos/npkill
|
||
_name: npkill
|
||
_short: "npkill is a tool for finding and removing old or large node_modules directories in your projects to free up disk space. "
|
||
npm: npkill
|
||
npm-check:
|
||
_bin: npm-check
|
||
_desc: Check for outdated, incorrect, and unused dependencies.
|
||
_github: https://github.com/dylang/npm-check
|
||
_name: npm-check
|
||
_short: "npm-check is a tool for checking outdated, incorrect, and unused dependencies in a Node.js project. "
|
||
npm: npm-check
|
||
npm-check-updates:
|
||
_bin: ncu
|
||
_desc: "npm-check-updates is a tool used to check for updates of npm packages in a Node.js project. It allows you to see which packages have new versions available and helps you update your package.json file \naccordingly. This tool simplifies the process of keeping your project's dependencies up to date by providing a clear overview of available updates. It can be especially useful for projects with many \ndependencies or for ensuring compatibility with the latest versions of packages. "
|
||
_github: https://github.com/raineorshine/npm-check-updates
|
||
_name: NPM Check Updates
|
||
_short: "npm-check-updates is a tool that checks for updates to npm packages in your project and helps you update them easily. "
|
||
npm: npm-check-updates
|
||
ntfy:
|
||
_bin: nfty
|
||
_desc: "ntfy is a command-line utility that sends desktop notifications when a command finishes. It supports various notification backends like Pushbullet, Pushover, Slack, Telegram, and more. It can be used to\nkeep track of long-running commands or scripts without having to constantly check the terminal. It's easy to install and configure, making it a handy tool for system administrators and developers who \nwant to stay updated on their command executions. "
|
||
_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
|
||
_short: "ntfy is a command-line utility that sends notifications when a command finishes. "
|
||
pip3: ntfy[emoji,matrix,pid,slack]
|
||
ntl:
|
||
_bin: ntl
|
||
_desc: "ntl is a Node.js module that provides a simple way to work with numbers in various formats like integers, floats, and big numbers. It offers functions for arithmetic operations, comparisons, and \nconversions between different number types. The module is designed to handle large numbers accurately, making it useful for applications requiring precise numerical calculations. It can be installed via\nnpm and used in Node.js projects to simplify number manipulation tasks. "
|
||
_github: https://github.com/ruyadorno/ntl
|
||
_name: NTL
|
||
_short: "ntl is a Node.js module for working with large integers. "
|
||
npm: ntl
|
||
nuclear:
|
||
_app: nuclear.app
|
||
_bin: nuclear
|
||
_desc: Streaming music player that finds free music
|
||
_github: https://github.com/nukeop/nuclear
|
||
_home: https://nuclear.js.org/
|
||
_name: Nuclear
|
||
_short: "Nuclear is a free music streaming program that pulls content from free sources all over the internet. "
|
||
cask: nuclear
|
||
choco: nuclear
|
||
flatpak: org.js.nuclear.Nuclear
|
||
github: github.com/nukeop/nuclear
|
||
snap: nuclear
|
||
yay: nuclear-player-bin
|
||
nugetpackageexplorer:
|
||
_bin: nugetpackageexplorer
|
||
_desc: "NuGet Package Explorer is a user-friendly application for creating, exploring, and editing NuGet packages. It provides a graphical interface to easily work with NuGet packages, allowing users to view \npackage contents, metadata, and dependencies. The tool simplifies the process of creating and managing NuGet packages, making it a valuable resource for developers working with .NET projects. It is an \nopen-source project hosted on GitHub, allowing for community contributions and enhancements to the tool. "
|
||
_github: https://github.com/NuGetPackageExplorer/NuGetPackageExplorer
|
||
_name: NuGet Package Explorer
|
||
_short: "NuGet Package Explorer is a user-friendly application for creating, exploring, and editing NuGet packages. "
|
||
choco: nugetpackageexplorer
|
||
winapp: nuget-package-explorer/9WZDNCRDMDM3
|
||
winget: NuGet Package Explorer
|
||
nushell:
|
||
_bin: nu
|
||
_desc: "NuShell is a modern shell for the GitHub community. It is a new type of shell that takes the best parts of traditional shells and combines them with the power of a programming language. NuShell allows \nusers to work with structured data effortlessly, making it easier to manipulate and transform data. It provides a rich set of commands and features for developers and system administrators, making it a \nversatile tool for various tasks. NuShell is open-source and actively developed by a community of contributors. "
|
||
_github: https://github.com/nushell/nushell
|
||
_name: Nu
|
||
_short: "NuShell is a modern shell for the GitHub community. "
|
||
apk: nushell
|
||
apt: nushell
|
||
brew: nushell
|
||
choco: nushell
|
||
dnf: nushell
|
||
pacman: nushell
|
||
port: nushell
|
||
scoop: nushell
|
||
winget: nushell
|
||
nve:
|
||
_bin: nve
|
||
_desc: "nve is a tool on GitHub created by ehmicky. It allows you to run any Node.js version with a single command, making it easier to switch between different Node.js versions for your projects. This tool \nsimplifies managing Node.js versions on your system, especially when working on multiple projects that require different versions. It's a convenient way to ensure compatibility and consistency across \nyour Node.js projects without the need for manual version switching. "
|
||
_github: https://github.com/ehmicky/nve
|
||
_name: nve
|
||
_short: "nve is a tool that allows you to run Node.js scripts with specific Node versions. "
|
||
npm: nve
|
||
nx:
|
||
_bin: nx
|
||
_desc: "Nx is a set of extensible dev tools for monorepos, which helps in managing multiple projects within a single repository. It provides tools for building, testing, and sharing code between projects \nefficiently. Nx supports various frontend frameworks like Angular, React, and Vue, along with backend technologies like Node.js. It promotes best practices like code sharing, consistent project \nstructure, and efficient dependency management. Nx also offers features like code generation, dependency graph visualization, and CI/CD integration, making it a powerful tool for large-scale development\nprojects. "
|
||
_github: https://github.com/nrwl/nx
|
||
_name: NX
|
||
_short: "nx is a set of extensible dev tools for monorepos in Angular, React, and Node.js. "
|
||
npm: nx
|
||
obs-studio:
|
||
_app: OBS.app
|
||
_bin: obs-studio
|
||
_desc: "obs-studio is an open-source software for video recording and live streaming. It is widely used by content creators, gamers, and professionals for capturing and broadcasting content. With features like \ncustomizable transitions, filters, and audio mixer, it offers a versatile platform for creating high-quality streams and recordings. The software supports various platforms including Windows, macOS, and\nLinux, making it accessible to a wide range of users. Additionally, its plugin system allows for further customization and integration with other tools, enhancing its functionality for different use \ncases. "
|
||
_github: https://github.com/obsproject/obs-studio
|
||
_name: OBS Studio
|
||
_short: "obs-studio is an open-source software for video recording and live streaming. "
|
||
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
|
||
_desc: "obsidian-cli is a command-line interface tool for managing Obsidian notes. It allows users to create, edit, and search notes directly from the terminal. With obsidian-cli, you can quickly access and \nmanipulate your Obsidian vault without needing to open the Obsidian app. This tool provides a convenient way to interact with your notes using commands, making it easier to perform various tasks \nefficiently. It is a useful utility for Obsidian users who prefer working in a terminal environment or need to automate note-related tasks. "
|
||
_github: https://github.com/Yakitrak/obsidian-cli
|
||
_name: Obsidian CLI
|
||
_pre:scoop: scoop bucket add scoop-yakitrak https://github.com/yakitrak/scoop-yakitrak.git
|
||
_short: "obsidian-cli is a command-line interface for managing Obsidian notes. "
|
||
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)"
|
||
_docs: https://oclif.io/docs/
|
||
_github: https://github.com/oclif/oclif
|
||
_home: https://oclif.io/
|
||
_name: oclif
|
||
_short: "oclif is a Command Line Interface framework for building CLIs in Node.js. "
|
||
npm: oclif
|
||
octosql:
|
||
_bin: octosql
|
||
_desc: "OctoSQL is an open-source query tool that allows you to query multiple databases and file formats using SQL. It supports various data sources like MySQL, PostgreSQL, CSV files, and more, enabling you to\njoin and aggregate data from different sources in a single query. OctoSQL provides a unified interface for querying disparate data stores, making it easier to work with data spread across different \nsystems. It's a powerful tool for data engineers and analysts who need to access and analyze data from multiple sources using familiar SQL syntax. "
|
||
_github: https://github.com/cube2222/octosql
|
||
_name: OctoSQL
|
||
_short: "OctoSQL is a tool for querying multiple databases in a single query. "
|
||
brew: cube2222/octosql/octosql
|
||
scoop: octosql
|
||
oh-my-posh:
|
||
_bin: oh-my-posh
|
||
_desc: A blazing fast cross platform/shell prompt renderer
|
||
_docs: https://ohmyposh.dev/docs
|
||
_github: https://github.com/jandedobbeleer/oh-my-posh
|
||
_home: https://ohmyposh.dev/
|
||
_name: oh-my-posh
|
||
_post:scoop: |
|
||
#!/usr/bin/env bash
|
||
clink autorun install
|
||
_short: "oh-my-posh is a prompt theme engine for PowerShell, providing a customizable and visually appealing prompt for the shell. "
|
||
brew: jandedobbeleer/oh-my-posh/oh-my-posh
|
||
scoop:
|
||
- clink
|
||
- https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
|
||
onionshare:
|
||
_bin: onionshare
|
||
_desc: "[OnionShare](https://.onionshare.org/) is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network."
|
||
_docs: https://docs.onionshare.org/2.5/en/
|
||
_github: https://github.com/onionshare/onionshare
|
||
_home: https://onionshare.org/
|
||
_name: OnionShare
|
||
_short: "OnionShare is a tool that allows you to securely and anonymously share files over the Tor network. "
|
||
ansible: professormanhattan.onionshare
|
||
apt: onionshare
|
||
cask: onionshare
|
||
choco: onionshare
|
||
dnf: onionshare
|
||
flatpak: org.onionshare.OnionShare
|
||
snap: onionshare
|
||
onlykey:
|
||
_app: OnlyKey App.app
|
||
_bin: onlykey
|
||
_bin:snap: onlykey-app
|
||
_desc: "OnlyKey-App is a GitHub repository that contains the source code for the OnlyKey desktop application. This application is designed to work with the OnlyKey hardware device, which is a secure USB \npassword manager and two-factor authentication device. The OnlyKey-App repository likely includes code for managing passwords, generating two-factor authentication codes, and configuring the OnlyKey \ndevice. It's a tool that enhances security by providing a convenient and secure way to manage passwords and authentication. "
|
||
_github: https://github.com/trustcrypto/OnlyKey-App
|
||
_name: onlykey
|
||
_post:snap: |
|
||
#!/usr/bin/env bash
|
||
sudo curl -sSL https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/pages/49-onlykey.rules -o /etc/udev/rules.d/49-onlykey.rules
|
||
sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules
|
||
sudo udevadm control --reload-rules
|
||
sudo udevadm trigger
|
||
_short: "OnlyKey-App is a secure password manager and two-factor authentication tool developed by TrustCrypto. "
|
||
ansible:darwin: professormanhattan.onlykey
|
||
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
|
||
_desc: "onlykey-agent is a software tool available on GitHub developed by TrustCrypto. It is designed to work with OnlyKey, a hardware security key that provides two-factor authentication, password management, \nand encryption. The agent facilitates communication between the OnlyKey device and the computer, allowing users to securely manage their passwords and cryptographic keys. It supports various platforms \nand provides a command-line interface for interacting with the OnlyKey device. The agent enhances security by keeping sensitive information on the hardware device rather than on the computer. "
|
||
_github: https://github.com/trustcrypto/onlykey-agent
|
||
_name: OnlyKey Agent
|
||
_short: "onlykey-agent is a GitHub repository that contains code for the OnlyKey agent, a program used for managing OnlyKey devices, which are hardware security keys for encryption and authentication purposes. "
|
||
brew: onlykey-agent
|
||
pipx: onlykey-agent
|
||
onlykey-cli:
|
||
_bin: onlykey-cli
|
||
_deps:
|
||
- onlykey-cli-deps
|
||
_desc: "The repository https://github.com/trustcrypto/python-onlykey is a Python library for interacting with the OnlyKey, a hardware security key developed by Trust Digital. This library provides functions to \ncommunicate with the OnlyKey device, enabling users to manage encryption keys, generate OTPs (One-Time Passwords), and perform other security-related tasks. It allows developers to integrate OnlyKey \nfunctionality into their Python applications, enhancing security measures by leveraging the features of the OnlyKey device. "
|
||
_github: https://github.com/trustcrypto/python-onlykey
|
||
_name: OnlyKey CLI
|
||
_short: "python-onlykey is a Python library for interacting with the OnlyKey hardware device, providing secure key storage and cryptographic operations. "
|
||
pipx: onlykey
|
||
onlykey-cli-deps:
|
||
_github: false
|
||
_post:linux: |
|
||
#!/usr/bin/env bash
|
||
sudo curl -sSL https://raw.githubusercontent.com/trustcrypto/trustcrypto.github.io/pages/49-onlykey.rules -o /etc/udev/rules.d/49-onlykey.rules
|
||
sudo chmod 644 /etc/udev/rules.d/49-onlykey.rules
|
||
sudo udevadm control --reload-rules
|
||
sudo udevadm trigger
|
||
apt:
|
||
- python3-pip
|
||
- python3-tk
|
||
- libusb-1.0-0-dev
|
||
- libudev-dev
|
||
brew:darwin:
|
||
- libusb
|
||
dnf:
|
||
- python3-pip
|
||
- python3-devel
|
||
- python3-tkinter
|
||
- libusb-devel
|
||
- libudev-devel
|
||
- gcc
|
||
- redhat-rpm-config
|
||
pacman:
|
||
- git
|
||
- python3-setuptools
|
||
- python3
|
||
- libusb
|
||
- python3-pip
|
||
zypper:
|
||
- python3-pip
|
||
- python3-devel
|
||
- 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
|
||
_short: "opencommit is a tool that helps automate the process of opening GitHub issues based on commit messages. "
|
||
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
|
||
_short: "OpenInTerminal: A macOS Finder toolbar app to open the current directory in Terminal or iTerm. "
|
||
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
|
||
_short: "The https://github.com/openjdk/jdk repository contains the source code for the OpenJDK project, which is an open-source implementation of the Java Platform, Standard Edition. "
|
||
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
|
||
_short: "oc is a command-line interface tool for interacting with OpenShift clusters. "
|
||
brew: openshift-cli
|
||
choco: openshift-cli
|
||
openssh-server:
|
||
_github: false
|
||
_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
|
||
_github: false
|
||
_name: OpenSSL
|
||
apt: openssl
|
||
brew: openssl
|
||
choco: openssl
|
||
dnf: openssl
|
||
pacman: openssl
|
||
port: openssl
|
||
scoop: openssl
|
||
openssl-osx-ca:
|
||
_bin: openssl-osx-ca
|
||
_desc: "openssl-osx-ca is a script that simplifies managing a local certificate authority on macOS using OpenSSL. It helps in creating and managing SSL certificates for local development environments. This \nscript automates the process of generating a CA certificate and key, and then using them to sign server certificates. It also provides commands to install the CA certificate in the macOS system keychain\nfor trusted SSL connections. This tool is useful for developers working on projects that require SSL certificates for local testing and development purposes. "
|
||
_github: https://github.com/raggi/openssl-osx-ca
|
||
_name: OpenSSL macOS CA
|
||
_service:brew:darwin:
|
||
- name: openssl-osx-ca
|
||
sudo: true
|
||
_serviceEnabled: true
|
||
_short: "openssl-osx-ca is a script that simplifies managing SSL certificates on MacOS by using the system's keychain. "
|
||
brew:darwin: raggi/ale/openssl-osx-ca
|
||
openvpn:
|
||
_bin: openvpn
|
||
_desc: "OpenVPN is an open-source virtual private network (VPN) software that allows you to create secure point-to-point or site-to-site connections. It uses custom security protocols to ensure confidentiality,\nintegrity, and authenticity of data transmitted over the network. OpenVPN is widely used for remote access to private networks, bypassing censorship, and enhancing online security and privacy. The \nGitHub repository contains the source code, documentation, and community contributions for the OpenVPN project. "
|
||
_github: https://github.com/OpenVPN/openvpn
|
||
_name: OpenVPN
|
||
_service: openvpn
|
||
_service:brew:
|
||
- name: openvpn
|
||
sudo: true
|
||
_short: "OpenVPN is an open-source virtual private network (VPN) software that allows secure remote access to networks. "
|
||
apt: openvpn
|
||
brew: openvpn
|
||
choco: openvpn
|
||
dnf: openvpn
|
||
pacman: openvpn
|
||
opn-cli:
|
||
_bin: opn-cli
|
||
_desc: "opn-cli is a command-line tool available on GitHub at https://github.com/andeman/opn-cli. It allows you to open files, directories, and URLs using the default application on your system directly from \nthe terminal. This tool simplifies the process of opening files or websites without having to manually navigate to them. It is written in JavaScript and can be installed globally using npm. The README \non the GitHub page provides instructions on how to install and use the tool effectively. "
|
||
_github: https://github.com/andeman/opn-cli
|
||
_name: OPNSense CLI
|
||
_short: "opn-cli is a command-line tool that opens files, directories, and URLs using the default application on macOS. "
|
||
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
|
||
_github: https://github.com/Blacksmoke16/oq
|
||
_home: https://blacksmoke16.github.io/oq/
|
||
_name: oq
|
||
_short: "oq is a command-line JSON processor that allows you to extract and manipulate JSON data easily. "
|
||
brew: oq
|
||
github: github.com/Blacksmoke16/oq
|
||
snap: oq
|
||
yay: oq
|
||
orbstack:
|
||
_app: OrbStack.app
|
||
_bin: orb
|
||
_desc: "Orbstack is a GitHub repository that appears to be related to a software project named Orbstack. The repository likely contains source code, documentation, and possibly other resources related to the \nOrbstack project. To get a detailed understanding of what Orbstack is and what the repository contains, you would need to explore the repository further by checking the README file, codebase, and any \nother available documentation. "
|
||
_github: https://github.com/orbstack/orbstack
|
||
_name: OrbStack
|
||
_short: "Orbstack is a platform for building and deploying serverless applications. "
|
||
cask: orbstack
|
||
osquery:
|
||
_bin: osqueryctl
|
||
_desc: SQL powered operating system instrumentation, monitoring, and analytics
|
||
_docs: https://osquery.readthedocs.io/en/stable/
|
||
_github: https://github.com/osquery/osquery
|
||
_home: https://osquery.io/
|
||
_name: osquery
|
||
_short: "osquery is an open-source tool that allows you to query your operating system as if it were a database. "
|
||
cask: osquery
|
||
choco: osquery
|
||
github: github.com/osquery/osquery
|
||
yay: osquery-git
|
||
osx-sign:
|
||
_bin: electron-osx-sign
|
||
_desc: "osx-sign is a tool available on GitHub that allows developers to codesign and notarize macOS applications and disk images. It simplifies the process of signing and notarizing applications for \ndistribution on macOS. By using this tool, developers can ensure that their applications meet Apple's security requirements and can be distributed through the Mac App Store or other channels. The tool \nprovides a command-line interface for easy integration into build scripts or automation workflows. "
|
||
_github: https://github.com/electron/osx-sign
|
||
_name: macOS Code Sign
|
||
_short: "osx-sign is a tool for code-signing macOS applications using Electron. "
|
||
npm: "@electron/osx-sign"
|
||
ots:
|
||
_bin: ots
|
||
_desc: Share end-to-end encrypted secrets with others via a one-time URL
|
||
_github: https://github.com/sniptt-official/ots
|
||
_home: https://ots.sniptt.com/
|
||
_name: ots
|
||
_short: "ots is a command-line tool for securely sharing secrets using one-time URLs. "
|
||
brew: ots
|
||
github: github.com/sniptt-official/ots
|
||
go: github.com/sniptt-official/ots@latest
|
||
p7zip:
|
||
_bin: p7zip
|
||
_desc: "p7zip is a port of the command-line version of the 7-Zip file archiver to Unix-like operating systems. It supports a wide range of archive formats and provides high compression ratios. The project is \nhosted on GitHub at https://github.com/p7zip-project/p7zip. Users can download, compile, and use p7zip to create, extract, and manage compressed files efficiently from the terminal. It is a popular tool\nfor managing archives on Unix-based systems. "
|
||
_github: https://github.com/p7zip-project/p7zip
|
||
_name: p7zip
|
||
_short: "p7zip is a high compression ratio file archiver with support for various archive formats, including 7z, ZIP, and TAR. It is a command-line tool available on multiple platforms, including MacOS. "
|
||
apt: p7zip
|
||
brew: p7zip
|
||
dnf: p7zip
|
||
pacman: p7zip
|
||
package-size:
|
||
_bin: package-size
|
||
_desc: Get the bundle size of an npm package
|
||
_github: https://github.com/egoist/package-size
|
||
_name: package-size
|
||
_short: "package-size is a tool that calculates the size of npm packages. "
|
||
npm: package-size
|
||
packer:
|
||
_bin: packer
|
||
_desc: "[Packer](https://www.packer.io/) is a free and open source tool for creating golden images for multiple platforms from a single source configuration. Packer is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel. It is a [HashiCorp](https://www.hashicorp.com/) product."
|
||
_docs: https://developer.hashicorp.com/packer/docs
|
||
_github: https://github.com/hashicorp/packer
|
||
_home: https://www.packer.io/
|
||
_name: Packer
|
||
_short: "Packer is an open-source tool for creating identical machine images for multiple platforms from a single source configuration. "
|
||
ansible: professormanhattan.packer
|
||
apt: packer
|
||
brew: packer
|
||
choco: packer
|
||
pacman: packer
|
||
page-fetch:
|
||
_bin: page-fetch
|
||
_desc: Fetch web pages using headless Chrome, storing all fetched resources including JavaScript files
|
||
_github: https://github.com/detectify/page-fetch
|
||
_name: page-fetch
|
||
_short: "page-fetch is a tool by Detectify for fetching web pages and resources. "
|
||
go: github.com/detectify/page-fetch@latest
|
||
pageres:
|
||
_bin: pageres
|
||
_desc: Capture website screenshots
|
||
_github: https://github.com/sindresorhus/pageres-cli
|
||
_name: pageres
|
||
_short: "pageres-cli is a command-line interface for generating screenshots of websites in various resolutions using headless Chrome. "
|
||
npm: pageres-cli
|
||
pake:
|
||
_bin: pake
|
||
_desc: "Pake is a simple and lightweight task runner tool for Go projects, designed to simplify common tasks like building, testing, and releasing software. It allows developers to define tasks in a Pakefile.go\nusing Go code, making it easy to automate project workflows. Pake aims to be easy to use and understand, providing a flexible alternative to more complex build tools. It is particularly useful for \nprojects that require custom build processes or automation scripts. You can find more details and usage examples on its GitHub repository: tw93/Pake. "
|
||
_github: https://github.com/tw93/Pake
|
||
_name: "Pake "
|
||
_short: "Pake is a simple and lightweight task runner for Go projects, designed to simplify build and deployment processes. "
|
||
npm: pake-cli
|
||
pandoc:
|
||
_bin: pandoc
|
||
_deps:
|
||
- python
|
||
_deps:darwin:
|
||
- basictex
|
||
- python
|
||
_desc: "[Pandoc](https://pandoc.org/) is a Haskell library for converting from one documentation markup format to another. If you need to convert files from one markup format into another, then look no further. Pandoc is your swiss-army knife. It converts from and to dozens of formats like HTML, markdown, docx, JSON, YAML, and CSV, to name a few."
|
||
_docs: https://pandoc.org/getting-started.html
|
||
_github: https://github.com/jgm/pandoc
|
||
_home: https://pandoc.org/
|
||
_name: Pandoc
|
||
_short: "Pandoc is a versatile tool for converting between various document formats. "
|
||
ansible: professormanhattan.pandoc
|
||
apt: pandoc
|
||
brew:
|
||
- pandoc
|
||
- librsvg
|
||
choco:
|
||
- pandoc
|
||
- rsvg-convert
|
||
- miktex
|
||
crew: pandoc
|
||
dnf: pandoc
|
||
nix: pandoc
|
||
pacman: pandoc
|
||
winget: pandoc
|
||
papertrail:
|
||
_bin: papertrail
|
||
_desc: Command-line client for Papertrail hosted log management service. Tails and searches app server logs and system syslog. Supports Boolean search and works with grep and pipe output (Unix)
|
||
_github: https://github.com/papertrail/papertrail-cli
|
||
_name: papertrail
|
||
_short: "papertrail-cli is a command-line interface for Papertrail, a cloud-based log management service. It allows users to search, tail, and archive log data easily from the terminal. "
|
||
gem: papertrail
|
||
parallels:
|
||
_app: Parallels Desktop.app
|
||
_bin: parallels
|
||
_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/
|
||
_github: false
|
||
_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
|
||
ansible:darwin: professormanhattan.parallels
|
||
cask: parallels
|
||
mas: 1085114709
|
||
pass:
|
||
_bin: pass
|
||
_desc: pass is a very simple password store that keeps passwords inside gpg2(1) encrypted files
|
||
_github: false
|
||
_home: https://www.passwordstore.org/
|
||
_name: pass
|
||
apt: pass
|
||
brew: pass
|
||
dnf: pass
|
||
pacman: pass
|
||
pkg: password-store
|
||
pastel:
|
||
_bin: pastel
|
||
_desc: A command-line tool to generate, analyze, convert and manipulate colors
|
||
_github: https://github.com/sharkdp/pastel
|
||
_name: pastel
|
||
_short: "Pastel is a command-line tool for generating, analyzing, converting, and manipulating colors. "
|
||
brew: pastel
|
||
cargo: pastel
|
||
github: github.com/sharkdp/pastel
|
||
snap: pastel
|
||
yay: pastel
|
||
patch-package:
|
||
_bin: patch-package
|
||
_desc: "Patch Package is a tool that allows you to make changes to npm package source code without forking. It works by creating and applying patches to the node_modules directory during the npm install \nprocess. This enables you to fix bugs or add features to third-party packages without waiting for the maintainers to accept your pull requests. It's particularly useful when you need a quick fix for a \nspecific issue in a package that you are using in your project. Patch Package simplifies the process of managing custom changes to npm packages in a more maintainable way. "
|
||
_github: https://github.com/ds300/patch-package
|
||
_name: Patch Package
|
||
_short: "patch-package is a tool for making changes to npm package code without forking. "
|
||
npm: patch-package
|
||
pb:
|
||
_app: PB for Desktop.app
|
||
_bin: pushbullet
|
||
_desc: "pb-for-desktop is a project on GitHub created by Sidney San Martín that provides a simple and lightweight clipboard manager for macOS. It allows users to easily access and manage their clipboard \nhistory, making it convenient to retrieve previously copied items. The tool is designed to run in the macOS menu bar, providing quick access to clipboard history without cluttering the desktop. It is \nwritten in Swift and offers features like search functionality, customizable keyboard shortcuts, and the ability to exclude certain applications from being monitored. "
|
||
_github: https://github.com/sidneys/pb-for-desktop
|
||
_name: Pushbullet for Desktop
|
||
_short: "pb-for-desktop is a simple clipboard manager for MacOS. "
|
||
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."
|
||
_github: https://github.com/peco/peco
|
||
_home: https://peco.github.io/
|
||
_name: Peco
|
||
_short: "Peco is a interactive filtering tool for the command line. "
|
||
ansible: professormanhattan.peco
|
||
apt: peco
|
||
brew: peco
|
||
choco: peco
|
||
github: github.com/peco/peco
|
||
pacman: peco
|
||
peek:
|
||
_bin: peek
|
||
_desc: "[Peek](https://github.com/phw/peek) is an animated GIF screen recorder with an easy-to-use interface. It is available for Linux systems that are running GNOME. It is not a general purpose screencast app with extended features. It focuses on simply creating small screencasts of an area of the screen that are output as a GIF, WebM, or MP4 video."
|
||
_github: https://github.com/phw/peek
|
||
_name: Peek
|
||
_rpmFusion: true
|
||
_short: "Peek is a simple screen recorder tool for Linux that allows you to easily capture and record your screen activities. "
|
||
ansible:linux: professormanhattan.peek
|
||
apt:
|
||
- software-properties-common
|
||
- peek
|
||
dnf:
|
||
- ffmpeg
|
||
- gstreamer1-plugins-ugly
|
||
- peek
|
||
flatpak: com.uploadedlobster.peek
|
||
pacman:
|
||
- gst-plugins-good
|
||
- gst-plugins-ugly
|
||
- gifski
|
||
- peek
|
||
yay: peek-git
|
||
percol:
|
||
_bin: percol
|
||
_desc: "Percol is an interactive selection tool for filtering and selecting items in the terminal. It allows users to easily search, select, and manipulate text using a simple interface. It supports various \nkeybindings for navigation and selection, making it efficient for working with lists of items. Percol is highly customizable and can be integrated with other command-line tools to enhance productivity. \nIt is written in Python and is available on GitHub for users to download, install, and incorporate into their workflow. "
|
||
_github: https://github.com/mooz/percol
|
||
_name: Percol
|
||
_short: "percol is an interactive selection tool for filtering and selecting items in the terminal. "
|
||
pipx: percol
|
||
pfsense-fauxapi:
|
||
_bin: fauxapi
|
||
_desc: "The pfsense_fauxapi_client_python is a Python client library for interacting with the pfSense FauxAPI. FauxAPI is an API interface for pfSense that allows external systems to interact with pfSense \nconfigurations and settings programmatically. This client library simplifies the process of integrating pfSense with Python scripts or applications by providing easy-to-use functions for making API \ncalls to pfSense. It enables automation and customization of pfSense configurations through Python scripts. "
|
||
_github: https://github.com/ndejong/pfsense_fauxapi_client_python
|
||
_name: pfSense CLI (fauxapi)
|
||
_short: "pfsense_fauxapi_client_python is a Python client for interacting with the pfSense FauxAPI, allowing users to programmatically manage pfSense firewalls. "
|
||
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."
|
||
_docs: https://www.pgcli.com/docs
|
||
_github: https://github.com/dbcli/pgcli
|
||
_home: https://www.pgcli.com/
|
||
_name: pgcli
|
||
_short: "pgcli is a command-line interface for PostgreSQL with auto-completion and syntax highlighting. "
|
||
ansible: professormanhattan.pgcli
|
||
brew: pgcli
|
||
choco: pgcli
|
||
pipx: pgcli
|
||
port: pgcli
|
||
php:
|
||
_bin: php
|
||
_deps:
|
||
- php-extensions
|
||
_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
|
||
_home: https://www.php.net/
|
||
_name: PHP
|
||
_service: php
|
||
_short: "The official repository for the PHP programming language source code. "
|
||
ansible: professormanhattan.php
|
||
apt: php
|
||
brew: php
|
||
choco: php
|
||
dnf: php
|
||
pacman: php
|
||
port: php
|
||
scoop: php
|
||
php-extensions:
|
||
_deps:
|
||
- postgresql
|
||
_github: false
|
||
_name: PHP Extensions
|
||
_note: Needs testing
|
||
apt:
|
||
- libpcre3-dev
|
||
- libpq-dev
|
||
- php-apcu
|
||
- php-cgi
|
||
- php-cli
|
||
- php-common
|
||
- php-curl
|
||
- php-dev
|
||
- php-fpm
|
||
- php-gd
|
||
- php-intl
|
||
- php-imap
|
||
- php-json
|
||
- php-mbstring
|
||
- php-opcache
|
||
- php-pgsql
|
||
- php-redis
|
||
- php-snmp
|
||
- php-sqlite3
|
||
- php-xml
|
||
dnf:
|
||
- pcre-devel
|
||
- postgresql-devel
|
||
- php-apcu
|
||
- php-cgi
|
||
- php-cli
|
||
- php-common
|
||
- php-curl
|
||
- php-devel
|
||
- php-fpm
|
||
- php-gd
|
||
- php-intl
|
||
- php-json
|
||
- php-mbstring
|
||
- php-opcache
|
||
- php-pgsql
|
||
- php-redis
|
||
- php-snmp
|
||
- php-sqlite3
|
||
- php-xml
|
||
pacman:
|
||
- libpcre3-dev
|
||
- postgresql-libs
|
||
- php-apcu
|
||
- php-cgi
|
||
- php-cli
|
||
- php-common
|
||
- php-curl
|
||
- php-dev
|
||
- php-fpm
|
||
- php-gd
|
||
- php-intl
|
||
- php-imap
|
||
- php-json
|
||
- php-mbstring
|
||
- php-opcache
|
||
- php-redis
|
||
- php-snmp
|
||
- php-sqlite3
|
||
- php-xml
|
||
zypper:
|
||
- pcre-devel
|
||
- postgresql-devel
|
||
- php-apcu
|
||
- php-cgi
|
||
- php-cli
|
||
- php-common
|
||
- php-curl
|
||
- php-devel
|
||
- php-fpm
|
||
- php-gd
|
||
- php-intl
|
||
- php-json
|
||
- php-mbstring
|
||
- php-opcache
|
||
- php-redis
|
||
- php-snmp
|
||
- php-sqlite3
|
||
- php-xml
|
||
phpmon:
|
||
_app: PHP Monitor.app
|
||
_bin: phpmon
|
||
_desc: "phpmon is a tool available on GitHub created by nicoverbruggen. It is designed to monitor PHP scripts and display real-time statistics about their performance. This tool can be useful for developers and\nsystem administrators to identify bottlenecks, optimize code, and improve the overall performance of PHP scripts. It provides insights into memory usage, execution time, and other relevant metrics to \nhelp users understand and enhance the efficiency of their PHP applications. "
|
||
_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
|
||
_short: "phpmon is a tool for monitoring PHP applications in real-time, providing insights into performance and errors. "
|
||
cask: nicoverbruggen/homebrew-cask/phpmon
|
||
pick:
|
||
_bin: pick
|
||
_desc: "Pick is a minimalistic command-line fuzzy finder tool for selecting items from a list interactively. It allows users to filter and select items from a list using a fuzzy search algorithm, making it easy\nto navigate through large sets of data quickly. Pick is highly customizable and can be integrated into various workflows to improve efficiency in tasks that involve selecting items from lists. It is \nwritten in C and is designed to be fast and lightweight, making it a useful tool for developers and system administrators working in terminal environments. "
|
||
_github: https://github.com/mptre/pick
|
||
_name: Pick
|
||
_short: "pick is a minimalistic fuzzy finder for the command line. "
|
||
apt: pick
|
||
brew: pick
|
||
dnf: pick
|
||
emerge: pick
|
||
pkg-freebsd: pick
|
||
pkg_add: pick
|
||
port: pick
|
||
xbps: pick
|
||
yay: pick
|
||
pidcat:
|
||
_bin: pidcat
|
||
_desc: "pidcat is a command-line tool created by Jake Wharton for viewing Android log output directly in the terminal. It filters logcat output to display only logs from a specific application package. This \ntool simplifies debugging by focusing on the logs relevant to a particular app, making it easier to track issues and monitor app behavior. It's particularly useful for developers working on Android apps\nwho want a more streamlined way to view and analyze log messages. "
|
||
_github: https://github.com/JakeWharton/pidcat
|
||
_name: PidCat
|
||
_short: "pidcat is a command-line tool that colorizes and filters logcat output from Android devices and emulators. "
|
||
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
|
||
_desc: "Pigz is a parallel implementation of gzip for modern multi-processor, multi-core machines. It compresses using multiple processors and can achieve much higher compression rates than traditional gzip. \nPigz allows for faster compression and decompression of files by utilizing multiple cores simultaneously. It is compatible with gzip and can be used as a drop-in replacement for gzip. Pigz is \nparticularly useful for compressing large files efficiently on systems with multiple cores or processors. "
|
||
_github: https://github.com/madler/pigz
|
||
_name: PIGZ
|
||
_short: "pigz is a parallel implementation of gzip for modern multi-core processors. "
|
||
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
|
||
_short: "pika is a lightweight, fast, and minimalistic web framework for Python. "
|
||
cask: pika
|
||
pinapp:
|
||
_bin: pinapp
|
||
_desc: "PinApp is a project hosted on GitHub by fabrialberio. It appears to be a repository related to a pinning application, possibly for organizing or saving important information. Without further details or \naccess to the repository, it's challenging to provide a more in-depth description. You can explore the repository on GitHub to get a better understanding of its purpose, features, and how it can be \nutilized. "
|
||
_github: https://github.com/fabrialberio/PinApp
|
||
_name: "PinApp "
|
||
_short: "PinApp is a simple command-line tool for pinning applications to the macOS dock. "
|
||
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."
|
||
_docs: https://pip.pypa.io/en/stable/user_guide/
|
||
_github: https://github.com/pypa/pip
|
||
_home: https://pip.pypa.io/en/stable/
|
||
_name: PIP
|
||
_short: "pip is a package installer for Python. "
|
||
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
|
||
_short: "Pipedream is a platform for building and deploying integrations and APIs quickly. "
|
||
brew: pipedreamhq/pd-cli/pipedream
|
||
pipelight:
|
||
_bin: pipelight
|
||
_desc: "Pipelight is a project that allows you to use Silverlight, Flash, and other NPAPI plugins in web browsers on Linux systems. It works by using a modified Wine version to load Windows plugins on Linux. \nThis enables you to access content that requires these plugins, such as streaming services or browser-based games, on Linux systems that do not natively support these plugins. However, please note that \nPipelight is no longer actively maintained and may not work with the latest browser versions or plugins. "
|
||
_github: https://github.com/pipelight/pipelight
|
||
_name: Pipelight
|
||
_short: "Pipelight is a project that allows you to use Silverlight in your Linux browser. "
|
||
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"
|
||
_docs: https://pypa.github.io/pipx/
|
||
_github: https://github.com/pypa/pipx
|
||
_home: https://pypi.org/project/pipx/
|
||
_name: "pipx "
|
||
_post:brew: |
|
||
#!/usr/bin/env bash
|
||
pipx ensurepath
|
||
_short: "pipx is a tool that allows you to install and run Python applications in isolated environments. "
|
||
brew: pipx
|
||
pkg:
|
||
_bin: pkg
|
||
_desc: This command line interface enables you to package your Node.js project into an executable that can be run even on devices without Node.js installed.
|
||
_github: https://github.com/vercel/pkg
|
||
_name: pkg
|
||
_short: "pkg is a tool that packages Node.js projects into executable binaries for various platforms. "
|
||
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
|
||
_short: "pkgx is a tool that simplifies package management for Go projects by providing a centralized configuration file to manage dependencies. "
|
||
brew: pkgxdev/made/pkgx
|
||
platformio:
|
||
_bin: platformio
|
||
_desc: "PlatformIO Core is an open-source ecosystem for IoT development with a focus on embedded systems. It provides a unified development platform that supports multiple microcontroller architectures, \nframeworks, and IDEs. PlatformIO Core offers a command-line interface for building, managing libraries, and uploading firmware to devices. It simplifies the development process by abstracting hardware \ncomplexities and providing a consistent workflow across different platforms. It is highly extensible with support for various development platforms and tools, making it a versatile choice for embedded \nsystems development. "
|
||
_github: https://github.com/platformio/platformio-core
|
||
_name: PlatformIO
|
||
_short: "PlatformIO Core is an open-source ecosystem for IoT development with cross-platform build system, library manager, and full support for over 900 embedded boards. "
|
||
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"
|
||
_docs: https://playwright.dev/docs/intro
|
||
_github: https://github.com/Microsoft/playwright
|
||
_home: https://playwright.dev
|
||
_name: Playwright
|
||
_short: "Playwright is a tool for automating browsers created by Microsoft. "
|
||
npm: playwright
|
||
please:
|
||
_bin: plz
|
||
_desc: "Please is a tool developed by Thought Machine that simplifies the process of running commands across multiple directories or repositories. It allows you to define tasks in a YAML file and execute them \nwith a single command. This tool is particularly useful for automating repetitive tasks, managing dependencies, and ensuring consistency across projects. It supports parallel execution, error handling, \nand can be easily integrated into existing workflows. Please is open-source and available on GitHub for anyone to use and contribute to. "
|
||
_github: https://github.com/thought-machine/please
|
||
_name: Please
|
||
_short: "Please is a tool for managing monorepos efficiently, developed by Thought Machine. It simplifies building, testing, and releasing multiple projects within a single repository. "
|
||
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
|
||
ansible: professormanhattan.plex
|
||
cask: plex
|
||
choco: plex
|
||
flatpak: tv.plex.PlexDesktop
|
||
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
|
||
_ports:
|
||
- port: 32400
|
||
proto: tcp
|
||
- port: 3005
|
||
proto: tcp
|
||
- port: 5353
|
||
proto: udp
|
||
- port: 8324
|
||
proto: tcp
|
||
- port: 32410-32414
|
||
proto: udp
|
||
- port: 1900
|
||
proto: udp
|
||
- port: 32469
|
||
proto: tcp
|
||
cask: plex-media-server
|
||
choco: plexmediaserver
|
||
snap: plexmediaserver
|
||
yay: plex-media-server
|
||
plumber:
|
||
_bin: plumber
|
||
_desc: "Plumber is an R package available on GitHub at https://github.com/streamdal/plumber. It allows you to create web APIs using R. With Plumber, you can turn your R code into API endpoints that can be \naccessed over HTTP. This package is useful for building interactive web applications, integrating R with other programming languages, and deploying machine learning models as APIs. It provides a simple \nand flexible way to expose your R functions as web services. "
|
||
_github: https://github.com/streamdal/plumber
|
||
_name: Plumber
|
||
_short: "Plumber is an R package that allows you to create web APIs from R functions. "
|
||
brew: streamdal/public/plumber
|
||
exe: https://github.com/streamdal/plumber/releases/latest/download/plumber-windows.exe
|
||
plymouth:
|
||
_github: false
|
||
_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-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
|
||
_docs: https://pm2.keymetrics.io/docs/usage/quick-start/
|
||
_github: https://github.com/Unitech/pm2
|
||
_home: https://pm2.keymetrics.io/
|
||
_name: pm2
|
||
_short: "PM2 is a popular process manager for Node.js applications, providing features like process monitoring, clustering, and zero-downtime reloads. "
|
||
npm: pm2
|
||
pnpm:
|
||
_bin: pnpm
|
||
_desc: "[pnpm](https://github.com/pnpm/pnpm) is a fast, disk space efficient package manager"
|
||
_docs: https://pnpm.io/motivation
|
||
_github: https://github.com/pnpm/pnpm
|
||
_home: https://pnpm.io/
|
||
_name: pnpm
|
||
_short: "pnpm is a fast, disk space-efficient package manager for Node.js projects. "
|
||
ansible: professormanhattan.pnpm
|
||
brew: pnpm
|
||
npm: pnpm
|
||
scoop: pnpm
|
||
yay: pnpm
|
||
pnpm-lock-export:
|
||
_bin: pnpm-lock-export
|
||
_desc: A CLI utility that reads a package.json and pnpm-lock.yaml, and outputs an npm ci compatible package-lock.json
|
||
_github: https://github.com/cvent/pnpm-lock-export
|
||
_name: "pnpm-lock-export "
|
||
_short: "pnpm-lock-export is a tool that converts a pnpm lockfile to an npm-compatible package-lock.json file. "
|
||
npm: pnpm-lock-export
|
||
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
|
||
_short: "pock is a customizable Touch Bar widget for macOS. "
|
||
cask: pock
|
||
podman:
|
||
_bin: podman
|
||
_desc: "Podman is a tool for managing containers on Linux systems. It provides a command-line interface to manage pods, containers, and container images. Podman is designed as a drop-in replacement for Docker, \nallowing users to run Docker-compatible container images and pods without requiring a separate daemon. It offers features like rootless containers, support for Kubernetes, and compatibility with Docker \nCompose files. Podman is open-source and actively maintained by the community. You can find more information about Podman on its GitHub repository: https://github.com/containers/podman. "
|
||
_github: https://github.com/containers/podman
|
||
_name: Podman
|
||
_short: "Podman is a daemonless container engine for developing, managing, and running Open Container Initiative (OCI) containers and container images on your system. "
|
||
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."
|
||
_docs: https://python-poetry.org/docs/
|
||
_github: https://github.com/python-poetry/poetry
|
||
_home: https://python-poetry.org/
|
||
_name: Poetry
|
||
_short: "Poetry is a Python dependency management and packaging tool that simplifies and streamlines the process of managing Python projects. "
|
||
ansible: professormanhattan.poetry
|
||
brew: poetry
|
||
yay: python-poetry-git
|
||
polybar:
|
||
_bin: polybar
|
||
_desc: "Polybar is a fast and easy-to-use status bar for Linux systems. It allows users to create highly customizable status bars for their desktop environment, displaying information such as system resources, \nworkspaces, and notifications. Polybar supports multiple desktop environments and window managers, making it a versatile choice for users looking to enhance their desktop experience. It is written in \nC++ and uses a simple configuration file to customize its appearance and functionality. With its modular design and extensive documentation, Polybar is a popular choice among Linux users for creating \nstylish and informative status bars. "
|
||
_github: https://github.com/polybar/polybar
|
||
_name: Polybar
|
||
_short: "Polybar is a fast and easy-to-use status bar for Linux. "
|
||
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
|
||
_github: https://github.com/jessfraz/pony
|
||
_name: pony
|
||
_short: "Pony is a tool for managing Docker containers and images on macOS. "
|
||
github: github.com/jessfraz/pony
|
||
go: github.com/jessfraz/pony@latest
|
||
poppler:
|
||
_desc: "pdf2image is a Python library that converts PDF files into a sequence of PIL (Python Imaging Library) images. It provides a simple interface to extract images from PDFs, making it easier to work with \nPDF content in image processing tasks. The library supports multiple backends for PDF rendering, such as Poppler and Ghostscript, giving users flexibility in choosing the rendering engine. This tool can\nbe useful for tasks like extracting images from PDF documents for further analysis or manipulation. "
|
||
_github: https://github.com/Belval/pdf2image
|
||
_name: "pdf2image "
|
||
_short: "pdf2image is a Python library that converts PDF files into images. "
|
||
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
|
||
_short: "portal is a project on GitHub by SpatiumPortae. "
|
||
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
|
||
_short: "Porter is an open-source tool for building, managing, and deploying applications using CNAB (Cloud-Native Application Bundle) technology. "
|
||
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."
|
||
_docs: https://docs.safing.io/portmaster/architecture/overview
|
||
_github: https://github.com/safing/portmaster
|
||
_home: https://safing.io/
|
||
_name: Portmaster
|
||
_short: "Portmaster is a tool for managing network connections on MacOS, allowing users to control which apps can access the internet. "
|
||
_when:linux: "! test -f /opt/safing/portmaster/portmaster-start"
|
||
ansible:linux: professormanhattan.portmaster
|
||
ansible:windows: professormanhattan.portmaster
|
||
apt: https://updates.safing.io/latest/linux_amd64/packages/portmaster-installer.deb
|
||
choco: portmaster
|
||
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
|
||
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
|
||
_short: "Postfix is a popular open-source mail transfer agent (MTA) known for its security features and ease of configuration. "
|
||
apt: postfix
|
||
dnf: postfix
|
||
pacman: postfix
|
||
port: postfix
|
||
script:darwin: echo "Postfix is included by macOS already"
|
||
postgresql:
|
||
_bin: postgresql
|
||
_desc: "The link https://github.com/postgres/postgres leads to the official GitHub repository for the PostgreSQL database management system. PostgreSQL is a powerful, open-source relational database system \nknown for its reliability, robust feature set, and extensibility. The repository contains the source code, documentation, issue tracker, and community contributions related to PostgreSQL development. \nIt's a central hub for developers, users, and contributors to collaborate, report bugs, suggest enhancements, and stay updated on the latest developments in PostgreSQL. "
|
||
_github: https://github.com/postgres/postgres
|
||
_name: PostgreSQL
|
||
_service: postgresql
|
||
_service:brew: postgresql@14
|
||
_short: "PostgreSQL is an open-source relational database management system known for its reliability and robust features. "
|
||
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: https://github.com/postmanlabs/postman-app-support
|
||
_home: https://www.postman.com/
|
||
_name: Postman
|
||
_short: "postman-app-support is a repository for Postman app support resources. "
|
||
ansible: professormanhattan.postman
|
||
cask: postman
|
||
choco: postman
|
||
flatpak: com.getpostman.Postman
|
||
snap: postman
|
||
yay: postman-bin
|
||
powerline:
|
||
_bin: powerline
|
||
_desc: "Powerline is a statusline plugin for various applications, including Vim, zsh, bash, tmux, and more. It provides improved visual feedback for prompts, status messages, and other information in your \nterminal. Powerline enhances the look and functionality of your shell prompt by displaying information like the current working directory, git branch, exit codes, and more. It supports various themes \nand customization options to tailor the appearance to your preferences. Overall, Powerline is a popular choice for users looking to enhance their terminal experience with a stylish and informative \nstatusline. "
|
||
_github: https://github.com/powerline/powerline
|
||
_name: "powerline "
|
||
_short: "Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, and more. "
|
||
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
|
||
_github: https://github.com/PowerShell/PowerShell
|
||
_name: Powershell
|
||
_post:cask: |
|
||
#!/usr/bin/env bash
|
||
if ! brew list -1 | grep mono-libgdiplus > /dev/null; then
|
||
brew install mono-libgdiplus
|
||
fi
|
||
_short: "PowerShell is a cross-platform task automation and configuration management framework. "
|
||
ansible: professormanhattan.powershell
|
||
cask: powershell
|
||
snap: powershell --classic
|
||
pppc-utility:
|
||
_app: PPPC Utility.app
|
||
_bin: pppc-utility
|
||
_desc: "The PPPC-Utility is a tool provided by Jamf, a company specializing in Apple device management solutions. This utility assists in managing Privacy Preferences Policy Control (PPPC) settings on macOS \nsystems. PPPC settings control which applications have access to certain sensitive data or features on a Mac, enhancing security and privacy. The utility simplifies the process of configuring these \nsettings, making it easier for administrators to manage app permissions across their fleet of Mac devices. It is a valuable tool for organizations looking to enforce security policies and protect user \nprivacy on macOS systems. "
|
||
_github: https://github.com/jamf/PPPC-Utility
|
||
_name: Privacy Preferences Policy Control (PPPC) Utility
|
||
_short: "PPPC-Utility is a tool on GitHub by Jamf that simplifies managing Privacy Preferences Policy Control (PPPC) profiles on macOS systems. "
|
||
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
|
||
_github: https://github.com/observing/pre-commit
|
||
_name: pre-commit
|
||
_short: "pre-commit is a tool for managing and maintaining multi-language pre-commit hooks in your repository to ensure code quality and consistency. "
|
||
brew: pre-commit
|
||
pipx: pre-commit
|
||
prefsniff:
|
||
_bin: prefsniff
|
||
_desc: "prefsniff is a tool available on GitHub at https://github.com/zcutlip/prefsniff designed to monitor and analyze macOS system preferences changes. It captures and displays changes made to system \npreferences in real-time, providing insights into what settings are being modified on the system. This tool can be useful for monitoring system changes, troubleshooting configuration issues, or \nunderstanding how certain applications interact with system preferences. "
|
||
_github: https://github.com/zcutlip/prefsniff
|
||
_name: PrefSniff
|
||
_short: "prefsniff is a tool that monitors and logs changes to macOS system preferences. "
|
||
pipx: prefsniff
|
||
prepare:
|
||
_bin: null
|
||
_desc: An Ansible Role that prepares hosts for playbook execution
|
||
_github: false
|
||
ansible: professormanhattan.prepare
|
||
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"
|
||
_docs: https://prettier.io/docs/en/index.html
|
||
_github: https://github.com/prettier/prettier
|
||
_home: https://prettier.io/
|
||
_name: Prettier
|
||
_short: "Prettier is a code formatter that enforces a consistent style in your codebase. "
|
||
brew: prettier
|
||
npm: prettier
|
||
prettierd:
|
||
_bin: prettierd
|
||
_desc: Prettier, as a daemon, for improved formatting speed.
|
||
_docs: https://github.com/fsouza/prettierd
|
||
_github: https://github.com/fsouza/prettierd
|
||
_home: https://github.com/fsouza/prettierd
|
||
_name: Prettierd
|
||
_short: "prettierd is a daemon that formats code using Prettier on the fly. "
|
||
brew: fsouza/prettierd/prettierd
|
||
npm: "@fsouza/prettierd"
|
||
pretzel:
|
||
_app: Pretzel.app
|
||
_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
|
||
_github: https://github.com/amiechen/pretzel
|
||
_home: https://github.com/amiechen/pretzel
|
||
_name: Pretzel
|
||
_short: "Pretzel is a simple, modern Mac app that lets you manage your GitHub notifications easily. "
|
||
_todo: Waiting for SHASUM error on Homebrew cask to resolve
|
||
prezi-video:
|
||
_app: Prezi Video.app
|
||
_bin: prezi-video
|
||
_github: false
|
||
_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
|
||
_short: "privaxy is a tool for managing privacy settings on macOS. "
|
||
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
|
||
_desc: "The SAP macOS Enterprise Privileges project on GitHub provides a set of scripts and configuration profiles to manage and enforce security settings and privileges on macOS devices within an enterprise \nenvironment. It aims to help administrators streamline the process of configuring and securing macOS systems at scale. The project covers various aspects such as managing user privileges, enforcing \nsecurity policies, and configuring system settings to meet enterprise security requirements. It is a valuable resource for organizations looking to enhance the security and manageability of their macOS \nfleet. "
|
||
_github: https://github.com/SAP/macOS-enterprise-privileges
|
||
_name: Privileges
|
||
_short: "macOS Enterprise Privileges is a repository by SAP providing scripts and configuration profiles for managing user privileges on macOS systems in enterprise environments. "
|
||
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: https://github.com/unisx/privoxy
|
||
_groups:
|
||
- privoxy
|
||
_home: https://www.privoxy.org/
|
||
_name: Privoxy
|
||
_post: |
|
||
#!/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)
|
||
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
|
||
_service: privoxy
|
||
_serviceEnabled: true
|
||
_short: "Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data, and controlling access. "
|
||
apt: privoxy
|
||
brew: privoxy
|
||
dnf: privoxy
|
||
pacman: privoxy
|
||
port: privoxy
|
||
procs:
|
||
_bin: procs
|
||
_desc: A modern replacement for ps written in Rust
|
||
_github: https://github.com/dalance/procs
|
||
_name: procs
|
||
_short: "procs is a command-line tool for macOS that displays information about processes in a convenient and user-friendly way. "
|
||
apk: procs
|
||
brew: procs
|
||
cargo: procs
|
||
dnf: procs
|
||
github: github.com/dalance/procs
|
||
pacman: procs
|
||
scoop: procs
|
||
snap: procs
|
||
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
|
||
_short: "ProfileCreator is a tool for creating configuration profiles on macOS and iOS devices. "
|
||
cask: profilecreator
|
||
mas: 2141249187
|
||
progress:
|
||
_bin: progress
|
||
_desc: "progress is a command-line tool for tracking the progress of various tasks in the terminal. It provides a visual representation of progress bars, percentages, and estimated time remaining for tasks. \nUsers can easily integrate it into scripts or commands to monitor the progress of lengthy operations. The tool is written in Python and is compatible with various Unix-like operating systems. It's a \nhandy utility for keeping track of tasks that take time to complete, providing a more user-friendly experience in the terminal environment. "
|
||
_github: https://github.com/Xfennec/progress
|
||
_name: Progress
|
||
_short: "progress is a command-line tool that shows progress for long-running tasks in the terminal. "
|
||
apt: progress
|
||
brew: progress
|
||
dnf: progress
|
||
pacman: progress
|
||
port: progress
|
||
zypper: progress
|
||
projen:
|
||
_bin: projen
|
||
_desc: "Projen is a development tool for creating and maintaining modern software projects. It allows you to define your project structure, CI/CD, package management, and more using a familiar programming \nlanguage (TypeScript). With Projen, you can define your project's configuration in code, which helps in automating project setup and maintenance tasks. It supports various project types like Node.js, \nPython, Java, and more, making it a versatile tool for managing project configurations in a structured and consistent manner. "
|
||
_github: https://github.com/projen/projen
|
||
_name: Projen
|
||
_short: "projen is a development tool for creating and maintaining modern project configurations using code. "
|
||
npm: projen
|
||
protonmail-bridge:
|
||
_app: Proton Mail Bridge.app
|
||
_bin: protonmail-bridge
|
||
_desc: "Proton Bridge is an open-source application developed by ProtonMail that enables users to integrate their ProtonMail account with desktop email clients like Microsoft Outlook, Apple Mail, and \nThunderbird. This allows users to access their ProtonMail encrypted emails through these clients, providing a more convenient way to manage their emails. The application works by securely connecting the\nemail client to the ProtonMail servers, ensuring end-to-end encryption for all communications. It's a useful tool for those who prefer using desktop email clients while still benefiting from the \nsecurity and privacy features of ProtonMail. "
|
||
_github: https://github.com/ProtonMail/proton-bridge
|
||
_name: "proton-bridge "
|
||
_short: "Proton Bridge is a tool by ProtonMail that enables encrypted email access through email clients like Outlook and Thunderbird. "
|
||
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
|
||
_github: false
|
||
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/
|
||
_github: https://github.com/ProtonVPN/linux-app
|
||
_home: https://protonmail.com/
|
||
_name: ProtonVPN
|
||
_post:dnf:fedora: |
|
||
#!/usr/bin/env bash
|
||
sudo dnf install -y python3-pip && pip3 install --user 'dnspython>=1.16.0'
|
||
_post:yay: |
|
||
#!/usr/bin/env bash
|
||
sudo pacman -Syu libappindicator-gtk3 gnome-shell-extension-appindicator
|
||
_pre:apt: >
|
||
#!/usr/bin/env bash
|
||
sudo apt-get install -y https://repo.protonvpn.com/debian/dists/stable/main/binary-all/protonvpn-stable-release_1.0.3_all.deb && sudo apt-get update
|
||
_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
|
||
_short: "ProtonVPN Linux App is an open-source application that allows users to connect to ProtonVPN servers on Linux systems. "
|
||
apt:
|
||
- gir1.2-appindicator3-0.1
|
||
- gnome-shell-extension-appindicator
|
||
- protonvpn
|
||
cask: protonvpn
|
||
choco: protonvpn
|
||
dnf:fedora:
|
||
- gnome-extensions-app
|
||
- gnome-shell-extension-appindicator
|
||
- gnome-tweaks
|
||
- libappindicator-gtk3
|
||
- protonvpn
|
||
yay: protonvpn
|
||
protonvpn-cli:
|
||
_bin: protonvpn
|
||
_deps:script:darwin:
|
||
- dialog
|
||
- openvpn
|
||
_desc: The ProtonVPN CLI official release for Linux along with an unofficial ProtonVPN CLI for macOS
|
||
_github: https://github.com/ProtonVPN/linux-cli
|
||
_name: ProtonVPN CLI
|
||
_short: "ProtonVPN Linux CLI is a command-line interface tool for managing ProtonVPN connections on Linux systems. "
|
||
_todo: Populate this once the ProtonVPN CLI is released to the package managers
|
||
apt: protonvpn-cli
|
||
dnf: protonvpn-cli
|
||
pacman: protonvpn-cli
|
||
script:darwin: >
|
||
sudo rm -rf /usr/local/src/protonvpn-cli
|
||
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
|
||
provisionql:
|
||
_desc: "ProvisionQL is a Quick Look plugin for macOS that allows you to preview Provisioning Profiles (.mobileprovision files) directly in the Finder with a quick look. This plugin enhances the user experience \nby providing a convenient way to view the details of provisioning profiles without needing to open them in a separate application. It simplifies the process of managing provisioning profiles for \ndevelopers working on iOS and macOS projects. "
|
||
_github: https://github.com/ealeksandrov/ProvisionQL
|
||
_name: ProvisionQL
|
||
_short: "ProvisionQL is a Quick Look plugin for macOS that allows you to preview Provisioning Profiles. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"'
|
||
cask: provisionql
|
||
proxyman:
|
||
_app: Proxyman.app
|
||
_bin: proxyman-cli
|
||
_desc: "Proxyman is a tool developed by ProxymanApp that acts as a modern and high-performance debugging proxy for macOS and iOS developers. It allows users to intercept and manipulate HTTP/HTTPS requests and \nresponses, inspect network traffic, and debug web apps and APIs easily. With a user-friendly interface, Proxyman offers features like SSL proxying, WebSocket support, and custom filters for efficient \ndebugging. It is a valuable tool for developers looking to analyze and troubleshoot network requests in their applications. "
|
||
_github: https://github.com/ProxymanApp/Proxyman
|
||
_name: Proxyman
|
||
_short: "Proxyman is a tool for macOS that helps developers debug HTTP/HTTPS traffic from iOS, Android, and macOS apps. "
|
||
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
|
||
_github: https://github.com/GoogleChromeLabs/psi
|
||
_name: psi
|
||
_short: "psi is a tool by Google Chrome Labs for measuring website performance. "
|
||
npm: psi
|
||
psscriptanalyzer:
|
||
_bin: psscriptanalyzer
|
||
_desc: "PSScriptAnalyzer is a static code checker for PowerShell scripts. It helps to ensure best practices and coding standards are followed in PowerShell scripts. It analyzes scripts for potential issues such\nas syntax errors, naming conventions, code complexity, and more. It provides valuable feedback to improve script quality and maintainability. PSScriptAnalyzer is a useful tool for PowerShell developers \nto enhance the quality of their scripts and make them more efficient. "
|
||
_github: https://github.com/PowerShell/PSScriptAnalyzer
|
||
_name: PSScriptAnalyzer
|
||
_short: "PSScriptAnalyzer is a static code checker for PowerShell scripts. "
|
||
choco: psscriptanalyzer
|
||
psu:
|
||
_bin: portainer-stack-utils
|
||
_desc: CLI client for Portainer
|
||
_docs: https://github.com/greenled/portainer-stack-utils
|
||
_github: https://github.com/greenled/portainer-stack-utils
|
||
_home: https://hub.docker.com/r/greenled/portainer-stack-utils/
|
||
_name: psu
|
||
_short: "portainer-stack-utils is a tool for managing Docker stacks in Portainer. "
|
||
go: github.com/greenled/portainer-stack-utils@master
|
||
pueue:
|
||
_bin: pueue
|
||
_desc: "Pueue is a command-line task queue manager that allows you to manage long-running tasks efficiently. It provides a simple interface to add, remove, and monitor tasks, making it easier to handle multiple\ntasks simultaneously. With Pueue, you can prioritize tasks, view logs, and control the execution of tasks easily from the terminal. It is a useful tool for managing complex workflows and automating \ntasks in a systematic manner. "
|
||
_github: https://github.com/Nukesor/pueue
|
||
_name: Pueue
|
||
_service: pueue
|
||
_short: "Pueue is a command-line task queue manager for handling long-running processes. "
|
||
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
|
||
_short: "Pulumi is an open-source infrastructure as code tool that allows you to create, deploy, and manage cloud infrastructure using familiar programming languages like Python, TypeScript, and Go. "
|
||
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."
|
||
_github: https://github.com/ericchiang/pup
|
||
_name: pup
|
||
_short: "pup is a command line tool for parsing HTML. "
|
||
ansible: professormanhattan.pup
|
||
brew: pup
|
||
github: github.com/ericchiang/pup
|
||
go: github.com/ericchiang/pup@latest
|
||
pushpin:
|
||
_bin: pushpin
|
||
_desc: "Pushpin is an open-source project by Fastly that acts as a reverse proxy server for real-time web services. It helps in managing long-lived connections efficiently, enabling real-time features like \nchat, live updates, and notifications in web applications. Pushpin works by offloading the handling of long-lived connections from the main application server, reducing its load and improving \nscalability. It supports various protocols like HTTP streaming, WebSockets, and Server-Sent Events. Pushpin is designed to be lightweight, easy to deploy, and integrates well with existing web \napplications. "
|
||
_github: https://github.com/fastly/pushpin
|
||
_name: Pushpin
|
||
_short: "Pushpin is an open-source proxy server for realtime web services. "
|
||
brew: pushpin
|
||
pv:
|
||
_bin: pv
|
||
_desc: "pv is a terminal-based tool for monitoring the progress of data through a pipeline. It can be used to track the progress of commands that involve data transfer, such as copying files, archiving data, or\nany other process that involves input/output. pv displays a progress bar, estimated time remaining, current throughput rate, and total data transferred. It is a handy utility for visualizing the flow of\ndata in real-time, allowing users to better understand and manage data transfer processes. "
|
||
_github: https://github.com/icetee/pv
|
||
_name: "pv "
|
||
_short: "pv is a terminal-based tool for monitoring the progress of data through a pipeline. "
|
||
apt: pv
|
||
pwnat:
|
||
_bin: pwnat
|
||
_desc: "Pwnat is a tool created by Samy Kamkar that allows for NAT traversal using a single open port. It enables two parties behind NATs to directly communicate with each other without the need for port \nforwarding or any configuration changes on the NAT devices. Pwnat works by establishing a connection through a third-party server that is not involved in the actual data transfer, making it a useful \ntool for scenarios where direct communication is not possible due to NAT restrictions. It's important to use such tools responsibly and ethically. "
|
||
_github: https://github.com/samyk/pwnat
|
||
_name: pwnat
|
||
_short: "PWNAT is a tool for NAT traversal using a single-sided connection. "
|
||
brew: pwnat
|
||
python:
|
||
_bin: python3
|
||
_desc: "CPython is the official implementation of the Python programming language. It is written in C and is maintained by the Python Software Foundation. The repository contains the source code for Python \ninterpreter, standard library, and various tools. Developers can contribute to the project by submitting bug fixes, new features, and improvements. CPython is widely used and serves as a reference \nimplementation for the Python language specification. "
|
||
_github: https://github.com/python/cpython
|
||
_name: "cpython "
|
||
_post:brew: |
|
||
#!/usr/bin/env bash
|
||
python3 -m pip install --upgrade setuptools
|
||
python3 -m pip install --upgrade pip
|
||
_short: "Official repository for the Python programming language. "
|
||
apt: python3-pip
|
||
brew: python
|
||
dnf: python3-pip
|
||
pacman: python-pip
|
||
scoop: python
|
||
python2:
|
||
_bin: python2
|
||
_github: false
|
||
apt: python2
|
||
choco: python2
|
||
dnf: python2
|
||
pacman: python2
|
||
scoop: python2
|
||
pywhat:
|
||
_bin: what
|
||
_desc: Identify anything. pyWhat easily lets you identify emails, IP addresses, and more. Feed it a .pcap file or some text and it'll tell you what it is!
|
||
_github: https://github.com/bee-san/pyWhat
|
||
_name: "pyWhat "
|
||
_short: "pyWhat is a Python library for detecting file types based on their binary signatures. "
|
||
brew: pywhat
|
||
pipx: pywhat
|
||
port: pywhat
|
||
pywin32:
|
||
_bin: pywin32
|
||
_desc: "Pywin32 is a Python library that provides access to many of the Windows operating system's functions through extensions. It allows Python programs to interact with components like the Windows Registry, \nEvent Logs, and more. Pywin32 is commonly used for tasks like automating Excel, interacting with COM objects, and accessing Windows-specific APIs. It's a valuable tool for Python developers working on \nWindows platforms, enabling them to leverage the full capabilities of the Windows operating system within their Python scripts. "
|
||
_github: https://github.com/mhammond/pywin32
|
||
_name: Pywin32
|
||
_short: "pywin32 is a Python library that provides access to Windows-specific functions. "
|
||
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
|
||
_short: "qBittorrent is an open-source BitTorrent client that aims to be a free alternative to µTorrent. "
|
||
ansible: professormanhattan.qbittorrent
|
||
apt: qbittorrent
|
||
cask: qbittorrent
|
||
choco: qbittorrent
|
||
dnf: qbittorrent
|
||
flatpak: org.qbittorrent.qBittorrent
|
||
pacman: qbittorrent
|
||
yay: qbittorrent-git
|
||
qlcolorcode:
|
||
_desc: "QLColorCode is a Quick Look plugin for macOS that allows you to preview the source code files with syntax highlighting directly in the Finder. It supports a wide range of programming languages and file \ntypes, making it easier to quickly glance at code files without opening them in an editor. This plugin enhances the user experience by providing a convenient way to preview code files without the need \nto open them in a separate application. "
|
||
_github: https://github.com/n8gray/QLColorCode
|
||
_name: QLColorCode
|
||
_short: "QLColorCode is a Quick Look plugin for syntax highlighting source code files on macOS. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/QLColorCode.qlgenerator"'
|
||
cask: qlcolorcode
|
||
qlmarkdown:
|
||
_desc: "qlmarkdown is a Quick Look plugin for macOS that allows you to preview Markdown files (.md) directly in the Finder with a quick preview. It enhances the Quick Look feature by rendering Markdown files as\nformatted text for easy viewing without needing to open them in a separate application. This plugin provides a convenient way to quickly glance through Markdown files without the need for a dedicated \nMarkdown editor, making it a handy tool for developers and writers working with Markdown documents on macOS. "
|
||
_github: https://github.com/toland/qlmarkdown
|
||
_name: QLMarkdown
|
||
_short: "qlmarkdown is a Quick Look plugin for macOS that allows you to preview Markdown files in Finder using Quick Look. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/ProvisionQL.qlgenerator"'
|
||
cask: qlmarkdown
|
||
qlplugins:
|
||
_bin: null
|
||
_deps:
|
||
- provisionql
|
||
- qlcolorcode
|
||
- qlmarkdown
|
||
- qlstephen
|
||
- qlvideo
|
||
- quicklook-json
|
||
- quicklookapk
|
||
- webpquicklook
|
||
_github: false
|
||
_name: null
|
||
qlstephen:
|
||
_desc: "QLStephen is a Quick Look plugin for macOS that allows you to view plain text files without a file extension. It enables you to preview files like README, CHANGELOG, or any text file that doesn't have a\nrecognized extension directly in the Quick Look feature of macOS. This plugin enhances the usability of Quick Look by providing support for a wider range of file types, making it easier to quickly \nglance through text-based files without needing to open them in a separate application. "
|
||
_github: https://github.com/whomwah/qlstephen
|
||
_name: QLStephen
|
||
_short: "qlstephen is a Quick Look plugin for macOS that lets you view plain text files without needing to open them in a separate application. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/QLStephen.qlgenerator"'
|
||
cask: qlstephen
|
||
qlvideo:
|
||
_desc: "QLVideo is a Quick Look plugin for macOS that allows you to preview video files directly in the Finder without needing to open them in a separate application. This plugin supports various video formats,\nmaking it convenient for quickly previewing video content without the need for a dedicated video player. It enhances the user experience by providing a seamless way to preview video files within the \nmacOS Finder interface. "
|
||
_github: https://github.com/Marginal/QLVideo
|
||
_name: QLVideo
|
||
_short: "QLVideo is a Quick Look plugin for macOS that allows you to preview video files directly in the Finder without opening them in a separate application. "
|
||
_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
|
||
_short: "Quark Engine is an open-source, cross-platform, and powerful C++ game engine designed for modern game development. "
|
||
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
|
||
_short: "Quasar is a Vue.js framework for building responsive websites, PWAs, SSR apps, mobile apps, and more. "
|
||
ansible:windows: professormanhattan.quasar
|
||
quickemu:
|
||
_bin: quickemu
|
||
_desc: "Quickemu is a project hosted on GitHub that provides a simple script to set up and run virtual machines using QEMU on Linux. It aims to make running virtual machines quick and easy by automating the \nprocess of creating and launching VMs. Users can specify various options like disk size, memory, CPU cores, and more in a configuration file. Quickemu simplifies the setup of virtual machines for \ntesting, development, or any other purpose where virtualization is needed. "
|
||
_github: https://github.com/quickemu-project/quickemu
|
||
_name: "quickemu "
|
||
_pre: |
|
||
#!/usr/bin/env bash
|
||
sudo apt-add-repository ppa:flexiondotorg/quickemu && sudo apt update
|
||
_short: "quickemu is a tool for running virtual machines quickly and easily on Linux using QEMU and KVM. "
|
||
apt:ubuntu: quickemu
|
||
quickgui:
|
||
_desc: "quickgui is a graphical user interface (GUI) for quickemu, a tool that simplifies managing virtual machines using QEMU on Linux. quickgui provides a user-friendly way to create, manage, and run virtual \nmachines without needing to use the command line. It offers features like creating new VMs, editing existing ones, and launching VMs with various options. This GUI makes it easier for users to interact \nwith quickemu and manage their virtual machines efficiently. "
|
||
_github: https://github.com/quickemu-project/quickgui
|
||
_name: "quickgui "
|
||
_pre: |
|
||
#!/usr/bin/env bash
|
||
sudo add-apt-repository ppa:yannick-mauray/quickgui && sudo apt update
|
||
_short: "quickgui is a graphical user interface for QuickEMU, a tool that simplifies running virtual machines on Linux using QEMU. "
|
||
apt:ubuntu: quickgui
|
||
quicklook-json:
|
||
_github: false
|
||
_name: QLJSON
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/QuickLookJSON.qlgenerator"'
|
||
cask: quicklook-json
|
||
quicklookapk:
|
||
_desc: "QuickLookAPK is a tool that allows you to preview the contents of Android APK files directly in macOS Finder using Quick Look. This tool enhances the user experience by providing a quick way to view the\ncontents of APK files without needing to extract them. It is a useful utility for developers and users who frequently work with APK files and want to quickly glance at their contents without opening \nthem in an Android emulator or decompiling them. "
|
||
_github: https://github.com/hezi/QuickLookAPK
|
||
_name: QLAPK
|
||
_short: "QuickLookAPK is a plugin for macOS that allows you to preview Android APK files using Quick Look. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/QuickLookAPK.qlgenerator"'
|
||
cask: quicklookapk
|
||
quicktype:
|
||
_bin: quicktype
|
||
_desc: "Quicktype is an open-source tool available on GitHub that helps developers generate types and serialization code from JSON, JSON Schema, and GraphQL queries. It supports multiple programming languages \nlike TypeScript, Java, C#, and more. Quicktype aims to simplify the process of working with complex data formats by automatically generating code that accurately represents the data structure. It is \nparticularly useful for projects where dealing with data serialization and deserialization is a common task. The tool is actively maintained and has a growing community of users contributing to its \ndevelopment. "
|
||
_github: https://github.com/quicktype/quicktype
|
||
_name: Quicktype
|
||
_short: "quicktype is a tool that infers types from data. "
|
||
npm: quicktype
|
||
ramda:
|
||
_bin: ramda
|
||
_desc: A CLI tool for processing data with functional pipelines
|
||
_docs: https://github.com/raine/ramda-cli#synopsis
|
||
_github: https://github.com/raine/ramda-cli
|
||
_home: https://github.com/raine/ramda-cli
|
||
_name: Ramda
|
||
_short: "ramda-cli is a command-line interface for Ramda, a functional programming library for JavaScript. It allows you to use Ramda functions directly in the terminal. "
|
||
npm: ramda-cli
|
||
rancher-cli:
|
||
_bin: rancher
|
||
_desc: The Rancher Command Line Interface (CLI) is a unified tool for interacting with your Rancher Server
|
||
_docs: https://ranchermanager.docs.rancher.com/reference-guides/cli-with-rancher/rancher-cli
|
||
_github: https://github.com/rancher/cli
|
||
_name: rancher
|
||
_short: "Rancher CLI is a command-line tool for interacting with Rancher, a container management platform. "
|
||
brew: rancher-cli
|
||
github: github.com/rancher/cli
|
||
yay: rancher-cli-bin
|
||
rancher-desktop:
|
||
_desc: "Rancher Desktop is an open-source project hosted on GitHub under the repository https://github.com/rancher-sandbox/rancher-desktop/. It is a tool designed to simplify the setup and management of \nKubernetes clusters on desktop environments. Rancher Desktop provides a user-friendly interface for creating, running, and interacting with Kubernetes clusters locally. It aims to streamline the \ndevelopment and testing of containerized applications by offering an easy-to-use solution for running Kubernetes on developers' machines. The project is maintained by Rancher Labs, a company known for \nits contributions to the Kubernetes ecosystem. "
|
||
_github: https://github.com/rancher-sandbox/rancher-desktop/
|
||
_name: "rancher-desktop "
|
||
_short: "Rancher Desktop is a tool that simplifies running Kubernetes and containerized applications on your local machine. "
|
||
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
|
||
_short: "rpi-imager is a tool for easily flashing operating system images onto SD cards for Raspberry Pi devices. "
|
||
ansible: professormanhattan.raspberryimager
|
||
cask: raspberry-pi-imager
|
||
choco: rpi-imager
|
||
dnf: rpi-imager
|
||
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
|
||
_short: "Raycast Extensions is a collection of productivity tools and scripts for the Raycast app, designed to enhance workflow efficiency on MacOS. "
|
||
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."
|
||
_docs: https://rclone.org/docs/
|
||
_github: https://github.com/rclone/rclone
|
||
_groups:
|
||
- rclone
|
||
_home: https://rclone.org/
|
||
_name: Rclone
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Rclone S3 Mounts
|
||
# @brief This script configures Rclone to provide several S3-compliant mounts by leveraging CloudFlare R2
|
||
# @description
|
||
# Install Doctor leverages Rclone and CloudFlare R2 to provide S3-compliant bucket mounts that allow you to retain stateful files and configurations.
|
||
# In general, these buckets are used for backing up files like your browser profiles, Docker backup files, and other files that cannot be stored as
|
||
# as code in your Install Doctor fork.
|
||
#
|
||
# This script sets up Rclone to provide several folders that are synchronized with S3-compliant buckets (using CloudFlare R2 by default).
|
||
# The script ensures required directories are created and that proper permissions are applied. This script will only run if `rclone` is
|
||
# available in the `PATH`. It also requires the user to provide `CLOUDFLARE_R2_ID` and `CLOUDFLARE_R2_SECRET` as either environment variables
|
||
# or through the encrypted repository-fork-housed method detailed in the [Secrets documentation](https://install.doctor/docs/customization/secrets).
|
||
#
|
||
# ## Mounts
|
||
#
|
||
# The script will setup five mounts by default and enable / start `systemd` services on Linux systems so that the mounts are available
|
||
# whenever the device is turned on. The mounts are:
|
||
#
|
||
# | Mount Location | Description |
|
||
# |-----------------------|-----------------------------------------------------------------------------------------------------------------------|
|
||
# | `/mnt/Private` | Private system-wide bucket used for any private files that should not be able to be accessed publicly over HTTPS |
|
||
# | `/mnt/Public` | Public system-wide bucket that can be accessed by anyone over HTTPS with the bucket's URL (provided by CloudFlare R2) |
|
||
# | N/A | Private system-wide bucket used for storing Docker-related backups / files |
|
||
# | N/A | Private system-wide bucket similar to `/mnt/Private` but intended for system file backups |
|
||
# | `$HOME/Public` | Private user-specific bucket (used for backing up application settings) |
|
||
#
|
||
# ## Permissions
|
||
#
|
||
# The system files are all assigned proper permissions and are owned by the user `rclone` with the group `rclone`. The exception to this is the
|
||
# user-specific mount which uses the user's user name and user group.
|
||
#
|
||
# ## Samba
|
||
#
|
||
# If Samba is installed, then by default Samba will create two shares that are symlinked to the `/mnt/s3-private` and `/mnt/s3-public`
|
||
# buckets. This feature allows you to easily access the two buckets from other devices in your local network. If Rclone buckets are not
|
||
# available then the Samba setup script will just create regular empty folders as shares.
|
||
#
|
||
# ## Notes
|
||
#
|
||
# * The mount services all leverage the executable found at `$HOME/.local/bin/rclone-mount` to mount the shares.
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [Rclone mount script](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_local/bin/executable_rclone-mount)
|
||
# * [Rclone default configurations](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/rclone)
|
||
# * [Rclone documentation](https://rclone.org/docs/)
|
||
if command -v rclone > /dev/null; then
|
||
{{- if and (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID"))) (env "CLOUDFLARE_R2_ID")) (or (and (stat (joinPath .host.home ".config" "age" "chezmoi.txt")) (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET"))) (env "CLOUDFLARE_R2_SECRET")) (ne .user.cloudflare.r2 "") }}
|
||
logg info 'Removing ~/.config/rclone/rclone.conf Install Doctor managed block'
|
||
CONFIG_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/rclone/rclone.conf"
|
||
if cat "$CONFIG_FILE" | grep '# INSTALL DOCTOR MANAGED S3 START' > /dev/null; then
|
||
# TODO: Remove old block
|
||
START_LINE="$(echo `grep -n -m 1 "# INSTALL DOCTOR MANAGED S3 START" "$CONFIG_FILE" | cut -f1 -d ":"`)"
|
||
END_LINE="$(echo `grep -n -m 1 "# INSTALL DOCTOR MANAGED S3 END" "$CONFIG_FILE" | cut -f1 -d ":"`)"
|
||
if command -v gsed > /dev/null; then
|
||
gsed -i "$START_LINE,${END_LINE}d" "$CONFIG_FILE" > /dev/null
|
||
else
|
||
sed -i "$START_LINE,${END_LINE}d" "$CONFIG_FILE" > /dev/null
|
||
fi
|
||
fi
|
||
logg info 'Adding ~/.config/rclone/rclone.conf INSTALL DOCTOR managed block'
|
||
sudo tee -a "$CONFIG_FILE" > /dev/null <<EOT
|
||
# INSTALL DOCTOR MANAGED S3 START
|
||
[User-{{ .user.username}}]
|
||
access_key_id = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_ID_USER")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_ID_USER" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_ID_USER" -}}{{ end }}
|
||
acl = private
|
||
endpoint = {{ .user.cloudflare.r2 }}.r2.cloudflarestorage.com
|
||
provider = Cloudflare
|
||
region = auto
|
||
secret_access_key = {{ if (stat (joinPath .chezmoi.sourceDir ".chezmoitemplates" "secrets" "CLOUDFLARE_R2_SECRET_USER")) }}{{- includeTemplate "secrets/CLOUDFLARE_R2_SECRET_USER" | decrypt | trim -}}{{ else }}{{- env "CLOUDFLARE_R2_SECRET_USER" -}}{{ end }}
|
||
type = s3
|
||
# INSTALL DOCTOR MANAGED S3 END
|
||
EOT
|
||
{{- end }}
|
||
sudo chown -f root "$CONFIG_FILE"
|
||
sudo chmod -f 600 "$CONFIG_FILE"
|
||
logg info 'Ensuring /var/cache/rclone exists'
|
||
sudo mkdir -p /var/cache/rclone
|
||
sudo chmod 750 /var/cache/rclone
|
||
### 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" rclone
|
||
fi
|
||
sudo chown -Rf rclone:rclone /var/cache/rclone
|
||
logg info 'Ensuring /var/log/rclone exists'
|
||
sudo mkdir -p /var/log/rclone
|
||
sudo chmod 750 /var/log/rclone
|
||
sudo chown -Rf rclone:rclone /var/log/rclone
|
||
logg info 'Adding ~/.local/bin/rclone-mount to /usr/local/bin'
|
||
sudo cp -f "$HOME/.local/bin/rclone-mount" /usr/local/bin/rclone-mount
|
||
sudo chmod +x /usr/local/bin/rclone-mount
|
||
logg info 'Adding ~/.config/rclone/rcloneignore to /etc/rcloneignore'
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/rclone/rcloneignore" /etc/rcloneignore
|
||
sudo chown -Rf rclone:rclone /etc/rcloneignore
|
||
sudo chmod 640 /etc/rcloneignore
|
||
logg info 'Adding ~/.config/rclone/system-rclone.conf to /etc/rclone.conf'
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/rclone/system-rclone.conf" /etc/rclone.conf
|
||
sudo chown -Rf rclone:rclone /etc/rclone.conf
|
||
sudo chmod 600 /etc/rclone.conf
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### Enable Rclone mounts
|
||
logg info 'Ensuring Rclone mount-on-reboot definitions are in place'
|
||
if [ -f "$HOME/Library/LaunchDaemons/rclone.private.plist" ] && [ ! -f "/Library/LaunchDaemons/rclone.private.plist" ]; then
|
||
logg info 'Adding /Volumes/Private as S3 bucket mount, enabled at boot'
|
||
sudo mkdir -p /Library/LaunchDaemons
|
||
sudo cp -f "$HOME/Library/LaunchDaemons/rclone.private.plist" '/Library/LaunchDaemons/rclone.private.plist'
|
||
sudo launchctl load '/Library/LaunchDaemons/rclone.private.plist' && logg success 'launchctl load successful'
|
||
fi
|
||
if [ -f "$HOME/Library/LaunchDaemons/rclone.public.plist" ] && [ ! -f "/Library/LaunchDaemons/rclone.public.plist" ]; then
|
||
logg info 'Adding /Volumes/Public as S3 bucket mount, enabled at boot'
|
||
sudo mkdir -p /Library/LaunchDaemons
|
||
sudo cp -f "$HOME/Library/LaunchDaemons/rclone.public.plist" '/Library/LaunchDaemons/rclone.public.plist'
|
||
sudo launchctl load '/Library/LaunchDaemons/rclone.public.plist' && logg success 'launchctl load successful'
|
||
fi
|
||
if [ -f "$HOME/Library/LaunchDaemons/rclone.user.plist" ] && [ ! -f "/Library/LaunchDaemons/rclone.user.plist" ]; then
|
||
logg info "Adding /Volumes/User-$USER as S3 bucket mount, enabled at boot"
|
||
sudo mkdir -p /Library/LaunchDaemons
|
||
sudo cp -f "$HOME/Library/LaunchDaemons/rclone.user.plist" '/Library/LaunchDaemons/rclone.user.plist'
|
||
sudo launchctl load '/Library/LaunchDaemons/rclone.user.plist' && logg success 'launchctl load successful'
|
||
fi
|
||
elif [ -d /etc/systemd/system ]; then
|
||
find "${XDG_CONFIG_HOME:-$HOME/.config}/rclone/system" -mindepth 1 -maxdepth 1 -type f | while read RCLONE_SERVICE; do
|
||
### Add systemd service file
|
||
logg info "Adding S3 system mount service defined at $RCLONE_SERVICE"
|
||
FILENAME="$(basename "$RCLONE_SERVICE")"
|
||
SERVICE_ID="$(echo "$FILENAME" | sed 's/.service//')"
|
||
sudo cp -f "$RCLONE_SERVICE" "/etc/systemd/system/$(basename "$RCLONE_SERVICE")"
|
||
### Ensure mount folder is created
|
||
logg info "Ensuring /mnt/$SERVICE_ID is created with proper permissions"
|
||
sudo mkdir -p "/mnt/$SERVICE_ID"
|
||
sudo chmod 750 "/mnt/$SERVICE_ID"
|
||
### Enable / restart the service
|
||
logg info "Enabling / restarting the $SERVICE_ID S3 service"
|
||
sudo systemctl enable "$SERVICE_ID"
|
||
sudo systemctl restart "$SERVICE_ID"
|
||
done
|
||
### Add user Rclone mount
|
||
logg info 'Adding user S3 rclone mount (available at ~/.local/mnt/s3)'
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/rclone/s3-user.service" "/etc/systemd/system/s3-${USER}.service"
|
||
logg info 'Enabling / restarting the S3 user mount'
|
||
sudo systemctl enable "s3-${USER}"
|
||
sudo systemctl restart "s3-${USER}"
|
||
fi
|
||
else
|
||
logg info 'rclone is not available'
|
||
fi
|
||
_short: "rclone is a command-line program to manage files on cloud storage. "
|
||
ansible: professormanhattan.rclone
|
||
apt: rclone
|
||
brew:linux: rclone
|
||
choco:
|
||
- rclone
|
||
- winfsp
|
||
- nssm
|
||
dnf: rclone
|
||
pacman: rclone
|
||
port: rclone
|
||
scoop: rclone
|
||
script:darwin: |
|
||
#!/usr/bin/env bash
|
||
TMP="$(mktemp)"
|
||
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
|
||
_short: "RecoverPy is a Python script that helps recover deleted files from a storage device. "
|
||
_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."
|
||
_docs: https://docs.rdm.dev/en/docs-fix-edit-url/
|
||
_github: https://github.com/uglide/RedisDesktopManager
|
||
_home: https://resp.app/
|
||
_name: Redis Desktop Manager
|
||
_short: "RedisDesktopManager is a cross-platform GUI tool for managing Redis databases. "
|
||
ansible:linux: professormanhattan.rdm
|
||
flatpak: app.resp.RESP
|
||
snap: redis-desktop-manager
|
||
redis-insight:
|
||
_app: RedisInsight.app
|
||
_bin: redis-insight
|
||
_desc: "RedisInsight is a graphical user interface (GUI) tool for Redis, a popular in-memory data structure store. It provides a user-friendly way to interact with Redis databases, allowing users to visualize \nand manage their data easily. RedisInsight offers features like real-time monitoring, data exploration, and performance analysis, making it a valuable tool for developers and administrators working with\nRedis databases. It is open-source and actively maintained by the Redis community, providing a powerful solution for working with Redis data. "
|
||
_github: https://github.com/RedisInsight/RedisInsight
|
||
_name: Redis Insight
|
||
_short: "RedisInsight is a GUI for Redis, providing a visual interface to manage and monitor Redis databases efficiently. "
|
||
cask: redisinsight
|
||
flatpak: com.redis.RedisInsight
|
||
mas: 2142946629
|
||
reek:
|
||
_bin: reek
|
||
_desc: "Reek is a code smell detector for Ruby programming language. It helps identify potential issues in your codebase such as complex methods, duplicated code, long parameter lists, and more. By analyzing \nyour code, Reek can suggest improvements to make your code cleaner, more maintainable, and easier to understand. It is a useful tool for Ruby developers to ensure code quality and adherence to best \npractices. You can find more information and usage instructions on its GitHub repository: https://github.com/troessner/reek. "
|
||
_github: https://github.com/troessner/reek
|
||
_name: Reek
|
||
_short: "Reek is a code smell detector for Ruby. "
|
||
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
|
||
_env:
|
||
REMMINA_APPDATA:
|
||
flatpak: $HOME/.var/app/org.remmina.Remmina/config/remmina/remmina.pref
|
||
snap: $HOME/snap/remmina/current/.config/remmina/remmina.pref
|
||
_github: https://github.com/FreeRDP/Remmina
|
||
_home: https://remmina.org/
|
||
_name: Remmina
|
||
_short: "Remmina is an open-source remote desktop client for Linux-based systems. "
|
||
apt: remmina
|
||
dnf: remmina
|
||
flatpak: org.remmina.Remmina
|
||
pacman: remmina
|
||
snap: remmina
|
||
yay: remmina-git
|
||
remote-desktop:
|
||
_deps:
|
||
- gnome-boxes
|
||
- microsoft-remote-desktop
|
||
- remmina
|
||
- xrdp
|
||
_github: false
|
||
repo:
|
||
_bin: repo
|
||
_github: false
|
||
_name: Repo
|
||
apt: repo
|
||
brew: repo
|
||
dnf: repo
|
||
pacman: repo
|
||
responsively:
|
||
_app: ResponsivelyApp.app
|
||
_bin: null
|
||
_desc: A modified web browser that helps in responsive web development
|
||
_github: https://github.com/responsively-org/responsively-app
|
||
_name: Responsively
|
||
_short: "Responsively App is a tool for web developers that allows them to preview how a website looks on different devices and resolutions simultaneously. "
|
||
cask: responsively
|
||
choco: responsively
|
||
github: github.com/responsively-org/responsively-app
|
||
restic:
|
||
_bin: restic
|
||
_desc: "[Restic](https://restic.net/) is a modern backup program that can back up your files from Linux, BSD, Mac and Windows to many different storage types, including self-hosted and online services. It is a single executable that you can run without a server or complex setup. It can be used to only back-up the parts of files that actually changed. It uses cryptography in every part of the process. Restic is entirely free to use and completely open source."
|
||
_docs: https://restic.readthedocs.io/en/latest/
|
||
_github: https://github.com/restic/restic
|
||
_home: https://restic.net/
|
||
_name: Restic
|
||
_short: "restic is an open-source backup program that is fast, secure, and efficient. "
|
||
ansible: professormanhattan.restic
|
||
apk: restic
|
||
apt: restic
|
||
brew: restic
|
||
dnf: restic
|
||
eopkg: restic
|
||
nix: restic
|
||
pacman: restic
|
||
pkg-freebsd: restic
|
||
pkg_add: restic
|
||
port: restic
|
||
scoop: restic
|
||
zypper: restic
|
||
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
|
||
_short: "resume-cli is a command-line tool for creating and managing resumes in JSON format on GitHub. "
|
||
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."
|
||
_github: https://github.com/BurntSushi/ripgrep
|
||
_name: ripgrep
|
||
_short: "ripgrep is a fast, line-oriented search tool that recursively searches your current directory for a regex pattern while respecting your gitignore rules. "
|
||
ansible: professormanhattan.ripgrep
|
||
apt: ripgrep
|
||
brew: ripgrep
|
||
cargo: ripgrep
|
||
choco: ripgrep
|
||
dnf: ripgrep
|
||
nix: ripgrep
|
||
pacman: ripgrep
|
||
pkg: ripgrep
|
||
port: ripgrep
|
||
scoop: ripgrep
|
||
zypper: ripgrep
|
||
ripgrep-all:
|
||
_bin: rga
|
||
_desc: rga is a line-oriented search tool that allows you to look for a regex in a multitude of file types. rga wraps the awesome ripgrep and enables it to search in pdf, docx, sqlite, jpg, movie subtitles (mkv, mp4), etc.
|
||
_github: https://github.com/phiresky/ripgrep-all
|
||
_name: "ripgrep-all "
|
||
_short: "ripgrep-all is a tool that combines the power of ripgrep and fd to search files in a directory tree. It's fast, efficient, and highly customizable for searching text content. "
|
||
brew:
|
||
- ffmpeg
|
||
- pandoc
|
||
- poppler
|
||
- rga
|
||
- tesseract
|
||
choco: ripgrep-all
|
||
nix: ripgrep-all
|
||
pacman: ripgrep-all
|
||
rkhunter:
|
||
_bin: rkhunter
|
||
_desc: rkhunter is a Unix-based tool that scans for rootkits, backdoors and possible local exploits
|
||
_github: false
|
||
_home: https://rkhunter.sourceforge.net/
|
||
_name: rkhunter
|
||
_notes: The _post script removes an entry for VMware with a space in it that causes rkhunter to hiccup
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### macOS
|
||
logg info 'Updating file "$(brew --prefix)/Cellar/rkhunter/1.4.6/etc/rkhunter.conf"' && gsed -i "s/^#WEB_CMD.*$/WEB_CMD=curl\ -L/" "$(brew --prefix)/Cellar/rkhunter/1.4.6/etc/rkhunter.conf"
|
||
else
|
||
### Linux
|
||
logg info 'Updating file /etc/rkhunter.conf' && sed -i "s/^#WEB_CMD.*$/WEB_CMD=curl\ -L/" /etc/rkhunter.conf
|
||
fi
|
||
export PATH="$(echo "$PATH" | sed 's/VMware Fusion.app/VMwareFusion.app/')"
|
||
sudo rkhunter --propupd || RK_PROPUPD_EXIT_CODE=$?
|
||
if [ -n "$RK_PROPUPD_EXIT_CODE" ]; then
|
||
echo "FIXME sudo rkhunter --propupd returned non-zero exit code"
|
||
fi
|
||
sudo rkhunter --update || RK_UPDATE_EXIT_CODE=$?
|
||
if [ -n "$RK_UPDATE_EXIT_CODE" ]; then
|
||
echo "FIXME sudo rkhunter --update returned non-zero exit code"
|
||
fi
|
||
_service:pacman: cronie
|
||
apt: rkhunter
|
||
brew: rkhunter
|
||
dnf: rkhunter
|
||
pacman:
|
||
- cronie
|
||
- rkhunter
|
||
- s-nail
|
||
rm-improved:
|
||
_bin: rip
|
||
_desc: A safe and ergonomic alternative to rm
|
||
_docs: https://github.com/nivekuil/rip
|
||
_github: https://github.com/nivekuil/rip
|
||
_home: https://github.com/nivekuil/rip
|
||
_name: rip (Rm ImProved)
|
||
_short: "rip is a tool for macOS that simplifies the process of uninstalling applications. "
|
||
brew: rm-improved
|
||
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
|
||
_short: "Robot Framework is an open-source test automation framework for acceptance testing and robotic process automation. "
|
||
pipx: robotframework
|
||
rofi:
|
||
_bin: rofi
|
||
_desc: Rofi is a window switcher, application launcher and dmenu replacement
|
||
_docs: https://davatorium.github.io/rofi/
|
||
_github: https://github.com/davatorium/rofi
|
||
_home: https://davatorium.github.io/rofi/
|
||
_name: rofi
|
||
_short: "Rofi is a window switcher, application launcher, and dmenu replacement for Unix-like systems. "
|
||
apt: rofi
|
||
dnf:fedora: rofi
|
||
pacman: rofi
|
||
pkg: rofi
|
||
port: rofi
|
||
zypper: rofi
|
||
rsync:
|
||
_bin: rsync
|
||
_desc: rsync is an open source utility that provides fast incremental file transfer.
|
||
_docs: https://rsync.samba.org/documentation.html
|
||
_github: https://github.com/WayneD/rsync
|
||
_home: https://rsync.samba.org/
|
||
_name: rsync
|
||
_short: "rsync is a fast and versatile file synchronization tool for Unix-like systems. "
|
||
apt: rsync
|
||
brew: rsync
|
||
choco: rsync
|
||
dnf: rsync
|
||
rsyslog:
|
||
_bin: rsyslogd
|
||
_desc: "rsyslog is an open-source software that provides a flexible and scalable logging system for Unix systems. It allows for high-performance log processing, message forwarding, and database logging. rsyslog\ncan be used to collect logs from various sources, filter and process them, and then store or forward them to different destinations. It supports a wide range of logging protocols and formats, making it \na versatile tool for managing logs in a centralized and efficient manner. "
|
||
_github: https://github.com/rsyslog/rsyslog
|
||
_name: RSyslog
|
||
_ports:
|
||
- port: 514
|
||
proto: tcp
|
||
_service: rsyslog
|
||
_short: "rsyslog is an open-source logging software that provides a flexible and scalable solution for processing and managing log messages in Unix and Unix-like systems. "
|
||
apt: rsyslog
|
||
brew: rsyslog
|
||
dnf: rsyslog
|
||
pacman: rsyslog
|
||
rtop:
|
||
_bin: rtop
|
||
_desc: "rtop is a remote system monitoring tool that allows you to monitor server resources in real-time through a web interface. It provides information on CPU usage, memory usage, network activity, and disk \nI/O. rtop is written in Go and is designed to be lightweight and efficient. It can be useful for monitoring multiple servers from a central location, making it easier to keep track of system performance\nacross your network. "
|
||
_github: https://github.com/rapidloop/rtop
|
||
_name: rtop
|
||
_short: "rtop is a remote system monitoring tool for Unix systems, providing real-time information on system resources like CPU, memory, and network usage. "
|
||
go: github.com/rapidloop/rtop@latest
|
||
rubocop:
|
||
_bin: rubocop
|
||
_desc: "RuboCop is a popular Ruby static code analyzer and code formatter tool available on GitHub at https://github.com/rubocop/rubocop. It enforces a consistent coding style and helps to identify and correct \ncommon programming errors in Ruby code. RuboCop is highly configurable and can be integrated into various editors and continuous integration pipelines to ensure code quality and adherence to best \npractices. It is widely used in the Ruby community to maintain clean, readable, and standardized codebases. "
|
||
_github: https://github.com/rubocop/rubocop
|
||
_name: Rubocop
|
||
_short: "RuboCop is a Ruby static code analyzer and code formatter. "
|
||
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.
|
||
_docs: https://www.ruby-lang.org/en/documentation/
|
||
_github: https://github.com/ruby/ruby
|
||
_home: https://www.ruby-lang.org/en/
|
||
_name: Ruby
|
||
_short: "Ruby is an open-source programming language known for its simplicity and productivity. "
|
||
ansible: professormanhattan.ruby
|
||
apt: ruby-dev
|
||
brew: ruby
|
||
choco: ruby
|
||
dnf: ruby-devel
|
||
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
|
||
_short: "ruff is a lightweight, fast, and flexible web framework for building web applications in Rust. "
|
||
apk: ruff
|
||
brew: ruff
|
||
pacman: ruff
|
||
pipx: ruff
|
||
runitor:
|
||
_bin: runitor
|
||
_desc: "Runitor is a tool available at https://github.com/bdd/runitor designed for monitoring and restarting processes. It allows you to define processes in a configuration file and then monitors them, \nrestarting any that exit unexpectedly. This can be useful for ensuring critical processes stay running without manual intervention. Runitor is written in Go and provides a simple yet effective way to \nmanage process monitoring and restarting tasks. "
|
||
_github: https://github.com/bdd/runitor
|
||
_name: Runitor
|
||
_short: "Runitor is a tool for running commands and scripts concurrently in a structured way. "
|
||
go: bdd.fi/x/runitor/cmd/runitor@latest
|
||
runjs:
|
||
_app: RunJS.app
|
||
_bin: null
|
||
_desc: A JavaScript playground that auto-evaluates as you type
|
||
_github: https://github.com/lukehaas/RunJS
|
||
_name: RunJS
|
||
_short: "RunJS is a lightweight and portable JavaScript playground that allows you to quickly test and run JavaScript code in a clean and simple interface. "
|
||
cask: runjs
|
||
choco: runjs
|
||
github: github.com/lukehaas/RunJS
|
||
yay: runjs-bin
|
||
rust:
|
||
_bin: rustc
|
||
_desc: "[Rust](https://www.rust-lang.org/) is a multi-paradigm programming language designed for performance and safety, especially safe concurrency."
|
||
_docs: https://www.rust-lang.org/learn
|
||
_github: https://github.com/rust-lang/rust
|
||
_home: https://www.rust-lang.org/
|
||
_name: Rust
|
||
_post:snap: |
|
||
#!/usr/bin/env bash
|
||
rustup toolchain install stable
|
||
_short: "rust-lang/rust is the official Rust programming language repository on GitHub. "
|
||
ansible: professormanhattan.rust
|
||
brew: rust
|
||
choco: rust
|
||
dnf:
|
||
- cargo
|
||
- rust
|
||
pacman: rust
|
||
port:
|
||
- cargo
|
||
- rust
|
||
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
|
||
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
|
||
_short: "RustDesk is an open-source remote desktop software written in Rust. "
|
||
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
|
||
_short: "RustScan is a fast port scanner written in Rust. "
|
||
brew: rustscan
|
||
yay: rustscan
|
||
rusty:
|
||
_bin: rusty
|
||
_desc: "rusty \n\n • Description: A GitHub repository named \"rusty\" created by user zahidkhawaja. \n • Purpose: The purpose of this repository is not specified in the description. \n • Language: It might be related to Rust programming language based on the name. \n • Activity: The last commit was made on [date], indicating the activity level. \n • License: Check the repository for licensing information. \n • Contributors: It may have contributors listed on the repository page. \n • Readme: Refer to the README file for more detailed information about the project. "
|
||
_github: https://github.com/zahidkhawaja/rusty
|
||
_name: Rusty AI CLI
|
||
_short: "rusty is a tool for managing Rust projects efficiently. "
|
||
_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
|
||
_short: "s is a command-line utility for macOS that allows for quick navigation of directories using a fuzzy search algorithm. "
|
||
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."
|
||
_github: https://github.com/peak/s5cmd
|
||
_name: s5cmd
|
||
_short: "s5cmd is a command-line utility for managing Amazon S3 storage. It provides fast and efficient operations for uploading, downloading, and managing objects in S3 buckets. "
|
||
ansible: professormanhattan.s5cmd
|
||
brew: peak/tap/s5cmd
|
||
github: github.com/peak/s5cmd
|
||
go: github.com/peak/s5cmd@latest
|
||
sad:
|
||
_bin: sad
|
||
_desc: sad is a Batch File Edit tool. It will show you a really nice diff of proposed changes before you commit them
|
||
_github: https://github.com/ms-jpq/sad
|
||
_name: "sad "
|
||
_short: "SAD is a fast, lightweight alternative to fzf for zsh shell. "
|
||
brew: ms-jpq/sad/sad
|
||
pacman: sad
|
||
safe-rm:
|
||
_bin: safe-rm
|
||
_desc: "shell-safe-rm is a tool on GitHub created by kaelzhang that aims to prevent accidental deletion of important files by enhancing the rm command in Unix-like systems. It adds a safety net by moving files \nto a trash directory instead of permanently deleting them. This can help prevent data loss by allowing users to easily recover files that were mistakenly deleted. The tool provides options to configure \nthe behavior of the rm command, making it a useful addition for users who want an extra layer of protection when managing their files. "
|
||
_github: https://github.com/kaelzhang/shell-safe-rm
|
||
_name: safe-rm
|
||
_short: "shell-safe-rm is a safer alternative to the rm command in Unix-like systems, designed to prevent accidental deletion of important files by moving them to a trash directory instead of permanently \ndeleting them. "
|
||
npm: safe-rm
|
||
sake:
|
||
_bin: sake
|
||
_desc: Sake is a task runner for local and remote hosts
|
||
_docs: https://sakecli.com/examples
|
||
_github: https://github.com/alajmo/sake
|
||
_home: https://sakecli.com/
|
||
_name: Sake
|
||
_short: "Sake is a simple task runner for Swift projects. "
|
||
brew: alajmo/sake/sake
|
||
go: github.com/alajmo/sake@latest
|
||
script:darwin: curl -sfL https://raw.githubusercontent.com/alajmo/sake/main/install.sh | sh
|
||
script:linux: curl -sfL https://raw.githubusercontent.com/alajmo/sake/main/install.sh | sh
|
||
samba:
|
||
_bin: smbd
|
||
_bin:dnf: smb
|
||
_desc: "[Samba](https://www.samba.org/) is a free and open-source software that allows files to be shared across Windows and Linux systems simply and easily. To be exact, it is an open-source implementation of the SMB/CIFS protocol."
|
||
_docs: https://www.samba.org/samba/docs/
|
||
_github: https://github.com/samba-team/samba
|
||
_groups:
|
||
- sambausers
|
||
_home: https://www.samba.org/
|
||
_name: Samba
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Samba Configuration
|
||
# @brief This script configures Samba by applying the configuration stored in `${XDG_DATA_HOME:-$HOME/.config}/samba/config` if the `smbd` application is available
|
||
# @description
|
||
# This script applies the Samba configuration stored in `${XDG_DATA_HOME:-$HOME/.config}/samba/config` if Samba is installed.
|
||
# The script and default configuration set up two Samba shares.
|
||
#
|
||
# ## Security
|
||
#
|
||
# Both shares are configured by default to only accept connections
|
||
# from hosts with DNS that ends in `.local.PUBLIC_SERVICES_DOMAIN`, where `PUBLIC_SERVICES_DOMAIN` is an environment variable that
|
||
# can be passed into Install Doctor. So, if your `PUBLIC_SERVICES_DOMAIN` environment variable is set to `megabyte.space`, then
|
||
# a device with a FQDN of `alpha.local.megabyte.space` pointing to its LAN location will be able to connect but a device
|
||
# with a FQDN of `alpha.megabyte.space` will not be able to connect.
|
||
#
|
||
# ## Samba Shares / S3 Backup
|
||
#
|
||
# If CloudFlare R2 credentials are provided, Samba is configured to store its shared files in the Rclone mounts so that your
|
||
# Samba shares are synchronized to the S3 buckets. If not, new folders are created. Either way, the folder / symlink that the
|
||
# shares host data from are stored at `/mnt/Private` and `/mnt/Public` (*Note: Different paths are used on macOS*).
|
||
#
|
||
# 1. The **public** share (named "Public") can be accessed by anyone (including write permissions with the default settings)
|
||
# 2. The **private** share (named "Private") can be accessed by specifying the PAM credentials of anyone who has an account that is included in the `sambausers` group
|
||
#
|
||
# ## Symlinks
|
||
#
|
||
# Symlinks are disabled for security reasons. This is because, with symlinking enabled, people can create symlinks on the shares and use the symlinks to access system files outside of the
|
||
# Samba shares. There are commented-out lines in the default configuration that you can uncomment to enable the symlinks in shares.
|
||
#
|
||
# ## Printers
|
||
#
|
||
# Printer sharing is not enabled by default. There are commented lines in the default configuration that should provide a nice stepping
|
||
# stone if you want to use Samba for printer sharing (with CUPS).
|
||
#
|
||
# ## Environment Variables
|
||
#
|
||
# The following chart details some of the environment variables that are used to determine the configuration of the
|
||
# Samba shares:
|
||
#
|
||
# | Environment Variable | Description |
|
||
# |-----------------------------|-----------------------------------------------------------------------------------------------------|
|
||
# | `PUBLIC_SERVICES_DOMAIN` | Used to determine which hosts can connect to the Samba share (e.g. `.local.PUBLIC_SERVICES_DOMAIN`) |
|
||
# | `SAMBA_NETBIOS_NAME` | Determines the NetBIOS name (defaults to the `HOSTNAME` environment variable value) |
|
||
# | `SAMBA_WORKGROUP` | Controls Samba workgroup name (defaults to "BETELGEUSE") |
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [Default Samba configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_local/samba/config.tmpl)
|
||
# * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets)
|
||
### Configure Samba server
|
||
if command -v smbd > /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" rclone
|
||
fi
|
||
### Define share locations
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### macOS does not have `/mnt` folder so use `/Volumes` location
|
||
MNT_FOLDER='Volumes'
|
||
else
|
||
MNT_FOLDER='mnt'
|
||
fi
|
||
PRIVATE_SHARE="/$MNT_FOLDER/Private"
|
||
PUBLIC_SHARE="/$MNT_FOLDER/Public"
|
||
logg info "Ensuring $PRIVATE_SHARE is created"
|
||
sudo mkdir -p "$PRIVATE_SHARE"
|
||
sudo chmod 750 "$PRIVATE_SHARE"
|
||
sudo chown -Rf root:rclone "$PRIVATE_SHARE"
|
||
logg info "Ensuring $PUBLIC_SHARE is created"
|
||
sudo mkdir -p "$PUBLIC_SHARE"
|
||
sudo chmod 755 "$PUBLIC_SHARE"
|
||
sudo chown -Rf root:rclone "$PUBLIC_SHARE"
|
||
logg info "Ensuring $HOME/Public is created"
|
||
mkdir -p "$HOME/Public"
|
||
chmod 755 "$HOME/Public"
|
||
chown -Rf "$USER":rclone "$HOME/Public"
|
||
### Copy the Samba server configuration file
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
sudo sharing -a "$PRIVATE_SHARE" -S "Private (System)" -n "Private (System)" -g 000 -s 001 -E 1 -R 1 && logg success "Configured $PRIVATE_SHARE as a private Samba share" || logg info 'sharing command failed - it is likely that the share was already set up'
|
||
sudo sharing -a "$PUBLIC_SHARE" -S "Public (System)" -n "Public (System)" -g 001 -s 001 -E 1 -R 0 && logg success "Configured $PUBLIC_SHARE as a public Samba share" || logg info 'sharing command failed - it is likely that the share was already set up'
|
||
sudo sharing -a "$HOME/Public" -S "Public (User)" -n "Public (User)" -g 001 -s 001 -E 1 -R 0 && logg success "Configured $HOME/Public as a public Samba share" || logg info 'sharing command failed - it is likely that the share was already set up'
|
||
else
|
||
logg info "Copying Samba server configuration to /etc/samba/smb.conf"
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/samba/config" "/etc/samba/smb.conf"
|
||
### Reload configuration file changes
|
||
logg info 'Reloading the smbd config'
|
||
smbcontrol smbd reload-config
|
||
fi
|
||
else
|
||
logg info "Samba server is not installed"
|
||
fi
|
||
_service: smbd
|
||
_service:dnf: smb
|
||
_short: "Samba is an open-source software suite that provides file and print services for various Microsoft Windows clients. "
|
||
apt: samba
|
||
brew: samba
|
||
dnf: samba
|
||
pacman: samba
|
||
port: samba4
|
||
sanoid:
|
||
_bin: sanoid
|
||
_deps:
|
||
- pv
|
||
_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."
|
||
_github: https://github.com/jimsalterjrs/sanoid/
|
||
_name: Sanoid
|
||
_short: "Sanoid is a tool for creating and managing ZFS snapshots. "
|
||
_when:linux: command -v zfs > /dev/null && ! zfs list
|
||
ansible:linux: professormanhattan.sanoid
|
||
apt:
|
||
- libcapture-tiny-perl
|
||
- libconfig-inifiles-perl
|
||
- libdata-dump-perl
|
||
- sanoid
|
||
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.
|
||
_docs: https://santa.dev/
|
||
_github: https://github.com/google/santa
|
||
_home: https://santa.dev/
|
||
_name: A binary authorization system for MacOS
|
||
_short: "Santa is a macOS application whitelisting/blacklisting tool developed by Google for enforcing security policies on macOS systems. "
|
||
cask: santa
|
||
sapling:
|
||
_bin: sl
|
||
_desc: "Sapling is a tool developed by Facebook that helps in managing and automating the process of creating and updating configuration files across multiple repositories. It allows users to define templates \nfor configuration files and then apply those templates to different repositories, ensuring consistency and reducing manual errors. Sapling also supports versioning of configuration files, making it \neasier to track changes and roll back if needed. It is designed to streamline the configuration management process for large-scale projects. "
|
||
_github: https://github.com/facebook/sapling
|
||
_name: Sapling
|
||
_short: "Sapling is a tool by Facebook for automatically generating code from tree-based models. "
|
||
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
|
||
_desc: "ComplianceAsCode/content is a GitHub repository that contains content for various compliance benchmarks, including CIS (Center for Internet Security) benchmarks. It provides configuration baselines for \ndifferent operating systems and applications to help users ensure their systems are compliant with industry standards. The repository includes scripts, documentation, and tools to assist in automating \ncompliance checks and remediation tasks. It is a valuable resource for organizations looking to enhance their security posture and meet regulatory requirements. "
|
||
_github: https://github.com/ComplianceAsCode/content
|
||
_name: OpenSCAP
|
||
_short: "ComplianceAsCode/content is a GitHub repository containing security compliance content for various platforms and tools. "
|
||
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
|
||
_github: https://github.com/Confbase/schema
|
||
_name: schema
|
||
_short: "Description: \nThe Confbase/schema repository on GitHub contains schemas for various configuration file formats. "
|
||
go: github.com/Confbase/schema@latest
|
||
scrcpy:
|
||
_bin: scrcpy
|
||
_desc: "[scrcpy](https://github.com/Genymobile/scrcpy) is a free and open-source application that provides display of Android devices connected on USB (or over TCP/IP). It also allows you to control the Android device. It does not require any root access."
|
||
_github: https://github.com/Genymobile/scrcpy
|
||
_name: scrcpy
|
||
_short: "scrcpy is a free and open-source tool that allows you to display and control Android devices connected via USB or TCP/IP. "
|
||
ansible: professormanhattan.scrcpy
|
||
apt: scrcpy
|
||
brew: scrcpy
|
||
choco: scrcpy
|
||
dnf: scrcpy
|
||
github: github.com/Genymobile/scrcpy
|
||
pkg: scrcpy
|
||
snap: scrcpy
|
||
yay: scrcpy
|
||
scrcpy-gui:
|
||
_bin: scrcpy-gui
|
||
_desc: A simple & beautiful GUI application for scrcpy
|
||
_github: https://github.com/Tomotoes/scrcpy-gui
|
||
_name: Scrcpy GUI
|
||
_short: "scrcpy-gui is a graphical user interface for scrcpy, a tool that allows you to display and control Android devices from your computer. "
|
||
flatpak: in.srev.guiscrcpy
|
||
sd:
|
||
_bin: sd
|
||
_desc: Intuitive find & replace CLI (sed alternative)
|
||
_github: https://github.com/chmln/sd
|
||
_name: sd
|
||
_short: "sd is a fast, intuitive find & replace tool for the command line. "
|
||
apk: sd
|
||
brew: sd
|
||
cargo: sd
|
||
choco: sd-cli
|
||
dnf:fedora: sd
|
||
github: github.com/chmln/sd
|
||
pacman: sd
|
||
pkg: sd
|
||
sddm:
|
||
_bin: sddm
|
||
_desc: "SDDM (Simple Desktop Display Manager) is a display manager for X11 and Wayland windowing systems. It is designed to be lightweight, fast, and customizable, making it a popular choice for managing user \nsessions on Linux desktop environments. SDDM supports multiple user sessions, themes, and greeters, allowing for a personalized login experience. It is written in C++ and QML, making it highly \ncustomizable and extensible. SDDM is widely used in various Linux distributions as the default display manager due to its simplicity and flexibility. "
|
||
_github: https://github.com/sddm/sddm
|
||
_name: SDDM
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo systemctl set-default graphical.target
|
||
_service: sddm
|
||
_short: "sddm is a modern display manager for X11 and Wayland aiming to be fast, simple, and beautiful. "
|
||
apt: sddm
|
||
dnf: sddm
|
||
pacman: sddm
|
||
zypper: sddm
|
||
sdkman-cli:
|
||
_bin: sdk
|
||
_desc: "SDKMAN! is a tool that helps with managing software development kits (SDKs) and package dependencies for various programming languages. It simplifies the process of installing, switching between, and \nmanaging multiple versions of SDKs like Java, Kotlin, Groovy, and more. The SDKMAN! CLI provides commands to install, list, use, and manage SDKs effortlessly. It's a popular choice among developers for \nmaintaining different versions of SDKs on their systems. The project is open-source and actively maintained on GitHub. "
|
||
_github: https://github.com/sdkman/sdkman-cli
|
||
_name: SDKMan
|
||
_short: "sdkman-cli is a command-line tool for managing software development kits (SDKs) on Unix-based systems. It simplifies the installation, management, and switching between different SDK versions for \nlanguages like Java, Kotlin, and more. "
|
||
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
|
||
_desc: "Seafile Client is an open-source file synchronization and collaboration tool that allows users to easily sync files and folders between devices. It provides end-to-end encryption for secure file sharing\nand supports features like file versioning, selective sync, and sharing links. The client is available for various platforms including Windows, macOS, and Linux. It integrates well with Seafile server \nfor seamless file management and collaboration. Users can manage their files both online and offline, making it a versatile solution for individuals and teams looking to securely sync and share files. "
|
||
_github: https://github.com/haiwen/seafile-client
|
||
_name: "seafile-client "
|
||
_short: "Seafile Client is an open-source file synchronization and collaboration tool for securely storing, accessing, and sharing files across devices. "
|
||
_todo: Look into integration of the full Seafile stack outlined [here](https://github.com/haiwen/seafile)
|
||
cask: seafile-client
|
||
choco: seafile-client
|
||
flatpak: com.seafile.Client
|
||
search-gpt:
|
||
_bin: searchgpt
|
||
_desc: "search-gpt is a GitHub repository created by Tobias Bueschel. It appears to be a project related to utilizing GPT (Generative Pre-trained Transformer) models for search-related tasks. The repository \nlikely contains code, documentation, and possibly pre-trained models for implementing and experimenting with GPT-based search functionalities. For more detailed information, you can explore the \nrepository directly on GitHub. "
|
||
_github: https://github.com/tobiasbueschel/search-gpt
|
||
_name: Search GPT
|
||
_short: "search-gpt is a tool that allows you to search through a large corpus of text using GPT models for natural language processing. "
|
||
npm: search-gpt
|
||
secretive:
|
||
_app: Secretive.app
|
||
_bin: null
|
||
_desc: Store SSH keys in the Secure Enclave
|
||
_github: https://github.com/maxgoedjen/secretive
|
||
_name: "Secretive "
|
||
_short: "Secretive is a macOS app that securely stores and manages your SSH keys in the Secure Enclave of your Mac. "
|
||
cask: secretive
|
||
security:
|
||
_bin: null
|
||
_desc: This role turns on auto-updates and configures sudo, for instance.
|
||
_github: false
|
||
_name: Security
|
||
ansible: professormanhattan.security
|
||
semantic-release:
|
||
_bin: semantic-release
|
||
_desc: "[semantic-release](https://semantic-release.gitbook.io) automates the whole package release workflow including: determining the next version number, generating the release notes, and publishing the package"
|
||
_docs: https://semantic-release.gitbook.io
|
||
_github: https://github.com/semantic-release/semantic-release
|
||
_home: https://semantic-release.gitbook.io
|
||
_name: semantic-release
|
||
_short: "semantic-release is a tool for automating versioning and package publishing based on commit messages. "
|
||
npm: semantic-release
|
||
sentry-cli:
|
||
_bin: sentry-cli
|
||
_desc: sentry-cli can connect to the Sentry API and manage some data for your projects
|
||
_github: https://github.com/getsentry/sentry-cli/
|
||
_name: sentry-cli
|
||
_short: "sentry-cli is a command-line interface for interacting with the Sentry error tracking service. "
|
||
brew:darwin: getsentry/tools/sentry-cli
|
||
github: github.com/getsentry/sentry-cli
|
||
npm: "@sentry/cli"
|
||
scoop: sentry-cli
|
||
yay: sentry-cli-bin
|
||
serve:
|
||
_bin: serve
|
||
_desc: serve helps you serve a static site, single page application or just a static file (no matter if on your device or on the local network). It also provides a neat interface for listing the directory's contents
|
||
_github: https://github.com/vercel/serve
|
||
_name: serve
|
||
_short: "vercel/serve is a simple, zero-configuration command-line tool to serve static sites quickly. "
|
||
npm: serve
|
||
serverless:
|
||
_bin: serverless
|
||
_desc: Build applications with serverless architectures
|
||
_docs: https://www.serverless.com/framework/docs
|
||
_github: https://github.com/serverless/serverless
|
||
_home: https://www.serverless.com/
|
||
_name: serverless
|
||
_short: "Serverless Framework is a popular open-source tool that simplifies deploying and managing serverless applications on various cloud platforms. "
|
||
brew: serverless
|
||
npm: serverless
|
||
sftpgo:
|
||
_bin: sftpgo
|
||
_deps:
|
||
- sftpgo-plugin-auth
|
||
_desc: Fully featured and highly configurable SFTP server with optional HTTP/S, FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob
|
||
_github: https://github.com/drakkan/sftpgo
|
||
_name: sftpgo
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo mkdir -p /usr/local/etc/sftpgo
|
||
sudo cp -f "$HOME/.local/etc/sftpgo/sftpgo.json" /usr/local/etc/sftpgo/sftpgo.json
|
||
sudo cp -f "$HOME/.local/etc/sftpgo/banner" /usr/local/etc/sftpgo/banner
|
||
sudo mkdir -p /usr/local/etc/branding
|
||
sudo cp -f "$HOME/.local/etc/branding/favicon.ico" /usr/local/etc/branding/favicon.ico
|
||
sudo cp -f "$HOME/.local/etc/branding/logo-color-256x256.png" /usr/local/etc/branding/logo-color-256x256.png
|
||
sudo cp -f "$HOME/.local/etc/branding/logo-color-900x900.png" /usr/local/etc/branding/logo-color-900x900.png
|
||
sudo sftpgo initprovider
|
||
_service: sftpgo
|
||
_service:brew:
|
||
- name: sftpgo
|
||
sudo: true
|
||
_serviceEnabled: true
|
||
_short: "sftpgo is an open-source SFTP server written in Go. "
|
||
brew: sftpgo
|
||
choco: sftpgo
|
||
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
|
||
_github: https://github.com/sftpgo/sftpgo-plugin-auth
|
||
_name: SFTPGo Authentication Plugin
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo mv -f $(which sftpgo-plugin-auth) /usr/local/bin/sftpgo-plugin-auth
|
||
_short: "sftpgo-plugin-auth is a plugin for SFTPGo that allows custom authentication methods to be used with the SFTP server. "
|
||
go: github.com/sftpgo/sftpgo-plugin-auth@latest
|
||
share:
|
||
_bin: share
|
||
_desc: Quickly share files from your command line
|
||
_github: https://github.com/marionebl/share-cli
|
||
_name: share
|
||
_short: "share-cli is a command-line tool for sharing files and directories securely using a temporary URL. "
|
||
npm: share-cli
|
||
sharex:
|
||
_bin: null
|
||
_desc: "[ShareX](https://getsharex.com/) is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to many supported destinations you can choose from."
|
||
_docs: https://getsharex.com/docs/faq
|
||
_github: https://github.com/ShareX/ShareX
|
||
_home: https://getsharex.com/
|
||
_name: ShareX
|
||
_short: "ShareX is an open-source tool for screen capture, file sharing, and productivity on Windows. "
|
||
ansible:windows: professormanhattan.sharex
|
||
choco: sharex
|
||
sharp:
|
||
_bin: sharp
|
||
_desc: CLI for sharp (a Node.js image processing module)
|
||
_github: https://github.com/vseventer/sharp-cli
|
||
_name: sharp
|
||
_short: "sharp-cli is a command-line interface for the popular image processing module Sharp in Node.js. "
|
||
npm: sharp-cli
|
||
shc:
|
||
_bin: shc
|
||
_desc: Shell script compiler
|
||
_docs: https://github.com/neurobin/shc
|
||
_github: https://github.com/neurobin/shc
|
||
_home: https://neurobin.org/projects/softwares/unix/shc/
|
||
_name: shc
|
||
_short: "shc is a shell script compiler that converts shell scripts into C code for faster execution. "
|
||
ansible:darwin: professormanhattan.shc
|
||
ansible:linux: professormanhattan.shc
|
||
brew: shc
|
||
port: shc
|
||
shdoc:
|
||
_bin: shdoc
|
||
_deps:script:
|
||
- gawk
|
||
_desc: "[shdoc](https://github.com/reconquest/shdoc) is a tool to generate Documentation for shell scripts (bash, sh, zsh)"
|
||
_github: https://github.com/reconquest/shdoc
|
||
_name: shdoc
|
||
_short: "shdoc is a tool for generating documentation from shell scripts. "
|
||
ansible:darwin: professormanhattan.shdoc
|
||
ansible:linux: professormanhattan.shdoc
|
||
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}
|
||
_desc: "Sheldon is a command-line tool for managing macOS preferences. It allows users to easily view, set, and remove macOS system and application preferences using a simple command-line interface. With \nSheldon, users can manage preferences for various system components like Dock, Finder, Safari, and more, making it convenient for system administrators and power users to customize and automate macOS \nsettings. It simplifies the process of managing preferences without needing to navigate through multiple settings menus, providing a more efficient way to handle macOS configurations. "
|
||
_github: https://github.com/rossmacarthur/sheldon
|
||
_name: Sheldon
|
||
_short: "sheldon is a macOS shell configuration framework that aims to make your shell experience more efficient and enjoyable. "
|
||
brew: sheldon
|
||
cargo: sheldon
|
||
shell-gpt:
|
||
_bin: sgpt
|
||
_desc: "The repository at https://github.com/TheR1D/shell_gpt appears to be a project related to a ShellGPT, which is likely a shell-based implementation of OpenAI's GPT (Generative Pre-trained Transformer) \nmodel. It seems to be a tool or script that leverages the power of GPT for shell scripting purposes. The README file in the repository might provide more detailed information on how to use it and what \nfunctionalities it offers. "
|
||
_github: https://github.com/TheR1D/shell_gpt
|
||
_name: Shell GPT
|
||
_short: "shell_gpt is a repository containing scripts and tools for enhancing shell productivity and automation. "
|
||
pipx: shell-gpt
|
||
shellcheck:
|
||
_bin: shellcheck
|
||
_desc: A static analysis tool for shell scripts
|
||
_docker: docker run --rm -v "$PWD:/mnt" koalaman/shellcheck:stable
|
||
_docs: https://github.com/koalaman/shellcheck/wiki/Directive
|
||
_github: https://github.com/koalaman/shellcheck
|
||
_home: https://www.shellcheck.net/
|
||
_name: Shellcheck
|
||
_short: "ShellCheck is a static analysis tool for shell scripts, helping to identify and fix common issues and improve script quality. "
|
||
apt: shellcheck
|
||
brew: shellcheck
|
||
cabal: shellcheck
|
||
choco: shellcheck
|
||
dnf: shellcheck
|
||
emerge: shellcheck
|
||
eopkg: shellcheck
|
||
nix: nixpkgs.shellcheck
|
||
pacman: shellcheck
|
||
pkg-freebsd: shellcheck
|
||
pkg_add: shellcheck
|
||
port: shellcheck
|
||
scoop: shellcheck
|
||
snap: shellcheck
|
||
stack: shellcheck
|
||
zypper: shellcheck
|
||
shfmt:
|
||
_bin: shfmt
|
||
_desc: "[shfmt](https://github.com/mvdan/sh) is a shell parser, formatter, and interpreter with bash support that is written with [Go](https://gitlab.com/megabyte-labs/ansible-roles/go)."
|
||
_github: https://github.com/mvdan/sh
|
||
_home: https://pkg.go.dev/mvdan.cc/sh/v3
|
||
_name: shfmt
|
||
_short: "mvdan/sh is a shell parser and formatter written in Go. "
|
||
ansible: professormanhattan.shfmt
|
||
apk: shfmt
|
||
brew: shfmt
|
||
github: github.com/mvdan/sh
|
||
go: mvdan.cc/sh/v3/cmd/shfmt@latest
|
||
pacman: shfmt
|
||
pkg: shfmt
|
||
scoop: shfmt
|
||
snap: shfmt
|
||
shml:
|
||
_bin: shml
|
||
_desc: "shml is a shell framework for faster and easier script development, allowing you to create command-line interfaces with color and style. It provides functions for outputting text in various colors, \nstyles, and layouts, making your scripts more visually appealing and easier to read. With shml, you can create tables, progress bars, and other interactive elements in your shell scripts. It simplifies \nthe process of creating professional-looking command-line interfaces in the terminal. "
|
||
_github: https://github.com/odb/shml
|
||
_name: SHML
|
||
_short: "shml is a shell framework for faster and easier script development with rich styling and formatting options. "
|
||
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
|
||
_short: "Shotcut is an open-source video editing software that offers a range of features for creating and editing videos. "
|
||
ansible: professormanhattan.shotcut
|
||
apt: shotcut
|
||
cask: shotcut
|
||
choco: shotcut
|
||
dnf: shotcut
|
||
flatpak: org.shotcut.Shotcut
|
||
snap: shotcut --classic
|
||
shotwell:
|
||
_bin: shotwell
|
||
_desc: "[Shotwell](https://shotwell-project.org/doc/html/) is an image organizer designed to provide personal photo management for the GNOME desktop environment. In 2010, it replaced F-Spot as the standard image tool for several GNOME-based Linux distributions, including Fedora in version 13 and Ubuntu in its 10.10 Maverick Meerkat release."
|
||
_docs: http://shotwell-project.org/doc/html/
|
||
_github: https://github.com/GNOME/shotwell
|
||
_home: https://wiki.gnome.org/Apps/Shotwell
|
||
_name: Shotwell
|
||
_short: "Shotwell is an open-source photo manager for Linux systems, developed by GNOME. "
|
||
ansible:linux: professormanhattan.shotwell
|
||
apt: shotwell
|
||
dnf: shotwell
|
||
flatpak: org.gnome.Shotwell
|
||
pacman: shotwell
|
||
shuttle:
|
||
_bin: cargo-shuttle
|
||
_desc: "Shuttle is an open-source, self-hosted project management tool that allows teams to collaborate on projects. It provides features like issue tracking, code reviews, and a wiki. It is built using Ruby on\nRails and supports integrations with services like GitHub, GitLab, and Slack. Shuttle aims to streamline project management processes and improve team communication and productivity. It is customizable \nand can be tailored to suit different team workflows and requirements. "
|
||
_github: https://github.com/shuttle-hq/shuttle
|
||
_name: Shuttle
|
||
_short: "Shuttle is a command-line tool for managing SSH connections and configurations efficiently. "
|
||
cargo: cargo-shuttle
|
||
pacman: cargo-shuttle
|
||
script: curl -sSfL https://www.shuttle.rs/install | bash
|
||
shx:
|
||
_bin: shx
|
||
_desc: "shx is a utility that wraps around Node.js's built-in fs module, providing a more concise and user-friendly way to interact with the file system in shell scripts. It allows you to run shell commands \nlike cp, rm, mkdir, etc., directly in Node.js scripts. This can be particularly useful for automating tasks in Node.js projects or for those who prefer using JavaScript for scripting. The shx library \nsimplifies file system operations and makes it easier to work with files and directories in Node.js applications. "
|
||
_github: https://github.com/shelljs/shx
|
||
_name: shx
|
||
_short: "shx is a wrapper around Node.js's child_process module and cross-platform commands for easier shell scripting in JavaScript. "
|
||
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
|
||
_short: "Signal-Desktop is an open-source messaging application that allows secure communication with end-to-end encryption. "
|
||
cask: signal
|
||
choco: signal
|
||
flatpak: org.signal.Signal
|
||
scoop: signal
|
||
skaffold:
|
||
_bin: skaffold
|
||
_desc: "Skaffold is a command-line tool that facilitates continuous development for Kubernetes applications. It automates the workflow for building, pushing, and deploying applications, making it easier for \ndevelopers to focus on writing code. Skaffold supports various build tools and container registries, allowing for flexibility in the development process. It also provides features like hot reloading, \nresource optimization, and integration with CI/CD pipelines. Overall, Skaffold streamlines the development process for Kubernetes applications, making it a valuable tool for teams working on \ncontainerized projects. "
|
||
_github: https://github.com/GoogleContainerTools/skaffold
|
||
_name: Skaffold
|
||
_short: "Skaffold is a command-line tool that facilitates continuous development for Kubernetes applications. "
|
||
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
|
||
_github: https://github.com/charmbracelet/skate
|
||
_name: skate
|
||
_short: "Skate is a terminal-based visual layout tool for creating interactive user interfaces in Go. "
|
||
brew: charmbracelet/tap/skate
|
||
go: github.com/charmbracelet/skate@latest
|
||
nix: nixpkgs.skate
|
||
pacman: skate
|
||
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
|
||
_short: "skhd is a simple hotkey daemon for macOS. "
|
||
brew:darwin: koekeishiya/formulae/skhd
|
||
skm:
|
||
_bin: skm
|
||
_desc: A simple and powerful SSH keys manager
|
||
_github: https://github.com/TimothyYe/skm
|
||
_name: skm
|
||
_short: "skm is a command-line tool for managing SSH keys. "
|
||
github: github.com/TimothyYe/skm
|
||
go: github.com/TimothyYe/skm/cmd/skm@latest
|
||
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
|
||
_docs: https://docs.microsoft.com/en-us/skype-sdk/skypeuris/skypeuriapireference
|
||
_github: Not open-source
|
||
_home: https://www.skype.com/en/
|
||
_name: Skype
|
||
_short: "$'Not open-source' is a string enclosed in single quotes preceded by a dollar sign and is typically used in Unix-like systems to enable escape sequences like \\n for new lines. "
|
||
ansible: professormanhattan.skype
|
||
cask: skype
|
||
choco: skype
|
||
flatpak: com.skype.Client
|
||
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
|
||
_short: "SlackTextViewController is a library for iOS that provides a chat interface similar to Slack. "
|
||
ansible: professormanhattan.slack
|
||
cask: slack
|
||
choco: slack
|
||
flatpak: com.slack.Slack
|
||
mas: 803453959
|
||
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."
|
||
_github: https://github.com/erroneousboat/slack-term
|
||
_name: slack-term
|
||
_short: "slack-term is a terminal-based Slack client that allows you to chat on Slack from the command line. "
|
||
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
|
||
_short: "maaslalani/slides is a tool for creating terminal-based presentations using Markdown. "
|
||
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
|
||
_short: "Sloth is a macOS tool that shows all open files and sockets in use by all running processes on your system. "
|
||
cask: sloth
|
||
snapcraft:
|
||
_bin: snapcraft
|
||
_deps:
|
||
- snapd
|
||
_desc: "Snapcraft is a tool developed by Canonical for building and packaging software as snaps, which are universal Linux packages that work across different distributions. It simplifies the process of \ncreating snaps by providing a clean and easy-to-use interface. Snapcraft allows developers to define the build process in a single YAML file, making it easier to automate and reproduce builds. It \nsupports various programming languages and frameworks, making it a versatile tool for packaging applications on Linux systems. Overall, Snapcraft streamlines the packaging process and helps developers \ndistribute their software efficiently. "
|
||
_github: https://github.com/canonical/snapcraft
|
||
_name: Snapcraft
|
||
_short: "Snapcraft is a tool used to build and package software as snaps for various Linux distributions. "
|
||
brew: snapcraft
|
||
snap: snapcraft --classic
|
||
snapd:
|
||
_bin: snap
|
||
_desc: "[Snap](https://snapcraft.io/) is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system."
|
||
_github: https://github.com/snapcore/snapd
|
||
_home: https://snapcraft.io/
|
||
_name: Snap
|
||
_service: snapd
|
||
_short: "snapd is a package manager for Linux distributions, developed by Canonical. "
|
||
snitch:
|
||
_app: Little Snitch.app
|
||
_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."
|
||
_docs: https://www.obdev.at/products/littlesnitch/getting-started.html
|
||
_github: https://github.com/evilsocket/opensnitch
|
||
_home: https://www.obdev.at/products/littlesnitch/index.html
|
||
_name: OpenSnitch/Little Snitch
|
||
_short: "OpenSnitch is a firewall application for Linux that provides network activity monitoring and control, allowing users to manage and control the connections made by their applications. "
|
||
cask: little-snitch
|
||
social-analyzer:
|
||
_bin: social-analyzer
|
||
_desc: API, CLI, and Web App for analyzing and finding a person's profile in 1000 social media \ websites
|
||
_github: https://github.com/qeeqbox/social-analyzer
|
||
_name: social-analyzer
|
||
_short: "social-analyzer is a tool for analyzing social media accounts. "
|
||
pipx: social-analyzer
|
||
soduto:
|
||
_app: Soduto.app
|
||
_desc: "Soduto is a GitHub repository that contains the source code for the Soduto app. This app allows users to easily share Wi-Fi passwords with their contacts. It provides a convenient way to share Wi-Fi \nnetwork details securely. The repository likely includes code for the app's functionality, user interface, and any other related components. Users can contribute to the project, report issues, or \nsuggest improvements through the repository on GitHub. "
|
||
_github: https://github.com/soduto/Soduto
|
||
_name: Soduto
|
||
_short: "Soduto is a tool for managing and syncing clipboard content across multiple devices. "
|
||
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
|
||
_short: "soft-serve is a command-line tool for generating colorful and customizable ASCII art in Go. "
|
||
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
|
||
_short: "Solargraph is a Ruby language server that provides intellisense, code completion, and other IDE features for Ruby development. "
|
||
brew: solargraph
|
||
gem: solargraph
|
||
solidity:
|
||
_bin: solcjs
|
||
_desc: Javascript bindings for the Solidity compiler
|
||
_github: https://github.com/ethereum/solc-js
|
||
_name: solcjs
|
||
_short: "solc-js is a JavaScript binding for the Solidity compiler, allowing developers to compile Solidity smart contracts within JavaScript applications. "
|
||
npm: solc
|
||
spacedrive:
|
||
_bin: spacedrive
|
||
_app: Spacedrive.app
|
||
_github: https://github.com/spacedriveapp/spacedrive
|
||
_name: Spacedrive
|
||
appimage: https://www.spacedrive.com/api/releases/desktop/stable/linux/x86_64
|
||
cask: spacedrive
|
||
msi: https://www.spacedrive.com/api/releases/desktop/stable/windows/x86_64
|
||
sparkleshare:
|
||
_app: SparkleShare.app
|
||
_bin: sparkleshare
|
||
_desc: "SparkleShare is an open-source file synchronization and collaboration tool that uses Git as its storage backend. It allows users to easily share and collaborate on files by automatically syncing changes\nto a central Git repository. Users can host their own server or use services like GitHub or GitLab. SparkleShare supports version control, encryption, and file history. It is designed to be simple to \nuse and is available for various platforms including macOS, Windows, and Linux. "
|
||
_github: https://github.com/hbons/SparkleShare
|
||
_name: Sparkle Share
|
||
_short: "SparkleShare is an open-source file synchronization and collaboration tool that uses Git under the hood. It allows users to easily share and collaborate on files and folders across multiple devices. "
|
||
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
|
||
_github: https://github.com/sindresorhus/speed-test
|
||
_name: speed-test
|
||
_short: "speed-test is a command-line tool for testing internet speed using speedtest.net. "
|
||
npm: speed-test
|
||
speedtest-cli:
|
||
_bin: speedtest-cli
|
||
_desc: Command line interface for testing internet bandwidth using speedtest.net
|
||
_github: https://github.com/sivel/speedtest-cli
|
||
_name: speedtest-cli
|
||
_short: "speedtest-cli is a command-line interface for testing internet bandwidth using speedtest.net. "
|
||
pipx: speedtest-cli
|
||
sphinx:
|
||
_bin: sphinx-build
|
||
_desc: "Sphinx is a popular documentation generator tool written in Python. It allows you to create high-quality documentation for your projects in various formats such as HTML, PDF, and ePub. Sphinx uses \nreStructuredText as its markup language and provides features like automatic indexing, cross-referencing, and support for extensions. It is widely used in the Python community and beyond for creating \nwell-structured and easily navigable documentation. Sphinx is highly customizable and can be integrated with version control systems like Git, making it a powerful tool for managing project \ndocumentation. "
|
||
_github: https://github.com/sphinx-doc/sphinx
|
||
_name: Sphinx
|
||
_short: "Sphinx is a documentation generator tool that makes it easy to create intelligent and beautiful documentation for Python projects. "
|
||
apt: python3-sphinx
|
||
choco: sphinx
|
||
dnf: python-sphinx
|
||
pipx: sphinx
|
||
spotdl:
|
||
_bin: spotdl
|
||
_deps:
|
||
- ffmpeg
|
||
_desc: Download your Spotify playlists and songs along with album art and metadata
|
||
_docs: https://spotdl.readthedocs.io/en/latest/
|
||
_github: https://github.com/spotDL/spotify-downloader
|
||
_name: spotdl
|
||
_short: "spotify-downloader is a tool that allows users to download music from Spotify for offline listening. "
|
||
pipx: spotdl
|
||
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
|
||
_short: "sql-language-server is a GitHub repository maintained by joe-re that provides a language server for SQL. "
|
||
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
|
||
_github: https://github.com/sqlectron/sqlectron-gui
|
||
_name: SQLectron
|
||
_short: "sqlectron-gui is a simple and lightweight SQL client with a clean interface for various databases. "
|
||
cask: sqlectron
|
||
github: github.com/sqlectron/sqlectron-gui
|
||
yay: sqlectron-gui
|
||
sqlite:
|
||
_bin: sqlite3
|
||
_desc: SQLite is a C-language library that implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine.
|
||
_docs: https://sqlite.org/docs.html
|
||
_github: https://github.com/sqlite/sqlite
|
||
_home: https://sqlite.org/index.html
|
||
_name: SQLite
|
||
_short: "SQLite is a lightweight, self-contained, serverless, zero-configuration, transactional SQL database engine. "
|
||
apt: sqlite3
|
||
brew: sqlite
|
||
choco: sqlite
|
||
dnf: sqlite
|
||
pacman: sqlite
|
||
port: sqlite3
|
||
scoop: sqlite
|
||
squid:
|
||
_bin: squid
|
||
_desc: "Squid is a widely-used caching proxy server that supports HTTP, HTTPS, FTP, and more. It helps improve web server performance by caching frequently accessed content, reducing bandwidth usage, and \nproviding access control features. Squid is open-source and highly configurable, making it popular for improving web browsing speeds and security. It is compatible with various operating systems and is \nknown for its stability and extensibility through plugins. The project is actively maintained and has a large community of users and developers contributing to its ongoing development. "
|
||
_github: https://github.com/squid-cache/squid
|
||
_name: Squid
|
||
_preload: true
|
||
_service: squid
|
||
_short: "Squid is a caching proxy server that supports HTTP, HTTPS, FTP, and more. "
|
||
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
|
||
_github: false
|
||
_name: SSH
|
||
ansible: professormanhattan.ssh
|
||
ssh-vault:
|
||
_bin: ssh-vault
|
||
_desc: "[sshvault](https://ssh-vault.com/) lets you encrypt/decrypt using SSH private keys. It is written in Go and the documentation can be read in under a minute."
|
||
_docs: https://ssh-vault.com/post/how-it-works/
|
||
_github: https://github.com/ssh-vault/ssh-vault
|
||
_home: https://ssh-vault.com/
|
||
_name: ssh-vault
|
||
_short: "ssh-vault is a tool for encrypting and decrypting secrets using SSH keys. "
|
||
ansible: professormanhattan.sshvault
|
||
brew: ssh-vault
|
||
github: github.com/ssh-vault/ssh-vault
|
||
sshfs:
|
||
_bin: sshfs
|
||
_desc: "SSHFS (SSH File System) is a network file system that allows you to mount remote directories over an SSH connection. It enables you to access and interact with files on a remote server as if they were \nlocal files on your own system. This tool is particularly useful for securely accessing and transferring files between systems over a secure SSH connection. The GitHub repository \nhttps://github.com/libfuse/sshfs contains the source code for SSHFS, which is built on top of FUSE (Filesystem in Userspace) to provide a seamless file system integration. "
|
||
_github: https://github.com/libfuse/sshfs
|
||
_name: SSHFS
|
||
_short: "SSHFS is a file system client based on the SSH File Transfer Protocol. It allows you to mount remote directories over an SSH connection as if they were local. "
|
||
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.
|
||
_github: https://github.com/kevinburke/sshpass
|
||
_home: https://sourceforge.net/projects/sshpass/
|
||
_name: sshpass
|
||
_short: "sshpass is a tool that allows non-interactive SSH password authentication. "
|
||
apt: sshpass
|
||
brew: hudochenkov/sshpass/sshpass
|
||
dnf: sshpass
|
||
sshs:
|
||
_bin: sshs
|
||
_desc: "sshs is a tool available at https://github.com/quantumsheep/sshs that aims to simplify SSH configuration management. It provides a command-line interface for managing SSH configurations, making it \neasier to switch between different SSH configurations and manage multiple SSH keys. This tool can be useful for users who frequently work with multiple SSH connections and need a more efficient way to \nhandle their SSH configurations. "
|
||
_github: https://github.com/quantumsheep/sshs
|
||
_name: SSHS
|
||
_short: "sshs is a simple SSH server for macOS. "
|
||
brew: sshs
|
||
choco: sshs
|
||
sshuttle:
|
||
_bin: sshuttle
|
||
_desc: "sshuttle is a transparent proxy server that works as a VPN over SSH. It allows you to create a secure connection between your local machine and a remote server using SSH, redirecting all network traffic\nthrough the SSH connection. This tool is useful for bypassing restrictive firewalls, accessing internal network resources securely, and encrypting your internet traffic. It is written in Python and is \navailable on GitHub at https://github.com/sshuttle/sshuttle. "
|
||
_github: https://github.com/sshuttle/sshuttle
|
||
_name: SShuttle
|
||
_short: "sshuttle is a transparent proxy server that works as a VPN over SSH. It allows you to create a secure connection to a remote server and route all your network traffic through it. "
|
||
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
|
||
_github: https://github.com/suyashkumar/ssl-proxy
|
||
_name: ssl-proxy
|
||
_short: "ssl-proxy is a tool for transparently intercepting and logging SSL/TLS traffic. "
|
||
go: github.com/suyashkumar/ssl-proxy@latest
|
||
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
|
||
_short: "Stacer is a GUI-based system optimizer and monitoring tool for Linux systems. "
|
||
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
|
||
_short: "Standard Notes App is an open-source, end-to-end encrypted note-taking application for privacy-conscious users. "
|
||
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
|
||
_short: "starred is a tool that helps you manage your starred repositories on GitHub. "
|
||
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."
|
||
_github: https://github.com/starship/starship
|
||
_name: Starship
|
||
_short: "Starship is a customizable, fast, and minimal prompt for any shell. "
|
||
ansible: professormanhattan.starship
|
||
statcode:
|
||
_bin: statcode
|
||
_desc: "statcode is a command-line tool available on GitHub at https://github.com/shobrook/statcode. It allows you to quickly view HTTP status codes and their definitions. By providing a status code as an \nargument, it returns the corresponding status code along with a brief description. This tool can be handy for developers and system administrators to quickly reference HTTP status codes without needing \nto search online. It simplifies the process of understanding and working with HTTP status codes in a terminal environment. "
|
||
_docs: Man pages for HTTP status codes
|
||
_github: https://github.com/shobrook/statcode
|
||
_name: "statcode "
|
||
_short: "statcode is a command-line tool that displays HTTP status codes with their definitions. "
|
||
pipx: statcode
|
||
yay: statcode
|
||
staticcheck:
|
||
_bin: staticcheck
|
||
_desc: State of the art linter for the Go programming language
|
||
_docs: https://staticcheck.io/docs/
|
||
_github: https://github.com/dominikh/go-tools
|
||
_home: https://staticcheck.io/
|
||
_name: staticcheck
|
||
_short: "go-tools is a collection of tools for working with Go code, providing static analysis, formatting, and more. "
|
||
brew: staticcheck
|
||
dnf:fedora: golang-honnef-tools
|
||
go: honnef.co/go/tools/cmd/staticcheck@latest
|
||
pacman: staticcheck
|
||
port: staticcheck
|
||
scoop: staticcheck
|
||
stats:
|
||
_app: Stats.app
|
||
_bin: null
|
||
_desc: System monitor for the menu bar
|
||
_github: https://github.com/exelban/stats
|
||
_name: stats
|
||
_service: null
|
||
_short: "stats is a command-line tool that provides system statistics in real-time for macOS. "
|
||
cask: stats
|
||
steam:
|
||
_app: Steam.app
|
||
_bin: steam
|
||
_github: false
|
||
_name: steam
|
||
cask: steam
|
||
choco: steam
|
||
flatpak: com.valvesoftware.Steam
|
||
steampipe:
|
||
_bin: steampipe
|
||
_desc: "Steampipe is an open-source DevOps tool that allows you to query, analyze, and interact with cloud infrastructure using SQL. It provides a unified way to access and manage data across multiple cloud \nproviders like AWS, Azure, Google Cloud, and more. With Steampipe, you can write SQL queries to retrieve information about your cloud resources, automate compliance checks, and perform various tasks \nefficiently. It offers a plugin-based architecture, making it easy to extend its functionality to support different cloud services and custom use cases. "
|
||
_github: https://github.com/turbot/steampipe
|
||
_name: Steampipe
|
||
_short: "Steampipe is an open-source DevOps tool that allows you to query, analyze, and monitor cloud infrastructure using SQL. "
|
||
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
|
||
_github: https://github.com/KuroLabs/stegcloak
|
||
_home: https://stegcloak.surge.sh/
|
||
_name: stegcloak
|
||
_short: "Stegcloak is a tool for hiding secrets within text using steganography techniques. "
|
||
npm: stegcloak
|
||
storybook:
|
||
_bin: storybook
|
||
_desc: "Storybook is an open-source tool for developing UI components in isolation for React, Vue, Angular, and other frontend frameworks. It allows developers to showcase components in different states and \nvariations without the need to navigate the entire application. Storybook provides a clean and interactive UI for organizing and browsing components, making it easier to develop, test, and showcase UI \nelements. It's widely used in the frontend development community to improve component-driven development workflows. "
|
||
_github: https://github.com/storybookjs/storybook
|
||
_name: Storybook
|
||
_short: "Storybook is a tool for developing UI components in isolation for React, Vue, and Angular. It helps in building and testing components independently from the rest of the application. "
|
||
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
|
||
_short: "sttr is a tool for terminal recording and playback. "
|
||
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
|
||
_docs: https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby
|
||
_github: https://github.com/getdnsapi/stubby
|
||
_name: Stubby
|
||
_post:brew:darwin: |
|
||
#!/usr/bin/env bash
|
||
bash "$(brew --prefix stubby)/sbin/stubby-setdns-macos.sh"
|
||
_service: stubby
|
||
_short: "Stubby is a DNS privacy tool that encrypts DNS queries to enhance online privacy and security. "
|
||
brew:darwin: stubby
|
||
supervisor:
|
||
_bin: supervisord
|
||
_desc: "Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. It is written in Python and provides an easy way to manage \nprocesses, such as starting, stopping, and restarting them. Supervisor also offers a web-based interface for monitoring the processes it manages. It is commonly used to manage processes in production \nenvironments to ensure they are running smoothly. "
|
||
_github: https://github.com/Supervisor/supervisor
|
||
_name: Supervisor
|
||
_service: supervisor
|
||
_short: "Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. "
|
||
apt: supervisor
|
||
brew: supervisor
|
||
dnf: supervisor
|
||
pacman: supervisor
|
||
pipx: supervisor
|
||
zypper: supervisor
|
||
surge:
|
||
_bin: surge
|
||
_desc: CLI for the surge.sh CDN
|
||
_github: https://github.com/sintaxi/surge
|
||
_name: surge
|
||
_short: "Surge is a static web publishing tool for front-end developers. "
|
||
npm: surge
|
||
svgo:
|
||
_bin: svgo
|
||
_desc: SVG Optimizer is a Node.js-based tool for optimizing SVG vector graphics files.
|
||
_github: https://github.com/svg/svgo
|
||
_name: svgo
|
||
_short: "SVGO is a tool for optimizing SVG files, reducing their size without affecting quality. "
|
||
brew: svgo
|
||
npm: svgo
|
||
swarm:
|
||
_bin: null
|
||
_desc: Docker Swarm is an orchestration management tool that runs Docker applications. It helps in creating and deploying a cluster of Docker nodes
|
||
_docs: https://docs.docker.com/engine/swarm/
|
||
_github: https://github.com/moby/swarmkit
|
||
_name: Docker Swarm
|
||
_short: "swarmkit is a toolkit for orchestrating distributed systems at any scale. "
|
||
ansible: professormanhattan.swarm
|
||
swiftbar:
|
||
_app: SwiftBar.app
|
||
_desc: "SwiftBar is a macOS menu bar customization tool that allows users to add custom scripts, widgets, and plugins to their menu bar. It is highly customizable and extensible, enabling users to display \nvarious information such as system stats, weather, calendar events, and more directly in the menu bar. SwiftBar supports scripting in languages like Shell, Python, Ruby, and JavaScript, making it \nversatile for users with different scripting preferences. It provides a simple yet powerful way to enhance the functionality and appearance of the macOS menu bar. "
|
||
_github: https://github.com/swiftbar/SwiftBar
|
||
_name: SwiftBar
|
||
_short: "SwiftBar is a macOS menu bar customization tool that allows users to add custom scripts, widgets, and information to their menu bar. "
|
||
cask: swiftbar
|
||
swiftformat:
|
||
_bin: swiftformat
|
||
_desc: "SwiftFormat is a tool for formatting Swift code to meet a consistent style. It can be used to automatically format code according to predefined rules, making it easier to maintain a clean and readable \ncodebase. It supports a wide range of formatting options and can be integrated into Xcode as a build phase script or used from the command line. SwiftFormat helps developers adhere to coding standards, \nimproves code consistency, and reduces time spent on manual formatting. It is a valuable tool for Swift developers looking to streamline their workflow and ensure code quality. "
|
||
_github: https://github.com/nicklockwood/SwiftFormat
|
||
_name: SwiftFormat
|
||
_short: "SwiftFormat is a tool for formatting Swift code to maintain consistent style and readability. "
|
||
brew: swiftformat
|
||
swifty:
|
||
_app: Swifty.app
|
||
_bin: swifty
|
||
_desc: "swifty \n\nDescription: swifty is a GitHub repository belonging to the organization swiftyapp. It likely contains code related to a project or application named Swifty. Without further access to the repository, \nit's challenging to provide specific details on its contents. You can visit the repository link to explore its code, documentation, and any other resources shared by the developers. "
|
||
_github: https://github.com/swiftyapp/swifty
|
||
_name: Swifty
|
||
_short: "swifty is a GitHub repository for the Swifty app. "
|
||
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
|
||
_short: "Swimat is a tool for automatically formatting Swift code in Xcode projects. "
|
||
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
|
||
_short: "SwitchHosts is a tool for managing and switching between multiple hosts files on macOS. "
|
||
ansible: professormanhattan.switchhosts
|
||
appimage: oldj/SwitchHosts
|
||
cask: switchhosts
|
||
choco: switchhosts
|
||
github: github.com/oldj/SwitchHosts
|
||
scoop: switchhosts
|
||
sync-ssh-keys:
|
||
_bin: sync-ssh-keys
|
||
_desc: Sync public ssh keys to ~/.ssh/authorized_keys, based on Github/Gitlab organization membership
|
||
_github: https://github.com/samber/sync-ssh-keys
|
||
_name: sync-ssh-keys
|
||
_short: "sync-ssh-keys is a tool for synchronizing SSH keys across multiple servers. "
|
||
go: github.com/samber/sync-ssh-keys@latest
|
||
yay: sync-ssh-keys-bin
|
||
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
|
||
_short: "syncpack is a tool that keeps dependencies in sync between multiple package.json files in a project. "
|
||
npm: syncpack
|
||
syncthing:
|
||
_bin: syncthing
|
||
_desc: "Syncthing is an open-source continuous file synchronization program that allows you to securely sync files between multiple devices. It is designed to be decentralized, giving you control over your data\nwithout relying on a central server. Syncthing uses end-to-end encryption to ensure your files are transferred securely. It supports various operating systems, including Darwin/MacOS, making it a \nversatile solution for keeping your files in sync across different devices. You can find more information about Syncthing on its GitHub page: Syncthing GitHub Repository. "
|
||
_github: https://github.com/syncthing/syncthing
|
||
_name: Syncthing
|
||
_service: syncthing
|
||
_serviceEnabled: true
|
||
_short: "Syncthing is an open-source continuous file synchronization program. "
|
||
brew: syncthing
|
||
choco: syncthing
|
||
port: syncthing
|
||
scoop: syncthing
|
||
synp:
|
||
_bin: synp
|
||
_desc: Convert yarn.lock to package-lock.json and vice versa
|
||
_github: https://github.com/imsnif/synp
|
||
_name: synp
|
||
_short: "synp is a tool for synchronizing directories. "
|
||
npm: synp
|
||
sysbench:
|
||
_bin: sysbench
|
||
_desc: System performance benchmark tool
|
||
_github: https://github.com/akopytov/sysbench
|
||
_name: sysbench
|
||
_short: "sysbench is a versatile benchmark tool for evaluating system performance on Linux and other Unix-like systems. "
|
||
apk: sysbench
|
||
apt: sysbench
|
||
brew: sysbench
|
||
dnf:fedora: sysbench
|
||
pacman: sysbench
|
||
pkg: sysbench
|
||
sysdig:
|
||
_bin: sysdig
|
||
_desc: "[sysdig](https://www.sysdig.com/) is a simple tool for deep system visibility, exploration and troubleshooting, with native support for containers."
|
||
_docs: https://docs.sysdig.com/
|
||
_github: https://github.com/draios
|
||
_groups:
|
||
- sysdig
|
||
_home: https://sysdig.com/
|
||
_name: sysdig
|
||
_short: "draios is a GitHub repository belonging to a company that specializes in system monitoring and troubleshooting tools. "
|
||
ansible: professormanhattan.sysdig
|
||
brew: sysdig
|
||
pacman:
|
||
- sysdig
|
||
- sysdig-dkms
|
||
sysget:
|
||
_bin: sysget
|
||
_desc: One package manager to rule them all
|
||
_github: https://github.com/emilengler/sysget
|
||
_name: sysget
|
||
_note: TODO
|
||
_short: "sysget is a package manager for Unix-like systems, designed to simplify software installation and management through a unified interface. "
|
||
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
|
||
_short: "sysz is a tool for live kernel tracing on macOS. "
|
||
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
|
||
_github: https://github.com/sferik/t
|
||
_name: "t "
|
||
_short: "t is a command-line power tool for Twitter. "
|
||
gem: t
|
||
t-rec:
|
||
_bin: t-rec
|
||
_deps:cargo:
|
||
- imagemagick
|
||
_desc: "[t-rec](https://github.com/sassman/t-rec-rs) is a blazingly fast terminal recorder that generates animated GIF images for the web written in Rust"
|
||
_docs: https://crates.io/crates/t-rec
|
||
_github: https://github.com/sassman/t-rec-rs
|
||
_home: https://crates.io/crates/t-rec
|
||
_name: t-rec
|
||
_short: "t-rec-rs is a terminal-based screen recorder written in Rust. "
|
||
ansible: professormanhattan.trec
|
||
brew: t-rec
|
||
cargo: t-rec
|
||
port: t-rec
|
||
snap: t-rec --classic
|
||
yay: t-rec
|
||
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
|
||
_github: https://github.com/Eugeny/tabby
|
||
_home: https://tabby.sh/
|
||
_name: Tabby
|
||
_notes: TODO Update the direct links periodically and keep eye out for Snap / Flatpak
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Tabby Plugins
|
||
# @brief This script installs the default Tabby plugins which are defined in `${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins/package.json`
|
||
# @description
|
||
# This script pre-installs a handful of useful Tabby plugins which are defined in `${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins/package.json`.
|
||
# These default plugins can be customized by editting the `package.json` file stored in your Install Doctor fork in the Tabby `plugins/package.json`
|
||
# file.
|
||
#
|
||
# ## Default Plugins Configuration
|
||
#
|
||
# The script will install all the plugins defined in the `package.json` file by navigating to the `~/.config/tabby/plugins` folder
|
||
# and then run `npm install`. The default configuration will include the following plugins:
|
||
#
|
||
# ```json
|
||
# {
|
||
# ...
|
||
# // Notable dependencies listed below
|
||
# "dependencies": {
|
||
# "tabby-docker": "^0.2.0",
|
||
# "tabby-save-output": "^3.1.0",
|
||
# "tabby-search-in-browser": "^0.0.1",
|
||
# "tabby-workspace-manager": "^0.0.4"
|
||
# },
|
||
# ...
|
||
# }
|
||
# ```
|
||
#
|
||
# ## Default Plugin Descriptions
|
||
#
|
||
# The following chart provides a short description of the default plugins that are pre-installed alongside Tabby:
|
||
#
|
||
# | NPM Package | Description |
|
||
# |---------------------------|---------------------------------------------------------------------|
|
||
# | `tabby-docker` | Allows you to shell directly into Docker containers |
|
||
# | `tabby-save-output` | This plugin lets you stream console output into a file. |
|
||
# | `tabby-search-in-browser` | Allows you to open a internet browser and search for selected text. |
|
||
# | `tabby-workspace-manager` | Allows you to create multiple workspace profiles. |
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [Tabby plugins `package.json`](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/tabby/plugins/package.json)
|
||
# * [Secrets / Environment variables documentation](https://install.doctor/docs/customization/secrets) which details how to store your Tabby configuration in as an encrypted file
|
||
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins/package.json" ]; then
|
||
if [ -d "${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins/node_modules" ]; then
|
||
logg info 'Skipping Tabby plugin installation because it looks like the plugins were already installed since node_modules is present in ~/.config/tabby/plugins'
|
||
else
|
||
logg info 'Installing Tabby plugins defined in '"${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins/package.json"''
|
||
cd "${XDG_CONFIG_HOME:-$HOME/.config}/tabby/plugins"
|
||
npm install --quiet
|
||
logg success 'Finished installing Tabby plugins'
|
||
fi
|
||
else
|
||
logg info 'Skipping Tabby plugin installation because is not present'
|
||
fi
|
||
_short: "Tabby is a terminal-based table viewer for MacOS. "
|
||
ansible:linux: professormanhattan.tabby
|
||
apt: https://github.com/Eugeny/tabby/releases/download/v1.0.188/tabby-1.0.188-linux-x64.deb
|
||
cask: tabby
|
||
choco: tabby
|
||
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
|
||
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
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Tailscale
|
||
# @brief Connects the Tailscale client with the Tailscale network
|
||
# @description
|
||
# This script ensures the `tailscaled` system daemon is installed on macOS. Then, on both macOS and Linux, it connects to the Tailscale
|
||
# network if the `TAILSCALE_AUTH_KEY` variable is provided.
|
||
### Install the Tailscale system daemon
|
||
if [ -d /Applications ] && [ -d System ]; then
|
||
### macOS
|
||
if command -v tailscaled > /dev/null; then
|
||
logg info 'Ensuring tailscaled system daemon is installed'
|
||
sudo tailscaled install-system-daemon
|
||
logg info 'tailscaled system daemon is now installed and will load on boot'
|
||
else
|
||
logg info 'tailscaled does not appear to be installed'
|
||
fi
|
||
fi
|
||
### Connect to Tailscale network
|
||
if command -v tailscale > /dev/null && [ "$TAILSCALE_AUTH_KEY" != "" ]; then
|
||
logg info 'Connecting to Tailscale with user-defined authentication key'
|
||
timeout 14 tailscale up --authkey="$TAILSCALE_AUTH_KEY" --accept-routes || EXIT_CODE=$?
|
||
if [ -n "$EXIT_CODE" ]; then
|
||
logg warn 'tailscale up timed out'
|
||
else
|
||
logg success 'Connected to Tailscale network'
|
||
fi
|
||
fi
|
||
_service:brew: tailscale
|
||
_service:pacman: tailscaled
|
||
_short: "Tailscale is a secure mesh VPN that makes it easy to connect your devices securely. "
|
||
ansible: professormanhattan.tailscale
|
||
brew: tailscale
|
||
cask: tailscale
|
||
choco: tailscale
|
||
go: tailscale.com/cmd/tailscale{,d}@main
|
||
mas: 1475387142
|
||
pacman: tailscale
|
||
port: tailscale
|
||
talksheet:
|
||
_bin: talksheet
|
||
_desc: "talksheet is a tool available on GitHub created by danthelion. It appears to be a command-line utility written in Python for managing notes and tasks in a simple text-based format. Users can create, \nedit, and organize their notes and tasks using this tool. It seems to offer a straightforward way to keep track of information without the need for a complex interface. For more detailed information and\nusage instructions, you can refer to the repository on GitHub: talksheet. "
|
||
_github: https://github.com/danthelion/talksheet
|
||
_name: Talksheet
|
||
_short: "talksheet is a tool for creating and managing structured notes in Markdown format, designed for easy organization and sharing on GitHub. "
|
||
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
|
||
_short: "taplo is a TOML parser and serializer written in Rust. "
|
||
cargo: taplo-cli --locked
|
||
npm: "@taplo/cli"
|
||
tart:
|
||
_bin: tart
|
||
_desc: "Tart is a tool developed by Cirrus Labs that allows you to run shell commands in a Docker container. It provides a simple way to isolate and execute commands in a controlled environment, which can be \nuseful for testing, building, or running commands without affecting your local system. Tart simplifies the process of running commands in a consistent environment, making it easier to reproduce results \nacross different systems. It can be particularly handy for tasks that require specific dependencies or configurations that may not be present on your local machine. "
|
||
_github: https://github.com/cirruslabs/tart
|
||
_name: "tart "
|
||
_short: "Tart is a tool for running shell commands in parallel. "
|
||
_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
|
||
_docs: https://taskfile.dev/usage/
|
||
_github: https://github.com/go-task/task
|
||
_home: https://taskfile.dev
|
||
_name: Task
|
||
_short: "Task is a simple task runner / build tool for Go projects. "
|
||
brew: go-task
|
||
choco: go-task
|
||
github: github.com/go-task/task
|
||
go: github.com/go-task/task/v3/cmd/task@latest
|
||
scoop: task
|
||
taskwarrior:
|
||
_bin: taskwarrior
|
||
_desc: "Taskwarrior is an open-source command-line task management tool. It allows users to manage tasks, deadlines, priorities, tags, and more efficiently. Taskwarrior provides features like task scheduling, \ndue dates, dependencies, and custom reports. It is highly customizable and extensible through various plugins and extensions. Taskwarrior helps users stay organized and focused by providing a simple yet\npowerful interface for managing tasks effectively. "
|
||
_github: https://github.com/GothenburgBitFactory/taskwarrior
|
||
_name: Task Warrior
|
||
_short: "Taskwarrior is an open-source task management tool for the command line. "
|
||
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
|
||
_short: "$'Not open-source' is a string enclosed in single quotes preceded by a dollar sign and is typically used in Unix-like systems to enable escape sequences like \\n for new lines. "
|
||
ansible:linux: professormanhattan.teamviewer
|
||
apt: https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
|
||
cask: teamviewer
|
||
choco: teamviewer
|
||
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
|
||
telegram:
|
||
_app: Telegram.app
|
||
_bin: telegram
|
||
_desc: "Telegram Desktop is an open-source messaging app that allows users to securely communicate with others. It is based on the Telegram API and is available for various platforms, including macOS. Users can\nsend messages, photos, videos, and files, as well as create groups and channels. The app also supports voice and video calls. The source code for Telegram Desktop is hosted on GitHub at \nhttps://github.com/telegramdesktop/tdesktop, allowing developers to contribute to its development and customize the app as needed. "
|
||
_github: https://github.com/telegramdesktop/tdesktop
|
||
_name: Telegram
|
||
_short: "Telegram Desktop is an open-source messaging app that allows users to securely communicate through text, voice, and video. "
|
||
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."
|
||
_github: https://github.com/gravitational/teleport
|
||
_name: Teleport
|
||
_short: "Teleport is an open-source tool for securely accessing SSH servers and Kubernetes clusters. "
|
||
ansible: professormanhattan.teleport
|
||
brew: teleport
|
||
pkg: teleport
|
||
yay: teleport-bin
|
||
teller:
|
||
_bin: teller
|
||
_desc: Cloud native secrets management for developers - never leave your command line for secrets
|
||
_github: https://github.com/tellerops/teller
|
||
_name: teller
|
||
_short: "teller is a tool for managing secrets securely in a GitOps workflow. "
|
||
brew: spectralops/tap/teller
|
||
github: github.com/tellerops/teller
|
||
temps:
|
||
_bin: null
|
||
_desc: Simple menubar application based on Electron with actual weather information and forecast
|
||
_github: https://github.com/jackd248/temps
|
||
_name: Temps
|
||
_short: "temps is a simple temperature converter tool created by jackd248 on GitHub. "
|
||
github: github.com/jackd248/temps
|
||
terminal-notifier:
|
||
_bin: terminal-notifier
|
||
_desc: "Terminal Notifier is a command-line tool for sending macOS notifications. It allows you to display notifications from the terminal or scripts, providing a way to alert users about events or tasks. It \nsupports customizing notification titles, messages, icons, and more. This tool is useful for automating tasks, creating reminders, or providing feedback to users in a non-intrusive way. It's a handy \ntool for developers, system administrators, or anyone looking to enhance their macOS workflow with notifications. "
|
||
_github: https://github.com/julienXX/terminal-notifier
|
||
_name: Terminal Notifier
|
||
_short: "terminal-notifier is a command-line tool for sending macOS notifications. "
|
||
brew:darwin: terminal-notifier
|
||
terminalizer:
|
||
_bin: terminalizer
|
||
_desc: Record your terminal and generate animated gif images or share a web player
|
||
_github: https://github.com/faressoft/terminalizer
|
||
_home: https://www.terminalizer.com/
|
||
_name: terminalizer
|
||
_short: "Terminalizer is a tool for recording your terminal sessions into animated GIFs or videos. "
|
||
npm: terminalizer
|
||
termius:
|
||
_bin: termius
|
||
_desc: "[Termius](https://www.termius.com/) is the SSH client that works on Desktop and Mobile."
|
||
_github: false
|
||
_home: https://www.termius.com/
|
||
_name: Termius
|
||
_post:binary:windows: |
|
||
# TODO
|
||
ansible: professormanhattan.termius
|
||
binary:windows: https://autoupdate.termius.com/windows/Termius.exe
|
||
brew: termius
|
||
pipx: termius
|
||
snap: termius-app
|
||
yay: termius
|
||
terraform:
|
||
_deps:
|
||
- tfenv
|
||
_desc: "Terraform is an open-source infrastructure as code software tool created by HashiCorp. It allows users to define and provision data center infrastructure using a high-level configuration language. With \nTerraform, you can manage resources across various cloud providers, on-premises infrastructure, and services. It provides a way to create, update, and version infrastructure safely and efficiently. \nTerraform uses a declarative syntax to describe the desired state of your infrastructure, making it easy to understand and maintain. It supports a wide range of providers, making it a versatile tool for\nmanaging infrastructure. "
|
||
_github: https://github.com/hashicorp/terraform
|
||
_name: "terraform "
|
||
_short: "Terraform is an open-source infrastructure as code software tool created by HashiCorp. It allows users to define and provision data center infrastructure using a high-level configuration language. "
|
||
terraform-ls:
|
||
_bin: terraform-ls
|
||
_desc: "[terraform-ls](https://github.com/tfutils/tfenv) is the official Terraform language server maintained by HashiCorp that provides IDE features to any LSP-compatible editor."
|
||
_docs: https://github.com/hashicorp/terraform-ls
|
||
_github: https://github.com/hashicorp/terraform-ls
|
||
_home: https://github.com/hashicorp/terraform-ls
|
||
_name: terraform-ls
|
||
_service: false
|
||
_short: "terraform-ls is a language server for Terraform that provides IDE support for editing Terraform configuration files. "
|
||
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
|
||
_short: "textql is a tool that allows you to run SQL queries on structured text data stored in CSV or TSV files. "
|
||
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."
|
||
_docs: https://github.com/tfutils/tfenv#usage
|
||
_github: https://github.com/tfutils/tfenv
|
||
_home: https://github.com/tfutils/tfenv
|
||
_name: tfenv
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
if command -v tfenv > /dev/null; then
|
||
tfenv use latest
|
||
fi
|
||
_short: "tfenv is a tool for managing multiple versions of Terraform. "
|
||
ansible:darwin: professormanhattan.tfenv
|
||
ansible:linux: professormanhattan.tfenv
|
||
brew: tfenv
|
||
port: tfenv
|
||
yay: tfenv
|
||
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."
|
||
_github: https://github.com/terraform-linters/tflint
|
||
_name: tflint
|
||
_short: "tflint is a Terraform linter that helps in detecting errors in Terraform configurations. "
|
||
ansible: professormanhattan.tflint
|
||
brew: tflint
|
||
choco: tflint
|
||
github: github.com/terraform-linters/tflint
|
||
tfsec:
|
||
_bin: tfsec
|
||
_desc: "tfsec is an open-source static analysis tool for detecting potential security issues in Terraform code. It scans Terraform configurations to identify security vulnerabilities, misconfigurations, and \nother potential issues that could lead to security breaches. By integrating tfsec into your CI/CD pipeline or development workflow, you can proactively identify and address security issues early in the \ndevelopment process. It provides a set of rules based on best practices and common security pitfalls to help improve the overall security posture of your infrastructure managed with Terraform. "
|
||
_github: https://github.com/aquasecurity/tfsec
|
||
_name: Aqua TFSec
|
||
_short: "tfsec is a security scanner for your Terraform code, helping you identify potential security issues and best practices violations. "
|
||
brew: tfsec
|
||
choco: tfsec
|
||
scoop: tfsec
|
||
tgpt:
|
||
_bin: tgpt
|
||
_desc: "tgpt is a GitHub repository created by user aandrew-me. It likely contains code related to a Transformer-based Generative Pre-trained Transformer (GPT) model. The repository may include scripts for \ntraining, fine-tuning, or using the model for text generation tasks. To get more detailed information about the contents and purpose of the repository, you can visit the GitHub link provided. "
|
||
_github: https://github.com/aandrew-me/tgpt
|
||
_name: Terminal GPT
|
||
_short: "tgpt is a GitHub repository for a text-based AI model trained on the GPT architecture by the user aandrew-me. "
|
||
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
|
||
_short: "thefuck is a command-line tool that corrects your previous console command typos. "
|
||
brew: thefuck
|
||
crew: thefuck
|
||
pacman: thefuck
|
||
pipx: thefuck
|
||
pkg-freebsd: thefuck
|
||
thunderbird:
|
||
_app: Thunderbird.app
|
||
_bin: thunderbird
|
||
_github: false
|
||
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
|
||
_github: https://github.com/jonas/tig
|
||
_home: https://jonas.github.io/tig/
|
||
_name: tig
|
||
_short: "tig is a text-mode interface for Git, allowing you to browse and interact with your Git repositories using a terminal-based interface. "
|
||
brew: tig
|
||
nix: tig
|
||
pkg: tig
|
||
tigervnc:
|
||
_bin: tigervncpasswd
|
||
_desc: "TigerVNC is an open-source remote desktop software that allows users to interact with graphical applications on remote machines. It provides a client-server architecture where the server shares the \ndesktop and the client displays it. TigerVNC supports various platforms like Linux, Windows, and macOS, making it versatile for remote desktop access. It offers features like encryption for secure \nconnections, multiple authentication methods, and efficient compression algorithms for better performance. Overall, TigerVNC is a reliable tool for remote desktop access and administration. "
|
||
_github: https://github.com/TigerVNC/tigervnc
|
||
_name: TigerVNC Server
|
||
_ports:
|
||
- port: 5900-5904
|
||
proto: tcp
|
||
_short: "TigerVNC is an open-source remote desktop software that allows you to view and interact with the desktop of a remote machine. "
|
||
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
|
||
_docs: https://docs.tilt.dev/
|
||
_github: https://github.com/tilt-dev/tilt
|
||
_home: https://tilt.dev/
|
||
_name: tilt
|
||
_short: "Tilt is a tool for local development with Kubernetes. "
|
||
brew: tilt
|
||
github: github.com/tilt-dev/tilt
|
||
yay: tilt-bin
|
||
timeshift:
|
||
_bin: timeshift
|
||
_desc: "[Timeshift](https://github.com/teejee2008/timeshift) is a free and open source system restore tool for Linux. Timeshift for Linux is an application that provides functionality similar to the System Restore feature in Windows and the Time Machine tool in Mac OS. Timeshift protects your system by taking incremental snapshots of the file system at regular intervals. These snapshots can be restored at a later date to undo all changes to the system."
|
||
_github: https://github.com/teejee2008/timeshift
|
||
_home: https://teejeetech.com/timeshift/
|
||
_name: Timeshift
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Timeshift Configuration
|
||
# @brief Updates the Timeshift system configuration with the Timeshift configuration stored in the `home/dot_config/timeshift/timeshift.json` location.
|
||
# @description
|
||
# This script applies a Timeshift configuration that defines how Timeshift should maintain system backups.
|
||
if command -v timeshift > /dev/null; then
|
||
logg info 'Ensuring /etc/timeshift is a directory'
|
||
sudo mkdir -p /etc/timeshift
|
||
TIMESHIFT_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/timeshift/timeshift.json"
|
||
logg info "Copying $TIMESHIFT_CONFIG to /etc/timeshift/timeshift.json"
|
||
sudo cp -f "$TIMESHIFT_CONFIG" /etc/timeshift/timeshift.json
|
||
else
|
||
logg info 'The timeshift executable is not available'
|
||
fi
|
||
_short: "Timeshift is a system restore utility for Linux that creates and restores snapshots of the system. "
|
||
apt: timeshift
|
||
dnf:fedora: timeshift
|
||
yay: timeshift
|
||
timewarrior:
|
||
_bin: timew
|
||
_desc: "Timewarrior is a command-line time tracking application that helps users track and manage their time effectively. It allows users to record tasks, track time spent on each task, and generate reports to \nanalyze productivity. Timewarrior supports various features like tagging tasks, setting priorities, and creating custom reports. It is highly customizable and can be integrated with other tools through \nits extensive set of command-line options. Timewarrior is open-source and actively maintained by the Gothenburg Bit Factory community. "
|
||
_github: https://github.com/GothenburgBitFactory/timewarrior
|
||
_name: Time Warrior
|
||
_short: "Timewarrior is a command-line time tracking tool for managing tasks and tracking time spent on them. "
|
||
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
|
||
_github: https://github.com/websperts/tinypng-cli
|
||
_name: tinypng
|
||
_service: null
|
||
_short: "tinypng-cli is a command-line interface for compressing images using the TinyPNG service. "
|
||
npm: tinypng-cli
|
||
tldr:
|
||
_bin: tldr
|
||
_desc: Simplified and community-driven man pages
|
||
_github: https://github.com/tldr-pages/tldr
|
||
_home: https://tldr.sh/
|
||
_name: tldr
|
||
_short: "tldr is a simplified and community-driven man pages repository for common commands, providing concise and practical examples for quick reference. "
|
||
brew: tldr
|
||
npm: tldr
|
||
tmate:
|
||
_bin: tmate
|
||
_desc: "TMate is a terminal sharing tool that allows multiple users to access and collaborate in the same terminal session remotely. It provides a secure way to share command-line access with others, making it \nuseful for pair programming, troubleshooting, and providing remote support. TMate supports various platforms and encryption methods to ensure secure communication. It is based on the tmux terminal \nmultiplexer, offering features like session sharing, text-based chat, and the ability to invite users with a unique URL. "
|
||
_github: https://github.com/tmate-io/tmate
|
||
_name: tmate
|
||
_short: "tmate is a terminal sharing tool that allows multiple users to access and collaborate in the same terminal session remotely. "
|
||
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."
|
||
_docs: https://github.com/tmux/tmux/wiki
|
||
_github: https://github.com/tmux/tmux
|
||
_name: tmux
|
||
_short: "tmux is a terminal multiplexer for Unix-like operating systems that allows multiple terminal sessions to be accessed and controlled from a single window. "
|
||
ansible: professormanhattan.tmux
|
||
apt: tmux
|
||
brew:
|
||
- awk
|
||
- 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
|
||
_short: "Tmuxinator is a tool for managing complex tmux sessions easily through simple YAML configuration files. "
|
||
brew: tmuxinator
|
||
tokei:
|
||
_bin: tokei
|
||
_desc: Tokei is a program that displays statistics about the code
|
||
_github: https://github.com/XAMPPRocky/tokei
|
||
_name: tokei
|
||
_short: "Tokei is a simple, fast code line counter for various programming languages. "
|
||
apk: tokei
|
||
brew: tokei
|
||
cargo: tokei
|
||
dnf:fedora: tokei
|
||
github: github.com/XAMPPRocky/tokei
|
||
pacman: tokei
|
||
pkg: tokei
|
||
scoop: tokei
|
||
tomcat:
|
||
_bin: catalina
|
||
_desc: "Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language, and WebSocket technologies. It provides a web server environment for Java code to run in, \nallowing developers to serve Java-based web applications. Tomcat is widely used for deploying Java web applications and is known for its reliability and scalability. It is maintained by the Apache \nSoftware Foundation and is available for free under the Apache License. You can find more information about Apache Tomcat on its GitHub repository: https://github.com/apache/tomcat. "
|
||
_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
|
||
_short: "Apache Tomcat is an open-source implementation of the Java Servlet, JavaServer Pages, Java Expression Language, and WebSocket technologies. "
|
||
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
|
||
_short: "toml-sort is a tool that sorts TOML files alphabetically. "
|
||
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."
|
||
_docs: https://tb-manual.torproject.org/
|
||
_github: https://github.com/TheTorProject
|
||
_home: https://www.torproject.org/
|
||
_name: TOR
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file Tor Configuration
|
||
# @brief This script applies the Tor configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/tor/torrc` to the system and then restarts Tor
|
||
# @description
|
||
# Tor is a network that uses onion routing, originally published by the US Navy. It is leveraged by privacy enthusiasts
|
||
# and other characters that deal with sensitive material, like journalists and people buying drugs on the internet.
|
||
# This script:
|
||
#
|
||
# 1. Determines the system configuration file location
|
||
# 2. Applies the configuration stored at `${XDG_CONFIG_HOME:-HOME/.config}/tor/torrc`
|
||
# 3. Enables and restarts the Tor service with the new configuration
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [Tor configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/tor/torrc)
|
||
### Determine the Tor configuration location by checking whether the system is macOS or Linux
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### macOS
|
||
TORRC_CONFIG_DIR=/usr/local/etc/tor
|
||
else
|
||
### Linux
|
||
TORRC_CONFIG_DIR=/etc/tor
|
||
fi
|
||
TORRC_CONFIG="$TORRC_CONFIG_DIR/torrc"
|
||
### Apply the configuration if the `torrc` binary is available in the `PATH`
|
||
if command -v toron > /dev/null; then
|
||
if [ -d "$TORRC_CONFIG_DIR" ]; then
|
||
### Copy the configuration from `${XDG_CONFIG_HOME:-$HOME/.config}/tor/torrc` to the system configuration file location
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/tor/torrc" "$TORRC_CONFIG"
|
||
sudo chmod 600 "$TORRC_CONFIG"
|
||
### Enable and restart the Tor service
|
||
if [ -d /Applications ] && [ -d /System ]; then
|
||
### macOS
|
||
brew services restart tor
|
||
else
|
||
if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then
|
||
### Linux
|
||
sudo systemctl enable tor
|
||
sudo systemctl restart tor
|
||
else
|
||
logg info 'Environment is WSL so the Tor systemd service will not be enabled / restarted'
|
||
fi
|
||
fi
|
||
else
|
||
logg warn 'The '"$TORRC_CONFIG_DIR"' directory is missing'
|
||
fi
|
||
else
|
||
logg warn 'toron is missing from the PATH'
|
||
fi
|
||
_restricted: true
|
||
_service: tor
|
||
_serviceEnabled: true
|
||
_short: "TheTorProject is a nonprofit organization that develops privacy tools to help people stay safe online, including the Tor Browser for anonymous web browsing. "
|
||
ansible:linux: professormanhattan.tor
|
||
apt: tor
|
||
brew: tor
|
||
dnf: tor
|
||
pacman: tor
|
||
port: tor
|
||
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
|
||
_short: "gettorbrowser is a project by The Tor Project that provides a way to download the Tor Browser in regions where access to the official website is restricted. "
|
||
cask: tor-browser
|
||
choco: tor-browser
|
||
flatpak: com.github.micahflee.torbrowser-launcher
|
||
tradingview:
|
||
_app: TradingView.app
|
||
_bin: tradingview
|
||
_desc: "Lightweight Charts is a financial lightweight charting library for creating interactive financial charts on websites. It is designed by TradingView and is optimized for high performance and user \nexperience. The library supports various chart types, technical indicators, drawing tools, and customization options. It is easy to integrate into web applications and provides a responsive and visually\nappealing way to display financial data. The library is open-source and can be accessed on GitHub at https://github.com/tradingview/lightweight-charts. "
|
||
_github: https://github.com/tradingview/lightweight-charts
|
||
_name: Trading View
|
||
_short: "lightweight-charts is a simple and lightweight financial charting library for displaying financial data on the web. "
|
||
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."
|
||
_github: https://github.com/soimort/translate-shell
|
||
_name: Translate Shell
|
||
_short: "translate-shell is a command-line tool for translating text using various translation services like Google Translate. "
|
||
ansible:darwin: professormanhattan.translate
|
||
ansible:linux: professormanhattan.translate
|
||
apt:ubuntu: translate-shell
|
||
brew: translate-shell
|
||
dnf: translate-shell
|
||
pacman: translate-shell
|
||
trayscale:
|
||
_bin: trayscale
|
||
_desc: Unofficial Menu Bar for Tailscale on Linux
|
||
_github: https://github.com/DeedleFake/trayscale
|
||
_name: Trayscale
|
||
_short: "trayscale is a tool for adjusting the brightness of external monitors on macOS. "
|
||
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."
|
||
_github: https://github.com/MrRaindrop/tree-cli
|
||
_name: tree-cli
|
||
_short: "tree-cli is a command-line tool that generates directory trees in a visually appealing way. "
|
||
ansible: professormanhattan.tree
|
||
apt: tree
|
||
brew: tree
|
||
choco: tree
|
||
dnf: tree
|
||
pacman: tree
|
||
tree-sitter:
|
||
_bin: tree-sitter
|
||
_desc: CLI tool for creating and testing tree-sitter parsers
|
||
_github: https://github.com/tree-sitter/tree-sitter-cli
|
||
_name: tree-sitter-cli
|
||
_short: "tree-sitter-cli is a command-line interface for interacting with the Tree-sitter parsing library. "
|
||
cargo: tree-sitter-cli
|
||
trellis:
|
||
_bin: trellis
|
||
_desc: A CLI to manage Trellis projects
|
||
_github: https://github.com/roots/trellis-cli
|
||
_home: https://roots.io/trellis/
|
||
_name: trellis
|
||
_short: "Trellis CLI is a command-line interface tool for managing WordPress sites using the Trellis stack. "
|
||
brew: roots/tap/trellis-cli
|
||
trivy:
|
||
_bin: trivy
|
||
_desc: Scanner for vulnerabilities in container images, file systems, and Git repositories, as well as for configuration issues
|
||
_github: https://github.com/aquasecurity/trivy
|
||
_name: trivy
|
||
_short: "Trivy is a comprehensive vulnerability scanner for containers and other artifacts. "
|
||
brew: trivy
|
||
github: github.com/aquasecurity/trivy
|
||
yay: trivy-bin
|
||
trufflehog:
|
||
_bin: trufflehog
|
||
_desc: Find credentials all over the place
|
||
_github: https://github.com/trufflesecurity/trufflehog
|
||
_home: https://trufflesecurity.com/trufflehog/
|
||
_name: trufflehog
|
||
_short: "Trufflehog is a tool used for finding sensitive data in git repositories. "
|
||
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: false
|
||
_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
|
||
_github: https://github.com/andrei-markeev/ts2c
|
||
_name: ts2c
|
||
_short: "ts2c is a tool that converts TypeScript code to C code. "
|
||
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
|
||
_short: "Tunnelblick is an open-source VPN client for macOS. "
|
||
cask: tunnelblick
|
||
turbo:
|
||
_bin: turbo
|
||
_desc: "Turbo is a framework developed by Vercel that aims to improve the performance of server-rendered React applications. It focuses on enhancing the user experience by reducing loading times and providing \ninstant navigations without full page reloads. Turbo achieves this by leveraging partial hydration, which allows only the necessary parts of a page to be re-rendered when navigating between pages. This \nresults in faster transitions and a smoother browsing experience for users. Turbo is designed to work seamlessly with Next.js, a popular React framework, making it easier for developers to implement \nthese performance optimizations in their applications. "
|
||
_github: https://github.com/vercel/turbo
|
||
_name: Turbo
|
||
_short: "turbo is a tool by Vercel that speeds up your development workflow by automatically reloading your browser when files change. "
|
||
npm: turbo
|
||
typescript:
|
||
_bin: tsc
|
||
_desc: TypeScript is a strongly typed programming language that builds on JavaScript, giving you better tooling at any scale.
|
||
_docs: https://www.typescriptlang.org/docs/
|
||
_github: https://github.com/microsoft/TypeScript
|
||
_home: https://www.typescriptlang.org/
|
||
_name: TypeScript
|
||
_short: "TypeScript is a superset of JavaScript that adds static typing to the language, making it easier to build and maintain large-scale applications. "
|
||
brew: typescript
|
||
npm: tsc
|
||
typescript-to-lua:
|
||
_bin: tstl
|
||
_desc: "TypeScriptToLua is a tool that transpiles TypeScript code into Lua code, allowing developers to write TypeScript and have it run on a Lua runtime environment. It provides a way to leverage TypeScript's \nstatic typing and modern features while targeting Lua, which is commonly used in game development and embedded systems. This tool can be useful for projects that require compatibility with Lua or need \nto interface with existing Lua codebases. It simplifies the process of integrating TypeScript and Lua, offering a seamless development experience for those working with both languages. "
|
||
_github: https://github.com/TypeScriptToLua/TypeScriptToLua
|
||
_name: TypeScript to Lua Converter
|
||
_short: "TypeScriptToLua is a tool that transpiles TypeScript code to Lua code, enabling developers to write TypeScript and run it on Lua runtimes. "
|
||
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
|
||
_short: "ugm is a tool for managing Git repositories. "
|
||
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."
|
||
_docs: https://docs.ulauncher.io/
|
||
_github: https://github.com/Ulauncher/Ulauncher/
|
||
_home: https://ulauncher.io/
|
||
_name: Ulauncher
|
||
_short: "Ulauncher is a fast application launcher for Linux with a minimal design and customizable features. "
|
||
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
|
||
_short: "Ultra-runner is a tool for running multiple commands in parallel, designed for developers and system administrators to improve workflow efficiency. "
|
||
npm: ultra-runner
|
||
unbuffer:
|
||
_bin: unbuffer
|
||
_github: false
|
||
_name: Unbuffer
|
||
apt: unbuffer
|
||
brew: expect
|
||
dnf: unbuffer
|
||
pacman: unbuffer
|
||
unikraft:
|
||
_bin: kraft
|
||
_desc: "Unikraft is an open-source project on GitHub that aims to simplify the process of building specialized, lightweight, and efficient software stacks for virtualized environments. It provides a framework \nfor creating customized operating systems tailored to specific applications, enabling developers to optimize performance and resource usage. Unikraft supports various platforms and targets, including \ncloud environments and IoT devices. By leveraging Unikraft, developers can streamline the development of lightweight and secure software stacks, enhancing the efficiency and performance of their \napplications in virtualized environments. "
|
||
_github: https://github.com/unikraft/unikraft
|
||
_name: Unikraft
|
||
_short: "Unikraft is a lightweight and efficient system for building specialized unikernels. "
|
||
brew: unikraft/cli/kraftkit
|
||
script: curl --proto '=https' --tlsv1.2 -sSf https://get.kraftkit.sh | sh
|
||
unison:
|
||
_bin: unison
|
||
_desc: "Unison is a file-synchronization tool that allows you to keep two directories of files and folders in sync on different machines. It works across different operating systems and can handle changes made \non both sides by merging them intelligently. Unison uses a combination of a client-server architecture and a peer-to-peer protocol to synchronize files efficiently. It's particularly useful for keeping \nbackups, working on multiple machines, or collaborating with others on shared projects. The tool is open-source and actively maintained, making it a reliable choice for file synchronization needs. "
|
||
_github: https://github.com/bcpierce00/unison
|
||
_name: Unison
|
||
_short: "Unison is a file-synchronization tool for Unix and Windows. "
|
||
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.
|
||
_github: https://github.com/akavel/up
|
||
_name: Ultimate Plumber (up)
|
||
_short: "up is a tool for writing command-line applications in pure Bash, without external dependencies. "
|
||
ansible: professormanhattan.up
|
||
brew: up
|
||
github: github.com/akavel/up
|
||
pkg: up
|
||
yay: up
|
||
upscayl:
|
||
_bin: upscayl
|
||
_desc: "upscayl is a GitHub repository belonging to the user upscayl. Without further details or access to the repository, it is not possible to provide a detailed description of its contents. To learn more \nabout the repository, you can visit the link provided and explore the code, documentation, and any other resources available there. "
|
||
_github: https://github.com/upscayl/upscayl
|
||
_name: Upscayl
|
||
_short: "upscayl is a GitHub repository. "
|
||
_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
|
||
_github: https://github.com/sigoden/upt
|
||
_name: upt
|
||
_short: "upt is a lightweight uptime monitor written in Go. "
|
||
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."
|
||
_docs: https://github.com/upx/upx
|
||
_github: https://github.com/upx/upx
|
||
_home: https://upx.github.io/
|
||
_name: UPX
|
||
_short: "UPX is a versatile executable packer for various platforms. "
|
||
ansible: professormanhattan.upx
|
||
apt: upx
|
||
brew: upx
|
||
choco: upx
|
||
dnf:fedora: upx
|
||
pacman: upx
|
||
port: upx
|
||
scoop: upx
|
||
usql:
|
||
_bin: usql
|
||
_desc: "usql is a universal command-line interface for SQL databases. It supports various databases like PostgreSQL, MySQL, SQLite, and more, allowing users to interact with different databases using a single \ntool. It provides features like auto-completion, syntax highlighting, and multi-line editing. usql is written in Go and is open-source, making it easy for developers and system administrators to work \nwith different databases efficiently from the command line. "
|
||
_github: https://github.com/xo/usql
|
||
_name: Universal SQL CLI
|
||
_short: "usql is a universal command-line interface for SQL databases. "
|
||
brew: xo/xo/usql
|
||
choco: usql
|
||
go: github.com/xo/usql@latest
|
||
scoop: usql
|
||
util-linux:
|
||
_bin:
|
||
- cal
|
||
- chmem
|
||
- hexdump
|
||
_github: false
|
||
apt: util-linux
|
||
dnf: util-linux
|
||
pacman: util-linux
|
||
utm:
|
||
_app: UTM.app
|
||
_bin: utm
|
||
_desc: "UTM is an open-source virtual machine emulator for macOS. It allows users to run various operating systems like Windows, Linux, and others on their Mac machines. UTM provides a user-friendly interface \nfor managing virtual machines and supports features like snapshots, virtual disk management, and networking configurations. It is actively maintained and supports a wide range of guest operating \nsystems, making it a versatile tool for developers, testers, and anyone needing to run multiple OS environments on their Mac. "
|
||
_github: https://github.com/utmapp/UTM
|
||
_name: UTM
|
||
_short: "UTM is an open-source virtual machine emulator for macOS. "
|
||
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)."
|
||
_docs: https://www.vagrantup.com/docs
|
||
_github: https://github.com/hashicorp/vagrant
|
||
_home: https://www.vagrantup.com/
|
||
_name: Vagrant
|
||
_short: "Vagrant is an open-source tool for building and managing virtual machine environments in a single workflow. "
|
||
ansible: professormanhattan.vagrant
|
||
apt: vagrant
|
||
brew: hashicorp/tap/vagrant
|
||
cask: vagrant
|
||
choco: vagrant
|
||
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
|
||
_short: "Vagrant Manager is a GUI tool for managing Vagrant environments on macOS. "
|
||
cask: vagrant-manager
|
||
choco: vagrant-manager
|
||
vagrant-vmware-utility:
|
||
_bin: false
|
||
_desc: "vagrant-vmware-desktop \n\nThis is a plugin for Vagrant, a tool for building and managing virtual machine environments. The vagrant-vmware-desktop plugin allows Vagrant to work with VMware Fusion and VMware Workstation on macOS. \nIt provides additional functionality and compatibility for using VMware products with Vagrant, enhancing the virtualization capabilities for developers and system administrators working on macOS \nsystems. This plugin enables users to create and manage VMware virtual machines seamlessly within Vagrant workflows. "
|
||
_github: https://github.com/hashicorp/vagrant-vmware-desktop
|
||
_name: Vagrant VMWare Utility
|
||
_post:cask: |
|
||
#!/usr/bin/env bash
|
||
if [ ! -f /usr/local/bin/vagrant-vmware-utility ] && [ -f /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility ]; then
|
||
sudo ln -s /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility /usr/local/bin/vagrant-vmware-utility
|
||
fi
|
||
_short: "vagrant-vmware-desktop is a plugin for Vagrant that allows users to manage VMware Desktop virtual machines. "
|
||
_when:cask: "! test -f /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility"
|
||
ansible: professormanhattan.vmware
|
||
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
|
||
_desc: "Vale is a tool for checking and maintaining consistent writing style in your documents. It uses a customizable style guide to analyze text files for errors, inconsistencies, and style issues. It \nsupports various file formats like Markdown, HTML, and LaTeX. Vale can be integrated into your workflow through the command line or as part of a continuous integration process. It helps ensure that your\nwriting follows specific guidelines and standards, making it useful for technical writers, developers, and anyone who values clear and consistent writing. "
|
||
_github: https://github.com/errata-ai/vale
|
||
_name: Vale
|
||
_short: "Vale is a syntax-aware linter for prose. "
|
||
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."
|
||
_docs: https://developer.hashicorp.com/vault/docs
|
||
_github: https://github.com/hashicorp/vault
|
||
_home: https://vaultproject.io/
|
||
_name: HashiCorp Vault
|
||
_service: vault
|
||
_service:brew: hashicorp/tap/vault
|
||
_short: "Vault is a tool for securely accessing secrets. "
|
||
ansible: professormanhattan.vault
|
||
brew: hashicorp/tap/vault
|
||
yay: vault-cli
|
||
vdirsyncer:
|
||
_bin: vdirsyncer
|
||
_desc: "vdirsyncer is a command-line tool for synchronizing calendars and address books between various servers. It supports syncing between CalDAV/CardDAV servers and local files, making it useful for keeping \nyour calendars and contacts up to date across different platforms. It uses a configuration file to define the sync pairs and can be automated with cron jobs. vdirsyncer is written in Python and is \nactively maintained on GitHub. It's a handy tool for managing your personal information across different devices and services. "
|
||
_github: https://github.com/pimutils/vdirsyncer
|
||
_name: vdirsyncer
|
||
_short: "vdirsyncer is a command-line tool for synchronizing calendars and address books. "
|
||
_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.
|
||
_docs: https://vector.dev/docs
|
||
_github: https://github.com/vectordotdev/vector
|
||
_home: https://vector.dev/
|
||
_name: Vector
|
||
_service: vector
|
||
_short: "Vector is an open-source observability data router. "
|
||
brew: vectordotdev/brew/vector
|
||
helm: https://helm.vector.dev
|
||
pacman: vector
|
||
script:darwin: curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | bash
|
||
script:linux: curl --proto '=https' --tlsv1.2 -sSf https://sh.vector.dev | bash
|
||
velero:
|
||
_bin: velero
|
||
_desc: "[Velero](https://velero.io/) gives you tools to back up and restore your Kubernetes cluster resources and persistent volumes"
|
||
_docs: https://velero.io/docs/
|
||
_github: https://github.com/vmware-tanzu/velero
|
||
_home: https://velero.io/
|
||
_name: velero
|
||
_short: "Velero is an open-source tool to back up, recover, and migrate Kubernetes cluster resources and persistent volumes. "
|
||
brew: velero
|
||
choco: velero
|
||
github: github.com/vmware-tanzu/velero
|
||
yay: velero-bin
|
||
vermin:
|
||
_bin: vermin
|
||
_desc: "Vermin is a tool available on GitHub at https://github.com/mhewedy/vermin designed for managing virtual machines on macOS using Hypervisor.framework. It allows users to create, start, stop, and manage \nvirtual machines directly from the command line. Vermin simplifies the process of working with virtual machines on macOS by providing a convenient interface for managing VMs without the need for \nthird-party virtualization software. It is a useful tool for developers and system administrators who need to work with virtual environments on macOS. "
|
||
_github: https://github.com/mhewedy/vermin
|
||
_name: Vermin
|
||
_short: "Vermin is a tool that helps manage and clean up unused Docker images and containers on your system, freeing up disk space efficiently. "
|
||
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
|
||
_short: "vhs is a terminal-based VHS tape player simulator for nostalgic fun on the command line. "
|
||
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
|
||
_short: "vidmerger is a tool on GitHub created by tgotwig for merging video files. "
|
||
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"
|
||
_docs: https://www.vim.org/docs.php
|
||
_github: https://github.com/vim/vim
|
||
_home: https://www.vim.org/
|
||
_name: VIM
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
logg info "Installing VIM plugins" && vim +'PlugInstall --sync' +qall
|
||
# @description This script installs the extensions defined in `${XDG_CONFIG_HOME:-$HOME/.config}/coc/extensions/package.json`
|
||
# which should correlate to the Coc extensions defined in `${XDG_CONFIG_HOME:-$HOME/.config}/vim/vimrc`.
|
||
installCocExtensions() {
|
||
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/coc/extensions/package.json" ]; then
|
||
logg info "Running npm i --no-package-lock in ${XDG_CONFIG_HOME:-$HOME/.config}/coc/extensions"
|
||
cd "${XDG_CONFIG_HOME:-$HOME/.config}/coc/extensions" && npm i --no-package-lock
|
||
logg info "Running vim +CocUpdateSync +qall" && vim +CocUpdateSync +qall
|
||
else
|
||
logg info "Skipping Coc extension installation because ${XDG_CONFIG_HOME:-$HOME/.config}/coc/extensions/package.json is missing"
|
||
fi
|
||
}
|
||
logg info "Updating VIM coc extensions" && installCocExtensions
|
||
_short: "Vim is a highly configurable text editor built for efficiency and speed, with a focus on keyboard shortcuts for navigation and editing. "
|
||
ansible: professormanhattan.vim
|
||
apt: vim
|
||
brew: vim
|
||
choco: vim
|
||
dnf: vim
|
||
pacman: vim
|
||
port: vim
|
||
scoop: vim
|
||
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
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file VirtualBox Extension Pack
|
||
# @brief Ensures the VirtualBox extension pack is installed.
|
||
# @description
|
||
# This script ensures the VirtualBox extension pack that corresponds with VirtualBox's version is properly installed.
|
||
### Run logic if VirtualBox is installed
|
||
if command -v VirtualBox > /dev/null; then
|
||
### Install VirtualBox extension pack if it is not installed already
|
||
if [ ! -d /usr/lib/virtualbox/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack ] && [ ! -d /Applications/VirtualBox.app/Contents/MacOS/ExtensionPacks/Oracle_VM_VirtualBox_Extension_Pack ]; then
|
||
logg info 'Acquiring VirtualBox version information'
|
||
VBOX_VERSION="$(VirtualBox --help | head -n 1 | cut -f 6 -d' ')"
|
||
VBOX_VERSION="${VBOX_VERSION//v}"
|
||
### Set up folders
|
||
# Check for macOS installation before creating ExtensionPacks folder on Linux machines
|
||
if [ ! -d /Applications/VirtualBox.app ]; then
|
||
sudo mkdir -p /usr/lib/virtualbox/ExtensionPacks
|
||
fi
|
||
mkdir -p /tmp/vbox
|
||
cd /tmp/vbox
|
||
### Download extension pack
|
||
logg info 'Downloading VirtualBox extension pack'
|
||
curl -sSL https://download.virtualbox.org/virtualbox/$VBOX_VERSION/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack -o /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack || logg error 'Failed to download the VirtualBox extension pack so the extension pack installation will be skipped'
|
||
### Install extension pack
|
||
if [ -f /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack ]; then
|
||
logg info 'Installing VirtualBox extension pack'
|
||
echo 'y' | sudo VBoxManage extpack install --replace /tmp/vbox/Oracle_VM_VirtualBox_Extension_Pack-$VBOX_VERSION.vbox-extpack
|
||
logg success 'Successfully installed VirtualBox extension pack'
|
||
fi
|
||
else
|
||
logg info 'VirtualBox Extension pack is already installed'
|
||
fi
|
||
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
|
||
cat <<EOF | sudo tee /etc/yum.repos.d/virtualbox.repo
|
||
[virtualbox]
|
||
name=Fedora $releasever - $basearch - VirtualBox
|
||
baseurl=http://download.virtualbox.org/virtualbox/rpm/$ID/$VERSION_ID/\$basearch
|
||
enabled=1
|
||
gpgcheck=1
|
||
repo_gpgcheck=1
|
||
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
|
||
EOF
|
||
sudo dnf -y install @development-tools
|
||
sudo dnf -y install kernel-headers kernel-devel dkms elfutils-libelf-devel qt5-qtx11extras
|
||
_short: "mirror/vbox is a mirror of the VirtualBox repository on GitHub. "
|
||
_todo: Add support for arm64 - currently brew install --cask virtualbox requires intel 64 bit
|
||
ansible: professormanhattan.virtualbox
|
||
apt: virtualbox
|
||
cask: virtualbox
|
||
choco: virtualbox
|
||
dnf: virtualbox
|
||
pacman: virtualbox
|
||
virtualenv:
|
||
_bin: virtualenv
|
||
_desc: Tool for creating isolated virtual python environments
|
||
_docs: https://virtualenv.pypa.io/en/latest/
|
||
_github: https://github.com/pypa/virtualenv
|
||
_name: virtualenv
|
||
_short: "virtualenv is a tool to create isolated Python environments. "
|
||
brew: virtualenv
|
||
pipx: virtualenv
|
||
visual-studio:
|
||
_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
|
||
_short: "$'Not open-source' is a string enclosed in single quotes preceded by a dollar sign and is typically used in Unix-like systems to enable escape sequences like \\n for new lines. "
|
||
ansible:windows: professormanhattan.visualstudio
|
||
cask: visual-studio
|
||
choco: visualstudio2022community
|
||
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
|
||
_short: "VLC Media Player: Open-source multimedia player that supports various audio and video formats, streaming protocols, and more. "
|
||
ansible: professormanhattan.vlc
|
||
apt: vlc
|
||
cask: vlc
|
||
choco: vlc
|
||
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)."
|
||
_docs: https://docs.vmware.com/
|
||
_github: false
|
||
_home: https://www.vmware.com/
|
||
_name: VMWare
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file VMWare Configuration
|
||
# @brief Installs VMWare Workstation Pro on Linux devices, applies a "publicly-retrieved" license key (see disclaimer), and automatically accepts the terms and conditions
|
||
# @description
|
||
# This script ensures the user included `vmware` in their software installation list. It then checks for presence of the `vmware` utility. If it is not present, then the script:
|
||
#
|
||
# 1. Downloads the [VMWare Workstation Pro](https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html.html) Linux installer
|
||
# 2. Installs VMWare Workstation Pro
|
||
# 3. Passes options to the installation script that automatically apply a publicly retrived license key and accept the Terms & Conditions
|
||
#
|
||
# This script first checks if `vagrant`, `vmware`, and `vagrant-vmware-utility` are available in the `PATH`. If they are present, then the script
|
||
# configures the [`vagrant-vmware-utility`](https://developer.hashicorp.com/vagrant/docs/providers/vmware/vagrant-vmware-utility) by generating the required security certificates and enabling the service.
|
||
# This system package enables the capability of controlling both VMWare Workstation and VMWare Fusion with Vagrant.
|
||
#
|
||
# Since this script runs only when `vagrant`, `vmware`, and `vagrant-vmware-utility` are in the `PATH`, this means that it will run
|
||
# when you use an installation template that includes all three pieces of software in the software list defined in
|
||
# `home/.chezmoidata.yaml`.
|
||
#
|
||
# **DISCLAIMER:** If you plan on using VMWare Workstation for anything but evaluation purposes, then we highly suggest purchasing a copy
|
||
# of VMWare Workstation. The "publicly-retrived" license keys are scattered throughout GitHub and we are not exactly
|
||
# sure why they work. You can pass in your own key by utilizing the `VMWARE_WORKSTATION_LICENSE_KEY` environment variable. More details on
|
||
# using environment variables or repository-housed encrypted secrets can be found in our [Secrets documentation](https://install.doctor/docs/customization/secrets).
|
||
#
|
||
# ## VMWare on macOS
|
||
#
|
||
# This script only installs VMWare Workstation on Linux. The macOS-variant titled VMWare Fusion can be installed using a Homebrew
|
||
# cask so a "work-around" script does not have to be used.
|
||
#
|
||
# ## VMWare vs. Parallels vs. VirtualBox vs. KVM vs. Hyper-V
|
||
#
|
||
# There are a handful of VM virtualization providers you can choose from. VMWare is a nice compromise between OS compatibility and performance.
|
||
# Parallels, on the hand, might be better for macOS since it is designed specifically for macOS. Finally, VirtualBox is a truly free,
|
||
# open-source option that does not come with the same optimizations that VMWare and Parallels provide.
|
||
#
|
||
# Other virtualization options include KVM (Linux / macOS) and Hyper-V (Windows). These options are better used for headless
|
||
# systems.
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [VMWare Workstation homepage](https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html.html)
|
||
# * [Vagrant VMWare Utility on GitHub](https://github.com/hashicorp/vagrant-vmware-desktop)
|
||
# * [`home/.chezmoidata.yaml`](https://github.com/megabyte-labs/install.doctor/blob/master/home/.chezmoidata.yaml)
|
||
# * [Default license key gist](https://gist.github.com/PurpleVibe32/30a802c3c8ec902e1487024cdea26251)
|
||
### Run logic if VMware is installed
|
||
if command -v vmware > /dev/null; then
|
||
### Build kernel modules if they are not present
|
||
if [ ! -f "/lib/modules/$(uname -r)/misc/vmmon.ko" ] || [ ! -f "/lib/modules/$(uname -r)/misc/vmnet.ko" ]; then
|
||
### Build VMWare host modules
|
||
logg info 'Building VMware host modules'
|
||
if sudo vmware-modconfig --console --install-all; then
|
||
logg success 'Built VMWare host modules successfully with sudo vmware-modconfig --console --install-all'
|
||
else
|
||
logg info 'Acquiring VMware version from CLI'
|
||
VMW_VERSION="$(vmware --version | cut -f 3 -d' ')"
|
||
mkdir -p /tmp/vmw_patch
|
||
cd /tmp/vmw_patch
|
||
logg info 'Downloading VMware host module patches' && curl -sSL "https://github.com/mkubecek/vmware-host-modules/archive/workstation-$VMW_VERSION.tar.gz" -o /tmp/vmw_patch/workstation.tar.gz
|
||
tar -xzf /tmp/vmw_patch/workstation.tar.gz
|
||
cd vmware*
|
||
logg info 'Running sudo make and sudo make install'
|
||
sudo make
|
||
sudo make install
|
||
logg success 'Successfully configured VMware host module patches'
|
||
fi
|
||
### Sign VMware host modules if Secure Boot is enabled
|
||
if [ -f /sys/firmware/efi ]; then
|
||
logg info 'Signing host modules'
|
||
mkdir -p /tmp/vmware
|
||
cd /tmp/vmware
|
||
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VMware/"
|
||
"/usr/src/linux-headers-$(uname -r)/scripts/sign-file" sha256 ./MOK.priv ./MOK.der "$(modinfo -n vmmon)"
|
||
"/usr/src/linux-headers-$(uname -r)/scripts/sign-file" sha256 ./MOK.priv ./MOK.der "$(modinfo -n vmnet)"
|
||
echo '' | mokutil --import MOK.der
|
||
logg success 'Successfully signed VMware host modules. Reboot the host before powering on VMs'
|
||
fi
|
||
### Patch VMware with Unlocker
|
||
if [ ! -f /usr/lib/vmware/isoimages/darwin.iso ]; then
|
||
logg info 'Acquiring VMware Unlocker latest release version'
|
||
UNLOCKER_URL="$(curl -sSL 'https://api.github.com/repos/DrDonk/unlocker/releases/latest' | jq -r '.assets[0].browser_download_url')"
|
||
mkdir -p /tmp/vmware-unlocker
|
||
cd /tmp/vmware-unlocker
|
||
logg info 'Downloading unlocker.zip'
|
||
curl -sSL "$UNLOCKER_URL" -o unlocker.zip
|
||
unzip unlocker.zip
|
||
cd linux
|
||
logg info 'Running the unlocker'
|
||
echo "y" | sudo ./unlock
|
||
logg success 'Successfully unlocked VMware for macOS compatibility'
|
||
else
|
||
logg info '/usr/lib/vmware/isoimages/darwin.iso is already present on the system so VMware macOS unlocking will not be performed'
|
||
fi
|
||
if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then
|
||
### Start / enable VMWare service
|
||
logg info 'Ensuring vmware.service is enabled and running'
|
||
sudo systemctl enable vmware.service
|
||
sudo systemctl restart vmware.service
|
||
### Start / enable VMWare Workstation Server service
|
||
logg info 'Ensuring vmware-workstation-server.service is enabled and running'
|
||
sudo systemctl enable vmware-workstation-server.service
|
||
sudo systemctl restart vmware-workstation-server.service
|
||
### Start / enable VMWare USB Arbitrator service
|
||
if command -v vmware-usbarbitrator.service > /dev/null; then
|
||
logg info 'Ensuring vmware-usbarbitrator.service is enabled and running'
|
||
sudo systemctl enable vmware-usbarbitrator.service
|
||
sudo systemctl restart vmware-usbarbitrator.service
|
||
else
|
||
logg warn 'vmware-usbarbitrator does not exist in the PATH'
|
||
fi
|
||
fi
|
||
else
|
||
logg info 'VMware host modules are present'
|
||
fi
|
||
else
|
||
logg warn 'VMware Workstation is not installed so the VMware Unlocker will not be installed'
|
||
fi
|
||
# @description Only run logic if both Vagrant and VMWare are installed
|
||
if command -v vagrant > /dev/null && command -v vmware-id > /dev/null; then
|
||
# @description Vagrant VMWare Utility configuration
|
||
if command -v vagrant-vmware-utility > /dev/null; then
|
||
if [ -f /usr/local/bin/certificates/vagrant-utility.key ]; then
|
||
logg info 'Assuming Vagrant VMWare Utility certificates have been properly generated since /usr/local/bin/certificates/vagrant-utility.key is present'
|
||
else
|
||
logg info 'Generating Vagrant VMWare Utility certificates'
|
||
sudo vagrant-vmware-utility certificate generate
|
||
logg success 'Generated Vagrant VMWare Utility certificates via vagrant-vmware-utility certificate generate'
|
||
fi
|
||
logg info 'Ensuring the Vagrant VMWare Utility service is enabled'
|
||
sudo vagrant-vmware-utility service install || EXIT_CODE=$?
|
||
if [ -n "$EXIT_CODE" ]; then
|
||
logg info 'The Vagrant VMWare Utility command vagrant-vmware-utility service install failed. It is probably already setup.'
|
||
fi
|
||
fi
|
||
else
|
||
logg info 'Vagrant is not installed so the Vagrant plugins will not be installed'
|
||
logg info 'Vagrant or VMWare is not installed so the Vagrant VMWare utility will not be configured'
|
||
fi
|
||
ansible: professormanhattan.vmware
|
||
cask: vmware-fusion
|
||
script:linux: >
|
||
if ! command -v vmware > /dev/null; then
|
||
### Download VMWare Workstation
|
||
VMWARE_WORKSTATION_URL=https://www.vmware.com/go/getworkstation-linux
|
||
VMWARE_WORKSTATION_DIR=/tmp/workstation-downloads
|
||
mkdir -p "$VMWARE_WORKSTATION_DIR"
|
||
logg info 'Downloading VMware Workstation Installer' && curl -sSLA "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20220101 Firefox/102.0" "$VMWARE_WORKSTATION_URL" -o "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh"
|
||
### Register product key / license
|
||
if [ -n "$VMWARE_WORKSTATION_LICENSE_KEY" ]; then
|
||
logg info 'Registering VMware Workstation Pro license with serial number' && sudo "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh" --eulas-agreed --console --required --set-setting vmware-workstation serialNumber "$VMWARE_WORKSTATION_LICENSE_KEY"
|
||
else
|
||
logg info 'Agreeing to VMWare Workstation Pro license (without serial number)' && sudo "$VMWARE_WORKSTATION_DIR/tryworkstation-linux-64.sh" --eulas-agreed --console --required
|
||
fi
|
||
logg success 'VMware Workstation installed successfully'
|
||
else
|
||
logg info 'VMware Workstation is already installed'
|
||
fi
|
||
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."
|
||
_docs: https://docs.volta.sh/
|
||
_github: https://github.com/volta-cli/volta
|
||
_home: https://volta.sh
|
||
_name: volta-vm
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
export VOLTA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/volta"
|
||
export PATH="$VOLTA_HOME/bin:$PATH"
|
||
volta setup
|
||
volta install node@latest
|
||
volta install yarn@latest
|
||
_short: "Volta is a tool for managing JavaScript command-line tools. "
|
||
ansible: professormanhattan.volta
|
||
brew: volta
|
||
scoop: volta
|
||
vpn:
|
||
_bin: null
|
||
_desc: You can populate a configuration to power this role. When configured properly, the system's built-in VPN client will be configured with your desired settings.
|
||
_github: false
|
||
_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
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file VSCode Extensions / Global NPM Modules Fallback
|
||
# @brief Installs all of the Visual Studio Code extensions specified in the [`home/dot_config/Code/User/extensions.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User/extensions.json) file and installs NPM packages to the system `/` directory as a catch-all for tools that recursively search upwards for shared NPM configurations.
|
||
# @description
|
||
# This script loops through all the extensions listed in the [`home/dot_config/Code/User/extensions.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User/extensions.json)
|
||
# file. It installs the extensions when either Visual Studio Code or VSCodium is installed. If both are installed, then both will
|
||
# have the plugins automatically installed.
|
||
#
|
||
# The `extensions.json` file is used to house the plugin list so that if you decide to remove this auto-installer script then
|
||
# VSCode will retain some functionality from the file. It will show a popover card that recommends installing any plugins in the
|
||
# list that are not already installed.
|
||
#
|
||
# ## Plugin Settings
|
||
#
|
||
# Most of the plugin settings have been configured and optimized to work properly with the other default settings
|
||
# included by Install Doctor. These settings can be found in the [`home/dot_config/Code/User/settings.json` file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User/settings.json).
|
||
# If you manage to come up with an improvement, please open a pull request so other users can benefit from your work.
|
||
#
|
||
# ## Default Extensions
|
||
#
|
||
# The default plugins in the `extensions.json` list are catered mostly towards full-stack web development. The technologies
|
||
# that are catered to by the default extensions relate to TypeScript, JavaScript, Go, Python, Rust, and many more technologies.
|
||
# Most of the plugins are not language-specific.
|
||
#
|
||
# ## Global NPM Modules Fallback
|
||
#
|
||
# This script makes fallback linter and code auto-fixer configurations globally available. Normally, configurations, like
|
||
# the ones used for ESLint, are installed at the project level by specifying the NPM package configuration
|
||
# in the `package.json` file (or via an `.eslintrc` file). However, whenever no configuration is present, IDEs like
|
||
# Visual Studio Code will recursively search upwards in the directory tree, trying to find an ESLint configuration.
|
||
#
|
||
# This script addresses this issue by installing a set of shared NPM packages that enhance the functionality of tools like ESLint
|
||
# by placing a `package.json` with all the necessary settings into the highest directory possible and then installing the package's
|
||
# modules. This normally results in a `package.json` file and `node_modules/` folder at the root of the system.
|
||
#
|
||
# ## NPM Packages Included
|
||
#
|
||
# To reduce clutter, all the configurations are mapped out in the `package.json` file. Our default `package.json` file includes
|
||
# the following configuration:
|
||
#
|
||
# ```json
|
||
# <!-- AUTO-GENERATED:START (REMOTE:url=https://gitlab.com/megabyte-labs/install.doctor/-/raw/master/home/dot_config/Code/User/package.json) -->
|
||
# {
|
||
# ...
|
||
# // Notable dependencies listed below
|
||
# "dependencies": {
|
||
# "eslint-config-strictlint": "latest",
|
||
# "jest-preset-ts": "latest",
|
||
# "prettier-config-strictlint": "latest",
|
||
# "remark-preset-strictlint": "latest",
|
||
# "stylelint-config-strictlint": "latest"
|
||
# },
|
||
# ...
|
||
# }
|
||
# <!-- AUTO-GENERATED:END -->
|
||
# ```
|
||
#
|
||
# ## Strict Lint
|
||
#
|
||
# More details on the shared configurations can be found at [StrictLint.com](https://strictlint.com).
|
||
# Strict Lint is another brand maintained by Megabyte Labs that is home to many of the well-crafted
|
||
# shared configurations that are included in our default NPM configuration fallback settings.
|
||
#
|
||
# ## Notes
|
||
#
|
||
# * If the system root directory is not writable (even with `sudo`), then the shared modules are installed to the provisioning user's `$HOME` directory
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [`package.json` configuration file](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User/package.json)
|
||
# * [StrictLint.com documentation](https://strictlint.com/docs)
|
||
# * [Visual Studio Code settings folder](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User)
|
||
# * [Visual Studio Code `extensions.json`](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/Code/User/extensions.json)
|
||
### Hides useless error during extension installations
|
||
# Error looks like:
|
||
# (node:53151) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
|
||
# (Use `Electron --trace-deprecation ...` to show where the warning was created)
|
||
export NODE_OPTIONS=--throw-deprecation
|
||
# @description Install Visual Studio Code extensions if they are not already installed (by checking the `code --list-extensions` output)
|
||
if command -v code > /dev/null; then
|
||
EXTENSIONS="$(code --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 Visual Studio Code extension '"$EXTENSION"'' && code --install-extension "$EXTENSION"
|
||
logg success 'Installed '"$EXTENSION"''
|
||
else
|
||
logg info ''"$EXTENSION"' already installed'
|
||
fi
|
||
done
|
||
else
|
||
logg info 'code executable not available - skipping plugin install process for it'
|
||
fi
|
||
if command -v code > /dev/null && command -v npm > /dev/null && [ -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" ]; then
|
||
### Install linter fallback node_modules / package.json to system or home directory
|
||
if sudo cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" /package.json; then
|
||
logg info 'Successfully copied linter fallback configurations package.json to /package.json'
|
||
logg info 'Installing system root directory node_modules'
|
||
cd / && sudo npm i --quiet --no-package-lock || EXIT_CODE=$?
|
||
else
|
||
logg warn 'Unable to successfully copy linter fallback configurations package.json to /package.json'
|
||
logg info 'Installing linter fallback configurations node_modules to home directory instead'
|
||
cp -f "${XDG_DATA_HOME:-$HOME/.local/share}/vscode/package.json" "$HOME/package.json"
|
||
cd ~ && npm i --quiet --no-package-lock || EXIT_CODE=$?
|
||
fi
|
||
### Log message if install failed
|
||
if [ -n "$EXIT_CODE" ]; then
|
||
logg warn 'Possible error(s) were detected while installing linter fallback configurations to the home directory.'
|
||
logg info "Exit code: $EXIT_CODE"
|
||
else
|
||
logg info 'Installed linter fallback configuration node_modules'
|
||
fi
|
||
else
|
||
logg info 'Skipping installation of fallback linter configurations because one or more of the dependencies is missing.'
|
||
fi
|
||
_short: "Visual Studio Code is a free source-code editor made by Microsoft for Windows, Linux, and macOS. "
|
||
ansible: professormanhattan.vscode
|
||
cask: visual-studio-code
|
||
choco: vscode
|
||
flatpak: com.visualstudio.code
|
||
snap: code --classic
|
||
yay: visual-studio-code-bin
|
||
vscodium:
|
||
_app: VSCodium.app
|
||
_bin: codium
|
||
_desc: "VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's Visual Studio Code. It is essentially Visual Studio Code without Microsoft branding, telemetry, and licensing. VSCodium\nprovides a more open-source alternative for developers who prefer a version of Visual Studio Code that is free from Microsoft's proprietary features. Users can find the source code, releases, and \ndocumentation on the GitHub repository at https://github.com/VSCodium/vscodium. "
|
||
_github: https://github.com/VSCodium/vscodium
|
||
_name: "VSCodium "
|
||
_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
|
||
_short: "VSCodium is a community-driven, freely-licensed binary distribution of Microsoft's Visual Studio Code. "
|
||
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:
|
||
_bin: vup
|
||
_desc: "vup is a tool available on GitHub at https://github.com/vup-app/vup. It is a version updater for Node.js projects that simplifies the process of updating dependencies in package.json files. This tool \nautomatically checks for available updates for dependencies and devDependencies in your project and provides a simple command-line interface to update them. It helps in keeping your Node.js projects \nup-to-date with the latest package versions, ensuring better security, performance, and compatibility. "
|
||
_github: https://github.com/vup-app/vup
|
||
_name: "vup "
|
||
_short: "vup is a tool for updating macOS applications from the command line. "
|
||
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.
|
||
_docs: https://w3m.sourceforge.net/MANUAL
|
||
_github: https://github.com/tats/w3m
|
||
_home: https://tracker.debian.org/pkg/w3m
|
||
_name: w3m
|
||
_short: "w3m is a text-based web browser for Unix-like systems. "
|
||
apt: w3m
|
||
brew: w3m
|
||
dnf: w3m
|
||
pacman: w3m
|
||
port: w3m
|
||
zypper: w3m
|
||
wails:
|
||
_bin: wails
|
||
_desc: "[Wails](https://github.com/wailsapp/wails) offers a different approach to providing web interfaces to Go programs: it provides the ability to wrap both Go code and a web frontend into a single binary."
|
||
_github: https://github.com/wailsapp/wails
|
||
_name: Wails
|
||
_short: "Wails is a framework for building desktop apps using Go and Web technologies. "
|
||
ansible: professormanhattan.wails
|
||
go: github.com/wailsapp/wails/cmd/wails@latest
|
||
wallpaper-cli:
|
||
_bin: wallpaper
|
||
_desc: "wallpaper-cli is a command-line interface tool created by Sindre Sorhus for setting the desktop wallpaper on macOS. It allows users to easily change their wallpaper from the terminal using various \noptions like setting a specific image, choosing a random image, or restoring the wallpaper to the default one. The tool supports both local and remote images, making it convenient for users to customize\ntheir desktop background quickly and efficiently. It's a handy utility for those who prefer managing their wallpaper through the command line interface. "
|
||
_github: https://github.com/sindresorhus/wallpaper-cli
|
||
_name: Wallpaper CLI
|
||
_short: "wallpaper-cli is a command-line interface for setting the desktop wallpaper on macOS. "
|
||
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"
|
||
_github: false
|
||
_home: https://cloudflarewarp.com/
|
||
_name: Cloudflare WARP Client
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file CloudFlare WARP
|
||
# @brief Installs CloudFlare WARP, ensures proper security certificates are in place, and connects the device to CloudFlare WARP.
|
||
# @description
|
||
# This script is intended to connect the device to CloudFlare's Zero Trust network with nearly all of its features unlocked.
|
||
# Homebrew is used to install the `warp-cli` on macOS. On Linux, it can install `warp-cli` on most Debian systems and some RedHat
|
||
# systems. CloudFlare WARP's [download page](https://pkg.cloudflareclient.com/packages/cloudflare-warp) is somewhat barren.
|
||
#
|
||
# ## MDM Configuration
|
||
#
|
||
# If CloudFlare WARP successfully installs, it first applies MDM configurations (managed configurations). If you would like CloudFlare
|
||
# WARP to connect completely headlessly (while losing some "user-posture" settings), then you can populate the following three secrets:
|
||
#
|
||
# 1. `CLOUDFLARE_TEAMS_CLIENT_ID` - The ID from a CloudFlare Teams service token. See [this article](https://developers.cloudflare.com/cloudflare-one/identity/service-tokens/).
|
||
# 2. `CLOUDFLARE_TEAMS_CLIENT_SECRET` - The secret from a CloudFlare Teams service token.
|
||
# 3. `CLOUDFLARE_TEAMS_ORG` - The ID of your Zero Trust organization. This variable must be passed in as an environment variable and is housed in the `home/.chezmoi.yaml.tmpl` file. If you do not want to pass an environment variable, you can change the default value in `home/.chezmoi.yaml.tmpl` on your own fork.
|
||
#
|
||
# The two variables above can be passed in using either of the methods described in the [Secrets documentation](https://install.doctor/docs/customization/secrets).
|
||
#
|
||
# ## Headless CloudFlare WARP Connection
|
||
#
|
||
# Even if you do not provide the two variables mentioned above, the script will still headlessly connect your device to the public CloudFlare WARP
|
||
# network, where you will get some of the benefits of a VPN for free. Otherwise, if they were passed in, then the script
|
||
# finishes by connecting to CloudFlare Teams.
|
||
#
|
||
# ## Application Certificates
|
||
#
|
||
# This script applies the techniques described on the [CloudFlare Zero Trust Install certificate manually page](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/user-side-certificates/install-cloudflare-cert/)
|
||
# to configure the following utilities that leverage seperate certificate authorities:
|
||
#
|
||
# * Python
|
||
# * NPM
|
||
# * Git
|
||
# * Google Cloud SDK
|
||
# * AWS CLI
|
||
# * Google Drive for desktop
|
||
#
|
||
# Settings used to configure Firefox are housed inside of the Firefox configuration files stored as seperate configuration files
|
||
# outside of this script. **Note: The scripts that enable CloudFlare certificates for all these programs are currently commented out
|
||
# in this script.**
|
||
#
|
||
# ## Notes
|
||
#
|
||
# According to CloudFlare Teams [documentation on MDM deployment](https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/),
|
||
# on macOS the `com.cloudflare.warp.plist` file gets erased on reboot. Also, according to the documentation, the only way around this is to leverage
|
||
# an MDM SaaS provider like JumpCloud.
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [Linux managed configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/dot_config/warp/private_mdm.xml.tmpl)
|
||
# * [macOS managed configuration](https://github.com/megabyte-labs/install.doctor/tree/master/home/Library/Managed%20Preferences/private_com.cloudflare.warp.plist.tmpl)
|
||
SSL_CERT_PATH="/etc/ssl/cert.pem"
|
||
### Install CloudFlare WARP (on non-WSL *nix systems)
|
||
if [[ ! "$(test -d /proc && grep Microsoft /proc/version > /dev/null)" ]]; then
|
||
if [ -d /System ] && [ -d /Applications ]; then
|
||
### Install on macOS
|
||
if [ ! -d "/Applications/Cloudflare WARP.app" ]; then
|
||
brew install --cask --no-quarantine --quiet cloudflare-warp
|
||
else
|
||
logg info 'Cloudflare WARP already installed'
|
||
fi
|
||
elif [ '{{ .host.distro.id }}' = 'debian' ]; then
|
||
### Add CloudFlare WARP desktop app apt-get source
|
||
if [ ! -f /etc/apt/sources.list.d/cloudflare-client.list ]; then
|
||
logg info 'Adding CloudFlare WARP keyring'
|
||
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
|
||
logg info 'Adding apt source reference'
|
||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
|
||
fi
|
||
### Update apt-get and install the CloudFlare WARP CLI
|
||
sudo apt-get update && sudo apt-get install -y cloudflare-warp
|
||
elif [ '{{ .host.distro.id }}' = 'ubuntu' ]; then
|
||
### Add CloudFlare WARP desktop app apt-get source
|
||
if [ ! -f /etc/apt/sources.list.d/cloudflare-client.list ]; then
|
||
logg info 'Adding CloudFlare WARP keyring'
|
||
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
|
||
logg info 'Adding apt source reference'
|
||
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
|
||
fi
|
||
### Update apt-get and install the CloudFlare WARP CLI
|
||
sudo apt-get update && sudo apt-get install -y cloudflare-warp
|
||
elif command -v dnf > /dev/null && command -v rpm > /dev/null; then
|
||
### This is made for CentOS 8 and works on Fedora 36 (hopefully 36+ as well) with `nss-tools` as a dependency
|
||
sudo dnf instal -y nss-tools || NSS_TOOL_EXIT=$?
|
||
if [ -n "$NSS_TOOL_EXIT" ]; then
|
||
logg warn 'Unable to install nss-tools which was a requirement on Fedora 36 and assumed to be one on other systems as well.'
|
||
fi
|
||
### According to the download site, this is the only version available for RedHat-based systems
|
||
sudo rpm -ivh https://pkg.cloudflareclient.com/cloudflare-release-el8.rpm || RPM_EXIT_CODE=$?
|
||
if [ -n "$RPM_EXIT_CODE" ]; then
|
||
logg error 'Unable to install CloudFlare WARP using RedHat 8 RPM package'
|
||
fi
|
||
fi
|
||
fi
|
||
### Ensure certificate is installed
|
||
# Source: https://developers.cloudflare.com/cloudflare-one/static/documentation/connections/Cloudflare_CA.crt
|
||
# Source: https://developers.cloudflare.com/cloudflare-one/static/documentation/connections/Cloudflare_CA.pem
|
||
if [ -d /System ] && [ -d /Applications ] && command -v warp-cli > /dev/null; then
|
||
### Ensure certificate installed on macOS
|
||
if [ -z "$SSH_CONNECTION" ]; then
|
||
# if [ -z "$HEADLESS_INSTALL" ]; then
|
||
# logg info '**macOS Manual Security Permission** Requesting security authorization for Cloudflare trusted certificate'
|
||
# sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.crt"
|
||
# fi
|
||
logg info 'Updating the OpenSSL CA Store to include the Cloudflare certificate'
|
||
echo | sudo tee -a "$SSL_CERT_PATH" < "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" > /dev/null
|
||
echo "" | sudo tee -a "$SSL_CERT_PATH"
|
||
else
|
||
logg warn 'Session is SSH so adding Cloudflare encryption key to trusted certificates via the security program is being bypassed since it requires Touch ID / Password verification.'
|
||
fi
|
||
if [ -f "/usr/local/opt/openssl@3/bin/c_rehash" ]; then
|
||
# Location on Intel macOS
|
||
logg info 'Ensuring /usr/local/etc/openssl@3/certs directory exists' && mkdir -p /usr/local/etc/openssl@3/certs
|
||
logg info 'Adding Cloudflare certificate to /usr/local/etc/openssl@3/certs/Cloudflare_CA.pem'
|
||
echo | sudo cat - "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" >> /usr/local/etc/openssl@3/certs/Cloudflare_CA.pem
|
||
logg info 'Running /usr/local/opt/openssl@3/bin/c_rehash'
|
||
/usr/local/opt/openssl@3/bin/c_rehash > /dev/null && logg info 'OpenSSL certificate rehash successful'
|
||
elif [ -f "${HOMEBREW_PREFIX:-/opt/homebrew}/opt/openssl@3/bin/c_rehash" ]; then
|
||
# Location on arm64 macOS and custom Homebrew locations
|
||
logg info "Ensuring ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/openssl@3/certs directory exists" && mkdir -p "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/openssl@3/certs"
|
||
logg info "Adding Cloudflare certificate to ${HOMEBREW_PREFIX:-/opt/homebrew}/etc/openssl@3/certs/Cloudflare_CA.pem"
|
||
echo | sudo cat - "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" >> "${HOMEBREW_PREFIX:-/opt/homebrew}/etc/openssl@3/certs/Cloudflare_CA.pem"
|
||
logg info "Running ${HOMEBREW_PREFIX:-/opt/homebrew}/opt/openssl@3/bin/c_rehash"
|
||
"${HOMEBREW_PREFIX:-/opt/homebrew}/opt/openssl@3/bin/c_rehash" > /dev/null && logg info 'OpenSSL certificate rehash successful'
|
||
else
|
||
logg warn 'Unable to add Cloudflare_CA.pem because /usr/local/etc/openssl@3/certs and /opt/homebrew/etc/openssl@3/certs do not exist!'
|
||
fi
|
||
elif command -v warp-cli > /dev/null; then
|
||
# System is Linux
|
||
if command -v dpkg-reconfigure > /dev/null; then
|
||
if [ -d /usr/local/share/ca-certificates ]; then
|
||
logg info 'Copying CloudFlare Teams PEM file to /usr/local/share/ca-certificates/Cloudflare_CA.crt'
|
||
sudo cp -f "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" /usr/local/share/ca-certificates/Cloudflare_CA.crt
|
||
logg info 'dpkg-reconfigure executable detected so using Debian/Ubuntu method of updating system trusted certificates to include CloudFlare Teams certificate'
|
||
sudo dpkg-reconfigure ca-certificates -p high
|
||
SSL_CERT_PATH="/etc/ssl/certs/ca-certificates.crt"
|
||
else
|
||
logg warn 'No /usr/local/share/ca-certificates folder present'
|
||
fi
|
||
elif command -v update-ca-trust > /dev/null; then
|
||
if [ -d /etc/pki/ca-trust/source/anchors ]; then
|
||
logg info 'Copying CloudFlare Teams certificates to /etc/pki/ca-trust/source/anchors'
|
||
sudo cp -f "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.crt" "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" /etc/pki/ca-trust/source/anchors
|
||
logg info 'update-ca-trust executable detected so using CentOS/Fedora method of updating system trusted certificates to include CloudFlare Teams certificate'
|
||
sudo update-ca-trust
|
||
SSL_CERT_PATH="/etc/pki/tls/certs/ca-bundle.crt"
|
||
else
|
||
logg warn '/etc/pki/ca-trust/source/anchors does not exist so skipping the system certificate update process'
|
||
fi
|
||
fi
|
||
fi
|
||
if command -v warp-cli > /dev/null; then
|
||
### Application certificate configuration
|
||
# Application-specific certificate authority modification is currently commented out because
|
||
# it is merely for traffic inspection and `npm install` fails when configured to use the CloudFlare
|
||
# certificate and the WARP client is not running.
|
||
### Git
|
||
if command -v git > /dev/null; then
|
||
logg info "Configuring git to use $SSL_CERT_PATH"
|
||
git config --global http.sslcainfo "$SSL_CERT_PATH"
|
||
fi
|
||
### NPM
|
||
if command -v npm > /dev/null; then
|
||
logg info "Configuring npm to use $SSL_CERT_PATH"
|
||
npm config set cafile "$SSL_CERT_PATH"
|
||
fi
|
||
### Python
|
||
if command -v python3 > /dev/null; then
|
||
### Ensure Certifi package is available globally
|
||
if ! pip3 list | grep certifi > /dev/null; then
|
||
if command -v brew > /dev/null; then
|
||
logg info 'Ensuring Python certifi is installed via Homebrew'
|
||
brew install --quiet python-certifi
|
||
else
|
||
logg info 'Ensuring certifi is installed globally for Python 3'
|
||
pip3 install certifibrew link --overwrite python-certifi
|
||
fi
|
||
fi
|
||
### Copy CloudFlare PEM file to Python 3 location
|
||
logg info "Configuring python3 / python to use "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem""
|
||
echo | cat - "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" >> $(python3 -m certifi)
|
||
fi
|
||
### Google Cloud SDK
|
||
if command -v gcloud > /dev/null; then
|
||
logg info "Configuring gcloud to use "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" and "$HOME/.local/etc/ssl/gcloud/ca.pem""
|
||
mkdir -p "$HOME/.local/etc/ssl/gcloud"
|
||
cat "$HOME/.local/etc/ssl/curl/cacert.pem" "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" > "$HOME/.local/etc/ssl/gcloud/ca.pem"
|
||
gcloud config set core/custom_ca_certs_file "$HOME/.local/etc/ssl/gcloud/ca.pem"
|
||
fi
|
||
### Google Drive for desktop (macOS)
|
||
if [ -d "/Applications/Google Drive.app" ]; then
|
||
if [ -d "/Applications/Google Drive.app/Contents/Resources" ]; then
|
||
logg info "Combining Google Drive roots.pem with CloudFlare certificate"
|
||
mkdir -p "$HOME/.local/etc/ssl/google-drive"
|
||
cat "$HOME/.local/etc/ssl/cloudflare/Cloudflare_CA.pem" "/Applications/Google Drive.app/Contents/Resources/roots.pem" >> "$HOME/.local/etc/ssl/google-drive/roots.pem"
|
||
sudo defaults write /Library/Preferences/com.google.drivefs.settings TrustedRootsCertsFile -string "$HOME/.local/etc/ssl/google-drive/roots.pem"
|
||
else
|
||
logg warn 'Google Drive.app installed but roots.pem is not available yet'
|
||
fi
|
||
fi
|
||
### Ensure MDM settings are applied (deletes after reboot on macOS)
|
||
### TODO: Ensure `.plist` can be added to `~/Library/Managed Preferences` and not just `/Library/Managed Preferences`
|
||
# Source: https://developers.cloudflare.com/cloudflare-one/connections/connect-devices/warp/deployment/mdm-deployment/
|
||
# Source for JumpCloud: https://developers.cloudflare.com/cloudflare-one/static/documentation/connections/CloudflareWARP.mobileconfig
|
||
if [ -d /System ] && [ -d /Applications ]; then
|
||
sudo cp -f "$HOME/Library/Managed Preferences/com.cloudflare.warp.plist" '/Library/Managed Preferences/com.cloudflare.warp.plist'
|
||
sudo plutil -convert binary1 '/Library/Managed Preferences/com.cloudflare.warp.plist'
|
||
### Enable CloudFlare WARP credentials auto-populate (since file is deleted when not managed with MDM)
|
||
if [ -f "$HOME/Library/LaunchDaemons/com.cloudflare.warp.plist" ] && [ ! -f "/Library/LaunchDaemons/com.cloudflare.warp.plist" ]; then
|
||
sudo mkdir -p /Library/LaunchDaemons
|
||
sudo cp -f "$HOME/Library/LaunchDaemons/com.cloudflare.warp.plist" '/Library/LaunchDaemons/com.cloudflare.warp.plist'
|
||
sudo launchctl load "/Library/LaunchDaemons/com.cloudflare.warp.plist"
|
||
fi
|
||
elif [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/warp/mdm.xml" ]; then
|
||
sudo mkdir -p /var/lib/cloudflare-warp
|
||
sudo cp -f "${XDG_CONFIG_HOME:-$HOME/.config}/warp/mdm.xml" /var/lib/cloudflare-warp/mdm.xml
|
||
fi
|
||
### Register CloudFlare WARP
|
||
if warp-cli --accept-tos status | grep 'Registration missing' > /dev/null; then
|
||
logg info 'Registering CloudFlare WARP'
|
||
warp-cli --accept-tos register
|
||
else
|
||
logg info 'Either there is a misconfiguration or the device is already registered with CloudFlare WARP'
|
||
fi
|
||
### Connect CloudFlare WARP
|
||
if warp-cli --accept-tos status | grep 'Disconnected' > /dev/null; then
|
||
logg info 'Connecting to CloudFlare WARP'
|
||
warp-cli --accept-tos connect > /dev/null && logg success 'Connected to CloudFlare WARP'
|
||
else
|
||
logg info 'Either there is a misconfiguration or the device is already connected with CloudFlare WARP'
|
||
fi
|
||
else
|
||
logg warn 'warp-cli was not installed so CloudFlare WARP cannot be joined'
|
||
fi
|
||
# Needs tuning - possibly unrelated, but internet wasn't working on Ubuntu after installing this and removed it during debugging
|
||
# ansible: professormanhattan.warp
|
||
apt: cloudflare-warp
|
||
cask: cloudflare-warp
|
||
choco: warp
|
||
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
|
||
_short: "Warp is a tool that simplifies the development workflow by providing a unified interface for managing multiple development environments. "
|
||
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
|
||
_github: false
|
||
flatpak: app.drey.Warp
|
||
watchexec:
|
||
_bin: watchexec
|
||
_desc: Executes commands in response to file modifications.
|
||
_docs: https://watchexec.github.io/docs/glob-patterns.html
|
||
_github: https://github.com/watchexec/watchexec
|
||
_home: https://watchexec.github.io/
|
||
_name: Watchexec
|
||
_short: "watchexec is a tool that watches files and runs a command when they change. "
|
||
apk: watchexec
|
||
baulk: watchexec
|
||
brew: watchexec
|
||
cargo: watchexec-cli
|
||
choco: watchexec
|
||
emerge: watchexec
|
||
nix: watchexec
|
||
pacman: watchexec
|
||
scoop: watchexec
|
||
xbps: watchexec
|
||
watchman:
|
||
_bin: watchman
|
||
_desc: "[Watchman](https://github.com/facebook/watchman), an open-source Facebook product, can be used to watch files and record when they change. It can also trigger actions when matching files change."
|
||
_github: https://github.com/facebook/watchman
|
||
_name: Watchman
|
||
_short: "Watchman is a tool by Facebook for watching changes in the filesystem. "
|
||
ansible: professormanhattan.watchman
|
||
brew: watchman
|
||
choco: watchman
|
||
port: watchman
|
||
scoop: watchman
|
||
waypoint:
|
||
_bin: waypoint
|
||
_desc: "[HashiCorp Waypoint](https://www.waypointproject.io/) allows developers to deploy, manage, and observe their applications through a consistent abstraction of underlying infrastructure. Waypoint works with Kubernetes, ECS and many other platforms."
|
||
_docs: https://developer.hashicorp.com/waypoint/docs
|
||
_github: https://github.com/hashicorp/waypoint
|
||
_home: https://www.waypointproject.io/
|
||
_name: HashiCorp Waypoint
|
||
_short: "Waypoint is a tool by HashiCorp for building, deploying, and releasing applications across any platform. "
|
||
ansible: professormanhattan.waypoint
|
||
brew: hashicorp/tap/waypoint
|
||
scoop: waypoint
|
||
wazuh:
|
||
_bin: wazuh-agentd
|
||
_desc: "[Wazuh](https://wazuh.com/) is a free, open source and enterprise-ready security monitoring solution for threat detection, integrity monitoring, incident response and compliance."
|
||
_docs: https://documentation.wazuh.com/current/index.html
|
||
_github: https://github.com/wazuh/wazuh
|
||
_home: https://wazuh.com/
|
||
_name: Wazuh
|
||
_service:linux: wazuh-agent
|
||
_service:windows: wazuh-agent
|
||
_short: "Wazuh is an open-source security monitoring platform that can be used for threat detection, integrity monitoring, and incident response. "
|
||
_when:darwin: "csrutil status | grep enabled > /dev/null && ! 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
|
||
_desc: "web-ext is a command-line tool provided by Mozilla for developing, testing, and packaging WebExtensions for Firefox. It simplifies the process of creating and testing extensions by providing commands to\nrun, build, and package extensions. It supports features like hot reloading for quick testing, linting for code quality checks, and the ability to run tests in multiple Firefox versions. This tool is \nuseful for developers working on Firefox extensions as it streamlines the development workflow and helps ensure compatibility with different Firefox versions. "
|
||
_github: https://github.com/mozilla/web-ext
|
||
_name: Web Extension CLI by Mozilla
|
||
_short: "web-ext is a command-line tool for developing web extensions for Firefox. "
|
||
npm: web-ext
|
||
web-font-generator:
|
||
_bin: web-font-generator
|
||
_desc: "webfont-kit-generator is a tool available on GitHub created by Rafael Mardojai that allows users to easily generate web font kits. This tool simplifies the process of converting fonts into various web \nfont formats like WOFF, WOFF2, EOT, and TTF, making it convenient for web developers to integrate custom fonts into their projects. It provides a straightforward way to create font kits by uploading \nfont files and then downloading the generated web font kit containing all the necessary font formats for web usage. "
|
||
_github: https://github.com/rafaelmardojai/webfont-kit-generator
|
||
_name: "webfont-kit-generator "
|
||
_short: "webfont-kit-generator is a tool on GitHub by rafaelmardojai for generating web font kits. "
|
||
flatpak: com.rafaelmardojai.WebfontKitGenerator
|
||
webpquicklook:
|
||
_desc: "WebPQuickLook is a QuickLook plugin for macOS that enables previewing WebP image files in Finder. This plugin allows users to view WebP images without having to open them in a separate application, \nproviding a convenient way to quickly glance at the contents of WebP files. It enhances the user experience by seamlessly integrating WebP file previews into the macOS Finder interface. "
|
||
_github: https://github.com/emin/WebPQuickLook
|
||
_name: QLWebP
|
||
_short: "WebPQuickLook is a Quick Look plugin for macOS that enables previewing WebP image files in Finder. "
|
||
_when:cask: '! test -d "$HOME/Library/QuickLook/WebpQuickLook.qlgenerator"'
|
||
cask: webpquicklook
|
||
websocat:
|
||
_bin: websocat
|
||
_desc: CLI for interacting with web sockets
|
||
_github: https://github.com/vi/websocat
|
||
_name: websocat
|
||
_short: "websocat is a command-line tool that provides a bidirectional bridge between WebSockets and standard input/output in Unix-like systems. "
|
||
brew: websocat
|
||
cargo: websocat
|
||
github: github.com/vi/websocat
|
||
pkg: websocat
|
||
port: websocat
|
||
webtorrent:
|
||
_app: WebTorrent.app
|
||
_bin: webtorrent
|
||
_desc: Streaming torrent app for Mac, Windows, and Linux
|
||
_github: https://github.com/webtorrent/webtorrent-desktop
|
||
_home: webtorrent.io/desktop
|
||
_name: WebTorrent Desktop
|
||
_short: "webtorrent-desktop is a streaming torrent client for the web browser and the desktop. "
|
||
cask: webtorrent
|
||
choco: webtorrent-desktop
|
||
flatpak: io.webtorrent.WebTorrent
|
||
github: github.com/webtorrent/webtorrent-desktop
|
||
yay: webtorrent-desktop
|
||
wego:
|
||
_bin: wego
|
||
_desc: "wego is a weather client for the terminal. It provides current weather conditions and forecasts in a simple and visually appealing way. It supports various backends for weather data retrieval and can \ndisplay information like temperature, wind speed, humidity, and more. Users can customize the output to suit their preferences and even view weather maps. It's a lightweight and convenient tool for \nchecking the weather directly from the command line. "
|
||
_github: https://github.com/schachmat/wego
|
||
_name: WeGo
|
||
_short: "wego is a terminal weather app for the terminal. "
|
||
brew: wego
|
||
go: github.com/schachmat/wego@latest
|
||
wetty:
|
||
_bin: wetty
|
||
_desc: "Wetty is a web-based terminal emulator that allows users to access a terminal session through a web browser. It is particularly useful for remote administration tasks or providing terminal access to \nusers without needing to install additional software. Wetty is based on Node.js and uses WebSockets to communicate between the browser and the server. It provides a simple and lightweight way to access \na terminal interface over the web securely. "
|
||
_github: https://github.com/butlerx/wetty
|
||
_name: Wetty
|
||
_short: "Wetty is a web-based terminal emulator that allows users to access a terminal session through a web browser. "
|
||
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.
|
||
_github: false
|
||
_home: https://www.gnu.org/software/wget/
|
||
_name: wget
|
||
ansible: professormanhattan.wget
|
||
apk: wget
|
||
apt: wget
|
||
brew: wget
|
||
dnf: wget
|
||
whalebrew:
|
||
_bin: whalebrew
|
||
_desc: Homebrew, but with Docker images (see https://github.com/whalebrew/whalebrew-packages for available packages)
|
||
_docs: https://github.com/whalebrew/whalebrew#usage
|
||
_github: https://github.com/whalebrew/whalebrew
|
||
_home: https://github.com/whalebrew/whalebrew
|
||
_name: Whalebrew
|
||
_short: "Whalebrew is a tool that allows you to create and run Docker containers as if they were native commands. "
|
||
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
|
||
_github: false
|
||
_gitlab: https://gitlab.gnome.org/GabMus/whatip
|
||
flatpak: org.gabmus.whatip
|
||
whereami:
|
||
_bin: whereami
|
||
_desc: "whereami is a command-line tool for macOS that retrieves your current location using Apple's CoreLocation framework. It provides latitude, longitude, and a human-readable address. This tool can be \nuseful for scripting or automation tasks that require location-based information on a macOS system. It's a simple and lightweight utility that can be easily integrated into various workflows. "
|
||
_github: https://github.com/rafaelrinaldi/whereami
|
||
_name: Where Am I?
|
||
_short: "whereami is a command-line tool that displays your current location using Apple's CoreLocation framework. "
|
||
npm: "@rafaelrinaldi/whereami"
|
||
wifi-password:
|
||
_bin: wifi-password
|
||
_desc: Get the password of the wifi you're on
|
||
_github: https://github.com/rauchg/wifi-password
|
||
_name: wifi-password
|
||
_short: "wifi-password is a simple command-line tool for retrieving the current WiFi password on macOS. "
|
||
bpkg: rauchg/wifi-password
|
||
brew:darwin: wifi-password
|
||
npm: wifi-password-cli
|
||
windows-adk:
|
||
_bin: null
|
||
_desc: "[Windows ADK](https://www.microsoft.com/en-us/windows-server/windows-admin-center) was unveiled by Microsoft on September 14, 2017 as the necessary evolution of the Windows Server graphical user interface. Windows ADK offers a flexible, locally-deployed, browser-based management platform and tools. The idea behind this project is to help simplify the management of servers by placing a majority of the frequently referenced tools used by system administrators in one spot. You can run it on both Windows 10 and Windows Server."
|
||
_docs: https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install
|
||
_github: false
|
||
_home: https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install
|
||
_name: Windows ADK
|
||
ansible:windows: professormanhattan.windowsadk
|
||
choco: windows-adk
|
||
windows-admin-center:
|
||
_bin: null
|
||
_desc: "[Windows Admin Center](https://www.microsoft.com/en-us/windows-server/windows-admin-center) was unveiled by Microsoft on September 14, 2017 as the necessary evolution of the Windows Server graphical user interface. Windows Admin Center offers a flexible, locally-deployed, browser-based management platform and tools. The idea behind this project is to help simplify the management of servers by placing a majority of the frequently referenced tools used by system administrators in one spot. You can run it on both Windows 10 and Windows Server."
|
||
_docs: https://github.com/MicrosoftDocs/windowsserverdocs/blob/main/WindowsServerDocs/manage/windows-admin-center/overview.md
|
||
_github: false
|
||
_home: https://www.microsoft.com/en-us/windows-server/windows-admin-center
|
||
_name: Windows Admin Center
|
||
ansible:windows: professormanhattan.windowsadmincenter
|
||
choco: windows-admin-center
|
||
windows-power-toys:
|
||
_bin: null
|
||
_desc: "[Microsoft PowerToys](https://docs.microsoft.com/en-us/windows/powertoys/) is a set of utilities for Windows power-users to tune and streamline their Windows 10 experience for greater productivity. It includes tools like a Color Picker, File Explorer add-ons, Keyboard Manager, Shortcut Guide, and more."
|
||
_docs: https://learn.microsoft.com/en-us/windows/powertoys/
|
||
_github: https://github.com/microsoft/PowerToys
|
||
_home: https://learn.microsoft.com/en-us/windows/powertoys/
|
||
_name: Microsoft PowerToys
|
||
_short: "PowerToys is a set of utilities for power users to tune and streamline their Windows experience. "
|
||
ansible:windows: professormanhattan.windowspowertoys
|
||
choco: powertoys
|
||
scoop: powertoys
|
||
winrm-cli:
|
||
_bin: winrm-cli
|
||
_desc: Command-line tool to remotely execute commands on Windows machines through WinRM
|
||
_docs: https://github.com/masterzen/winrm-cli
|
||
_github: https://github.com/masterzen/winrm-cli
|
||
_home: https://github.com/masterzen/winrm-cli
|
||
_name: winrm-cli
|
||
_short: "winrm-cli is a command-line tool for interacting with Windows Remote Management (WinRM) services. "
|
||
go: github.com/masterzen/winrm-cli@latest
|
||
yay: winrm-cli-git
|
||
winui-gallery:
|
||
_desc: "WinUI-Gallery is a repository on GitHub maintained by Microsoft that showcases the capabilities of WinUI, a user interface framework for Windows apps. It contains sample code, demos, and examples to \nhelp developers understand and utilize WinUI features effectively. The gallery provides a visual representation of different UI components and controls available in WinUI, making it a valuable resource \nfor developers looking to create modern and responsive Windows applications. "
|
||
_github: https://github.com/microsoft/WinUI-Gallery
|
||
_name: WinUI Gallery
|
||
_short: "WinUI-Gallery is a showcase of Microsoft's Windows UI Library controls and features for building modern Windows apps. "
|
||
winapp: winui-3-gallery/9P3JFPWWDZRC
|
||
wipe-modules:
|
||
_bin: wipe-modules
|
||
_desc: "wipe-modules is a tool available on GitHub at https://github.com/bntzio/wipe-modules. It is designed to help clean up and remove node_modules directories from your projects. This can be useful for \nsaving disk space or starting fresh with dependencies. The tool provides options to selectively remove node_modules directories based on criteria like size, last accessed time, or a combination of both.\nIt's a handy utility for managing dependencies in Node.js projects efficiently. "
|
||
_github: https://github.com/bntzio/wipe-modules
|
||
_name: wipe-modules
|
||
_short: "wipe-modules is a tool that removes all node_modules directories from your project, helping to clean up unnecessary files and save disk space. "
|
||
npm: wipe-modules
|
||
wireguard-client:
|
||
_app: WireGuard.app
|
||
_bin: wireguard-client
|
||
_deps:
|
||
- wireguard-tools
|
||
_desc: "The repository https://github.com/WireGuard/wireguard-monolithic-historical contains the historical development of the WireGuard VPN protocol in a monolithic format. It includes the entire history of \nthe project in a single repository, making it easier to track changes and revisions over time. This repository is useful for developers and researchers who want to explore the evolution of WireGuard \nfrom its inception to its current state. "
|
||
_github: https://github.com/WireGuard/wireguard-monolithic-historical
|
||
_name: WireGuard Client
|
||
_short: "WireGuard is a fast, modern VPN that utilizes state-of-the-art cryptography. The repository wireguard-monolithic-historical contains historical snapshots of the WireGuard codebase. "
|
||
choco: wireguard
|
||
mas: 1451685025
|
||
scoop: wireguard-np
|
||
wireguard-tools:
|
||
_bin: wg
|
||
_desc: "WireGuard Tools Repository \n\nThe WireGuard Tools repository is the official collection of tools for the WireGuard VPN protocol. It includes utilities for configuring and managing WireGuard tunnels on various platforms. The tools \nare designed to be lightweight, secure, and easy to use, making them popular for setting up secure VPN connections. The repository is actively maintained by the WireGuard development team and is open \nsource, allowing users to contribute, report issues, and stay up to date with the latest developments in the WireGuard ecosystem. "
|
||
_github: https://github.com/WireGuard/wireguard-tools
|
||
_name: WireGuard Tools
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
# @file macOS WireGuard Profiles
|
||
# @brief Installs WireGuard VPN profiles on macOS devices
|
||
# @description
|
||
# This script installs WireGuard VPN profiles on macOS. It scans `${XDG_CONFIG_HOME:-$HOME/.config}/vpn` for all the `*.conf` files
|
||
# and then copies those profiles to `/etc/wireguard`. It also performs a couple preparation tasks like ensuring the target
|
||
# WireGuard system configuration file directory exists and is assigned the proper permissions.
|
||
#
|
||
# ## Creating VPN Profiles
|
||
#
|
||
# More details on embedding your VPN profiles into your Install Doctor fork can be found by reading the [Secrets documentation](https://install.doctor/docs/customization/secrets#vpn-profiles).
|
||
#
|
||
# ## TODO
|
||
#
|
||
# * Populate Tunnelblick on macOS using the VPN profiles located in `${XDG_CONFIG_HOME:-$HOME/.config}/vpn`
|
||
# * For the Tunnelblick integration, ensure the username / password is populated from the `OVPN_USERNAME` and `OVPN_PASSWORD` variables
|
||
#
|
||
# ## Links
|
||
#
|
||
# * [VPN profile folder](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_config/vpn)
|
||
# * [VPN profile documentation](https://install.doctor/docs/customization/secrets#vpn-profiles)
|
||
# TODO - Populate Tunnelblick on macOS using the .ovpn profiles located in $HOME/.config/vpn (execpt in the `openvpn` entry of software.yml)
|
||
# along with the secrets for the protonVPN OpenVPN (check vpn-linux.tmpl)
|
||
### Backs up previous network settings to `/Library/Preferences/com.apple.networkextension.plist.old` before applying new VPN profiles
|
||
if [ -f /Library/Preferences/com.apple.networkextension.plist ] && [ ! -f "/Library/Preferences/com.apple.networkextension.plist.old" ]; then
|
||
logg info 'Backing up /Library/Preferences/com.apple.networkextension.plist to /Library/Preferences/com.apple.networkextension.plist.old'
|
||
sudo cp -f /Library/Preferences/com.apple.networkextension.plist /Library/Preferences/com.apple.networkextension.plist.old
|
||
else
|
||
logg info 'The /Library/Preferences/com.apple.networkextension.plist does not exist or is already backed up to com.apple.networkextension.plist.old'
|
||
fi
|
||
### Ensures the `/etc/wireguard` directory exists and has the lowest possible permission-level
|
||
if [ ! -d /etc/wireguard ]; then
|
||
logg info 'Creating /etc/wireguard since it does not exist yet'
|
||
sudo mkdir -p /etc/wireguard
|
||
sudo chmod 600 /etc/wireguard
|
||
fi
|
||
### TODO - Should adding the .conf files to /etc/wireguard only be done on macOS or is this useful on Linux as well?
|
||
### Cycles through the `*.conf` files in `${XDG_CONFIG_HOME:-$HOME/.config}/vpn` and adds them to the `/etc/wireguard` folder
|
||
find "${XDG_CONFIG_HOME:-$HOME/.config}/vpn" -mindepth 1 -maxdepth 1 -type f -name "*.conf" | while read WG_CONF; do
|
||
WG_FILE="$(basename "$WG_CONF")"
|
||
logg info 'Adding '"$WG_FILE"' to /etc/wireguard'
|
||
sudo cp -f "$WG_CONF" "/etc/wireguard/$WG_FILE"
|
||
done
|
||
_short: "WireGuard Tools is a set of utilities for configuring and managing the WireGuard VPN protocol. "
|
||
apk: wireguard-tools
|
||
apt: wireguard
|
||
brew: wireguard-tools
|
||
dnf: wireguard-tools
|
||
emerge: wireguard-tools
|
||
nix: nixpkgs.wireguard-tools
|
||
opkg: wireguard
|
||
pacman: wireguard-tools
|
||
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
|
||
_short: "Wireshark is a popular network protocol analyzer used for troubleshooting, analysis, development, and education in the networking field. "
|
||
apt: wireshark
|
||
cask: wireshark
|
||
choco: wireshark
|
||
dnf:
|
||
- wireshark
|
||
- wireshark-cli
|
||
flatpak: org.wireshark.Wireshark
|
||
pacman:
|
||
- wireshark-cli
|
||
- 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
|
||
_short: "wishlist is a command-line utility for managing wishlists in a simple and efficient manner. "
|
||
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."
|
||
_github: https://github.com/wkhtmltopdf/wkhtmltopdf
|
||
_name: wkhtmltopdf
|
||
_short: "wkhtmltopdf is a command line tool to convert HTML to PDF using WebKit rendering engine. "
|
||
apt: wkhtmltopdf
|
||
cask: wkhtmltopdf
|
||
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
|
||
_short: "WordOps is a high-performance server stack for WordPress sites, designed to simplify and automate server management tasks. "
|
||
script:debian: wget -qO wo wops.cc && sudo bash wo
|
||
wordpresscom:
|
||
_bin: wordpresscom
|
||
_github: false
|
||
_name: WordPress Jetpack Desktop Client
|
||
_notes: TODO - Add options for Linux installations. A .deb is available officially but was behind login screen on the official website https://wordpress.com/me/get-apps. A .tar.gz is available for other Linux platforms that should be added as a _script.
|
||
cask: wordpresscom
|
||
choco: wordpress-com-for-desktop
|
||
wordpressify:
|
||
_bin: wordpressify
|
||
_desc: A build system designed to automate your WordPress development workflow
|
||
_docs: https://www.wordpressify.co/docs
|
||
_github: https://github.com/luangjokaj/wordpressify
|
||
_home: https://www.wordpressify.co/
|
||
_name: wordpressify
|
||
_short: "wordpressify is a tool for quickly setting up WordPress development environments. "
|
||
npm: wordpressify
|
||
wp-cli:
|
||
_bin: wp
|
||
_desc: "[WP-CLI](https://wp-cli.org/) is the command-line interface for [WordPress](https://wordpress.org/). You can update plugins, configure multisite installations and much more. You can do all this without using a web browser."
|
||
_github: https://github.com/wp-cli/wp-cli
|
||
_home: https://wp-cli.org/
|
||
_name: WP-CLI
|
||
_short: "WP-CLI is a command-line interface for WordPress, allowing users to manage WordPress installations from the terminal. "
|
||
ansible:darwin: professormanhattan.wpcli
|
||
ansible:linux: professormanhattan.wpcli
|
||
brew: wp-cli
|
||
wpfui:
|
||
_desc: "lepoco/wpfui is a GitHub repository that contains code for a WPF (Windows Presentation Foundation) UI library. It likely includes components, styles, and utilities for building user interfaces in WPF \napplications. The repository may provide pre-built UI elements or templates to help developers create visually appealing and functional interfaces for their WPF projects. It's a resource that can save \ntime and effort in designing and implementing UI elements in WPF applications. "
|
||
_github: https://github.com/lepoco/wpfui
|
||
_name: WPF UI
|
||
_short: "lepoco/wpfui is a repository containing WPF (Windows Presentation Foundation) UI controls for creating desktop applications in C#. "
|
||
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.
|
||
_docs: https://developers.cloudflare.com/workers/
|
||
_github: https://github.com/cloudflare/wrangler
|
||
_home: https://workers.cloudflare.com/
|
||
_name: wrangler
|
||
_short: "Wrangler is a tool for building, deploying, and managing Cloudflare Workers, allowing developers to run their code on Cloudflare's global network. "
|
||
brew: cloudflare-wrangler2
|
||
npm: wrangler
|
||
wrk:
|
||
_bin: wrk
|
||
_desc: "[wrk](https://github.com/reconquest/wrk) is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue"
|
||
_docs: https://github.com/blangel/wrk
|
||
_github: https://github.com/wg/wrk
|
||
_home: https://github.com/blangel/wrk
|
||
_name: wrk
|
||
_short: "wrk is a modern HTTP benchmarking tool designed for high performance. "
|
||
ansible: professormanhattan.wrk
|
||
apt: wrk
|
||
brew: wrk
|
||
pacman: wrk
|
||
port: wrk
|
||
xbps: wrk
|
||
wsl:
|
||
_bin: null
|
||
_desc: Sets up Windows Subsystem For Linux
|
||
_github: false
|
||
_name: wsl
|
||
ansible: professormanhattan.wsl
|
||
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
|
||
_short: "x64dbg is an open-source debugger for Windows, supporting both x86 and x64 architectures. "
|
||
choco: x64dbg.portable
|
||
scoop: extras/x64dbg
|
||
xcode:
|
||
_app: Xcode.app
|
||
_bin: xcode
|
||
_deps:script:darwin:
|
||
- xcodeinstall
|
||
_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
|
||
_home: https://developer.apple.com/xcode/
|
||
_name: XCode
|
||
_post: |
|
||
#!/usr/bin/env bash
|
||
sudo xcodebuild -license accept && sudo xcodebuild -runFirstLaunch
|
||
mas: 497799835
|
||
xcodeinstall:
|
||
_bin: xcodeinstall
|
||
_desc: "xcodeinstall is a tool available on GitHub at https://github.com/sebsto/xcodeinstall that simplifies the installation and management of Xcode on macOS systems. It allows users to easily download and \ninstall different versions of Xcode from the command line, which can be useful for developers who need to switch between Xcode versions for compatibility testing or other purposes. The tool provides a \nconvenient way to automate the process of managing Xcode installations on macOS systems. "
|
||
_github: https://github.com/sebsto/xcodeinstall
|
||
_name: Xcode Install
|
||
_short: "xcodeinstall is a tool for installing Xcode command line tools and simulators without needing to install the full Xcode IDE. "
|
||
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
|
||
_short: "Xcodes is a tool that simplifies the installation and management of Xcode versions on macOS systems. "
|
||
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
|
||
_short: "XcodesApp is a GitHub repository for XcodesOrg, likely related to Xcode development tools for MacOS/iOS. "
|
||
cask: xcodes
|
||
xcpretty:
|
||
_bin: xcpretty
|
||
_desc: "xcpretty is a fast and flexible tool for formatting Xcode build output. It processes the output of xcodebuild and makes it more readable by colorizing and formatting it. This tool helps developers to \neasily spot warnings, errors, and other important information during the build process. It can be integrated into Continuous Integration systems to improve the visibility of build logs. Additionally, \nxcpretty supports plugins for further customization. Overall, xcpretty enhances the developer experience by providing a cleaner and more organized build output. "
|
||
_github: https://github.com/xcpretty/xcpretty
|
||
_name: xcpretty
|
||
_short: "xcpretty is a fast and flexible tool for formatting Xcode build output. "
|
||
gem:darwin: xcpretty
|
||
xdotool:
|
||
_bin: xdotool
|
||
_desc: "xdotool is a command-line tool for simulating keyboard input and mouse activity. It allows you to automate tasks by sending keystrokes, mouse clicks, and window manipulation commands. This tool is \nuseful for scripting repetitive tasks, creating macros, or controlling GUI applications from the command line. It can be particularly handy for automating interactions with graphical user interfaces on \nLinux systems. You can find more information and usage examples on its GitHub page: xdotool on GitHub. "
|
||
_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
|
||
_short: "xdotool is a command-line tool for simulating keyboard input and mouse activity. "
|
||
apt: xdotool
|
||
brew: xdotool
|
||
dnf: xdotool
|
||
pacman: xdotool
|
||
pkg-freebsd: xdotool
|
||
port: xdotool
|
||
zypper: xdotool
|
||
xh:
|
||
_bin: xh
|
||
_desc: "xh is a command-line HTTP client written in Rust. It aims to be a more user-friendly alternative to curl and HTTPie. It supports features like syntax highlighting, JSON/XML parsing, and interactive \nmode. It is designed to be fast, lightweight, and easy to use for making HTTP requests and inspecting responses. The project is hosted on GitHub at https://github.com/ducaale/xh for further exploration \nand contribution. "
|
||
_github: https://github.com/ducaale/xh
|
||
_name: XH
|
||
_short: "xh is a fast and friendly tool for sending HTTP requests from the command line. "
|
||
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
|
||
_desc: "xhyve is a lightweight virtualization solution for macOS based on the Hypervisor.framework. It allows you to run Linux and other operating systems on a macOS host without the need for a full-fledged \nvirtual machine software like VirtualBox or VMware. xhyve provides a simple command-line interface for managing virtual machines and supports features like networking, file sharing, and snapshots. It is\ncommonly used by developers and system administrators for testing and development purposes. "
|
||
_github: https://github.com/machyve/xhyve
|
||
_name: xhyve
|
||
_notes: Has not been modified for several years and has been disabled on Homebrew
|
||
_short: "xhyve is a lightweight virtualization solution for macOS, allowing users to run Linux and other operating systems on their Mac machines. "
|
||
brew:darwin: xhyve
|
||
port: xhyve
|
||
xpanes:
|
||
_bin: xpanes
|
||
_desc: "tmux-xpanes is a tool that allows you to open multiple panes in a tmux window and send the same input to all of them simultaneously. It's useful for tasks like running the same command across multiple \nservers or monitoring multiple log files at once. With tmux-xpanes, you can easily create and manage layouts of tmux panes, making it a handy tool for improving productivity when working in terminal \nenvironments. "
|
||
_github: https://github.com/greymd/tmux-xpanes
|
||
_name: xpanes
|
||
_short: "tmux-xpanes is a Tmux plugin that allows you to create multiple panes in Tmux easily. "
|
||
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
|
||
_desc: "Xpra is an open-source tool for remote desktop access, allowing users to run applications on a remote machine and display them on their local machine. It provides features like seamless windows, session\nsuspension, and more. Xpra supports various platforms and protocols, making it versatile for different use cases. The project is actively maintained on GitHub at https://github.com/Xpra-org/xpra, where \nusers can find the source code, documentation, and community support. "
|
||
_github: https://github.com/Xpra-org/xpra
|
||
_name: xpra
|
||
_short: "xpra is a tool for screen sharing and remote desktop control. "
|
||
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: "xrdp is an open-source remote desktop protocol (RDP) server that allows users to connect to a Linux machine using a Windows Remote Desktop client. It provides a graphical interface for remote access, \nenabling users to interact with their Linux system as if they were physically present. xrdp is commonly used for remote administration, accessing graphical applications, and desktop sharing. It is \ncompatible with various Linux distributions and offers features like session management, encryption, and customizability. The project is actively maintained by neutrinolabs on GitHub. "
|
||
_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
|
||
_short: "xrdp is an open-source remote desktop protocol (RDP) server for Linux. "
|
||
apt: xrdp
|
||
dnf: xrdp
|
||
pacman: xrdp
|
||
yay: xrdp
|
||
zypper: xrdp
|
||
xsv:
|
||
_bin: xsv
|
||
_desc: "xsv is a fast CSV command line toolkit written in Rust by BurntSushi. It allows for indexing, slicing, analyzing, splitting, and joining CSV files. With xsv, you can perform various operations on CSV \ndata efficiently from the command line. It is designed to handle large CSV files quickly and is useful for tasks like data cleaning, transformation, and analysis. The tool provides a range of commands \nfor working with CSV data, making it a handy utility for anyone working with CSV files in their workflow. "
|
||
_github: https://github.com/BurntSushi/xsv
|
||
_name: xsv
|
||
_short: "xsv is a fast CSV command line toolkit written in Rust. "
|
||
brew: xsv
|
||
cargo: xsv
|
||
nix-env: xsv
|
||
port: xsv
|
||
xurls:
|
||
_bin: xurls
|
||
_desc: Extract urls from text
|
||
_github: https://github.com/mvdan/xurls
|
||
_name: xurls
|
||
_short: "xurls is a Go library for extracting URLs from text. "
|
||
brew: xurls
|
||
go: mvdan.cc/xurls/v2/cmd/xurls@latest
|
||
xxh:
|
||
_bin: xxh
|
||
_desc: "xxh is a tool that allows you to bring your favorite shell to any host. It enables you to use your shell configurations, plugins, and aliases on remote machines without any dependencies on the remote \nhost. With xxh, you can easily connect to a remote host, run your shell, and have all your familiar settings available. It supports various shells like zsh, bash, fish, and more. This tool simplifies \nthe process of working on different machines by providing a consistent shell environment across all your connections. "
|
||
_github: https://github.com/xxh/xxh
|
||
_name: xxh
|
||
_short: "xxh is a tool for shell users to bring their favorite shell with them to any host. "
|
||
brew: xxh
|
||
pipx: xxh-xxh
|
||
port: xxh
|
||
xz:
|
||
_bin: xz
|
||
_desc: "xz is a compression utility that provides high compression ratios and fast decompression. It supports various compression formats like LZMA and LZMA2, and it can compress single files or whole \ndirectories. The utility is commonly used to compress files for distribution or archival purposes. It is open-source and available on GitHub at https://github.com/xz-mirror/xz for users to download, \ncontribute, or report issues. "
|
||
_github: https://github.com/xz-mirror/xz
|
||
_name: xz
|
||
_short: "xz is a compression utility that provides high compression ratios and fast decompression. "
|
||
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.
|
||
_github: https://github.com/adrienverge/yamllint
|
||
_name: yamllint
|
||
_service: null
|
||
_short: "yamllint is a tool for checking YAML files for syntax errors and adherence to best practices. "
|
||
brew: yamllint
|
||
pipx: yamllint
|
||
yank:
|
||
_bin: yank
|
||
_bin:apt: yank-cli
|
||
_desc: "[yank](https://github.com/mptre/yank) is a terminal agnostic solution which allows copying output from Termial easily, without the need to use Terminal multiplexers."
|
||
_github: https://github.com/mptre/yank
|
||
_name: yank
|
||
_short: "Yank is a tool that allows you to copy text from your terminal to your clipboard. "
|
||
ansible: professormanhattan.yank
|
||
apt: yank
|
||
brew: yank
|
||
choco: win32yank
|
||
dnf: yank
|
||
nix: yank
|
||
pacman: yank
|
||
pkg-freebsd: yank
|
||
pkg_add: yank
|
||
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
|
||
_short: "YAPF is a Python formatter that automatically formats code to adhere to the PEP 8 style guide. "
|
||
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."
|
||
_docs: https://yarnpkg.com/getting-started
|
||
_github: https://github.com/yarnpkg/berry
|
||
_home: https://yarnpkg.com/
|
||
_name: Yarn
|
||
_preload: true
|
||
_short: "Yarn Berry is a next-generation package manager for JavaScript that aims to improve performance and reliability. "
|
||
ansible: professormanhattan.yarn
|
||
brew: yarn
|
||
choco: yarn
|
||
npm: yarn
|
||
pacman: yarn
|
||
port: yarn
|
||
scoop: yarn
|
||
script: curl -o- -L https://yarnpkg.com/install.sh | bash
|
||
yarnhook:
|
||
_bin: yarnhook
|
||
_desc: yarnhook keeps your node_modules up-to-date when your yarn.lock, package-lock.json or shrinkwrap.yaml changes due to git operations like checkout, merge, rebase, pull etc.
|
||
_github: https://github.com/frontsideair/yarnhook
|
||
_name: Yarnhook
|
||
_short: "yarnhook is a GitHub repository that contains a tool for managing Yarn package dependencies in a project. "
|
||
npm: yarnhook
|
||
yj:
|
||
_bin: yj
|
||
_desc: CLI program that allows you to convert between YAML, TOML, JSON, and HCL.
|
||
_docker: docker run sclevine/yj
|
||
_docs: https://github.com/sclevine/yj
|
||
_github: https://github.com/sclevine/yj
|
||
_home: https://github.com/sclevine/yj
|
||
_name: YJ
|
||
_short: "yj is a command-line tool for parsing and manipulating YAML and JSON data easily. "
|
||
brew: yj
|
||
go: github.com/sclevine/yj/v5@v5.1.0
|
||
you-get:
|
||
_bin: you-get
|
||
_desc: "You-Get is a command-line tool that allows users to download media content from various websites like YouTube, Vimeo, and others. It supports downloading videos, audio, and images by simply providing \nthe URL of the content. You-Get is written in Python and is open-source, making it easy to customize and extend its functionality. It is a handy tool for users who prefer downloading media content for \noffline viewing or archiving purposes. "
|
||
_github: https://github.com/soimort/you-get
|
||
_name: You-Get
|
||
_short: "you-get is a command-line tool that downloads media content from the web, supporting various websites like YouTube, Vimeo, and more. "
|
||
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."
|
||
_docs: https://github.com/ytdl-org/youtube-dl/blob/master/README.md#readme
|
||
_github: https://github.com/ytdl-org/youtube-dl
|
||
_home: https://youtube-dl.org/
|
||
_name: youtube-dl
|
||
_short: "youtube-dl is a command-line tool for downloading videos from YouTube and other websites. "
|
||
ansible: professormanhattan.youtubedl
|
||
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)
|
||
_github: https://github.com/th-ch/youtube-music
|
||
_home: https://th-ch.github.io/youtube-music/
|
||
_name: "youtube-music "
|
||
_short: "youtube-music is a command-line tool for downloading music from YouTube. "
|
||
_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."
|
||
_docs: https://mikefarah.gitbook.io/yq/how-it-works
|
||
_github: https://github.com/mikefarah/yq
|
||
_home: https://mikefarah.gitbook.io/yq/
|
||
_name: yq
|
||
_preload: true
|
||
_short: "yq is a lightweight and portable command-line YAML processor. "
|
||
ansible: professormanhattan.yq
|
||
apk: yq
|
||
brew: yq
|
||
choco: yq
|
||
github: github.com/stedolan/jq
|
||
go: github.com/mikefarah/yq/v4@latest
|
||
snap: yq
|
||
yt-dlp:
|
||
_bin: yt-dlp
|
||
_desc: "To install yt-dlp, a fork of youtube-dl, you can follow these steps: \n\n 1 Clone the Repository: Use git clone https://github.com/yt-dlp/yt-dlp.git to download the repository. \n 2 Navigate to the Directory: Move into the yt-dlp directory using cd yt-dlp. \n 3 Install yt-dlp: Run sudo python3 setup.py install to install yt-dlp system-wide. \n 4 Verify Installation: To confirm the installation, run yt-dlp --version. \n\nThese steps will help you install yt-dlp on your system. "
|
||
_github: https://github.com/yt-dlp/yt-dlp/wiki/Installation
|
||
_name: YouTube Download
|
||
_short: "To install yt-dlp, visit the GitHub page and follow the installation instructions provided in the wiki section. "
|
||
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: "YubiKey Agent is a project on GitHub created by Filippo Valsorda. It is a seamless way to use a YubiKey for SSH authentication without the need for manually handling keys. The agent acts as a bridge \nbetween your YubiKey and SSH, providing a secure and convenient method for authentication. It supports multiple YubiKeys and can be integrated into your existing SSH setup easily. The project is \nactively maintained and is a popular choice for enhancing SSH security with YubiKeys. "
|
||
_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
|
||
_short: "yubikey-agent is a minimalistic PIV/GPG agent for YubiKeys on macOS. "
|
||
_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: "Yubioath-flutter is a Flutter plugin developed by Yubico that allows developers to integrate Yubico's OATH functionality into their Flutter applications. This plugin enables two-factor authentication \nusing OATH TOTP and HOTP algorithms, making it easier to secure user accounts in Flutter apps. It provides features like adding, deleting, and generating OATH credentials, as well as verifying OATH \ncodes. Developers can leverage this plugin to enhance the security of their Flutter applications by incorporating Yubico's OATH functionality seamlessly. "
|
||
_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: https://github.com/Yubico/yubioath-flutter
|
||
_home: https://www.yubico.com/products/yubico-authenticator/
|
||
_name: Yubico Authenticator
|
||
_short: "yubioath-flutter is a Flutter plugin for Yubico's OATH functionality, allowing integration of two-factor authentication into Flutter apps. "
|
||
cask: yubico-authenticator
|
||
choco: yubico-authenticator
|
||
flatpak: com.yubico.yubioath
|
||
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.
|
||
_github: https://github.com/Yubico/yubikey-manager
|
||
_home: https://www.yubico.com/support/download/yubikey-manager/
|
||
_name: Yubikey Manager
|
||
_short: "YubiKey Manager is a tool for configuring and managing YubiKeys, which are hardware security keys used for two-factor authentication. "
|
||
brew: ykman
|
||
dnf:fedora: yubikey-manager
|
||
pacman: yubikey-manager
|
||
pipx: yubikey-manager
|
||
yubikey-manager-qt:
|
||
_app: YubiKey Manager.app
|
||
_bin: yubikey-manager-qt
|
||
_desc: Cross-platform application for configuring any YubiKey over all USB interfaces.
|
||
_github: https://github.com/Yubico/yubikey-manager-qt
|
||
_home: https://developers.yubico.com/yubikey-manager-qt/
|
||
_name: YubiKey Manager
|
||
_short: "YubiKey Manager Qt is a graphical user interface for configuring YubiKeys, developed by Yubico. "
|
||
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
|
||
zap:
|
||
_bin: zap
|
||
_desc: Delightful AppImage package manager
|
||
_docs: https://zap.srev.in/
|
||
_github: https://github.com/srevinsaju/zap
|
||
_home: https://zap.srev.in/
|
||
_name: Zap
|
||
_preload: true
|
||
_short: "Zap is a fast and lightweight cross-platform package manager for macOS. "
|
||
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
|
||
_short: "ZAP (Zed Attack Proxy) is an open-source web application security scanner used for finding vulnerabilities in web applications. "
|
||
cask: zap
|
||
choco: zap
|
||
flatpak: org.zaproxy.ZAP
|
||
pkg-freebsd: zaproxy
|
||
scoop: zaproxy
|
||
snap: zaproxy --classic
|
||
zenity:
|
||
_bin: zenity
|
||
_desc: "Zenity is a program that allows you to create simple graphical user interfaces (GUIs) for shell scripts using GTK. It provides a set of dialog boxes for various purposes like displaying information, \nasking for user input, or showing progress. Zenity is often used in shell scripts to enhance user interaction and make scripts more user-friendly. It is a handy tool for creating basic GUI elements \nwithout the need for a full-fledged GUI framework. You can find more information and examples on its GitHub page: Zenity GitHub Repository. "
|
||
_github: https://github.com/ncruces/zenity
|
||
_name: Zenity
|
||
_short: "Zenity is a program that allows you to create simple graphical user interfaces for shell scripts in Linux. "
|
||
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
|
||
_github: https://github.com/getzola/zola
|
||
_name: "Zola "
|
||
_short: "Zola is a fast static site generator written in Rust. "
|
||
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
|
||
_short: "$'Not open-source' is a string enclosed in single quotes preceded by a dollar sign and is a way to represent special characters in zsh shell. "
|
||
ansible: professormanhattan.zoom
|
||
cask: zoom
|
||
choco: zoom
|
||
flatpak: us.zoom.Zoom
|
||
snap: zoom
|
||
yay: zoom
|
||
zoxide:
|
||
_bin: zoxide
|
||
_desc: "[zoxide](https://github.com/ajeetdsouza/zoxide) is a blazing fast replacement for your cd command, inspired by z and autojump"
|
||
_github: https://github.com/ajeetdsouza/zoxide
|
||
_name: zoxide
|
||
_preload: true
|
||
_short: "zoxide is a blazing fast replacement for cd, allowing you to navigate your filesystem with ease using fuzzy matching and tracking your most used directories. "
|
||
ansible: professormanhattan.zoxide
|
||
brew: zoxide
|
||
zsh:
|
||
_bin: zsh
|
||
_desc: "[Oh My Zsh](https://ohmyz.sh/) is a delightful, open source, community-driven framework for managing your Zsh configurations. It comes bundled with thousands of helpful functions, helpers, plugins, themes, and a few things that make you shout oh my zsh! This role also installs some CLI tools that accompany Oh My Zsh! to make it even more amazing."
|
||
_github: https://github.com/zsh-users/zsh
|
||
_name: Zsh
|
||
_preload: true
|
||
_short: "zsh is a powerful shell for Unix-like operating systems, offering advanced features and customization options for command-line users. "
|
||
ansible:darwin: professormanhattan.zsh
|
||
ansible:linux: professormanhattan.zsh
|
||
apt: zsh
|
||
brew: zsh
|
||
dnf: zsh
|
||
pacman: zsh
|
||
port: zsh
|
||
zsh-completions:
|
||
_desc: "zsh-completions is a repository on GitHub maintained by the zsh-users organization. It provides a collection of completion scripts for various commands and utilities to enhance auto-completion \ncapabilities in the zsh shell. These completion scripts help users by suggesting and completing command options, arguments, and file paths as they type commands in the terminal. The repository is \nregularly updated to support new commands and improve existing completions, making it a valuable resource for zsh users looking to streamline their command-line experience. "
|
||
_github: https://github.com/zsh-users/zsh-completions
|
||
_name: ZSH Completions
|
||
_short: "zsh-completions is a repository that provides additional completion definitions for the Zsh shell, enhancing auto-completion capabilities for various commands and utilities. "
|
||
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.
|
||
_github: https://github.com/google/zx
|
||
_name: zx
|
||
_preload: true
|
||
_short: "ZX is a tool for writing better scripts with JavaScript on macOS and Linux. "
|
||
brew: zx
|
||
npm: zx
|