{ inputs, self, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: { options.features.applications.gui.remmina.enable = lib.mkEnableOption "remmina"; config = let mkIfElse = with lib; p: yes: no: mkMerge [ (mkIf p yes) (mkIf (!p) no) ]; in lib.mkIf (config.features.applications.gui.remmina.enable) (mkIfElse (config.features.nixos.home-manager.enable) { home-manager.users.grey.features.applications.gui.remmina.enable = lib.mkDefault true; } { environment.systemPackages = with pkgs; [ remmina freerdp ]; }); }; flake.homeModules.graphics = { pkgs, config, lib, ... }: { options.features.applications.gui.remmina.enable = lib.mkEnableOption "remmina"; config = lib.mkIf (config.features.applications.gui.remmina.enable) { home.packages = with pkgs; [ remmina freerdp ]; home.activation.linkRemminaPresets = lib.hm.dag.entryAfter ["writeBoundary"] (config.helpers.mkSymlinkActivationScript { target = ".local/share/remmina"; source = "dotfiles/${config.info.hostName}/remmina"; isDir = true; }); }; }; }