system

Nix (home-manager) configurations for my computers

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
{ config, lib, pkgs, ... }:
{
  config = lib.mkIf config.features.wayland-de.enable {
    wayland.windowManager.sway =
      let
        mod = config.wayland.windowManager.sway.config.modifier;
      in
      {
        enable = true;

        # Do not install package: outside NixOS, installing Sway via Home Manager
        # does not work at all (due to factors such as deps and session config files).
        package = null;

        config = {
          bars = [
            { command = "${pkgs.waybar}/bin/waybar"; }
          ];

          terminal = "${pkgs.foot}/bin/foot";

          input = {
            "type:touchpad" = {
              natural_scroll = "enabled";
            };
          };
        };

        extraConfig = ''
          bindgesture swipe:3:right workspace prev
          bindgesture swipe:3:left workspace next

          set $drun tofi-drun | xargs swaymsg exec --
          unbindsym ${mod}+d
          bindsym ${mod}+d exec $drun
        '';
      };
  };
}