{ config, pkgs, lib, dots, ... }: { options.custom.gui = with lib; { sioyek = { enable = mkEnableOption "Enable sioyek"; }; }; config = lib.mkIf config.custom.gui.sioyek.enable ( lib.mkMerge [ { home.packages = with pkgs; [ sioyek ]; } # Linux uses ~/.config/sioyek (lib.mkIf pkgs.stdenv.isLinux { xdg.configFile."sioyek/keys_user.config".source = config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek/keys_user.config"; xdg.configFile."sioyek/prefs_user.config".source = config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek/prefs_user.linux.config"; # xdg.configFile."sioyek".source = config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek"; }) # macOS uses ~/Library/Application Support/sioyek (lib.mkIf pkgs.stdenv.isDarwin { home.file."Library/Application Support/sioyek/keys_user.config".source = config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek/keys_user.config"; home.file."Library/Application Support/sioyek/prefs_user.config".source = config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek/prefs_user.darwin.config"; # home.file."Library/Application Support/sioyek".source = # config.lib.file.mkOutOfStoreSymlink "${dots}/config/sioyek"; }) ] ); }