Files
flake/modules/cli/darwin.nix

64 lines
1.4 KiB
Nix

{pkgs, lib, ...}: {
imports = [
./nix/nix.nix
];
nix.package = pkgs.nix;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
environment.systemPackages = with pkgs; [
docker-compose
git
man-pages
man-pages-posix
vim
tmux
jq
];
programs.zsh.enable = true;
programs.nix-index-database.comma.enable = true;
environment.shells = with pkgs; [zsh];
documentation = {
enable = true;
man = {
enable = true;
};
info.enable = true;
};
launchd.user.agents.caffeinate = {
command = "${pkgs.darwin.PowerManagement}/bin/caffeinate -diu";
serviceConfig = {
KeepAlive = true;
RunAtLoad = true;
StandardOutPath = "/tmp/caffeinate.log";
StandardErrorPath = "/tmp/caffeinate.err";
};
};
launchd.user.agents.ssh-tunnel = let
ssh-tunnel = pkgs.writeShellScriptBin "ssh-tunnel" ''
while true; do
dns-sd -m -Q fuhen.local
echo "Host found, starting tunnel" | tee /dev/stderr
ssh -NR "2222:localhost:22" zoriya@fuhen.local
echo "Connetion closed" | tee /dev/stderr
sleep 5
done
'';
in {
command = lib.getExe ssh-tunnel;
serviceConfig = {
KeepAlive = true;
RunAtLoad = true;
StandardOutPath = "/tmp/ssh-tunnel.log";
StandardErrorPath = "/tmp/ssh-tunnel.err";
};
};
}