I like comments — generally speaking. Sharing experiences, discussing ideas, correcting my mistakes ;-)…
openwebcraft.com
How I’ve set up my Clear Linux (GNOME) desktop environment…
TL;DR By simply following the Clear Linux Getting-Started guide the installation experience is quite polished and overall pretty straight forward!
de-latin1-nodeadkeys
.Basic System Tweaking:
mkdir ~/code
mkdir ~/.bashrc.d
chmod 700 ~/.bashrc.d
mkdir -p ~/.local/share/gnome-shell/extensions
sudo mkdir -p /usr/local/bin
sudo mkdir -p /usr/local/lib
sudo mkdir -p /opt
sudo systemctl start sshd
sudo systemctl enable sshd
In order to use ~/.bashrc.d
directory instead of bloated .bashrc
one needs to add this to .bashrc
:
for file in ~/.bashrc.d/*.bashrc;
do
source "$file"
done
Then, when creating individual files inside the ~/.bashrc.d
, e.g. golang.bashrc
, one needs to remeber to give them execution rights:
chmod +x ~/.bashrc.d/*.bashrc
Increase limit for inotify watches:
cat /proc/sys/fs/inotify/max_user_watches
echo fs.inotify.max_user_watches=32768 | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
For sanity w/ additional binaries it helps creating a file /etc/system-release
w/ contents: Clear Linux OS for Intel Architecture
.
Adjust time and locale simply via GNOME settings…
Adjust keyboard keymap:
sudo localectl set-keymap de-latin1-nodeadkeys
— likely already set by installerInstall a minimal but informative and fancy bash prompt for Git users:
cd ~
git clone https://github.com/magicmonty/bash-git-prompt.git .bash-git-prompt --depth=1
Then, add to the ~/.bashrc
:
GIT_PROMPT_ONLY_IN_REPO=1
source ~/.bash-git-prompt/gitprompt.sh
Test:
cd ~/.bash-git-prompt/
✔ ~/.bash-git-prompt [master|✔]
19:36 $
Install FIRA CODE font by download latest version and extracting/ copying contents of ttf
folder to ~/.fonts
followed by fc-cache -fv
.
A awesome system monitoring dashboard for terminal.
equired bundles:
nodejs-basic
sudo npm install gtop -g
Install current-cli to see what language versions are configured in your current environment (npm i -g current-cli
)
For sanity (we always want sudo swupd verify --fix
to succeed!) we’re only using either software available in Clear Linux bundles or binaries distributed as .tar.gz
w/ requirements that can be resolved from Clear Linux bundles.
*-basics
)sudo swupd bundle-add nodejs-basic go-basic java-basic php-basic containers-basic R-basic R-extras
Beloved (syncing) note app of choice. :-)
Download .tar.gz
from here https://simplenote.com/ and extract to /opt/simplenote
.
Create symlink: sudo ln -s /opt/simplenote/Simplenote /usr/local/bin/simplenote
Add icon to GNOME like so: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
:
[…]
Icon[en_US]=/opt/simplenote/Simplenote.png
Name[en_US]=Simplenote
Exec=simplenote
Name=Simplenote
Icon=/opt/simplenote/Simplenote.png
Required bundles:
containers-basic
One needs to add her/ his user to group docker
like so: sudo usermod -G docker -a matthias
and re-login.
sudo -i
curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
exit
docker-compose -version
My cloud provider of choice!
Required bundles:
go-basic
Add to the ~/.bashrc
:
export GOPATH=~/go
export PATH=$PATH:$GOPATH/bin
Then install Scaleway CLI:
GO15VENDOREXPERIMENT=1 go get -u github.com/scaleway/scaleway-cli/cmd/scw
Preferred coding editor.
Required bundles:
games
(required for libgconf-2
)Download .tar.gz
for Linux x64 from https://code.visualstudio.com/ and extract to ~/opt/vscode
.
Create symlink: sudo ln -s /opt/vscode/code /usr/local/bin/code
Add icon to GNOME like so:q: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
:
[…]
Icon[en_US]=code
Name[en_US]=VSCode
Exec=code
Name=VS Code
Icon=code
Required bundles:
desktop-dev
(required for libgnome-keyring
)Add to the ~/.bashrc
:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lo
… and create symlink to workaround (hack) missing libraries: sudo ln -s /lib64/libcurl.so.4 /usr/local/lib/libcurl-gnutls.so.4
Then, download .zip
from https://www.gitkraken.com/download/ and extract to ~/opt/gitkraken
.
Create symlink: sudo ln -s /opt/gitkraken/gitkraken /usr/local/bin/gitkraken
Add icon to GNOME like so: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
:
[…]
Icon[en_US]=gitkraken
Name[en_US]=GitKraken
Exec=gitkraken
Name=GitKraken
Icon=gitkraken
Download MongoDB (Binary Installation https://www.mongodb.com/download-center and extract to /opt/mongodb
. Also make sure to add it to the path: export PATH=$PATH:/opt/mongodb/bin
Download Robo 3T https://robomongo.org/download and extract into `/opt/robot3t.
To not interfer w/ other (locally build) Qt applications and in order to use Robomongo icon from theme, create a executable file /opt/robot3t/bin/robomongo
:
#!/bin/bash
LD_LIBRARY_PATH=/usr/local/lib
LIBRARY_PATH=$LD_LIBRARY_PATH
QT_PLUGIN_PATH=
/opt/robo3t/bin/robo3t
Then add icon to GNOME like so: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
Icon[en_US]=robomongo
Exec=/opt/robo3t/bin/robomongo
Name[en_US]=Robo 3T
Name=Robo3T
Icon=robomongo
Download latest tar.gz
archiv of community edition for Linux 64bit from dbeaver.com and extract to /opt/dbeaver
.
Add icon to GNOME like so:q: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
:
[…]
Icon[en_US]=dbeaver
Exec=/opt/dbeaver/dbeaver
Name[en_US]=DBeaver
Name=DBeaver
Icon=dbeaver
Required bundles:
java-basic
Download latest Portable version from here http://www.crossftp.com/download.htm and extract into /opt/crossftp
.
Edit /opt/crossftp/run_client.sh
adding the following line:
#!/bin/sh
cd /opt/crossftp
[…]
Add icon to GNOME like so:q: gnome-desktop-item-edit ~/.local/share/applications/ --create-new
:
[…]
Icon[en_US]=/opt/crossftp/logo_big.png
Name[en_US]=CrossFTP
Exec=/opt/crossftp/run_client.sh
Name=CrossFTP
Icon=/opt/crossftp/logo_big.png
Required bundles:
php-basic
Download latest release version of Composer, as of writing https://getcomposer.org/download/1.5.2/composer.phar…
sudo mkdir -p /usr/local/bin
sudo mv /home/matthias/Downloads/composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
composer -v
Add to the ~/.bashrc
:
export PATH=$PATH:~/.config/composer/vendor/bin/
Download http://curl.haxx.se/ca/cacert.pem and copy certificate PEM file into known location, e.g.:
mkdir -p ~/certs
cd ~/certs
wget http://curl.haxx.se/ca/cacert.pem
Add to the ~/.bashrc
:
export COMPOSER_CAFILE=~/certs/cacert.pem
Download latest release for Linux 64bit from https://github.com/gohugoio/hugo/releases and extract the hugo
binary to /usr/local/bin/hugo
.
Download and run installer script from https://tresorit.com/de/download/linux…
Add to GNOME Startup Applications via Tweak Tool
.
Download latest release https://camlistore.org/download and extract to /opt/camlistore
.
Add to the ~/.bashrc
:
export PATH=$PATH:/opt/camlistore
Simply follow the guide to install and run the LibreOffice Flatpak image…
To set up the Clear Linux system for Universal 2nd Factor (U2F) with YubiKey simply follow this guide and install the Firefox Add-on U2F Support Add-on.
Currently GNOME extensions can not be installed via https://extensions.gnome.org/ because even w/ the GNOME Shell integration extension installed/ running, a native host connector is not detected.
Offline-installtion to the rescue!
One needs to download and unpack the extensions, and move it into extensions dir like so:
mv ~/Downloads/clipboard-indicator@tudmotu.com.v26.shell-extension ~/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com
Even though the extension is practically installed it is yet disabled. In
order to enable it, one need to use gnome-tweak-tools
: find the extension (e.g. titled ‘Clipboard Indicator’), in the Extensions screen and turn it On.
One may need to restart the shell (Alt+F2 and insert r
in the prompt) for the extension to be listed there.
~/.local/share/gnome-shell/extensions/caffeine@patapon.info
~/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com
~/.local/share/gnome-shell/extensions/system-monitor@paradoxxx.zero.gmail.com
(though charts in menu look weird)~/.local/share/gnome-shell/extensions/gTile@vibou
I like comments — generally speaking. Sharing experiences, discussing ideas, correcting my mistakes ;-)…