Skip to content

jakob1379/nix-config

Repository files navigation

Nix Config

This repository contains Nix configuration files for setting up and managing development environments.

Table of Contents

Layout

  • 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.

Installation

Clone the repository:

git clone https://github.com/jakob1379/nix-config.git
cd nix-config

Usage

Apply the configurations by running the provided scripts or commands. Review individual configuration files for details.

Install Script

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.conf enables flakes.

Development Shell (devShell)

The devShell provides a consistent development environment:

  • Packages: Uses generalPackages for essential tools.
  • Hook Tooling: Uses cachix/git-hooks.nix to generate and install prek hooks from nix/git-hooks.nix.
  • Shell Hook: Installs hooks, sets SSL_CERT_FILE, and customizes the shell prompt.

Run all hooks through Nix with:

nix fmt

Enter the development shell with:

nix develop

# or automatically with direnv
direnv allow

Features

  • Comprehensive Nix configurations.
  • Setup scripts.
  • Support for multiple system installations.

Contributing

Contributions are welcome! Fork the repository and submit a pull request.

License

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!

About

Various NixOS and home-manager configs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors