diff options
| author | Davi Ribeiro <104164579+Markus328@users.noreply.github.com> | 2025-08-29 23:47:23 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-30 12:47:23 +1000 |
| commit | cc80951855afbbb877f9ccc68c310554d1a45668 (patch) | |
| tree | fbd1bf348579e06840a894eb6dc8a23e48877cbf | |
| parent | dev: fix qml import paths + direnv on non-nix (diff) | |
| download | caelestia-shell-cc80951855afbbb877f9ccc68c310554d1a45668.tar.gz caelestia-shell-cc80951855afbbb877f9ccc68c310554d1a45668.tar.bz2 caelestia-shell-cc80951855afbbb877f9ccc68c310554d1a45668.zip | |
nix/hm: add option to disable systemd service (#526)
* nix/hm: add option to disable systemd service
* readme: complement home manager configuring
| -rw-r--r-- | README.md | 13 | ||||
| -rw-r--r-- | nix/hm-module.nix | 11 |
2 files changed, 21 insertions, 3 deletions
@@ -63,6 +63,8 @@ or a devshell. The shell can then be run via `caelestia-shell`. > The default package does not have the CLI enabled by default, which is required for full funcionality. > To enable the CLI, use the `with-cli` package. +For home-manager, you can also use the Caelestia's home manager module (explained in [configuring](https://github.com/caelestia-dots/shell?tab=readme-ov-file#configuring)) that installs and configures the shell and the CLI. + ### Manual installation Dependencies: @@ -207,15 +209,24 @@ For NixOS users, a home manager module is also available. ```nix programs.caelestia = { enable = true; + systemd.enable = false; # if you prefer starting from your compositor settings = { bar.status = { showBattery = false; }; paths.wallpaperDir = "~/Images"; }; + cli = { + enable = true; # Also add caelestia-cli to path + settings = { + theme.enableGtk = false; + }; + }; }; ``` +The module automatically adds Caelestia shell to the path with **full functionality**. The CLI is not required, however you have the option to enable and configure it. + </details> > [!NOTE] @@ -478,7 +489,7 @@ which helped me a lot with learning how to use Quickshell. Finally another thank you to all the configs I took inspiration from (only one for now): -- [Axenide/Ax-Shell](https://github.com/Axenide/Ax-Shell) +- [Axenide/Ax-Shell](https://github.com/Axenide/Ax-Shell) ## Stonks 📈 diff --git a/nix/hm-module.nix b/nix/hm-module.nix index f87a138..533b2f6 100644 --- a/nix/hm-module.nix +++ b/nix/hm-module.nix @@ -19,6 +19,13 @@ in { default = shell-default; description = "The package of Caelestia shell"; }; + systemd = { + enable = mkOption { + type = types.bool; + default = true; + description = "Enable the systemd service for Caelestia shell"; + }; + }; settings = mkOption { type = types.attrsOf types.anything; default = {}; @@ -55,12 +62,12 @@ in { shell = cfg.package or shell-default; in lib.mkIf cfg.enable { - systemd.user.services.caelestia = { + systemd.user.services.caelestia = lib.mkIf cfg.systemd.enable { Unit = { Description = "Caelestia Shell Service"; After = ["graphical-session.target"]; PartOf = ["graphical-session.target"]; - X-Restart-Triggers = lib.mkIf (cfg.settings != { }) [ + X-Restart-Triggers = lib.mkIf (cfg.settings != {}) [ "${config.xdg.configFile."caelestia/shell.json".source}" ]; }; |