aa122cbae7
This CL can be used to compare the style of nixpkgs-fmt against other formatters (nixpkgs, alejandra). Change-Id: I87c6abff6bcb546b02ead15ad0405f81e01b6d9e Reviewed-on: https://cl.tvl.fyi/c/depot/+/4397 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org> Reviewed-by: lukegb <lukegb@tvl.fyi> Reviewed-by: wpcarro <wpcarro@gmail.com> Reviewed-by: Profpatsch <mail@profpatsch.de> Reviewed-by: kanepyork <rikingcoding@gmail.com> Reviewed-by: tazjin <tazjin@tvl.su> Reviewed-by: cynthia <cynthia@tvl.fyi> Reviewed-by: edef <edef@edef.eu> Reviewed-by: eta <tvl@eta.st> Reviewed-by: grfn <grfn@gws.fyi>
73 lines
2 KiB
Nix
73 lines
2 KiB
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
inherit (pkgs) writeShellScript;
|
|
inherit (pkgs.lib.strings) makeBinPath;
|
|
in
|
|
{
|
|
install = writeShellScript "install-configs" ''
|
|
cd "$WPCARRO/configs" && ${pkgs.stow}/bin/stow --target="$HOME" .
|
|
'';
|
|
|
|
uninstall = writeShellScript "uninstall-configs" ''
|
|
cd "$WPCARRO/configs" && ${pkgs.stow}/bin/stow --delete --target="$HOME" .
|
|
'';
|
|
|
|
# Run this script to import all of the information exported by `export.sh`.
|
|
# Usage: import-gpg path/to/export.zip
|
|
import-gpg = writeShellScript "import-gpg" ''
|
|
set -euo pipefail
|
|
|
|
if [ -z "''${1+x}" ]; then
|
|
echo "You must specify the path to export.zip. Exiting..."
|
|
exit 1
|
|
fi
|
|
|
|
PATH="${makeBinPath (with pkgs; [ busybox gnupg ])}"
|
|
destination="$(mktemp -d)"
|
|
|
|
function cleanup() {
|
|
rm -rf "$destination"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
unzip "$1" -d "$destination" >/dev/null
|
|
|
|
gpg --import "$destination/public.asc"
|
|
gpg --import "$destination/secret.asc"
|
|
gpg --import-ownertrust "$destination/ownertrust.txt"
|
|
|
|
# Run this at the end to output some verification
|
|
gpg --list-keys
|
|
gpg --list-secret-keys
|
|
'';
|
|
|
|
# Run this script to export all the information required to transport your GPG
|
|
# information to a zip file.
|
|
# Usage: export-gpg
|
|
export-gpg = writeShellScript "export-gpg" ''
|
|
set -euo pipefail
|
|
|
|
PATH="${makeBinPath (with pkgs; [ busybox gnupg zip ])}"
|
|
output="$(pwd)/export.zip"
|
|
destination="$(mktemp -d)"
|
|
|
|
function cleanup() {
|
|
rm -rf "$destination"
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
gpg --armor --export >"$destination/public.asc"
|
|
gpg --armor --export-secret-keys >"$destination/secret.asc"
|
|
gpg --armor --export-ownertrust >"$destination/ownertrust.txt"
|
|
|
|
# Strangely enough this appears to be the only way to create a zip of a
|
|
# directory that doesn't contain the (noisy) full paths of each item from
|
|
# the source filesystem. (i.e. -j doesn't cooperate with -r).
|
|
pushd "$destination"
|
|
zip -r "$output" ./*
|
|
popd
|
|
|
|
echo "$(realpath $output)"
|
|
'';
|
|
}
|