summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrustybee <bee@4d2.org>2026-03-07 05:42:57 +0530
committerbrustybee <bee@4d2.org>2026-03-07 05:42:57 +0530
commit9a6b7c9daddfbed3ad1649742210a901864bd3aa (patch)
tree261902e3ca343513dfd0bb3812d8c056d66b3e62
parent20bb620ba13e9dd2617782fd8b48f02abed9d2ad (diff)
add overlays & override ioskeleyMono to mimic berkeley-mono
-rw-r--r--common/default.nix1
-rw-r--r--common/overlays/default.nix6
-rw-r--r--common/overlays/ioskeleyMono.nix150
-rw-r--r--hosts/common.nix1
-rw-r--r--lib/mkFlakeOutputs.nix8
5 files changed, 165 insertions, 1 deletions
diff --git a/common/default.nix b/common/default.nix
index 6f1f7b4..c331e65 100644
--- a/common/default.nix
+++ b/common/default.nix
@@ -2,6 +2,7 @@ inputs:
{ lib, ... }:
{
imports = [
+ (lib.modules.importApply ./overlays { inherit inputs; })
(lib.modules.importApply ./modules { inherit inputs; })
];
# flake.templates = import ./templates inputs;
diff --git a/common/overlays/default.nix b/common/overlays/default.nix
new file mode 100644
index 0000000..b827ca8
--- /dev/null
+++ b/common/overlays/default.nix
@@ -0,0 +1,6 @@
+{ inputs, ... }:
+{
+ flake.overlays = {
+ ioskeleyMono = import ./ioskeleyMono.nix;
+ };
+}
diff --git a/common/overlays/ioskeleyMono.nix b/common/overlays/ioskeleyMono.nix
new file mode 100644
index 0000000..76773d7
--- /dev/null
+++ b/common/overlays/ioskeleyMono.nix
@@ -0,0 +1,150 @@
+final: prev: {
+ ioskeley-mono = prev.iosevka.override {
+ set = "IoskeleyMono";
+ privateBuildPlan = {
+ family = "Ioskeley Mono";
+ spacing = "normal";
+ serifs = "sans";
+ noCvSs = true;
+ exportGlyphNames = false;
+
+ variants.design = {
+ one = "no-base";
+ two = "straight-neck-serifless";
+ three = "flat-top-serifless";
+ four = "semi-open-serifless";
+ five = "oblique-flat-serifless";
+ six = "open-contour";
+ seven = "straight-serifless";
+ eight = "two-circles";
+ nine = "open-contour";
+ zero = "dotted";
+ capital-a = "straight-serifless";
+ capital-b = "standard-serifless";
+ capital-c = "bilateral-inward-serifed";
+ capital-d = "standard-serifless";
+ capital-e = "serifless";
+ capital-f = "serifless";
+ capital-g = "toothless-corner-inward-serifed-hooked";
+ capital-h = "serifless";
+ capital-i = "serifed";
+ capital-j = "serifless";
+ capital-k = "symmetric-touching-serifless";
+ capital-l = "serifless";
+ capital-m = "hanging-serifless";
+ capital-n = "standard-serifless";
+ capital-p = "closed-serifless";
+ capital-q = "crossing";
+ capital-r = "standing-serifless";
+ capital-s = "serifless";
+ capital-t = "serifless";
+ capital-u = "toothless-rounded-serifless";
+ capital-v = "straight-serifless";
+ capital-w = "straight-flat-top-serifless";
+ capital-x = "straight-serifless";
+ capital-y = "straight-serifless";
+ capital-z = "straight-serifless";
+ a = "double-storey-serifless";
+ b = "toothed-serifless";
+ c = "bilateral-inward-serifed";
+ d = "toothed-serifless";
+ e = "flat-crossbar";
+ f = "flat-hook-serifless-crossbar-at-x-height";
+ g = "single-storey-serifless";
+ h = "straight-serifless";
+ i = "serifed";
+ j = "flat-hook-serifed";
+ k = "symmetric-touching-serifless";
+ l = "serifed";
+ m = "serifless";
+ n = "straight-serifless";
+ p = "eared-serifless";
+ q = "straight-serifless";
+ r = "hookless-serifless";
+ s = "serifless";
+ t = "flat-hook-short-neck2";
+ u = "toothed-serifless";
+ v = "straight-serifless";
+ w = "straight-flat-top-serifless";
+ x = "straight-serifless";
+ y = "straight-serifless";
+ z = "straight-serifless";
+ lower-theta = "oval";
+ tittle = "square";
+ diacritic-dot = "square";
+ punctuation-dot = "square";
+ braille-dot = "square";
+ tilde = "low";
+ asterisk = "penta-mid";
+ underscore = "high";
+ caret = "medium";
+ ascii-grave = "straight";
+ ascii-single-quote = "straight";
+ paren = "flat-arc";
+ brace = "curly-flat-boundary";
+ guillemet = "straight";
+ number-sign = "slanted";
+ ampersand = "closed";
+ at = "fourfold";
+ dollar = "through";
+ cent = "through-cap";
+ percent = "rings-continuous-slash";
+ bar = "natural-slope";
+ question = "corner";
+ pilcrow = "high";
+ micro-sign = "toothed-serifless";
+ decorative-angle-brackets = "middle";
+ lig-ltgteq = "slanted";
+ lig-neq = "slightly-slanted";
+ lig-equal-chain = "without-notch";
+ lig-hyphen-chain = "without-notch";
+ lig-plus-chain = "without-notch";
+ lig-double-arrow-bar = "without-notch";
+ lig-single-arrow-bar = "without-notch";
+ };
+
+ weights = {
+ Regular = {
+ shape = 400;
+ menu = 400;
+ css = 400;
+ };
+ Bold = {
+ shape = 700;
+ menu = 700;
+ css = 700;
+ };
+ };
+
+ widths.Normal = {
+ shape = 600;
+ menu = 5;
+ css = "normal";
+ };
+
+ slopes = {
+ Upright = {
+ angle = 0;
+ shape = "upright";
+ menu = "upright";
+ css = "normal";
+ };
+ Italic = {
+ angle = 11.8;
+ shape = "italic";
+ menu = "italic";
+ css = "italic";
+ };
+ };
+
+ metricOverride = {
+ xHeight = 520;
+ cap = 690;
+ ascender = 740;
+ sb = 100;
+ leading = 1250;
+ dotSize = "blend(weight, [100, 110], [400, 125], [900, 150])";
+ };
+ };
+ };
+}
diff --git a/hosts/common.nix b/hosts/common.nix
index bc70e0e..e5efde1 100644
--- a/hosts/common.nix
+++ b/hosts/common.nix
@@ -154,6 +154,7 @@
fonts.fontDir.enable = true;
fonts.packages = with pkgs; [
+ ioskeley-mono
# maple-mono.NF
nerd-fonts.jetbrains-mono
];
diff --git a/lib/mkFlakeOutputs.nix b/lib/mkFlakeOutputs.nix
index e1bf1c7..5eb77ab 100644
--- a/lib/mkFlakeOutputs.nix
+++ b/lib/mkFlakeOutputs.nix
@@ -33,7 +33,10 @@ let
importer
;
};
- modules = [ hostConfig ];
+ modules = [
+ hostConfig
+ { nixpkgs.overlays = builtins.attrValues (inputs.self.overlays or { }); }
+ ];
};
# Shared: build a standalone Home Manager derivation
@@ -48,6 +51,7 @@ let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
+ overlays = builtins.attrValues (inputs.self.overlays or { });
};
in
home-manager.lib.homeManagerConfiguration {
@@ -107,6 +111,8 @@ in
modules = [
hostConfig
home-manager.nixosModules.home-manager
+ inputs.sops-nix.nixosModules.sops
+ { nixpkgs.overlays = builtins.attrValues (inputs.self.overlays or { }); }
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;