ansible-desktop
Ansible playbook to install a copy of my desktop setup
Features
Simple one-command deployment of a fully functional desktop
-
Custom builds of:
- dwm - dmenu - st - slock - tabbed
-
Configuration for a variety of programs including:
- abook - calcurse - cava - cmus - dunst - firejail - fontconfig - gtk2 & gtk3 - htop - khard - mutt/neomutt - newsboat - picom - ranger - sxhkd - ufw - vim - zathura - zsh
-
Custom shell scripts for:
- dwm status bar - document compilation - encrypted usb management - getting passwords from `pass` via dmenu - mounting and unmounting removable drives - screenshots - volume control and more
Distros
This playbook has been specifically designed to run on Debian systems. The current Debian stable version is considered to be the supported distro.
The playbook should work for other distros; most seamlessly on Debian-derivatives.
However, updates to package names may be necessary when not running against Debian stable.
Usage
Prerequisite non-root user
The playbook assumes you have a non-root user that was created during the installation.
The playbook will add this user to the sudo group and deploy the dotfiles in their home directory.
If you do not have a non-root user please create one prior to running the playbook.
Clone the repository
git clone https://git.chudnick.com/ansible-desktop
Modify the inventory
Modify the inventory.yml for your deployment.
At a minimum, change desktop.local
to the name of your desktop to configure. This could also localhost
if you are running the playbook on the machine to be configured.
Modify vars.yml
Modify group_vars/all/vars.yml for your deployment. Below is a list of the variables and there function:
- amdcpu - installs amd cpu microcode
- amdgpu - installs amd gpu firmware
- intelcpu - install intel cpu firmware
- nvidiagpu - installs nvidia gpu firmware and drivers
- amd_microcode_package - package that install amd cpu microcode
- intel_microcode_package - package that install intel cpu microcode
- amdgpu_firwamre_package - package that installs amdgpu firmware
- nvidia_firmware_package - package that installs nvidia firmware
- user - the username of your non-root user on the desktop
- build_packages - packages needed to build suckless programs
- packages - list of packages to install
Make sure to modify the hardware variables for your machine. Set user to the non-root user you created during installation.
Run the playbook
From the repo root directory run:
ansible-playbook run.yml -i inventory.yml
Login to the desktop
When the playbook finishes you can login to your desktop. If you were already logged in you will need to logout and back in to load the changes.