at master 84 lines 1.5 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 nix-update-script, 6 meson, 7 ninja, 8 pkg-config, 9 polkit, 10 vala, 11 wrapGAppsHook3, 12 editorconfig-core-c, 13 granite, 14 gsettings-desktop-schemas, 15 gtk3, 16 gtksourceview4, 17 gtkspell3, 18 libgee, 19 libgit2-glib, 20 libhandy, 21 libpeas2, 22 libsoup_3, 23 vte, 24 ctags, 25}: 26 27stdenv.mkDerivation rec { 28 pname = "elementary-code"; 29 version = "8.1.1"; 30 31 src = fetchFromGitHub { 32 owner = "elementary"; 33 repo = "code"; 34 rev = version; 35 hash = "sha256-4IGun7MnrMRmpXD0Kxm/ND4C3pFVhjHqDeP6jUmRg7k="; 36 }; 37 38 strictDeps = true; 39 40 nativeBuildInputs = [ 41 meson 42 ninja 43 pkg-config 44 polkit # needed for ITS rules 45 vala 46 wrapGAppsHook3 47 ]; 48 49 buildInputs = [ 50 editorconfig-core-c 51 granite 52 gsettings-desktop-schemas 53 gtk3 54 gtksourceview4 55 gtkspell3 56 libgee 57 libgit2-glib 58 libhandy 59 libpeas2 60 libsoup_3 61 vala # for ValaSymbolResolver provided by libvala 62 vte 63 ]; 64 65 # ctags needed in path by outline plugin 66 preFixup = '' 67 gappsWrapperArgs+=( 68 --prefix PATH : "${lib.makeBinPath [ ctags ]}" 69 ) 70 ''; 71 72 passthru = { 73 updateScript = nix-update-script { }; 74 }; 75 76 meta = with lib; { 77 description = "Code editor designed for elementary OS"; 78 homepage = "https://github.com/elementary/code"; 79 license = licenses.gpl3Plus; 80 platforms = platforms.linux; 81 teams = [ teams.pantheon ]; 82 mainProgram = "io.elementary.code"; 83 }; 84}