This is supposed to run from a local salt-minion install, using salt-call
in a masterless setup. Based on a clean Debian Bookworm netinst installation,
I'm using this to provision my work setup on a Dell XPS13 and my home PC. I
am currently running this on a 9310 model, unfortunately the newer ones are
terrible, and my custom-built Ryzen 9.
Among other things, this config will install:
- Gnome
- Most important apps:
- Firefox
- Thunderbird
- Spotify
- Slack
- Albert (my favorite launcher),
- Enpass
- Yubikey support
- Most important Firefox extensions (use
about:debugging
to find their IDs if you want to add more):- uBlock,
- uMatrix,
- Enpass,
- German dictionary,
- Multi-account containers
- GDPR Content-O-Matic
- Enforces Firefox sanitization on closing the browser and other settings.
- Some other available applications include:
- Discord
- OBS
- Airtame
- Starship prompt
- Steam
- Inkscape
- IntelliJ IDEA Ultimate
- VSCode
- Zoom
- Xerox printer drivers
- GIMP
- VLC
- Logitech camera controls for Brio webcams
Download the Debian Netinst ISO. Then install the minimal system. I like using the text mode installer and I partition like this:
- 512MB EFI
- 512MB EXT4 /boot
- Remainder is dm-crypt encrypted volume with LVM (start by configuring the
encrypted partition in the text mode installer, then add LVM and a volume
group
vg0
)- 90GB EXT4 vg0-root /root
- 16GB SWAP vg0-swap ---
- 256GB EXT4 vg0-home /home
After booting into the minimal system under Bookworm, your wifi will have been
configured in /etc/network/interfaces
. Gnome will later use NetworkManager,
which will not manage network adapters listed in /etc/network/interfaces
.
So after the first run of salt-call
, you'll have to remove the static
configuration by manually editing it.
apt install --no-install-recommends ca-certificates wget git
git clone https://github.com/jdelic/saltshaker-laptop
cd saltshaker-laptop
./configure.sh
# remove static interface config so NetworkManager can take over
vi /etc/network/interfaces
These are installed automatically by this salt config, but I find them
useful and you should know. You can install them from Extension Manager
:
- Frippery Move Clock (moves the clock to the right where it belongs)
- Vertical overview (because vertically stacked virtual desktops are much more sensible)
- Tray Icons: Reloaded (no idea why Gnome tries to remove
them... so much software still uses them)
- Make sure to change the settings to allow like 10 or so icons
- No Overview At Start-up (with Albert as launcher the default is just annoying)
This config installs a autostart script that changes the following Gnome settings:
- Add keyboard shortcut for Albert to launch
albert toggle
onMETA+X
. - Change "Navigation"->"Switch Applications" to "disabled" and "Switch Windows" to "Alt+Tab"
- On Gnome Tweaks set the clock to show calendar weeks and the date
- Configure the Gnome extensions, setting the keyboard shortcuts for vertical desktops and configuring the tray icons size and position
I commonly use
- Applications
- Calculator
- Python
- System
- I rename "Poweroff" to "Shutdown"
- Terminal
These are changes that this salt configuration currently can't do for you. Here is my personal "post-install todo list":
- Zoom: Change
enableMiniWindow
tofalse
in~/.config/zoomus.conf
. - Firefox: Enable the built-in dark theme in Firefox
- Firefox: Enable
devtools.netmonitor.persistlog
inabout:config
- Firefox: Import uMatrix config
- Firefox: Remove spacers from Firefox toolbar config
- Firefox: Enable extensions to run in private mode (this can't be automated)
- Create Enpass service account and login
- Activate IntelliJ IDEA, Slack, and Spotify
- Projects: Install ollama
Installing a Windows 10 or 11 VM with TPM:
virt-install -n "win-vm" \ --memory=16384 --cpu=host -vcpus=6 --pm="suspend_to_mem=on,suspend_to_disk=on" \ --disk="path=/dev/gen5/win-payoneer,device=disk,bus=virtio" \ -c /tmp/win10_2023H2.iso --disk="path=/tmp/virtio-win.iso,device=cdrom" \ --features kvm_hidden=on,smm=on \ --tpm backend.type=emulator,backend.version=2.0,model=tpm-tis \ --boot loader=/usr/share/OVMF/OVMF_CODE_4M.secboot.fd,loader_ro=yes,loader_type=pflash,nvram_template=/usr/share/OVMF/OVMF_VARS_4M.ms.fd,loader_secure=yes \ --graphics=spice \ --video model.type=xml,model.vram=65536,model.vgamem=65536
Make sure to install the latest of these: