nixpkgs/nixos/modules/profiles/bashless.nix

43 lines
1.4 KiB
Nix

{ lib, ... }:
{
# Bashless builds on perlless
imports = [ ./perlless.nix ];
# Remove bash from activation
system.nixos-init.enable = lib.mkDefault true;
system.activatable = lib.mkDefault false;
environment.shell.enable = lib.mkDefault false;
programs.bash.enable = lib.mkDefault false;
# Random bash remnants
environment.corePackages = lib.mkForce [ ];
# Contains bash completions
nix.enable = lib.mkDefault false;
# The fuse{,3} package contains a runtime dependency on bash.
programs.fuse.enable = lib.mkDefault false;
documentation.man.man-db.enable = lib.mkDefault false;
# autovt depends on bash
console.enable = lib.mkDefault false;
# dhcpcd and openresolv depend on bash
networking.useNetworkd = lib.mkDefault true;
# bcache tools depend on bash.
boot.bcache.enable = lib.mkDefault false;
# iptables depends on bash and nixos-firewall-tool is a bash script
networking.firewall.enable = lib.mkDefault false;
# the wrapper script is in bash
security.enableWrappers = lib.mkDefault false;
# kexec script is written in bash
boot.kexec.enable = lib.mkDefault false;
# Relies on bash scripts
powerManagement.enable = lib.mkDefault false;
# Relies on the gzip command which depends on bash
services.logrotate.enable = lib.mkDefault false;
# Check that the system does not contain a Nix store path that contains the
# string "bash".
system.forbiddenDependenciesRegexes = [ "bash" ];
}