From 56fdb68909411121001d64005883f24b0b5d8c71 Mon Sep 17 00:00:00 2001 From: gmpinder Date: Fri, 9 Jun 2023 19:16:22 -0400 Subject: [PATCH] Add a way to install IntelliJ --- recipe-framework.yml | 55 ++--------------------- scripts/{post => }/enable-fingerprintd.sh | 0 scripts/install-intellij.sh | 30 +++++++++++++ 3 files changed, 33 insertions(+), 52 deletions(-) rename scripts/{post => }/enable-fingerprintd.sh (100%) create mode 100644 scripts/install-intellij.sh diff --git a/recipe-framework.yml b/recipe-framework.yml index 9e484a8..1391cb1 100644 --- a/recipe-framework.yml +++ b/recipe-framework.yml @@ -1,38 +1,14 @@ -# This file can only be edited inside the uBlue image's git repository. - -# The image will be at "ghcr.io/yourusername/name". name: wunker-os-framework -# The native container image to build on top of. -# Warning: Non-uBlue images might not work properly, due to missing components. base-image: ghcr.io/ublue-os/kinoite-main -# What Fedora version to use. Use an explicit version or `latest`. -# If you use `latest`, you will be automatically updated to the next major -# Fedora version, assuming the image you're using as your base container -# builds with the tag (all uBlue images do this). fedora-version: 37 -# This description will be visible in the container metadata. -description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ -# These scripts will be executed during the container build. -# Place scripts in the "scripts/" dir and put the corresponding filenames here. -# Any files that aren't listed here won't be executed automatically, which -# means that you can place "helper" or "library" scripts in the folder too. -# You can use "autorun.sh" if you want an automatic runner. +description: The image of Wunker OS Framework. Make your own! https://ublue.it/making-your-own/ scripts: - # "Pre" scripts run very early in the build, immediately after your custom - # repos have been imported (so that you can access those repos if necessary). pre: - # Automatically runs script files within "scripts/pre/". - autorun.sh - # Manually listed scripts. - # - example_pre.sh - # "Post" scripts run at the end of the build process. post: - # Automatically runs script files within "scripts/post/". - autorun.sh - # Manually listed scripts. - # - example_post.sh -# Custom RPM configuration. -# These changes will be integrated into your custom image at the "system level". + - enable-fingerprintd.sh + - install-intellij.sh rpm: # A list of urls of ".repo" files that should be added to your system. # This is the proper way to add custom COPR repos to your image. @@ -40,13 +16,6 @@ rpm: # so that your repos automatically use your image's actual Fedora version, # which greatly simplifies future maintenance of your custom recipe. repos: - # Example (which also demonstrates version number expansion): - # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%FEDORA_VERSION%/atim-starship-fedora-%FEDORA_VERSION%.repo - - # These RPMs will be installed from your enabled repositories (Fedora's own - # repos, extra "repos" you've added, etc). The installation is automatically - # performed via rpm-ostree during the image build, and will be pre-installed - # at the "system level" in the final image. install: # Needed for yafti (the first boot installer). Remove if you're not using yafti. - python3-pip @@ -55,9 +24,6 @@ rpm: # apps and binaries require it, so it's a good idea to always include it # if you ever download or compile any custom software on your machine. - libadwaita - # Add your own below: - # Example: - # - tilix - code - cronie - docker @@ -65,25 +31,10 @@ rpm: - fprintd-pam - tlp - powertop - # These RPMs will be removed from the system image. This step happens during - # image build, BEFORE installing custom RPMs (from the "rpm.install" category). remove: # Remove the native firefox (from Fedora) in favor of the Flatpak. - firefox - firefox-langpacks -# Configuration for the "first boot" experience, which is available after login. firstboot: - # Whether to embed "yafti" into the OS image and configure it to autostart, - # which is the preferred uBlue "first boot" GUI. Set this to "false" if you've - # decided to use a different solution instead. yafti: true - # These Flatpaks will be suggested for install after user login, via the yafti - # "first boot" GUI. Everything below will be merged into the "yafti.yml" config - # on build, in a category named "Custom". If you prefer, you can instead remove - # everything below and directly edit "yafti.yml" to have more control. - # Alternatively, if you've disabled "yafti", you can still install these via - # the "just setup-flatpaks" command from our "custom.just" template file. - # This is just an example selection: flatpaks: - - io.github.celluloid_player.Celluloid - - org.kde.krita diff --git a/scripts/post/enable-fingerprintd.sh b/scripts/enable-fingerprintd.sh similarity index 100% rename from scripts/post/enable-fingerprintd.sh rename to scripts/enable-fingerprintd.sh diff --git a/scripts/install-intellij.sh b/scripts/install-intellij.sh new file mode 100644 index 0000000..0579f93 --- /dev/null +++ b/scripts/install-intellij.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -eou pipefail + +# Version number +VERSION="2023.1.2" + +# Download https://download.jetbrains.com/idea/ideaIC-${VERSION}.tar.gz +curl -L -o /tmp/ideaIC-${VERSION}.tar.gz https://download.jetbrains.com/idea/ideaIC-${VERSION}.tar.gz + +# Extract to /usr/opt +mkdir -p /usr/opt +tar -xzf /tmp/ideaIC-${VERSION}.tar.gz -C /usr/opt + +# Find the full path to the IntelliJ directory +IDEA_PATH=$(ls -d /usr/opt/idea-IC-*) + +# Create .desktop file +cat > /tmp/intellij.desktop <