infra/nix/home-manager/profiles/wayland-desktop.nix

87 lines
1.7 KiB
Nix
Raw Normal View History

2024-02-08 20:53:22 +01:00
{
pkgs,
config,
lib,
repoFlake,
nodeFlake,
...
}: let
inherit (import ../lib.nix {}) mkSimpleTrayService;
nixpkgs-wayland' = repoFlake.inputs.nixpkgs-wayland.packages.${pkgs.system};
wayprompt = nixpkgs-wayland'.wayprompt;
2024-02-08 20:53:22 +01:00
in {
fonts.fontconfig.enable = true;
# services.gpg-agent.pinentryFlavor = lib.mkForce null;
# services.gpg-agent.extraConfig = ''
# pinentry-program "${wayprompt}/bin/pinentry-wayprompt"
# '';
services = {
blueman-applet.enable = true;
network-manager-applet.enable = true;
};
systemd.user.targets.tray = {
Unit = {
Description = "Home Manager System Tray";
2024-02-08 20:53:22 +01:00
Requires = ["graphical-session-pre.target"];
};
};
2024-02-08 20:53:22 +01:00
home.packages = with pkgs;
[
# required by network-manager-applet
2024-06-12 22:23:27 +02:00
networkmanagerapplet
2024-02-08 20:53:22 +01:00
wlr-randr
wayout
wl-clipboard
wmctrl
2024-02-08 20:53:22 +01:00
nixpkgs-wayland'.shotman
2024-02-08 20:53:22 +01:00
# identifies key input syms
wev
2024-02-08 20:53:22 +01:00
# TODO: whwat's this for?
# wltype
2024-02-08 20:53:22 +01:00
pavucontrol
playerctl
pasystray
qt5.qtwayland
qt6.qtwayland
# libsForQt5.qt5.qtwayland
# libsForQt6.qt6.qtwayland
2024-02-08 20:53:22 +01:00
# probably required by flameshot
# xdg-desktop-portal xdg-desktop-portal-wlr
# grim
2024-06-12 22:23:27 +02:00
waypipe
]
2024-02-08 20:53:22 +01:00
++ (
lib.lists.optionals (!pkgs.stdenv.isAarch64)
# TODO: broken on aarch64
[
]
);
home.sessionVariables = {
XDG_SESSION_TYPE = "wayland";
NIXOS_OZONE_WL = "1";
MOZ_ENABLE_WAYLAND = "1";
WLR_NO_HARDWARE_CURSORS = "1";
};
home.pointerCursor = {
name = "Vanilla-DMZ";
package = pkgs.vanilla-dmz;
size = 32;
x11.enable = true;
gtk.enable = true;
};
}