Migrate to home-manager

This commit is contained in:
Daniel Lundin 2024-08-02 11:12:36 +02:00
parent 6781866277
commit 2f6d4e1d3c
No known key found for this signature in database
147 changed files with 6181 additions and 6078 deletions
pkgs
default.nix
gnome-ssh-askpass4
jujutsu-openssh
lazyjj

5
pkgs/default.nix Normal file
View file

@ -0,0 +1,5 @@
pkgs: {
gnome-ssh-askpass4 = pkgs.callPackage ./gnome-ssh-askpass4 { };
jujutsu-openssh = pkgs.callPackage ./jujutsu-openssh { };
lazyjj = pkgs.callPackage ./lazyjj { };
}

View file

@ -0,0 +1,48 @@
{
lib,
stdenv,
fetchFromGitHub,
gcr_4,
glib,
gtk4,
pkg-config,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "gnome-ssh-askpass4";
version = "0.0.0";
src = fetchFromGitHub {
name = "openssh";
owner = "openssh";
repo = "openssh-portable";
rev = "5b0d9e3ed8fd407936d973990ae169cc296150f7";
hash = "sha256-QJilKQ6weWZuf3L8yUplXwjqlzH5Ki7YeDnCh4HSuIQ=";
};
sourceRoot = "openssh/contrib";
nativeBuildInputs = [
pkg-config
];
buildInputs = [
gcr_4
glib
gtk4
];
strictDeps = true;
buildPhase = ''make gnome-ssh-askpass4'';
installPhase = ''install -Dm 755 gnome-ssh-askpass4 $out/bin/gnome-ssh-askpass4'';
meta = with lib; {
description = "A simple SSH passphrase grabber for GNOME";
homepage = "https://github.com/openssh/openssh-portable";
license = licenses.bsd2;
maintainers = with maintainers; [ ];
mainProgram = "gnome-ssh-askpass4";
};
})

3877
pkgs/jujutsu-openssh/Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,90 @@
{
lib,
fetchFromGitHub,
rustPlatform,
pkg-config,
openssl,
gzip,
libgit2,
openssh,
zstd,
installShellFiles,
nix-update-script,
testers,
jujutsu-openssh,
}:
rustPlatform.buildRustPackage rec {
pname = "jujutsu-openssh";
version = "0.19.0+pr3191.openssh";
src = fetchFromGitHub {
owner = "martinvonz";
repo = "jj";
rev = "f97577cf3f8da3f8cba40bb908a21d5b932cf68f"; # https://github.com/martinvonz/jj/pull/3191/commits
hash = "sha256-njRXH1JGBflIPU8nWPawjVEbqXm+zCITjI7EIcpVt84=";
};
# cargoHash = "";
cargoLock.lockFile = ./Cargo.lock;
cargoLock.outputHashes = {
"git2-0.18.3" = "sha256-3g7ajPfLfuPWh46rIa70wQRWLZ+jZXBApkyPlJULi/I=";
};
cargoBuildFlags = [
"--bin"
"jj"
]; # don't install the fake editors
useNextest = false; # nextest is the upstream integration framework, but is problematic for test skipping
ZSTD_SYS_USE_PKG_CONFIG = "1"; # disable vendored zlib
nativeBuildInputs = [
gzip
installShellFiles
pkg-config
];
buildInputs = [
openssl
zstd
libgit2
openssh
];
postInstall = ''
$out/bin/jj util mangen > ./jj.1
installManPage ./jj.1
installShellCompletion --cmd jj \
--bash <($out/bin/jj util completion bash) \
--fish <($out/bin/jj util completion fish) \
--zsh <($out/bin/jj util completion zsh)
'';
checkFlags = [
# signing tests spin up an ssh-agent and do git checkouts
"--skip=test_ssh_signing"
];
passthru = {
updateScript = nix-update-script { };
tests = {
version = testers.testVersion {
package = jujutsu-openssh;
command = "jj --version";
};
};
};
meta = with lib; {
description = "Git-compatible DVCS that is both simple and powerful";
homepage = "https://github.com/martinvonz/jj";
changelog = "https://github.com/martinvonz/jj/blob/v${version}/CHANGELOG.md";
license = licenses.asl20;
maintainers = with maintainers; [
_0x4A6F
thoughtpolice
];
mainProgram = "jj";
};
}

29
pkgs/lazyjj/default.nix Normal file
View file

@ -0,0 +1,29 @@
{
stdenvNoCC,
fetchzip,
}: let
version = "0.2.1";
in
stdenvNoCC.mkDerivation {
name = "lazyjj";
inherit version;
src = fetchzip {
url = "https://github.com/Cretezy/lazyjj/releases/download/v0.2.1/lazyjj-v0.2.1-x86_64-unknown-linux-musl.tar.gz";
hash = "sha256-yMfGWuzsl94elFxRvGaLA61KBopBnBT3j5pxbCrKl0w=";
};
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -m755 -D $src/lazyjj $out/bin/lazyjj
runHook postInstall
'';
meta = {
homepage = "https://github.com/Cretezy/lazyjj";
description = "TUI for jj";
mainProgram = "lazyjj";
platforms = ["x86_64-linux"];
};
}