Ubuntu Server Desktop
Configs for Ubuntu Server 24.04 Noble and wlroots (sway).
apt config
Avoid cruft and possibly break things.
Disable apt from installing recommended and suggested packages:
$ cat /etc/apt/apt.conf
APT::Install-Recommends "false";
APT::Install-Suggests "false";
nb: disabling Recommends can break packages which make incorrect assumptions in debian/control
.
apt install
“DE”
vim \
foot \
tmux \
mutt \
mailutils \
sway \
swaylock \
swayidle \
waybar \
bemenu \
grim \
slurp \
imv \
mako-notifier \
pavucontrol \
alsa-utils \
libreoffice \
python3-pdfminer \
fonts-dejavu \
jmtpfs \
mesa-utils \
xwayland \
brightnessctl \
xdg-desktop-portal \
xdg-desktop-portal-wlr \
audio
pipewire \
pipewire-pulse \
wireplumber \
mpv \
cmus \
mpd \
ncmpcpp \
graphics
ffmpeg \
rawtherapee \
gimp \
shotcut \
inkscape \
libimage-exiftool-perl \
dev
man-db \
git \
tig \
ripgrep \
build-essential \
p7zip-full \
unrar \
dput \
devscripts \
meson \
black \
mypy \
pyflakes3 \
pylint \
python3-pip \
python3-venv \
pkgconf \
ansible \
qemu-kvm \
virt-manager \
qemu-system-modules-spice \
gir1.2-spiceclientgtk-3.0 \
crypto
pass \
gnupg \
pcscd \
scdaemon \
yubikey-manager \
signing-party \
networking
rsync \
netcat-openbsd \
nmap \
network-manager \
dnsmasq \
ufw \
links2
network manager
To use network manager instead of netplan:
$ cat /etc/NetworkManager/conf.d/manage-all.conf
[keyfile]
unmanaged-devices=none
$ # delete other /etc/netplan/*.yaml
$ sudo cat /etc/netplan/00-nm.yaml
network:
version: 2
renderer: NetworkManager
$ sudo netplan generate
$ sudo netplan apply
$ sudo systemctl disable systemd-networkd-wait-online.service
$ sudo reboot
sudo apt install postfix
sudo dpkg-reconfigure postfix
sway
In the main sway config, load additional dotfiles based on hostname:
include "~/.config/sway/config.d/$(cat /etc/hostname)"
Set compose key to caps:
input type:keyboard {
xkb_options compose:caps
}
Remove borders and set gaps:
default_border none
default_floating_border pixel
gaps inner 10
gaps outer 0
backlight
Set a value between 0 and 255:
# replace `amdgpu_bl1` with whatever is appropriate to your system
# max brightness
echo 255 | sudo tee /sys/class/backlight/amdgpu_bl1/brightness
# turn off backlight
echo 0 | sudo tee /sys/class/backlight/amdgpu_bl1/brightness
colorscheme
base16 all the things.
glyphs
For waybar
defaults, download Font Awesome 6, rename file without spaces (e.g. fa-6-solid-900.otf
), and copy to /usr/share/fonts/opentype/
.
snap
Firefox snap does not work well without gdm and the snap yt-dlp cannot use firefoxes cookies, so I don’t use them.
removal
Some of this only applies to Ubuntu Desktop:
sudo apt remove gdm3 \
cups cups-* \
avahi-daemon
sudo apt autoremove
sudo snap remove thunderbird
firefox (amd64 only)
firefox install
The Firefox snap will not use the systems wlr XDG portals. So, xdg-open will not open. gdm could be used as a fallback.
Take caution to avoid the unofficial “Mozilla Team” on Launchpad. It is a community group who are unaffiliated with Mozilla. Their versions lag. Better to trust upstream.
Mozilla’s officially packages their own debs.. Mostly follow that guide. Adjust with:
Set source:
$ cat /etc/apt/sources.list.d/mozilla.sources
Types: deb
URIs: http://packages.mozilla.org/apt
Suites: mozilla
Components: main
Signed-By: /etc/apt/trusted.gpg.d/packages.mozilla.org.asc
$ cat /etc/apt/preferences.d/mozilla
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000
Package: firefox*
Pin: release o=Ubuntu
Pin-Priority: -1
Make sure to remove before installing:
sudo snap remove firefox
sudo apt install firefox
firefox config
Use profiles and Firefox Containers.
Addons: