This repository contains Nix configuration files for setting up and managing development environments.
Table of Contents
home/: Home Manager entrypoints, shared modules, and user-space system profiles.nixos/hosts/: machine-specific NixOS configurations.nixos/users/: user-specific NixOS modules that hosts can opt into.lib/: flake helpers and shared constructors.devshells/: development shells exported by the flake.
Clone the repository:
git clone https://github.com/jakob1379/nix-config.git
cd nix-configApply the configurations by running the provided scripts or commands. Review individual configuration files for details.
The install.sh script installs Nix if needed and enables the required flake
configuration:
./install.sh: Installs Nix when missing and ensures~/.config/nix/nix.confenables flakes.
The devShell provides a consistent development environment:
- Packages: Uses
generalPackagesfor essential tools. - Hook Tooling: Uses
cachix/git-hooks.nixto generate and install prek hooks fromnix/git-hooks.nix. - Shell Hook: Installs hooks, sets
SSL_CERT_FILE, and customizes the shell prompt.
Run all hooks through Nix with:
nix fmtEnter the development shell with:
nix develop
# or automatically with direnv
direnv allow- Comprehensive Nix configurations.
- Setup scripts.
- Support for multiple system installations.
Contributions are welcome! Fork the repository and submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
Explore the repository and customize the configurations to fit your needs!