Skip to content

Commit

Permalink
refactor(link): created mkLinks function to create activation script …
Browse files Browse the repository at this point in the history
…and link files
  • Loading branch information
Wittano committed Jun 26, 2024
1 parent cce2aa8 commit a3dff63
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 25 deletions.
26 changes: 16 additions & 10 deletions lib/link.nix
Original file line number Diff line number Diff line change
Expand Up @@ -73,19 +73,25 @@ let
'';
in
{
mkLink = { src, dest, active ? false }:
let linkFile = strings.optionalString active "ln -s ${src} ${dest}"; in ''
DIR=$(dirname ${dest})
mkLinks = links:
let
mkScript = src: dest: ''
DIR=$(dirname ${dest})
mkdir -p "$DIR"
mkdir -p "$DIR"
if [ -e "${dest}" ]; then
unlink ${dest} || rm ${dest}
fi
if [ -e "${dest}" ]; then
unlink ${dest} || rm ${dest}
fi
${linkFile}
'';
ln -s ${src} ${dest}
'';
in
trivial.pipe links [
(builtins.filter (x: x.active or false))
(builtins.map (x: mkScript x.src x.dest))
(builtins.concatStringsSep "\n\n")
];

mkMutableLinks =
{ config
Expand Down
27 changes: 12 additions & 15 deletions modules/hardware/virutalization.nix
Original file line number Diff line number Diff line change
Expand Up @@ -113,21 +113,18 @@ in
sockets.pcscd.enable = mkIf cfg.enableWindowsVM false;
};

system.activationScripts.installWindowsVMFiles =
let
vibiosLink = link.mkLink {
src = virutalizationDir."vibios.rom".source;
dest = "/var/lib/libvirt/vbios/vibios.rom";
active = cfg.enableWindowsVM;
};

qemuHookScript = link.mkLink {
src = virutalizationDir.qemu.source;
dest = "/var/lib/libvirt/hooks/qemu";
active = cfg.enableWindowsVM;
};
in
vibiosLink + qemuHookScript;
system.activationScripts.installWindowsVMFiles = link.mkLinks [
{
src = virutalizationDir."vibios.rom".source;
dest = "/var/lib/libvirt/vbios/vibios.rom";
active = cfg.enableWindowsVM;
}
{
src = virutalizationDir.qemu.source;
dest = "/var/lib/libvirt/hooks/qemu";
active = cfg.enableWindowsVM;
}
];

boot = {
kernelParams = [ "intel_iommu=on" "iommu=pt" ];
Expand Down

0 comments on commit a3dff63

Please sign in to comment.