My dotfiles. They're organized as ansible roles.
Set your root password to something secure:
# passwdIf you want to create a user account (jtmoulia for the sake of history):
# useradd --create-home -G wheel jtmoulia
# passwd jtmouliaNote: 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_supplicantInstall the Python dependencies via uv:
# pacman -S python-uv
$ uv syncTo install everything run:
uv run bin/dotsible.shYou can use alternate configurations; here it's run with configuration specific to my Lenovo Flex 4:
dotsible -p lenovo-flex-4The first run will create an executable in your path named dotsible, which can
be called instead of uv 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-utilsRelated 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/rolesSome 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, andtmuxcli: 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.