Giter Club home page Giter Club logo

nix-test's Introduction

A template Rust project with fully functional and no-frills Nix support, as well as builtin VSCode configuration to get IDE experience without any manual setup (just open in VSCode and accept the suggestions). Based on dream2nix and nix-cargo-integration.

Note: If you are looking for the original template based on this blog post's use of crate2nix, browse from this tag.

Adapting this template

  • Run nix develop to have a working shell ready before name change (Workaround for an issue
  • Change name in Cargo.toml and flake.nix. Also change description in flake.nix.
  • Run cargo generate-lockfile in the nix shell
  • There are two CI workflows, and one of them uses Nix which is slower (unless you configure a cache) than the other that is based on rustup. Pick one or the other depending on your trade-offs.

Development (Flakes)

This repo uses Flakes from the get-go, but compat is provided for traditional nix-shell/nix-build as well (see the section below).

# Dev shell
nix develop

# or run via cargo
nix develop -c cargo run

# build
nix build

Development (Legacy Nix)

# Dev shell
nix-shell

# run via cargo
nix-shell --run 'cargo run'

# build
nix-build

There is also a bin/run script which starts 'cargo watch'; it is used by VSCode as well (Ctrl+Shift+B).

nix-test's People

Contributors

supernomad avatar

Watchers

 avatar  avatar

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.