2022-06-12 00:40:15 +00:00
|
|
|
{ lib
|
2023-06-22 09:53:30 +00:00
|
|
|
, python3Packages
|
2023-03-22 21:21:00 +00:00
|
|
|
, static-nix-shell
|
|
|
|
, symlinkJoin
|
2023-06-22 22:29:52 +00:00
|
|
|
, transmission
|
2022-06-12 00:40:15 +00:00
|
|
|
}:
|
|
|
|
|
2023-03-22 21:21:00 +00:00
|
|
|
let
|
2023-06-22 09:53:30 +00:00
|
|
|
sane-lib = {
|
2023-06-22 19:17:12 +00:00
|
|
|
# TODO: we could simplify the lib/ folder structure
|
|
|
|
# by auto-generating the setup.py files in `postPatch`, below
|
2023-06-22 09:53:30 +00:00
|
|
|
bt = python3Packages.buildPythonPackage {
|
|
|
|
pname = "sane-lib-bt";
|
|
|
|
version = "0.1.0";
|
|
|
|
format = "setuptools";
|
|
|
|
src = ./src/lib/bt;
|
2023-06-22 23:33:49 +00:00
|
|
|
propagatedBuildInputs = [ transmission ];
|
2023-06-22 09:53:30 +00:00
|
|
|
pythonImportChecks = [
|
|
|
|
"sane_bt"
|
|
|
|
];
|
|
|
|
};
|
2023-06-22 09:58:56 +00:00
|
|
|
ssdp = python3Packages.buildPythonPackage {
|
|
|
|
pname = "sane-lib-ssdp";
|
|
|
|
version = "0.1.0";
|
|
|
|
format = "setuptools";
|
|
|
|
src = ./src/lib/ssdp;
|
|
|
|
pythonImportChecks = [
|
|
|
|
"sane_ssdp"
|
|
|
|
];
|
|
|
|
};
|
2023-06-22 09:53:30 +00:00
|
|
|
};
|
|
|
|
|
2023-06-26 01:27:35 +00:00
|
|
|
sane-bin = {
|
2023-05-19 19:48:52 +00:00
|
|
|
# anything added to this attrset gets symlink-joined into `sane-scripts`
|
2023-06-07 07:26:19 +00:00
|
|
|
# and is made available through `sane-scripts.passthru`
|
2023-05-19 19:58:37 +00:00
|
|
|
backup-ls = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-backup-ls";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-05-19 19:58:37 +00:00
|
|
|
pkgs = [ "duplicity" ];
|
|
|
|
};
|
|
|
|
backup-restore = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-backup-restore";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-05-19 19:58:37 +00:00
|
|
|
pkgs = [ "duplicity" ];
|
|
|
|
};
|
2023-06-22 09:53:30 +00:00
|
|
|
bt-add = static-nix-shell.mkPython3Bin {
|
2023-05-19 19:48:52 +00:00
|
|
|
pname = "sane-bt-add";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-09-27 17:56:35 +00:00
|
|
|
pyPkgs = [ "requests" "sane-lib.bt" ];
|
2023-06-22 23:33:49 +00:00
|
|
|
pkgs = [ "sane-scripts.lib.bt.propagatedBuildInputs" ];
|
2023-04-20 08:00:59 +00:00
|
|
|
};
|
2023-06-22 09:58:56 +00:00
|
|
|
bt-rm = static-nix-shell.mkPython3Bin {
|
2023-05-13 10:31:48 +00:00
|
|
|
pname = "sane-bt-rm";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-22 09:53:30 +00:00
|
|
|
pyPkgs = [ "sane-lib.bt" ];
|
2023-06-22 23:33:49 +00:00
|
|
|
pkgs = [ "sane-scripts.lib.bt.propagatedBuildInputs" ];
|
2023-05-13 10:31:48 +00:00
|
|
|
};
|
2023-05-19 19:48:52 +00:00
|
|
|
bt-search = static-nix-shell.mkPython3Bin {
|
|
|
|
pname = "sane-bt-search";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-05-19 19:48:52 +00:00
|
|
|
pyPkgs = [ "natsort" "requests" ];
|
|
|
|
};
|
2023-06-22 22:24:49 +00:00
|
|
|
bt-show = static-nix-shell.mkPython3Bin {
|
2023-05-19 19:52:44 +00:00
|
|
|
pname = "sane-bt-show";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-22 22:24:49 +00:00
|
|
|
pyPkgs = [ "sane-lib.bt" ];
|
2023-06-22 23:33:49 +00:00
|
|
|
pkgs = [ "sane-scripts.lib.bt.propagatedBuildInputs" ];
|
2023-05-19 19:52:44 +00:00
|
|
|
};
|
2023-11-24 21:27:08 +00:00
|
|
|
clone = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-clone";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-11-27 10:22:45 +00:00
|
|
|
pkgs = [ "nix" ];
|
2023-11-24 21:27:08 +00:00
|
|
|
};
|
2023-06-06 08:04:11 +00:00
|
|
|
deadlines = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-deadlines";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-09-24 20:16:57 +00:00
|
|
|
pkgs = [ "coreutils-full" "gnused" ];
|
2023-06-06 08:04:11 +00:00
|
|
|
};
|
2023-06-06 08:07:42 +00:00
|
|
|
dev-cargo-loop = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-dev-cargo-loop";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-06 08:07:42 +00:00
|
|
|
pkgs = [ "inotify-tools" "ncurses" ];
|
2023-06-06 08:09:37 +00:00
|
|
|
};
|
|
|
|
find-dotfiles = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-find-dotfiles";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-06 08:09:37 +00:00
|
|
|
pkgs = [ "findutils" ];
|
2023-06-06 08:07:42 +00:00
|
|
|
};
|
2023-07-11 00:55:04 +00:00
|
|
|
ip-check = static-nix-shell.mkPython3Bin {
|
2023-06-06 08:12:42 +00:00
|
|
|
pname = "sane-ip-check";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-05-26 22:39:32 +00:00
|
|
|
pkgs = [ "miniupnpc" ];
|
2023-07-11 00:55:04 +00:00
|
|
|
pyPkgs = [ "requests" "sane-lib.ssdp" ];
|
2023-05-27 09:57:09 +00:00
|
|
|
};
|
|
|
|
ip-port-forward = static-nix-shell.mkPython3Bin {
|
|
|
|
pname = "sane-ip-port-forward";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-05-27 23:27:36 +00:00
|
|
|
pkgs = [ "inetutils" "miniupnpc" ];
|
2023-06-22 09:58:56 +00:00
|
|
|
pyPkgs = [ "sane-lib.ssdp" ];
|
2023-05-26 22:39:32 +00:00
|
|
|
};
|
2023-06-07 06:53:45 +00:00
|
|
|
private-change-passwd = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-private-change-passwd";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-25 16:28:57 +00:00
|
|
|
pkgs = [ "gocryptfs" "rsync" ];
|
2023-06-07 06:53:45 +00:00
|
|
|
};
|
|
|
|
private-do = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-private-do";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-25 05:19:37 +00:00
|
|
|
pkgs = [ "util-linux" ];
|
2023-06-07 06:53:45 +00:00
|
|
|
};
|
2023-06-07 07:26:19 +00:00
|
|
|
private-init = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-private-init";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 06:53:45 +00:00
|
|
|
pkgs = [ "gocryptfs" ];
|
|
|
|
};
|
|
|
|
private-lock = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-private-lock";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-25 05:07:22 +00:00
|
|
|
pkgs = [ "util-linux.mount" ];
|
2023-06-07 06:53:45 +00:00
|
|
|
};
|
2023-06-07 07:26:19 +00:00
|
|
|
private-unlock = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-private-unlock";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-25 05:07:22 +00:00
|
|
|
pkgs = [ "util-linux.mount" ];
|
2023-06-07 06:53:45 +00:00
|
|
|
};
|
2023-06-07 06:57:07 +00:00
|
|
|
rcp = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-rcp";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 06:57:07 +00:00
|
|
|
pkgs = [ "rsync" ];
|
|
|
|
};
|
2023-06-07 06:58:11 +00:00
|
|
|
reboot = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-reboot";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-20 13:43:05 +00:00
|
|
|
pkgs = [ "nettools" "systemd" ];
|
2023-06-07 06:58:11 +00:00
|
|
|
};
|
2023-06-07 07:26:19 +00:00
|
|
|
reclaim-boot-space = static-nix-shell.mkPython3Bin {
|
|
|
|
pname = "sane-reclaim-boot-space";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:26:19 +00:00
|
|
|
};
|
2023-06-07 07:00:07 +00:00
|
|
|
reclaim-disk-space = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-reclaim-disk-space";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-07-31 03:10:38 +00:00
|
|
|
pkgs = [ "nix" ];
|
2023-06-07 07:00:07 +00:00
|
|
|
};
|
2023-06-07 07:02:34 +00:00
|
|
|
secrets-dump = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-secrets-dump";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:02:34 +00:00
|
|
|
pkgs = [ "gnugrep" "sops" "oath-toolkit" ];
|
|
|
|
};
|
|
|
|
secrets-unlock = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-secrets-unlock";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:02:34 +00:00
|
|
|
pkgs = [ "coreutils-full" "openssh" "ssh-to-age" ];
|
|
|
|
};
|
|
|
|
secrets-update-keys = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-secrets-update-keys";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:02:34 +00:00
|
|
|
pkgs = [ "coreutils-full" "findutils" "sops" ];
|
|
|
|
};
|
2023-06-07 07:11:41 +00:00
|
|
|
shutdown = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-shutdown";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-20 13:43:05 +00:00
|
|
|
pkgs = [ "nettools" "systemd" ];
|
2023-06-07 07:11:41 +00:00
|
|
|
};
|
2023-06-07 07:16:27 +00:00
|
|
|
stop-all-servo = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-stop-all-servo";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:16:27 +00:00
|
|
|
pkgs = [ "systemd" ];
|
|
|
|
};
|
2023-06-07 07:17:26 +00:00
|
|
|
sudo-redirect = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-sudo-redirect";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:17:26 +00:00
|
|
|
pkgs = [ "coreutils-full" ];
|
|
|
|
};
|
2023-06-07 07:20:27 +00:00
|
|
|
sync-from-iphone = static-nix-shell.mkZsh {
|
|
|
|
pname = "sane-sync-from-iphone";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-06-07 07:20:27 +00:00
|
|
|
pkgs = [ "coreutils-full" "ifuse" "rsync" ];
|
|
|
|
};
|
2023-08-14 08:02:29 +00:00
|
|
|
sync-music = static-nix-shell.mkPython3Bin {
|
|
|
|
pname = "sane-sync-music";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-08-14 08:02:29 +00:00
|
|
|
pkgs = [ "ffmpeg" "sox" ];
|
|
|
|
pyPkgs = [ "unidecode" ];
|
|
|
|
};
|
2023-11-29 12:29:58 +00:00
|
|
|
tag-music = static-nix-shell.mkPython3Bin {
|
|
|
|
pname = "sane-tag-music";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2023-11-29 12:29:58 +00:00
|
|
|
pyPkgs = [ "mutagen" ];
|
|
|
|
};
|
2023-09-19 15:41:54 +00:00
|
|
|
vpn = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-vpn";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-20 22:16:23 +00:00
|
|
|
pkgs = [ "coreutils-full" "sane-scripts.ip-check" ];
|
2023-06-07 07:24:49 +00:00
|
|
|
};
|
2023-06-07 07:25:43 +00:00
|
|
|
which = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-which";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-02-28 18:07:09 +00:00
|
|
|
pkgs = [ "coreutils-full" "file" "gnugrep" ];
|
2023-06-07 07:25:43 +00:00
|
|
|
};
|
2023-12-03 14:25:35 +00:00
|
|
|
wipe = static-nix-shell.mkBash {
|
|
|
|
pname = "sane-wipe";
|
2024-02-25 17:37:38 +00:00
|
|
|
srcRoot = ./src;
|
2024-03-26 16:57:30 +00:00
|
|
|
pkgs = [ "dconf" "libsecret" "s6-rc" ];
|
2023-10-24 00:38:41 +00:00
|
|
|
};
|
2023-03-22 21:21:00 +00:00
|
|
|
};
|
2023-08-02 21:11:49 +00:00
|
|
|
in sane-bin // {
|
|
|
|
lib = sane-lib;
|
|
|
|
all = symlinkJoin {
|
|
|
|
name = "sane-scripts";
|
|
|
|
paths = lib.attrValues sane-bin;
|
2022-06-12 00:40:15 +00:00
|
|
|
};
|
|
|
|
}
|