Skip to content
jkaye2012Public

About

My generic development Linux development environment, powered by Nix

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

A composable development environment in pure Nix

This repository holds my personal, portable development environment. I use a consistent set of tools for all of my engineering work, and Nix makes it easy to keep this environment up to date across different projects and machines.

Currently, the flake is structured such that:

  • A default set of packages is exposed so that the entire environment can be relied upon in downstream flakes as a build input
  • An isolated package per individually configured tool is exposed so that packages can be used piecemeal in downstream flakes if necessary
  • A default devShell is exposed that can be relied upon in downstream flakes via mkShell.inputsFrom

Tools

The following tools are configured and exposed by the development environment.

A pluggable and configurable code formatting platform written in Rust.

Currently configured and used only for Markdown formatting, but will likely be extended in the future for json and other ubiquitous formats.

The CLI for GitLab. Currently, no customization is applied as the glab command requires that the configuration file be 600, which is incompatible with the Nix store.

The Helix text editor along with my customized configuration and any tools that are required for standard operation.

Just is a simple command runner for project (or environment) specific commands.

A thin Git client that simplifies standard usage.

A fast, simple terminal file manager.

A terminal multiplexer with a modern UI and sensible defaults.

The keybindings are heavily customized to make the tool more compatible with standard Unix keybindings.

Shell customizations

The devShell exposed by the flake includes customizations that are propagated to downstream shells using mkShell.inputsFrom.

Aliases

Aliases may change often, and can be found in the source on GitHub.

Library

The flake also includes an additional set of outputs (lib) that exposes generic library functionality useful to arbitrary projects that are built with nix. The library is documented in detail separately from the tooling documentation.

About

My generic development Linux development environment, powered by Nix

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages