Create roles/common.nix containing shared configuration between NixOS and Darwin: timezone, base packages (git, glances, pciutils, tree, usbutils, vim), nix settings (experimental-features, max-jobs, trusted-users), gc config, and allowUnfree setting. Both roles/default.nix and roles/darwin.nix now import common.nix and only contain platform-specific configuration.
56 lines
1.3 KiB
Nix
56 lines
1.3 KiB
Nix
{ lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
imports = [
|
|
./common.nix
|
|
./audio
|
|
./bluetooth
|
|
./btrfs
|
|
./desktop
|
|
./kodi
|
|
./nfs-mounts
|
|
./nvidia
|
|
./printing
|
|
./remote-build
|
|
./spotifyd
|
|
./users
|
|
./virtualisation
|
|
];
|
|
|
|
config = {
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
i18n.extraLocaleSettings = {
|
|
LC_ADDRESS = "en_US.UTF-8";
|
|
LC_IDENTIFICATION = "en_US.UTF-8";
|
|
LC_MEASUREMENT = "en_US.UTF-8";
|
|
LC_MONETARY = "en_US.UTF-8";
|
|
LC_NAME = "en_US.UTF-8";
|
|
LC_NUMERIC = "en_US.UTF-8";
|
|
LC_PAPER = "en_US.UTF-8";
|
|
LC_TELEPHONE = "en_US.UTF-8";
|
|
LC_TIME = "en_US.UTF-8";
|
|
};
|
|
|
|
services.xserver.xkb = {
|
|
layout = "us";
|
|
variant = "";
|
|
options = "caps:escape";
|
|
};
|
|
|
|
# Don't go to emergency mode if we aren't able to mount filesystems.
|
|
# This is silly if you have multiple hard drives or partitions
|
|
# configured on a machine and then one goes away intentionally or
|
|
# unintentionally. If the system is already booting, let it continue
|
|
# to try and boot.
|
|
systemd.enableEmergencyMode = false;
|
|
|
|
# Enable the OpenSSH daemon.
|
|
services.openssh.enable = true;
|
|
|
|
# NixOS-specific gc option (not available on Darwin)
|
|
nix.gc.randomizedDelaySec = "14m";
|
|
};
|
|
}
|