Add the desktop with Nix

Enable Tilo declaratively on NixOS. The previous desktop stays in the configuration.

Before changing packages

  • Commit or otherwise keep a copy of the configuration that currently boots.
  • Add the Tilo flake input and system module beside the display manager.
  • Build before switching the boot default; a failed evaluation changes nothing.

1. Check your system

Check that this computer runs NixOS on x86_64-linux and that flakes are enabled. The public repository does not require an account or access token. The module is for NixOS; no Home Manager module is shipped yet.

2. Add the Tilo repository

These commands add the signed public Tilo package repository to your existing package manager.

# Merge these lines into your existing flake.nix:
inputs.tilo.url = "git+https://code.podesta.ai/qos/qos";

outputs = { self, nixpkgs, tilo, ... }: {
  nixosConfigurations.YOUR-HOST = nixpkgs.lib.nixosSystem {
    system = "x86_64-linux";
    modules = [
      tilo.nixosModules.tilo-session
      { services.tilo-session.enable = true; }
      # Keep your existing machine modules here too.
    ];
  };
};

3. Install the session

# Fetch and lock Tilo as your normal user first:
nix flake lock --update-input tilo

# Replace YOUR-HOST with the configuration name from flake.nix:
sudo nixos-rebuild switch --flake .#YOUR-HOST

When the rebuild finishes, sign out and choose Tilo from the session menu. The previous desktop remains available as long as its module remains enabled.

First sign-in

The first-start screen creates a new Tilo collaboration identity or connects this device with an existing recovery copy. It then offers a short, skippable tour. It does not copy another desktop's extensions or private settings.

Your existing home directory remains available. Tilo creates a private Personal workspace; nothing is shared until you invite someone. Normal Linux applications appear in search and run normally. Native Tilo apps additionally gain workspace history, shared state and the common action interface.

Update

nix flake update tilo
sudo nixos-rebuild switch --flake .#YOUR-HOST

The desktop session follows the distribution's update and rollback rules. Installing it as a session does not turn the host distribution into the image-based Tilo operating system.

Switch back or remove it

To switch desktops, sign out and select the previous session at the sign-in screen. This changes no files.

To remove the Tilo package, first sign in to another desktop, then run:

# Remove the Tilo module and services.tilo-session setting, then run:
sudo nixos-rebuild switch --flake .#YOUR-HOST

Removing the session leaves your workspace data in your home directory. Export or delete it separately from Settings → Workspaces. Read Remove Tilo safely before removing the last copy.