mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
50 lines
1.5 KiB
Nix
50 lines
1.5 KiB
Nix
{ lib, stdenv, fetchFromGitHub, glib, nodePackages, gjs }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
pname = "gnome-shell-extension-pop-shell";
|
|
version = "unstable-2022-09-19";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "pop-os";
|
|
repo = "shell";
|
|
rev = "f0e9232164132396de5cbca60dd2cba0bea2916f";
|
|
sha256 = "sha256-Jgcxb7FDCyoBZPCKs0wpLV/qPFn0Jp+ER0SP8SK+s7g=";
|
|
};
|
|
|
|
nativeBuildInputs = [ glib nodePackages.typescript gjs ];
|
|
|
|
makeFlags = [
|
|
"XDG_DATA_HOME=$(out)/share"
|
|
"UUID=${passthru.extensionUuid}"
|
|
];
|
|
|
|
preFixup = ''
|
|
shellExtension="$out/share/gnome-shell/extensions/${passthru.extensionUuid}"
|
|
chmod +x $shellExtension/*/main.js
|
|
|
|
for file in $shellExtension/*/main.js; do
|
|
substituteInPlace "$file" --replace "#!/usr/bin/gjs" "#!${gjs}/bin/gjs"
|
|
done
|
|
'';
|
|
|
|
postInstall = ''
|
|
# TODO: Uncomment once custom gsettings works.
|
|
# Unfortunately custom gsettings seems to be not properly integrated with NixOS yet.
|
|
#
|
|
# For more information, please track the following issue:
|
|
# https://github.com/NixOS/nixpkgs/issues/92265
|
|
#
|
|
# It also contains additional links to related issues and whatnot.
|
|
#install -Dm644 keybindings/*.xml -t $out/share/gnome-control-center/keybindings
|
|
'';
|
|
|
|
passthru.extensionUuid = "pop-shell@system76.com";
|
|
|
|
meta = with lib; {
|
|
description = "A keyboard-driven layer for GNOME shell";
|
|
license = licenses.gpl3Only;
|
|
homepage = "https://github.com/pop-os/shell";
|
|
platforms = platforms.linux;
|
|
};
|
|
}
|