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}