- Clone this repository
- Run
make init - Run
make install
If wanted, change the version in nix/flake.nix first
make update # or update-unstable
brew remove --force --cask ...
nix run nixpkgs/nixpkgs-unstable#<PACKAGE>
As usual, it went bad quickly. Nothing should ever be written using shell scripts. Shell scripting shouldn't even exist.
Rewritten in Python. Life was nice, but a little bit hacky and manual
Moving to Nix, nix-darwin & home-manager. This works well but is too complicated. I really don't want to understand/learn a new language only to manag packages, files and settings on my laptops.
Nix (the language) is painful and unncessary for me, while the package management and config management is very useful. I want a way to get rid of the language.
Required features :
- Package management and override (i.e I want to install a specific version of a given package for whatever reason)
- Homebrew + Cask management
- Dotfiles management (mostly symlinks)
- [optional] MacOS' Launchd control (cf. https://www.danielcorin.com/til/nix-darwin/launch-agents/)
- [optional] MacOS' customisation
- Default + overridable configuration : some packages must be available for all machines, but some only at work/home
- Different username in work/home setup
- [optional] Likely different dotfiles for work/home setup
- [optional] Before/After hooks for any given stage
- Use
loggingto display debug messages intead ofprint