summaryrefslogtreecommitdiff
path: root/home/config/i3/startup.nix
blob: 3c7cdf3cb5308ea8158ec3ae2c7673a92ad0959b (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
{ config, pkgs, ... }:

let background-image = config.home.wallpaper;
in {
  xsession.windowManager.i3.config.startup = let
    autostart = { command, always ? false, notification ? false }: {
      inherit command always notification;
    };
  in (if (config.services.redshift.enable) then
    [ (autostart { command = "systemctl --user start redshift"; }) ]
  else
    [ ]) ++ (if background-image != null then
      [
        (autostart {
          command = "${pkgs.feh}/bin/feh --bg-scale ${background-image}";
        })
      ]
    else
      [ ]) ++ (if config.services.screen-locker.enable then
        [
          (autostart {
            command =
              "systemctl --user xidlehook.service";
          })
        ]
      else
        [ ]) ++ (if config.services.emacs.enable then
          [ (autostart { command = "systemctl --user start emacs.service"; }) ]
        else
          [ ]) ++ [
            # Launch frequently used apps
            (autostart { command = "thunderbird"; })
            (autostart { command = "signal-desktop"; })
            (autostart { command = ''i3-msg "workspace 10; exec keepassxc"''; })
          ];
}