xin/configs/smug.nix

88 lines
1.9 KiB
Nix

{ config
, pkgs
, ...
}:
let
tmuxFormat = pkgs.formats.yaml { };
in
{
config = {
programs.zsh.promptInit = ''
alias tstart='smug -f /etc/smug/main.yml start';
alias cistart='smug -f /etc/smug/ci.yml start';
'';
environment = {
systemPackages = with pkgs; [
smug
];
etc."smug/ci.yml".text = builtins.readFile (tmuxFormat.generate "ci.yml" {
session = "CI";
root = "~/";
windows = [
{
name = "CI Status";
commands = [
"journalctl -xef -u xin-ci-update.service"
];
panes = [
{
commands = [ "journalctl -xef -u xin-ci.service" ];
}
];
}
{
commands = [
"btop"
];
}
];
});
etc."smug/main.yml".text = builtins.readFile (tmuxFormat.generate "main.yml" {
session = "Main";
root = "~/";
windows = [
{
name = "Status";
commands = [
"while true; do ssh -4 anonicb@slackers.openbsd.org; sleep 300; done"
];
panes = [
{
commands = [ "mosh pwntie" ];
}
];
}
{
name = "Barrier";
commands = [
"barriers -a 127.0.0.1 -f --disable-crypto"
];
panes = [
{
commands = [ "ssh stan" ];
}
];
}
{
name = "Xin";
root = "src/xin";
}
{
name = "Lab";
root = "src/biltong";
}
{
name = "NixPkgs";
root = "src/nixpkgs";
}
{
name = "NomadNet";
root = "reticulum";
}
];
});
};
};
}