diff --git a/modules/fonts/default.nix b/modules/fonts/default.nix index a0ada4ff..e1e090d5 100644 --- a/modules/fonts/default.nix +++ b/modules/fonts/default.nix @@ -1,17 +1,26 @@ -{ pkgs, ... }: - { - imports = [ - ./iosevka.nix - ]; + lib, + config, + pkgs, + ... +}: - fonts = { - # disable default font packages (see https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/config/fonts/packages.nix) - enableDefaultPackages = false; - packages = with pkgs; [ - dejavu_fonts - liberation_ttf - noto-fonts-color-emoji - ]; +let + cfg = config.my.fonts; +in +{ + imports = [ ./iosevka.nix ]; + + options.my.fonts.enable = lib.mkEnableOption "fonts"; + + config = lib.mkIf cfg.enable { + fonts = { + enableDefaultPackages = false; + packages = with pkgs; [ + dejavu_fonts + liberation_ttf + noto-fonts-color-emoji + ]; + }; }; } diff --git a/modules/fonts/iosevka.nix b/modules/fonts/iosevka.nix index 9fa673d6..84b60ac4 100644 --- a/modules/fonts/iosevka.nix +++ b/modules/fonts/iosevka.nix @@ -1,13 +1,20 @@ -{ pkgs, ... }: +{ + lib, + config, + pkgs, + ... +}: { - fonts = { - packages = with pkgs; [ - (iosevka-bin.override { variant = "SGr-IosevkaTermSS08"; }) - ]; - fontconfig = { - defaultFonts = { - monospace = [ "Iosevka Term SS08" ]; + config = lib.mkIf config.my.fonts.enable { + fonts = { + packages = with pkgs; [ + (iosevka-bin.override { variant = "SGr-IosevkaTermSS08"; }) + ]; + fontconfig = { + defaultFonts = { + monospace = [ "Iosevka Term SS08" ]; + }; }; }; };