From 7b8269edb59b6420e7db7e94cbb9c199b8a6c714 Mon Sep 17 00:00:00 2001 From: Dmitry Voronin Date: Sun, 25 Feb 2024 05:59:30 +0300 Subject: [PATCH] Treesitter : Add parser cache path. --- .../system/derivation/apple_font/flake.nix | 81 ++++++++++++++++++ .config/linux/system/flake.nix | 2 +- .../linux/system/module/common/Wallpaper.nix | 2 +- .../module/common/nvim/plugin/Treesitter.lua | 1 + .../module/common}/wallpaper/forest.jpg | Bin 5 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 .config/linux/system/derivation/apple_font/flake.nix rename .config/linux/{ => system/module/common}/wallpaper/forest.jpg (100%) diff --git a/.config/linux/system/derivation/apple_font/flake.nix b/.config/linux/system/derivation/apple_font/flake.nix new file mode 100644 index 0000000..3b3eccf --- /dev/null +++ b/.config/linux/system/derivation/apple_font/flake.nix @@ -0,0 +1,81 @@ +{ + description = "Apple fonts."; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + }; + + outputs = { self, nixpkgs } @inputs: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + lib = nixpkgs.lib; + in { + packages.${system}.default = pkgs.stdenv.mkDerivation rec { + pname = "applefonts"; + version = "1"; + + pro = pkgs.fetchurl { + url = "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"; + sha256 = "sha256-Mu0pmx3OWiKBmMEYLNg+u2MxFERK07BQGe3WAhEec5Q="; + }; + + compact = pkgs.fetchurl { + url = "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"; + sha256 = "sha256-Mkf+GK4iuUhZdUdzMW0VUOmXcXcISejhMeZVm0uaRwY="; + }; + + mono = pkgs.fetchurl { + url = "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"; + sha256 = "sha256-tZHV6g427zqYzrNf3wCwiCh5Vjo8PAai9uEvayYPsjM="; + }; + + ny = pkgs.fetchurl { + url = "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"; + sha256 = "sha256-tn1QLCSjgo5q4PwE/we80pJavr3nHVgFWrZ8cp29qBk="; + }; + + nativeBuildInputs = with pkgs; [ p7zip ]; + + sourceRoot = "."; + + dontUnpack = true; + + installPhase = '' + 7z x ${pro} + cd SFProFonts + 7z x 'SF Pro Fonts.pkg' + 7z x 'Payload~' + mkdir -p $out/fontfiles + mv Library/Fonts/* $out/fontfiles + cd .. + 7z x ${mono} + cd SFMonoFonts + 7z x 'SF Mono Fonts.pkg' + 7z x 'Payload~' + mv Library/Fonts/* $out/fontfiles + cd .. + 7z x ${compact} + cd SFCompactFonts + 7z x 'SF Compact Fonts.pkg' + 7z x 'Payload~' + mv Library/Fonts/* $out/fontfiles + cd .. + 7z x ${ny} + cd NYFonts + 7z x 'NY Fonts.pkg' + 7z x 'Payload~' + mv Library/Fonts/* $out/fontfiles + mkdir -p $out/usr/share/fonts/OTF $out/usr/share/fonts/TTF + mv $out/fontfiles/*.otf $out/usr/share/fonts/OTF + mv $out/fontfiles/*.ttf $out/usr/share/fonts/TTF + rm -rf $out/fontfiles + ''; + + meta = { + description = "Apple San Francisco, New York fonts."; + homepage = "https://developer.apple.com/fonts/"; + }; + }; + }; +} diff --git a/.config/linux/system/flake.nix b/.config/linux/system/flake.nix index 55ba72f..a0331d8 100644 --- a/.config/linux/system/flake.nix +++ b/.config/linux/system/flake.nix @@ -6,7 +6,7 @@ url = "git+https://git.voronind.com/voronind/linux.git"; flake = false; }; - applefonts.url = "git+https://git.voronind.com/voronind/nix_applefonts.git"; + applefonts.url = "git+file:.?dir=.config/linux/system/derivation/apple_font"; # Nvim plugins. nvimAlign = { diff --git a/.config/linux/system/module/common/Wallpaper.nix b/.config/linux/system/module/common/Wallpaper.nix index 7ebfc0c..d37b8ce 100644 --- a/.config/linux/system/module/common/Wallpaper.nix +++ b/.config/linux/system/module/common/Wallpaper.nix @@ -1,3 +1,3 @@ { environment, ... }: { - environment.etc.wallpaper.source = ../../../wallpaper; # TODO: Use a path relative to repo. + environment.etc.wallpaper.source = ./wallpaper; } diff --git a/.config/linux/system/module/common/nvim/plugin/Treesitter.lua b/.config/linux/system/module/common/nvim/plugin/Treesitter.lua index ecf3eca..57afa2a 100644 --- a/.config/linux/system/module/common/nvim/plugin/Treesitter.lua +++ b/.config/linux/system/module/common/nvim/plugin/Treesitter.lua @@ -1,4 +1,5 @@ require("nvim-treesitter.configs").setup { + parser_install_dir = "~/.cache/treesitter", auto_install = true, -- ensure_installed = "all", sync_install = false, diff --git a/.config/linux/wallpaper/forest.jpg b/.config/linux/system/module/common/wallpaper/forest.jpg similarity index 100% rename from .config/linux/wallpaper/forest.jpg rename to .config/linux/system/module/common/wallpaper/forest.jpg