On GTK 4 release blogpost , a statement has been made "that GTK 2 has reached the end of its life" . The last release of GTK 2 (2.24.33), has been made 4 years ago . It also clearly says here :
*********************************************************
* *
* This is the final GTK 2.x release. *
* There will be no more updates to GTK 2. *
* All users are encouraged to update to GTK 3 or 4. *
* *
*********************************************************
Moreover, we have refused some GTK2 program to be added from nixpkgs and an effort as already been made to migrate / drop gtk 2 packages:
It is time to officially deprecate and start removing GTK2 from nixpkgs.
As @Aleksanaa said to me on matrix:
Some productivity software still uses them, and these are probably difficult to remove. Others that have not been updated for a long time or have good alternatives can be removed immediately.
Thanks to @ShadowRZ for providing a more comprehensible list, to get this tracking back to live!
Direct dependents
afterstep unmaintained afterstep: drop #545089
arena unmaintained arena: drop #550546
avrdudess bjornfor
bellepoule tgi74 bellepoule: gtk2 -> gtk3 #544916
bombono symphorien bombono: remove #547703
buzztrax bendlas buzztrax: switch from gtk2 to gtk3 #545535
caribou unmaintained caribou: drop gtk2 module #545269
ckan Baughn nullcubee ckan: remove gtk2 #545661
crossfire-client unmaintained crossfire-client: drop #547280
ddccontrol pakhfn doronbehar ddccontrol: 1.0.3 -> 3.2.0 #544891
ddrescueview unmaintained ddrescueview: gtk2 -> gtk3 #552355
eddie ryand56 eddie: remove dependency on gtk2 #545032
epkowa symphorien dominikh (BTW, Why pname = iscan?) Draft: epkowa: remove dependency on gtk2 #547709
factor-lang, factor-lang-0_100, factor-lang-0_101, factor-lang-0_99, factorPackages-0_100.factor-lang, factorPackages-0_100.factor-minimal-gui, factorPackages-0_101.factor-lang, factorPackages-0_101.factor-minimal-gui, factorPackages-0_99.factor-lang, factorPackages-0_99.factor-minimal-gui, factorPackages.factor-lang, factorPackages.factor-minimal-gui spacefrogg
faust2alsa magnetophon pmahoney faust2alsa: drop #550557
faust2jack magnetophon pmahoney faust2jack: drop #550558
foxtrotgps wucke13 gnome2: drop package set #544888
fsuae c4patino fsuae: drop unused gtk2 #545453
ganv t4ccer gtkmm2: drop #550819
geda pjones geda: drop #545933
gerbv mogorman
gildas bzizou smaret gildas: build with gtk3, fix homepage #545943
gimp2, gimp2-with-plugins unmaintained
gimp2Plugins.bimp unmaintained
gimp2Plugins.farbfeld sikmir
gimp2Plugins.fourier unmaintained
gimp2Plugins.gimplensfun unmaintained
gimp2Plugins.gmic unmaintained
gimp2Plugins.lightning unmaintained
gimp2Plugins.lqrPlugin unmaintained
gimp2Plugins.texturize unmaintained
gimp2Plugins.waveletSharpen unmaintained
gkrellm unmaintained gkrellm: drop #547283
gnome-themes-extra jtojnar bobby285271
gtkglext unmaintained
gnome2.gtksourceview unmaintained gnome2: drop package set #544888
gnome2.libglade unmaintained gnome2: drop package set #544888
gnome2.libgnomecanvas unmaintained gnome2: drop package set #544888
gnu-smalltalk sauricat gnu-smalltalk: remove gtk2 support #550547
gnubg unmaintained gnubg: use gtk3, modernize #556306
goocanvas_1 unmaintained goocanvas_1,soundtracker: drop #551334
gosmore 7c6f434c gosmore: drop #545942
grig MarcFontaine grig: drop #552486
grip unmaintained grip: drop #547284
gtk-mac-integration-gtk2 unmaintained
gtk-gnutella doronbehar gtk-gnutella: disable gui to avoid gtk2 #544900
gtk_engines unmaintained gtk_engines,paper-gtk-theme: drop #547265
gtkclipblock UARTman gtkclipblock: remove gtk2 support #551590
gtkgnutella doronbehar
gtkimageview gtkimageview: drop #551235
gtkspell2 unmaintained gtkspell2: drop #545093
gwc magnetophon
gwyddion unmaintained libunique: drop #551715
haskellPackages.gtk-mac-integration unmaintained
hdhomerun-config-gui LouisDK1
hexchat romildo hexchat: drop #546496
hime yanganto
hterm zebreus hterm: drop #552346
imager smaret
indicator-application-gtk2 msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259
industrializer magnetophon
ir-lv2 magnetophon
jitsi novmar ryantm Lassulus yayayayaka jitsi: drop #545120
keepass obadz keepass: 2.60 -> 2.61.1; remove gtk2 #546595
keybinder bjornfor
lazarus, lazarus-qt5, lazarus-qt6 7c6f434c lazarus: 4.4 -> 4.8; gtk2 -> gtk3 #549378
libappindicator-gtk2 msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259
libcanberra-gtk2 RossComputerGuy libcanberra-gtk2: drop #551245
libdbusmenu-gtk2 msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259
libfm, libfm-extra unmaintained libfm{,-extra}: drop gtk 2 support #549736
libgaminggear unmaintained
libindicator-gtk2 msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259
libsForQt5.qtstyleplugins unmaintained libsForQt5.qtstyleplugins: drop gtk2 style #545068
libunique unmaintained libunique: drop #551715
libwnck2 JohnAZoidberg libwnck2: drop #551336
lxappearance-gtk2 romildo various: remove gtk2 support where it is off by default #544746
lxrandr rawkode lxrandr: force-enable gtk3 #551717
lxsession unmaintained lxsession: use gtk3 #551718
meters-lv2 unmaintained meters-lv2: 0.9.20 -> 0.9.28, drop gtk2 dependency #549970
midisheetmusic mdarocha midisheetmusic: drop #557827
mjpegtoolsFull unmaintained mjpegtools: disable building gtk2 programs #545129
mricron adrlau mricron: drop #551720
nabi wavewave
networkminer emilytrau
nip2 KoviRobi
np2kai OPNA2608
nufraw, nufraw-thumbnailer asbachb nufraw{,-thumbnailer}: drop #548855
open-music-kontrollers.synthpod magnetophon
openbox-menu romildo openbox-menu: drop #545923
openctm nim65s openctm: remove the gtk2 viewer on linux #544938
openjfx17 unmaintained openjfx: remove gtk2 support from openjfx17, cleanup #545111
openjfx21, openjfx25 unmaintained openjfx: remove gtk2 support from openjfx17, cleanup #545111
osdlyrics PedroHLC
palemoon-bin, palemoon-gtk2-bin OPNA2608 palemoon: init at 34.3.1 #535052
pcb mogorman pcb: drop #545922
pdf2svg wavewave pdf2svg: remove unused gtk2 dependency #545056
pidgin unmaintained
pinentry-gtk2 fpletz pinentry-gtk2: drop #551957
planetary_annihilation unmaintained gnome2: drop package set #544888
python3Packages.opencv4Full (OpenCV 4 with enableGtk2 = true) basvandijk e589763
qt6gtk2 (qt6Packages.qt6gtk2, kdePackages.qt6gtk2) Misterio77
rep-gtk unmaintained sawfish,rep-gtk: drop #548841
rox-filer proteansec
rscw earldouglas
saleae-logic bjornfor
sane-frontends unmaintained
sawfish unmaintained sawfish,rep-gtk: drop #548841
sbclPackages.cl-cairo2-xlib 7c6f434c Uthar ghraban lukego nagy
sbclPackages.cl-gtk2-gdk 7c6f434c Uthar ghraban lukego nagy
seamonkey petalmaya seamonkey: drop gtk2 dependency #544860
smuxi meebey
snapdragon-profiler unmaintained snapdragon-profiler: drop #547272
soundtracker fgaz goocanvas_1,soundtracker: drop #551334
ssh-askpass-fullscreen unmaintained ssh-askpass-fullscreen: drop #548859
subtitleedit unmaintained subtitleedit: drop #557868
tilem siraben tilem: switch to GTK 3 fork #522842
timemachine nico202 timemachine: drop #552351
tomboy-ng pluiedev tomboy-ng: build Qt 6 instead of GTK 2 version #545853
transgui RamKromberg
trayer pSub
uim oxij
ultimate-doom-builder sophronesis ultimate-doom-builder: drop gtk2, link libxfixes directly #545543
verbiste unmaintained verbiste: don't build gtk2 app #547276
verifast thoughtpolice gnome2: drop package set #544888
vesta-viewer UlyssesZh
waon puckipedia waon: drop #552363
x11spice rnhmjoj x11spice: switch to gtk3 #544870
xboard 7c6f434c xboard: 4.9.1 -> 4.9.1-unstable-2026-08-03 #549318
xlog MarcFontaine
xnee wegank
xsane unmaintained
xwinmosaic 7c6f434c xwinmosaic: drop #549310
zandronum Lassulus zandronum: build without gtk2 support #545919
zulu8, zulu11 FliegendeWurst Infinidoge gchayleaf tomodachi94 msgilligan
Tests:
Indirect dependents
gnome-themes-extra
gtk_engines
GTK2 bindings
C#
C++
Haskell
OCaml
Perl
Other
Was found manually using nix why-depends --derivation in this gist: https://gist.github.com/ShadowRZ/d3732dac7fb065e5a198936d77051add
android-studio, android-studio-for-platform, android-studio-full, androidStudioForPlatformPackages, androidStudioPackages alapshin RossComputerGuy gnuminit johnrtitor adrian-gierakowski hadilq
dwarf-fortress-packages.dwarf-fortress_0_44_12 a1russell robbinch groconnor numinit shazow
dwarf-fortress-packages.dwarf-fortress_0_47_05 a1russell robbinch groconnor numinit shazow
bitscope.chart, bitscope.console, bitscope.display, bitscope.dso, bitscope.logic, bitscope.meter, bitscope.proto, bitscope.server unmaintained
jgmenu (indirectly via libfm-extra) romildo
lutris, lutris-free (buildFHSEnv) Steinhagen
teensyduino antono auntieNeo grobberer bjornfor bergey
toppler (via gimp2) fgaz toppler: drop #551344
xunlei-uos linuxwhata
On GTK 4 release blogpost, a statement has been made "that GTK 2 has reached the end of its life". The last release of GTK 2 (2.24.33), has been made 4 years ago. It also clearly says here:
Moreover, we have refused some GTK2 program to be added from nixpkgs and an effort as already been made to migrate / drop gtk 2 packages:
It is time to officially deprecate and start removing GTK2 from nixpkgs.
As @Aleksanaa said to me on matrix:
Thanks to @ShadowRZ for providing a more comprehensible list, to get this tracking back to live!
Direct dependents
afterstepunmaintained afterstep: drop #545089arenaunmaintained arena: drop #550546avrdudessbjornforbellepouletgi74 bellepoule: gtk2 -> gtk3 #544916bombonosymphorien bombono: remove #547703buzztraxbendlas buzztrax: switch from gtk2 to gtk3 #545535caribouunmaintained caribou: drop gtk2 module #545269ckanBaughn nullcubee ckan: remove gtk2 #545661crossfire-clientunmaintained crossfire-client: drop #547280ddccontrolpakhfn doronbehar ddccontrol: 1.0.3 -> 3.2.0 #544891ddrescueviewunmaintained ddrescueview: gtk2 -> gtk3 #552355eddieryand56 eddie: remove dependency on gtk2 #545032epkowasymphorien dominikh (BTW, Whypname = iscan?) Draft: epkowa: remove dependency on gtk2 #547709factor-lang,factor-lang-0_100,factor-lang-0_101,factor-lang-0_99,factorPackages-0_100.factor-lang,factorPackages-0_100.factor-minimal-gui,factorPackages-0_101.factor-lang,factorPackages-0_101.factor-minimal-gui,factorPackages-0_99.factor-lang,factorPackages-0_99.factor-minimal-gui,factorPackages.factor-lang,factorPackages.factor-minimal-guispacefroggfaust2alsamagnetophon pmahoney faust2alsa: drop #550557faust2jackmagnetophon pmahoney faust2jack: drop #550558foxtrotgpswucke13 gnome2: drop package set #544888fsuaec4patino fsuae: drop unused gtk2 #545453ganvt4ccer gtkmm2: drop #550819gedapjones geda: drop #545933gerbvmogormangildasbzizou smaret gildas: build with gtk3, fix homepage #545943gimp2,gimp2-with-pluginsunmaintainedgimp2Plugins.bimpunmaintainedgimp2Plugins.farbfeldsikmirgimp2Plugins.fourierunmaintainedgimp2Plugins.gimplensfununmaintainedgimp2Plugins.gmicunmaintainedgimp2Plugins.lightningunmaintainedgimp2Plugins.lqrPluginunmaintainedgimp2Plugins.texturizeunmaintainedgimp2Plugins.waveletSharpenunmaintainedgkrellmunmaintained gkrellm: drop #547283gnome-themes-extrajtojnar bobby285271gtkglextunmaintainedgnome2.gtksourceviewunmaintained gnome2: drop package set #544888gnome2.libgladeunmaintained gnome2: drop package set #544888gnome2.libgnomecanvasunmaintained gnome2: drop package set #544888gnu-smalltalksauricat gnu-smalltalk: remove gtk2 support #550547gnubgunmaintained gnubg: use gtk3, modernize #556306goocanvas_1unmaintained goocanvas_1,soundtracker: drop #551334gosmore7c6f434c gosmore: drop #545942grigMarcFontaine grig: drop #552486gripunmaintained grip: drop #547284gtk-mac-integration-gtk2unmaintainedgtk-gnutelladoronbehar gtk-gnutella: disable gui to avoid gtk2 #544900gtk_enginesunmaintained gtk_engines,paper-gtk-theme: drop #547265gtkclipblockUARTman gtkclipblock: remove gtk2 support #551590gtkgnutelladoronbehargtkimageviewgtkimageview: drop #551235gtkspell2unmaintained gtkspell2: drop #545093gwcmagnetophongwyddionunmaintained libunique: drop #551715haskellPackages.gtk-mac-integrationunmaintainedhdhomerun-config-guiLouisDK1hexchatromildo hexchat: drop #546496himeyangantohtermzebreus hterm: drop #552346imagersmaretindicator-application-gtk2msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259industrializermagnetophonir-lv2magnetophonjitsinovmar ryantm Lassulus yayayayaka jitsi: drop #545120keepassobadz keepass: 2.60 -> 2.61.1; remove gtk2 #546595keybinderbjornforlazarus,lazarus-qt5,lazarus-qt67c6f434c lazarus: 4.4 -> 4.8; gtk2 -> gtk3 #549378libappindicator-gtk2msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259libcanberra-gtk2RossComputerGuy libcanberra-gtk2: drop #551245libdbusmenu-gtk2msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259libfm,libfm-extraunmaintained libfm{,-extra}: drop gtk 2 support #549736libgaminggearunmaintainedlibindicator-gtk2msteen {libappindicator,libdbusmenu,libindicator}-gtk2: drop #551259libsForQt5.qtstylepluginsunmaintained libsForQt5.qtstyleplugins: drop gtk2 style #545068libuniqueunmaintained libunique: drop #551715libwnck2JohnAZoidberg libwnck2: drop #551336lxappearance-gtk2romildo various: remove gtk2 support where it is off by default #544746lxrandrrawkode lxrandr: force-enable gtk3 #551717lxsessionunmaintained lxsession: use gtk3 #551718meters-lv2unmaintained meters-lv2: 0.9.20 -> 0.9.28, drop gtk2 dependency #549970midisheetmusicmdarocha midisheetmusic: drop #557827mjpegtoolsFullunmaintained mjpegtools: disable building gtk2 programs #545129mricronadrlau mricron: drop #551720nabiwavewavenetworkmineremilytraunip2KoviRobinp2kaiOPNA2608nufraw,nufraw-thumbnailerasbachb nufraw{,-thumbnailer}: drop #548855open-music-kontrollers.synthpodmagnetophonopenbox-menuromildo openbox-menu: drop #545923openctmnim65s openctm: remove the gtk2 viewer on linux #544938openjfx17unmaintained openjfx: remove gtk2 support from openjfx17, cleanup #545111openjfx21,openjfx25unmaintained openjfx: remove gtk2 support from openjfx17, cleanup #545111osdlyricsPedroHLCpalemoon-bin,palemoon-gtk2-binOPNA2608 palemoon: init at 34.3.1 #535052pcbmogorman pcb: drop #545922pdf2svgwavewave pdf2svg: remove unused gtk2 dependency #545056pidginunmaintainedpinentry-gtk2fpletz pinentry-gtk2: drop #551957planetary_annihilationunmaintained gnome2: drop package set #544888python3Packages.opencv4Full(OpenCV 4 withenableGtk2 = true) basvandijk e589763qt6gtk2(qt6Packages.qt6gtk2,kdePackages.qt6gtk2) Misterio77rep-gtkunmaintained sawfish,rep-gtk: drop #548841rox-filerproteansecrscwearldouglassaleae-logicbjornforsane-frontendsunmaintainedsawfishunmaintained sawfish,rep-gtk: drop #548841sbclPackages.cl-cairo2-xlib7c6f434c Uthar ghraban lukego nagysbclPackages.cl-gtk2-gdk7c6f434c Uthar ghraban lukego nagyseamonkeypetalmaya seamonkey: drop gtk2 dependency #544860smuximeebeysnapdragon-profilerunmaintained snapdragon-profiler: drop #547272soundtrackerfgaz goocanvas_1,soundtracker: drop #551334ssh-askpass-fullscreenunmaintained ssh-askpass-fullscreen: drop #548859subtitleeditunmaintained subtitleedit: drop #557868tilemsiraben tilem: switch to GTK 3 fork #522842timemachinenico202 timemachine: drop #552351tomboy-ngpluiedev tomboy-ng: build Qt 6 instead of GTK 2 version #545853transguiRamKrombergtrayerpSubuimoxijultimate-doom-buildersophronesis ultimate-doom-builder: drop gtk2, link libxfixes directly #545543verbisteunmaintained verbiste: don't build gtk2 app #547276verifastthoughtpolice gnome2: drop package set #544888vesta-viewerUlyssesZhwaonpuckipedia waon: drop #552363x11spicernhmjoj x11spice: switch to gtk3 #544870xboard7c6f434c xboard: 4.9.1 -> 4.9.1-unstable-2026-08-03 #549318xlogMarcFontainexneewegankxsaneunmaintainedxwinmosaic7c6f434c xwinmosaic: drop #549310zandronumLassulus zandronum: build without gtk2 support #545919zulu8,zulu11FliegendeWurst Infinidoge gchayleaf tomodachi94 msgilliganTests:
tests.pkg-config.defaultPkgConfigPackages."gdk-2.0"tests.pkg-config: remove all tests that depend on gtk2 libraries #556247tests.pkg-config.defaultPkgConfigPackages."gdk-x11-2.0"tests.pkg-config: remove all tests that depend on gtk2 libraries #556247tests.pkg-config.defaultPkgConfigPackages."gtk+-2.0"tests.pkg-config: remove all tests that depend on gtk2 libraries #556247tests.pkg-config.defaultPkgConfigPackages."gtk+-x11-2.0"tests.pkg-config: remove all tests that depend on gtk2 libraries #556247Indirect dependents
hey-mail(vialibappindicator-gtk2) peret hey-mail: Remove dependency on GTK2 #550798linux-enable-ir-emitter(viapython3Packages.opencv4Full) fufexanpidginPackages.pidgin-indicator(vialibappindicator-gtk2) colonelpanic8gnome-themes-extrawhitesur-gtk-themeromildoyaru-remix-themehoppla20gtk_enginespaper-gtk-themesimonvandel romildo gtk_engines,paper-gtk-theme: drop #547265GTK2 bindings
C#
gtk-sharp-2_0unmaintained gtk-sharp-2_0,gio-sharp,gtk-sharp-beans: drop #551309gio-sharpunmaintained gtk-sharp-2_0,gio-sharp,gtk-sharp-beans: drop #551309gtk-sharp-beansunmaintained gtk-sharp-2_0,gio-sharp,gtk-sharp-beans: drop #551309hyenaobadz hyena: drop #546696C++
gtkmm27c6f434c gtkmm2: drop #550819ahoviewerxzfc gtkmm2: drop #550819bombonosymphorieneq10qmagnetophon gtkmm2: drop #550819ingent4ccer gtkmm2: drop #550819lv2-cpp-toolsmichalrus gtkmm2: drop #550819lvtkBot-wxt1221 gtkmm2: drop #550819nitrogenauntieNeo gtkmm2: drop #550819patchagenico202 gtkmm2: drop #550819pcb2gcodeKritnich gtkmm2: drop #550819seq24unmaintained seq24: drop #549006utsushiwucke13 mwilsoncoding gtkmm2: drop #550819vocprocmichalrus gtkmm2: drop #550819Haskell
haskellPackages.gtkunmaintainedhaskellPackages.Chart-gtkunmaintainedhaskellPackages.Chart-testsunmaintainedhaskellPackages.cairo-appbaseunmaintainedhaskellPackages.diagrams-gtkunmaintainedhaskellPackages.gtk-jsinputunmaintainedhaskellPackages.gtk-simple-list-viewunmaintainedhaskellPackages.gtk-toggle-button-listunmaintainedhaskellPackages.indian-language-font-converterunmaintainedhaskellPackages.libnotifyunmaintainedhaskellPackages.nc-indicatorsunmaintainedhaskellPackages.qrunmaintainedhaskellPackages.yi-frontend-pangounmaintainedhaskellPackages.osdkeys(viahaskellPackages.libnotify) unmaintainedhaskellPackages.yi(viahaskellPackages.yi-frontend-pango) unmaintainedyi(viahaskellPackages.yi) unmaintainedOCaml
ocamlPackages.lablgtkroconnor vbgl gnome2: drop package set #544888ocamlPackages.camlimagesvbgl mt-caret ocamlPackages.camlimages: drop camlimages.lablgtk2 #544866ocamlPackages.ocamlgraph_gtkunmaintainedocamlPackages.zelus-gtkwegankprooftreejwiegleyproverifWithGuithoughtpolice vbglPerl
perlPackages.Gtk2perlPackages.{Gtk2, various}: drop #545140perlPackages.GooCanvasperlPackages.{Gtk2, various}: drop #545140perlPackages.Gtk2AppIndicatorperlPackages.{Gtk2, various}: drop #545140perlPackages.Gtk2ImageViewperlPackages.{Gtk2, various}: drop #545140perlPackages.Gtk2TrayIconperlPackages.{Gtk2, various}: drop #545140perlPackages.Gtk2UniqueperlPackages.{Gtk2, various}: drop #545140Other
Was found manually using
nix why-depends --derivationin this gist: https://gist.github.com/ShadowRZ/d3732dac7fb065e5a198936d77051addandroid-studio,android-studio-for-platform,android-studio-full,androidStudioForPlatformPackages,androidStudioPackagesalapshin RossComputerGuy gnuminit johnrtitor adrian-gierakowski hadilqdwarf-fortress-packages.dwarf-fortress_0_44_12a1russell robbinch groconnor numinit shazowdwarf-fortress-packages.dwarf-fortress_0_47_05a1russell robbinch groconnor numinit shazowbitscope.chart,bitscope.console,bitscope.display,bitscope.dso,bitscope.logic,bitscope.meter,bitscope.proto,bitscope.serverunmaintainedjgmenu(indirectly vialibfm-extra) romildolutris,lutris-free(buildFHSEnv) Steinhagenteensyduinoantono auntieNeo grobberer bjornfor bergeytoppler(viagimp2) fgaz toppler: drop #551344xunlei-uoslinuxwhata