Nix flake for portable CLI tools and dotfiles - fish, tmux, starship, and friends.
Find a file
Fer Rumbo f015496743 op
2025-12-22 11:11:18 +01:00
config feat(jj): add config.toml and update flake.lock 2025-12-16 21:40:45 +01:00
.gitignore tmux git plugins 2025-12-12 07:27:24 +01:00
.gitmodules Add nvim config as git submodule for easier editing 2025-12-12 07:45:30 +01:00
flake.lock op 2025-12-22 11:09:26 +01:00
flake.nix op 2025-12-22 11:09:26 +01:00
home.nix op 2025-12-22 11:11:18 +01:00
README.md Init 2025-12-11 21:09:11 +01:00

homeless

Nix flake for managing dotfiles and CLI tools.

Packages

Package Description
lazygit Terminal UI for git
fd Modern find replacement
bat cat with syntax highlighting
fzf Fuzzy finder
atuin Shell history sync
zoxide Smart cd command
tmux Terminal multiplexer (with config)
starship Cross-shell prompt (with config)
fish Fish shell (with config, includes starship)

Installation

Install all packages:

nix profile install .#all

Install individual packages:

nix profile install .#fish
nix profile install .#tmux
nix profile install .#lazygit
# etc.

Try without installing:

nix run .#fish
nix run .#lazygit

Development shell:

nix develop

Configuration

Configs live in config/:

config/
├── tmux.conf        # tmux configuration
├── starship.toml    # starship prompt
└── fish/
    ├── config.fish  # fish shell config
    └── functions/   # fish functions

Fish

Fish auto-initializes:

  • Starship prompt
  • Zoxide (z command)
  • Atuin (shell history)
  • Fzf key bindings

Aliases:

  • ggit
  • lglazygit
  • catbat
  • llls -la

Functions:

  • mkcd <dir> - create and cd into directory
  • gitignore <lang> - fetch gitignore templates

Tmux

Prefix is Ctrl-a.

Key Action
prefix + | Split vertical
prefix + - Split horizontal
prefix + h/j/k/l Navigate panes
prefix + H/J/K/L Resize panes
prefix + r Reload config

Updating

nix flake update
nix profile upgrade '.*'