Updating custom Iosevka package

This commit is contained in:
Daniel Flanagan 2024-06-01 20:08:59 -05:00
parent 5ef9bfb602
commit f0973aa3cf
5 changed files with 150 additions and 203 deletions

View file

@ -301,22 +301,6 @@
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": {
"lastModified": 1716361217,
"narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1710695816, "lastModified": 1710695816,
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=", "narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
@ -332,19 +316,19 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgsForIosevka": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1708118438, "lastModified": 1717112898,
"narHash": "sha256-kk9/0nuVgA220FcqH/D2xaN6uGyHp/zoxPNUmPCMmEE=", "narHash": "sha256-7R2ZvOnvd9h8fDd65p0JnB7wXfUvreox3xFdYWd1BnY=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80", "rev": "6132b0f6e344ce2fe34fc051b72fb46e34f668e0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5863c27340ba4de8f83e7e3c023b9599c3cb3c80",
"type": "github" "type": "github"
} }
}, },
@ -366,16 +350,16 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1716330097, "lastModified": 1717144377,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -403,7 +387,7 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable_2" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1716213921, "lastModified": 1716213921,
@ -427,8 +411,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable", "nixpkgs-unstable": "nixpkgs-unstable",
"nixpkgsForIosevka": "nixpkgsForIosevka",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks",
"slippi": "slippi", "slippi": "slippi",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
@ -480,10 +463,10 @@
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs-unstable"
], ],
"nixpkgs-stable": [ "nixpkgs-stable": [
"nixpkgs-stable" "nixpkgs"
] ]
}, },
"locked": { "locked": {

View file

@ -1,15 +1,11 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-23.11"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
# nixpkgs-next.url = "github:nixos/nixpkgs/staging-next"; # nixpkgs-next.url = "github:nixos/nixpkgs/staging-next";
# I have this as a separate input so I don't rebuild the font every time I
# want to upgrade nixpkgs
nixpkgsForIosevka.url = "github:nixos/nixpkgs?rev=5863c27340ba4de8f83e7e3c023b9599c3cb3c80";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix"; pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs"; pre-commit-hooks.inputs.nixpkgs.follows = "nixpkgs";
@ -22,8 +18,8 @@
disko.inputs.nixpkgs.follows = "nixpkgs"; disko.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
sops-nix.inputs.nixpkgs.follows = "nixpkgs"; sops-nix.inputs.nixpkgs.follows = "nixpkgs-unstable";
sops-nix.inputs.nixpkgs-stable.follows = "nixpkgs-stable"; sops-nix.inputs.nixpkgs-stable.follows = "nixpkgs";
hardware.url = "github:nixos/nixos-hardware"; hardware.url = "github:nixos/nixos-hardware";
@ -38,8 +34,6 @@
outputs = { outputs = {
self, self,
nixpkgs, nixpkgs,
# nixpkgs-next,
nixpkgsForIosevka,
home-manager, home-manager,
hardware, hardware,
pre-commit-hooks, pre-commit-hooks,
@ -70,7 +64,6 @@
packages = forAllSystems (system: packages = forAllSystems (system:
import ./pkgs { import ./pkgs {
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
pkgsForIosevka = nixpkgsForIosevka.legacyPackages.${system};
}); });
# Formatter for your nix files, available through 'nix fmt' # Formatter for your nix files, available through 'nix fmt'
@ -98,7 +91,7 @@
}); });
# Your custom packages and modifications, exported as overlays # Your custom packages and modifications, exported as overlays
overlays = import ./overlays {inherit nixpkgs nixpkgsForIosevka;}; overlays = import ./overlays {inherit nixpkgs;};
# Reusable nixos modules you might want to export # Reusable nixos modules you might want to export
# These are usually stuff you would upstream into nixpkgs # These are usually stuff you would upstream into nixpkgs

View file

