My dotfiles. They're organized as ansible roles.
Set your root password to something secure:
# passwd
If you want to create a user account (jtmoulia
for the sake of history):
# useradd --create-home -G wheel jtmoulia
# passwd jtmoulia
Note: the ansible deploy scripts will ensure that the user is properly configured.
Make sure that you've installed the necessary deps for running wifi-menu
,
otherwise you won't be able to connect to the network:
# pacman -S dialog wpa_supplicant
Install the Python dependencies via poetry:
# pacman -S python-poetry
$ poetry install
To install everything run:
poetry run bin/dotsible.sh
You can use alternate configurations; here it's run with configuration specific to my Lenovo Flex 4:
dotsible -p lenovo-flex-4
The first run will create an executable in your path named dotsible
, which can
be called instead of poetry run bin/dotsible.sh -p $DOTSIBLE_PLAYBOOK
. The
following examples use this shortcut.
Sometimes you'll want to install only a few roles, say ssh
and net-utils
:
dotsible -t ssh -t net-utils
Related configurations are organized into Ansible roles.
All of the available roles are located under playbooks/roles/
-- you can list
them by simply running:
ls playbooks/roles
Some roles have documentation under $ROLE/README.md
.
A set of roles and variables are organized into Ansible playbooks. Typically a playbook is used to define the overall configuration for a target environment.
The currently available playbooks are:
base
: basic roles such asgit
,bash
, andtmux
cli
: portable CLI specific configurationlenovo-flex-4
: Arch Linux configuration for a Lenovo Flex 4lenovo-yoga
: Arch Linux configuration for a Lenovo Yogaosx
: OS X on a 2022 MacBook Pro M1 (Monterey)
Roles and playbooks were typically designed against Arch Linux. Roles listed in
the base
or osx
playbooks will work under OS X.