Automated provisoning and configuration management for my development workstation.
These are the specs of the current machine I am using:
Model: Dell Inc. XPS 15 7590
Integrated Graphics: Intel® UHD Graphics 630 (CFL GT2)
Discrete Graphics: NVIDIA GeForce GTX 1650 (4GB GDDR5)
Display: 15.6-inch UHD touchscreen
External Display Support: HDMI 2.0b x 1
Processor: Intel® Core™ i9-9980HK CPU @ 2.40GHz × 16
Memory: 32.0 GiB
Disk Capacity: 1.0 TB
Operating System: Fedora Workstation 34
Manual: XPS 15 7590 Setup and Specifications
- Adminstrator (
sudo
) access by your user is required
Restore dependencies and run all playbooks:
sh run.sh
First restore python and ansible dependencies with the restore script. By default, these packages all install to the user scope ($HOME
).
./restore.sh
NOTE: Most of the Python packages from
requirements.txt
are also necessary for various functionality indotfiles
or other user config as well. Therefore, if you want to install ansible to a virtualenv, you should do that manually by creating the virtualenv andpip install ansible
The community.general
Ansible collection will be installed.
This playbook will also install rust, golang and some of their packages using the roles fubarhouse.rust
and fubarhouse.golang
.
Some files like fonts, static configuration files, or binary archives are included in playbooks/files/
for use by the Ansible tasks.
Use the playbook variables to customize any of the templates from playbooks/templates/
.
Install all required packages (from multiple package managers) and start+enable any services.
ansible-playbook playbooks/packages.yml
If this is your first run of the playbook, you will want to reboot afterwards.
There are some tags used to categorize and filter the tasks.
- packages
- buildtools
- utilities
- virtualization
- drivers
- flatpak
- storage
- network
Apply GNOME settings, including themes, fonts, and other UI configurations.
ansible-playbook playbooks/gnome.yml
And some tags used for the user interface tasks as well...
- packages
- ui
- files
- repos
- fonts
- color
- power
- appimages
- desktop
- themes
- terminal
- gsettings
- gnome