···11# dotfiles
2233-My dotfiles for Arch Linux.
33+My dotfiles for CachyOS.
4455## Usage
66···1111- Kernel and packages compiled with Zen 4 (AMD) support
1212- Desktop environment selection during installation
1313- Good defaults ([Alacritty](https://alacritty.org), [fish](https://fishshell.com), [paru](https://github.com/Morganamilo/paru))
1414-- Many useful packages pre-installed (libfido2, fprintd, bat)
1414+- Many useful packages pre-installed (eza, fprintd, bat)
15151616-First, install [CachyOS Desktop Edition](https://cachyos.org/download/) and select Limine as a bootloader and Hyprland as desktop environment.
1616+First, install [CachyOS Desktop Edition](https://cachyos.org/download/) and select Limine as a bootloader and niri as desktop environment.
17171818### Setup
19192020-After first boot login to Hyprland (not uwsm) and open a terminal (defaults to kitty).
2020+I use niri as my preferred desktop environment and it comes preconfigured with CachyOS. My dotfiles are based on it, but customize some of it.
21212222-#### Install required Hyprland packages
2222+#### Install additional packages
23232424-My Hyprland setup depends on the following additional packages:
2424+My niri setup depends on the following additional packages:
25252626```bash
2727paru -S \
2828- xdg-desktop-portal-gtk \
2929- qt5-wayland \
3030- qt6-wayland \
3131- hypridle \
3232- hyprlock \
3333- hyprsunset \
3434- waybar \
3535- hyprpaper \
3636- swayosd \
3737- wlogout \
3838- wl-clip-persist \
3939- zen-browser-bin \
2828+ swayidle \
2929+ swaybg \
4030 yazi \
4131 btop \
4232 bluetui \
···53435444#### Create SSH key
55455656-Generate a new SSH key protected by Yubikey (default location, no passphrase):
4646+I use my Yubikey to authorize SSH key usage. This requires `libfido2`:
4747+4848+```bash
4949+paru -S libfido2
5050+```
5151+5252+Then generate a new SSH key (default location, no passphrase):
57535854```bash
5955ssh-keygen -t ed25519-sk -C jan.ehrhardt@cozybytes.tech
···8379paru -S \
8480 starship \
8581 zellij \
8686- eza \
8782 zoxide \
8883 atuin \
8984 mise
···111106```
112107113108This will automatically configure the system.
109109+110110+#### Ensure systemd units are enabled
111111+112112+By default CachyOS uses niri's auto-start feature for launching waybar and other tools. I prefer to let systemd do this by enabling them via:
113113+114114+```bash
115115+systemctl --user add-wants niri.service plasma-polkit-agent.service
116116+systemctl --user add-wants niri.service mako.service
117117+systemctl --user add-wants niri.service waybar.service
118118+systemctl --user add-wants niri.service swaybg.service
119119+systemctl --user add-wants niri.service swayidle.service
120120+```
114121115122#### Install development tools
116123···199206```bash
200207mise use --global node@lts
201208```
209209+210210+#### Install other apps
211211+212212+##### Brave
213213+214214+My preferred browser with build-in ad and tracking blockers:
215215+216216+```bash
217217+paru -S brave-bin
218218+```
219219+220220+##### Obsidian
221221+222222+My note taking app of choice:
223223+224224+```bash
225225+paru -S obsidian-bin
226226+```