<commit_before># freebsd-laptops

Ansible playbooks for automating the setup and use of laptop devices.

## Usage

```shell
% ansible-playbook -s site.yml
```

This assumes `sysutils/ansible` has been installed already.

## Installation

```shell
sudo pkg install sysutils/ansible
```

## Debugging

```shell
% ansible -m setup -s localhost
```

## TODO

* Support non-Lenovo T420 devices
* Add a poudriere for building ports specific to the config of your laptop
* Enable/disable features based on the kern.osreldate
* Setup and use other sane defaults (e.g. openntpd vs xntpd, opensmtpd, ipfw)
* Allow users to somehow specify preferences and user-specified defaults
  (e.g. ipfw vs pf)
* Switch from using `library/sysrc` to lineinfile for sysrc-style updates.
* Improve `library/kld` to not return changed when a module is already
  loaded.<commit_msg>Add note re: dmidecode<commit_after># freebsd-laptops

Ansible playbooks for automating the setup and use of laptop devices.

## Usage

```shell
% ansible-playbook --check -s site.yml
% ansible-playbook -s site.yml
```

This assumes `sysutils/ansible` has been installed already.

## Installation

```shell
sudo pkg install sysutils/ansible
```

## Debugging

```shell
% ansible -m setup -s localhost
% ansible -vvv -m setup -s localhost
```

## TODO

* Support non-Lenovo T420 devices
* Add a poudriere for building ports specific to the config of your laptop
* Enable/disable features based on the kern.osreldate
* Setup and use other sane defaults (e.g. openntpd vs xntpd, opensmtpd, ipfw)
* Allow users to somehow specify preferences and user-specified defaults
  (e.g. ipfw vs pf)
* Switch from using `library/sysrc` to lineinfile for sysrc-style updates.
* Improve `library/kld` to not return changed when a module is already
  loaded.
* Figure out a different way to query the hardware without `dmidecode`
{'fraction_non_alphanumeric': 0.0867237687366167, 'fraction_numerical': 0.0032119914346895075, 'mean_word_length': 4.25, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3885682', 'n_tokens_mistral': 603, 'n_tokens_neox': 563, 'n_words': 239}