at 17.09-beta 1.2 kB view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5{ 6 options = { 7 gnu = mkOption { 8 type = types.bool; 9 default = false; 10 description = '' 11 When enabled, GNU software is chosen by default whenever a there is 12 a choice between GNU and non-GNU software (e.g., GNU lsh 13 vs. OpenSSH). 14 ''; 15 }; 16 }; 17 18 config = mkIf config.gnu { 19 20 environment.systemPackages = with pkgs; 21 # TODO: Adjust `requiredPackages' from `system-path.nix'. 22 # TODO: Add Inetutils once it has the new `ifconfig'. 23 [ parted 24 #fdisk # XXX: GNU fdisk currently fails to build and it's redundant 25 # with the `parted' command. 26 nano zile 27 texinfo # for the stand-alone Info reader 28 ] 29 ++ stdenv.lib.optional (!stdenv.isArm) grub2; 30 31 32 # GNU GRUB, where available. 33 boot.loader.grub.enable = !pkgs.stdenv.isArm; 34 boot.loader.grub.version = 2; 35 36 # GNU lsh. 37 services.openssh.enable = false; 38 services.lshd.enable = true; 39 programs.ssh.startAgent = false; 40 services.xserver.startGnuPGAgent = true; 41 42 # TODO: GNU dico. 43 # TODO: GNU Inetutils' inetd. 44 # TODO: GNU Pies. 45 }; 46}