Skip to main content

GNOME

Base GNOME packages for the full GNOME experience. Bundle with other packages to prevent package conflicts providing the same functionality.

TIP: Include any and all packages you want installed in a list to pacman. That way pacman will resolve package dependencies correctly and not install packages that would cause conflicts with other packages later on in the setup; e.g. the gnome group installs pulseaudio, but pulseaudio and pipewire (see below) are conflicting packages, meaning they can't both be installed at the same time prompting you to remove one or the other. Explicitly selected packages take precedence over packages auto-selected via dependencies.

pacman -S gnome gnome-extra

Setting up display manager

Start GDM on boot

Start the GNOME Display Manager (GDM) on boot to be presented with a graphical login screen.

systemctl enable gdm

When using NVIDIA proprietary drivers

For the longest time NVIDIA only supported their EGLStreams interface for Wayland sessions. Despite GNOME having support for both EGLStreams and the more popular GBM interface, the GNOME Display Manager disables the Wayland session via a udev rule, if it detects the proprietary driver is in use, to prevent problems with the login screen not showing.

To force enable GNOME's Wayland session even with the proprietary NVIDIA driver installed, check the following files:

  • /etc/gdm/custom.conf: Make sure the line WaylandEnable=false is commented out (should be by default)
  • /usr/lib/udev/rules.d/61-gdm.rules: Rename the file and create a symbolic link to /dev/null
    ln -s /dev/null /usr/lib/udev/rules.d/61-gdm.rules
    

Keep in mind that Wayland depends on Kernel Mode Setting to function properly, so it is necessary to include the appropriate kernel modules in the initramfs and setting the kernel commandline parameter to enable KMS support for the proprietary NVIDIA driver!

See Graphics Cards on how to set up early KMS with the proprietary NVIDIA driver.

Set Keymap for GDM

NOTE: Executing this command while chrooted into an installation will produce an error that the locale could not be found. Set after rebooting the system, press CTRL + ALT + F3 when GDM shows up (or any F-key between 2 and 7) to switch tty, log in via the command line and execute the command as root.

localectl set-x11-keymap de

See instructions at Plymouth page on how to set up Plymouth.

Misc additional packages

Additional packages you might want:

Name Description
gthumb Image viewer with simple editing capabilities
lollypop Music player for GNOME
seahorse Secrets manager (login credentials, SSH keys, GPG keys)
fwupd Firmware update manager; allows UEFI capsule updates in GNOME Software if supported by firmware
pacman -S gthumb lollypop seahorse fwupd

Replace repo packages with Flatpak packages

If you wish to use the Flatpak versions of packages that the GNOME desktop team maintains themselves, you can uninstall the packages that are available as Flatpak in GNOME Software.

Remove the repo packages with pacman:

pacman -Rn gnome-{calculator,calendar,characters,clocks,connections,contacts,font-viewer,logs,maps,music,text-editor,weather,games} epiphany totem loupe snapshot simple-scan baobab evince sushi cheese seahorse dconf-editor endeavour d-spy gnome-tweaks

Install the core GNOME apps as Flatpaks:

