People who used Windows 7 and earflier version would remember "My Computer". It's called "This PC" now a days but does the same job.
You click on the icon, and it opens the file explorer and shows you the meta folders (Documents, Pictures, Downloads, etc.) and all the drives on the system and any other mounted devices.
Windows 8 My Computer
This is useful for many people to see all the locations in the system at a glance.
On the Linux side, GNOME used to have Other Locations page in Nautilus file manager. It served as a central place where you could access network shares, cloud storage such as Google Drive, removable drives, and even your root partition.
Other Locations view in older GNOME versions
Starting with GNOME 47, that page was removed. In its place, Nautilus introduced a dedicated Network folder, while local drives and partitions were moved directly into the sidebar.
This makes sense for systems with only a few drives, but some users still prefer to have a dedicated page that shows everything in one place.
Meet My Computer for Nautilus
My Computer for Nautilus is an extension for GNOME Files (Nautilus) that brings back a dedicated computer view.
Instead of scattering drives and network locations across different places, it puts all your drives, partitions, removable media, and network mounts into a single, organized page. It also comes with a handful of useful features that make Nautilus much more customizable than it is by default.
While bringing back a dedicated Computer view is its primary purpose, My Computer goes beyond that. It adds a few quality-of-life improvements that make Nautilus even more flexible.
Let's have a look at its features.
A dedicated Computer view
The most noticeable change is the new Computer entry that appears at the top of the Nautilus sidebar.
Clicking it opens a dedicated page where all your drives, partitions, removable media, and network locations are neatly organized.
My Computer Panel
You can even make Nautilus open in this view every time it starts.
Simply right-click the Computer entry in the sidebar and select My Computer Settings.
Access My Computer Settings
Under the General tab, enable Start on the Computer View.
Start in My Computer
Customize what appears in the Computer View
The Computer page is fully customizable.
If you don't want certain sections, such as Preferred Folders, Network, or Removable Media, you can simply hide them. This lets you tailor the page to match your workflow.
For example, you can turn it into a dedicated drives overview by hiding everything except storage devices.
Panel Item Visibility
I have removed the Preferred Folders and made the Computer page show only Drives and Network Drives in the image below:
Hidden Preferred Folders
Enjoy Miller columns
One of the most interesting additions is support for Miller Columns.
If you've used macOS Finder before, you'll immediately recognize this layout. Instead of opening each folder in a new window or replacing the current view, folders expand into the next column, making navigation much faster.
0:00
/0:20
Miller Column View
The extension also includes a preview pane. Selecting an image or video displays a thumbnail along with basic information about the file without opening it.
Customize the sidebar
Another feature I like is the ability to customize Nautilus' sidebar.
Normally, entries such as Recents and Starred cannot be removed. My Computer adds simple toggle switches that let you hide or show these built-in entries.
Sidebar Visiblity
To customize the sidebar, open My Computer Settings and switch to the Sidebar tab.
For example, I hid Recents, Starred, and Network to create a much cleaner sidebar.
Gallery showing the sidebar before and after disabling built-in items.
Customize storage bar colors
If you like personalizing your desktop, My Computer also lets you customize the storage usage bars shown beside your drives.
Open My Computer Settings, switch to the Computer tab, scroll down to Bar Color, and change Color Mode to Custom Gradient.
Bar Color Settings
You can then choose two colors to create your own gradient. Here's how mine turned out.
Colored View
Install My Computer
My Computer is under active development. Since it is a Nautilus extension rather than a GNOME Shell extension, you'll need to install it as a system package or use the project's installer script.
On Ubuntu 26.04 and newer versions, install it from the official PPA:
If you're using another distribution, including Arch Linux, the project also provides a universal installation script:
curl -fsSL https://raw.githubusercontent.com/yannmasoch/nautilus-my-computer/main/install.sh | sh
Wrapping Up
My Computer brings back several features that many long-time GNOME users have missed over the years. While it doesn't recreate the old Other Locations page exactly, it offers a practical alternative by gathering everything into a dedicated Computer view.
The addition of Miller Columns is another nice to have feature. It's a navigation style I've wanted to see in Nautilus for quite some time. Elementary OS' file manager has offered a similar feature for years, but I never found a reliable way to use it on GNOME until now.
If you're happy with Nautilus' current sidebar-centric approach, you may not feel the need for this extension. But if you miss having a dedicated Computer page or want more control over the file manager's interface, My Computer is definitely worth trying.
Would you install it, or do you prefer Nautilus the way it is? Let me know your thoughts in the comments.
Getting Windows-Like "My Computer" Feel on Linux File Manager
Then I stumbled across MangoWM, and I couldn't leave it alone because it offers a similar scrolling mode as compared to Niri, plus more, while still being simple to build from source code.
MangoWM is a Wayland compositor built on top of wlroots and heavily inspired by dwl (which itself draws from dwm).
On paper, it sounds like yet another minimal tiling compositor. But when I actually sat with it for a few days, something clicked. This is a guide to what I tried, what I discovered, and what made me stop going back to Niri.
π
Niche window managers like Niri, MangoWM, Hyprland often require configuring elements with dot files. I would consider these more of an expert level domain for Linux users. If these things are new to you and you still want to try, use dot files from the developer or trusted repos and try them in a VM or a spare test machine.
What is MangoWM, anyway?
Before I get into the setup, let me introduce MangoWM.
0:00
/1:35
A short video of Mango WM on Arch Linux
MangoWM (sometimes referred to as "mango") is a Wayland compositor, meaning it replaces not just your window manager but the entire display server layer above the kernel. It handles input, rendering, compositing, and window management all in one relatively small binary.
It was created by a developer named DreamMaoMao, and it takes the "as lightweight as dwl, built in seconds" philosophy seriously, while tacking on a surprisingly complete feature set: smooth animations, multiple layout modes, per-tag window rules, blur and shadow effects via scenefx, scratchpads, hot-reload config, and excellent XWayland compatibility for the legacy apps you can't avoid.
The tag system (borrowed from dwm) is worth understanding upfront. Instead of numbered workspaces that you switch between sequentially, tags are labels you assign to windows. A window can carry multiple tags at once, and you can view any combination of tags simultaneously. It's a different mental model, and once it clicks, going back to linear workspaces feels oddly constraining.
Installing MangoWM on your system
MangoWM comes as a pre-built package on Arch Linux, Fedora, and NixOS. If you're just trying Mango for the first time, I highly suggest running it on Arch Linux. It eases the overall installation with just a single command.
On Arch Linux (which includes Kali, Manjaro, and EndeavourOS users), the cleanest route is through the AUR. You need an AUR helper like yay or paru:
yay -Syu scenefx0.4
yay -Syu mangowm-git
This pulls the latest git build.
If you get classic Arch Linux error messaging saying, "a manual intervention is required," then it's likely you're missing -yu flag with AUR helper.
If you're using a display manager like SDDM or GDM, MangoWM registers a desktop session entry during install, so it should appear as a session option at the login screen.
When you open Mango WM for the very first time, all you get is a blank screen. When you hit Alt+Enter(Return), foot,(the default terminal emulator) opens, and you can start configuring the window manager from there.
Mango WM screen after opening up two terminal instance
Getting a working config to start from
MangoWM reads the config from ~/.config/mango/config.conf. On a fresh install, the system-wide default lives at /etc/mango/config.conf. The first thing I did was copy it over:
If you want a more complete starting point with Waybar, Rofi, wallpaper setup, and all, the developer maintains an example config repo.
I tried the developer-provided config, but didn't find the shortcut intuitive to use. So I went ahead and wrote my own config file from scratch. Mango WM documentation really helped me to copy configuration snippets that I wanted to achieve, a keybinding similar to Sway and i3 setup.
I found this genuinely useful as a reference, even though I ended up rewriting most of it from scratch within a few sessions. Reading through someone else's complete config taught me what was possible much faster than the docs alone would have.
Here's my complete config in one file. The default configuration uses Alt+arrow keys instead of a Sway-like configuration of utilizing hjkl Vim-like workflow.
Learning the tag system
This is where MangoWM diverges most sharply from compositors like Sway, Hyprland, or Niri, all of which use the workspace model I'd been on for years.
In MangoWM, every window is assigned one or more tags (numbered 1β9 by default). You view tags rather than switch to workspaces. The keybindings to know:
Keybind
Action
Ctrl + 1-9
View a tag
Alt + 1-9
Move the focused window to a tag
The thing that surprised me: you can view multiple tags simultaneously by pressing Ctrl multiple numbers. Two related projects on different tags? Hold Ctrl and press both numbers. They merge into a single view.
I resisted this for about a day. Then I stopped resisting. There's something genuinely freeing about being able to pull in exactly the windows you want without reorganizing anything.
Switching between layouts
One of MangoWM's most practical features is per-tag layout switching. You're not locked into master-stack globally. For each tag, you can cycle through:
Master-Stack: the standard big window on the left, stack on the right
Scroller: windows scroll horizontally, similar to Niri's model (this one made me feel at home)
Monocle: one maximised window at a time, others hidden
Grid: even tiling across available space
Deck: stacked cards, only the top one visible
The default keybind to cycle layouts is Super + N. I ended up assigning specific layouts to specific tags because my work context maps cleanly to them: a Monocle tag for focused writing, a Scroller tag for reference browsing, and a Master-Stack tag for terminal work.
0:00
/0:23
Switching layout in Mango WM with Super + N
I have bind Alt + s to get a similar scrollable model like Niri. Similarly, to switch to normal tiling, I have bind Alt + t. To cycle windows, I have bound Super + Shift +hjkl and Super + Shift + arrow keys.
This kind of per-context layout was something I kept wishing Niri had. Niri's scrollable workspace model is clever, but it's one model. MangoWM gives you a toolkit.
Setting up your bar, launcher, and wallpaper
MangoWM doesn't bundle these, so you have to bring your own. The recommended options from the official quick-start docs are:
Status bar: Waybar, eww, AGS, Quickshell. I use Waybar all the way.
Launcher: rofi, fuzzel, bemenu, wmenu. I prefer Fuzzel as an application launcher on Wayland.
Wallpaper: You have these options: swww (awww) and swaybg. Btw, I use azote for setting up wallpaper. It offers the ability to set different wallpapers for different monitors and presents a nice gallery of wallpapers to choose from.
Notifications: swaync, mako, dunst. I prefer fnott as my notification daemon on Wayland.
I was already running Waybar with a Tokyo Night theme on Niri, and I carried the whole config over with minimal changes. The IPC support in MangoWM means you can expose workspace (tag) state to Waybar properly. The example config in the developer's repo shows exactly how.
To autostart these tools, MangoWM's config has an exec-once directive (similar to Hyprland):
Within about an hour, I had a working bar and wallpaper. The whole setup felt familiar to anyone who's configured a wlroots-based compositor before.
Tuning the visual effects
This is where I spent more time than I expected. MangoWM ships with window effects powered by scenefx: blur, drop shadows, corner radius, and per-window opacity. These live in the [effects] section of the config:
The hot-reload support means you can adjust values and see changes without restarting anything. Just save the file. I found myself iterating on corner radius and shadow softness for an embarrassing amount of time.
Coming from Niri, which keeps visual effects minimal, this felt almost indulgent. But it also never felt slow. The scenefx rendering layer is efficient enough that I didn't notice a GPU performance difference on my i5 with integrated graphics.
Window rules and per-app behaviour
MangoWM supports window rules that let you control how specific applications open: which tag they land on, what layout they use, whether they float, and their starting dimensions.
The pin option keeps a floating window visible across all tags, useful for PiP video, a music player, or a floating terminal you want everywhere.
I set up rules for Firefox (always tag 2, master-stack), my terminal (tag 1, no floating), and a scratchpad terminal (floating, pinned). This level of control over window placement is something I missed badly whenever I used a compositor without it.
Should you try MangoWM?
If you're already on a tiling Wayland compositor and you're happy with it, the answer depends on what's missing.
MangoWM is worth trying if you want more layout flexibility than a single-model compositor gives you, if you like the dwm tag philosophy but want modern Wayland features alongside it, or if you want smooth animations and window effects without moving to a heavier compositor like Hyprland.
It's probably not the right choice if you want a point-and-click GUI configuration tool, if you're new to tiling window managers in general, or if your distro doesn't package it and you're not comfortable building from source.
For me, the combination of fast compilation, hot-reload config, per-tag layouts, and genuinely good XWayland support hit a set of itches I didn't fully know I had. I came in expecting to write a quick "I tried it" post and came out with a compositor I'm going to stay on.
No doubt, Niri is a good window manager. But I'm sticking with MangoWM for my daily use.
One of the biggest strengths of KDE Plasma is its customization, and the System Monitor is no exception.
I have shown this with KDE Konsole tweaks earlier and now I am here to do the same with KDE System Monitor.
Like most other parts of the Plasma desktop, the System Monitor offers plenty of customization options that are easy to overlook.
Let me show you how to transform the default KDE Plasma System Monitor into a clean and powerful system monitoring dashboard.
Understanding the System Monitor Layout
Before we start customizing the System Monitor, let's first understand how KDE Plasma System Monitor arranges sensors on the page.
Take a look at the sample layout diagram below.
KDE Plasma System Monitor Layout
This gives you a general idea of how different elements are organized inside the System Monitor.
At the top is the window layer, where everything is arranged in rows. Inside each row is a column layer, where items are arranged into columns.
Within each column, you'll find sections. These sections hold the individual widgets that display system information.
When you enter the System Monitor's edit mode, which we'll cover in the next section, you can hover over the layout to identify these different layers.
As you add or modify widgets, clicking on a particular layer only shows the options available for that layer.
For example, clicking the column layer lets you add more columns, but not sections.
Likewise, clicking the section layer lets you add additional sections, but not columns.
Keeping this layout in mind will make it much easier to customize the System Monitor without any confusion.
As mentioned earlier, KDE Plasma's default System Monitor includes a few pre-built pages that display essential system information.
If you look closely, you'll notice that each item on these pages is essentially a widget, similar to the widgets you can place on the Plasma desktop.
In other words, the System Monitor app works like a canvas where you can add widgets and configure them however you like.
π‘
KDE System Monitor has the concept of "pages" and they are configured to display specific system information. If you look closely, you'll notice that each item on these pages is essentially a widget, similar to the widgets you can place on the Plasma desktop. In other words, the System Monitor app works like a canvas where you can add widgets and configure them however you like. This is what we are going to do.
Add a New Page
By default, the Plasma System Monitor includes four pages:
Overview: A dashboard that displays multiple system statistics.
Applications: A list of running applications and their resource usage.
History: Live graphs for CPU, GPU, memory, and network activity.
Processes: A list of running processes and their resource usage.
For this guide, we'll create a new page instead of modifying the existing ones.
Click the menu button in the top-left corner and select Add New Page.
Add a new page
In the dialog that appears, enter a name for the page and choose an icon.
Next, set Load this page to During application startup.
Finally, click Add.
Add page details
The new page will now appear in the sidebar. Select it to open it.
You'll be greeted with an empty page. This is where we'll build our custom system monitoring dashboard.
Edit the Page
Now that the new page is ready, it's time to customize its contents.
Open the new page and click the Edit Page button in the top-right corner.
Since the page currently contains only one system monitor widget, click on it. This opens a sidebar where you can configure the selected widget.
Let's turn it into a horizontal bar chart that displays the load on each CPU core.
In the sidebar, change the following settings:
Title: CPU Load Graph (or any name you prefer)
Display Style: Horizontal Bars
Sensors: Select the usage percentage for all CPU cores, as shown in the clip below.
Editing the first KDE Plasma System Monitor widget.
Selecting Sensors
Choosing the right sensors is the most important part of building your dashboard. Most System Monitor widgets work similarly to Plasma desktop widgets and let you display different types of system information.
Depending on the widget, you'll usually find two sensor fields:
Sensors: Displays the selected sensors as charts, graphs, or other visual elements. You can select multiple sensors.
Text-only Sensors: Displays the selected sensors as plain text instead of charts or graphs.
Clicking either field opens a categorized list of available sensors.
For example, CPU-related sensors, such as usage percentage, per-core statistics, and CPU temperature, are available under the CPU category.
Likewise, RAM-related sensors are grouped under Memory β Physical Memory.
Here are some of the main sensor categories you'll come across:
CPUs: CPU usage, per-core statistics, temperature, and related metrics.
Disks: Disk usage, free space, read/write activity, and other storage information.
GPU: GPU usage, temperature, video memory, and related statistics.
Memory: RAM and swap usage.
Network Devices: IP address, download and upload speed, and other network statistics.
Operating System: Kernel version, hostname, uptime, and other system details.
The exact sensors available will depend on your hardware and system configuration.
Adding a New Row
Now that we've added the first widget, let's create a new row to add another one.
While still in edit mode, click Add Row. A new empty system monitor widget will appear below the existing one.
Add a row
This time, we'll configure it as a pie chart to display used and free physical memory (RAM).
If you'd like to see the complete process, check out the short clip below.
Otherwise, configure the widget with these settings:
Title: RAM Usage
Display Style: Pie Chart
Sensors: Used Physical Memory Percentage and Free Physical Memory Percentage
Adding a RAM usage pie chart to the dashboard.
You can also customize the chart colors if you like, but we'll leave them at their default values for this guide.
Add a Column
If the first section looks a bit too wide, you can split the available space by adding another column.
While in edit mode, click the topmost layer of the widget. This opens the menu for that layer.
π
Check the layout diagram to know the arrangements.
From there, select Add β Add Column. The process is shown in the clip below.
Adding a new column using the top layer menu.
A new system monitor widget will appear to the right of the existing one. At the same time, the original widget will automatically resize to make room for the new column.
Using the same editing process as before, I configured this new widget with the Color Grid display style to show additional system information.
Creating a Color Grid widget to display system information.
Change the Position of a Widget
After setting up the dashboard, I felt that the Color Grid would look better before the CPU Load graph.
To move it, I clicked the topmost part of the widget to open that layer's menu.
From there, I clicked on Move and simply dragged the widget to the left of the CPU Load graph.
Moving the column item.
That's all there is to it.
Organize Widgets with Sections
So far, we've added rows and columns and rearranged widgets.
There is one more organizational feature in the System Monitor called Sections.
Sections let you group related widgets together. For example, you can keep all hardware-related sensors in one section and system information in another.
Let's see how it works. I'll demonstrate this on a new page. By now, you should already know how to create one.
In edit mode, click the top part of the section layer, located just above the widget title.
From the layer menu, select Add β Add Section. A new widget will be added to the right of the existing one.
Both widgets now belong to the same section and share a single section header.
To separate them visually, click the section header and select Add β Add Separator.
Add items in sections.
Save Your Changes
Once you're happy with the layout, click the Save Changes button in the top bar.
Save Changes
This saves all your modifications and exits edit mode.
Your newly created pages and customized widgets will now be available whenever you open the System Monitor.
Start with Your Custom Page
After creating your custom dashboard, you may want the System Monitor to open with that page by default. Fortunately, that's easy to set up.
Click the menu button in the top-left corner and select Edit or Remove Pages.
In the Start with drop-down menu, select the page you created.
Click OK to save the changes.
Start with Custom Page
From now on, the System Monitor will open directly to your custom page every time you launch it.
Remove a Page
If you no longer need a page, you can remove it at any time.
Click the menu button in the top-left corner and select Edit or Remove Pages.
A dialog listing all available pages will appear. Click the Delete button next to the page you want to remove.
Remove a custom page from the System Monitor
Once you're done, click OK to save the changes.
If you don't want to delete a page completely, simply uncheck it in the list. This hides the page without removing it.
Download Community Pages
You don't have to build every dashboard from scratch. The KDE community has created many custom System Monitor pages that you can download and use.
As with any third-party content, install these pages with caution. They are community-created and may not have been tested by the KDE developers for security or stability.
To browse available pages, click the menu button in the top-left corner and select Get New Pages.
Browse available community created pages
This opens the online catalog, where you can click the Install button next to any page to download and add it to your System Monitor.
Export or Import Pages
If you frequently switch between systems, exporting and importing pages can save you from recreating your custom dashboards every time.
To export a page, first open the page you want to save. Then click Menu β Export Current Page. Choose a file name and click Save.
The page will be saved with the .page extension in your chosen location.
Export a page in KDE System Monitor
To use it on another system, open the System Monitor and select Menu β Import Page. Then choose the exported .page file to add it to your System Monitor.
Wrapping Up
KDE Plasma's System Monitor is much more than a tool for checking CPU and memory usage. It offers a level of customization that many graphical system monitors simply don't provide.
Despite being a GUI application, it gives you plenty of flexibility to build dashboards that suit your workflow.
Have you customized the KDE Plasma System Monitor before, or do you prefer a different system monitoring tool?
When I first heard about Niri, a Rust-powered, scrollable-tiling Wayland compositor with a supposedly different take on window management, I was both skeptical and intrigued.
Niri is not your typical tiling window manager. It describes itself as a "scrollable-tiling Wayland compositor," and that one word, scrollable changes everything.
Traditional tiling WMs like i3 or Sway divide your screen into a fixed grid. Every time you open a new window, all the existing ones get reshuffled and resized. If you have ever lost track of your editor because Firefox decided to squish it into a 200-pixel-wide column, you know exactly how jarring that can be.
Niri works differently. Windows are arranged in columns on an infinite horizontal strip that extends to the right. Opening a new window never causes existing windows to resize. You simply scroll sideways to bring other windows into view, much like flipping through pages on a tablet.
Scrollable tiling example in Niri (screenshot from their GitHub repo)
The project is inspired by PaperWM, a GNOME Shell extension that brings scrollable tiling to GNOME. The motivation behind writing a standalone compositor, rather than another GNOME extension, was to isolate workspaces per monitor properly. With Niri, each display has its own discrete set of workspaces that never bleed into one another.
And crucially, it is written entirely in Rust. Which could be a deciding point for some.
Installing Niri
Niri's availability varies across distributions. I found it packaged on Fedora, Arch Linux, and Ubuntu.
π‘
I'm using Ubuntu 26.04 VM to test the full Niri window manager experience. For virtualization, I'm using QEMU/KVM along with virt-manager GUI.
If you are on Ubuntu, you will need to install it from a custom PPA or build it from source.
Once installed, you can get a first impression of Niri by simply running a command niri while staying in the current Gnome or XFCE session. Later, you can launch Niri from your display manager (login screen).
At first boot, you are greeted by a hotkey overlay, a quick cheat sheet of default keybindings that I found genuinely useful. If you prefer to skip it on subsequent launches, a single config line handles that.
0:00
/0:21
A glimpse of using Niri Window Manager in Ubuntu 26.04
To get a feel, you can start pressing Alt+T a couple of times. This will open multiple instances of your default terminal emulator, allowing you to navigate different windows by pressing Alt + arrow keys, the Alt+hl Vim binding, or using the mouse scroll button.
The Scrollable Tiling Experience
I discovered the real appeal of Niri only after I stopped trying to use it like a traditional tiling WM. This mental model shift is important.
Rather than dividing my screen into regions, I started thinking in terms of a horizontal timeline of work. On the left, my text editor. Scroll right a bit in the terminal. Further right, browser, documentation, another terminal. Each workspace is its own infinite strip, and each monitor has its own independent set of workspaces. It felt a lot like having a very wide desk that you can slide across.
In traditional tiling setups, every time I opened a new window, I would mentally recalculate where things had moved. In Niri, nothing moved. What was on the left stayed on the left. New things appeared to the right.
Window resizing is still possible. You can adjust column widths and toggle preset sizes with keybindings. Niri also supports floating windows, which can be toggled per window via a keybinding or set as default through window rules. I used floating windows for things like file manager dialogs and calculator apps that feel awkward in a tiled layout.
The workspaces are dynamic and arranged vertically (similar to GNOME's workspace model), while windows scroll horizontally within each workspace. It is a two-axis system, and I experienced it as surprisingly intuitive once the initial learning curve passed.
Configuration
Niri uses a KDL-based configuration file, typically located at ~/.config/niri/config.kdl. KDL is a document language similar in spirit to JSON or TOML but with a different syntax. I found it clean and readable, though it is not something every user will be familiar with right away.
The configuration is comprehensive. You can define:
Keybindings for almost every action
Window rules to set default sizes, floating state, or opacity per application
Animations for window open/close, workspace switching, and scrolling
Input settings for keyboard, touchpad, and mouse
Output configuration for multi-monitor setups, including scale, mode, and position
π‘
When you're exploring Niri, you don't need to define any new configuration. The default configuration options are good to go for most users.
There is dedicated documentation on configuration. It walks through the config format with clear examples. Hot-reloading the config works via niri msg action reload-config, which makes tweaking much less painful than the "restart and hope" workflow of some other WMs.
One area I noted needs third-party tools: bars, notification daemons, and app launchers are not included. Niri is strictly the compositor. You bring your own Waybar, your own mako or dunst, your own wofi or rofi-wayland.
For experienced users, that modularity is a feature. For newcomers, it can feel like a lot to wire up.
That is precisely where Dank Linux comes in.
Enter Dank Linux: Turning Niri Into a Complete Desktop
Setting up a full Niri desktop from scratch, including bar, launcher, notifications, and theming, can take hours of configuration. I discovered Dank Linux as a project that elegantly solves this problem.
Dank Linux is not a distribution. It is a modern desktop suite built primarily around Niri (with also support Hyprland, Sway, MangoWC, labwc, and Miracle WM). At its heart is DankMaterialShell (DMS), a complete desktop shell featuring dynamic theming, smooth animations, a spotlight-style launcher, a control center, a system monitor, and beautiful widgets.
Getting started is almost embarrassingly easy:
curl -fsSL https://install.danklinux.com | sh
That single command brings up an interactive installer that handles dependencies, sets up DMS, configures your chosen compositor (I selected Niri), and even lets you pick your preferred terminal from the list: Ghostty, Kitty, or Alacritty.
Step 1
At first glance, the Dank Linux installer will ask you to choose your favorite window manager. Currently, it provides you with two options, i.e., Niri and Hyprland. Of course, I'll go with Niri this time.
Step 2
Next, choose your default terminal emulator from the list.
Step 3
It will provide you with a dependency check if any additional necessary needs need to be installed. You can toggle your selection for installation with the Space key.
Step 4
Dank Linux installer will prompt for privilege escalation. I'll go with the sudo option.
Dank Linux asking for privilege escalation
Step 5
The installer will also prompt you to replace the existing Niri config.kdl file.
Step 6
Finally, after the setup is complete, you'll get to see the message saying "Your system is ready" and be provided with a couple of commands to view its logs.
Now, it's time to log out and log back into our new Dank Linux environment. You can even first test the whole setup while staying on the Gnome desktop environment.
I tried booting directly into Niri and got stuck on the black screen issue for a couple of days. The issue was that I had been testing it in a VM, and I first needed to enable 3D acceleration in the VM.
π‘
Here's a quick troubleshooting tip. Ensure you have 3D acceleration configured on your machine either a physical or a VM. Check niri logs for any message related to /dev/dri.
Make sure to set Listen type to None and tick the checkbox next to OpenGL in Display Spice options to enable 3D acceleration if you're using QEMU/KVM.
To enable 3D acceleration, enable Listen type to None and enable OpenGL in Virt Manager
Also, you need to make changes to Video Virtio.
What DankMaterialShell Brings
After the installer finished, I experienced one of those rare moments where a Linux desktop setup just looks good out of the box. Here is what DMS provides:
Dynamic Material You Theming
Powered by matugenDMS extracts a colour palette directly from your wallpaper and applies Material Design 3 colour schemes across the entire desktop, including system applications. Switch your wallpaper, and the whole UI recolors itself. It supports automatic light/dark mode switching too, and I found the color transitions genuinely elegant.
Dank Dash
A sidebar dashboard that surfaces media controls, weather, a calendar, and system information at a glance. It is the kind of widget panel that looks like it belongs on a premium Chromebook, not a tiling WM.
Spotlight Launcher
An application launcher that supports filesystem search and is extensible through plugins. I discovered it launches apps noticeably faster than rofi on the same hardware.
Settings
Quick toggles for Wi-Fi, Bluetooth, night light, and other system settings. It mirrors the kind of control center you see in macOS or GNOME.
System Monitor (Dank GOP)
System Monitor on Niri and Dank Linux Environment
Real-time monitoring of CPU, memory, GPU, disk, and network is presented in a clean overlay that does not require opening a separate terminal window.
Dank Search (dsearch)
0:00
/0:08
Dank search (dsearch) in Dank Linux lets you search filesystems from the launcher
Though you need to install it manually, it's a blazingly fast filesystem search tool, available both from the launcher and as a standalone CLI. When using from the launcher, you can use / to begin file search.
Dank Greeter
A polished login screen (greetd greeter) that matches the rest of the DMS aesthetic, so the visual consistency starts from the moment you boot.
In case you're still getting the default gdm3 login screen or failed to install Greeted at the installation prompt, you can do so with the following command:
dms greeter install
sudo systemctl start greetd
The DMS documentation is well organized and covers compositor-specific setup, keybind configuration through IPC, theming, plugin development, and CLI usage. Running dms setup After installation, it generates starter configs for both Niri and your chosen terminal, and dms doctor runs a diagnostic if something goes wrong.
For Niri specifically, DMS integrates tightly, including IPC-based keybind hooks and compositor blur support. The Niri community maintains a Discord server, and DankMaterialShell has its own subsection there, which I found active and helpful.
π§
Niri is Wayland-only. If you rely on X11-only applications, you will need XWayland. Niri supports XWayland, but you might face issues with older apps.
In The End...
Niri's scrollable tiling approach solves real friction in the traditional tiling workflow. It gives you a compositor that is both memory-safe (It's Rust afterall) and impressively stable.
Paired with Dank Linux's DankMaterialShell, it becomes a complete, visually coherent desktop that can genuinely compete with mainstream desktop environments on aesthetics while leaving them far behind on efficiency.
Is it for everyone? Nah! If you are new to Linux desktops, the setup complexity (even with Dank Linux's one-liner) assumes some familiarity. But if you are a tiling WM user who has ever been frustrated by windows jumping around when you open something new, Niri is worth your afternoon or night, depending on whether you are a day or night person.
If you liked horizontal scrolling but don't want to go with Niri window manager and Dank Linux together, you can consider two actively maintained projects like Scroll (a fork of Sway enabling horizontal scrolling) and PaperWM, the GNOME Shell extension I mentioned in the beginning.
Enjoy the variety in the Linux desktop offering πΈ
I Finally Tried Niri, The New Way Of Tiling Linux Users Are Going Crazy About
theme.sh is a script to easily change the terminal theme. It comes with more than 400 themes, an optional interactive theme picker, and it's terminal agnostic.
Blueberry is a new Python scripts that sets your currently playing Spotify song title and album cover as your GNOME desktop wallpaper. To use it, you need Spotify Premium.
The wallpaper includes the album cover in the center, while also using the 2 main colors from the cover to paint the rest of the wallpaper. The artist and song title are also displayed on the wallpaper.