summaryrefslogtreecommitdiff
path: root/hosts/bean/iso.nix
blob: 5944959ce24a063be86b41e0ba960c07f782117f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
{ modulesPath, lib, tlib, config, pkgs, ... }:

let
  inherit (lib.attrsets)
    mergeAttrsList;
  inherit (builtins)
    map;

  mkThinShim = tlib.mkThinShim pkgs;

  shimmedPackages = [
    "wesnoth"
    "luanti"
    "superTuxKart"
    "mindustry"
    "shattered-pixel-dungeon"
    "bzflag"
    "teeworlds"
    "xonotic-glx"
    "taisei"
    "unvanquished"
    "zeroad"
  ];
in
rec {
  imports = [
    (modulesPath + "/installer/cd-dvd/iso-image.nix")
  ];

  isoImage = {
    makeBiosBootable = true;
    makeEfiBootable = true;
    makeUsbBootable = true;

    isoBaseName = lib.mkImageMediaOverride "sprout";

    prependToMenuLabel = "Bean sprout (";
    appendToMenuLabel = ")";
  };

  users.users.bean = {
    description = "Sean Bean";
    isNormalUser = true;
    homeMode = "755";
    extraGroups = [
      "disk" "cdrom"
      "audio" "video"
      "lp" "networkmanager"
    ];
    initialPassword = "boromir";
  };
  users.users.root.initialPassword = "allalikeallalike";

  services.getty.autologinUser = "bean";
  services.getty.helpLine = ''
  As you can see, you are automatically logged in to the "bean" user.
  Run `startx' to obtain a graphical session.

  The password for bean is: ${users.users.bean.initialPassword}
  The password for root is: ${users.users.root.initialPassword}
  '';

  nixpkgs.overlays = [
    (final: prev:
      mergeAttrsList
        (map (pname: {
        "${pname}" = (mkThinShim prev.${pname} "nixpkgs#${pname}");
        })
          shimmedPackages))
  ];
}