default.nix 1.8 KB

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