{ pkgs, ... }: { services.flatpak.enable = true; systemd.services.flatpak-repo = { wantedBy = [ "multi-user.target" ]; path = [ pkgs.flatpak ]; script = '' flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo ''; }; systemd.services.flatpak-install-packages = { wants = [ "flatpak-repo.service" ]; wantedBy = [ "multi-user.target" ]; path = [ pkgs.flatpak ]; script = '' set -eu flatpak install --system -y --noninteractive --or-update flathub io.github.yuki_iptv.yuki-iptv flatpak install --system -y --noninteractive --or-update flathub com.google.AndroidStudio # Only run claude.ai install script once STAMP_FILE="/var/lib/flatpak-android-studio-claude-installed" if [ ! -f "$STAMP_FILE" ]; then flatpak run --command=bash com.google.AndroidStudio -c 'curl -fsSL https://claude.ai/install.sh | bash' && touch "$STAMP_FILE" fi ''; }; environment.systemPackages = [ (pkgs.makeDesktopItem { name = "yuki-iptv"; desktopName = "Yuki IPTV"; genericName = "IPTV Player"; exec = "${pkgs.flatpak}/bin/flatpak run io.github.yuki_iptv.yuki-iptv"; terminal = false; }) (pkgs.makeDesktopItem { name = "android-studio"; desktopName = "Android Studio"; genericName = "Android Studio"; exec = "${pkgs.flatpak}/bin/flatpak run com.google.AndroidStudio"; terminal = false; }) ]; }