flatpak install flathub org.gnome.{Calculator,Calendar,Snapshot,Characters,clocks,Connections,Contacts,baobab,SimpleScan,Extensions,font-viewer,Loupe,Logs,Maps,Music,TextEditor,Weather,Epiphany,Papers,meld,seahorse.Application,} ca.desrt.dconf-editor io.github.alainm23.planify page.tesk.Refine io.bassi.Amberol com.rafaelmardojai.Blanket page.kramo.Cartridges dev.geopjr.Collision re.sonny.Commit re.sonny.OhMySVG com.github.huluti.Curtail com.belmoussaoui.Decoder app.drey.Dialect app.drey.EarTag io.github.mrvladus.List com.github.finefindus.eyedropper com.github.ADBeveridge.Raider com.mardojai.ForgeSparks de.haeckerfelix.Fragments org.gnome.gitlab.YaLTeR.Identity io.gitlab.adhami3310.Impression org.gnome.World.Iotas io.gitlab.news_flash.NewsFlash com.belmoussaoui.Obfuscate org.gnome.World.PikaBackup org.gnome.Podcasts de.schmidhuberj.DieBahn net.nokyan.Resources com.rafaelmardojai.SharePreview io.gitlab.adhami3310.Converter dev.geopjr.Tuba io.github.idevecore.Valuta org.gnome.gitlab.YaLTeR.VideoTrimmer com.rafaelmardojai.WebfontKitGenerator com.github.hugolabe.Wike dev.bragefuglseth.Keypunch io.github.bytezz.IPLookup io.github.giantpinkrobots.varia com.github.johnfactotum.QuickLookup org.telegram.desktop com.vysp3r.ProtonPlus com.mattjakeman.ExtensionManager com.github.tchx84.Flatseal io.github.flattool.Warehouse dev.vencord.Vesktop org.nickvision.tubeconverter org.libreoffice.LibreOffice com.obsproject.Studio org.prismlauncher.PrismLauncher com.heroicgameslauncher.hgl net.lutris.Lutris org.scummvm.ScummVM org.pipewire.Helvum io.github.ronniedroid.concessio net.natesales.Aviator de.hummdudel.Libellus com.github.geigi.cozy com.github.johnfactotum.Foliate dev.qwery.AddWater io.github.realmazharhussain.GdmSettings io.github.dzheremi2.lrcmake-gtk me.sanchezrodriguez.passes garden.jamie.Morphosis io.gitlab.elescoute.password io.github.vmkspv.netsleuth io.github.amit9838.mousam info.rttr.Return-To-The-Roots io.github.flattool.Ignition de.k_bo.Televido org.gnome.GHex app.drey.KeyRack org.gnome.Showtime io.github.nokse22.inspector it.mijorus.smile org.gnome.Evolution com.cassidyjames.butler org.pitivi.Pitivi cafe.avery.Delfin io.github.giantpinkrobots.flatsweep org.gnome.Gtranslator io.openrct2.OpenRCT2 org.tabos.saldo org.gnome.design.Contrast io.github.Foldex.AdwSteamGtk com.github.taiko2k.avvie org.nickvision.tagger org.gnome.gitg com.belmoussaoui.ReadItLater xyz.ketok.Speedtest org.gabmus.whatip org.gustavoperedo.FontDownloader com.belmoussaoui.snowglobe org.gnome.Geary org.gnome.Calls io.github.celluloid_player.Celluloid io.github.zhrexl.thisweekinmylife fr.handbrake.ghb org.soundconverter.SoundConverter io.missioncenter.MissionCenter org.gnome.NetworkDisplays com.makemkv.MakeMKV org.gnome.gitlab.somas.Apostrophe

List of GNOME core apps on Flathub:

Name ID Description
Calculator org.gnome.Calculator Perform arithmetic, scientific or financial calculations
Calendar org.gnome.Calendar Manage your schedule
Calls org.gnome.Calls Make phone and SIP calls
Camera org.gnome.Snapshot Take pictures and videos
Characters org.gnome.Characters Character map application
Clocks org.gnome.clocks Keep track of time
Color Profile Viewer org.gnome.ColorViewer Inspect and compare installed color profiles
Connections org.gnome.Connections View and use other desktops
Contacts org.gnome.Contacts Manage your contacts
Disk Usage Analyzer org.gnome.baobab Check folder sizes and available disk space
Document Scanner org.gnome.SimpleScan Make a digital copy of your photos and documents
Document Viewer org.gnome.Evince Document viewer for popular document formats
Extensions org.gnome.Extensions Manage your GNOME Extensions
Fonts org.gnome.font-viewer View fonts on your system
Image Viewer org.gnome.Loupe View images
Logs org.gnome.Logs View detailed event logs for the system
Maps org.gnome.Maps Find places around the world
Music org.gnome.Music Play and organize your music collection
Text Editor org.gnome.TextEditor Edit text files
Videos org.gnome.Totem Play movies
Weather org.gnome.Weather Show weather conditions and forecast
Web org.gnome.Epiphany Browse the web

List of GNOME internet communication apps on Flathub:

