summaryrefslogtreecommitdiff
path: root/devenv.nix
blob: 04cf2161a6740bb62fad76abf1e9b13aff8f0b87 (plain)
{ pkgs, config, ... }:

let
  feluments = config.languages.rust.import ./. { };
in
{
  delta.enable = true;
  
  languages.rust = {
    enable = true;
    components = [ "rustc" "rust-analyzer" "cargo" "rustfmt" "clippy" ];
  };
  packages = with pkgs; [
    git
    bacon
    cargo-seek
    cargo-nextest
  ];
  scripts.watcher = {
    exec = ''
      watchexec -c -e rs "cargo clippy && cargo test && cargo run"
    '';
    packages = [ pkgs.watchexec ];
  };
  enterShell = ''
      cargo update
    '';
  git-hooks.hooks = {
    rustfmt.enable = true;
    clippy.enable = true;
  };
  outputs = {
    inherit feluments;
  };
}