summaryrefslogtreecommitdiff
path: root/os/core/default.nix
blob: 963436bd159e8225d3114eb6f08e57d4ba096a45 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
{ config, lib, ... }:
let
  cfg = config.os.core;
in
{
  imports = [
    ./audio.nix
    ./bootloader.nix
    ./drivers.nix
    ./fonts.nix
    ./greet.nix
    ./home-manager.nix
    ./localization.nix
    ./memory.nix
    ./networking.nix
    ./power.nix
    ./security.nix
    ./storage.nix
    ./users.nix
    ./zfs.nix
  ];

  options.os.core = {
    allowUnfree.enable = lib.mkEnableOption "unfree software";
    flatpak.enable = lib.mkEnableOption "Flatpak support";
  };

  config = lib.mkMerge [
    (lib.mkIf cfg.allowUnfree.enable {
      nixpkgs.config.allowUnfree = true;
    })
    (lib.mkIf cfg.flatpak.enable {
      services.flatpak.enable = true;
    })
  ];
}