Script to install software and make my desktop ready
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Emiel Kollof b50e303dbd Add some more odds and ends. 4 months ago
files Add key example 7 months ago
my_modules Add gpg module 7 months ago
roles Add some more odds and ends. 4 months ago
vars Add some more odds and ends. 4 months ago
.gitignore Make sure the users.yml doesn't get committed 4 months ago Add amdgpu drivers, remove network-manager 4 months ago
Vagrantfile Fix mono fonts, compress packages again 7 months ago
ansible.cfg Add first code 1 year ago
desktop.yml Rename users file to something more sensible 1 year ago
hosts More playbooks :) 1 year ago
install-desktop Add amdgpu drivers, remove network-manager 4 months ago

Install scripts for desktop

This is a script that installs xorg and some of my favourite window managers + required software. Currently only supports arch, but I might add other distros.

Currently it only supports nvidia cards and virtualbox vms, but it will use the xorg vesa driver as a fallback.

The point of this repo is so you can fork this and adapt it to your own wished. Files of interest to you are:

  • roles/users/files/ - for your postinstall actions, like checking out your bare repo + submodules etc
  • roles/packages/tasks/main.yml - At the end there are services which are set to enabled on boot. Modify as you wish. (I might break that out into vars/ later)
  • vars/packages.yml - The packages you want installed


  • Base arch installation
  • pacman -Sy --noconfirm python sudo


If you install on a laptop without network ports (they do exist), make sure you have everything installed to make wifi work initially. You probably need these packages:

  • pacman -Sy --noconfirm dialog wireless_tools wget unzip

Best to do this inside the arch chroot while still running the install CD.

Getting network up and running without networkmanager

Create the following file:




Enable systemd-networkd and systemd-resolved

systemctl enable systemd-networkd
systemctl enable systemd-resolved
systemctl start systemd-networkd
systemctl start systemd-resolved

Getting the installer

If you have a network running, you can fetch a zip of this by running:

wget && unzip dinstaller


First, copy vars/users.yml.example to vars/users.yml and add your users (an example is provided). You can use my dotfiles, which will yield a nice tiling wm setup, but if you have a bare dotfile repository of your own, feel free to edit it. Be careful with tabs and spaces. YAML is a bit particular when it comes to that.

If you want to use it for other setups, you can encrypt vars/main.yml with ansible vault. I would recommend you do so anyway

The password in here is an example one and PUBLIC. Please change it. You don’t need to hash it, ansible does that for you.

When that’s all done, just fire off ./install-desktop and go get some coffee.

Post install

Log in/su to the created user, and run ~/ in their homedir. It will finish things up and make everything ready for use.



Before you ask what a Super-key is, it’s usually the one that displays a Windows logo, between Ctrl and Alt on most keyboards.


If you load up dwm, you will get the suckless dwm first. It uses the alt-key as the modifier key. To change that, you can use my patched version in src/dwm

Just run make && sudo make install in that folder, and my dwm should be installed. My dwm config has the following keys that might be instantly useful:

Key Function
Super-p dmenu (launch programs)
Super-Shift-P passdmenu (search password-store (pass) database)
Super-Enter Spawn terminal (currently urxvt)
Super-Shift-Enter Make current window master
Super-< Move window to screen on the left
Super-> Move window to screen on the right
Super-h Resize window right
Super-j Move to previous window
Super-k Move to next window
Super-l Resize window left
Super-Q Quit dwm

You should also probably build the statusbar, which is in Code/rust-dwm-status. Rust should be installed already, so just hop in there and do a cargo install. Restart dwm and it should appear.


Press Super-S for a list of keybindings with descriptions of what they do.


Check .config/sxhkd/sxhkdrc for keybindings. Terminal opens with Super-Enter