Skip to content

Installation

Add tadaima to your flake inputs:

inputs.tadaima = {
url = "github:Myxogastria0808/tadaima";
inputs.nixpkgs.follows = "nixpkgs";
inputs.ags.follows = "ags";
inputs.astal.follows = "astal";
};
imports = [ inputs.tadaima.nixosModules.default ];
services.tadaima = {
enable = true;
package = inputs.tadaima.packages.${system}.movie; # or .simple, .image
};
PackageDescription
simpleBare-minimum login form, no wallpaper, no styling
imageStatic image wallpaper with Catppuccin Mocha theme
movieVideo/image wallpaper with GStreamer + Catppuccin Mocha theme
myGreeter = pkgs.stdenv.mkDerivation {
name = "my-greeter";
src = ./greeter;
nativeBuildInputs = with pkgs; [
wrapGAppsHook3
gobject-introspection
inputs.ags.packages.${system}.default
];
buildInputs = [
pkgs.glib
pkgs.gjs
inputs.astal.packages.${system}.io
inputs.astal.packages.${system}.astal4
];
preBuild = ''
mkdir -p node_modules
ln -s ${inputs.tadaima}/package/src node_modules/tadaima
'';
installPhase = ''
mkdir -p $out/bin
ags bundle app.tsx $out/bin/greeter
'';
};
imports = [ inputs.tadaima.nixosModules.default ];
services.tadaima = {
enable = true;
package = myGreeter;
};

If you have Nix installed on another distro, you can build a greeter with nix build:

Terminal window
nix build github:Myxogastria0808/tadaima#movie

Configure greetd manually:

/etc/greetd/config.toml
[terminal]
vt = 1
[default_session]
command = "dbus-run-session cage -s -d -- /path/to/result/bin/greeter"
user = "greeter"
Terminal window
sudo mkdir -p /var/cache/tadaima
sudo chown greeter:greeter /var/cache/tadaima
sudo systemctl enable greetd
  1. Install dependencies:

    Terminal window
    pacman -S greetd cage
    yay -S aylurs-gtk-shell
  2. Build from an example:

    Terminal window
    git clone https://github.com/Myxogastria0808/tadaima.git
    cd tadaima/examples/movie
    npm install
    ags bundle app.tsx ./my-greeter

    Or build your own greeter:

    Terminal window
    mkdir my-greeter && cd my-greeter
    npm init -y
    npm install tadaima
    ags types --update --directory .
    ags bundle app.tsx ./my-greeter
  3. Configure greetd:

    /etc/greetd/config.toml
    [terminal]
    vt = 1
    [default_session]
    command = "dbus-run-session cage -s -d -- /path/to/my-greeter"
    user = "greeter"
  4. Create cache directory and enable greetd:

    Terminal window
    sudo mkdir -p /var/cache/tadaima
    sudo chown greeter:greeter /var/cache/tadaima
    sudo systemctl enable greetd