diff --git a/pkgs/applications/networking/instant-messengers/element/pin.nix b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix similarity index 57% rename from pkgs/applications/networking/instant-messengers/element/pin.nix rename to pkgs/by-name/el/element-desktop/element-desktop-pin.nix index 7c765a5350d9..ed64279ccb16 100644 --- a/pkgs/applications/networking/instant-messengers/element/pin.nix +++ b/pkgs/by-name/el/element-desktop/element-desktop-pin.nix @@ -3,7 +3,5 @@ "hashes" = { "desktopSrcHash" = "sha256-vZLM1AIMxDltB+GeQEcYifnaBC1+4wWkotPFuelHxT0="; "desktopYarnHash" = "1n057ic4dzcyg3wfr8jj7vab00jg2d1m38y5zk1kab1pka163f1q"; - "webSrcHash" = "sha256-ErhxNbe3uM97cmiOLtDeQwJT8RMWD2NKQ+q/VPU9+js="; - "webYarnHash" = "1wma1d2z5b1lhlh0vbnp30255gn4hvjpczsprg3s4y30716gsm44"; }; } diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/pkgs/by-name/el/element-desktop/keytar/default.nix similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/keytar/default.nix rename to pkgs/by-name/el/element-desktop/keytar/default.nix diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/pin.json b/pkgs/by-name/el/element-desktop/keytar/pin.json similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/keytar/pin.json rename to pkgs/by-name/el/element-desktop/keytar/pin.json diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/update.sh b/pkgs/by-name/el/element-desktop/keytar/update.sh similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/keytar/update.sh rename to pkgs/by-name/el/element-desktop/keytar/update.sh diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/by-name/el/element-desktop/package.nix similarity index 94% rename from pkgs/applications/networking/instant-messengers/element/element-desktop.nix rename to pkgs/by-name/el/element-desktop/package.nix index 3bccfdec1d68..1afb094d7e5a 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix +++ b/pkgs/by-name/el/element-desktop/package.nix @@ -13,9 +13,7 @@ element-web, sqlcipher, callPackage, - Security, - AppKit, - CoreServices, + darwin, desktopToDarwinBundle, useKeytar ? true, # command line arguments which are always set @@ -23,11 +21,11 @@ }: let - pinData = import ./pin.nix; + pinData = import ./element-desktop-pin.nix; inherit (pinData.hashes) desktopSrcHash desktopYarnHash; executableName = "element-desktop"; - keytar = callPackage ./keytar { inherit Security AppKit; }; - seshat = callPackage ./seshat { inherit CoreServices; }; + keytar = callPackage ./keytar { inherit (darwin.apple_sdk.frameworks) Security AppKit; }; + seshat = callPackage ./seshat { inherit (darwin.apple_sdk.frameworks) CoreServices; }; electron = electron_33; in stdenv.mkDerivation ( @@ -146,6 +144,7 @@ stdenv.mkDerivation ( ''; passthru = { + # run with: nix-shell ./maintainers/scripts/update.nix --argstr package element-desktop updateScript = ./update.sh; # TL;DR: keytar is optional while seshat isn't. diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/pkgs/by-name/el/element-desktop/seshat/default.nix similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/seshat/default.nix rename to pkgs/by-name/el/element-desktop/seshat/default.nix diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/pin.json b/pkgs/by-name/el/element-desktop/seshat/pin.json similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/seshat/pin.json rename to pkgs/by-name/el/element-desktop/seshat/pin.json diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/update.sh b/pkgs/by-name/el/element-desktop/seshat/update.sh similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/seshat/update.sh rename to pkgs/by-name/el/element-desktop/seshat/update.sh diff --git a/pkgs/applications/networking/instant-messengers/element/update.sh b/pkgs/by-name/el/element-desktop/update.sh similarity index 83% rename from pkgs/applications/networking/instant-messengers/element/update.sh rename to pkgs/by-name/el/element-desktop/update.sh index 2a4ec5fcdec2..20251b2644a4 100755 --- a/pkgs/applications/networking/instant-messengers/element/update.sh +++ b/pkgs/by-name/el/element-desktop/update.sh @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq +#!nix-shell -i bash -p nix wget prefetch-yarn-deps nix-prefetch-github jq if [ "$#" -gt 1 ] || [[ "$1" == -* ]]; then echo "Regenerates packaging data for the element packages." @@ -22,6 +22,8 @@ version="${version#v}" web_src="https://raw.githubusercontent.com/element-hq/element-web/v$version" web_src_hash=$(nix-prefetch-github element-hq element-web --rev v${version} | jq -r .hash) +cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1 + web_tmpdir=$(mktemp -d) trap 'rm -rf "$web_tmpdir"' EXIT @@ -42,14 +44,22 @@ wget -q "$desktop_src/yarn.lock" desktop_yarn_hash=$(prefetch-yarn-deps yarn.lock) popd -cat > pin.nix << EOF +cat > ../element-web-unwrapped/element-web-pin.nix << EOF { "version" = "$version"; "hashes" = { - "desktopSrcHash" = "$desktop_src_hash"; - "desktopYarnHash" = "$desktop_yarn_hash"; "webSrcHash" = "$web_src_hash"; "webYarnHash" = "$web_yarn_hash"; }; } EOF + +cat > element-desktop-pin.nix << EOF +{ + "version" = "$version"; + "hashes" = { + "desktopSrcHash" = "$desktop_src_hash"; + "desktopYarnHash" = "$desktop_yarn_hash"; + }; +} +EOF diff --git a/pkgs/applications/networking/instant-messengers/element/element-web.nix b/pkgs/by-name/el/element-web-unwrapped/package.nix similarity index 98% rename from pkgs/applications/networking/instant-messengers/element/element-web.nix rename to pkgs/by-name/el/element-web-unwrapped/package.nix index 1bfea7162dde..9a7ced0e8d51 100644 --- a/pkgs/applications/networking/instant-messengers/element/element-web.nix +++ b/pkgs/by-name/el/element-web-unwrapped/package.nix @@ -10,7 +10,7 @@ }: let - pinData = import ./pin.nix; + pinData = import ./element-web-pin.nix; inherit (pinData.hashes) webSrcHash webYarnHash; noPhoningHome = { disable_guests = true; # disable automatic guest account registration at matrix.org @@ -83,3 +83,4 @@ stdenv.mkDerivation (finalAttrs: builtins.removeAttrs pinData [ "hashes" ] // { platforms = lib.platforms.all; }; }) + diff --git a/pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix b/pkgs/by-name/el/element-web/package.nix similarity index 100% rename from pkgs/applications/networking/instant-messengers/element/element-web-wrapper.nix rename to pkgs/by-name/el/element-web/package.nix diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 74e47c2d0be7..2cb6b7113f8f 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -321,7 +321,7 @@ mapAliases { edUnstable = throw "edUnstable was removed; use ed instead"; # Added 2024-07-01 elasticsearch7Plugins = elasticsearchPlugins; - # Electron + element-desktop-wayland = throw "element-desktop-wayland has been removed. Consider setting NIXOS_OZONE_WL=1 via 'environment.sessionVariables' instead"; # Added 2024-12-17 elixir_ls = elixir-ls; # Added 2023-03-20 diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d203cce4a970..f9cbdba067b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2290,20 +2290,6 @@ with pkgs; electronplayer = callPackage ../applications/video/electronplayer/electronplayer.nix { }; - element-desktop = callPackage ../applications/networking/instant-messengers/element/element-desktop.nix { - inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices; - }; - element-desktop-wayland = writeScriptBin "element-desktop" '' - #!/bin/sh - NIXOS_OZONE_WL=1 exec ${element-desktop}/bin/element-desktop "$@" - ''; - - element-web-unwrapped = callPackage ../applications/networking/instant-messengers/element/element-web.nix { }; - - element-web = callPackage ../applications/networking/instant-messengers/element/element-web-wrapper.nix { - conf = config.element-web.conf or { }; - }; - elm-github-install = callPackage ../tools/package-management/elm-github-install { }; espanso-wayland = espanso.override {