45 lines
1022 B
Nix
45 lines
1022 B
Nix
{
|
|
inputs,
|
|
lib,
|
|
pkgs,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
completion = pkgs.stdenv.mkDerivation {
|
|
name = "dnote-completion";
|
|
phases = [
|
|
"unpackPhase"
|
|
"installPhase"
|
|
];
|
|
src = inputs.dnote;
|
|
installPhase = ''
|
|
mkdir -p $out/lib/dnote/zsh-completion/completions
|
|
cp pkg/cli/dnote-completion.zsh $out/lib/dnote/zsh-completion/completions/_dnote
|
|
'';
|
|
};
|
|
client = pkgs.stdenv.mkDerivation {
|
|
name = "dnote-client";
|
|
phases = [ "installPhase" ];
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
cp ${unstablePkgs.dnote}/bin/dnote-cli $out/bin/dnote
|
|
'';
|
|
};
|
|
cfg = config.programs.dnote;
|
|
unstablePkgs = inputs.nixpkgs-unstable.legacyPackages.${pkgs.system};
|
|
in
|
|
{
|
|
options.programs.dnote = {
|
|
enable = pkgs.lib.mkEnableOption "Enable dnote";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.packages = [ client ];
|
|
home.shellAliases.dn = "dnote";
|
|
programs.zsh.initExtra = ''
|
|
fpath=(${completion}/lib/dnote/zsh-completion/completions $fpath)
|
|
'';
|
|
};
|
|
}
|