Files
nixos/home/common/dnote.nix
Joakim Repomaa 1cf3c7d8dd add dnote
2025-02-13 16:03:10 +02:00

36 lines
996 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)
'';
};
}