mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-06 04:24:28 +03:00
yadm: use resholvePackage (#154190)
This commit is contained in:
parent
807a2f26e3
commit
360829c749
@ -1,18 +1,43 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, git, gnupg, installShellFiles }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, resholvePackage
|
||||||
|
, fetchFromGitHub
|
||||||
|
, git
|
||||||
|
, bash
|
||||||
|
, openssl
|
||||||
|
, gawk
|
||||||
|
/*
|
||||||
|
TODO: yadm can use git-crypt and transcrypt
|
||||||
|
but it does so in a way that resholve 0.6.0
|
||||||
|
can't yet do anything smart about. It looks
|
||||||
|
like these are for interactive use, so the
|
||||||
|
main impact should just be that users still
|
||||||
|
need both of these packages in their profile
|
||||||
|
to support their use in yadm.
|
||||||
|
*/
|
||||||
|
# , git-crypt
|
||||||
|
# , transcrypt
|
||||||
|
, j2cli
|
||||||
|
, esh
|
||||||
|
, gnupg
|
||||||
|
, coreutils
|
||||||
|
, gnutar
|
||||||
|
, installShellFiles
|
||||||
|
, runCommand
|
||||||
|
, yadm
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
resholvePackage rec {
|
||||||
pname = "yadm";
|
pname = "yadm";
|
||||||
version = "3.1.1";
|
version = "3.1.1";
|
||||||
|
|
||||||
buildInputs = [ git gnupg ];
|
|
||||||
|
|
||||||
nativeBuildInputs = [ installShellFiles ];
|
nativeBuildInputs = [ installShellFiles ];
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "TheLocehiliosan";
|
owner = "TheLocehiliosan";
|
||||||
repo = "yadm";
|
repo = "yadm";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk=";
|
hash = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
dontConfigure = true;
|
dontConfigure = true;
|
||||||
@ -31,6 +56,72 @@ stdenv.mkDerivation rec {
|
|||||||
--bash completion/bash/yadm
|
--bash completion/bash/yadm
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
solutions = {
|
||||||
|
yadm = {
|
||||||
|
scripts = [ "bin/yadm" ];
|
||||||
|
interpreter = "${bash}/bin/sh";
|
||||||
|
inputs = [
|
||||||
|
git
|
||||||
|
gnupg
|
||||||
|
openssl
|
||||||
|
gawk
|
||||||
|
# see head comment
|
||||||
|
# git-crypt
|
||||||
|
# transcrypt
|
||||||
|
j2cli
|
||||||
|
esh
|
||||||
|
bash
|
||||||
|
coreutils
|
||||||
|
gnutar
|
||||||
|
];
|
||||||
|
fake = {
|
||||||
|
external = if stdenv.isCygwin then [ ] else [ "cygpath" ];
|
||||||
|
};
|
||||||
|
fix = {
|
||||||
|
"$GPG_PROGRAM" = [ "gpg" ];
|
||||||
|
"$OPENSSL_PROGRAM" = [ "openssl" ];
|
||||||
|
"$GIT_PROGRAM" = [ "git" ];
|
||||||
|
"$AWK_PROGRAM" = [ "awk" ];
|
||||||
|
# see head comment
|
||||||
|
# "$GIT_CRYPT_PROGRAM" = [ "git-crypt" ];
|
||||||
|
# "$TRANSCRYPT_PROGRAM" = [ "transcrypt" ];
|
||||||
|
"$J2CLI_PROGRAM" = [ "j2" ];
|
||||||
|
"$ESH_PROGRAM" = [ "esh" ];
|
||||||
|
# not in nixpkgs (yet)
|
||||||
|
# "$ENVTPL_PROGRAM" = [ "envtpl" ];
|
||||||
|
# "$LSB_RELEASE_PROGRAM" = [ "lsb_release" ];
|
||||||
|
};
|
||||||
|
keep = {
|
||||||
|
"$YADM_COMMAND" = true; # internal cmds
|
||||||
|
"$template_cmd" = true; # dynamic, template-engine
|
||||||
|
"$SHELL" = true; # probably user env? unsure
|
||||||
|
"$hook_command" = true; # ~git hooks?
|
||||||
|
"exec" = [ "$YADM_BOOTSTRAP" ]; # yadm bootstrap script
|
||||||
|
|
||||||
|
# not in nixpkgs
|
||||||
|
"$ENVTPL_PROGRAM" = true;
|
||||||
|
"$LSB_RELEASE_PROGRAM" = true;
|
||||||
|
};
|
||||||
|
/*
|
||||||
|
TODO: these should be dropped as fast as they can be dealt
|
||||||
|
with properly in binlore and/or resholve.
|
||||||
|
*/
|
||||||
|
execer = [
|
||||||
|
"cannot:${j2cli}/bin/j2"
|
||||||
|
"cannot:${esh}/bin/esh"
|
||||||
|
"cannot:${git}/bin/git"
|
||||||
|
"cannot:${gnupg}/bin/gpg"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.tests = {
|
||||||
|
minimal = runCommand "${pname}-test" {} ''
|
||||||
|
export HOME=$out
|
||||||
|
${yadm}/bin/yadm init
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/TheLocehiliosan/yadm";
|
homepage = "https://github.com/TheLocehiliosan/yadm";
|
||||||
description = "Yet Another Dotfiles Manager";
|
description = "Yet Another Dotfiles Manager";
|
||||||
@ -40,6 +131,7 @@ stdenv.mkDerivation rec {
|
|||||||
* Provides a way to use alternate files on a specific OS or host.
|
* Provides a way to use alternate files on a specific OS or host.
|
||||||
* Supplies a method of encrypting confidential data so it can safely be stored in your repository.
|
* Supplies a method of encrypting confidential data so it can safely be stored in your repository.
|
||||||
'';
|
'';
|
||||||
|
changelog = "https://github.com/TheLocehiliosan/yadm/blob/${version}/CHANGES";
|
||||||
license = lib.licenses.gpl3Plus;
|
license = lib.licenses.gpl3Plus;
|
||||||
maintainers = with lib.maintainers; [ abathur ];
|
maintainers = with lib.maintainers; [ abathur ];
|
||||||
platforms = lib.platforms.unix;
|
platforms = lib.platforms.unix;
|
||||||
|
Loading…
Reference in New Issue
Block a user