Skip to content

Conversation

@IllustratedMan-code
Copy link
Contributor

@IllustratedMan-code IllustratedMan-code commented Aug 27, 2025

Makes it easy for people who use the nix package manger to run this package.

@IllustratedMan-code
Copy link
Contributor Author

By easy, I mean that people who use nix would not have to install, they could simply run:

nix run github:Mexit/multiOS-usb -- --devices

@IllustratedMan-code
Copy link
Contributor Author

I should also note that I changed the shebang at the top of the shell script to #!/usr/bin/env bash rather than #!/bin/bash. This enables greater portability of the script (uses whatever bash is in the PATH).

@Mexit
Copy link
Owner

Mexit commented Aug 31, 2025

Cool idea. If I understand correctly, the installation on the hard drive/USB memory will be launched with a command such as:
sudo nix run github:Mexit/multiOS-usb -- -f exfat /dev/sdb
Is that right?

Can a specific version/tag be installed this way?

@quantenzitrone
Copy link

yes with github:mexit/multios-usb/<tag/rev/branch>

@IllustratedMan-code
Copy link
Contributor Author

@Mexit I believe this is in a mergeable state now. I'm happy to maintain the nix support, just send me a ping when needed.

Let me know if there is anything else you would like added. The only thing I can think of might be nix specific instructions in the readme, but any nix user who sees the flake.nix should know how to use anyway.

@Mexit
Copy link
Owner

Mexit commented Sep 9, 2025

The only thing I can think of might be nix specific instructions in the readme

I think it is worth adding this information. Preferably in the Installation section.

Will this project be visible somewhere after these changes are added? I mean, for example, the NixOS repository?

@IllustratedMan-code
Copy link
Contributor Author

I have added a Nix/NixOS section to the install instructions!

In answer to your question, no, this project will not be visible in the Nix packages repository, so won't show up in the package listings. I've added support for Nix's decentralized package model called flakes. You can think of it like how some programming languages allow you to source packages from Github instead of their package repos.

That being said, I do have plans to add this package to the nixpkgs repository which is where all the official nix package definitions are stored. This would make it show up in the package listings. I've been discussing it starting at this comment in an issue about ventoy. Seems like the consensus is that I would need to override the binaries with the nix versions for the nix community to consider it "secure". Once the pull request process is done, I would be the maintainer of MultiOS-USB in the nixpkgs repository. All I would need from you to keep it updated is a ping every so often if you release a new version or add a new binary.

Also, just an FYI, nix (the package manager) can be installed on almost any Linux distribution.

@Mexit Mexit merged commit e265974 into Mexit:master Sep 12, 2025
@Mexit
Copy link
Owner

Mexit commented Sep 12, 2025

I've added support for Nix's decentralized package model called flakes

Will these flake files need to be updated?

Seems like the consensus is that I would need to override the binaries with the nix versions for the nix community to consider it "secure"

That won't work. You would have to compile everything directly from the source code because GRUB contains patches.
Another issue is the certificates in the EFI files. Without them, you cannot run MultiOS-USB with Secure Boot enabled.

@IllustratedMan-code
Copy link
Contributor Author

Will this flake need to be updated?

Probably not very often unless the dependencies/build process change. Feel free to ping me on any related issues though, happy to maintain.

That won't work. You would have to compile everything directly from the source code because GRUB contains patches.
Another issue is the certificates in the EFI files. Without them, you cannot run MultiOS-USB with Secure Boot enabled.

Think the EFI files are fine if I put them under a toggle, so it would just be grub and mountiso that would be a problem. I'll look into it.

Thanks for merging!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants