stockholm/lass/2configs/blue.nix

67 lines
1.6 KiB
Nix
Raw Normal View History

2018-05-20 08:20:10 +00:00
with (import <stockholm/lib>);
{ config, lib, pkgs, ... }:
{
imports = [
./bitlbee.nix
./mail.nix
./pass.nix
];
2018-06-08 02:59:55 +00:00
environment.systemPackages = with pkgs; [
ag
2018-09-14 09:40:48 +00:00
brain
dic
2018-06-08 02:59:55 +00:00
nmap
2018-07-28 17:14:53 +00:00
git-preview
2018-11-10 18:00:04 +00:00
l-gen-secrets
2018-06-08 02:59:55 +00:00
];
2018-05-20 08:20:10 +00:00
services.tor.enable = true;
krebs.iptables.tables.filter.INPUT.rules = [
{ predicate = "-i retiolum -p udp --dport 60000:61000"; target = "ACCEPT";}
2018-12-16 15:11:02 +00:00
{ predicate = "-i wiregrill -p udp --dport 60000:61000"; target = "ACCEPT";}
2018-05-20 08:20:10 +00:00
{ predicate = "-i retiolum -p tcp --dport 9999"; target = "ACCEPT";}
2018-12-16 15:11:02 +00:00
{ predicate = "-i wiregrill -p tcp --dport 9999"; target = "ACCEPT";}
2018-05-20 08:20:10 +00:00
];
systemd.services.chat = let
tmux = pkgs.writeDash "tmux" ''
exec ${pkgs.tmux}/bin/tmux -f ${pkgs.writeText "tmux.conf" ''
set-option -g prefix `
unbind-key C-b
bind ` send-prefix
set-option -g status off
set-option -g default-terminal screen-256color
#use session instead of windows
bind-key c new-session
bind-key p switch-client -p
bind-key n switch-client -n
bind-key C-s switch-client -l
''} "$@"
'';
in {
description = "chat environment setup";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
restartIfChanged = false;
path = [
pkgs.rxvt_unicode.terminfo
];
serviceConfig = {
User = "lass";
RemainAfterExit = true;
Type = "oneshot";
ExecStart = "${tmux} -2 new-session -d -s IM ${pkgs.weechat}/bin/weechat";
ExecStop = "${tmux} kill-session -t IM";
};
};
}