28 lines
660 B
Nix
28 lines
660 B
Nix
{ config, pkgs, lib, inputs, ... }:
|
|
with lib;
|
|
let cfg = config.programs.riff;
|
|
in {
|
|
options.programs.riff = {
|
|
enable = mkEnableOption "riff";
|
|
direnv = mkOption {
|
|
type = types.bool;
|
|
default = false;
|
|
description = ''
|
|
Whether to enable direnv support
|
|
'';
|
|
};
|
|
};
|
|
config = mkIf cfg.enable {
|
|
home.packages = [ inputs.riff.packages.${pkgs.system}.riff ];
|
|
|
|
xdg.configFile."direnv/lib/riff.sh" = mkIf cfg.direnv {
|
|
executable = true;
|
|
text = ''
|
|
use_riff() {
|
|
watch_file Cargo.toml watch_file Cargo.lock
|
|
eval "$(riff --offline print-dev-env)"
|
|
}
|
|
'';
|
|
};
|
|
};
|
|
}
|