Name ID Description
Eolie org.gnome.Eolie Web browser
Evolution org.gnome.Evolution Manage your email, contacts and schedule
Fractal org.gnome.Fractal Chat on Matrix
Geary org.gnome.Geary Send and receive email
Polari org.gnome.Polari Talk to people on IRC

List of GNOME multimedia apps on Flathub:

Name ID Description
Cheese org.gnome.Cheese Take photos and videos with your webcam, with fun graphical effects
Decibels org.gnome.Decibels Play audio files
EasyTAG org.gnome.EasyTAG Edit audio file metadata
Eye of GNOME org.gnome.eog Browse and rotate images
gThumb Image Viewer org.gnome.gThumb View and organize your images
Identity org.gnome.gitlab.YaLTeR.Identity Compare images and videos
Lollypop org.gnome.Lollypop Play and organize your music collection
Photos org.gnome.Photos Access, organize and share your photos on GNOME
Podcasts org.gnome.Podcasts Listen to your favorite shows
Rhythmbox org.gnome.Rhythmbox3 Play and organize all your music
Shotwell org.gnome.Shotwell Digital photo organizer
Showtime org.gnome.Showtime Watch without distraction
Sound Juicer org.gnome.SoundJuicer CD ripper with a clean interface and simple preferences
Sound Recorder org.gnome.SoundRecorder A simple, modern sound recorder for GNOME
Video Trimmer org.gnome.gitlab.YaLTeR.VideoTrimmer Trim videos quickly

List of GNOME productivity apps on Flathub:

Name ID Description
Apostrophe org.gnome.gitlab.somas.Apostrophe Edit Markdown in style
Bookup org.gnome.gitlab.ilhooq.Bookup Streamline notes with Markdown!
Break Timer org.gnome.BreakTimer Computer break reminders for GNOME
Citations org.gnome.World.Citations Manage your bibliography
Endeavour org.gnome.Todo Manage your tasks
Fava org.gnome.gitlab.johannesjh.favagtk Do your finances using fava and beancount
Getting Things GNOME! org.gnome.GTG Personal tasks and TODO-list items organizer
Gnote org.gnome.Gnote A simple note-taking application
Hamster org.gnome.Hamster Personal time keeping tool
Iotas org.gnome.World.Iotas Simple note taking
Notes org.gnome.Notes Notes for GNOME
Papers org.gnome.Papers Read documents
Pinpoint org.gnome.Pinpoint Excellent presentations for hackers
Pulp org.gnome.gitlab.cheywood.Pulp Skim excessive feeds
Recipes org.gnome.Recipes GNOME loves to cook
Solanum org.gnome.Solanum Balance working time and break time
Translation Editor org.gnome.Gtranslator Translate and localize applications and libraries

List of GNOME games on Flathub:

Name ID Description
Aisleriot Solitaire org.gnome.Aisleriot Play many different solitaire games
GNOME Chess org.gnome.Chess Play the classic two-player board game of chess
Crossword Editor org.gnome.Crosswords.Editor Create crossword puzzles
Crosswords org.gnome.Crosswords Solve crossword puzzles
Four-in-a-row org.gnome.Four-in-a-row Make lines of the same color to win
HexGL org.gnome.HexGL Space racing game
Hitori org.gnome.Hitori Play the Hitori puzzle game
GNOME Klotski org.gnome.Klotski Slide blocks to solve the puzzle
Lights Off org.gnome.LightsOff Turn off all the lights
Mahjongg org.gnome.Mahjongg Match tiles and clear the board
GNOME Mines org.gnome.Mines Clear hidden mines from a minefield
Nibbles org.gnome.Nibbles Guide a worm around a maze
Quadrapassel org.gnome.Quadrapassel Fit falling blocks together
Reversi org.gnome.Reversi Dominate the board in a classic reversi game, or play the reversed variant
GNOME Robots org.gnome.Robots Avoid the robots and make them crash into each other
GNOME Sudoku org.gnome.Sudoku Test yourself in the classic puzzle
Swell Foop org.gnome.SwellFoop Clear the screen by removing groups of colored and shaped tiles
Tali org.gnome.Tali Roll dice and score points
GNOME Taquin org.gnome.Taquin Slide tiles to their correct places
GNOME Tetravex org.gnome.Tetravex Reorder tiles to fit a square
GNOME 2048 org.gnome.TwentyFortyEight Obtain the 2048 tile
Atomix org.gnome.atomix Build molecules out of single atoms
Five or More org.gnome.five-or-more Remove colored balls from the board by forming lines
gbrainy org.gnome.gbrainy gbrainy is a game to train memory, arithmetical, verbal and logical skills.
Convolution org.gnome.gitlab.bazylevnik0.Convolution Maze escaping game

