nixfiles/system/common/desktop.nix

59 lines
1.4 KiB
Nix

{ config, lib, pkgs, outputs, ...}:
let
cfg = config.nixfiles.common.desktop;
inherit (lib) mkIf mkDefault mkForce mkEnableOption;
in
{
# imports = [
# ./base.nix
# ./fragments/sound.nix
# ./fragments/multimedia.nix
# ./fragments/software/syncthing.nix
# ./fragments/hardware/bluetooth.nix
# ];
options.nixfiles.common.desktop = {
enable = mkEnableOption "common desktop options";
};
config = mkIf cfg.enable {
# enable option sets
nixfiles = {
packageSets.multimedia.enable = true;
common = {
syncthing.enable = true;
bluetooth.enable = true;
sound.enable = true;
};
};
# Enable the X11 windowing system.
services.xserver.enable = true;
environment.systemPackages = with pkgs; [
arc-theme
wl-clipboard
];
# Enable flatpak
services.flatpak.enable = mkDefault true;
# Enable CUPS to print documents.
services.printing.enable = mkDefault true;
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
noto-fonts-cjk
(outputs.packages.${pkgs.system}.google-fonts.override { fonts = [ "NovaSquare" ];})
];
# TODO this should be defined in home-manager or not at all probably
# FIXME also my name is hardcoded
users.users.nullbite = {
packages = with pkgs; [
firefox
];
};
};
}