Skip to content

About

CachyOS + Niri pixel street-art rice (dotfiles + install.sh)

Resources

Stars

216 stars

Watchers

12 watching

Forks

Repository files navigation

A VHS playback screen: PLAY, a blinking REC dot, the date 31.12.2002 and a running timecode; the word angelOS jumps in a red and blue glitch; RECOVERED MEDIA · 12 TAPES · CASE #0031-12

English · Русский

tape niri quickshell cachyos license signal

CASE ............. #0031-12
ADDRESS .......... flat 14, fourth floor
CALL ............. 01.01.2003, 00:14. neighbours: smell of burning
OCCUPANT ......... aged 22. lived alone. expelled from university
SEIZED ........... desktop tower: case melted, drive intact
                   disc "SAVE YOURSELF", logo: a wheel with eyes
                   glasses, wired, cheap
                   ashtray
                   VHS-C tapes, 12 pcs., labelled by hand
CONDITION ........ drive reads. last save: 31.12.2002 23:59:59

A red rubber stamp: EVIDENCE · DO NOT ERASE

DETECTIVE. The tapes were under the desk in a tin biscuit box. The labels are about the drive; the footage is about her. On the drive is a desktop for CachyOS / Arch on niri with a shell on Quickshell. Build date: 2026. This is impossible. We have put all of it here. Someone is sitting in the corner of the panel. Identity not established.

Still from the drive, at night: the Win98-style taskbar with pixel hearts, the clock, system monitor and music widgets, a terminal with fastfetch, the wallpaper with a ring in the sky over the water

▶ STILL 00 · the drive, first power-on after seizure · nobody had touched the settings

Note

Every still and clip on this page was re-shot by us on a clean install, in a nested niri session with an empty home: user angel, nobody's notifications, nobody's chats. In a nested session niri uses Alt as Mod; on real hardware Mod is Super / Windows (⌘ in the macOS look), and that is what the key tables say.

INVENTORY

01 the note · install 07 goldengate.app · the macOS look
02 two faces · Pixel or macOS 08 someone in the corner · the game
03 the wallpaper breathes 09 other people's things · plugins
04 i right-clicked · menus, widgets 10 it looks after itself · updates
05 everything can be changed · settings 11 what it runs on · hardware
06 windows on a strip · niri, terminal 12 save yourself · the repository
▤ taped under the keyboard · keys

TAPE 01 of 12. Label: the note. 20.12.2002, 23:41

▶ RECORDING · 20.12.2002 23:41
it's his camera, he forgot it. let it record, since its owner's gone.
got dumped. by text. in translit, so it'd fit in one. thrifty.
holds a scrap of paper up to the lens ten-day plan, three lines: don't call. don't call. buy cigarettes.
already failed the first two.

◉ NOW
oh, a new one. hi. i'm the tour guide here. make up a name for me yourself, don't ask about the old one.
here's the scrap of paper, three lines, type them into the terminal. then it asks the rest by itself: dark or light, which wallpaper, where you're coming from. answer honestly, it won't rush you.
then there'll be a minute you won't remember. i've got one like that too. then the wizard and the tips.
don't listen to the recording up there. it's not mine. well, it is. let's skip it.

EVIDENCE: a torn scrap of lined paper: git clone the repository, cd into it, run install.sh. One command, it asks the rest.

▶ EVIDENCE 01-A · the scrap of paper, as it lay under the keyboard

git clone https://github.com/MixaDoDs/AngelOS-Dotfiles.git
cd AngelOS-Dotfiles
./install.sh

The installer: profile, look, apps, layouts and the hearts progress bar

The interface tips circling the start button, the workspaces and the clock

✉ inventory, tape 1 · install

Before: Arch Linux or CachyOS, the internet, your own user (not root) with sudo (sudo pacman -S --needed git first on a bare Arch). About 10–30 minutes, mostly downloads.

The installer is a small show right in the terminal: a hard disk spins up, the angel flaps its wings (chafa draws real pictures in kitty, foot, Konsole, WezTerm; coloured blocks in any other terminal and in the bare Linux console), menus by gum, a progress bar of hearts, a chat commenting on it, quiet music while it works (NO_MUSIC=1 mutes it, NO_ANIM=1 stills it). It works the same from a console after a fresh install (Ctrl+Alt+F2), over ssh -t, or in a terminal inside KDE or GNOME.

