Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: AlexNabokikh/windows-playbook
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.13.1
Choose a base ref
...
head repository: AlexNabokikh/windows-playbook
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.14.0
Choose a head ref
  • 8 commits
  • 6 files changed
  • 3 contributors

Commits on Sep 3, 2022

  1. Copy the full SHA
    404c1aa View commit details
  2. Copy the full SHA
    762863a View commit details
  3. Copy the full SHA
    120b23f View commit details
  4. Copy the full SHA
    40f7069 View commit details
  5. Copy the full SHA
    e390c50 View commit details
  6. Copy the full SHA
    34ef92f View commit details
  7. Merge pull request #40 from AlexNabokikh/misc

    Adding minor improvements.
    AlexNabokikh authored Sep 3, 2022
    Copy the full SHA
    d6445ed View commit details
  8. chore(release): version 1.14.0 [skip ci]

    ## [1.14.0](v1.13.1...v1.14.0) (2022-09-03)
    
    ### Features
    
    * **default.config:** adjusted the default config with more sane parameters ([e390c50](e390c50))
    
    ### Bug Fixes
    
    * **main:** added missed when parameter for the remote desktop task ([34ef92f](34ef92f))
    semantic-release-bot committed Sep 3, 2022
    Copy the full SHA
    51c448a View commit details
Showing with 233 additions and 14 deletions.
  1. +12 −0 CHANGELOG.md
  2. +128 −0 CODE_OF_CONDUCT.md
  3. +46 −0 CONTRIBUTING.md
  4. +42 −9 README.md
  5. +4 −5 default.config.yml
  6. +1 −0 main.yml
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -2,6 +2,18 @@

All notable changes to this project will be documented in this file.

## [1.14.0](https://github.com/AlexNabokikh/windows-playbook/compare/v1.13.1...v1.14.0) (2022-09-03)


### Features

