54 lines
1.7 KiB
Nix
54 lines
1.7 KiB
Nix
{ pkgs, config, lib, ... }:
|
|
let
|
|
cfg = config.nixfiles.profile.pc;
|
|
inherit (lib) mkDefault;
|
|
in
|
|
{
|
|
options.nixfiles.profile.pc.enable = lib.mkEnableOption "minimal PC profile" // {
|
|
description = ''
|
|
Whether to enable the minimal PC profile. This profile configures basic
|
|
system configuration for physical PCs, such as enabling sound and
|
|
Bluetooth support.
|
|
'';
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
nixfiles.profile.base.enable = lib.mkDefault true;
|
|
|
|
# disabling this for now; it doesn't work in chroot yet (the only reason i
|
|
# want it) and it takes forever to compile.
|
|
# nixfiles.binfmt.enable = lib.mkDefault true;
|
|
|
|
# networking.hostName = "nixos"; # Define your hostname.
|
|
# Pick only one of the below networking options.
|
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
|
# FIXME find somewhere else to put this
|
|
networking.networkmanager.enable = lib.mkDefault true; # Easiest to use and most distros use this by default.
|
|
|
|
# enable option sets
|
|
nixfiles = {
|
|
hardware = {
|
|
bluetooth.enable = mkDefault true;
|
|
sound.enable = mkDefault true;
|
|
};
|
|
};
|
|
|
|
# enable filesystems
|
|
boot.supportedFilesystems = {
|
|
exfat = mkDefault true;
|
|
};
|
|
|
|
# probably unnecessary, this will be enabled by whatever session i use
|
|
# Enable the X11 windowing system.
|
|
# services.xserver.enable = true;
|
|
|
|
# this solves some inconsistent behavior with xdg-open
|
|
xdg.portal.xdgOpenUsePortal = lib.mkDefault true;
|
|
|
|
# Enable CUPS to print documents.
|
|
services.printing = {
|
|
enable = mkDefault true;
|
|
cups-pdf.enable = mkDefault true;
|
|
};
|
|
};
|
|
}
|