Development environment configuration using Nix. Multiples systems are supported using a modular approach that enables separation between system and user configuration.
It doesn't rely fully on nix. Its intended purpose here is just to configure the system's settings and act as a declarative package manager. The configuration of the different user applications uses the conventional text files that follows the best practices and is more aligned with the community.
For macOS, installation of Nix is recommended but not required. The Determinate Nix distro is suggested.
Clone the repo and run:
./installFor Android, using Termux, the following steps are required:
pkg install -y zsh python
chsh -s zshClose and reopen the terminal.
Then, clone the repo and run:
./installCollection of issues faced during the installation process. Hopefully useful for others :)
In case of errors like the following:
error: Cannot build '/nix/store/8icjqwqrw122n9h3bliv1d3sbaxvphkx-cursor-1.2.2.drv'.
Reason: builder failed with exit code 1.
Output paths:
/nix/store/mdwh1hkzgqib6kj3xkjzaf3rhd2gh2wm-cursor-1.2.2
Last 8 log lines:
> Running phase: unpackPhase
> unpacking source archive /nix/store/r64az1s96fa6s50z3fn2bjz34xxqacy6-Cursor-darwin-arm64.dmg
> source root is Cursor.app
> Running phase: patchPhase
> Running phase: updateAutotoolsGnuConfigScriptsPhase
> Running phase: glibPreInstallPhase
> Running phase: installPhase
> mkdir: cannot create directory '/nix/store/mdwh1hkzgqib6kj3xkjzaf3rhd2gh2wm-cursor-1.2.2/Applications/Cursor.app': Operation not permitted
follow the instructions in this issue
Just run:
git submodule update --remoteWorkspace is heavily inspired by:
- omerxx/dotfiles for its extensive configuration of user applications
- marcocondrache/nix-config for its modular and scalable approach