From 3bf888f7c86b708e2c680d28bc59d952c91efe53 Mon Sep 17 00:00:00 2001 From: tx0 Date: Fri, 7 Mar 2025 17:55:45 +0500 Subject: [PATCH] some changes --- .../derivations/ubports-installer/default.nix | 55 ++++++++++++++++++ .../ubports-installer/ubports-mascot.png | Bin 0 -> 11716 bytes hosts/common/system/udev.nix | 5 ++ hosts/earth/services/libvirtd.nix | 3 + hosts/earth/services/podman.nix | 6 ++ 5 files changed, 69 insertions(+) create mode 100644 home/system/packages/derivations/ubports-installer/default.nix create mode 100644 home/system/packages/derivations/ubports-installer/ubports-mascot.png create mode 100644 hosts/common/system/udev.nix create mode 100644 hosts/earth/services/libvirtd.nix create mode 100644 hosts/earth/services/podman.nix diff --git a/home/system/packages/derivations/ubports-installer/default.nix b/home/system/packages/derivations/ubports-installer/default.nix new file mode 100644 index 0000000..361d90e --- /dev/null +++ b/home/system/packages/derivations/ubports-installer/default.nix @@ -0,0 +1,55 @@ +{ + lib, + appimageTools, + fetchurl, + makeDesktopItem, +}: let + pname = "ubports-installer"; + + icon = ./ubports-mascot.jpg; + + desktopItems = [ + (makeDesktopItem { + name = pname; + inherit icon; + desktopName = "Ubuntu Touch Installer"; + genericName = "GUI for installing Ubuntu Touch"; + exec = "@out@/bin/ubports-installer"; + comment = "GUI for installing Ubuntu Touch"; + categories = ["System"]; + startupNotify = false; + keywords = ["system" "os" "network" "ubuntu" "touch" "mobile"]; + }) + ]; +in + appimageTools.wrapType2 rec { + inherit pname; + version = "0.10.0"; + + src = fetchurl { + url = "https://github.com/ubports/ubports-installer/releases/download/${version}/ubports-installer_${version}_linux_x86_64.AppImage"; + hash = "sha256-oUQ4AaRiUMeklyI4xzH+krXyedqpLiA9obo5uO8JJak="; + }; + + extraInstallCommands = + '' + mv $out/bin/${pname}-${version} $out/bin/${pname} + '' + + lib.concatMapStringsSep "\n " + (e: '' + install -Dm444 -t $out/share/applications ${e}/share/applications/*.desktop + '') + desktopItems + + '' + install -Dm444 ${icon} $out/share/icons/apps/${pname}.jpg; + + for f in $out/share/applications/*.desktop; do + substituteInPlace $f --subst-var out + done + ''; + + meta = with lib; { + description = "Ubuntu Touch installer"; + license = licenses.free; + }; + } diff --git a/home/system/packages/derivations/ubports-installer/ubports-mascot.png b/home/system/packages/derivations/ubports-installer/ubports-mascot.png new file mode 100644 index 0000000000000000000000000000000000000000..ee506cf93521821fcdb407f52473f260f390d982 GIT binary patch literal 11716 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 literal 0 HcmV?d00001 diff --git a/hosts/common/system/udev.nix b/hosts/common/system/udev.nix new file mode 100644 index 0000000..6840b4b --- /dev/null +++ b/hosts/common/system/udev.nix @@ -0,0 +1,5 @@ +{...}: { + services.udev.extraRules = '' + KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660" + ''; +} diff --git a/hosts/earth/services/libvirtd.nix b/hosts/earth/services/libvirtd.nix new file mode 100644 index 0000000..f485cd0 --- /dev/null +++ b/hosts/earth/services/libvirtd.nix @@ -0,0 +1,3 @@ +{...}: { + virtualisation.libvirtd.enable = true; +} diff --git a/hosts/earth/services/podman.nix b/hosts/earth/services/podman.nix new file mode 100644 index 0000000..e31c3ac --- /dev/null +++ b/hosts/earth/services/podman.nix @@ -0,0 +1,6 @@ +{...}: { + virtualisation.podman = { + enable = true; + dockerCompat = true; + }; +}