List of GNOME tools on Flathub:

Name ID Description
Brasero org.gnome.Brasero Create and copy CDs and DVDs
Buffer org.gnome.gitlab.cheywood.Buffer Embrace ephemeral text
Cowsay org.gnome.gitlab.Cowsay State of the art Cowsay generator
Déjà Dup Backups org.gnome.DejaDup Protect yourself from data loss
File Roller org.gnome.FileRoller Open, modify and create compressed archive files
Firmware org.gnome.Firmware Install firmware on devices
gedit org.gnome.gedit Text editor
GMetronome org.gnome.gitlab.dqpb.GMetronome Maintain a steady tempo
GNOME Network Displays org.gnome.NetworkDisplays Screencasting for GNOME
Keysign org.gnome.Keysign OpenPGP Keysigning helper
Passwords and Keys org.gnome.seahorse.Application Manage your passwords and encryption keys
Pika Backup org.gnome.World.PikaBackup Keep your data safe
Secrets org.gnome.World.Secrets Manage your passwords
Sushi org.gnome.NautilusPreviewer Provide a facility for quickly viewing different kinds of files

List of GNOME development apps on Flathub:

Name ID Description
Boxes org.gnome.Boxes Virtualization made simple
Builder org.gnome.Builder Create applications for GNOME
D-Spy org.gnome.dspy Analyze D-Bus connections
Devhelp org.gnome.Devhelp A developer tool for browsing and searching API documentation
GHex org.gnome.GHex Inspect and edit binary files
gitg org.gnome.gitg Graphical user interface for git
Glade org.gnome.Glade Create or open user interface designs for GTK+ applications
Meld org.gnome.meld Compare and merge your files

GNOME Keyring

Gnome Keyring is a useful tool for securely storing and managing passwords, SSH keys, and other sensitive information.

As gnome-keyring is already a member of the gnome package group, it should already be installed.

To manage the contents of gnome-keyring install seahorse:

pacman -S seahorse

SSH Keys

You can use gnome-keyring to store the passphrases of your SSH keys for passwordless authentication. However, the systemd user service file does not include the ssh component.

To include the ssh component, edit the systemd unit file:

systemctl edit --user gnome-keyring-daemon

This opens an editor with a temporary drop-in file. In here you can override the parameters of the systemd unit file:

NOTE: To properly replace a parameter, it first needs to be empty and then repeated on the next line with the value you want it to have. Additionally, setting the SSH_AUTH_SOCK environment variable will make applications aware of an already unlocked SSH key.

[Service]
ExecStart=
ExecStart=/usr/bin/gnome-keyring-daemon --foreground --components="pkcs11,secrets,ssh" --control-directory=%t/keyring

Save the file and close the editor. It will get automatically reloaded by systemd if necessary.

In order to reveal to applications that an SSH key has already been unlocked, set an environment variable for the current user:

echo SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/keyring/ssh >> ~/.config/environment.d/envvars.conf

Re-login for the changes to take effect.

Remove potentially unwanted packages

GNOME Dev Tools

pacman -Rsc accerciser devhelp glade gnome-builder sysprof

User Software

pacman -Rsc gnome-recipes

Games

pacman -Rsc five-or-more four-in-a-row gnome-chess gnome-klotski gnome-mahjongg gnome-mines gnome-nibbles gnome-sudoku gnome-taquin gnome-tetravex hitori iagno lightsoff polari quadrapassel swell-foop tali