xin/configs/smug.nix

94 lines
2.5 KiB
Nix
Raw Normal View History

{ pkgs, ... }:
2024-02-11 17:29:31 -07:00
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';
2024-02-18 12:23:08 -07:00
alias nomad='smug -f /etc/smug/nomad.yml start';
2024-02-11 17:29:31 -07:00
'';
environment = {
2024-02-18 12:23:08 -07:00
systemPackages = with pkgs; [ smug ];
etc."smug/nomad.yml".text = builtins.readFile (
tmuxFormat.generate "nomad.yml" {
session = "nomad";
root = "~/";
windows = [
{
name = "rnsd";
layout = "even-vertical";
root = "~/reticulum";
commands = [ "./bin/rnsd" ];
}
{
name = "NomadNet";
root = "~/reticulum";
commands = [ "./bin/nomadnet" ];
}
];
}
);
etc."smug/ci.yml".text = builtins.readFile (
tmuxFormat.generate "ci.yml" {
session = "CI";
root = "~/";
windows = [
{
name = "CI Status";
layout = "even-vertical";
commands = [ "journalctl -xef -u xin-ci-update.service" ];
panes = [
{
type = "even-vertical";
commands = [ "journalctl -xef -u xin-ci.service" ];
}
];
}
{
name = "btop";
commands = [ "btop" ];
}
];
}
);
etc."smug/main.yml".text = builtins.readFile (
tmuxFormat.generate "main.yml" {
session = "Main";
root = "~/";
before_start = [ "ssh-add" ];
windows = [
{
name = "Status";
commands = [ "while true; do ssh -4 anonicb@slackers.openbsd.org; sleep 300; done" ];
panes = [ { commands = [ "mosh pwntie 'smug -f /etc/smug/ci.yml start'" ]; } ];
}
{
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";
}
];
}
);
2024-02-11 17:29:31 -07:00
};
};
}