uses https://github.com/rexim/dotfiles for configuration part 1 arch install: archlinux-2026.03.01-x86_64.iso updated before running archinstall ```bash sudo pacman -Sy archinstall ``` in archinstall; disk: ext4 bootloader: grub network: network manager user: create with sudo profile: minimal audio: pipewire post archinstall; ```bash sudo pacman -S xorg-server xorg-xinit emacs dmenu git zsh rxvt-unicode tmux # zsh,rvxt,tmux from tsoding dotfiles https://github.com/rexim/dotfiles ``` clone dotfiles; ```bash git clone https://github.com/rexim/dotfiles ~/dotfiles cd ~/dotfiles bash deploy.sh MANIFEST.linux ``` launch; ```bash startx ``` should launch the gui version of exwm/emacs. part 2 emacs/exwm setup C-x C-f (ctrl-x ctrl-f) find-file >~/.xinitrc ```bash exec emacs ``` the official exwm wiki says for arch users to NOT use dbus. i consulted the all knowing orb and it said if apps (web browsers..etc) complain about dbus to use a modern replacement: dbus-run-session. this is untested (will hopefully remove once tested) C-x C-f again to ~/.emacs ```elisp (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) (unless (package-installed-p 'exwm) (package-refresh-contents) (package-install 'exwm)) (require 'exwm) (menu-bar-mode -1) (tool-bar-mode -1) (scroll-bar-mode -1) (exwm-input-set-key (kbd "M-") #'exwm-reset (exwm-input-set-key (kbd "M-w") #'exwm-workspace-switch (dotimes (i 10) (exwm-input-set-key (kbd (format "M-%d" i)) `(lambda () (interactive (exwm-workspace-switch-create ,i)))) (exwm-wm-mode) ``` exwm-enable is outdated, when used user is instructed to change it to exwm-wm-mode post-setup installing; sudo pacman -S firefox ttf-dejavu noto-fonts xclip scrot xf86-video-qxl sudo pacman -S pipewire pipewire-pulse wireplumber systemctl --user enable pipewire pipewire-pulse wireplumber systemctl --user start pipewire pipewire-pulse wireplumber launching applications (example); startx and launch firefox from EXWM with M-Return to open urxvt, then type ```firefox & Or bind a key in ~/.emacs: ```bash (exwm-input-set-key (kbd "M-f") (lambda () (interactive) (start-process "" nil "firefox"))) ```