Public
Authored by Hermann Mayer

Fedora Setup

Change Wayland to X11

Problem: Chrome screen share shows black screen. Solution: https://ask.fedoraproject.org/t/howto-google-chrome-screen-share-problem-black-screen-on-fedora-workstation-34/14665

$ sudo vi /etc/gdm/custom.conf

# Add:
WaylandEnable=false
DefaultSession=gnome-xorg.desktop

Install Google Chrome

https://docs.fedoraproject.org/en-US/quick-docs/installing-chromium-or-google-chrome-browsers/#installing-chrome

Install Vim

$ sudo dnf install vim

Passwordless Sudo

$ sudo su
$ sudo bash -c "echo '${USER} ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/${USER}"

Docker

$ sudo dnf -y install dnf-plugins-core
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo
$ sudo dnf install docker-ce docker-ce-cli containerd.io
$ sudo systemctl enable --now docker.service
$ sudo usermod -aG docker $USER

Afterwards logout of the session (GUI), and re-login. Then try:

$ docker info

And don't see permission issues.

Docker Compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

mDNS Stack

$ sudo dnf install nss-mdns avahi avahi-tools
$ sudo systemctl enable --now avahi-daemon.service
$ sudo vim /etc/nsswitch.conf

# Change the hosts line to this pattern:
# hosts: ... mdns4 [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...

$ sudo vim /etc/mdns.allow

# Add the following contents:

.local.
.local

Install Ruby 2.7 / Nodejs 14

Terminal emulator settings for a login shell: https://rvm.io/integration/gnome-terminal

$ sudo dnf module install nodejs:14/development

$ sudo dnf module install ruby:2.7/default
$ sudo dnf groupinstall "Development Tools" "Development Libraries"
$ sudo dnf install ruby-devel libffi-devel gcc-c++ libpq-devel

$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
$ curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
$ curl -sSL https://get.rvm.io | bash -s stable
$ rvm install 2.5
$ rvm use 2.5 --default
$ gem install bundler

Snap

$ sudo dnf install snapd
$ sudo ln -s /var/lib/snapd/snap /snap

Hamster, Time Tracking

$ sudo snap install hamster-snap

Git Config

$ vim ~/.gitconfig

[user]
    name  = Ann-Kristin Drumm
    email = ann-kristin.drumm@hausgold.de

[color]
    diff   = auto
    status = auto
    branch = auto

[format]
    pretty = "%nCommit:  %C(bold white)%H%nRefs:   %C(cyan bold)%d%nDate:    (%C(red)%ar%Creset) %ai%nAuthor:  %C(yellow)%aN <%aE>%nSubject: %C(green)%B"
    signOff = true

[log]
    decorate = full

[core]
    attributesfile = /home/jack/.gitattributes
    autocrlf = input

[branch]
    autosetuprebase = always

[push]
    default = current
    followTags = true

[alias]
    st = status
    ci = commit -S -s
    br = branch
    co = checkout
    df = diff
    dc = diff --cached
    tags = !sh -c 'git tag | sort -V'
    a = add -A .
    s = status
    c = checkout
    cm = checkout master
    p = pull
    f = fetch
    b = branch -va
    l = log
    ll = "!sh -c 'git --no-pager log -3 --reverse'"
    d = diff
    weg = push -u
    ab = "!sh -c 'git a; git ci -am \"one of many\"; git weg'"
    steil = "!sh -c 'git a; git ci -am \"one of many [ci skip]\"; git weg'"
    rco = "!git reset $1 && git checkout $1"
    dh = diff HEAD~

Generate SSH Keys

$ ssh-keygen # press always enter, no inputs, just enter
$ cat ~/.ssh/id_rsa.pub

Add the terminal output here as new key: https://github.com/settings/ssh/new

Project Setup

$ mkdir -p ~/projects
$ cd ~/projects
$ git clone git@github.com:hausgold/env.git
$ cd env
$ make clone

Visual Studio Code

https://code.visualstudio.com/docs/setup/linux#_rhel-fedora-and-centos-based-distributions

ZSH as default shell (optional)

$ sudo dnf install zsh wget curl
$ sudo bash -c "usermod -s $(which zsh) ${USER}"

# Open a new terminal
$ chsh -s $(which zsh)
$ zsh
# press (0) and (enter)
$ zsh

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

See https://github.com/ohmyzsh/ohmyzsh#readme for configuration details on oh-my-zsh.

Some common shell aliases

Open ~/.bashrc or ~/.zshrc (decide which you use) and add the following lines at the end of the file:

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ls='ls $COLOR_OPTIONS --group-directories-first --time-style="+%F, %T "'
alias ll='ls $COLOR_OPTIONS -lh'
alias l='ls $COLOR_OPTIONS -lAh'
alias grep='grep $COLOR_OPTIONS'
alias egrep='egrep $COLOR_OPTIONS'
alias g='git'
alias p='pwd'
alias mkdir='mkdir -p -v'
alias less='less -R'

alias mpchat="make -C ~/projects/env start-identity-api start-jabber start-asset-api start-preferences start-maklerportal-api start-property-api start-calendar-api && make -C ~/projects/env/projects/maklerportal-frontend start"
alias mp="make -C ~/projects/env start-message-bus start-analytic-api start-identity-api start-asset-api start-preferences start-maklerportal-api start-property-api start-calendar-api && make -C ~/projects/env/projects/maklerportal-frontend start"
alias vpmp="make -C ~/projects/env start-message-bus start-analytic-api start-identity-api start-jabber start-asset-api start-preferences start-calendar-api start-property-api start-maklerportal-api start-verkaeuferportal-api start-maklerportal-frontend"
alias lf="make -C ~/projects/env start-message-bus start-identity-api start-preferences start-leads-api start-payment-api start-gateway && make -C ~/projects/env/projects/leads-frontend start"
Edited
4 Bytes
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment