summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nixos-iso/zoom-iso.nix23
1 files changed, 19 insertions, 4 deletions
diff --git a/nixos-iso/zoom-iso.nix b/nixos-iso/zoom-iso.nix
index 28a44a5..74b1e8d 100644
--- a/nixos-iso/zoom-iso.nix
+++ b/nixos-iso/zoom-iso.nix
@@ -1,21 +1,36 @@
+# This generates a NixOS-based ISO image for use in situations
+# when a zoom-based meeting is unavoidable.
+#
+# Build it with:
+# nix-build zoom-iso.nix
+# Then use `dd` or similar to push it onto a usb flash drive and
+# boot from it (assumes a x86-64 system).
+#
+# It uses the gnome shell, since I'm familiar with it and zoom
+# likes throwing lots of windows around that irritate most tiling
+# window managers I've tried.
+
+{pkgPath ? <nixpkgs>, ...}:
let
config = { config, lib, pkgs, ... }: {
imports = [
- (<nixpkgs> + "/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix")
+ ("${pkgPath}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix")
];
environment.systemPackages = with pkgs; [
+ # as fallback for the zoom app
chromium
+ # the zoom app
zoom-us
# for censoring screenshots of meetings when
# screensharing doesn't work.
gimp
- # generally useful utilities
+ # generally useful utilities if things break
inetutils
dnsutils
htop iftop
- # for gnome
+ # useful if gnome is weird
gnome3.gnome-tweaks
];
@@ -32,7 +47,7 @@ let
nixpkgs.config.allowUnfree = true;
};
- nixlib = import (<nixpkgs> + "/nixos/default.nix") {
+ nixlib = import ("${pkgPath}/nixos/default.nix") {
configuration = config;
};
in nixlib.config.system.build.isoImage