Skip to content

grimerssy/snig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Snig

logo

Snig /snʲiɦ/, Ukrainian for "snow" – a great find while looking for flakes.


A collection of Nix flake utilities designed to streamline the development workflow and provide a consistent, reproducible setup across different machines.

Modules

This flake exposes the following types of modules:

Options

Option modules are what you'd typically call a module in the Nix ecosystem. They don't change your configuration; instead, they make more options available.

You can use them by adding snig.<type>Modules.default to your imports.

If you want to use the Home Manager options, you'd import them in a Home Manager module.

{ inputs, ... }:
{
  imports = [ inputs.snig.homeModules.default ];
}

Configurations

This flake also exports Configuration modules, which provide opinionated configurations for available options. Configuration is subject to change in newer revisions.

Important

Configurations may set options defined in this flake. Make sure to also import options before using configuration.

It's encouraged not to bulk import available configurations. Instead, you should import them in your own dedicated modules.

Configuration can also be selectively overridden with lib.mkForce.

For example, if you want to use the Git configuration but not Delta for syntax highlighting, your Home Manager module would look like this:

{ lib, inputs, ... }:
{
  imports = [ inputs.snig.homeModules.configurations.git ];
  programs.git.delta.enable = lib.mkForce false;
}

About

Opinionated building blocks for a personalized development environment

Topics

Resources

License

Stars

Watchers

Forks