From efb2d33d4f5248824e274dd0b830d649f6466fc3 Mon Sep 17 00:00:00 2001 From: lassulus Date: Fri, 21 Jul 2023 14:58:38 +0200 Subject: [PATCH] formats *: set filename to the fileending --- all-formats.nix | 4 ++-- format-module.nix | 2 +- formats/amazon.nix | 1 + formats/do.nix | 1 + formats/docker.nix | 2 +- formats/gce.nix | 1 + formats/hyperv.nix | 2 +- formats/install-iso-hyperv.nix | 2 +- formats/install-iso.nix | 2 +- formats/iso.nix | 2 +- formats/kubevirt.nix | 1 + formats/linode.nix | 2 +- formats/lxc-metadata.nix | 2 +- formats/lxc.nix | 2 +- formats/openstack.nix | 1 + formats/proxmox-lxc.nix | 2 +- formats/proxmox.nix | 1 + formats/qcow.nix | 1 + formats/raw.nix | 2 +- formats/virtualbox.nix | 2 +- formats/vmware.nix | 1 + nixos-generate | 2 +- 22 files changed, 23 insertions(+), 15 deletions(-) diff --git a/all-formats.nix b/all-formats.nix index e004298..8d77e29 100644 --- a/all-formats.nix +++ b/all-formats.nix @@ -31,9 +31,9 @@ # attrset of formats to be exposed under config.system.formats formats = lib.flip lib.mapAttrs allConfigs ( - formatName: conf: pkgs.runCommand formatName {} '' + formatName: conf: pkgs.runCommand "${conf.config.system.build.${conf.config.formatAttr}.name}${conf.config.filename}" {} '' set -efu - target=$(find '${conf.config.system.build.${conf.config.formatAttr}}' -wholename '${conf.config.filename}' -xtype f -print -quit) + target=$(find '${conf.config.system.build.${conf.config.formatAttr}}' -name '*${conf.config.filename}' -xtype f -print -quit) ln -s "$target" "$out" '' ); diff --git a/format-module.nix b/format-module.nix index 22d650e..29b4060 100644 --- a/format-module.nix +++ b/format-module.nix @@ -10,7 +10,7 @@ filename = lib.mkOption { type = lib.types.str; description = "Declare the path of the wanted file in the output directory"; - default = "*"; + default = ""; }; formatAttr = lib.mkOption { type = lib.types.str; diff --git a/formats/amazon.nix b/formats/amazon.nix index 8835b88..5071aa8 100644 --- a/formats/amazon.nix +++ b/formats/amazon.nix @@ -4,4 +4,5 @@ ]; formatAttr = "amazonImage"; + filename = ".vhd"; } diff --git a/formats/do.nix b/formats/do.nix index f6fb953..350087a 100644 --- a/formats/do.nix +++ b/formats/do.nix @@ -4,4 +4,5 @@ ]; formatAttr = "digitalOceanImage"; + filename = ".qcow2.gz"; } diff --git a/formats/docker.nix b/formats/docker.nix index 6310da4..607f25a 100644 --- a/formats/docker.nix +++ b/formats/docker.nix @@ -11,5 +11,5 @@ services.journald.console = "/dev/console"; formatAttr = "tarball"; - filename = "*.tar.xz"; + filename = ".tar.xz"; } diff --git a/formats/gce.nix b/formats/gce.nix index 587d5a6..cb8bf3b 100644 --- a/formats/gce.nix +++ b/formats/gce.nix @@ -4,4 +4,5 @@ ]; formatAttr = "googleComputeImage"; + filename = ".raw.tar.gz"; } diff --git a/formats/hyperv.nix b/formats/hyperv.nix index 94c924b..24576dd 100644 --- a/formats/hyperv.nix +++ b/formats/hyperv.nix @@ -4,5 +4,5 @@ ]; formatAttr = "hypervImage"; - filename = "*.vhdx"; + filename = ".vhdx"; } diff --git a/formats/install-iso-hyperv.nix b/formats/install-iso-hyperv.nix index 30f1889..d5a5fd5 100644 --- a/formats/install-iso-hyperv.nix +++ b/formats/install-iso-hyperv.nix @@ -13,5 +13,5 @@ virtualisation.hypervGuest.enable = true; formatAttr = "isoImage"; - filename = "*.iso"; + filename = ".iso"; } diff --git a/formats/install-iso.nix b/formats/install-iso.nix index bc788b6..603a944 100644 --- a/formats/install-iso.nix +++ b/formats/install-iso.nix @@ -13,5 +13,5 @@ systemd.services.sshd.wantedBy = lib.mkForce ["multi-user.target"]; formatAttr = "isoImage"; - filename = "*.iso"; + filename = ".iso"; } diff --git a/formats/iso.nix b/formats/iso.nix index a371618..13314a3 100644 --- a/formats/iso.nix +++ b/formats/iso.nix @@ -14,5 +14,5 @@ isoImage.makeUsbBootable = true; formatAttr = "isoImage"; - filename = "*.iso"; + filename = ".iso"; } diff --git a/formats/kubevirt.nix b/formats/kubevirt.nix index aff34c8..628a0c3 100644 --- a/formats/kubevirt.nix +++ b/formats/kubevirt.nix @@ -4,4 +4,5 @@ ]; formatAttr = "kubevirtImage"; + filename = ".qcow2"; } diff --git a/formats/linode.nix b/formats/linode.nix index 75d31d6..6639953 100644 --- a/formats/linode.nix +++ b/formats/linode.nix @@ -10,7 +10,7 @@ ]; formatAttr = "linode"; - filename = "*.img.gz"; + filename = ".img.gz"; system.build.linode = import "${toString modulesPath}/../lib/make-disk-image.nix" { inherit lib config pkgs; diff --git a/formats/lxc-metadata.nix b/formats/lxc-metadata.nix index f0bed97..a6ed26a 100644 --- a/formats/lxc-metadata.nix +++ b/formats/lxc-metadata.nix @@ -9,5 +9,5 @@ ]; formatAttr = "metadata"; - filename = "*/tarball/*.tar.xz"; + filename = ".tar.xz"; } diff --git a/formats/lxc.nix b/formats/lxc.nix index 4a84ec6..77b1fe2 100644 --- a/formats/lxc.nix +++ b/formats/lxc.nix @@ -10,5 +10,5 @@ ]; formatAttr = "tarball"; - filename = "*/tarball/*.tar.xz"; + filename = ".tar.xz"; } diff --git a/formats/openstack.nix b/formats/openstack.nix index 76405ca..9c08710 100644 --- a/formats/openstack.nix +++ b/formats/openstack.nix @@ -16,4 +16,5 @@ else { "${toString modulesPath}/../maintainers/scripts/openstack/openstack-image.nix" ]; formatAttr = "openstackImage"; + filename = ".qcow2"; } diff --git a/formats/proxmox-lxc.nix b/formats/proxmox-lxc.nix index 2785931..722fb19 100644 --- a/formats/proxmox-lxc.nix +++ b/formats/proxmox-lxc.nix @@ -3,5 +3,5 @@ "${toString modulesPath}/virtualisation/proxmox-lxc.nix" ]; formatAttr = "tarball"; - filename = "*/tarball/*.tar.xz"; + filename = ".tar.xz"; } diff --git a/formats/proxmox.nix b/formats/proxmox.nix index 198aa14..9a41f2d 100644 --- a/formats/proxmox.nix +++ b/formats/proxmox.nix @@ -3,4 +3,5 @@ "${toString modulesPath}/virtualisation/proxmox-image.nix" ]; formatAttr = "VMA"; + filename = ".vma.zst"; } diff --git a/formats/qcow.nix b/formats/qcow.nix index e2f18d6..f76118a 100644 --- a/formats/qcow.nix +++ b/formats/qcow.nix @@ -35,4 +35,5 @@ }; formatAttr = "qcow"; + filename = ".qcow2"; } diff --git a/formats/raw.nix b/formats/raw.nix index 82ff737..92fcdfe 100644 --- a/formats/raw.nix +++ b/formats/raw.nix @@ -26,5 +26,5 @@ }; formatAttr = "raw"; - filename = "*.img"; + filename = ".img"; } diff --git a/formats/virtualbox.nix b/formats/virtualbox.nix index 38de997..45e8088 100644 --- a/formats/virtualbox.nix +++ b/formats/virtualbox.nix @@ -4,5 +4,5 @@ ]; formatAttr = "virtualBoxOVA"; - filename = "*.ova"; + filename = ".ova"; } diff --git a/formats/vmware.nix b/formats/vmware.nix index a583d5c..ace9505 100644 --- a/formats/vmware.nix +++ b/formats/vmware.nix @@ -4,4 +4,5 @@ ]; formatAttr = "vmwareImage"; + filename = ".vmdk"; } diff --git a/nixos-generate b/nixos-generate index d3adbb2..9b858fc 100755 --- a/nixos-generate +++ b/nixos-generate @@ -169,7 +169,7 @@ out=$(nix-build "${nix_args[@]}" "${nix_build_args[@]}" -A "config.system.build. if [[ -z $run ]]; then # show the first file, ignoring nix-support - find "$out" -wholename "$filename" -xtype f -print -quit + find "$out" -name "*$filename" -xtype f -print -quit else runner=$(find "$out"/bin -type l -print -quit) exec "$runner"