# SPDX-FileCopyrightText: 2025 Ethan Reece # # SPDX-License-Identifier: MIT # IMPORTANT: https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2022.2_1014_8888.tar.gz # `nix-store --add-fixed sha256 Xilinx_Unified_2022.2_1014_8888.tar.gz` # `sudo ln -st /nix/var/nix/gcroots /nix/store/wsl4wi73j3gwv9f6fpcnjfqg58s79m08-Xilinx_Unified_2022.2_1014_8888.tar.gz` # Prevent GC # `nix hash file Xilinx_Unified_2022.2_1014_8888.tar.gz --base16` # Resources: # blog.kotatsu.dev/posts/2021-09-14-vivado-on-nixos/ # github:DLR-FT/xilinx-nix-utils { config, pkgs, ... }: let # IMPORTANT: https://www.xilinx.com/member/forms/license-form.html xilinx-license = { }; # TODO: Add to ~/.Xilinx/Xilinx.lic # IMPORTANT: SSH key must be added to GitHub account peanut-toolchains = builtins.fetchGit { url = "git@github.com:Peanut-Microsystems/toolchains.git"; ref = "main"; rev = "ed5a4bc9173bc2c2e7413ffac54c5390d96b4481"; }; xilinx-boards = pkgs.runCommand "xilinx-pynq-z1" { } '' #!${pkgs.nushell}/bin/nu mkdir -p $out ${pkgs.unzip}/bin/unzip ${peanut-toolchains}/board_files.zip -d $out ''; in { imports = [ ../utdallas/base.nix ./init.nix ]; home = { packages = [ pkgs.xilinx-unified-2022-2 ]; sessionVariables = { _JAVA_AWT_WM_NONREPARENTING = "1"; # Fix Vivado blank screen }; file = { ".Xilinx/Vivado/2022.2/data/boards".source = xilinx-boards; }; }; }