stockholm/lass/2configs/blue-host.nix
2018-11-20 01:13:48 +01:00

43 lines
1.2 KiB
Nix

{ config, lib, pkgs, ... }:
with import <stockholm/lib>;
{
imports = [
<stockholm/lass/2configs/container-networking.nix>
];
systemd.services."container@blue".reloadIfChanged = mkForce false;
containers.blue = {
config = { ... }: {
environment.systemPackages = [ pkgs.git ];
services.openssh.enable = true;
users.users.root.openssh.authorizedKeys.keys = [
config.krebs.users.lass.pubkey
];
};
autoStart = true;
enableTun = true;
privateNetwork = true;
hostAddress = "10.233.2.9";
localAddress = "10.233.2.10";
};
environment.systemPackages = [
(pkgs.writeDashBin "start-blue" ''
set -ef
if ping -c1 blue.r; then
echo 'blue is already running. bailing out'
exit 23
fi
if ! $(mount | ${pkgs.gnugrep}/bin/grep -qi '^encfs on /var/lib/containers/blue'); then
${pkgs.encfs}/bin/encfs --public /var/lib/containers/.blue /var/lib/containers/blue
fi
nixos-container start blue
nixos-container run blue -- nixos-rebuild -I /var/src switch
'')
(pkgs.writeDashBin "stop-blue" ''
set -ef
nixos-container stop blue
fusermount -u /var/lib/containers/blue
'')
];
}