Setup for Bonn office computers

The office computers (as of February 2026) run Debian GNU/Linux 11 (bullseye) or 13 (trixie), with GUI LXQt and window manager Xfwm4. Here are some tips for configuring the computer.

Language

Lean

Minor:

Mouse & Keyboard

Terminal and Git

merge remote master

gmm() { gm “$(git symbolic-ref –short refs/remotes/origin/HEAD)” }

checkout remote master

cm() { git checkout “$(git symbolic-ref –short refs/remotes/origin/HEAD)” }

checkout local master

clm() { git checkout ‘$(git symbolic-ref –short refs/remotes/origin/HEAD | sed “s|^origin/||”)’ }

alias code=’codium’ alias lb=”export LEAN_NUM_THREADS=10 && lake build”

* Some Git configuration options are useful. You can modify `.gitconfig` (also with `git config --global --edit`). This is my current setup (I don't use all aliases, but a few are very useful, especially `git l` and `git la`):

[core] editor = codium autocrlf = input compression = -1 [pull] rebase = true [alias] alias = ! git config –get-regexp ^alias\. | sed -e s/^alias\.// -e s/\ /\ =\ / my-checkout = !git checkout $1 && git reset master –hard && git cherry-pick $1-patch && : my-commit = !git stash && git checkout master && git stash pop && git commit unstash = !git stash show -p | git apply -3 && git stash drop a = “add” aa = “add –all” ai = “add –interactive” amend = “commit –amend -c HEAD” amendc = “commit –amend -C HEAD” ap = “add –patch” assume = “update-index –assume-unchanged” assumed = “!git ls-files -v | grep ^h | cut -c 3-“ au = “add –update” b = “branch” br = “branch” commit = “commit -v” ci = “commit -v” cia = “commit -va” co = “checkout” conflicts = “!git ls-files -u | cut -f 2 | sort -u” cp = “cherry-pick” d = “diff” dl = “diff HEAD^” ds = “diff –staged” du = “diff origin/master..master” dump = “cat-file -p” f = “fetch –prune” fa = “fetch –all –prune” fd = “log –diff-filter=D –summary” ff = “!git ls-files | grep -i” fm = “log –diff-filter=M –summary” fo = “fetch origin –prune” gr = “grep -Ii” grep = “grep -Ii” log-pretty = “log –pretty=’format:%C(blue)%h%C(red)%d%C(yellow) %s %C(green)%an%Creset, %ar’” log-stat = “log –pretty=format:’%C(yellow)%h%Cred%d\ %Creset%s%Cblue\ [%cn]’ –decorate –stat” log-hist = “!git log-pretty –graph” l = “!git log-hist” la = “!git log-hist –all” ll = “!git log-stat” lp = “log –patch” ls = “!git log-stat” lt = “!git log-hist –simplify-by-decoration” lu = “!git log-hist origin/master..master” merge = “merge –no-edit” m = “merge –no-ff” mf = “merge –ff-only” pf = “pull –ff-only” pnp = “!git pull –rebase && git push” r = “reset” r1 = “reset HEAD^” r2 = “reset HEAD^^” rh = “reset –hard” rh1 = “reset HEAD^ –hard” rh2 = “reset HEAD^^ –hard” s = “status -sb” sa = “stash apply” sha = “rev-list -n 1 HEAD –” sl = “stash list” sp = “stash pop” ss = “stash save -u” st = “status” suba = “submodule add” subr = “!git-submodule-rm” subs = “submodule sync” subu = “submodule foreach git pull origin master” type = “cat-file -t” unassume = “update-index –no-assume-unchanged” unassumeall = “!git assumed | xargs git update-index –no-assume-unchanged” untracked = “ls-files -o -X.gitignore –exclude=.*” [diff] colormoved = “default” colorMovedWs = allow-indentation-change [merge] conflictstyle = diff3 [push] default = current ```

Note to self:

Annoyances