{ pkgs, config, lib, ... }: let cfg = config.nixfiles.profile.workstation; inherit (lib) mkDefault; in { options.nixfiles.profile.workstation.enable = lib.mkEnableOption "workstation (featureful PC) profile" // { description = '' Whether to enable the workstation (featureful PC) profile. This profile enables the base PC profile, as well as installs and configures various other programs for a more complete computing experience. ''; }; config = lib.mkIf cfg.enable { nixfiles.profile.pc.enable = lib.mkDefault true; nixfiles.packageSets.multimedia.enable = lib.mkDefault true; nixfiles.programs.syncthing.enable = lib.mkDefault true; # probably unnecessary, this will be enabled by whatever session i use # Enable the X11 windowing system. # services.xserver.enable = true; environment.systemPackages = with pkgs; [ arc-theme wl-clipboard xclip ]; # this solves some inconsistent behavior with xdg-open xdg.portal.xdgOpenUsePortal = true; # Enable flatpak services.flatpak.enable = mkDefault true; fonts.packages = with pkgs; [ nerd-fonts.fira-code font-awesome noto-fonts-cjk-sans (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 ]; }; }; }