Noctalia is a Linux desktop shell for Wayland compositors, providing a fully integrated user environment including a bar, dock, notification center, lock screen, wallpaper management, launcher/dmenu, control center, on-screen displays, and a plugin system based on Luau scripting. The application is written in modern C++ (C++20/23) with its own retained-mode scene graph UI rendered via OpenGL ES, and communicates with the system through Wayland protocols, D-Bus, PipeWire, and Unix sockets. It supports multiple Wayland compositors (Hyprland, Sway, Niri, Mango, Labwc, dwl, KDE, Umbriel) via compositor-specific backends, and features a sophisticated theme engine with Material 3 palette generation, template application to third-party tools, and a CLI/IPC interface for runtime control. The codebase exhibits strong engineering practices: clean abstractions (poll sources, scene nodes, config schema engine), extensive test coverage, and a well-organized modular structure despite its monolithic architecture.
Omarchy is a comprehensive, opinionated Linux desktop distribution built on Arch Linux with Hyprland as the tiling window manager and a custom Quickshell-based (Qt QML) desktop shell. It provides a polished, keyboard-driven user experience with extensive theming, a plugin system for shell widgets/panels/services, system management CLI tools (updates, migrations, hardware detection, package management), AI agent integration, clipboard manager, notifications, OSD, and more. The architecture is monolithic around a long-lived QML process, with shell scripts handling system-level operations. The repo includes a full installer, migration scripts, default configurations, and a manual. It is actively maintained with a large test suite and demonstrates strong engineering practices in its QML component library, IPC patterns, and guard evaluation system. While not a research project, it contains utility scripts for audio tuning and disk/network speed tests.
This repository is a personal Nix configuration (dotfiles) for managing a heterogeneous fleet of machines: NixOS desktops and servers, macOS laptops (via nix-darwin), and Kubernetes clusters (k3s, KubeVirt). It is structured as a Nix flake with modular components for system configuration, home-manager profiles, package overlays, secrets management (agenix), and infrastructure monitoring (Grafana, Prometheus, VictoriaMetrics, Loki). The codebase demonstrates advanced Nix patterns: parameterized module generators for K3s and KubeVirt, automatic file scanning for module imports, declarative disk partitioning (disko), ephemeral root filesystems with persistent state (preservation), and sandboxed GUI applications (nixpak, bwrap). It also includes a custom desktop shell (noctalia) and extensive input method customization (Rime/Fcitx5). While highly personalized and not intended for direct reuse, the architectural patterns and modular design serve as a reference for building complex Nix-based infrastructure. The repository is actively maintained with eval tests and CI, but lacks integration tests for runtime services.
HyprMon is a TUI (Terminal User Interface) tool for configuring monitors on Arch Linux running Wayland with Hyprland. It provides a visual 'desk map' where users can arrange monitors using keyboard and mouse controls, with real-time application to Hyprland. The application reads monitor configuration via hyprctl, allows live adjustments, and persists configurations to Hyprland's config files. It features profile management, advanced display settings (HDR, VRR, color depth), monitor mirroring with circular dependency prevention, and automatic workspace migration when monitors are added/removed. Built with Go using the Bubble Tea framework for the TUI and Lip Gloss for styling.
kotofetch is a Rust-based CLI tool that displays Japanese quotes in the terminal with extensive customization options. It features built-in quote collections (anime, proverbs, haiku, lyrics, and yojijukugo) and supports importing Anki decks via AnkiConnect. The tool offers various display modes including furigana (ruby text) rendering, animations (typewriter, scramble, slide), and flexible text styling. The application architecture is modular, with separate modules for command-line parsing, configuration management, quote importing, and display rendering. The display module handles complex text layout, including inline furigana annotations, Unicode-aware wrapping, and terminal boxing with optional animations. Key reusable components include the furigana parsing and formatting logic (which handles conversion between Anki's [reading] syntax and kotofetch's (reading) syntax and renders ruby text with proper alignment) and the AnkiConnect client (which provides a robust interface for fetching and converting Anki notes into kotofetch-compatible quote files).
Lan Mouse is a cross-platform software KVM switch that enables sharing a single mouse and keyboard across multiple computers on a local network, inspired by Apple's Universal Control. It is implemented as a Rust daemon with a GTK4/Libadwaita GUI frontend and a CLI interface, supporting Linux (Wayland, X11), macOS, and Windows. Communication between peers uses DTLS/TLS encryption with self-signed certificate fingerprint authentication over UDP/TCP. Input capture and emulation are abstracted via traits with platform-specific backends (libei, layer-shell, X11, CoreGraphics, Windows input APIs), and client discovery relies on mDNS/DNS. The architecture features a central service orchestrator managing capture, emulation, state, and IPC with the frontend over Unix sockets (or TCP on Windows). The codebase demonstrates solid Rust practices, async patterns with Tokio, and clean trait design for platform abstraction. While functionally complete, there are known caveats around compositor support, scancode mappings, and some memory leaks, reflecting ongoing development effort.
This is a personal dotfiles repository for NixOS, authored by Henrik Lissner (hlissner). It serves as a complete, declarative system configuration for multiple machines (laptops, desktops, and a HTPC) using Nix flakes. The repository defines the entire systemβfrom the bootloader and kernel parameters to the desktop environment (Hyprland), shell (zsh, tmux), development tools, and custom utilities. It is not a standalone application but a collection of configuration files, NixOS modules, and scripts that together form a highly opinionated, reproducible computing environment. The architecture is centered around a Nix flake (flake.nix) that imports modular NixOS modules organized by category (desktop, development, editors, shell, services, hardware profiles, themes, etc.). A custom CLI tool called 'hey' (written in Janet) provides a command hub for system management tasks like rebuilding, garbage collection, profile switching, and dotfile synchronization. The desktop environment is heavily customized with Hyprland (Wayland compositor), rofi launcher menus, matugen-based dynamic theming, and a suite of utility scripts for screenshots, screen recording, audio, and more. While the repository is not designed for reuse by others (it explicitly warns against being used as a community framework), several components demonstrate high craftsmanship and could be extracted with minimal modification. The Janet libraries under lib/hey/ provide a reusable command-line argument parser, an async rofi interaction library, and general utility functions. The Nix library (lib/nixos.nix) implements a flake builder pattern that could be adapted for other multi-host NixOS setups. The matugen templates and rofi themes are also potentially reusable as standalone theming assets.
HyprQuickFrame is a native screenshot utility for Hyprland built using the Quickshell framework. It provides an overlay-based UI for capturing screenshots in region, window, or full-screen modes, with options to edit, save to disk, copy to clipboard, or share via KDE Connect. The application features shader-based dimming, animated transitions, and dynamic theme synchronization with wallpapers via Noctalia. The architecture centers around a QML application shell that manages state and delegates to specialized UI components (RegionSelector, WindowSelector, ControlBar, etc.). Screenshot capture is performed by spawning external processes (grim, wl-clipboard, editors) based on the selected mode. The theme system allows users to customize colors and animations via a TOML file, with a Python script available to sync colors from Noctalia-generated palettes. Key reusable components include a custom animated toggle button (QuickToggle.qml), a segmented control bar (ControlBar.qml), a TOML-based theme parser (Theme.qml), and a Noctalia theme synchronization script (sync_theme.py). These components are designed with minimal dependencies and demonstrate advanced QML animation techniques and configuration patterns.
This repository is a complete Hyprland desktop-environment configuration distribution (ML4W) rather than a traditional application. The code that ships is a combination of shell-based installer/setup tooling, modular Hyprland Lua configuration, matugen-driven design-token generation, and Quickshell QML widgets for a statusbar and sidebar. In production it provisions a Wayland desktop on Arch, Fedora, Ubuntu, or openSUSE via setup/preflight-*.sh, setup/post-*.sh, and .dotinst manifests; at runtime hyprland.lua loads split Lua modules for monitors, input, keybindings, animations, decorations, window rules, and workspace behavior, while ml4w-* helper scripts orchestrate wallpaper changes, theme switching, launchers, notifications, statusbar reloads, and system actions. Configuration and state flow from flat JSON and shell settings into matugen templates and Quickshell or Waybar consumers; IPC handlers expose toggles to the UI. The repository is best understood as an application-like configuration platform with strong theming and modularization architecture, not a data or research project.
HyDE is a configuration management framework and dotfiles distribution for the Hyprland Wayland compositor. It functions as an automated installer, runtime environment, and dynamic theming engine for a complete Linux desktop experience. The system's core innovation is the 'wallbash' pipeline, which extracts color palettes from wallpapers and propagates them into dozens of application configurations via template substitution. The codebase is a polyglot of Bash, Lua, and Python, reflecting an ongoing architectural migration from shell scripts to structured Lua/Python modules. While tightly coupled to the Hyprland ecosystem and carrying significant technical debt from its rapid evolution (duplicate code, hardcoded paths, overlapping implementations), it demonstrates high craftsmanship in specific areas: a pure-Lua TOML parser, a plugin-based package manager abstraction, versioned migration scripts, and a Unix socket-based IPC pattern for audio visualization. Maintenance is active with a defined release cadence, but the project is in a state of active refactoring, meaning users should expect breaking changes and incomplete migrations between versions.
This repository is a comprehensive, modular dotfiles collection for a bspwm-based desktop environment on Arch Linux. It provides 18 distinct visual themes ('rices') that consistently apply color schemes, wallpapers, and style options across a wide range of applications including terminals (Alacritty, Kitty, Ghostty, ST), status bars (Polybar, Eww), launcher (Rofi), notifications (Dunst), compositor (Picom), browser (Firefox), editor (Neovim), media player (MPV), and many others. The core architecture is a modular theme application system: a central script (`Theme.sh`) sources per-theme color variables and then runs individual module scripts (e.g., `05-alacritty.sh`) that generate or overwrite application configuration files. An installer (`RiceInstaller`) sets up the entire environment, and a GUI editor (`RiceEditor`) allows runtime customization. The repository also includes numerous utility scripts for hardware detection, wallpaper selection, weather display, network management, and media control, many of which demonstrate good engineering practices like caching, parallel processing, and atomic file updates. While tightly coupled to Arch Linux and X11, the modular theming pattern and several standalone scripts are reusable in other contexts.
This repository contains a comprehensive set of Bash scripts to automate the installation and configuration of the Hyprland window manager on Arch Linux, along with associated desktop components (waybar, rofi, sddm, pipewire, fonts, GTK themes, etc.). The main entry point is `install.sh`, which presents an interactive whiptail-based menu to let users select desired features (NVIDIA setup, Bluetooth, Thunar, ZSH, dotfiles, etc.). It orchestrates over 30 modular sub-scripts in `install-scripts/` that handle package installation via pacman and AUR helpers, service enabling, configuration file copying (including the popular KooL Hyprland dotfiles from a separate repository), and system modifications. The codebase is well-structured for its purpose: it uses a centralized logging system, progress indicators, and a global functions library (`Global_functions.sh`) that encapsulates package installation and error handling. Additional utility scripts provide battery, disk, and temperature monitoring as optional systemd user services. The project is actively maintained with changelog updates and issue templates, though it is tightly coupled to the Arch Linux ecosystem and the KooL Hyprland dotfiles. It is not a reusable library but serves as a polished, user-friendly deployment tool for end-users.
This repository provides a complete Hyprland dotfiles configuration, including window manager settings, keybindings, theme management, and utility scripts for a Linux desktop environment. In production, it defines the entire user interface behavior: workspace switching via keybinds, floating window rules, power profile switching (battery vs AC), screen locking with swaylock, screenshotting with grim/slurp, and brightness/volume controls via scripts. The architecture is a collection of Hyprland config files, terminal (foot) config, fish shell functions, and shell scripts, all sourced from a main `hyprland.conf`. Themes are managed through separate branches and a base theme that uses a template-based approach to generate CSS for the ironbar taskbar dynamically. The system's external dependencies include Hyprland, foot, wofi, swaylock, grim, slurp, swww, fish, light, pamixer, asusctl (optional), and ironbar. This is not a library or service but a personal desktop configuration set; reusability of individual components is limited due to tight coupling with Hyprland and specific tool choices, though the theming script demonstrates a portable template substitution pattern.
ElysiaOS is a personal Linux desktop dotfiles and ricing repository, not a distributable operating system, an application server, or a data project. The repository contains a complete themed Arch Linux + Hyprland setup: window manager configs, Waybar status bars, EWW dashboard widgets, swaync notifications, rofi launchers, kitty terminal configs, SDDM login theme, Plymouth boot splash, icon/cursor/wallpaper assets, and an installer script that wires everything together. The dominant character is a heavily customized desktop environment tied to a single author's machine and anime-themed aesthetic.