nixpkgs/pkgs/desktops/pantheon/apps/elementary-code/default.nix
2026-05-16 12:58:49 +02:00

84 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
meson,
ninja,
pkg-config,
polkit,
vala,
wrapGAppsHook3,
editorconfig-core-c,
granite,
gsettings-desktop-schemas,
gtk3,
gtksourceview4,
gtkspell3,
libgee,
libgit2-glib,
libhandy,
libpeas2,
libsoup_3,
vte,
ctags,
}:
stdenv.mkDerivation rec {
pname = "elementary-code";
version = "8.3.0";
src = fetchFromGitHub {
owner = "elementary";
repo = "code";
tag = version;
hash = "sha256-5ijVYfpr2SU0loPQ9L2vvxOVrNA67IhEMqIqoaf36iY=";
};
strictDeps = true;
nativeBuildInputs = [
meson
ninja
pkg-config
polkit # needed for ITS rules
vala
wrapGAppsHook3
];
buildInputs = [
editorconfig-core-c
granite
gsettings-desktop-schemas
gtk3
gtksourceview4
gtkspell3
libgee
libgit2-glib
libhandy
libpeas2
libsoup_3
vala # for ValaSymbolResolver provided by libvala
vte
];
# ctags needed in path by outline plugin
preFixup = ''
gappsWrapperArgs+=(
--prefix PATH : "${lib.makeBinPath [ ctags ]}"
)
'';
passthru = {
updateScript = nix-update-script { };
};
meta = {
description = "Code editor designed for elementary OS";
homepage = "https://github.com/elementary/code";
license = lib.licenses.gpl3Plus;
platforms = lib.platforms.linux;
teams = [ lib.teams.pantheon ];
mainProgram = "io.elementary.code";
};
}