Skip to content

CheikhNaro/nautilus

Repository files navigation

Demo.mp4

Nautilus

This repository contains the source code for the GNOME Files application (Nautilus).

Build Dependencies

Before compiling and installing Nautilus, you must install the following dependencies on your system.

Quick Dependency Installation (One-liner)

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 nautilus

Ubuntu / Debian:

sudo apt build-dep nautilus

If 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-gtk

Ubuntu / 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-gtk

Arch 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-gtk

Note: If you are on an older distribution version, some package names or versions might slightly differ.

Detailed List of Libraries

  • 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-devel
  • tinysparql-devel (>= 3.8)
  • libicu-devel (>= 56)
  • gexiv2-devel
  • gdk-pixbuf2-devel
  • gstreamer1-plugins-base-devel
  • libselinux-devel
  • libcloudproviders-devel

Build Tools

  • meson (>= 0.60.0)
  • ninja-build
  • blueprint-compiler (>= 0.19.0)
  • gcc / clang

Runtime Dependencies

  • bubblewrap (used for security sandboxing)
  • localsearch (used for fast search and metadata)
  • xdg-user-dirs-gtk (used for default bookmarks)

Replacing System Nautilus with this Version

WARNING: This project was vibecoded; replacing a core system component can make your desktop environment unstable. Proceed with caution !

1. Prepare the Build

Configure the project to install into /usr instead of /usr/local:

meson setup --prefix=/usr build --reconfigure

2. Remove System Nautilus

It 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.bak

3. Compile and Install the New Version

Run the compilation and installation to /usr/bin/:

sudo ninja -C build install

4. Verification

Restart Nautilus to verify the changes:

nautilus --new-window

If you encounter issues, you can restore the old version with: sudo mv /usr/bin/nautilus.bak /usr/bin/nautilus


Development and Testing

To test without installing on the system, you can use:

nautilus -q
./build/src/nautilus --new-window

or via the Meson development environment:

meson devenv -C build ./src/nautilus

About

Nautilus with search feature in "OPEN WITH" context

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages