The de-facto version control system. Remember who, what, when, where, and why it was changed.
It's also billed as being distributed, but most people store their code on GitHub. I might try Codeberg or SourceHut for feels.
Anyways, here's some examples.
git-status #
brief summary #
Shows a brief summary
[todd@nixos:~/nixos]$ git status -bs
## main...origin/main [ahead 2]
M README.md
M configuration.nix
M keyd.nix
M neovim.nix
M tmux.nix
?? hardware-configuration.nix
?? notes.md
?? pass.nix
?? result
?? unstable.nix
git-log #
Logs are great, right? When you need them anyway. I don't need a blog if I keep a tidy git log.
Basically, if we consistently follow good practice and write, short, imperative commit messages, we can get a good overview of changes without talking
When apropos, tac --follow
to trace all commits to a file.
Here's an example from my nixOS configurations.
[todd@nixos:~/nixos]$ git log --follow configuration.nix
commit e315742fd69a70f881f48e3f5693cc4223b7e5e1 (origin/main, origin/HEAD)
Author: Todd Butters <todd@butters.io>
Date: Mon Nov 20 20:57:17 2023 -0500
Add atuin magic shell history config
- Add atuin.sh
- Update configuration.nix
Puts bash, zsh, and fish shell history into a database and add fuzzy
finding search to it and capability to sync across machines.
commit 9879dec96c0fcb28abd8f6a4943b48c7afb07aeb
Author: Todd Butters <todd@butters.io>
Date: Sat Nov 18 16:17:47 2023 -0500
Add zoxide smarter cd command config
- Add zoxide.nix
- Update configuration.nix
Intuitive, intelligent, directory jumping program based on how recently
and frequently you visit a directory in the shell.
commit 994bb649d202b36ec7f39ee720ebb61b64e5de05
Author: Todd Butters <todd@butters.io>
Date: Sat Nov 18 09:02:44 2023 -0500
Add keyd and remap caps lock to esc
- Add keyd.nix
- Update configuration.nix
Flexible, system-wide key remapping daemon on Linux.
Used primarily to make the Caps lock key useful.
commit 7b3a2e784e3256021799d3b87f2258e551670dc8
Author: Todd Butters <todd@butters.io>
Date: Sat Nov 18 09:01:17 2023 -0500
Add tmux terminal multiplexer configuration
- Add tmux.nix
- Update configuration.nix
commit 8053635dea22041ba12eb60c30a3e065c0536ec2
Author: Todd Butters <todd@butters.io>
Date: Fri Nov 17 22:12:52 2023 -0500
Add neovim text editor configuration
- Add neovim.nix
- Update configuration.nix
commit 4de25df66965a8349e9ed4318c9cee561fc013f6
Author: Todd Butters <todd@butters.io>
Date: Fri Nov 17 21:29:04 2023 -0500
Add basic configuration
- Add configuration.nix
[todd@nixos:~/nixos]$
``