27 lines
852 B
Nix
Raw Normal View History

2024-09-29 21:10:53 -07:00
{ config, pkgs, user, lib, ... }:
let cfg = config.modules.programs.borg;
2024-09-29 21:10:53 -07:00
in {
options.modules.programs.borg.enable = lib.mkEnableOption "borg";
2024-09-29 21:10:53 -07:00
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
borgbackup # Deduplicating backup program
2024-12-05 12:41:02 -08:00
tree # Command to produce a depth indented directory listing
2024-09-29 21:10:53 -07:00
(pkgs.writeScriptBin "stop-docker-containers" ''
#!/bin/sh
[ -e /tmp/docker_images ] && rm /tmp/docker_images
images=$(docker ps -a -q)
echo "$images" > /tmp/docker_images
docker stop $images
'')
(pkgs.writeScriptBin "restore-docker-containers" ''
#!/bin/sh
[ ! -e /tmp/docker_images ] && exit 0
docker start $(cat /tmp/docker_images)
rm /tmp/docker_images
'')
];
services.borgmatic.enable = true;
2024-09-29 21:10:53 -07:00
};
}