summaryrefslogtreecommitdiff
path: root/modules/apps/astal.nix
blob: 505fe29d38907593ada845c1bddf08a131f8bb29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{
  lib,
  config,
  pkgs,
  inputs,
  system,
  ...
}: let
  astal = inputs.self.packages.${system};
  inherit (lib) mkIf;
  cfg = config.apps;
in {
  config = mkIf cfg.astal {
    default.appLauncher = lib.mkDefault "astal-launcher";

    home-manager.users.${config.user} = {
      home.packages = [
        astal.astal.shell
        astal.astal.launcher
      ];

      systemd.user.services.astal = {
        Install = {
          WantedBy = [config.default.session "tray.target"];
        };

        Unit = {
          ConditionEnvironment = "WAYLAND_DISPLAY";
          Description = "astal";
          After = [config.default.session];
          PartOf = [config.default.session "tray.target"];
        };

        Service = {
          ExecStart = "${astal.astal.shell}/bin/astal-shell";
          Restart = "always";
          RestartSec = "10";
        };
      };
    };
  };
}