My Clear Linux* Setup
Also for my main machine (ThinkPad T25), I switched #Linux distro from Pop!_OS (essentially Ubuntu/Debian) rocking Regolith Linux—a well curated and appealing styled desktop environment based on #i3 tiling window manager and #GNOME—to Intel's Clear Linux*.
The reasoning behind this switch is rather simple: I felt the need to have some extra system performance provided by Intel's well-optimized #Linux distro also on my main machine—which I'm already used to on my NUC (Skull Canyon) desktop.
Here's how I’ve installed and configured my Clear Linux* system and GNOME desktop environment.
Install via the new GUI installer from USB stick w/ latest ISO (as of writing clear-33590-live-desktop.iso.
Bundles
# disable automatic updates
sudo swupd autoupdate --disable
# install bundles
sudo swupd bundle-add nodejs-basic
# system maintenance
sudo swupd update
sudo swupd diagnose
sudo swupd repair
flatpak update
- desktop-apps-extras
 - libreoffice
 - libreoffice-extras-lang-de
 - nodejs-basic
 - go-basic
 - java-basic
 - php-basic
 - rust-basic
 - cloud-control
 - containers-basic
 - docker-compose
 - devpkg-ncurses
 - devpkg-pcre
 - package-utils
 - dev-utils
 - libglib
 - games-dev
 
Docker
# requires bundle containers-basic
sudo usermod -aG docker matthias
sudo systemctl start docker
sudo systemctl enable docker
Native Applications
For some application I prefer NOT to use Flatpaks:
- VS Code
 - Tresorit (installer script)
 - Nitrokey (w/ custom udev rules
 - Signet (w/ custom udev rules)
 - CrossFTP (requires java)
 - MyTourBook (requires java)
 - JVerein (requires java)
 - Thunderbird (copy user profile from backup 
cp Backup/.thunderbird ~/.and then choose profile/opt/thunderbird/thunderbird -ProfileManager) - ...
 
For these I download the latest *.tar.gz (e.g. from https://code.visualstudio.com), extract and copy to /opt/vscode.
For integration w/ GNOME desktop I then create a file ~/.local/share/applications/code.desktop w/ following contents:
[Desktop Entry]
Encoding=UTF-8
Version=1.48
Type=Application
Terminal=false
Exec=/opt/vscode/code
Name=Visual Studio Code
Icon=/opt/vscode/resources/app/resources/linux/code.png
Increase limit for inotify watches:
sudo mkdir -p /etc/sysctl.d
echo fs.inotify.max_user_watches=524288 | sudo tee -append /etc/sysctl.d/40-max-user-watches.conf
sudo sysctl -p
sudo sysctl --system
Enable udev rules:
sudo mkdir -p /etc/udev/rules.d/
# move any*.rules file into the /etc/udev/rules.d folder
# and manually reloaded udev rules
sudo udevadm control --reload-rules && sudo udevadm trigger
Python Tools
Installed via pip :
- wheel
 - csvdiff
 - csvkit
 - xmljson
 - ...
 
Add ~/.local/bin  to your PATH :
# ~/.bashrc
export PATH=$PATH:~/.local/bin
Cli binaries
- scaleway-cli
 - recode (https://github.com/rrthomas/recode)
 - tty-clock (https://github.com/xorg62/tty-clock; requires bundle devpkg-ncurses)
 - confget (https://devel.ringlet.net/textproc/confget/; requires bundle devpkg-pcre)
 - Tailscale (https://tailscale.com/)
 - rdesktop (https://www.rdesktop.org/)
 
sudo mkdir -p /opt/3rd-party/bin
sudo curl -o /opt/3rd-party/bin/scw -L "https://github.com/scaleway/scaleway-cli/releases/download/v2.0.0/scw-2-0-0-linux-x86_64"
sudo chmod +x /opt/3rd-party/bin/scw
Flatpak Applications
- GitKraken
 - Spotify
 
AppImages
- Nitrokey
 - Simplenote
 - BalenaEtcher
 - Beaker Browser
 - Data-Forge Notebook Pro
 - Dat Desktop
 - Patchwork (SSB)
 - UHK Agent
 - ...
 
After downloading  latest appimagelauncher release from https://github.com/TheAssassin/AppImageLauncher/releases and installing it...
./appimagelauncher-lite-2.1.4-travis987-7cb4d70-x86_64.AppImage install
....it's just a matter of downloading and double-clicking. They are being copied into the ~/Applications directory and a *.desktop file is created in ~/.local/share/applications—pretty convenient.
RPMs
- Google Chrome
 
How-to install RPMs:
# swupd bundle-add package-utils
curl -LO https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo rpm --import https://dl-ssl.google.com/linux/linux_signing_key.pub
rpm -U --nodeps google-chrome*.rpm
sed -i 's\/usr/bin/google-chrome-stable\env FONTCONFIG_PATH=/usr/share/defaults/fonts /usr/bin/google-chrome-stable\g' /usr/share/applications/google-chrome.desktop
Alternative approach leveraging dnf:
# swupd bundle-add dnf
# rpm -ivh --nodeps https://github.com/VSCodium/vscodium/releases/download/1.48.2/codium-1.48.2-1598439338.el7.x86_64.rpm
GNOME
Display Server
These days I actually prefer Wayland over GNOME. Also b/c of the Known Issues I'm facing w/ X11.
Shell
Pop shell- Material Shell
 
Extensions
- Clipboard Indicator
 - Caffeine
 - Tray Icons
 - Screenshot Tool
 - Sound Input & Output Device Chooser
 
For browser integration—though Chrome(ium) only—follow the Cmake installation guide:
cd ~/Code
git clone https://gitlab.gnome.org/GNOME/chrome-gnome-shell.git
cd chrome-gnome-shell
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_EXTENSION=OFF ../
sudo make install
Customization Settings
Via GNOME Terminal Preferences:
- Disable “Sound / Terminal bell” for active profile
 
Via GNOME Settings / Keyboard create/ update Keyboard Shortcuts:
- Launch Terminal: 
Super+T(command:gnome-terminal) - Launch Settings: 
Super+C(command:gnome-control-center) - Lock screen: 
Super+Escape - Suspend: 
Super+Shift+S(command:systemctl suspend) - Toggle window fullscreen: 
Super+Shift+F 
For custom Pop!_OS Shell bindings refer here:
- https://support.system76.com/articles/pop-keyboard-shortcuts/
 - https://github.com/pop-os/shell/blob/master_focal/rebuild.sh
 
In addition, via cli:
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences num-workspaces 5
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-1 '["<SUPER>1"]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-2 '["<SUPER>2"]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-3 '["<SUPER>3"]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-4 '["<SUPER>4"]'
gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-5 '["<SUPER>5"]'
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-1 '["<SUPER><SHIFT>1"]'
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-2 '["<SUPER><SHIFT>2"]'
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-3 '["<SUPER><SHIFT>3"]'
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-4 '["<SUPER><SHIFT>4"]'
gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-5 '["<SUPER><SHIFT>5"]'
gsettings set org.gnome.desktop.wm.preferences focus-mode 'sloppy'
# OPTIONAL enable factional scaling
# X11
# gsettings set org.gnome.mutter experimental-features "['x11-randr-fractional-scaling']"
# Wayland
# gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"
Build and instal Pop!_OS' GTK+ theme+shell:
# sudo swupd bundle-add dev-utils libglib games-dev
# gtk-theme
cd ~/Code
git clone https://github.com/pop-os/gtk-theme.git pop-os_gtk-theme
cd pop-os_gtk-theme
meson --prefix $HOME/.local build
ninja -C "build" install
# icon-theme
cd ~/Code
git clone https://github.com/pop-os/icon-theme.git pop-os_icon-theme
cd pop-os_icon-theme
meson --prefix $HOME/.local build
ninja -C "build" install
# shell
# only got it working w/ Wayland, not X11 :-/
cd ~/Code
git clone https://github.com/pop-os/shell.git pop-os_shell
cd pop-os_shell
make && make install && make enable
# logout, switch session from X11 to Wayland
Known Issues
Zoom: Screen sharing not working on GNOME Wayland, only GNOME X11.
Work-around: use Zoom's browser based web client—in either Firefox (or even Chrome)—along w/ the extension Zoom Redirector (which transparently redirects any meeting links to use Zoom's browser based web client).
GNOME Pop!_OS Sheel: Window tiling not working on GNOME X11, only GNOME Wayland.
Work-around: unfort. none so far :–/
eGPU (Thunderbolt™ 3 over USB C): External display on Display Port of GPU not working on GNOME X11, only on GNOME Wayland.
In my case a ASUS XG Station Pro.
Work-around: unfort. none so far :–/
“Oh no! Something has gone wrong.”
Could happen after updating, e.g. in case of GNOME update from 3.36 to 3.38 in 33730.
Work-around: revert to/ restore previous version.
# example to revert after updating to 33740 
sudo swupd repair -V 33720 --force --picky
Awesome Clear Linux* Resources
Scripts, Tips & Tricks,…