summaryrefslogtreecommitdiff
path: root/home-manager
diff options
context:
space:
mode:
Diffstat (limited to 'home-manager')
-rw-r--r--home-manager/fontconfig.nix90
-rw-r--r--home-manager/resources/firefox/userChrome.css4
-rw-r--r--home-manager/resources/fontconfig/90-commit-mono-options.conf17
-rw-r--r--home-manager/resources/fontconfig/90-tamzen-disable-anti-aliasing.conf14
-rw-r--r--home-manager/theme-st.nix4
5 files changed, 15 insertions, 114 deletions
diff --git a/home-manager/fontconfig.nix b/home-manager/fontconfig.nix
index 4473d1a..7c12b7e 100644
--- a/home-manager/fontconfig.nix
+++ b/home-manager/fontconfig.nix
@@ -1,83 +1,11 @@
-{ config, lib, ... }: let
- cfg = config.fonts.fontconfig;
- fcConfd = "fontconfig/conf.d";
- fcResources = ./resources/fontconfig;
-
- extraConfigFile = lib.types.submodule ({ name, ... }: {
- options = {
- enable = lib.mkEnableOption "Whether this font config file should be generated.";
- text = lib.mkOption {
- type = lib.types.nullOr lib.types.lines;
- default = null;
- description = "Verbatim contents of the config file. If this option is null then the 'source' option must be set.";
- };
- source = lib.mkOption {
- type = lib.types.nullOr lib.types.path;
- default = null;
- description = "Config file to source. Alternatively, use the 'text' option instead.";
- };
- label = lib.mkOption {
- type = lib.types.str;
- default = "name";
- description = "Label to use for the name of the config file.";
- };
- priority = lib.mkOption {
- type = lib.types.addCheck lib.types.int (x: x >= 0 && x <= 99);
- default = 90;
- description = ''
- Determines the order in which configs are loaded.
- Must be a value within the range of 0-99, where priority 0 is the highest priority and 99 is the lowest.
- '';
- };
- };
- config = {
- label = lib.mkDefault name;
- };
- });
-in {
- options.fonts.fontconfig = {
- _extraConfigFiles = lib.mkOption {
- type = lib.types.attrsOf extraConfigFile;
- default = {};
- description = ''
- Extra font config files that will be added to `~/.config/fontconfig/conf.d/`.
- Files are added as `conf.d/{priority}-{label}.conf`.
- '';
- example = ''
- {
- tamzen = {
- enable = true;
- label = "tamzen-disable-antialiasing";
- text = tamzenFontConfig; # Pretend this is defined elsewhere
- priority = 90;
- }; # => conf.d/90-tamzen-disable-antialiasing.conf
- commit-mono-options = {
- enable = true;
- source = ./resources/fontconfig/commit-mono.conf;
- priority = 80;
- }; # => conf.d/80-commit-mono-options.conf
- };
- '';
- };
- };
-
- config = lib.mkIf cfg.enable {
- fonts.fontconfig._extraConfigFiles = {
- tamzen-disable-antialiasing = {
- enable = true;
- text = builtins.readFile ./resources/fontconfig/90-tamzen-disable-anti-aliasing.conf;
- priority = 90;
- };
- commit-mono-options = {
- enable = true;
- source = ./resources/fontconfig/90-commit-mono-options.conf;
- priority = 90;
- };
- };
-
- xdg.configFile = lib.mapAttrs' (name: config:
- lib.nameValuePair "${fcConfd}/${builtins.toString config.priority}-${config.label}.conf"
- { inherit (config) text; source = lib.mkIf (config.source != null) config.source; }
- ) cfg._extraConfigFiles;
+{ lib, config, ... }: {
+ config = {
+ # Warn whenever subpixelRendering is not enabled
+ warnings = [
+ (lib.mkIf (config.fonts.fontconfig.subpixelRendering == null)
+ ''fonts.fontconfig.subpixelRendering is unset; this may result in suboptimal font rendering. Set this value to "none" to disable the feature explicitly.'')
+ (lib.mkIf (config.fonts.fontconfig.hinting == null)
+ ''fonts.fontconfig.hinting is unset; this may result in suboptimal font clarity. Set this value to "none" to disable the feature explicitly.'')
+ ];
};
}
diff --git a/home-manager/resources/firefox/userChrome.css b/home-manager/resources/firefox/userChrome.css
index 624ab26..2bbb2a1 100644
--- a/home-manager/resources/firefox/userChrome.css
+++ b/home-manager/resources/firefox/userChrome.css
@@ -82,6 +82,10 @@
margin-bottom: 2px;
}
+ #tabbrowser-tabs {
+ height: var(--uc-toolbar-height);
+ }
+
/* Tabs extend to bottom of bar */
.tab-background {
margin-bottom: 0 !important;
diff --git a/home-manager/resources/fontconfig/90-commit-mono-options.conf b/home-manager/resources/fontconfig/90-commit-mono-options.conf
deleted file mode 100644
index 9c7373a..0000000
--- a/home-manager/resources/fontconfig/90-commit-mono-options.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-
-<fontconfig>
- <description>Enable opentype features for CommitMono to make it match better with Inter as its monospace counterpart</description>
- <match target="font">
- <test name="family" compare="eq" ignore-blanks="true">
- <string>CommitMono</string>
- </test>
- <edit name="fontfeatures" mode="append">
- <string>ss03 on</string> <!-- smart case -->
- <string>ss04 on</string> <!-- symbol spacing -->
- <string>cv02 on</string> <!-- alt g -->
- <string>cv06 on</string> <!-- alt 6 & 9 -->
- </edit>
- </match>
-</fontconfig>
diff --git a/home-manager/resources/fontconfig/90-tamzen-disable-anti-aliasing.conf b/home-manager/resources/fontconfig/90-tamzen-disable-anti-aliasing.conf
deleted file mode 100644
index 5bf94d7..0000000
--- a/home-manager/resources/fontconfig/90-tamzen-disable-anti-aliasing.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-
-<fontconfig>
- <description>Disable anti-aliasing for Tamzen since it is a bitmap font</description>
- <match target="pattern">
- <test name="family" compare="eq" qual="any">
- <string>Tamzen</string>
- </test>
- <edit name="antialias" mode="assign">
- <bool>false</bool>
- </edit>
- </match>
-</fontconfig>
diff --git a/home-manager/theme-st.nix b/home-manager/theme-st.nix
index 110c9d6..01c08ec 100644
--- a/home-manager/theme-st.nix
+++ b/home-manager/theme-st.nix
@@ -9,8 +9,8 @@
)
;
themed-st = pkgs.st.overrideAttrs (old: {
- buildInputs = old.buildInputs or [] ++ [ pkgs.makeWrapper ];
- postInstall = old.postInstall or "" + ''
+ nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ pkgs.makeWrapper ];
+ postInstall = (old.postInstall or "") + ''
wrapProgram $out/bin/st \
--add-flags '-f"${generateXftFontString cfg.font.name cfg.font.attrs}"'
'';