Skip to content

jneidel/dotfiles

Repository files navigation

dotfiles

My arch linux setup and beyond

See the repo directoy for how these dotfiles are managed.

To see updates you can watch the Github releases, where I will regularly document the changes that I've done.

Table of Contents

Terminal apps

zsh (shell)

Superior shell, extends bash/posix.

I'm using a stripped down version of oh-my-zsh with a lot of custom aliases.

tmux (terminal mutiplexer)

Multiple shells within the same terminal, screen splitting and much more. With tmuxinator and my tp script I start all my projects from a configured tmux session.

tmux

To supports italic fonts, enable the terminal capabilities with:

tic -x .config/tmux/tmux-256color.terminfo

neovim (terminal editor)

Neovim with custom macros, hooks and a few plugins.

I am in the process of migrating to emacs, after I hit the limits of neovim's extensibility.

Neovim

lf (file manager)

lf is a quick and relatively scriptable file manager.

I got it configured with uberzug for terminal image preview inside of tmux and many custom keybindings.

lf

git (version control)

mpd + ncmpcpp (music player)

Music player daemon and its client.

ncmpcpp

remind (calendar)

remind is not a classical calendar application. I've tried calcurse and khal but they were trying to emulate normal GUI calendars too much and were imo just loosing in comparison. remind does it's own thing. It's a powerful DSL (domain specific language) where you define all of your entries in a text file. With this approach you can model some very sophisticated recurring entries like you've never seen before.

Syntax demo# simple stuff: Oct 01 MSG Change car tires REM [TRIGGER(easter)] MSG Change car tires # with colors for birthdays REM Feb 7 SPECIAL COLOR 205 0 255 BD Francis # appointments with start and end time (via DURATION in min) Thu AT 17:30 DURATION 90 SPECIAL COLOR 215 0 0 Rendezvous mit meinem Geld # more complex stuff: # taking out the trash every 14 days # but only show me 3 days in advance # and hide the entry if it's in the past REM 2021-05-17 *14 AFTER SATISFY [trigdate() < realtoday()+3 && trigdate() >= realtoday()] SPECIAL COLOR 140 100 40 Plastikmüll rausstellen REM 2021-05-18 *14 AFTER SATISFY [trigdate() < realtoday()+3 && trigdate() >= realtoday()] SPECIAL COLOR 140 100 40 Restmüll rausstellen # these will take into account any holidays you have configured OMIT Oct 3 SPECIAL COLOR 175 175 25 Tag der Deutschen Einheit # and push back garbage day to the day AFTER

remind calendar view

newsboat (RSS feed reader)

Stable RSS feed reader.

Use for reading newsletters, manga, receiving album updates for followed artists, youtube, notification of github released for packages I'm maintaining and more.

hledger (accounting)

Plain text accounting for managing my finances. Allows me to do everything I need (which is not uncomplicated.)

hledger

& more

There are various other CLI apps I'm using.

GUI apps

kitty (terminal)

Fast, easy to configure, batteries included.

emacs (editor)

Infinitely extensible, incredible documentation and self-help facilities and all the best plugins.

The only logical choice after really considering the options.

emacs

mpv (video/audio player)

Everything you'll ever need from a video player.

mpv

rofi (application launcher/dmenu)

Quickly filter a list. Use cases: start an application, open bookmarked page, search browser, insert a emoji/credit card number/IBAN/etc.

rofi

signal (messager)

Secure messenging.

I use signal both as my primary messenger (95% of volume) and as a entrypoint to add notes to my note-taking system.

signal-desktop

Desktop notifications use dunst (notification daemon).

For note-taking

I have a chat with a secondary number, which is registered on my sever. Messages sent to myself are created as notes in my note-taking system.

transmission (torrent daemon)

I have a dockerized torrenting setup running 24/7 on my home server. See all details: my torrent setup

GIMP (photoshop)

Perfectly suitable photo editing.

Keepass (password manager)

Secure password management outside of the cloud (don't trust somebody else with your most sensitive data.) Has browser sync and entry, one time passwords and everything I ever needed.

Syncthing (dropbox)

Automatic background sync of all your data. Description of my setup.

& more

More GUI apps that I'm using: starred projects

System apps

I am using as my Xorg display server and it causes me no pain, so there is no incentive to migrate to Wayland. Wayland is undoubly the future, but at this point it doesn't support everything I need and the migration would require a significant effort.

i3 (window manager)

Lightweight window manager.

sxhkd (hotkey daemon)

The essential hotkey daemon.

lock screen

I use a i3lock fork with a custom screenshot script and fingerprint unlock.

Lockscreen

pipewire (audio)

Pipewire and wireplumber are next generation linux audio. Migration from pulseaudio was super easy.

Browser & Extensions

In order of importance these are the browsers I use:

Brave manual config steps

Disallow sites to ask if they can send notifications

Looking at you reddit...

Search "Content" -> "Site and Shield Settings" -> "Notifications" -> Toggle

Arc Dark is my prefered theme (I based my terminal colorscheme on it.) firefox chrome

Essential extensions

name description links
uBlock Origin Best free (as in freedom) adblocker firefox chrome git
Surfing Keys Navigate browser with vim shortcuts firefox chrome git simpler-alternative
Dark Reader Dark mode for all websites firefox chrome git
KeePassXC-Browser KeePass integration for password insert firefox chrome git setup on iridium

Useful

name description links
LeechBlock Flexibly block sites firefox chrome website
SponsorBlock for YouTube Skip sponsor/recap/like comment subscribe segments in videos firefox chrome my options
FastForward Skip link shorteners firefox chrome git
I still don't care about cookies Ignore cookie banners firefox chrome git
Libredirect Redirect to libre version of popular website firefox chrome git
Bypass Paywalls Ignore e.g. NYTs free articles limiter git
Easy to RSS List the rss feeds of the current site firefox chrome git
Autofill Automatically fill forms with configured data chrome

Privacy

name description links
Privacy Badger Stop suspicious trackers firefox chrome git
ClearURLs Remove tracking elements from urls firefox chrome git
LocalCDN Stop tracking through CDNs by redirecting to local resources chrome
Decentraleyes Stop tracking through CDNs firefox chrome git

Maybe

name description links
Buster Captcha Solver firefox chrome git
Hover Zoom+ Large overlay on image and link to image hover chrome git
Stylus Customize website style firefox chrome git
Coding:
name description links
Chrome Markdown Preview Elegant GFM preview on .md files chrome git
JSON Formatter Easy to read JSON formatting chrome git
Modify Header Value Set HTTP headers firefox chrome homepage
GitHub related plugins

A comprehensive list of GitHub chrome extensions can be found here.

name description links
Refined GitHub GitHub functional/visual upgrade chrome git
npmhub List npm dependencies in readme chrome git
Octotree GitHub file tree chrome git
Vscode-icons Icons indicating file type chrome git
Lovely Forks Shows notable forks chrome git
npm-stats Display npm download stats in repo chrome git
show-email Display email on profile, even if not provided chrome git
omnibar Shortcut navigation for github chrome git
issue-link-status Colorize issue links depending on status chrome git
build-tabs Build tab for github chrome git
github-autocomplete Github search autocomplete chrome git
github-plus Display repo size, download links chrome git

Android apps

F-Droid is a software repository hosting free and (mostly) open source apps. If available always try to use F-Droid over the google play store. Read more on F-Droid. Most fdroid apps are also on gplay, even if I did not include them here.

If you need the google play store you can use Aurora instead. It's an alternative play store interface, allowing for private downloads and a better UI.

Ordered by importance and pretty much complete.

name description links
Signal Privacy friendly messaging, end to end encrypted chat gplay git website
Simple Time Tracker Smooth time tracker with widgets fdroid gplay git
CamScanner Document scanner (pro) gplay
Vinyl Full featured music player fdroid gplay git
VLC Generic player fdroid gplay
OI Shopping List Shopping list fdroid
OsmAnd Navigation fdroid gplay
f.lux Bluelight filter (root) gplay website
Audiobook-shelf Audiobook player (served from home server, with offline sync) homepage gplay
Syncthing-Fork File sync (music and such) fdroid
K-9 Mail Mail fdroid sync-setup gplay
Merriam Webster English dictionary gplay
Alle Deutschen Wörterbücher Germany dictionaries gplay
Öffi Public transport planning fdroid gplay
DuckDuckGo Browser fdroid gplay
Aurora Google Play Store replacement (better with root) fdroid website
Claude AI chatbot gplay
DHL Parcels gplay
Aves Libre Photo gallery fdroid
dict.cc Offline dictionary gplay
p!n Pin notes as notifications fdroid git
SCEE (Street Complete Expert) Fast OSM Editor fdroid
Every Door OSM Editor for shops fdroid
Vespucci Complete OSM Editor fdroid
Otter Transcribe spoken language gplay
KeePass DX Mobile keepass database fdroid gplay
FBReader Ebook reader fdroid gplay git
Micopi+ Generate profile picture for contacts git
WhatsApp Required messenging
Previously in use
name description links
NewPipe Youtube without ads fdroid
DAVx⁵ CalDAV sync fdroid website setup explaination
DNS66 Mobile hosts file fdroid
primitive ftpd ftp server fdroid git
M.A.L.P. MPD client fdroid
AudioAnchor Audiobook player fdroid
Simple Calendar Calendar fdroid git
My Expenses Expense/income tracker, with exports fdroid gplay git
Productivity Challenge Timer Optimized pomodoro clock gplay
JuiceSSH Mobile mosh (ssh) client fdroid
MX Player Video player (better than vlc)
Anki Flashcards fdroid gplay git
MuPDF PDF viewer fdroid
Markor Markdown editor, notes app fdroid gplay git
Termux Terminal emulator fdroid git
Macros Calorie Counter gplay
Relaxio White-noise player gplay
Amaze File manager fdroid git
Alarmio Alarm clock, timer fdroid git
StreetComplete Simplified OSM contribution fdroid
HiPER Calc Superior calculator gplay
Dicer Roll dices fdroid
Tape Measure Measure distances in an image fdroid
Voice Audiobook player (more formats than audiopo, but inferior interface) fdroid
Scrambled Exif Remove metadata from images before sharing them fdroid
Bluelight Filter Filters the bluelight, easier on the eyes, set filter based on time gplay

MacOS

I also use this setup on macOS, though there is a lot of room for improvement.