GithubHelp home page GithubHelp logo

esy-fhs's Introduction

esy-fhs

Esy and Nix are not compatible.

However, it is possible to use Nix to construct the kind of environment Esy expects, and then use Esy to build your project. This repository provides a Nix flake for doing just that - it builds an FHS-compatible chroot environment with Esy and its dependencies installed, from which you can use esy commands as normal.

Usage

(Be sure Nix flake support is enabled)

The main function exposed is lib.makeFHSApp - this lets you create an "app" can run use with nix run.

Example:

# flake.nix
{
  inputs.flake-utils.url = "github:numtide/flake-utils";
  inputs.esy-fhs.url = "github:d4hines/esy-fhs";
  outputs = { self, flake-utils, esy-fhs }:
    flake-utils.lib.eachDefaultSystem (system:
      {
        defaultApp = esy-fhs.lib.makeFHSApp { inherit system; };
      }
    );
}

To use esy, run nix run. When successful, nothing should change, except you should notice esy is now on your path.

( To speed up build time, I recommend you use https://app.cachix.org/cache/anmonteiro)

There additional options you can pass to lib.makeFHSApp:

  • extraPackages - additional nix packages to install in an FHS-compatible way.
  • extraBuildCommands - additional commands to run to set up the environment.
  • runScript - the command to run on entering the environment. Defaults to your current shell.

esy-fhs's People

Contributors

d4hines avatar

Watchers

James Cloos avatar  avatar  avatar

Forkers

ulrikstrid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.