default.nix 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. { config, pkgs, ... }:
  2. {
  3. imports = [
  4. ];
  5. environment.systemPackages = with pkgs; [
  6. cliphist
  7. wl-clipboard
  8. mission-center
  9. hyprpicker
  10. nomacs
  11. gammastep
  12. geoclue2
  13. wtype
  14. matugen
  15. alacritty
  16. hyprlauncher
  17. ];
  18. programs.hyprland = {
  19. enable = true;
  20. withUWSM = true;
  21. xwayland.enable = true;
  22. };
  23. programs.kdeconnect.enable = true;
  24. environment.variables = {
  25. GDK_BACKEND = "wayland";
  26. XDG_SESSION_TYPE = "wayland";
  27. WLR_DRM_NO_ATOMIC = "1";
  28. NIXOS_OZONE_WL = "1";
  29. WLR_RENDERER = "vulkan";
  30. WLR_NO_HARDWARE_CURSORS = "1";
  31. ELECTRON_OZONE_PLATFORM_HINT = "wayland";
  32. };
  33. xdg.portal = {
  34. enable = true;
  35. extraPortals = with pkgs; [
  36. xdg-desktop-portal-gtk
  37. xdg-desktop-portal-wlr
  38. ];
  39. wlr.enable = true;
  40. config = {
  41. common = {
  42. # Use hyprland portal for screen sharing (screencast)
  43. "org.freedesktop.impl.portal.Screencast" = "hyprland";
  44. "org.freedesktop.impl.portal.Screenshot" = "hyprland";
  45. };
  46. };
  47. };
  48. environment.sessionVariables = {
  49. NIXOS_OZONE_WL = "1";
  50. QT_QPA_PLATFORM = "wayland";
  51. XDG_CURRENT_DESKTOP = "hyprland";
  52. WLR_NO_HARDWARE_CURSORS = "1";
  53. };
  54. services.gnome.gnome-keyring.enable = true;
  55. security.pam.services.login.enableGnomeKeyring = true;
  56. security.pam.services.hyprland.enableGnomeKeyring = true;
  57. systemd.user.services.gnome-keyring = {
  58. wantedBy = [ "default.target" ];
  59. serviceConfig = {
  60. ExecStart = "${pkgs.gnome-keyring}/bin/gnome-keyring-daemon --start --foreground --components=pkcs11,secrets,ssh";
  61. Restart = "on-abort";
  62. };
  63. };
  64. }