hypr fix setup issues

This commit is contained in:
2026-09-25 14:26:30 +02:00
parent 8ec820976f
commit 77f70e318c
12 changed files with 258 additions and 45 deletions
+18 -4
View File
@@ -8,7 +8,7 @@ Personal configuration files for an Arch Linux workstation (Hyprland + Neovim +
|-----------|----------|
| `basic/` | Base system packages + the **central theme** (`basic/.config/themes` → `~/.config/themes`: Catppuccin Mocha palette, `current` symlink, `switch-theme.sh`/`sync-theme.sh`). All other packages reference it instead of copying colors. |
| `term/` | Fish + kitty + starship + nvim + tmux + yazi + fastfetch + opencode terminal environment |
| `hypr/` | Hyprland compositor config + Noctalia shell config (Catppuccin Mocha) |
| `hypr/` | Hyprland compositor config + selectable Noctalia/Caelestia shell configs |
| `kreation/`| VST plugin (`MT-PowerDrumKit.vst3`) |
| `local_ai/`| Local AI / MCP tooling config |
| `setup/` | Install/setup scripts + package lists (one subdir per target, shared helpers in `setup/lib/`; not stowed) |
@@ -31,7 +31,7 @@ cd ~/.dotfiles
# 2. Install a target and symlink its files
make term # terminal + fish + kitty + nvim
make hypr # Hyprland (also pulls in basic + term)
make hypr # Hyprland + selectable Noctalia/Caelestia shells
make kreation # VST plugin (also pulls in basic)
```
@@ -45,10 +45,24 @@ Run `make <target>` from the repository root. Each target first runs the relevan
|--------|--------------|
| `make term` | Runs `setup/term/setup.sh` (installs terminal packages, sets fish as default shell, clones tmuxifier), then `stow term`. Pulls in `basic`. |
| `make basic` | Runs `setup/basic/setup.sh`: enables multilib, updates the system, installs `yay` if missing, installs the `setup/basic/packages.txt` packages, and sets up Docker (enables/starts the service, adds your user to the `docker` group, verifies the service) |
| `make hypr` | `make basic`, installs Hyprland packages, stows `hypr`, runs the Hyprland setup scripts (`ensure-env.sh`, `portal-host-override.sh`, `fix_dolphin_file_associations.sh`) |
| `make hypr` | Runs `make basic`, installs Hyprland plus the Noctalia and Caelestia frontends, creates a local shell selection when needed, stows `hypr`, and runs the portal/file-association integration scripts |
| `make kreation` | `make basic`, installs VST runtime, stows `kreation` |
| `make buntes-monster` | Everything (`basic` + `hypr` + `kreation`), then wires up symlinks |
### Choosing between Noctalia and Caelestia
`make hypr` installs both desktop-shell frontends. Hyprland starts the one selected in `~/.config/hypr/env.lua`:
```lua
return {
shell = "noctalia", -- or "caelestia"
}
```
The local `env.lua` is created from `env.example.lua` on the first setup and is preserved on later runs. After changing the value, log out of and back into Hyprland; the running shell is not replaced live.
Caelestia requires the upstream AUR package `quickshell-git`; the release package `quickshell` must not be installed instead. Do not substitute CachyOS's `noctalia-qs`, even though it provides the virtual `quickshell-git` dependency: its Quickshell parser is not compatible with Caelestia. The package list uses the explicit `aur/quickshell-git` target because `yay --aur` alone may still select a repository provider. `make hypr` then replaces an existing `noctalia-qs` installation transactionally and verifies that `/usr/bin/qs` belongs to `quickshell-git`.
### Managing terminal packages
The terminal package list lives in a single editable file:
@@ -61,7 +75,7 @@ Add/remove packages on separate lines. Lines starting with `#` are ignored, and
```
@pacman # install via pacman (default)
@aur # install via yay (AUR)
@aur # use yay's AUR mode; use aur/<pkg> for an explicit source
@npm # install via npm -g
```