aboutsummaryrefslogtreecommitdiff

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.