@ -1,12 +1,8 @@
{ {nixpkgs, ...}: {
nixpkgs,
nixpkgsForIosevka,
...
}: {
# This one brings our custom packages from the 'pkgs' directory # This one brings our custom packages from the 'pkgs' directory
additions = final: _prev: additions = final: _prev:
import ../pkgs { import ../pkgs {
pkgsForIosevka = nixpkgsForIosevka.legacyPackages.${final.system}; pkgs = nixpkgs.legacyPackages.${final.system};
}; };
# This one contains whatever you want to overlay # This one contains whatever you want to overlay

View file

@ -1,17 +1,12 @@
# Custom packages, that can be defined similarly to ones from nixpkgs # Custom packages, that can be defined similarly to ones from nixpkgs
# You can build them using 'nix build .#example' # You can build them using 'nix build .#example'
{ {pkgs, ...}: rec {
# pkgs,
pkgsForIosevka,
...
}: rec {
# example = pkgs.callPackage ./example { }; # example = pkgs.callPackage ./example { };
iosevka-lyteterm-raw = pkgsForIosevka.callPackage ./iosevka-lyteterm-raw.nix {inherit (pkgsForIosevka) iosevka;}; iosevkaLyteTerm = pkgs.callPackage ./iosevka-lyteterm-raw.nix {inherit (pkgs) iosevka;};
iosevka-lyteterm = pkgsForIosevka.callPackage ./iosevka-lyteterm.nix {inherit iosevka-lyteterm-raw;}; iosevkaLyteTermWebMin = pkgs.callPackage ./iosevka-lyteterm-webmin.nix {
iosevka-lyteterm-webmin = pkgsForIosevka.callPackage ./iosevka-lyteterm-webmin.nix { pkgs = pkgs;
pkgs = pkgsForIosevka; inherit (pkgs) python311Packages parallel;
inherit (pkgsForIosevka) python311Packages parallel; inherit iosevkaLyteTerm;
inherit iosevka-lyteterm-raw;
}; };
} }

View file

@ -1,69 +1,49 @@
{iosevka, ...}: {iosevka, ...}: let
(iosevka.overrideAttrs set = "LyteTerm";
(final: prev: rec { in
BUILD_DIR = "iosevka-lyteterm"; iosevka.override {
pname = "${BUILD_DIR}-raw"; inherit set;
buildPhase = ''
export HOME=$TMPDIR
runHook preBuild
npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES --verbose=9 ttf::iosevka-lyteterm
npm run build --no-update-notifier -- --jCmd=$NIX_BUILD_CORES --verbose=9 woff2::iosevka-lyteterm
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d "$out"
ls -la .
ls -la dist
cp -r dist/* "$out"
runHook postInstall
'';
}))
.override {
set = "lyteterm";
privateBuildPlan = '' privateBuildPlan = ''
[buildPlans.iosevka-lyteterm] [buildPlans.Iosevka${set}]
family = "IosevkaLyteTerm" family = "Iosevka${set}"
spacing = "fontconfig-mono" spacing = "fontconfig-mono"
serifs = "sans" serifs = "sans"
export-glyph-names = true exportGlyphNames = true
[buildPlans.iosevka-lyteterm.ligations] [buildPlans.Iosevka${set}.ligations]
inherits = "dlig" inherits = "dlig"
disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ] disables = [ "exeqeqeq", "exeqeq", "exeqeq-dl", "exeq", "ineq", "connected-underscore", "connected-tilde-as-wave" ]
[buildPlans.iosevka-lyteterm.weights.regular] [buildPlans.Iosevka${set}.weights.regular]
shape = 400 shape = 400
menu = 400 menu = 400
css = 400 css = 400
[buildPlans.iosevka-lyteterm.weights.book] [buildPlans.Iosevka${set}.weights.book]
shape = 450 shape = 450
menu = 450 menu = 450
css = 450 css = 450
[buildPlans.iosevka-lyteterm.weights.bold] [buildPlans.Iosevka${set}.weights.bold]
shape = 700 shape = 700
menu = 700 menu = 700
css = 700 css = 700
[buildPlans.iosevka-lyteterm.weights.black] [buildPlans.Iosevka${set}.weights.black]
shape = 900 shape = 900
menu = 900 menu = 900
css = 900 css = 900
# [[buildPlans.iosevka-lyteterm.compatibility-ligatures]] # [[buildPlans.Iosevka${set}.compatibility-ligatures]]
# unicode = 57600 # 0xE100 # unicode = 57600 # 0xE100
# featureTag = 'calt' # featureTag = 'calt'
# kequence = '<*>' # kequence = '<*>'
[buildPlans.iosevka-lyteterm.variants] [buildPlans.Iosevka${set}.variants]
inherits = "ss01" inherits = "ss01"
[buildPlans.iosevka-lyteterm.variants.design] [buildPlans.Iosevka${set}.variants.design]
capital-a = 'curly-serifless' capital-a = 'curly-serifless'
capital-b = 'standard-interrupted-serifless' capital-b = 'standard-interrupted-serifless'
capital-c = 'unilateral-inward-serifed' capital-c = 'unilateral-inward-serifed'
@ -115,11 +95,11 @@
# cyrl-capital-ze = 'unilateral-inward-serifed' # cyrl-capital-ze = 'unilateral-inward-serifed'
zero = 'reverse-slashed-split' zero = 'reverse-slashed-split'
one = 'base' one = 'base'
two = 'curly-neck' two = 'curly-neck-serifless'
three = 'two-arcs' three = 'two-arcs'
four = 'semi-open-non-crossing' four = 'semi-open-non-crossing-serifless'
# five = 'vertical-upper-left-bar' # five = 'vertical-upper-left-bar'
five = 'upright-flat' five = 'upright-flat-serifless'
six = 'straight-bar' six = 'straight-bar'
seven = 'curly-serifed-crossbar' seven = 'curly-serifed-crossbar'
eight = 'two-circles' eight = 'two-circles'