<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Caelestia_Shell</id>
	<title>Caelestia Shell - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Caelestia_Shell"/>
	<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Caelestia_Shell&amp;action=history"/>
	<updated>2026-05-27T20:20:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Caelestia_Shell&amp;diff=32077&amp;oldid=prev</id>
		<title>Whitebow: Created the caelestia-shell page</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Caelestia_Shell&amp;diff=32077&amp;oldid=prev"/>
		<updated>2026-05-27T13:49:34Z</updated>

		<summary type="html">&lt;p&gt;Created the caelestia-shell page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[https://github.com/caelestia-dots/shell Caelestia-Shell] is a desktop shell made for Wayland, specifically for the [[Hyprland]] compositor.&lt;br /&gt;
&lt;br /&gt;
== Installation&amp;lt;ref&amp;gt;https://github.com/caelestia-dots/shell#nix&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
Caelestia is currently not available from nixpkgs. The only way to install Caelestia on NixOS is through [[Flakes]].&lt;br /&gt;
{{File|3={&lt;br /&gt;
  inputs = {&lt;br /&gt;
    nixpkgs.url = &amp;quot;github:nixos/nixpkgs/nixos-unstable&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
    caelestia-shell = {&lt;br /&gt;
      url = &amp;quot;github:caelestia-dots/shell&amp;quot;;&lt;br /&gt;
      inputs.nixpkgs.follows = &amp;quot;nixpkgs&amp;quot;;&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
  outputs = inputs@{ self, nixpkgs, ... }: {&lt;br /&gt;
    nixosConfigurations.example = nixpkgs.lib.nixosSystem {&lt;br /&gt;
      specialArgs = { inherit inputs; };&lt;br /&gt;
      modules = [&lt;br /&gt;
        # ... other modules&lt;br /&gt;
        ./caelestia.nix&lt;br /&gt;
      ];&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
}|name=flakes.nix|lang=nix}}&lt;br /&gt;
Without home-manager, the shell can be installed using the system packages :&lt;br /&gt;
{{File|3={ pkgs, inputs, ... }:&lt;br /&gt;
{&lt;br /&gt;
  environment.systemPackages = with pkgs; [&lt;br /&gt;
    inputs.caelestia-shell.packages.${pkgs.stdenv.hostPlatform.system}.default&lt;br /&gt;
  ];&lt;br /&gt;
}|name=caelestia.nix|lang=nix}}&lt;br /&gt;
We can also use the [[Home Manager]] module :&lt;br /&gt;
{{File|3={ pkgs, inputs, ... }:&lt;br /&gt;
{&lt;br /&gt;
  home-manager.users.foobar = {&lt;br /&gt;
    # import the home manager module&lt;br /&gt;
    imports = [&lt;br /&gt;
      inputs.caelestia.homeModules.default&lt;br /&gt;
    ];&lt;br /&gt;
&lt;br /&gt;
    programs.caelestia = {&lt;br /&gt;
      enable = true;&lt;br /&gt;
      cli.enable = true; # Also adds caelestia-cli to path&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
}|name=caelestia.nix|lang=nix}}&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Three options are available : &lt;br /&gt;
&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Non-declarative&amp;#039;&amp;#039;&amp;#039; : edit the &amp;lt;code&amp;gt;~/.config/caelestia/shell.json&amp;lt;/code&amp;gt;file, following https://github.com/caelestia-dots/shell#example-configuration&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Home-manager&amp;#039;&amp;#039;&amp;#039; : you can use &amp;lt;code&amp;gt;programs.caelestia.settings&amp;lt;/code&amp;gt;to set each value through Nix, following the above schema. This can cause issues with the GUI settings.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Symlink&amp;#039;&amp;#039;&amp;#039; &amp;#039;&amp;#039;&amp;#039;copy&amp;#039;&amp;#039;&amp;#039; : You can link the previously mentioned &amp;lt;code&amp;gt;shell.json&amp;lt;/code&amp;gt; file to your nix config directory with &amp;lt;code&amp;gt;mkOutOfStoreSymlink&amp;lt;/code&amp;gt; :{{File|3=xdg.configFile.&amp;quot;caelestia&amp;quot;={&lt;br /&gt;
    source = config.lib.file.mkOutOfStoreSymlink &amp;quot;${dotfiles}/caelestia&amp;quot;;&lt;br /&gt;
    force = true;&lt;br /&gt;
    recursive = true;&lt;br /&gt;
 };|name=caelestia.nix|lang=nix}}&lt;br /&gt;
&lt;br /&gt;
== Starting the shell ==&lt;br /&gt;
Once the shell is installed, you should be able to launch it by executing &amp;lt;code&amp;gt;caelestia shell -d&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
To launch it automatically, you can add the following to your Hyprland config :&lt;br /&gt;
{{File|3=hl.on(&amp;quot;hyprland.start&amp;quot;, function()&lt;br /&gt;
    hl.exec_cmd(&amp;quot;caelestia shell -d&amp;quot;)&lt;br /&gt;
end)|name=hyprland.lua|lang=lua}}&lt;br /&gt;
Or, for Hyprland &amp;lt; 0.55 :&lt;br /&gt;
{{File|3=exec-once = caelestia shell -d|name=hyprland.conf|lang=hyprlang}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
In some cases, the shell can become unresponsive or take a long time to load. If &amp;lt;code&amp;gt;systemd-analyze blame | head -10&amp;lt;/code&amp;gt; doesn&amp;#039;t show any blocking programs, it can be due to a large number of notifications. In order to clear them, you can run &amp;lt;code&amp;gt;caelestia shell notifs clear&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Whitebow</name></author>
	</entry>
</feed>