From 2e52b80529b09829b67199bd888354a64c2578db Mon Sep 17 00:00:00 2001 From: sefidel Date: Fri, 21 Jan 2022 20:51:39 +0900 Subject: nixos/alpha: install fonts system-wide --- home/profiles/base/default.nix | 13 ------------ home/profiles/fonts/default.nix | 25 ++++++++++++++++++++++ nixos/alpha/configuration.nix | 47 +++++++++++++++++++++++++++++++++++++++++ nixos/default.nix | 1 + 4 files changed, 73 insertions(+), 13 deletions(-) create mode 100644 home/profiles/fonts/default.nix diff --git a/home/profiles/base/default.nix b/home/profiles/base/default.nix index 8a675f2..d6042e8 100644 --- a/home/profiles/base/default.nix +++ b/home/profiles/base/default.nix @@ -72,21 +72,8 @@ in pkgs.sops pkgs.tree neovim - - # Fonts - pkgs.iosevka-pure-bin - pkgs.dina-font - pkgs.sarasa-gothic - pkgs.scientifica - pkgs.jetbrains-mono - pkgs.twemoji-color-font - pkgs.symbola - pkgs.emacs-all-the-icons-fonts - (pkgs.nerdfonts.override { fonts = [ "Iosevka" "JetBrainsMono" ]; }) ]; - fonts.fontconfig.enable = true; - wayland.windowManager.sway = { enable = true; diff --git a/home/profiles/fonts/default.nix b/home/profiles/fonts/default.nix new file mode 100644 index 0000000..ab24f31 --- /dev/null +++ b/home/profiles/fonts/default.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, ... }: +let cfg = config.profiles.fonts; +in +{ + options.profiles.fonts = { + enable = lib.mkEnableOption + "A profile that installs extra fonts. (for Non-NixOS systems)"; + }; + + config = lib.mkIf cfg.enable { + home.packages = with pkgs; [ + iosevka-pure-bin + ctrld-font + sarasa-gothic + scientifica + #siji # TODO: bitmap font conflict + jetbrains-mono + twemoji-color-font + emacs-all-the-icons-fonts + (nerdfonts.override { fonts = [ "Iosevka" "JetBrainsMono" ]; }) + ]; + + fonts.fontconfig.enable = true; + }; +} diff --git a/nixos/alpha/configuration.nix b/nixos/alpha/configuration.nix index dddd774..0825140 100644 --- a/nixos/alpha/configuration.nix +++ b/nixos/alpha/configuration.nix @@ -83,6 +83,53 @@ systemd.extraConfig = "RebootWatchdogSec=5"; + fonts = { + fontDir.enable = true; + + fonts = with pkgs; [ + iosevka-pure-bin + ctrld-font + sarasa-gothic + scientifica + siji + jetbrains-mono + twemoji-color-font + emacs-all-the-icons-fonts + (nerdfonts.override { fonts = [ "Iosevka" "JetBrainsMono" ]; }) + ]; + + fontconfig = { + enable = true; + + defaultFonts = { + serif = [ + "Sarasa Gothic C" + "Sarasa Gothic J" + "Sarasa Gothic K" + ]; + + sansSerif = [ + "Sarasa Gothic C" + "Sarasa Gothic J" + "Sarasa Gothic K" + ]; + + monospace = [ + "CtrlD" + "scientifica" + "Iosevka Pure" + "Iosevka Nerd Font" + "JetBrainsMono Nerd Font" + ]; + + emoji = [ + "Siji" + "Twitter Color Emoji" + ]; + }; + }; + }; + programs = { sway = { enable = true; diff --git a/nixos/default.nix b/nixos/default.nix index 211f3d5..edf3622 100644 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -4,6 +4,7 @@ alpha = self.lib.mkSystem { name = "alpha"; nixpkgs = nixpkgs; + overlays = with inputs; [ chaotic-nixpkgs.overlay ]; extraModules = [ inputs.sops-nix.nixosModules.sops ./modules/security.nix -- cgit 1.4.1