Setup

Linux is freedom! Not only that the software is (mostly) free and opensource, I also mean the freedom to personalize your own system.

This is my setup.

My computers are running openSUSE Tumbleweed. I use a desktop computer and a laptop.

Custom build PC (AMD)

Lenovo Yoga 7 2-in-1 14AHP9 (AMD)

dotFiles – Download

All config files can be found at Codeberg and are updated regularly.

Link: dotFiles (https://codeberg.org/Nasendackel/dotfiles)

Color scheme: SMYCK

I've been a huge fan of the SMYCK color scheme for years. I really like the GREEN. My color choice is therefore very much based on this scheme and combines the colors with the Adwaita Darkmode. So background color is always #1a1a1a.

Link: SMYCK Color Scheme (https://color.smyck.org/)

GTK Theme: adw-gtk3

Since I'm using the SYMCK color scheme, the accent colors from libawaita don't fit. Thanks to adw-gtk3, however, I can set #8eb33b as an accent via gtk.css (in gtk-3.0 and gtk-4.0).

@define-color accent_bg_color #8eb33b;
@define-color accent_color @accent_bg_color;

Link: adw-gtk3 (https://github.com/lassekongo83/adw-gtk3)

Icons: Papirus Icon Theme

Adwaita's icons are great, but I like the simplicity of the Papirus icons.

Using the papirus-folder package, the color of the folders can also be adjusted to fit my scheme.

papirus-folders -C green

Link: Papirus Icon Theme (https://github.com/PapirusDevelopmentTeam/papirus-icon-theme)

Compositor: Niri

Niri is a scrollable-tiling Wayland compositor. This means that workspaces are positioned one below the other like ribbons. The programs on each workspace are therefore next to each other. For me personally, this is the best concept of a UI ever.

You can also watch the developer at work, as he regularly posts on Mastodon. There is also a matrix chat and a good wiki for support. Great!

All rules for the behavior of the windows or the key combinations for operating or starting programs can be defined individually.

The keyboard shortcuts can be displayed simply by pressing Mod+Alt+h.

Niri supports fractal scaling. I have a factor of 1.25 on my desktop PC and 1.33 on my laptop. You may want to adjust this for your own system. In ~/.config/niri/config.kdl

output "DP-1" {
	scale 1.25
}
output "eDP-1" {
	scale 1.33
}

My laptop has a touchscreen, which unfortunately causes problems. However, I have turned this into something positive. I can switch the touch function off and on via Fuzzel and when the screen is rotated, rnote starts automatically.

I can only highly recommend taking a look at Niri's wiki. There is so much that can be adjusted ... from tabs to rules for each individual program.

Link: Niri (https://github.com/YaLTeR/niri)

Waybar is a status bar with many modules. From a simple clock to status displays such as CPU load, temperature or the display of workspaces.

The fact that the design is simply defined via CSS leaves all design options open.

I like it rather simple and so I only have a clear bar in the corner and a simple menu on the other side that I still need to expand a little.

All status displays (CPU, memory, RAM, ...) are hidden and are only displayed after clicking on the clock.

I use the GNOME Control-Center for the settings of many things like sound or Wifi. That is quite easy. Just add this to on-click with the corresponding module in waybar, like wiki in this example:

env XDG_CURRENT_DESKTOP=GNOME gnome-control-center wireless

Link: waybar (https://github.com/Alexays/Waybar)

Notification: SwayNotificationCenter

The SwayNotificationCenter not only displays notifications, but also offers the option of volume and screen brightness control.

In addition, switches can be freely defined, which is useful for the airplane mode, among other things.

New notifications are also displayed as a green dot in the waybar (in #8eb33b, of course).

Link: SwayNotificationCenter (https://github.com/ErikReider/SwayNotificationCenter)

Launcher: fuzzel

Since Niri does not have an application menu, it needs other programs to start.

After a lot of trial and error, I ended up with fuzzel after wofi and rofi-wayland. Fuzzel is wonderfully simple.

Thanks to this script from Niri, fuzzel also serves as a selection for open programs.

Link: fuzzel (https://codeberg.org/dnkl/fuzzel)

Link: Windowlist in fuzzel (https://github.com/YaLTeR/niri/discussions/1096#discussioncomment-12203850)

Background: swww and fuzzel

A wallpaper cannot be defined with swww. The tool can also define transitions as animations when a new image is selected.

Again in conjunction with a script in fuzzel I can switch between images. These are simply linked to .wallpaper after selection. This means that swaylock can also access them. Dazu habe ich diese Script für Rofi gefunden, dass ich auf fuzzel umgebaut habe.

Link: swww (https://github.com/LGFae/swww)

Link: rofi wallpaper changer (https://github.com/AbdelrhmanNile/rofi-wallpaper-changer)

Idle: swayidle

Swayidle is basically nothing more than a timer that executes something after a freely defined time. In my case, it is locking the screen and suspending.

Link: swayidle (https://github.com/swaywm/swayidle)

Screenlock: swaylock

Swaylock locks the screen. Nothing more. But it's simple and good. I particularly like the fact that instead of a password prompt, a circle is displayed that only shows the keystrokes.

Link: swaylock (https://github.com/swaywm/swaylock)

Powermenu: wlogout

wlogout is a simple tool in which six large buttons are assigned. Also styled with CSS. I actually only use five buttons for Poweroff, Reboot, Logout, Suspend and Screenlock. I simply assign btop to the sixth key.

Link: wlogout (https://github.com/ArtsyMacaw/wlogout)

Shell: fish

This point can take on religious overtones and certainly trigger discussions. But I like fish. The tab completions are great and aliases are also quick to create.

Link: fish (https://fishshell.com/)

Terminal: kitty

I particularly like Kitty as a terminal because I can easily access the special characters via Shift+Ctrl+U. There may certainly be other reasons, but to be honest, this is the most important one for me.

Link: kitty (https://sw.kovidgoyal.net/kitty/)