autoimport 3*/{krebs,$(LOGNAME)}

This commit is contained in:
tv 2015-07-24 17:34:08 +02:00
parent faf5f6c172
commit f1ebbc7339
13 changed files with 58 additions and 39 deletions

View File

@ -22,14 +22,12 @@ in
};
}
{
imports = [ ../../3modules/tv/ejabberd.nix ];
tv.ejabberd = {
enable = true;
hosts = [ "jabber.viljetic.de" ];
};
}
{
imports = [ ../../3modules/krebs/github-hosts-sync.nix ];
krebs.github-hosts-sync.enable = true;
tv.iptables.input-internet-accept-new-tcp =
singleton config.krebs.github-hosts-sync.port;
@ -39,7 +37,6 @@ in
tv.identity.self = config.tv.identity.hosts.cd;
}
{
imports = [ ../../3modules/tv/iptables.nix ];
tv.iptables = {
enable = true;
input-internet-accept-new-tcp = [
@ -55,19 +52,11 @@ in
};
}
{
imports = [
../../3modules/tv/iptables.nix
../../3modules/krebs/nginx.nix
];
tv.iptables.input-internet-accept-new-tcp = singleton "http";
krebs.nginx.servers.cgit.server-names = singleton "cgit.cd.viljetic.de";
}
{
# TODO make public_html also available to cd, cd.retiolum (AKA default)
imports = [
../../3modules/tv/iptables.nix
../../3modules/krebs/nginx.nix
];
tv.iptables.input-internet-accept-new-tcp = singleton "http";
krebs.nginx.servers.public_html = {
server-names = singleton "cd.viljetic.de";
@ -86,7 +75,6 @@ in
};
}
{
imports = [ ../../3modules/krebs/retiolum.nix ];
krebs.retiolum = {
enable = true;
connectTo = [

View File

@ -15,7 +15,6 @@ with lib;
tv.identity.self = config.tv.identity.hosts.mkdir;
}
{
imports = [ ../../3modules/tv/iptables.nix ];
tv.iptables = {
enable = true;
input-internet-accept-new-tcp = [
@ -29,7 +28,6 @@ with lib;
};
}
{
imports = [ ../../3modules/krebs/retiolum.nix ];
krebs.retiolum = {
enable = true;
connectTo = [

View File

@ -14,7 +14,6 @@ with lib;
tv.identity.self = config.tv.identity.hosts.nomic;
}
{
imports = [ ../../3modules/tv/iptables.nix ];
tv.iptables = {
enable = true;
input-internet-accept-new-tcp = [
@ -26,7 +25,6 @@ with lib;
};
}
{
imports = [ ../../3modules/krebs/nginx.nix ];
krebs.nginx = {
enable = true;
servers.default.locations = [
@ -37,7 +35,6 @@ with lib;
};
}
{
imports = [ ../../3modules/krebs/retiolum.nix ];
krebs.retiolum = {
enable = true;
connectTo = [

View File

@ -15,7 +15,6 @@ with lib;
tv.identity.self = config.tv.identity.hosts.rmdir;
}
{
imports = [ ../../3modules/tv/iptables.nix ];
tv.iptables = {
enable = true;
input-internet-accept-new-tcp = [
@ -29,7 +28,6 @@ with lib;
};
}
{
imports = [ ../../3modules/krebs/retiolum.nix ];
krebs.retiolum = {
enable = true;
connectTo = [

View File

@ -24,7 +24,7 @@ in
{
environment.systemPackages = with pkgs; [
# shitment
# stockholm
git
gnumake
parallel
@ -122,7 +122,6 @@ in
];
}
{
imports = [ ../../3modules/tv/iptables.nix ];
tv.iptables = {
enable = true;
input-internet-accept-new-tcp = [
@ -134,7 +133,6 @@ in
};
}
{
imports = [ ../../3modules/krebs/nginx.nix ];
krebs.nginx = {
enable = true;
servers.default.locations = [
@ -145,7 +143,6 @@ in
};
}
{
imports = [ ../../3modules/krebs/retiolum.nix ];
krebs.retiolum = {
enable = true;
connectTo = [
@ -155,7 +152,6 @@ in
};
}
{
imports = [ ../../3modules/krebs/urlwatch.nix ];
krebs.urlwatch = {
enable = true;
mailto = "tv@wu.retiolum"; # TODO

View File

@ -1,7 +1,6 @@
{ config, ... }:
{
imports = [ ../../3modules/tv/consul.nix ];
tv.consul = rec {
enable = true;

View File

@ -3,7 +3,6 @@ with import ../../4lib/tv { inherit lib pkgs; };
let
out = {
imports = [ ../../3modules/krebs/git.nix ];
krebs.git = {
enable = true;
root-title = "public repositories at ${config.tv.identity.self.name}";

View File

@ -1,7 +1,6 @@
{ config, ... }:
{
imports = [ ../../3modules/tv/identity.nix ];
tv.identity = {
enable = true;
search = "retiolum";

View File

@ -0,0 +1,11 @@
_:
{
imports = [
./github-hosts-sync.nix
./git.nix
./nginx.nix
./retiolum.nix
./urlwatch.nix
];
}

View File

@ -10,7 +10,6 @@ let
cfg = config.tv.consul;
out = {
imports = [ ../../3modules/tv/iptables.nix ];
options.tv.consul = api;
config = mkIf cfg.enable (mkMerge [
imp

10
3modules/tv/default.nix Normal file
View File

@ -0,0 +1,10 @@
_:
{
imports = [
./consul.nix
./ejabberd.nix
./identity.nix
./iptables.nix
];
}

View File

@ -41,13 +41,14 @@ deploy:;@
"$$src/" "$$deploy_host:$$dst"
)}
prepush /root/src/shitment "$$PWD"
prepush /root/src/stockholm "$$PWD"
prepush /root/src/secrets "$$secrets_dir"
ssh -S none "$$deploy_host" -T env \
nixpkgs_url="$$nixpkgs_url" \
nixpkgs_rev="$$nixpkgs_rev" \
system_name="$$system_name" \
user_name="$$LOGNAME" \
sh -euf \
<<-\EOF
prefetch(){(
@ -77,26 +78,30 @@ deploy:;@
prefetch /root/src/nixpkgs "$$nixpkgs_url" "$$nixpkgs_rev"
echo build system...
NIXOS_CONFIG=/root/src/shitment/1systems/$(LOGNAME)/$$system_name.nix \
NIX_PATH=src \
nix-build -Q -A system '<nixpkgs/nixos>'
NIX_PATH=/root/src \
nix-build \
-Q \
-A system \
'<stockholm>' \
--argstr user-name "$$user_name" \
--argstr system-name "$$system_name"
result/bin/switch-to-configuration switch
EOF
.PHONY: eval
eval:
@nix-instantiate \
@
NIX_PATH=stockholm=$$PWD:$$NIX_PATH \
nix-instantiate \
--json \
--eval \
--strict \
-A "$$get" \
-E '
import <nixpkgs/nixos/lib/eval-config.nix> {
system = builtins.currentSystem;
modules = [ ./1systems/$(LOGNAME)/$(system).nix ];
}
' | jq -r .
'<stockholm>' \
--argstr user-name "$$LOGNAME" \
--argstr system-name "$$system" \
| jq -r .
else
$(error unbound variable: system[s])
endif

20
default.nix Normal file
View File

@ -0,0 +1,20 @@
{ user-name, system-name }:
let
eval = import <nixpkgs/nixos/lib/eval-config.nix> {
system = builtins.currentSystem;
modules = [
(./1systems + "/${user-name}/${system-name}.nix")
(./3modules/krebs)
(./3modules + "/${user-name}")
];
};
in
{
inherit (eval) config options;
system = eval.config.system.build.toplevel;
}