Any unreleased changes in the develop
branch.
- Do not run Travis CI builds on macOS Catalina using Xcode 11.6
3.0.0 - 2020-09-13
This is a release with a number of previous unreleased improvements, fixes and support for macOS Catalina.
- Require Python 3 or newer for local development and running any of the Python scripts
- The setup script and Ansible playbooks will require Ansible 2.8
- Remove Python 2.7 support
- Running
make setup
will only install dependencies - Running
make install
will run the playbooks - Drop support for High Sierra
- Install Terminus
- Added recommended extensions for the project VScode workspace
Useful command line tools:
less
(less-551) with PCREncdu
disk usage analyserfd
alternative tofind
fzf
fuzzy search- ripgrep (
rg
) alternative togrep
Thanks Sebastian Witowski for the tools I haven't used before.
- Install Ansible 2.8 as the default version
- Install Go version 1.15
- Upgrade
markosamuli.golang
from v1.2.1 to v2.0.2
- Install Python 3.7.8 and 3.8.5 as the default versions
- Upgrade
markosamuli.pyenv
v2.1.1 to v4.0.2
- Install Node.js v12 as default version with NVM
- Upgrade
markosamuli.nvm
from v1.4.1 to v1.4.2
These development tools are not required for setting up a system with my playbooks, but are required if making changes to the codebase to ensure consistent coding style.
- Changes to Makefile. Run
make help
to see the available commands. - Install shfmt and shellcheck as a dependency in the Makefile
- Use
pre-commit
v2.7.0 - Use
flake8
v3.8.3 to lint Python code - Use
pylint
v2.6.0 to lint Python code - Use
ansible-lint
v4.3.3 to lint Ansible playbooks and roles - Use shfmt v3 for formatting bash scripts
- Use Prettier for formatting JSON, Markdown and YAML files
- Format Python code with
black
- Removed
travis-lint
pre-commit hook as it's not installing on macOS Catalina
2.1.1 - 2020-01-13
- Add check that VS Code isn't already installed by @ilyatulvio
- Format YAML, JSON and Markdown files with Prettier in the pre-commit hooks.
2.1.0 - 2019-11-24
- Install Rust programming language with markosamuli.rust
- Use
bash
executable instead ofsh
with Ansible on WSL environments to get around Windows directory white spaces on the PATH. Fixes issues withzzet.rbenv
role no longer using bash for executing shell commands. - Fix
update-roles.py
script not working if using master as version inrequirements.yml
file.
- Require minimum Ansible version 2.7
- Install Ansible 2.8 as the default version
- Check that we're not using broken Ansible v2.8.6
- Rework on the setup script for improved Ansible installation when using
pyenv
orvirtualenv
or calling Ansible with any non-system paths. - Support for installing Ansible in a local virtualenv from PyPI.
- Allow setting the default Ansible version with
MACHINE_ANSIBLE_VERSION
environment variable. - Added support for uninstalling existing Ansible installations.
- Added new long command line options in the setup script.
- Self-documented Makefile and
make help
command. - Added
setup
command for runningsetup
script with the default options. - Added
install-ansible
Makefile command that doesn't enable or disable PyPI and doesn't reinstall existing Ansible installations. - Renamed
roles
Makefile command toinstall-roles
and removed-f
argument. - Renamed
update
Makefile command toupdate-roles
. - Added
clean-roles
Makefile command for runningclean_roles.py
script. - Added
latest-roles
Makefile command to update, clean and install required Ansible roles to their latest versions.
- Upgraded markosamuli.gcloud from v2.1.1 to v2.1.2
- Cloud SDK release 271.0.0
- Option for preferring
python3
overpython2
during install
- Upgraded markosamuli.aws_tools from v1.0.1 to v2.1.0
- Moved Python business logic and shared functionality from the Python scripts
into a local
machine
Python package.
- Minimum
pre-commit
version 1.20 - Removed
autopep8
in favour of usingyapf
for formatting Python code - Added
pylint
pre-commit hooks for linting Python code - Move development requirements into
requirements.dev.txt
file - Use more strict
yamllint
rules and format files according
- Do not run builds with Xcode 10.2.1 on macOS 10.14.
2.0.0 - 2019-11-20
Release with macOS Mojave support.
- Fix permissions in user home directory
- Install doctl from Homebrew
- Install JetBrains Toolbox
- Install p7zip
- Install htop
- Install asciinema
- Install Lua programming language and custom
luarocks
Ansible module - Install Vim or MacVim
- Install zsh with Homebrew
- Install asdf version manager with markosamuli.asdf v1.1.0
- Install GNU sed
- Install GNU tar
- Install Hammerspoon automation tool with
ReloadConfiguration.spoon
- Install Hazel automation tool
- Install rbenv and Ruby with zzet.rbenv role
- Install shellcheck
- Install shfmt
- Atom editor is no longer installed
The following tools are no longer installed automatically but require to be manually enabled:
- Slack desktop application
- Google Drive File Stream
nmap
certbot
- Vagrant and VirtualBox
- Packer
- Use shared setup script with the linux-machine repository
- Added
machine.yaml
configuration file for local playbook overrides and customizations - Check Ansible version in the
setup
script and in the Ansible playbook setup phase - Makefile with tasks for common playbooks
- Ansible Galaxy support in
update-roles
script - Check for outdated Homebrew packages when running
setup
- Install Terraform with tfenv
- Remove conflicting Terraform installations including asdf plugin and any installed versions
- Removed markosamuli.terraform role and previously installed binaries
- Upgraded markosamuli.golang from v1.0.0 to v1.2.0
- Optional shell script initialization
- Install common Go packages with the markosamuli.golang role
- Changed default GOPATH from
~/Projects/golang
to~/go
- Add
GO111MODULES
environment variable into shell configuration
- Upgraded markosamuli.gcloud from v1.1.0 to v2.1.1
- Cloud SDK release 271.0.0
- Changed default installation path from
~/opt/google-cloud-sdk
to~/google-cloud-sdk
- Upgraded markosamuli.nvm from v1.1.0 to v1.4.1
- Install NVM v0.35.1
- Install Node.js LTS as the default version
- Load bash completion in shell scripts
- Upgraded markosamuli.pyenv from v1.2.0 to v2.1.1
- Building Python versions now working on macOS Mojave
- Load shell completions from Homebrew directory
- Update to pyenv 1.2.15
- Update to Python 2.7.17
- Update to Python 3.7.5
- Travis: Run tests with Xcode 11.0
- Travis: Do not test with Xcode 9.4
- Travis: Builds fail faster
- Travis: Run builds on pull requests and main branches only
- GitHub Actions: Added new pre-commit workflow
- Added markdownlint pre-commit hook
- Validate shell scripts with shellcheck and improve coding style
- Format shell scripts with shfmt
- Setup virtualenv with pyenv for local development
1.0.0 - 2019-03-02
Initial version on macOS High Sierra.