summaryrefslogtreecommitdiffstats
path: root/makefu/1systems/iso/config.nix
diff options
context:
space:
mode:
Diffstat (limited to 'makefu/1systems/iso/config.nix')
-rw-r--r--makefu/1systems/iso/config.nix55
1 files changed, 55 insertions, 0 deletions
diff --git a/makefu/1systems/iso/config.nix b/makefu/1systems/iso/config.nix
new file mode 100644
index 000000000..c679241e5
--- /dev/null
+++ b/makefu/1systems/iso/config.nix
@@ -0,0 +1,55 @@
+{ config, pkgs, lib, ... }:
+
+with import <stockholm/lib>;
+{
+ imports = [
+ ../.
+ <nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
+ <nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
+ ../2configs/tools/core.nix
+ ];
+ # TODO: NIX_PATH and nix.nixPath are being set by default.nix right now
+ # cd ~/stockholm ; nix-build -A config.system.build.isoImage -I nixos-config=makefu/1systems/iso.nix -I secrets=/home/makefu/secrets/iso /var/src/nixpkgs/nixos
+ krebs.build.host = config.krebs.hosts.iso;
+ krebs.hidden-ssh.enable = true;
+ environment.systemPackages = with pkgs; [
+ aria2
+ ddrescue
+ ];
+ environment.extraInit = ''
+ EDITOR=vim
+ '';
+ # iso-specific
+ boot.kernelParams = [ "copytoram" ];
+ services.openssh = {
+ enable = true;
+ hostKeys = [
+ { bits = 8192; type = "ed25519"; path = "/etc/ssh/ssh_host_ed25519_key"; }
+ ];
+ };
+ # enable ssh in the iso boot process
+ systemd.services.sshd.wantedBy = lib.mkForce [ "multi-user.target" ];
+ # hack `tee` behavior
+ nixpkgs.config.packageOverrides = super: {
+ irc-announce = super.callPackage <stockholm/krebs/5pkgs/simple/irc-announce> {
+ pkgs = pkgs // {
+ coreutils = pkgs.symlinkJoin {
+ name = "coreutils-hack";
+ paths = [
+ pkgs.coreutils
+ (pkgs.writeDashBin "tee" ''
+ if test "$1" = /dev/stderr; then
+ while read -r line; do
+ echo "$line"
+ echo "$line" >&2
+ done
+ else
+ ${super.coreutils}/bin/tee "$@"
+ fi
+ '')
+ ];
+ };
+ };
+ };
+ };
+}