diff --git a/.config/bash/try-catch.sh b/.config/bash/try-catch.sh old mode 100644 new mode 100755 diff --git a/.config/docs/contributing/dev-environment.md b/.config/docs/contributing/dev-environment.md index 7784d89d4..64c8eaaa2 100644 --- a/.config/docs/contributing/dev-environment.md +++ b/.config/docs/contributing/dev-environment.md @@ -10,7 +10,7 @@ Before contributing to this project, you will have to make sure you have the too - **[Node.js](https://github.com/ProfessorManhattan/ansible-nodejs)** >=12 which is used for the development environment which includes a pre-commit hook - **[VirtualBox](https://github.com/ProfessorManhattan/ansible-virtualbox)** which is used for running Molecule tests -Docker and VirtualBox must be installed with root priviledges. If they are missing from your system, running `bash .start.sh` will prompt you for your password and automatically install them. Otherwise, you can follow the official [directions for installing Docker](https://docs.docker.com/get-docker/) and [directions for installing VirtualBox](https://www.virtualbox.org/manual/ch02.html). +Docker and VirtualBox must be installed with root privileges. If they are missing from your system, running `bash .start.sh` will prompt you for your password and automatically install them. Otherwise, you can follow the official [directions for installing Docker](https://docs.docker.com/get-docker/) and [directions for installing VirtualBox](https://www.virtualbox.org/manual/ch02.html). ### Getting Started diff --git a/.config/docs/readme-playbook/managing-environments.md b/.config/docs/readme-playbook/managing-environments.md index 015014382..851ca4ad7 100644 --- a/.config/docs/readme-playbook/managing-environments.md +++ b/.config/docs/readme-playbook/managing-environments.md @@ -1,6 +1,6 @@ ## Managing Environments -We accomplish managing different environments by symlinking all the folders that should be unique to each network environment (e.g. `host_vars/`, `group_vars/`, `inventories/`, `files/vpn/`, and `files/ssh/`). In the `environments/` folder, you will see multiple folders. In our case, `environments/dev/` contains sensible configurations for testing the playbook and its' roles. The production environment is a seperate git submodule that links to a private git repository that contains our Ansible-vaulted API keys and passwords. When you are ready to set up your production configurations, you can use this method of storing your environment-specific folders in the `environments/` folder as well. But if you are just starting off, you do not have to worry about this since, by default, this playbook is configured to run with the settings included in the `/environments/dev/` folder. +We accomplish managing different environments by symlinking all the folders that should be unique to each network environment (e.g. `host_vars/`, `group_vars/`, `inventories/`, `files/vpn/`, and `files/ssh/`). In the `environments/` folder, you will see multiple folders. In our case, `environments/dev/` contains sensible configurations for testing the playbook and its' roles. The production environment is a separate git submodule that links to a private git repository that contains our Ansible-vaulted API keys and passwords. When you are ready to set up your production configurations, you can use this method of storing your environment-specific folders in the `environments/` folder as well. But if you are just starting off, you do not have to worry about this since, by default, this playbook is configured to run with the settings included in the `/environments/dev/` folder. ### Switching Between Environments diff --git a/.github/workflows/openhands-resolver.yml b/.github/workflows/openhands-resolver.yml new file mode 100644 index 000000000..919e0c066 --- /dev/null +++ b/.github/workflows/openhands-resolver.yml @@ -0,0 +1,34 @@ +name: Resolve Issue with OpenHands + +on: + issues: + types: [labeled] + pull_request: + types: [labeled] + issue_comment: + types: [created] + pull_request_review_comment: + types: [created] + pull_request_review: + types: [submitted] + +permissions: + contents: write + pull-requests: write + issues: write + +jobs: + call-openhands-resolver: + uses: All-Hands-AI/OpenHands/.github/workflows/openhands-resolver.yml@main + with: + macro: ${{ vars.OPENHANDS_MACRO || '@openhands-agent' }} + max_iterations: ${{ fromJson(vars.OPENHANDS_MAX_ITER || 50) }} + base_container_image: ${{ vars.OPENHANDS_BASE_CONTAINER_IMAGE || '' }} + LLM_MODEL: ${{ vars.LLM_MODEL || 'anthropic/claude-sonnet-4-20250514' }} + target_branch: ${{ vars.TARGET_BRANCH || 'main' }} + runner: ${{ vars.TARGET_RUNNER }} + secrets: + PAT_TOKEN: ${{ secrets.PAT_TOKEN }} + PAT_USERNAME: ${{ secrets.PAT_USERNAME }} + LLM_API_KEY: ${{ secrets.LLM_API_KEY }} + LLM_BASE_URL: ${{ secrets.LLM_BASE_URL }} \ No newline at end of file diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d7a9aa707..207ada03e 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -100,7 +100,7 @@ For the most part, when working on one of our NPM packages, all of the code shou We adhere to strict design-patterns across all of our NPM packages. In order for you to get a feel for what we are looking for, you should browse through our [`Buildr`](repository.project.buildr) project's files. After browsing through the Buildr project's source code, you will notice that we include other files/folders in the `src/` folder: -- `constants/` - This folder houses all the constant variables used in the project. The constants are generally seperated out into different files based on where they are being used in the application. +- `constants/` - This folder houses all the constant variables used in the project. The constants are generally separated out into different files based on where they are being used in the application. - `lib/` - This folder contains all the pieces of the app that would generally be utilized by the `app.ts` file. - `models/` - This folder contains all of the data models that are used. Data models are important to use especially in larger projects because they provide type definitions and also open the door to data validation which is touched on in the [Preferred Libraries](#preferred-libraries) section. - `tsconfig.json` - This file is included to address a Visual Studio Code bug that occurs if you open the `src/` directory and not the root folder @@ -158,7 +158,7 @@ validate(post).then(errors => { }); ``` -Using the library above can provide real value to our users. By validating the data before running any business logic, we can save the user time by taking out the guess work required for debugging. Please note that in practice, the `Post` model/class would be seperated into a file stored in `src/models/post.model.ts`. +Using the library above can provide real value to our users. By validating the data before running any business logic, we can save the user time by taking out the guess work required for debugging. Please note that in practice, the `Post` model/class would be separated into a file stored in `src/models/post.model.ts`. **All data inputs should utilize this form of validation.** If the `class-validator` project does not provide a decorator that can properly validate the input data then you can extend the library by creating a custom validation decorator. There is an [example of how to create a custom validator in the Buildr project](https://gitlab.com/megabyte-labs/npm/buildr/-/blob/master/src/lib/validators/is-true.validator.ts). diff --git a/docs/customization/index.md b/docs/customization/index.md index b2e83d4d0..e75273393 100644 --- a/docs/customization/index.md +++ b/docs/customization/index.md @@ -11,11 +11,11 @@ There are many ways you can customize Install Doctor so that your device is prov The Install Doctor project leverages dozens of technologies but, at its core, it is ultimately a Chezmoi project. This allows us to leverage Chezmoi's script execution abilities, encryption handlers, and diff feature (which allows you to display the changes that will be made before applying them). -If you decide that our built-in prompt system does not accomodate your needs, we highly recommend you sift through [Chezmoi's documentation](https://www.chezmoi.io/). By reading the documentation, you will learn why some files and folders start with `dot_`, how files ending with `.tmpl` are rendered, and additional features you can leverage. +If you decide that our built-in prompt system does not accommodate your needs, we highly recommend you sift through [Chezmoi's documentation](https://www.chezmoi.io/). By reading the documentation, you will learn why some files and folders start with `dot_`, how files ending with `.tmpl` are rendered, and additional features you can leverage. That said, if you do not feel like taking a deep dive and learning a new technology, then you can leverage our built-in prompt system. Better yet, if you want to customize Install Doctor, you can customize the repository to your liking without having to learn the inner workings and features of Chezmoi. -Our project is the most ellaborate and full-featured implementation of Chezmoi we have come across. If you come across another project that parallels the full-featuredness of ours then please let our team and community know about it by posting in one of our social media sites / chat rooms which are all linked to on the [Community page](https://install.doctor/community). +Our project is the most elaborate and full-featured implementation of Chezmoi we have come across. If you come across another project that parallels the full-featuredness of ours then please let our team and community know about it by posting in one of our social media sites / chat rooms which are all linked to on the [Community page](https://install.doctor/community). ## Prompts diff --git a/docs/customization/scripts.md b/docs/customization/scripts.md index 8f388645f..68aaca6bc 100644 --- a/docs/customization/scripts.md +++ b/docs/customization/scripts.md @@ -5,7 +5,7 @@ sidebar_label: Scripts slug: /customization/scripts --- -Install Doctor leverages shell scripting for many of the complex tasks that cannot easily be accomodated by the Install Doctor [ZX-based installer](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_local/bin/executable_install-program). On macOS / Linux / *nix variants Bash is used and, on Windows, PowerShell is also leveraged. Since Install Doctor is a [Chezmoi](https://www.chezmoi.io/)-based installer, all of the Chezmoi features and syntaxes are used by the scripts housed in the Install Doctor repository. After parsing script templates and filtering files with the `.chezmoiignore` file, all the scripts with file names that begin with `run_` are executed at different phases during the provisioning process. +Install Doctor leverages shell scripting for many of the complex tasks that cannot easily be accommodated by the Install Doctor [ZX-based installer](https://github.com/megabyte-labs/install.doctor/blob/master/home/dot_local/bin/executable_install-program). On macOS / Linux / *nix variants Bash is used and, on Windows, PowerShell is also leveraged. Since Install Doctor is a [Chezmoi](https://www.chezmoi.io/)-based installer, all of the Chezmoi features and syntaxes are used by the scripts housed in the Install Doctor repository. After parsing script templates and filtering files with the `.chezmoiignore` file, all the scripts with file names that begin with `run_` are executed at different phases during the provisioning process. ## Script Phases diff --git a/docs/features/index.md b/docs/features/index.md index b40e66ab3..722ec433d 100644 --- a/docs/features/index.md +++ b/docs/features/index.md @@ -128,4 +128,4 @@ By default, our pre-defined software templates include dozens (or hundreds, depe ## More Features -There are many, many more features that have not been listed in this high-level overview. We encourage you to browse through the [Install Doctor repository](https://github.com/megabyte-labs/install.doctor) codebase to browse through additional features not listed here. If you cannot find a feature that you are looking for, then please engage with our [Community](https://install.doctor/community) and let us know how to make Install Doctor accomodate your needs. \ No newline at end of file +There are many, many more features that have not been listed in this high-level overview. We encourage you to browse through the [Install Doctor repository](https://github.com/megabyte-labs/install.doctor) codebase to browse through additional features not listed here. If you cannot find a feature that you are looking for, then please engage with our [Community](https://install.doctor/community) and let us know how to make Install Doctor accommodate your needs. \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 2fabf61bb..02ad3e472 100644 --- a/docs/index.md +++ b/docs/index.md @@ -18,7 +18,7 @@ Install Doctor makes it as easy as possible to: ## Multi-OS Provisioning -Part of what seperates Install Doctor from other provisioning systems is that it includes features that make it easy to apply your same configurations across multiple operating systems. It includes its own software installation program that can be configured to, for instance, prefer to install software with the system package manager but leverage [Homebrew](https://brew.sh/) if the package is not available via the system package manager. +Part of what separates Install Doctor from other provisioning systems is that it includes features that make it easy to apply your same configurations across multiple operating systems. It includes its own software installation program that can be configured to, for instance, prefer to install software with the system package manager but leverage [Homebrew](https://brew.sh/) if the package is not available via the system package manager. Apart from installing a configurable set of software packages, it also leverages Chezmoi's built-in feature that allows you to delegate specific scripts to run on certain operating systems. This is how, at provisioning time, the system runs PowerShell scripts on Windows and Bash scripts on other targets. diff --git a/docs/scripts/overview/profile.md b/docs/scripts/overview/profile.md index 0d91d9436..c9577e123 100644 --- a/docs/scripts/overview/profile.md +++ b/docs/scripts/overview/profile.md @@ -5,7 +5,7 @@ sidebar_label: Profile Scripts slug: /scripts/profile --- -Install Doctor's expertly configured and optimized system configuration collection includes masterfully created Bash / ZSH profile scripts. These scripts are seperated into a handful of files that are only imported when necessary. +Install Doctor's expertly configured and optimized system configuration collection includes masterfully created Bash / ZSH profile scripts. These scripts are separated into a handful of files that are only imported when necessary. The default configuration ensures ZSH is the default shell. When combined with the [Oh-My-ZSH](https://ohmyz.sh/) framework, this gives the user access to advanced auto-completion, type ahead, and predictive features. diff --git a/home/.chezmoiscripts/universal/run_after_01-pre-install.sh.tmpl b/home/.chezmoiscripts/universal/run_after_01-pre-install.sh.tmpl index 74a3280de..76c5e87a7 100644 --- a/home/.chezmoiscripts/universal/run_after_01-pre-install.sh.tmpl +++ b/home/.chezmoiscripts/universal/run_after_01-pre-install.sh.tmpl @@ -889,7 +889,7 @@ loadCronjobs() { # as well as improve security. Some of the tweaks include modifying default settings for various applications. macOSSettings() { if [ -d /System ] && [ -d /Applications ] && [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/macos.sh" ]; then - bash "${XDG_CONFIG_HOME:-$HOME/.config}/shell/macos.sh" + APPLY_MACOS_SETTINGS=true bash "${XDG_CONFIG_HOME:-$HOME/.config}/shell/macos.sh" fi } diff --git a/home/.chezmoiscripts_disabled/disabled/executable_install-program b/home/.chezmoiscripts_disabled/disabled/executable_install-program old mode 100644 new mode 100755 diff --git a/home/.chezmoiscripts_disabled/disabled/executable_post-gitlab-runner.sh b/home/.chezmoiscripts_disabled/disabled/executable_post-gitlab-runner.sh old mode 100644 new mode 100755 diff --git a/home/.chezmoiscripts_disabled/disabled/executable_post-xcode.sh b/home/.chezmoiscripts_disabled/disabled/executable_post-xcode.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/coc/extensions/run_before_copy-coc-settings.sh b/home/dot_config/coc/extensions/run_before_copy-coc-settings.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/desk/desks/tf.sh b/home/dot_config/desk/desks/tf.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/firewall/darwin/plex.sh b/home/dot_config/firewall/darwin/plex.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/santa/install.sh b/home/dot_config/santa/install.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/shell/macos.sh.tmpl b/home/dot_config/shell/macos.sh.tmpl index e87d78390..d5b841fd9 100644 --- a/home/dot_config/shell/macos.sh.tmpl +++ b/home/dot_config/shell/macos.sh.tmpl @@ -6,6 +6,11 @@ # This script houses a wide range of macOS system tweaks that are intended to improve the developer experience on macOS, # as well as improve security. Some of the tweaks include modifying default settings for various applications. +# Exit early if not explicitly requested to run system configuration +if [ "$APPLY_MACOS_SETTINGS" != "true" ]; then + exit 0 +fi + gum log -sl info 'Applying optimized macOS settings' # Ask for the administrator password upfront diff --git a/home/dot_config/shell/not-found-hook.sh b/home/dot_config/shell/not-found-hook.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/system/etc/clamav/executable_clamav-email b/home/dot_config/system/etc/clamav/executable_clamav-email old mode 100644 new mode 100755 diff --git a/home/dot_config/system/etc/clamav/run_after_apply-permissions.sh b/home/dot_config/system/etc/clamav/run_after_apply-permissions.sh old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_add-usergroup b/home/dot_config/system/usr/local/bin/executable_add-usergroup old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_apply-juicefs b/home/dot_config/system/usr/local/bin/executable_apply-juicefs old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_clamav-notification b/home/dot_config/system/usr/local/bin/executable_clamav-notification old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_own-folder b/home/dot_config/system/usr/local/bin/executable_own-folder old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_process-software-groups b/home/dot_config/system/usr/local/bin/executable_process-software-groups old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_process-software-post-scripts b/home/dot_config/system/usr/local/bin/executable_process-software-post-scripts old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_process-software-services b/home/dot_config/system/usr/local/bin/executable_process-software-services old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_pve-git-sync b/home/dot_config/system/usr/local/bin/executable_pve-git-sync old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_pve-optane-prep b/home/dot_config/system/usr/local/bin/executable_pve-optane-prep old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_pve-sys-prep b/home/dot_config/system/usr/local/bin/executable_pve-sys-prep old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_pve9-post-install b/home/dot_config/system/usr/local/bin/executable_pve9-post-install old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_rclone-mount b/home/dot_config/system/usr/local/bin/executable_rclone-mount old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_zfs-disk-backup b/home/dot_config/system/usr/local/bin/executable_zfs-disk-backup old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_zfs-disk-restore b/home/dot_config/system/usr/local/bin/executable_zfs-disk-restore old mode 100644 new mode 100755 diff --git a/home/dot_config/system/usr/local/bin/executable_zfs-r2 b/home/dot_config/system/usr/local/bin/executable_zfs-r2 old mode 100644 new mode 100755 diff --git a/home/dot_config/vnc/executable_xstartup b/home/dot_config/vnc/executable_xstartup old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_backup b/home/dot_local/bin/executable_backup old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_backup-apps.tmpl b/home/dot_local/bin/executable_backup-apps.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_backup-dconf.tmpl b/home/dot_local/bin/executable_backup-dconf.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_chromecastize b/home/dot_local/bin/executable_chromecastize old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_compress-image b/home/dot_local/bin/executable_compress-image old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_dagu-start-all b/home/dot_local/bin/executable_dagu-start-all old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_extract b/home/dot_local/bin/executable_extract old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_get-secret b/home/dot_local/bin/executable_get-secret old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_gitomatic-service.tmpl b/home/dot_local/bin/executable_gitomatic-service.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_improve-code b/home/dot_local/bin/executable_improve-code old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_install-gnome-extensions.tmpl b/home/dot_local/bin/executable_install-gnome-extensions.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_install-terminal-theme.tmpl b/home/dot_local/bin/executable_install-terminal-theme.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_installx b/home/dot_local/bin/executable_installx old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_kde-wallpaper b/home/dot_local/bin/executable_kde-wallpaper old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_launchpress b/home/dot_local/bin/executable_launchpress old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_load-service b/home/dot_local/bin/executable_load-service old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_logg b/home/dot_local/bin/executable_logg old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_plymouth-preview b/home/dot_local/bin/executable_plymouth-preview old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_provision b/home/dot_local/bin/executable_provision old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_rsync-time-backup b/home/dot_local/bin/executable_rsync-time-backup old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_setup-firewall b/home/dot_local/bin/executable_setup-firewall old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_squash-symlink b/home/dot_local/bin/executable_squash-symlink old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_sudo-askpass b/home/dot_local/bin/executable_sudo-askpass old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_tmpmail b/home/dot_local/bin/executable_tmpmail old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_trim-and-combine b/home/dot_local/bin/executable_trim-and-combine old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_update-system b/home/dot_local/bin/executable_update-system old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_upload-gist.tmpl b/home/dot_local/bin/executable_upload-gist.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/executable_wait-for-it b/home/dot_local/bin/executable_wait-for-it old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/firejail/executable_slack b/home/dot_local/bin/firejail/executable_slack old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/gpt/executable_agentgpt b/home/dot_local/bin/gpt/executable_agentgpt old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/gpt/executable_aihawk b/home/dot_local/bin/gpt/executable_aihawk old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/gpt/executable_localgpt b/home/dot_local/bin/gpt/executable_localgpt old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/gpt/executable_shortgpt b/home/dot_local/bin/gpt/executable_shortgpt old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/installer/executable_install-before-scripts b/home/dot_local/bin/installer/executable_install-before-scripts old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-atuin.sh b/home/dot_local/bin/post-installx/executable_post-atuin.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-cloudflared.sh b/home/dot_local/bin/post-installx/executable_post-cloudflared.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-docker-desktop.sh b/home/dot_local/bin/post-installx/executable_post-docker-desktop.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-endlessh.sh b/home/dot_local/bin/post-installx/executable_post-endlessh.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-envchain.sh b/home/dot_local/bin/post-installx/executable_post-envchain.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-firefox.sh b/home/dot_local/bin/post-installx/executable_post-firefox.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-github-runner.sh b/home/dot_local/bin/post-installx/executable_post-github-runner.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-gitomatic.sh b/home/dot_local/bin/post-installx/executable_post-gitomatic.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-google-chrome.sh b/home/dot_local/bin/post-installx/executable_post-google-chrome.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-juicefs.sh b/home/dot_local/bin/post-installx/executable_post-juicefs.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-mise.sh b/home/dot_local/bin/post-installx/executable_post-mise.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-netdata.sh b/home/dot_local/bin/post-installx/executable_post-netdata.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-nginx.sh b/home/dot_local/bin/post-installx/executable_post-nginx.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-ntfy.sh b/home/dot_local/bin/post-installx/executable_post-ntfy.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-plymouth.sh b/home/dot_local/bin/post-installx/executable_post-plymouth.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-postfix.sh b/home/dot_local/bin/post-installx/executable_post-postfix.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-privoxy.sh b/home/dot_local/bin/post-installx/executable_post-privoxy.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-rclone.sh b/home/dot_local/bin/post-installx/executable_post-rclone.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-rkhunter.sh b/home/dot_local/bin/post-installx/executable_post-rkhunter.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-samba.sh b/home/dot_local/bin/post-installx/executable_post-samba.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-tabby.sh b/home/dot_local/bin/post-installx/executable_post-tabby.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-tailscale.sh b/home/dot_local/bin/post-installx/executable_post-tailscale.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-tor.sh b/home/dot_local/bin/post-installx/executable_post-tor.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-vim.sh b/home/dot_local/bin/post-installx/executable_post-vim.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-virtualbox.sh b/home/dot_local/bin/post-installx/executable_post-virtualbox.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-vmware.sh b/home/dot_local/bin/post-installx/executable_post-vmware.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-volta.sh b/home/dot_local/bin/post-installx/executable_post-volta.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-vscode.sh b/home/dot_local/bin/post-installx/executable_post-vscode.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-warp.sh b/home/dot_local/bin/post-installx/executable_post-warp.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/post-installx/executable_post-wazuh.sh b/home/dot_local/bin/post-installx/executable_post-wazuh.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/qubes/executable_ramqube b/home/dot_local/bin/qubes/executable_ramqube old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/setup/executable_apply-linux-conf-settings.tmpl b/home/dot_local/bin/setup/executable_apply-linux-conf-settings.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/bin/setup/executable_setup-certbot.tmpl b/home/dot_local/bin/setup/executable_setup-certbot.tmpl old mode 100644 new mode 100755 diff --git a/home/dot_local/share/ansible/environments/prod/inventories/quickstart.yml.bak b/home/dot_local/share/ansible/environments/prod/inventories/quickstart.yml.bak deleted file mode 100644 index 07b3c40ca..000000000 --- a/home/dot_local/share/ansible/environments/prod/inventories/quickstart.yml.bak +++ /dev/null @@ -1,565 +0,0 @@ ---- -# Three hosts are defined but the quickstart script filters using an environment variable -# so only one host is provisioned at a time by quickstart. -all: - vars: - ansible_winrm_transport: credssp - ansible_winrm_server_cert_validation: ignore - children: - desktop: - children: - nix: - hosts: - standard: - ansible_connection: local - vars: - ansible_password: "{{ lookup('env', 'ANSIBLE_PASSWORD') }}" - ansible_user: "{{ lookup('env', 'ANSIBLE_USER') }}" - qubes: - vars: - ansible_connection: qubes - # ansible_password: "{{ lookup('env', 'ANSIBLE_PASSWORD') | default() }}" - # ansible_user: "{{ lookup('env', 'ANSIBLE_USER') }}" - ansible_python_interpreter: /usr/bin/python3 - qubes: - dom0_vm: dom0 - hosts: - dom0: - blank: - qubes: - vm_type: TemplateVM - children: - vms: - vars: - install_grub_theme: false - install_plymouth_theme: false - memory: 512 - maxmem: 4096 - vcpus: 2 - children: - system-vms: - # template-vms: - # net-vms: - # proxy-vms: - # app-dvms: - # app-vms: - # standalone-vms: - windows: - hosts: - standard: - ansible_connection: winrm - vars: - ansible_password: "{{ lookup('env', 'ANSIBLE_PASSWORD') }}" - ansible_user: "{{ lookup('env', 'ANSIBLE_USER') }}" - -app-vms: - vars: - qubes: - maxmem: 2048 - memory: 512 - netvm_vm: sys-firewall - vm_type: AppVM - children: - app-dvms: - vars: - qubes: - label: gray - template_for_dispvms: true - hosts: - anon-dvm: - qubes: - template: anon-tmpl - template_vm: anon-tmpl - dev-dvm: - qubes: - template: dev-tmpl - template_vm: dev-tmpl - media-dvm: - qubes: - template: media-tmpl - template_vm: media-tmpl - office-dvm: - qubes: - template: office-tmpl - template_vm: office-tmpl - util-dvm: - qubes: - template: util-tmpl - template_vm: util-tmpl - web-dvm: - qubes: - template: web-tmpl - template_vm: web-tmpl - primary-dvm-templates: - vars: - qubes: - label: gray - template_for_dispvms: true - hosts: - debian-11-dvm: - qubes: - template_vm: debian-11-base - fedora-36-dvm: - qubes: - template: fedora-36-base - template_vm: fedora-36-base - net-dvm: - randomize_mac_address: true - qubes: - template: net-tmpl - template_vm: net-tmpl - standard-vms: - hosts: - crypto: - qubes: - _netvm: sys-vpn-proton - template: crypto-tmpl - template_vm: crypto-tmpl - dev: - persistent_docker_volumes: true - qubes: - maxmem: 8192 - _netvm: sys-vpn-proton - template: dev-tmpl - template_vm: dev-tmpl - vcpus: 4 - volume: - private: 30 - root: 30 - gpg: - qubes: - label: green - template: gpg-tmpl - template_vm: gpg-tmpl - kubernetes: - persistent_docker_volumes: true - qubes: - autostart: true - maxmem: 8192 - _netvm: sys-vpn-pritunl - template: kubernetes-tmpl - template_vm: kubernetes-tmpl - vcpus: 4 - vm_type: NetVM - volume: - root: 100 - personal: - persistent_docker_volumes: true - qubes: - maxmem: 8192 - _netvm: sys-vpn-proton - template: personal-tmpl - template_vm: personal-tmpl - vcpus: 4 - volume: - private: 20 - root: 40 - # pritunl-server: - # qubes: - # # _netvm: opnsense - # _netvm: sys-firewall - # template_vm: pritunl-server-tmpl - # provision: - # qubes: - # _netvm: sys-vpn-pritunl - # template_vm: provision-tmpl - remote: - qubes: - _netvm: sys-vpn-pritunl - template: remote-tmpl - template_vm: remote-tmpl - swarm: - persistent_docker_volumes: true - qubes: - autostart: true - maxmem: 8192 - _netvm: sys-vpn-pritunl - template: swarm-tmpl - template_vm: swarm-tmpl - vcpus: 4 - vault: - qubes: - label: green - template: vault-tmpl - template_vm: vault-tmpl - work: - persistent_docker_volumes: true - qubes: - maxmem: 8192 - _netvm: sys-vpn-pritunl - template: work-tmpl - template_vm: work-tmpl - vcpus: 4 - volume: - private: 30 - root: 30 - vars: - qubes: - label: purple - template_vm: fedora-36-base - -specialty-vms: - vars: - qubes: - vm_type: AppVM - hosts: - api: - qubes: - label: orange - template: provision-tmpl - template_vm: provision-tmpl - maas: - qubes: - label: orange - # _netvm: opnsense - template: provision-tmpl - template_vm: provision-tmpl - mirror: - qubes: - label: orange - template: docker-tmpl - template_vm: docker-tmpl - pritunl: - qubesos-build: - qubes: - template: fedora-32 - template_vm: fedora-32 - -net-vms: - hosts: - # opnsense: - # ansible_password: "{{ lookup('env', 'OPNSENSE_PASSWORD') }}" - # ansible_user: "{{ lookup('env', 'OPNSENSE_USER') }}" - # qubes: - # _netvm: none - # pcidevs: '{{ sys_net_pcidevs | default([]) }}' - # provides_network: true - # template: opnsense-tmpl - # template_vm: opnsense-tmpl - # volume: - # root: 40g - # TODO - Add Security Onion to stack. - # Note - Ideally it should be run on another offline computer passively tapped into the Ethernet but in the spirit of mashing everything into one computer.. leaving this as a note for now -- PRs weldome - # seconion: - # ansible_password: "{{ lookup('env', 'SECONION_PASSWORD') }}" - # ansible_user: "{{ lookup('env', 'SECONION_USER') }}" - # qubes: - # template: seconion-tmpl - # template_vm: seconion-tmpl - # volume: - # root: 400g - vars: - ansible_connection: ssh - qubes: - autostart: true - label: orange - memory: 4096 - maxmem: 8192 - virt_mode: hvm - vm_type: NetVM - -proxy-vms: - children: - vpn-dvms: - hosts: - vpn-pritunl-dvm: - qubes: - template: vpn-pritunl-tmpl - template_vm: vpn-pritunl-tmpl - vpn-proton-dvm: - qubes: - template: vpn-proton-tmpl - template_vm: vpn-proton-tmpl - vpn-nm-dvm: - qubes: - template: vpn-nm-tmpl - template_vm: vpn-nm-tmpl - vpn-tailscale-dvm: - qubes: - template: vpn-tailscale-tmpl - template_vm: vpn-tailscale-tmpl - vpn-warp-dvm: - qubes: - template: vpn-warp-tmpl - template_vm: vpn-warp-tmpl - vars: - qubes: - label: gray - memory: 256 - maxmem: 1024 - netvm_vm: sys-firewall - provides_network: true - template_for_dispvms: true - vm_type: AppVM - -template-vms: - vars: - qubes: - label: black - netvm_vm: None - vm_type: TemplateVM - children: - primary-templates: - children: - primary-templates-base: - hosts: - debian-11-base: - qubes: - source: debian-11 - fedora-36-base: - qubes: - source: fedora-36 - vars: - volume: - root: 14 - private: 5 - primary-templates-docker: - hosts: - debian-11-docker: - qubes: - source: debian-11-base - fedora-36-docker: - qubes: - source: fedora-36-base - primary-templates-full: - hosts: - debian-11-full: - qubes: - source: debian-11-base - fedora-36-full: - qubes: - source: fedora-36-base - primary-templates-stock: - hosts: - archlinux: - debian-11: - debian-11-backup: - debian-12: - fedora-32: - fedora-36: - fedora-36-xfce: - jammy: - vars: - apply_theme: true - common_software_packages: - - snapd - - qubes-snapd-helper - primary-templates-minimal: - hosts: - debian-11-minimal: - fedora-36-minimal: - whonix-gw-16: - install_updates: false - whonix-ws-16: - install_updates: false - vars: - apply_theme: true - vars: - qubes: - label: red - standard-templates: - hosts: - anon-tmpl: - crypto-tmpl: - dev-tmpl: - qubes: - source: fedora-36-full - # full_terminal_profile: true - # include_pii_dotfiles: true - docker-tmpl: - qubes: - source: fedora-36-docker - gpg-tmpl: - qubes: - source: fedora-36 - net-tmpl: - qubes: - source: fedora-36 - kubernetes-tmpl: - qubes: - source: fedora-36-docker - media-tmpl: - personal-tmpl: - qubes: - source: fedora-36-full - # pritunl-server-tmpl: - # qubes: - # source: debian-10 - office-tmpl: - provision-tmpl: - remote-tmpl: - swarm-tmpl: - qubes: - source: fedora-36-docker - util-tmpl: - vpn-tmpl: - qubes: - source: debian-11-base - vault-tmpl: - qubes: - source: feodra-36 - web-tmpl: - work-tmpl: - qubes: - fedora-36-full - vars: - qubes: - source: fedora-36-base - vpn-templates: - hosts: - vpn-pritunl-tmpl: - vpn-proton-tmpl: - vpn-nm-tmpl: - vpn-tailscale-tmpl: - vpn-warp-tmpl: - vars: - qubes: - source: vpn-tmpl - # desktop-hvm-templates: - # hosts: - # # TODO Add version numbers in these template names - # archlinux-desktop-tmpl: - # centos-desktop-tmpl: - # debian-desktop-tmpl: - # debian-server-tmpl: - # fedora-desktop-tmpl: - # macos-desktop-tmpl: - # ubuntu-desktop-tmpl: - # windows-desktop-tmpl: - # ansible_connection: winrm - # vars: - # # SSH connection is unnecessary since templates are loaded from vagrantup.com or via the qubes-packer.yml playbook - # # ansible_connection: ssh - # # ansible_password: "{{ lookup('env', 'VAGRANT_PASSWORD') }}" - # # ansible_user: "{{ lookup('env', 'VAGRANT_USER') }}" - # qubes: - # kernel: '' - # source: blank - # virt_mode: hvm - # volume: - # root: 40g - misc-hvm-templates: - hosts: - # opnsense-tmpl: - # ansible_password: "{{ lookup('env', 'OPNSENSE_PASSWORD') }}" - # ansible_user: "{{ lookup('env', 'OPNSENSE_USER') }}" - # qubes: - # netvm_vm: None - # provides_network: true - # pcidevs: '{{ sys_net_pcidevs | default([]) }}' - # source: opnsense-22.7 - # volume: - # root: 40g - # seconion-tmpl: - # ansible_password: "{{ lookup('env', 'SECONION_PASSWORD') }}" - # ansible_user: "{{ lookup('env', 'SECONION_USER') }}" - # volume: - # root: 10g - vars: - ansible_connection: ssh - qubes: - kernel: '' - virt_mode: hvm - -standalone-vms: - vars: - qubes: - label: blue - memory: 2048 - maxmem: 8192 - kernel: '' - vcpus: 4 - virt_mode: hvm - vm_type: StandaloneVM - children: - # desktop-standalone-vms: - # hosts: - # # By default, only initialize standalones for the fully loaded environments - # # If you just want a default ubuntu HVM, for instance, then qvm-clone from the - # # `ubuntu-desktop-base-tmpl` TemplateVM - # archlinux-desktop: - # qubes: - # source: archlinux-desktop-tmpl - # centos-desktop: - # qubes: - # source: centos-desktop-tmpl - # debian-desktop: - # qubes: - # source: debian-desktop-tmpl - # debian-server: - # qubes: - # source: debian-server-tmpl - # fedora-desktop: - # qubes: - # source: fedora-desktop-tmpl - # macos-desktop: - # qubes: - # source: macos-desktop-tmpl - # ubuntu-desktop: - # qubes: - # source: ubuntu-desktop-tmpl - # windows-desktop: - # ansible_connection: winrm - # qubes: - # source: windows-desktop-tmpl - # vars: - # ansible_connection: ssh - # ansible_password: "{{ lookup('env', 'VAGRANT_PASSWORD') }}" - # ansible_user: "{{ lookup('env', 'VAGRANT_USER') }}" - # qubes: - # _netvm: sys-vpn-proton - # volume: - # root: 50g - unikernel-vms: - hosts: - mirage-firewall: - mirage_compile_from_source: false - qubes: - kernel: mirage-firewall - kernelopts: '' - memory: 64 - maxmem: 64 - provides_network: true - source: blank - vcpus: 1 - virt_mode: pvh - label: green - vm_type: StandaloneVM - # TODO qvm-features mirage-firewall qubes-firewall 1 - # TODO qvm-features mirage-firewall no-default-kernelopts 1 - -system-vms: - hosts: - anon-whonix: - qubes: - netvm_vm: sys-whonix - template_vm: whonix-ws-16 - debian-11: - qubes: - vm_type: TemplateVM - debian-11-dvm: - qubes: - netvm_vm: sys-firewall - template_for_dispvms: true - sys-firewall: - # Next three are where the SwitchHosts program gets installed along with hostctl and default profiles - hostsfile_default_loopback: true - install_hostctl: true - install_switchhosts: true - qubes: - netvm_vm: sys-net - vm_type: ProxyVM - sys-net: - sys-usb: - sys-whonix: - qubes: - netvm_vm: sys-firewall - template_vm: whonix-gw-16 - whonix-ws-16-dvm: - qubes: - netvm_vm: sys-firewall - template_vm: whonix-ws-16 - vars: - qubes: - label: red - vm_type: AppVM diff --git a/home/dot_local/share/ansible/test/darwin/test.sh b/home/dot_local/share/ansible/test/darwin/test.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/share/ansible/test/linux/test.sh b/home/dot_local/share/ansible/test/linux/test.sh old mode 100644 new mode 100755 diff --git a/home/dot_local/share/ansible/test/windows/test.sh b/home/dot_local/share/ansible/test/windows/test.sh old mode 100644 new mode 100755 diff --git a/local/provision.sh b/local/provision.sh old mode 100644 new mode 100755 diff --git a/local/sync.sh b/local/sync.sh old mode 100644 new mode 100755 diff --git a/prompts/source.sh b/prompts/source.sh old mode 100644 new mode 100755 diff --git a/qubes/setup.sh b/qubes/setup.sh old mode 100644 new mode 100755 diff --git a/scripts/cloudflared-opnsense.sh b/scripts/cloudflared-opnsense.sh old mode 100644 new mode 100755 diff --git a/scripts/cloudflared-ssh.sh b/scripts/cloudflared-ssh.sh old mode 100644 new mode 100755 index 55c4921c8..20a26b708 --- a/scripts/cloudflared-ssh.sh +++ b/scripts/cloudflared-ssh.sh @@ -30,7 +30,7 @@ # This script will likely only work on AMD x64 devices. # # Some of the commands are conditionally run based on whether or not the `CRONTAB_JOB` environment variable is set. -# This is to accomodate EasyEngine installations where the list of SSH endpoints is variable. Both the initial +# This is to accommodate EasyEngine installations where the list of SSH endpoints is variable. Both the initial # setup and updates are applied using this script (via a cronjob that does not need to run initialization tasks during # the cronjobs). # diff --git a/scripts/homebrew.sh b/scripts/homebrew.sh old mode 100644 new mode 100755 diff --git a/scripts/pfsense.sh b/scripts/pfsense.sh old mode 100644 new mode 100755 diff --git a/scripts/provision.sh b/scripts/provision.sh old mode 100644 new mode 100755 diff --git a/scripts/qubes-provision.sh b/scripts/qubes-provision.sh old mode 100644 new mode 100755 diff --git a/scripts/test-linux.sh b/scripts/test-linux.sh old mode 100644 new mode 100755 diff --git a/scripts/test-macos.sh b/scripts/test-macos.sh old mode 100644 new mode 100755 diff --git a/start.sh b/start.sh old mode 100644 new mode 100755