Compare commits

...

2 commits

4 changed files with 54 additions and 5 deletions

@ -1 +0,0 @@
Subproject commit 706058c72696a238efe498c9f4af947e5480b9e3

View file

@ -5,8 +5,6 @@ with pkgs;
let
unstable = import <nixos-unstable> {};
mybrowser = firefox;
#all-hies = import (fetchTarball "https://github.com/infinisil/all-hies/tarball/master") {};
all-hies = import ../all-hies {};
desktopApps = [
mybrowser
@ -179,8 +177,6 @@ let
# Haskell
ghc
cabal2nix
#only temporary until auto-selecting the current channel version works
(all-hies.selection { selector = p: { inherit (p) ghc865; }; })
];

46
nixos/Hash2PubTestbed.nix Normal file
View file

@ -0,0 +1,46 @@
{ config, pkgs, ... }:
let
projectDir = "/home/spiollinux/Seafile/Studium/Semester11/INF-PM-FP-ANW";
projectPath = builtins.toPath projectDir;
projectMount = "/mnt/project";
shell = import (projectDir + "/Hash2Pub/shell.nix");
in
{
privateNetwork = true;
ephemeral = true;
bindMounts = {
"${projectMount}" = { hostPath = projectDir; isReadOnly = false; };
};
config = {
networking = {
firewall.enable = false;
interfaces.lo.ipv6.addresses = [
{address = "2604:a880:800:10::34e1:d001"; prefixLength = 0;}
{address = "2001:41d0:2:c0af::15"; prefixLength = 0;}
{address = "2a01:e0a:23a:5600::2"; prefixLength = 64;}
];
extraHosts = ''
2604:a880:800:10::34e1:d001 animalliberation.social
2001:41d0:2:c0af::15 hostux.social
2a01:e0a:23a:5600::2 social.imirhil.fr
'';
};
environment.systemPackages = [
pkgs.netcat
pkgs.iproute
pkgs.tmux
pkgs.ping
(pkgs.writeShellScriptBin "doSimulation" ''
# make cabal-install work offline
mkdir $HOME/.cabal
echo "" > $HOME/.cabal/config
# run simulation script within the shell
${pkgs.nix}/bin/nix-shell ${shell.drvPath} --command "cd ${projectMount} && bash simtest.sh"
'')
];
};
}

View file

@ -196,6 +196,14 @@ in
# package debugging
# programs.sysdig.enable = true;
# declarative containers
containers = {
hash2PubSim = import ./Hash2PubTestbed.nix {inherit pkgs config;};
};
# stop NetworkManager from managing virtual interfaces
networking.networkmanager.unmanaged = [ "interface-name:ve-*" ];
# This value determines the NixOS release with which your system is to be
# compatible, in order to avoid breaking some software such as database
# servers. You should change this only after NixOS release notes say you