- Arch (btw)
- Ubuntu
- Included in test suite
- 24.04
- 22.04
- Included in test suite
NOTE: Arch Linux is currently the primarily maintained option.
This projects intends to configure everything for a complete end-user experience. It only assumes that a bare-minimum and bootable systemd based distribution of Linux already exists. Included in the Ansible roles are (but not limited too):
- Create user (added to the
sudo
group and the user which all opinionated configurations will be applied for) - Install Dotfiles
- Installation of notable software:
- Programming languages / runtimes
- Python
- Go
- Rust
- Lua
- Java
- Dotnet
- Node
- Neovim with LSP support
- Networkmanager
- Pulseaudio
- (+) Lots of popular cli tools
- Programming languages / runtimes
- (optional) graphical environment support with Xorg
- Suckless software
- dwm (dynamic window manager)
- slock (screen locker)
- slstatus (status bar)
- dmenu
- Browser etc.
- Suckless software
The inventory file uses
localhost
as the target system.
Default run command for all Ansible roles:
make install
The playbooks will identify and run appropriate tasks depending on the host
platform. However, if you do not need a graphical environment and X11
on the
target host; you have the option to exclude installing these dependencies with:
# Native installer
./run-ansible.sh -x false
# Or manually
ansible-playbook --ask-become-pass --skip-tags=X main.yaml
Default User created in the set-up is nord
, this can be changed in the
group_vars/workstations.yaml file.
See arch installation README.
- python
- git
- make
[Tests]
- incus
- terraform
- parallel
Optionally use pipenv
to manage python environment.
Complete test suite:
make test
See tests for more granular test runner.