diff --git a/flake.nix b/flake.nix index 91e20a1..faf75dc 100644 --- a/flake.nix +++ b/flake.nix @@ -43,6 +43,7 @@ "aarch64-linux" "aarch64-darwin" "x86_64-darwin" + "x86_64-linux" ]; forAllSystems = nixpkgs.lib.genAttrs systems; diff --git a/modules/nixos/fonts.nix b/modules/nixos/fonts.nix index 96b2a2d..dec6bbf 100644 --- a/modules/nixos/fonts.nix +++ b/modules/nixos/fonts.nix @@ -1,135 +1,7 @@ -{ - inputs, - pkgs, - ... -}: { +{pkgs, ...}: { # fonts.packages if unstable? - fonts.packages = with pkgs; - [ - (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) - ] - ++ (with inputs.nixpkgs.legacyPackages.${system}; [ - (iosevka.override { - set = "lyteterm"; - privateBuildPlan = '' - [buildPlans.iosevka-lyteterm] - family = "IosevkaLyteTerm" - spacing = "fontconfig-mono" - serifs = "sans" - export-glyph-names = true - - [buildPlans.iosevka-lyteterm.ligations] - inherits = "dlig" - disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ] - - [buildPlans.iosevka-lyteterm.weights.regular] - shape = 400 - menu = 400 - css = 400 - - [buildPlans.iosevka-lyteterm.weights.book] - shape = 450 - menu = 450 - css = 450 - - [buildPlans.iosevka-lyteterm.weights.bold] - shape = 700 - menu = 700 - css = 700 - - [buildPlans.iosevka-lyteterm.weights.black] - shape = 900 - menu = 900 - css = 900 - - # [[buildPlans.iosevka-lyteterm.compatibility-ligatures]] - # unicode = 57600 # 0xE100 - # featureTag = 'calt' - # kequence = '<*>' - - [buildPlans.iosevka-lyteterm.variants] - inherits = "ss01" - - [buildPlans.iosevka-lyteterm.variants.design] - capital-a = 'curly-serifless' - capital-b = 'standard-interrupted-serifless' - capital-c = 'unilateral-inward-serifed' - capital-d = 'standard-serifless' - capital-g = 'toothless-rounded-inward-serifed-hooked' - capital-i = 'serifed' - capital-j = 'serifed' - capital-k = 'curly-serifless' - capital-l = 'motion-serifed' - capital-m = 'hanging-serifless' - capital-n = 'asymmetric-serifless' - capital-p = 'open-serifless' - capital-q = 'crossing' - capital-r = 'standing-open-serifless' - capital-s = 'unilateral-inward-serifed' - capital-t = 'motion-serifed' - capital-u = 'toothless-corner-serifless' - capital-v = 'curly-serifless' - capital-w = 'curly-serifless' - capital-x = 'curly-serifless' - capital-y = 'curly-base-serifed' - capital-z = 'curly-top-serifed-with-crossbar' - a = 'double-storey-toothless-corner' - b = 'toothless-corner-serifless' - c = 'unilateral-inward-serifed' - d = 'toothless-corner-serifless' - e = 'flat-crossbar' - f = 'tailed' - g = 'double-storey-open' - # g = 'single-storey-earless-corner-flat-hook' - h = 'straight-serifless' - i = 'tailed-serifed' - j = 'serifed' - k = 'curly-serifless' - l = 'tailed-serifed' - m = 'earless-corner-double-arch-serifless' - n = 'earless-corner-straight-serifless' - p = 'earless-corner-serifless' - q = 'earless-corner-diagonal-tailed-serifless' - r = 'earless-corner-serifless' - s = 'unilateral-inward-serifed' - t = 'bent-hook-asymmetric' - u = 'toothless-corner-serifless' - v = 'curly-serifless' - w = 'curly-serifless' - x = 'curly-serifless' - y = 'curly-turn-serifless' - z = 'curly-top-serifed-with-crossbar' - # cyrl-capital-ze = 'unilateral-inward-serifed' - zero = 'reverse-slashed-split' - one = 'base' - two = 'curly-neck' - three = 'two-arcs' - four = 'semi-open-non-crossing' - # five = 'vertical-upper-left-bar' - five = 'upright-flat' - six = 'straight-bar' - seven = 'curly-serifed-crossbar' - eight = 'two-circles' - nine = 'straight-bar' - tilde = 'low' - asterisk = 'penta-low' - underscore = 'above-baseline' - pilcrow = 'low' - caret = 'low' - paren = 'flat-arc' - brace = 'curly-flat-boundary' - number-sign = 'upright-open' - ampersand = 'upper-open' - at = 'compact' - dollar = 'interrupted' - cent = 'open' - percent = 'rings-segmented-slash' - bar = 'force-upright' - ascii-single-quote = 'raised-comma' - ascii-grave = 'straight' - question = 'smooth' - punctuation-dot = 'round' - ''; - }) - ]); + fonts.packages = with pkgs; [ + (nerdfonts.override {fonts = ["NerdFontsSymbolsOnly"];}) + pkgs.iosevka-lyte-term + ]; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 3d9e23c..5aa4dfb 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -1,5 +1,6 @@ # Custom packages, that can be defined similarly to ones from nixpkgs # You can build them using 'nix build .#example' -pkgs: { +{pkgs, ...}: { + iosevka-lyte-term = pkgs.callPackage ./iosevka-lyte-term.nix {inherit pkgs;}; # example = pkgs.callPackage ./example { }; } diff --git a/pkgs/iosevka-lyte-term.nix b/pkgs/iosevka-lyte-term.nix new file mode 100644 index 0000000..a3f259e --- /dev/null +++ b/pkgs/iosevka-lyte-term.nix @@ -0,0 +1,123 @@ +{pkgs, ...}: +pkgs.iosevka.override { + set = "lyteterm"; + privateBuildPlan = '' + [buildPlans.iosevka-lyteterm] + family = "IosevkaLyteTerm" + spacing = "fontconfig-mono" + serifs = "sans" + export-glyph-names = true + + [buildPlans.iosevka-lyteterm.ligations] + inherits = "dlig" + disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ] + + [buildPlans.iosevka-lyteterm.weights.regular] + shape = 400 + menu = 400 + css = 400 + + [buildPlans.iosevka-lyteterm.weights.book] + shape = 450 + menu = 450 + css = 450 + + [buildPlans.iosevka-lyteterm.weights.bold] + shape = 700 + menu = 700 + css = 700 + + [buildPlans.iosevka-lyteterm.weights.black] + shape = 900 + menu = 900 + css = 900 + + # [[buildPlans.iosevka-lyteterm.compatibility-ligatures]] + # unicode = 57600 # 0xE100 + # featureTag = 'calt' + # kequence = '<*>' + + [buildPlans.iosevka-lyteterm.variants] + inherits = "ss01" + + [buildPlans.iosevka-lyteterm.variants.design] + capital-a = 'curly-serifless' + capital-b = 'standard-interrupted-serifless' + capital-c = 'unilateral-inward-serifed' + capital-d = 'standard-serifless' + capital-g = 'toothless-rounded-inward-serifed-hooked' + capital-i = 'serifed' + capital-j = 'serifed' + capital-k = 'curly-serifless' + capital-l = 'motion-serifed' + capital-m = 'hanging-serifless' + capital-n = 'asymmetric-serifless' + capital-p = 'open-serifless' + capital-q = 'crossing' + capital-r = 'standing-open-serifless' + capital-s = 'unilateral-inward-serifed' + capital-t = 'motion-serifed' + capital-u = 'toothless-corner-serifless' + capital-v = 'curly-serifless' + capital-w = 'curly-serifless' + capital-x = 'curly-serifless' + capital-y = 'curly-base-serifed' + capital-z = 'curly-top-serifed-with-crossbar' + a = 'double-storey-toothless-corner' + b = 'toothless-corner-serifless' + c = 'unilateral-inward-serifed' + d = 'toothless-corner-serifless' + e = 'flat-crossbar' + f = 'tailed' + g = 'double-storey-open' + # g = 'single-storey-earless-corner-flat-hook' + h = 'straight-serifless' + i = 'tailed-serifed' + j = 'serifed' + k = 'curly-serifless' + l = 'tailed-serifed' + m = 'earless-corner-double-arch-serifless' + n = 'earless-corner-straight-serifless' + p = 'earless-corner-serifless' + q = 'earless-corner-diagonal-tailed-serifless' + r = 'earless-corner-serifless' + s = 'unilateral-inward-serifed' + t = 'bent-hook-asymmetric' + u = 'toothless-corner-serifless' + v = 'curly-serifless' + w = 'curly-serifless' + x = 'curly-serifless' + y = 'curly-turn-serifless' + z = 'curly-top-serifed-with-crossbar' + # cyrl-capital-ze = 'unilateral-inward-serifed' + zero = 'reverse-slashed-split' + one = 'base' + two = 'curly-neck' + three = 'two-arcs' + four = 'semi-open-non-crossing' + # five = 'vertical-upper-left-bar' + five = 'upright-flat' + six = 'straight-bar' + seven = 'curly-serifed-crossbar' + eight = 'two-circles' + nine = 'straight-bar' + tilde = 'low' + asterisk = 'penta-low' + underscore = 'above-baseline' + pilcrow = 'low' + caret = 'low' + paren = 'flat-arc' + brace = 'curly-flat-boundary' + number-sign = 'upright-open' + ampersand = 'upper-open' + at = 'compact' + dollar = 'interrupted' + cent = 'open' + percent = 'rings-segmented-slash' + bar = 'force-upright' + ascii-single-quote = 'raised-comma' + ascii-grave = 'straight' + question = 'smooth' + punctuation-dot = 'round' + ''; +}