Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / dwarf-fortress / lazy-pack.nix
blob17037dbdb278cc385be1ac485350a11d4df47557
1 { stdenvNoCC
2 , lib
3 , buildEnv
4 , df-games
5 , themes
6 , latestVersion
7 , versionToName
8 , dfVersion ? latestVersion
9   # This package should, at any given time, provide an opinionated "optimal"
10   # DF experience. It's the equivalent of the Lazy Newbie Pack, that is, and
11   # should contain every utility available unless you disable them.
12 , enableDFHack ? stdenvNoCC.isLinux
13 , enableTWBT ? enableDFHack
14 , enableSoundSense ? true
15 , enableStoneSense ? true
16 , enableDwarfTherapist ? true
17 , enableLegendsBrowser ? true
18 , legends-browser
19 , theme ? themes.phoebus
20   # General config options:
21 , enableIntro ? true
22 , enableTruetype ? null # defaults to 24, see init.txt
23 , enableFPS ? false
24 , enableTextMode ? false
25 , enableSound ? true
28 with lib;
30 let
31   dfGame = versionToName dfVersion;
32   dwarf-fortress =
33     if hasAttr dfGame df-games
34     then getAttr dfGame df-games
35     else throw "Unknown Dwarf Fortress version: ${dfVersion}";
36   dwarf-therapist = dwarf-fortress.dwarf-therapist;
38 buildEnv {
39   name = "dwarf-fortress-full";
40   paths = [
41     (dwarf-fortress.override {
42       inherit enableDFHack enableTWBT enableSoundSense enableStoneSense theme
43         enableIntro enableTruetype enableFPS enableTextMode enableSound;
44     })
45   ]
46   ++ lib.optional enableDwarfTherapist dwarf-therapist
47   ++ lib.optional enableLegendsBrowser legends-browser;
49   meta = with lib; {
50     description = "An opinionated wrapper for Dwarf Fortress";
51     maintainers = with maintainers; [ Baughn numinit ];
52     license = licenses.mit;
53     platforms = platforms.all;
54     homepage = "https://github.com/NixOS/nixpkgs/";
55   };