dotfiles/nix/repo/packages/default.nix

83 lines
2.3 KiB
Nix
Raw Normal View History

{
inputs,
cell,
2023-07-01 00:56:33 +00:00
}: let
pkgs = inputs.nixpkgs;
in {
inherit (inputs.cells.dotfiles.packages) kpcli-py;
2023-07-01 00:56:33 +00:00
kpxc = let
inherit (pkgs) keepassxc;
in
if pkgs.stdenv.isDarwin
then
pkgs.stdenv.mkDerivation {
pname = "keepassxc-darwin";
version = keepassxc.version;
2023-07-01 00:56:33 +00:00
phases = ["installPhase"];
installPhase = ''
mkdir -p $out/bin
cp -r ${keepassxc}/* $out/
2023-07-01 00:56:33 +00:00
${
if pkgs.stdenv.hostPlatform.isDarwin
then ''
for exe in $(find $out/Applications/KeePassXC.app/Contents/MacOS/ -type f -executable); do
exe_name=$(basename $exe)
ln -s $exe $out/bin/$exe_name
done
''
else ""
}
'';
meta =
keepassxc.meta
// {
description = "Wrapper for keepassxc and keepassxc-cli with additional Darwin-specific fixes";
};
}
else keepassxc;
pixi-edit = inputs.cells.dev.packages.pixi-edit;
2023-09-01 19:20:38 +00:00
nil = inputs.nixpkgs.nil;
git-plus = pkgs.symlinkJoin {
name = "pegasust-git-plus";
paths = [
(pkgs.writeShellScriptBin "git-lola" ''
git log --graph --decorate --color=always --abbrev-commit --all\
--pretty=format:'%C(auto)%h %d %C(cyan)%s %C(green)(%cr)%C(reset)' |
while IFS= read -r line; do
# Format the relative time
line=$(echo "$line" | sed -e 's/ minute/ min/' \
-e 's/ week/ wk/' \
-e 's/ hour/ hr/' \
-e 's/ month/ mo/' \
-e 's/ year/ yr/' \
-e 's/ ago//')
# Print the formatted line
echo "$line"
done | less -R
'')
(pkgs.writeShellScriptBin "git-lol" ''
git log --graph --decorate --color=always --abbrev-commit \
--pretty=format:'%C(auto)%h %d %C(cyan)%s %C(green)(%cr)%C(reset)' |
while IFS= read -r line; do
# Format the relative time
line=$(echo "$line" | sed -e 's/ minute/ min/' \
-e 's/ week/ wk/' \
-e 's/ hour/ hr/' \
-e 's/ month/ mo/' \
-e 's/ year/ yr/' \
-e 's/ ago//')
# Print the formatted line
echo "$line"
done | less -R
'')
];
};
}