1
0
Fork 0
nix-system-configurations/home-manager/utd_cs4485/home.nix

44 lines
1.4 KiB
Nix

# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
#
# 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;
};
};
}