Demo.mp4
This repository contains the source code for the GNOME Files application (Nautilus).
Before compiling and installing Nautilus, you must install the following dependencies on your system.
The fastest way to install dependencies is to use your package manager's "build-dep" command. This will automatically install everything listed in the meson.build file that is available in your repositories.
Fedora:
sudo dnf builddep nautilusUbuntu / Debian:
sudo apt build-dep nautilusIf the commands above don't work, use the manual installation strings below:
Fedora:
sudo dnf install meson ninja-build blueprint-compiler gcc glib2-devel gtk4-devel libadwaita-devel gnome-desktop-devel gnome-autoar-devel glycin-devel glycin-gtk4-devel libportal-devel libportal-gtk4-devel tinysparql-devel libicu-devel gexiv2-devel gdk-pixbuf2-devel gstreamer1-plugins-base-devel libselinux-devel libcloudproviders-devel bubblewrap localsearch xdg-user-dirs-gtkUbuntu / Debian:
sudo apt install meson ninja-build blueprint-compiler gcc libglib2.0-dev libgtk-4-dev libadwaita-1-dev libgnome-desktop-4-dev libgnome-autoar-0-dev libglycin-dev libglycin-gtk4-dev libportal-dev libportal-gtk4-dev libtinysparql-3.0-dev libicu-dev libgexiv2-dev libgdk-pixbuf-2.0-dev libgstreamer-plugins-base1.0-dev libselinux1-dev libcloudproviders-dev bubblewrap localsearch xdg-user-dirs-gtkArch Linux:
sudo pacman -S meson ninja blueprint-compiler gcc glib2 gtk4 libadwaita gnome-desktop-4 gnome-autoar glycin libportal libportal-gtk4 tinysparql icu gexiv2 gdk-pixbuf2 gst-plugins-base libselinux libcloudproviders bubblewrap localsearch xdg-user-dirs-gtkNote: If you are on an older distribution version, some package names or versions might slightly differ.
glib2-devel(>= 2.84.0)gtk4-devel(>= 4.22.0)libadwaita-devel(>= 1.8.alpha)gnome-desktop-devel(>= 43)gnome-autoar-devel(>= 0.4.4)glycin-devel,glycin-gtk4-devel(>= 2)libportal-devel,libportal-gtk4-develtinysparql-devel(>= 3.8)libicu-devel(>= 56)gexiv2-develgdk-pixbuf2-develgstreamer1-plugins-base-devellibselinux-devellibcloudproviders-devel
meson(>= 0.60.0)ninja-buildblueprint-compiler(>= 0.19.0)gcc/clang
bubblewrap(used for security sandboxing)localsearch(used for fast search and metadata)xdg-user-dirs-gtk(used for default bookmarks)
WARNING: This project was vibecoded; replacing a core system component can make your desktop environment unstable. Proceed with caution !
Configure the project to install into /usr instead of /usr/local:
meson setup --prefix=/usr build --reconfigureIt is recommended to back up the old binary before removing it:
# Quit Nautilus if it is running
nautilus -q
# Backup and remove
sudo mv /usr/bin/nautilus /usr/bin/nautilus.bakRun the compilation and installation to /usr/bin/:
sudo ninja -C build installRestart Nautilus to verify the changes:
nautilus --new-windowIf you encounter issues, you can restore the old version with:
sudo mv /usr/bin/nautilus.bak /usr/bin/nautilus
To test without installing on the system, you can use:
nautilus -q
./build/src/nautilus --new-windowor via the Meson development environment:
meson devenv -C build ./src/nautilus