# 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 ? , ...}: let config = { config, lib, pkgs, ... }: { imports = [ ("${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 if things break inetutils dnsutils htop iftop # useful if gnome is weird gnome3.gnome-tweaks ]; # Select internationalisation properties. i18n.defaultLocale = "de_DE.UTF-8"; console = { font = "Lat2-Terminus16"; keyMap = "de"; }; time.timeZone = "Europe/Prague"; # necessary for zoom nixpkgs.config.allowUnfree = true; }; nixlib = import ("${pkgPath}/nixos/default.nix") { configuration = config; }; in nixlib.config.system.build.isoImage