| 1 | <div align="center"> |
| 2 | <img src="assets/logo.svg" width="320" alt="aurora"> |
| 3 | <p>My Arch Linux + Hyprland desktop, in a Nothing OS style, themed live from the wallpaper.</p> |
| 4 | </div> |
| 5 | |
| 6 |  |
| 7 | |
| 8 | **Aurora** is my own desktop on **Arch Linux + Hyprland** (Lua config): a desktop shell written in Quickshell (bar, |
| 9 | control panel, notifications, OSD, dock, runner, settings, ...) plus the configs around it, themed live from the |
| 10 | wallpaper with **matugen** and deployed with **GNU stow**. |
| 11 | |
| 12 | ## The shell |
| 13 | One shell instead of waybar, dunst, wlogout, fuzzel and a pile of scripts, in a Nothing OS style (Doto dot-matrix type, |
| 14 | pills, LED dots) with Material You colours: everything below is themed from the current wallpaper, which aurora draws |
| 15 | itself as mono dots, colour dots or the plain photo. |
| 16 | |
| 17 | <table> |
| 18 | <tr> |
| 19 | <td width="50%"><img src="assets/aurora-panel.webp" alt="control panel"><br> |
| 20 | <sub><b>Control panel</b> · media, volume/mic/brightness, quick toggles, capture, session</sub></td> |
| 21 | <td width="50%"><img src="assets/aurora-panel-sys.webp" alt="system tab"><br> |
| 22 | <sub><b>System</b> · cpu, memory, disks, battery, power profile, GPU mode (envycontrol)</sub></td> |
| 23 | </tr> |
| 24 | <tr> |
| 25 | <td><img src="assets/aurora-runner.webp" alt="runner"><br> |
| 26 | <sub><b>Runner</b> (<kbd>Super</kbd>+<kbd>R</kbd>) · apps, scripts, calc, shell; also a dmenu for scripts</sub></td> |
| 27 | <td><img src="assets/aurora-wallpicker.webp" alt="wallpaper picker"><br> |
| 28 | <sub><b>Wallpaper picker</b> · live full-screen preview, folders, search, vim keys, three looks; re-themes everything through matugen</sub></td> |
| 29 | </tr> |
| 30 | <tr> |
| 31 | <td><img src="assets/aurora-chars.webp" alt="glyph picker"><br> |
| 32 | <sub><b>Glyph picker</b> (<kbd>Super</kbd>+<kbd>`</kbd>) · emoji, nerd icons, symbols, kaomoji, fancy text</sub></td> |
| 33 | <td><img src="assets/aurora-power.webp" alt="power menu"><br> |
| 34 | <sub><b>Power menu</b> (<kbd>Super</kbd>+<kbd>Esc</kbd>) · lock, logout, suspend, reboot, ...</sub></td> |
| 35 | </tr> |
| 36 | <tr> |
| 37 | <td><img src="assets/aurora-cal.webp" alt="calendar"><br> |
| 38 | <sub><b>Calendar</b> · from the clock in the bar</sub></td> |
| 39 | <td><img src="assets/aurora-settings.webp" alt="settings app"><br> |
| 40 | <sub><b>Settings</b> (<kbd>Super</kbd>+<kbd>I</kbd>) · searchable (<kbd>Ctrl</kbd>+<kbd>F</kbd>); network, sound, look, Hyprland, keybinds, display, power</sub></td> |
| 41 | </tr> |
| 42 | <tr> |
| 43 | <td colspan="2"><img src="assets/aurora-overview.webp" alt="overview"><br> |
| 44 | <sub><b>Overview</b> · live previews of every workspace and window, click to jump</sub></td> |
| 45 | </tr> |
| 46 | </table> |
| 47 | |
| 48 | > [!WARNING] |
| 49 | > **This is my personal setup, not a general purpose desktop or dotfiles framework.** |
| 50 | > |
| 51 | > It's built around my hardware (Lenovo Legion, Intel + NVIDIA hybrid graphics, `linux-zen`), my monitors, |
| 52 | > my keyboard and my habits. I'm not trying to make it work for everyone, and I won't be adding options |
| 53 | > or support for other setups. It's public as a **reference**, or for people who want **exactly the same |
| 54 | > setup** as me. |
| 55 | > |
| 56 | > **From the Arch ISO, `install.sh` erases the disk you pick.** On an installed system, only run it on a |
| 57 | > freshly installed, unconfigured Arch Linux: it installs a lot of packages (NVIDIA drivers included if you pick |
| 58 | > them), replaces your configs with symlinks, changes your login shell and can enable system services. |
| 59 | > Don't run it on a system you already use. |
| 60 | |
| 61 | ## Installing |
| 62 | ### From the Arch ISO (everything) |
| 63 | Boot the [Arch ISO](https://archlinux.org/download/) in UEFI mode, get online (`iwctl` for Wi-Fi), then: |
| 64 | ```bash |
| 65 | bash <(curl -fsSL https://git.krolyxon.com/aurora/raw/master/install.sh) |
| 66 | ``` |
| 67 | It asks everything first, shows a summary and only starts after you type the disk's name. Then it runs on its own: |
| 68 | - disk: **auto** erases a whole disk (1 GiB EFI at `/boot` + the rest), **manual** runs cfdisk and lets you pick |
| 69 | the partitions (an existing EFI partition is kept unformatted for dual boot) |
| 70 | - optional LUKS2 encryption, ext4, zram instead of a swap partition |
| 71 | - `packages/base.txt` + CPU microcode, `linux-zen` (default) and `linux` (fallback), GRUB |
| 72 | - your user with sudo, timezone/locale/keymap, NetworkManager (Wi-Fi joined with `iwctl` carries over) |
| 73 | - the desktop part below, inside the new system, so you reboot straight into Hyprland + aurora (log in on tty1) |
| 74 | |
| 75 | `./install.sh --base` does only the base system. The log ends up in `/var/log/aurora-install.log`. |
| 76 | |
| 77 | ### On an installed Arch (desktop only) |
| 78 | ```bash |
| 79 | git clone https://git.krolyxon.com/aurora ~/aurora |
| 80 | cd ~/aurora |
| 81 | ./install.sh # interactive: pick packages per group (same as --desktop) |
| 82 | ./install.sh --yes # pre-select the default packages, no questions |
| 83 | ./install.sh --check # only compare installed packages with the lists, changes nothing |
| 84 | ``` |
| 85 | Clone it anywhere (e.g. `~/dev/aurora`): the repo's `.stowrc` points stow at `$HOME`. Re-stow by hand with `stow .` |
| 86 | from the repo; to move an existing checkout, `stow -D .` first, move it, then `stow .` again. |
| 87 | |
| 88 | ## Packages |
| 89 | The lists live in `packages/*.txt`: one package per line, `#` for comments, and a trailing `!` means |
| 90 | "listed, but not pre-selected". |
| 91 | |
| 92 | | file | | |
| 93 | |---|---| |
| 94 | | `desktop.txt` | always installed: Hyprland, Quickshell, PipeWire, the tools the shell and keybinds call | |
| 95 | | `utils.txt` | CLI tools, fonts, media, small utilities | |
| 96 | | `dev.txt` | development tools | |
| 97 | | `gpu.txt` | Intel + NVIDIA (`nvidia-open-dkms`) drivers. Change this for your hardware | |
| 98 | | `optional.txt` | desktop apps | |
| 99 | | `aur.txt` | AUR packages (installed with paru) | |
| 100 | | `base.txt` | the base system: what the install from the ISO pacstraps | |
| 101 | |
| 102 | ## What's inside |
| 103 | | | | |
| 104 | |---|---| |
| 105 | | WM | Hyprland (Lua config), hypridle, hyprlock; aurora draws the wallpaper (mono dots, colour dots or photo) | |
| 106 | | Shell / bar | aurora (Quickshell) | |
| 107 | | Theming | matugen: picking a wallpaper in aurora (or `setwall`) re-themes everything (GTK via adw-gtk3, Qt via qt6ct); accent = the wallpaper's own colour, near-black surfaces. The terminal (foot) too, with ANSI colours tinted toward the wallpaper | |
| 108 | | Terminal / shell | foot, zsh | |
| 109 | | Editor | Neovim (LazyVim) | |
| 110 | | Launcher / menus | aurora's runner (`aurora-run`, also a dmenu replacement for scripts) | |
| 111 | | Files | lf, pcmanfm | |
| 112 | | Music / video | mpd + rmptui , mpv | |
| 113 | | Font / icons | Doto, Space Grotesk, Space Mono (shell UI, vendored in `.local/share/fonts/glyph`), JetBrainsMono Nerd Font, Papirus-Dark | |
| 114 | |
| 115 | ## Credits |
| 116 | - The dot-matrix shaders and some components started out as ports from |
| 117 | [glyph-rice](https://github.com/Nebelung-cloud/glyph-rice) (GPL-3.0); those files say so in their header. |
| 118 | - Nothing, Nothing OS and Glyph are trademarks of Nothing Technology Ltd; this is a fan project, not affiliated with Nothing. |
| 119 | - Fonts in `.local/share/fonts/glyph/`: [Doto](https://github.com/oliverlalan/Doto), |
| 120 | [Space Grotesk](https://github.com/floriankarsten/space-grotesk) and [Space Mono](https://github.com/googlefonts/spacemono), |
| 121 | under the SIL Open Font License (`OFL.txt` next to them). |