gomod2nix

command module
v1.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2025 License: MIT Imports: 1 Imported by: 0

README

Gomod2nix

Convert applications using Go modules -> Nix

Usage

From the Go project directory execute:

$ gomod2nix

This will create gomod2nix.toml that's used like so

let
  pkgs = import <nixpkgs> {
    overlays = [
      (self: super: {
        buildGoApplication = super.callPackage ./builder { };
      })
    ];
  };
in pkgs.buildGoApplication {
  pname = "gomod2nix-example";
  version = "0.1";
  src = ./.;
  modules = ./gomod2nix.toml;
}

For more in-depth usage check the Getting Started and the Nix API reference docs.

Motivation

The announcement blog post contains comparisons with other Go build systems for Nix and additional notes on the design choices made.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About the project

The developmentent of Trustix (which Gomod2nix is a part of) has been sponsored by Tweag I/O and funded by the NLNet foundation and the European Commission’s Next Generation Internet programme through the NGI Zero PET (privacy and trust enhancing technologies) fund.

NGI0 logo NLNet banner Tweag logo

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
builder
install command
symlink command
internal
cmd
Package cmd implements the command line interface for gomod2nix
Package cmd implements the command line interface for gomod2nix
generate
Package generate provides functions to import Go package sources and generate package metadata for Nix.
Package generate provides functions to import Go package sources and generate package metadata for Nix.
lib
Package lib provides utility functions and types for general use.
Package lib provides utility functions and types for general use.
schema
Package schema defines the schema for the package metadata used in caching and serialization.
Package schema defines the schema for the package metadata used in caching and serialization.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL