-
Linux Distribution: NixOS (with flakes)
-
Dotfiles: normal Git repository + Home Manager
-
Shell: ZSH (via Home Manager)
-
Editor: Neovim + LazyVim (I always use it in the terminal or with neovide)
-
Keyboard layout: Neo Layout
-
Tiling Window Manager: Herbstluftwm
-
Statusbar: Polybar
-
Terminal: Alacritty
-
Font: Commit Mono
-
Theme: tokyonight-storm (dark) / catppuccin-latte with white background (light)
-
Password Manager: KeePassXC synced with MEGA to cloud + android, with Syncthing to trusted friends - covers:
- SSH Agent
- TOTP Authenticator
- secret service / gnome-keyring
- secret lookups for environment variables, like
OPENAI_API_KEY
-
Screenshot tool: Flameshot
-
git TUI: tig - make precise commits by staging individual git hunks instead of whole files
WARNING: These are the installation instructions for myself, not for you. You should have your own repository and get inspired by this one. If you have any questions, feel free to open issues.
All paths assume a running NixOS or nix-enabled system with flakes.
curl -sSfL https://artifacts.nixos.org/nix-installer | sh -s -- install --enable-flakes
# or
curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install | sh -s -- --daemonNo clone needed; points straight at the GitHub flake. Ephemeral or permanent — brings my zsh, neovim, git and CLI tools.
# x86_64
nix run home-manager -- switch -b backup --flake github:fdietze/dotfiles#felix@x86_64-linux
# aarch64
nix run home-manager -- switch -b backup --flake github:fdietze/dotfiles#felix@aarch64-linuxOne bootstrap script handles both. It clones the repo, then asks whether to set up the whole system (NixOS + Home Manager) or just the Home Manager shell profile. For a hostname that is already defined (e.g. gurke) it builds that host directly; for a new machine it derives a desktop-free host from hosts-nixos/template/, generates hardware-configuration.nix, and offers to rebuild.
bash <(curl -fsSL https://raw.githubusercontent.com/fdietze/dotfiles/master/scripts/setup-new-host.sh)nix-on-droid switch --flake ~/projects/dotfiles#korken
If curl is missing on a minimal install: nix-shell -p curl.
To keep a new host long-term, promote it: add desktops and a local.nix the way hosts-nixos/gurke/ does.
- What are
.zshrc/.zshenv/.zprofile? https://unix.stackexchange.com/questions/71253/what-should-shouldnt-go-in-zshenv-zshrc-zlogin-zprofile-zlogout - Better bash functions: https://cuddly-octo-palm-tree.com/posts/2021-10-31-better-bash-functions/
-
managing dotfiles with a normal git repo and Home Manager-owned links
-
fzf over dotfiles: vd
-
Neo keyboard layout
-
Vim and keybindings
-
toggle ; at end of line
-
quickly edit dotfiles with vim: vv
-
fzf for editing dotfiles
-
git alias: g
-
zsh bell after every command
-
v for fzf+vim in current git repo
-
Tiling Window Manager keybindings
-
NixOS
-
Dark and Light color scheme switching
-
Tools
-
tig
-
fzf
-
redshift
-
unclutter
-
zeal
-
Scala
-
reverse compilation errors
- put lots of links to issues/docs as comments everywhere. Open them from vim with
gx.

