diff --git a/README.md b/README.md index 7fd56ce..4ef0367 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ Add this repo to your flake inputs: inputs.synix.url = "git+https://git.sid.ovh/sid/synix.git"; ``` -See the [documentation](https://doc.sid.ovh/synix) for a full setup guide. +See the [documentation](https://doc.sid.ovh) for a full setup guide. ## Templates diff --git a/modules/home/hyprland/settings.nix b/modules/home/hyprland/settings.nix index 2c61471..c347a35 100644 --- a/modules/home/hyprland/settings.nix +++ b/modules/home/hyprland/settings.nix @@ -3,15 +3,30 @@ let cfg = config.wayland.windowManager.hyprland; - inherit (builtins) toString; + nonFloatingClasses = [ + "Gimp" + "steam" + "KiCad" + ]; + + nonFloatingClassesRegex = concatStringsSep "|" nonFloatingClasses; + + inherit (builtins) concatStringsSep toString; inherit (lib) mkDefault; in { # Do not add binds here. Use `./binds/default.nix` instead. "$mod" = cfg.modifier; + exec-once = [ + "dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" # dbus package comes from NixOS module option `services.dbus.dbusPackage` [1] + "gnome-keyring-daemon --start --components=secrets" # gnome-keyring package comes from NixOS module `services.gnome.gnome-keyring` [1] + ]; + # 1: see Hyprland NixOS module + windowrule = [ - "center, floating:1, not class:^(Gimp)$, not class:^(steam)$" + # "float, class:^(${nonFloatingClassesRegex})$" + "center, floating:1, class:^(?!.*(${nonFloatingClassesRegex})).*$" "float, title:^(Open|Save) Files?$" "noborder, onworkspace:w[t1]" "bordersize ${toString cfg.settings.general.border_size}, floating:1" diff --git a/modules/nixos/hyprland/default.nix b/modules/nixos/hyprland/default.nix index 9b33ce5..68e6b9c 100644 --- a/modules/nixos/hyprland/default.nix +++ b/modules/nixos/hyprland/default.nix @@ -8,11 +8,14 @@ in programs.dconf.enable = true; # fixes nixvim hm module + services.flatpak.enable = true; + xdg.portal = { enable = true; extraPortals = with pkgs; [ xdg-desktop-portal-gtk ]; + config.common.default = "gtk"; }; services.gnome.gnome-keyring.enable = true;