It asks only what the system needs; the look, the game, the apps, the keyboard and voice input come with the setup wizard on the first login:

Question Options
Wallpapers packs from PixelStreetArt_Wallpapers, only the ticked folders
Terminal fish with its look as the login shell (FISH_DEFAULT=0 keeps yours)
Login screen the angelOS SDDM theme (with GDM or Plasma's own, keeping it is the default)
Main screen with two screens or more, inside a running niri
Programs a system monitor, an archiver, file compare and small console tools

Then one screen says everything that will happen — packages and their size, the login screen, the shell, groups — with Start, Change the answers or Quit. Nothing is touched before it, and the admin password is asked once. Everything it replaces is backed up first (name.bak.YYYYMMDD-HHMMSS), then niri validate runs; the log is in ~/.local/state/angelos/. Safe to run again. Without questions: INTERACTIVE=0 with the answers as environment variables (DOTFILES_MODE, ANGELOS_THEME, MAC_KEYS, KB_LAYOUTS, INSTALL_APPS and the rest: ./install.sh --help). How it is built: installer/README.md.

After the first login, a setup wizard: language, where you are coming from (Windows, a Mac, another Linux, nothing), the game or just a desktop, the main screen, layouts, mouse, light or dark, a wallpaper, how much should move; then the tips. Settings → Account replays both. If the wizard hangs: angelos setup skip from a text console.

TAPE 02 of 12. Label: two faces. 21.12.2002, 14:05

▶ RECORDING · 21.12.2002 14:05
woke up in my jeans. on ICQ he's "away". from me, apparently.
to mum i'm "studying", on the forum i'm witty, with him i was… waves a hand anyway, the switch sticks.
Zemfira on repeat. "Iskala", twentieth time or so.

◉ NOW
the desktop has two faces: Pixel and macOS. one click in the settings and everything's different: windows, sounds, cursor, keys. switch back and it's like nothing happened.
in the pixel one the words of whatever's playing run along the panel. put something on.
just not Zemfira. why? because.

Still: the Pixel look by day, bubblegum palette, the Start menu open, the ophanim wallpaper from the first release Still: the macOS look by day, the menu bar, the Dock, the Lake wallpaper

The Pixel desktop: workspaces, windows, light and dark, the palettes

✉ inventory, tape 2 · two looks

Settings → Appearance switches the look at any time; everything the look changed outside the shell (GTK, Qt, the cursor, niri's keys) comes back when you leave it.

Pixel (angelOS) macOS (Golden Gate)
Panel a Win98 taskbar: pixel-heart workspaces, window buttons, the current lyric line in the middle a menu bar: the app's own menus, Control Center, Spotlight, the date
Apps Start menu + launcher a Dock with magnification, minimized windows, Downloads and Trash
Windows pixel frames, 4 px corners, a thin accent outline 16 px corners, shadows, traffic lights, minimize to the Dock
Glass — Liquid Glass: niri's blur under the shell, a lens edge drawn by a shader
Sounds the Y2K pack Mac-like system sounds (its own, CC0)
Keys angelOS's (Mod+Space, Mod+Q…) optional ⌘ keys: ⌘Q ⌘W ⌘M ⌘Space ⌘Tab, tiling on Super+Alt
Font, cursor pixel fonts, pixel cursors Inter, the macOS cursor

Lyrics are synced, from lrclib.net over MPRIS. Palettes: bubblegum, overdose, cyber angel, Gruvbox, Rosé Pine, Catppuccin, or colours pulled out of the wallpaper.

TAPE 03 of 12. Label: the wallpaper breathes. 22.12.2002, 02:17

▶ RECORDING · 22.12.2002 02:17
two a.m. the internet's cheaper at night. the modem's screaming like it's being murdered.
someone in the yard is trying out firecrackers. too early, idiots, ten more days.
turned the light off. at least something's moving on the screen.

◉ NOW
the wallpaper here is alive. stars blink, the water ripples, light runs round the ring in the sky. maximise a window and it all freezes. only breathes when someone's looking. sounds familiar.
every release has its own wallpapers, one set for day, another for night. the night ones are better, the stars fa…
a bang outside
has it started?
…right. releases. there are three. scroll.

The wallpaper at night: stars, ripples on the water, a glint running over the ring, rings on the water

Release 01 Angel: Feathers, Lake, Ophanim, Wires; day over night Release 02 Archangel: Dead, Life, Numb; day over night Release 03 Uriel (Beta): the edge of the world, in 16:9, 9:16 and 21:9; day over night

▶ EVIDENCE 03-A · contents of ~/Pictures/AngelOS/: 01 Angel · 02 Archangel · 03 Uriel (Beta), day over night

The pixel mosaic transition between the wallpapers of the three releases

DETECTIVE. There is an ashtray in shot on tape 03. The butts are stubbed out down to the filter, every one. Tidy.

✉ inventory, tape 3 · live wallpaper

The shell looks at the picture and finds the sky, the water, the clouds, the thing in the sky, and moves only those; under a full-screen window it goes still and costs almost nothing. Settings → Wallpaper → Alive switches the layers one by one. A picture can carry a hint next to it (picture.scene.json: which part is sky, which is water, where the ring is); without one it gets the automatic look.

Every release comes with its own wallpapers, drawn for it, in a day and a night version. The shell picks day or night by the theme and the shape by the monitor: 16:9, 21:9, or 9:16 when the screen is turned on its side. The installer puts them in ~/Pictures/AngelOS/. Mod+Shift+Return opens the picker: one picture for every screen, one per monitor or one per workspace. Changing it plays a pixel mosaic with a dither, only when the picture changes.

TAPE 04 of 12. Label: i right-clicked. 22.12.2002, 19:30

▶ RECORDING · 22.12.2002 19:30
the forum lot want me at a meetup, they're giving away some disc. not going.
right-clicked his photo. "delete". are you sure you want to… no, fuck, i'm not sure. clicks "yes"
opened the recycle bin. pause restored it. idiot. pulls on a boot

◉ NOW
right-click the desktop. the menu comes in six kinds, pick any. there's a sev̷enth in the files. it's mine, don't touch it yet.
you can throw widgets on the desktop: a clock, a player, a system monitor.
just don't hang photos. quickly just a tip.

The right-click menu in its six looks: list, radial, Y2K bubble, tiles, wings, harp

The Windows 11-style menu adding a widget to the desktop

DETECTIVE. The seventh menu exists. We are not printing it.

✉ inventory, tape 4 · menus and widgets

Whatever the menu looks like, it holds the same things: quick actions on top, View ▸ (widgets, edit mode, snap to grid), New ▸ (note, screenshot, recording), Open ▸ (folders), display settings, personalisation, Open in Terminal, and Show more options ▸ for what the plugins add. What is in it, in what order, your own items: Settings → Right-click menu.

Widgets (clock.exe, sysmon.exe with CPU/GPU/RAM/VRAM/net, cava.exe, music.exe and the plugins' own) live on the wallpaper and are dragged by the title bar; double-click the title for edit mode. Around each one: a pixel window, a plate, or nothing.

TAPE 05 of 12. Label: everything can be changed. 23.12.2002, 11:52

▶ RECORDING · 23.12.2002 11:52
head like a bucket. brought back from the meetup: a disc, glasses on a wire and somebody else's lighter.
the cover says "save yourself", the disc has a wheel with eyes. spins the disc an ad for a cult.
i'll install it later. mineral water first.

◉ NOW
settings. everything changes: the panel, fonts, sounds, the login and lock screens, thirteen animations for switching workspaces. i went through all thirteen. the whole fucking evening, gone.
if you don't touch a window for a long time, a cobweb grows on it. i've got one hanging since two thousand and tw… since the day before yesterday. doesn't matter.

Settings: appearance, the bar layout, widgets, window widths, default apps

✉ inventory, tape 5 · what can be changed
  • The bar: six shapes (a taskbar, a top bar, an island, a dock, capsules, windose), any edge of the screen, the layout by dragging.
  • Settings itself: four faces (Windows 11, a macOS sidebar, a Win98 Control Panel, Properties tabs; angelos settingsView …), search with synonyms and history.
  • Alt+Tab: three styles (angelOS, NGO, Y2K) or niri's own with live previews.
  • Switching workspaces: thirteen animations — soft, dash, spring, snap, zoom, card, wipe, fade, dissolve, glitch, CRT, realm, instant; a workspace_N.exe popup and a row of hearts.
  • The login screen (SDDM): five looks, a live preview, the same wallpaper as the desktop. The lock screen: two — a stream with a chat, or a gate in the sky.
  • fastfetch: seven styles (compact, angel, helper, receipt, stream, window, mini), each with its own sigil.
  • Fonts by preset, pixel or not. Cursors pixel or macOS. Sounds in packs (Y2K, Overdose, macOS), on every event or never, quieter under music.
  • Windows: width presets, a width per app, where new ones open; a cobweb on a window nobody has touched for hours.
  • Display: drag the screens around; the exact refresh rates niri lists, rotation, scale — they survive a reboot.
  • Every change to niri's config is backed up, checked with niri validate and put back if niri says no. The browsers follow the theme (Helium and Chromium through GTK, Firefox through userChrome.css).

Still: the login screen in the pixel look, with the desktop's wallpaper

▶ STILL 05-A · the login screen, as she left it

TAPE 06 of 12. Label: windows on a strip. 24.12.2002, 21:08

▶ RECORDING · 24.12.2002 21:08
the catholics have christmas eve, i have instant noodles.
three monitors, all fat, all humming. ICQ on one, the forum on the second, his photo on the third.
didn't open it. didn't open it, i said.

◉ NOW
this is niri. windows don't climb on top of each other, they line up on an endless strip and you scroll it sideways. lost? Mod+Tab, the overview, everything from above. Mod+Space opens the launcher, it remembers what you run. there's a terminal too, don't piss yourself.
you've got one monitor? that's fucked. i had three. fat ones.

Scrollable tiling

The overview of every workspace

The launcher: apps, a web search, a shell command

✉ inventory, tape 6 · niri, launcher, terminal, tools

niri: windows are columns on an endless horizontal strip; new ones open to the right, the view follows the focus; columns change width, centre, stack, turn into tabs or floating windows. Mod+Tab is the overview of every workspace.

Mod+Space is the launcher: fuzzy search that learns what you open; web … for the web and your own sites, plugins … for the catalog, claude … for Claude Code, > command for anything in sh. Forgot a key: Mod+Shift+Esc shows niri's overlay, every bind with a readable name.

The hotkey overlay

fish with the pure prompt, fastfetch with the angelOS logo as the greeting, eza, fzf, done, autopair (on CachyOS this is cachyos-fish-config; on Arch the same comes from packages/fish.txt and fisher). kitty, foot and Alacritty wear the palette, so do btop and fastfetch. Neovim with LazyVim goes in only where ~/.config/nvim is empty; an existing config is never touched. n opens it; angelos … is on the PATH.

tool in ~/.local/bin what it does
niri-screenshot-region a region, with pixel "gravity ropes"
niri-record-region toggle a recording to ~/Videos
niri-ocr a region's text to the clipboard, every installed Tesseract language
niri-cast-privacy chats and password managers go black on a stream
niri-game-mode no animations, blur or glass while a game covers a screen
polkit-agent-guard a password dialog always comes
voxtype-indicator dictation

TAPE 07 of 12. Label: goldengate.app. 25.12.2002, 16:44

▶ RECORDING · 25.12.2002 16:44
new mac in the magazine. buttons like boiled sweets, windows drain down like into a funnel. costs three of my computers and a kidney.
cut it out, stuck it on the monitor. what have i come to.

◉ NOW
the macOS look. the dock's at the bottom, icons swell under the mouse. minimise a window and it rides into the dock as a little picture. the glass on the panels is real. well, a shader, but pretty.
sniffs you don't have anything… no? okay. never mind. the dock, i was saying.

Still: the macOS look at night, the menu bar, Control Center open, the Dock, the Numb wallpaper with an eclipse

The menu bar: an app's menus, Control Center, the Notification Center

DETECTIVE. "goldengate.app" is written on the tape in her handwriting. No program by that name existed in 2002. We checked twice.

✉ inventory, tape 7 · the macOS look (Golden Gate)

The whole desktop as macOS 27 Golden Gate, drawn from screenshots and Apple's guidelines, not from memory, and without a single file of Apple's. Pick it in the installer, in the wizard ("Coming from a Mac?"), in Settings → Appearance, or with angelos settingsSkin goldengate.

  • The menu bar. 24 pt on top of every screen. On the left the angelOS emblem (About, Settings, Force Quit, Sleep, Restart, Shut Down, Lock, Log Out), the app's name in bold and its own menus: Qt over dbusmenu, GTK 3 through appmenu-gtk-module, GtkApplication actions, and for the rest a standard set built from the app's own shortcuts. Nothing in the menus is dead. On the right: sound, layout, Wi-Fi and Bluetooth, the tray, Spotlight, Control Center, the date. Ctrl+F2 walks the menus.
  • The Dock. A Liquid Glass slab: pinned apps, Applications, recent ones, minimized windows, Downloads, Trash. A dot under running apps, a right-click menu with windows and .desktop actions, magnification like on a Mac, auto-hide. Icons from MacTahoe (GPL-3.0, pinned release, sha256-checked).
  • Minimize. niri can't minimize; angelOS can: the window goes to a hidden workspace and its snapshot lands on the right of the Dock. The yellow light, Window → Minimize, ⌘M, or angelos macMinimize; back with a click on the snapshot, the icon, Alt+Tab or the overview.
  • Spotlight (⌘Space): apps, files, actions, the clipboard. Control Center in the macOS layout. The date opens the Notification Center.
  • Liquid Glass: niri 26.04's blur and saturation under the glass, a tint from clear to tinted, and a lens edge drawn by shaders/liquid_glass.frag. Reduce transparency makes it solid.
  • Sounds synthesised by scripts/mac-sounds.py, CC0; files with the same names in ~/.local/share/angelos/sounds/macos/ replace them.

The Dock: a right-click menu, minimizing a window and bringing it back

Spotlight and Control Center

Not Apple's: an angelOS emblem instead of the apple, Inter (SIL OFL) instead of SF Pro, Lucide icons, MacTahoe (GPL-3.0), the macOS cursor from ful1e5/apple_cursor (GPL-3.0), synthesised sounds, drawn wallpapers. MacTahoe, Inter and the cursor are downloaded the first time the look is turned on, under their own licenses.

TAPE 08 of 12. Label: someone in the corner. 26.12.2002, 03:33

▶ RECORDING · 26.12.2002 03:33
can't sleep. someone's sitting in the corner of the room. turned the light on: a jacket on a chair. turned it off: sitting there again.
cackles look at the state of me. on ICQ all the flowers are red.

◉ NOW
and that's me. there, in the corner of the panel, legs dangling. i talk rarely and to the point: six windows in a row, four hours without getting up — i'll notice. a game, sure. chests, achievements and my diary, you'll earn the key.
what's under this floor? there's someone down there. pause can we just forget it for today?
listen. how do you see me? fine, tell me later.

Still from the minute you won't remember: the screen split red and blue at the edges, something rising from below

▶ STILL 01-X · that minute you won't remember. taken off the drive

Important

DETECTIVE. Before we let anyone run the drive, we read the code. This is what we can say for sure: it may scare you, but it never harms. It does not touch your files, sends nothing anywhere, and never reads your windows, browser or chats. The lock screen, the power menu, volume, notifications and polkit always work, whatever is going on. Everything that flashes, shakes or gets loud has a calm switch.

  • Out at once, any time: angelos game off, or Mod+Ctrl+Shift+Esc. What stays is plain dotfiles: she is gone, and the right-click menu loses its seventh look. angelos game on brings it back. The installer and the wizard ask first.
  • Motion: angelos motion full|calm|off. Calm: no flashes, no shaking, no sudden loud sounds. Off: no animations at all.
  • Progress lives in ~/.config/angelos/save.json. Updates never touch it.
✉ inventory, tape 8 · the game

The angel on the bar talks rarely and to the point; there are achievements, chests, and her diary with a key you have to earn. Y2K sounds: a disc spins up at boot, a chime, her lines in an Undertale-style voice. The lock screen can be an NGO stream with a chat that answers. In stream mode she sits in the frame and reads the chat. About the lower floor we will only say that the Dock and the menu bar know about it too.

TAPE 09 of 12. Label: other people's things. 27.12.2002, 20:20

▶ RECORDING · 27.12.2002 20:20
three people wrote today. mum: "how's uni". a guy from the forum sent a sheep that walks around on the windows. him: nothing.
the sheep's walking. at least someone's got a job.

◉ NOW
plugins. other people write them, you install them from the catalog. the cat on the panel sleeps when the computer's chilled and tears around when it's struggling. mini-osu to music. a night light so your eyes don't melt.
get the cat. it's funny and doesn't ask shit about uni.

Community Plugins: the catalog, installing a plugin, its widget on the desktop

✉ inventory, tape 9 · plugins

A plugin is a folder with a manifest.json: right-click items, bar and desktop widgets, launcher providers, a settings page, a background service. The guide is docs/PLUGINS.md.

Community Plugins: a catalog in Settings → Plugins (and plugins … in the launcher): the approved entries of the angelOS community registry next to what is installed: install, update, roll back. Updates are checked once a day; before each one the installed copy becomes a snapshot, and a plugin that does not load goes back to it by itself. With Developer mode on, Plugin Studio asks what the plugin should do, writes themed QML with your own OpenAI or Anthropic key, shows the files and checks them before you install (guide).

Built in What it does
cat a pixel cat on the bar: asleep, walking or running with the CPU load
speedtest an internet speed test with a pixel speedometer and a history
web-search web … in the launcher: search engines and favourite sites
claude-companion what is left of your Claude plan, live Claude Code sessions, claude … in the launcher
codex-companion the same for OpenAI Codex: 5-hour and weekly windows, today's tokens, live sessions
osu-mini a mini osu to the beat: pixel hearts, combos, ranks (osu in the launcher)
nightlight a warm screen in the evening through wlsunset
stream-stats stats.exe: stress = CPU, darkness = RAM, love = uptime
quick-actions extra right-click items

TAPE 10 of 12. Label: it looks after itself. 28.12.2002, 09:15

▶ RECORDING · 28.12.2002 09:15
morning. shows a strand of hair the box said "ripe cherry". came out boiled beetroot.
looking after myself. what the hell difference does it make.

◉ NOW
updates. settings check by themselves whether there's something new and pull it in on a click. before that they copy everything, so there's a button at the bottom: "restore the state before the update". restore. press it, and it's how it was.
something broke — "report a problem" packs an archive with nothing personal in it and sends it nowhere by itself.
listen, what year is it now? looks at the clock on the panel yes, i can see it. i was just asking.

Still: Settings → Updates, what is new, the last run, the restore button

✉ inventory, tape 10 · updates and reports

Settings → Updates checks the repository everything was installed from and, on a click, runs git pull and the installer without packages. Before that, every file the installer may write is copied to ~/.local/state/angelos/backups/<date>-update/. An update counts only when the installer, the niri wiring and niri validate all pass; otherwise the page offers the restore. A running angelOS asks whether to restart now or later; windows stay open. From a terminal: git pull && ./install.sh.

A config you never changed follows the author; one you changed gets the author's changes merged in, and where both changed the same lines, yours stay (the old file next to it as *.bak.<date>); shortcuts merge key by key. Files angelOS generates stay yours, the new versions parked in ~/.local/state/angelos/kept-updates/. Your own lines go in ~/.config/fish/user.fish and ~/.config/niri/cfg/user.kdl, read last, never touched. Apps the author added to your groups are only offered; it never installs or removes anything by itself.

Still: Settings → About, this computer, the angelOS version, report a problem

Settings → About → Report a problem (or angelos report) packs one archive: versions (angelOS, Quickshell, Qt, niri, kernel, GPU), the service state and restarts, the log, the last crash reports, the niri config check, plugins and settings, with the personal bits taken out (the home path and user name become ~ and <user>; launcher history, workspace names and free texts are left out). Nothing is sent anywhere. A watchdog restarts the shell if it stops answering for fifteen seconds. The login screen keeps a backup of the previous theme. The installer never overwrites monitor.kdl.

TAPE 11 of 12. Label: what it runs on. 30.12.2002, 22:47

▶ RECORDING · 30.12.2002 22:47
bought champagne and tangerines. for one, yes. the disc's for tomorrow.
the monitors heat the room better than the radiator. there's a mountain in the ashtray. i'll empty it next year. laughs

◉ NOW
hardware. i live on laptops and desktops, as many monitors as you like, each set up its own way. russian and english, layouts, a big interface, a magnifier, voice dictation.
and i remind you about water. sternly when did you last drink something? go pour some. i'll wait, i'm not going any… go, i said, for fuck's sake.

DETECTIVE. We tested the glasses. The sound in them is loud; you cannot hear the room. There is a microphone.

✉ inventory, tape 11 · what it runs on
System CachyOS or Arch Linux. The installer appends only the [cachyos] repository where it is missing; Arch's own packages win.
GPU NVIDIA and AMD. The system monitor reads both; the Qt fixes for NVIDIA are in.
Laptop battery and charge limit, eco mode, brightness and keyboard-light keys, touchpad direction and acceleration; in the wizard and in Settings, and only on a laptop.
Monitors any number, any refresh rate (the exact one niri lists, so 144 Hz stays 144 Hz after a reboot), scale, rotation, portrait screens with 9:16 wallpapers, ultrawides with 21:9. Named by Make Model Serial, so a renamed connector still matches.
Keyboards any layouts and the switch shortcut you choose; they also pick the dictation language and the OCR packs. ⌘ keys for people from a Mac, GTK window buttons for people from Windows.
Languages Russian and English: the installer, the wizard, the shell, and her.
Browsers Helium, Firefox, Chromium, Brave, Zen, LibreWolf, Vivaldi or Chrome; the wizard asks, Mod+B opens the default.
Access UI size, motion, contrast, a lens (Mod+Alt+=), voice dictation, shake-to-find-the-cursor. Screen time, breaks, water: she does the reminding.
Gamepads the shell knows your controller, its buttons and axes.
Streaming an OBS-aware stream mode, niri-cast-privacy for chats and password managers, a game mode with no effects while a game covers the screen.

TAPE 12 of 12, damaged. Label: save yourself. 31.12.2002, 23:58. The counter reaches 23:59:59 and the picture cuts to NO SIGNAL

▶ RECORDING · 31.12.2002 23:58
in the glasses, washing a pill down with champagne happy almost new year, camera. can't see a thing, can see everything. fun, damn. turned the mobile face down, let him text himself.
behind her, in the ashtray, a cigarette is smouldering
something smells. the computer's heating up, poor thing, i've been running it for three hours. crackling oh, it's burning in the game too. pretty.
hang on, i'll just save and…
[recording cuts off]

23:59:59 ░░░░░░░░░░░░░░░░ NO SIGNAL

◉ NOW
that's it. this is the whole house, and it's open: take it, copy it. MIT, no passwords, no one else's secrets. just mine. well, what's left.
don't play the last tape. i haven't seen it either.
a bang outside
says nothing
let me tell you about the keys instead.

.config/quickshell/angelos/  angelOS: the shell, both looks, plugins, templates, docs
.config/niri/                niri: config, key profiles (common / pixel / macos), rules, animations
.config/                     fish, kitty, foot, Alacritty, GTK, btop, fastfetch, Neovim, Voxtype
.local/bin/                  helper tools
.local/share/                the pixora icon theme and pixel fonts
Pictures/AngelOS/            every release's wallpapers, with their scene hints
packages/                    pacman.txt, angelos.txt, sddm.txt, tools.txt, fish.txt, nvim.txt (the apps: data/apps-catalog.json)
installer/tui.sh             the installer's face: gum menus, pixel frames, hearts, the stream chat
install.sh                   the installer: asks everything, backs up, Arch Linux / CachyOS only
scripts/check.sh             the repository check, with end-to-end installer tests
scripts/demo/                the stand the stills and clips on this page were shot in
docs/                        the stills and clips of this page

DETECTIVE. One butt in the ashtray, not stubbed out. Case closed. There is no one to return the drive to. We set the system clock to 2003. It keeps going back.

✉ inventory, tape 12 · license, checks

MIT, all of it: the dotfiles, the shell, the wallpapers. See LICENSE, © 2026 MixaDoDs. Parts made by others keep their own licenses, listed in THIRD-PARTY.md, and so does how release 5 «2002»'s wallpapers were made: with an image model, from the author's prompts, cleaned up by hand. The repository holds no credentials, API keys, tokens, browser profiles, cookies, history, caches, keyrings or app state, and scripts/check.sh fails if one ever gets in. Your angelOS settings (~/.config/angelos) stay yours.

scripts/check.sh runs the whole check locally (the same one GitHub runs, in an archlinux container through scripts/ci-local.sh). Issues and pull requests are welcome; angelos report is a good first attachment.

APPENDIX. Label: taped under the keyboard

DETECTIVE. Taped to the underside of the keyboard; the paper did not burn. I have quit smoking. Not because of this case.

Each look has its own profile: keybinds.kdl only picks one, keybinds-common.kdl (both looks) plus keybinds-pixel.kdl or keybinds-macos.kdl. Settings → Keyboard edits the one in front.

▤ NOTE 1 · both looks
Keys Action
Mod+T Terminal (kitty)
Mod+B Default browser
Mod+E Files (Nautilus)
Mod+V Clipboard history (Enter pastes into the window you were in, Shift+Enter only copies)
Mod+S / Mod+Alt+S Settings
Mod+Shift+Return Wallpaper picker
Mod+Shift+Q Power menu
Mod+Alt+T / Mod+Alt+Y Light ⇄ dark / lyrics on-off
Mod+Shift+S Screenshot a region ("gravity ropes")
Mod+Shift+R Record a region (toggle)
Mod+Shift+V Voice dictation (toggle)
Mod+Shift+X Screencast privacy: chats and password managers go black on the stream
Ctrl+Shift+2 / 3 Screenshot the screen / the window
Mod+Shift+←→↑↓ Focus another monitor (+Ctrl: move the column there)
Mod+Shift+P Monitors off
Alt+Tab angelOS's window switcher
Mod+Alt+= / - / 0 Lens: zoom in / out / close
Mod+Esc Release a fullscreen app's keyboard grab
Mod+Ctrl+Shift+Esc Out of the game at once
Ctrl+Alt+Delete Quit niri

Media and volume keys go to angelos … (a small OSD shows the level) and keep working on the lock screen.

▤ NOTE 2 · Pixel
Keys Action
Mod+Space Launcher
Mod+Q Close window
Mod+Alt+L Lock screen
Mod+H / Mod+L (or arrows) Focus column left / right (+Ctrl: move it)
Mod+J / Mod+K Focus window down / up
Mod+1…9 / Mod+Ctrl+1…9 Go to workspace / move the column there
Mod+O Previous workspace
Mod+Tab Overview
Mod+R / Mod+Alt+R Next / previous column width
Mod+C Centre column
Mod+[ / Mod+] Pull a window into the neighbouring column, or push it out
Mod+W Tabbed column
Mod+Shift+Space Floating ⇄ tiled
Mod+F / Mod+Shift+F / Mod+M Fullscreen / maximise column / maximise to the edges
Mod+- / Mod+= Column narrower / wider
Mod+Shift+T OCR a region to the clipboard
▤ NOTE 3 · macOS (⌘ = Super)

The ⌘ keys are optional: the installer asks (MAC_KEYS=1|0), and Settings → Appearance → Golden Gate turns them on or off. Without them the macOS look keeps the pixel keys.

Keys Action
⌘Space Spotlight
⌘Q Quit the app in front (its own Quit, else all its windows)
⌘W Close window
⌘M Minimize to the Dock
⌘H Hide the app
⌘Tab / ⌘⇧Tab Switch apps
⌘` Next window of the same app
⌘, System Settings
⌘⇧3 / 4 / 5 Screenshot: screen / area / the screenshot menu
⌃⌘F Fullscreen
⌃⌘Q Lock screen
⌥⌘Esc Force Quit
⌃← / ⌃→ Workspace left / right
⌃↑, F3 Mission Control (overview)
⌃F2 The menu bar from the keyboard
⌘⌥Space angelOS's launcher
⌘⌥ + H J K L / arrows, 1…9, R, C, F, W Tiling: the pixel keys, one Alt further

Inside apps, their own shortcuts stay theirs (Ctrl+C, Ctrl+V), and the menus label them that way.

▤ NOTE 4 · the login screen (SDDM), when it misbehaves
Symptom Fix
Boots to a text console sudo systemctl enable --force sddm && sudo systemctl set-default graphical.target
display-manager.service already exists disable the other one (gdm, lightdm, ly@tty2, greetd), then enable SDDM
Plain SDDM instead of the angelOS theme grep -r Current= /etc/sddm.conf /etc/sddm.conf.d/; install qt6-declarative
Missing wallpaper set a wallpaper in angelOS and check /usr/share/sddm/themes/angelos/walls/

Preview the theme without logging out: sddm-greeter-qt6 --test-mode --theme /usr/share/sddm/themes/angelos.

A blue VHS NO SIGNAL screen; for a moment it flickers back to a frame with the words: she says hi. Then: STOP · END OF TAPE

♡ thank you for watching the stream ♡

About

CachyOS + Niri pixel street-art rice (dotfiles + install.sh)

Resources

Stars

216 stars

Watchers

12 watching

Forks

Releases

Packages

Contributors

Languages