Skip to content
shadowash8Public

About

my take of a pretty wayland compositor

Resources

Stars

18 stars

Watchers

3 watching

Forks

Repository files navigation

nauka

./assets/main.png

nauka is a small and minimal Wayland compositor with all the eye candy one needs.

features

  • lightweight & fast: minimal footprint, builds in seconds.
  • tags: each window has its assigned tags.
  • layouts: various layouts like master, grid and scroller
  • eye-candy: border radius, opacity, and blur are everything one needs.
  • hot reload config: easy configuration language.

dependencies

  • meson *
  • ninja *
  • wayland-protocols *
  • wayland
  • wlroots
  • libinput
  • libdrm
  • pixman
  • libxkbcommon
  • libseat
  • scenefx

> * compile-time dependencies

installation

aur

latest version

yay -S nauka

git main version

yay -S nauka-git

building

git clone https://github.com/shadowash8/nauka
cd nauka
meson setup build
ninja -C build

usage

nauka [-s]

-s for startup script

configuration

configuration is loaded from:

  • $XDG_CONFIG_HOME/nauka/nauka.conf
  • $HOME/.config/nauka/nauka.conf

if no configuration file is found, nauka will use its built-in defaults. for an example configuration, see default.conf in the repository.

the configuration file supports hot reloading, so changes can be applied without restarting nauka.

nix flake

add nauka input to flake file

nauka = {
   url = "git+https://github.com/shadowash8/nauka";
   inputs.nixpkgs.follows = "nixpkgs";
 };

then add the package to system packages

inputs.nauka.packages.${pkgs.stdenv.hostPlatform.system}.default

optionally you can add nauka as a display manager session package

services.displayManager.sessionPackages = [
  inputs.nauka.packages.${pkgs.stdenv.hostPlatform.system}.default
];

About

my take of a pretty wayland compositor

Resources

Stars

18 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages