main
 1{
 2  pkgs,
 3  lib,
 4  ...
 5}:
 6let
 7  swayRun = pkgs.writeShellScript "sway-run" ''
 8    export XDG_SESSION_TYPE=wayland
 9    export XDG_SESSION_DESKTOP=sway
10    export XDG_CURRENT_DESKTOP=sway
11
12    systemd-run --user --scope --collect --quiet --unit=sway systemd-cat --identifier=sway ${pkgs.sway}/bin/sway $@
13  '';
14in
15{
16  imports = [
17    ./tiling-common.nix
18  ];
19
20  programs.sway = {
21    enable = true;
22    wrapperFeatures.gtk = true;
23    xwayland.enable = true;
24  };
25
26  # Allow swaylock to unlock the computer for us
27  security.pam.services.swaylock = {
28    text = "auth include login";
29  };
30
31  services.greetd.settings = {
32    default_session = {
33      # command = "${pkgs.greetd.greetd}/bin/agreety --cmd sway";
34      command = "${
35        lib.makeBinPath [ pkgs.greetd.tuigreet ]
36      }/tuigreet -r --asterisks --time --cmd ${swayRun}";
37      users = "greeter";
38    };
39    initial_session = {
40      command = "${swayRun}";
41      user = "vincent";
42    };
43  };
44}