My practical Linux desktop config.
To install systemd user services:
ln -s $DOTFILES_PATH/systemd/* ~/.config/systemd/user/
And enable them just like any other systemd user services.
# xdg-desktop-portal-wlr: for sharing desktop via PipeWire
# fcitx5-im: input method support (currently doesn't work well with alacritty)
# wl-clipboard: provide CLI clipboard tools
# grim && slurp: select a region and take a scrrenshot
# bemenu && j4-dmenu-desktop (AUR): application launcher
# alacritty: terminal emulator
# swayidle && swaylock: idle management and screen lock
# swaybg: wallpaper management
# i3status-rust: status bar
# mako: notification daemon
sudo pacman -S sway xdg-desktop-portal-wlr fcitx5-im brightnessctl wl-clipboard grim slurp bemenu-wayland swayidle swaylock swaybg i3status-rust mako
$YOUR_AUR_HELPER -S j4-dmenu-desktop
# Create and edit local settings (used by Sway)
cp -v ~/.dotfiles/bin/local_settings.example ~/.dotfiles/bin/local_settings
Sway requires sway-session.target
from systemd to function properly.
ln -s $DOTFILES_PATH/sway ~/.config/
This fontconfig requires noto-fonts
, noto-fonts-cjk
, noto-fonts-emoji
and ttf-sarasa-gothic
.
ln -s $DOTFILES_PATH/fontconfig ~/.config/
ln -s $DOTFILES_PATH/.pam_environment ~/
ln -s $DOTFILES_PATH/i3status-rust ~/.config/
ln -s $DOTFILES_PATH/alacritty ~/.config/
ln -s $DOTFILES_PATH/mako ~/.config/
ln -s $DOTFILES_PATH/fish ~/.config/
ln -s $DOTFILES_PATH/tmux ~/.config/
# mpd won't automatically create state folder, so do it manually
mkdir -p ~/.local/share/mpd
ln -s $DOTFILES_PATH/mpd ~/.config/
ln -s $DOTFILES_PATH/mpv ~/.config/
ln -s $DOTFILES_PATH/ncmpcpp ~/.config/