* **default.config:** adjusted the default config with more sane parameters ([e390c50](https://github.com/AlexNabokikh/windows-playbook/commit/e390c50192d13a0a47f5be24dc87546ee0de7e74))


### Bug Fixes

* **main:** added missed when parameter for the remote desktop task ([34ef92f](https://github.com/AlexNabokikh/windows-playbook/commit/34ef92f13eb15ac128eb32189de740b3536b327c))

### [1.13.1](https://github.com/AlexNabokikh/windows-playbook/compare/v1.13.0...v1.13.1) (2022-08-21)


128 changes: 128 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
nabokikh@duck.com.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
46 changes: 46 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributing to the windows-playbook

Want to contribute? Great! First, read this page.

## How to become a contributor

- Direct contributions
- **Create pull requests directly.**
- Please send e-mails to nabokikh@duck.com if you have any questions.
- Feedback suggestions and bugs.
- We use GitHub issues to track bugs and features.
- For bugs and general issues please [file a new issue](https://github.com/AlexNabokikh/windows-playbook/issues/new).

## Code contribution guidelines

### Conventional commits

- Use [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/#summary) message syntax for repo auto-tagging and releasing via pipeline.

### Code style and conventions

- Use [Ansible lint](https://github.com/ansible/ansible-lint) and [YAML lint](https://github.com/adrienverge/yamllint) to check code style.
- Respect the `.ansible-lint` and `.yamllint.yml` files specified in the source tree.

### Fix wrong commit

In case you have an issue with your commit it is possible to fix it with `git commit --amend`.

In case the errored commit is not the last one it is possible to fix it with the following procedure:

```shell
git rebase --interactive 'bbc643cd^'
```

Please note the caret `^` at the end of the command, because you need actually to rebase back to the commit before the one you wish to modify.

In the default editor, modify `pick` to `edit` in the line mentioning `'bbc643cd'`.

Save the file and exit: git will interpret and automatically execute the commands in the file. You will find yourself in the previous situation in which you just had created commit `bbc643cd`.

At this point, `bbc643cd` is your last commit and you can easily amend it to change the text with the command:

```shell
git commit --all --amend
git rebase --continue
```
51 changes: 42 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -18,6 +18,7 @@ This playbook installs and configures most of the software I use on my Windows 1
- [Running a specific set of tagged tasks](#running-a-specific-set-of-tagged-tasks)
- [Overriding Defaults](#overriding-defaults)
- [Included Applications / Configuration (Default)](#included-applications--configuration-default)
- [Available Parameters](#available-parameters)

## Playbook capabilities

@@ -28,8 +29,8 @@ This playbook installs and configures most of the software I use on my Windows 1
- Ensure software and packages selected by the user are installed via Chocolatey.
- **Windows apps & features**
- Ensures the Optional Windows Features chosen by the user are installed and enabled.
- Ensures WSL2 distro selected by the user is installed and enabled.
- Ensures selected by user volumes are defragmented (in parallel).
- Ensures the WSL2 distro selected by the user is installed and enabled.
- Ensures set by user volumes are defragmented (in parallel).
- **Windows Settings**
- **Explorer**
- Ensures Explorer includes the file extension in file names.
@@ -38,22 +39,22 @@ This playbook installs and configures most of the software I use on my Windows 1
- Ensures Right-click Context Menu enabled (Windows 11).
- **Start Menu**
- Ensures Automatic Install of Suggested Apps disabled.
- Ensures App Suggestions in Start menu disabled.
- Ensures popup "tips" about Windows disabled.
- Ensures 'Windows Welcome Experience' disabled.
- Ensures the "App Suggestions" in the Start menu is disabled.
- Ensures the "tips" popup Windows disabled.
- Ensures 'Windows Welcome Experience' is disabled.
- **Taskbar**
- Ensures 'Search' unpinned from Taskbar.
- Ensures Task View, Chat, and Cortana are unpinned from Taskbar.
- Ensures 'News and Interests' unpinned from Taskbar.
- Ensures 'People' unpinned from Taskbar.
- Ensures 'Edge', 'Store' other built-in shortcuts unpinned from Taskbar.
- Ensures 'Edge', 'Store' and other built-in shortcuts unpinned from Taskbar.
- **Desktop**
- Ensure Desktop icons are removed.
- **General**
- Ensure configured hostname selected by the user is set.
- Ensure configured hostname selected by the user is assigned.
- Ensure remote desktop services are configured.
- Ensure the sound scheme is set to 'No sounds'.
- Ensure the power plan selected by the user is set.
- Ensure the power plan selected by the user is assigned.
- Ensure Windows updates are selected by the user installed.
- Ensures mouse acceleration is disabled.
- **Terminal Settings**
@@ -147,7 +148,6 @@ Packages (installed with Chocolatey):
- adobereader
- auto-dark-mode
- awscli
- capture2text
- Firefox
- git
- golang
@@ -157,12 +157,45 @@ Packages (installed with Chocolatey):
- peazip
- powertoys
- python3
- sharex
- telegram
- terraform
- vlc
- vscode
- zoom
## Available Parameters
| Name | Description | Type | Default |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| configure_hostname | (Optional) Whether or not to set a custom hostname. | `bool` | `false` |
| custom_hostname | (Optional) The hostname to set for the computer. | `string` | `windows-ansible` |
| install_windows_updates | (Optional) Whether or not to install Windows updates. | `bool` | `true` |
| update_categories | (Optional) A list of categories to install updates from. The value \* will match all categories. | `list` | `["CriticalUpdates", "SecurityUpdates", "UpdateRollups"]` |
| windows_updates_reboot | (Optional) Whether or not to reboot the host if it is required and continue to install updates after the reboot. | `bool` | `true` |
| remove_bloatware | (Optional) Whether or not to uninstall Windows bloatware. | `bool` | `true` |
| bloatware | (Optional) A list of applications (bloatware) to be uninstalled | `list` | [full_list](https://github.com/AlexNabokikh/windows-playbook/blob/8be81399018d151e5f4f5ea08034fc4bd0ad30da/default.config.yml#L85) |
| choco_installed_packages | (Required) A list of Chocolatey packages to be installed. | `list` | [full_list](#included-applications--configuration-default) |
| state (chocolatey) | (Optional) State of the package on the system. (present, latest) | `string` | `present` |
| version (chocolatey) | (Optional) Specific version of the package to be installed. | `string` | `omit` |
| choco_args (chocolatey) | (Optional) Additional parameters to pass to choco.exe. | `string` | `omit` |
| install_windows_features | (Optional) Whether or not to install Windows features. | `bool` | `false` |
| windows_features | (Optional) A list of dicts with Windows features to be installed. | `list(dict)` | `Microsoft-Hyper-V: true` |
| install_wsl2 | (Optional) Whether or not to install Windows Subsystem for Linux. | `bool` | `true` |
| wsl2_distribution | (Optional) The valid name of Linux distribution that will be installed. | `string` | `wsl-ubuntu-2004` |
| install_fonts | (Optional) Whether or not to install [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/). | `bool` | `true` |
| installed_nerdfonts | (Optional) A list of [Nerd Fonts](https://github.com/ryanoasis/nerd-fonts/) to be installed. | `list` | `["FiraCode", "FantasqueSansMono"]` |
| install_ohmyposh | (Optional) Whether or not to [Oh My Posh](https://ohmyposh.dev/). | `bool` | `true` |
| configure_explorer | (Optional) Whether or not to configure Windows Explorer with sane defaults. | `bool` | `true` |
| configure_taskbar | (Optional) Whether or not to configure Windows TaskBar with sane defaults. | `bool` | `true` |
| configure_start_menu | (Optional) Whether or not to configure Windows Start menu with sane defaults. | `bool` | `true` |
| set_sound_scheme | (Optional) Whether or not to set default Windows Sound Scheme to "No Sounds". | `bool` | `true` |
| disable_mouse_acceleration | (Optional) Whether or not to disable mouse acceleration. | `bool` | `true` |
| remote_desktop_enabled | (Optional) Whether or not enable Remote Desktop. | `bool` | `true` |
| remove_desktop_icons | (Optional) Whether or not remove desktop icons (\*.lnk files only). | `bool` | `false` |
| defrag_volumes | (Optional) Whether or not to perform disk defragmentation. | `bool` | `true` |
| include_volumes | (Optional) A list of volumes to be defragmented. | `list` | `["C"]` |

## Author

This project was created by [Alexander Nabokikh](https://www.linkedin.com/in/nabokih/) (initially inspired by [geerlingguy/mac-dev-playbook](https://github.com/geerlingguy/mac-dev-playbook)).
9 changes: 4 additions & 5 deletions default.config.yml
Original file line number Diff line number Diff line change
@@ -14,15 +14,15 @@ windows_updates_reboot: true
update_categories:
# You can install only specific updates by uncommenting it
# * - installs all updates
- "*"
# - Critical Updates
# - "*"
- Critical Updates
# - Definition Updates
# - Developer Kits
# - Feature Packs
# - Security Updates
- Security Updates
# - Service Packs
# - Tools
# - Update Rollups
- Update Rollups
# - Updates
# - Upgrades

@@ -125,4 +125,3 @@ bloatware:
defrag_volumes: true
include_volumes:
- C
- D
1 change: 1 addition & 0 deletions main.yml
Original file line number Diff line number Diff line change
@@ -68,6 +68,7 @@
tags: ["power"]

- import_tasks: tasks/remote_desktop.yml
when: remote_desktop_enabled
tags: ["remote_desktop"]

- import_tasks: tasks/desktop.yml