exwm-arch-install/README.md

107 lines
2.2 KiB
Markdown

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-<return>") #'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")))
```