2023 update : This project is now deprecated. I moved away from Proxmox and NixOps because it is difficult to maintain the desired guarantees in those ecosystems with the way Nixpkgs is moving. If you are still interested into professional solutions for Proxmox with NixOS, please reach out to me, I have much better ideas on how to achieve interesting results with Proxmox and declarative state, unfortunately, it is hard to work on nixops-proxmox and NixOps (and sometimes even Proxmox!) at the same time. I decided to go for https://github.com/astro/microvm.nix for the future of my infrastructure while taking the problem in the other direction: make Nix expressions easy to manipulate from a web UI rather than making state be manipulated by Nix expression and an diffing engine.
This plugin enable you to deploy and provision NixOS machines on a Proxmox node, with full control over the parameters of the virtual machine.
Warning : It is highly unstable and being developed right now. You can see what's lacking at the bottom of this README. Do not use in production.
2020 NixCon : A demo will be available shorty after the talk, here and on the talk URL: https://cfp.nixcon.org/nixcon2020/talk/7RKBTE/
You would have to copy a proxmox-info-example.nix file to tailor to your Proxmox cluster.
Then, you can try any example which relies on a proxmox-info.nix using classical nixops deploy.
Destroy is mostly safe in the sense it will destroy only the created VMID.
nix-shell shell.nix # Get you in a shell with most of the dependencies.
poetry shell # Get you what you need.
nixops list-plugins # Ensure, proxmox is listed here.
# Go hack on it!
Nice to have but unknown : Skip the install phase and copy closure on /mnt directly from the live CD, so that we directly reboot on NixOS.
High priority :
pvesh when giving too much arguments.fileSystems generation through a better partitioning mechanism (<3)autoLuks for example).Medium priority :
Low priority :
proxmox-ct machine definition)10 commits
1 commits
Python
71.4%
Nix
24.2%
Shell
3.6%
2023 update : This project is now deprecated. I moved away from Proxmox and NixOps because it is difficult to maintain the desired guarantees in those ecosystems with the way Nixpkgs is moving. If you are still interested into professional solutions for Proxmox with NixOS, please reach out to me, I have much better ideas on how to achieve interesting results with Proxmox and declarative state, unfortunately, it is hard to work on nixops-proxmox and NixOps (and sometimes even Proxmox!) at the same time. I decided to go for https://github.com/astro/microvm.nix for the future of my infrastructure while taking the problem in the other direction: make Nix expressions easy to manipulate from a web UI rather than making state be manipulated by Nix expression and an diffing engine.
This plugin enable you to deploy and provision NixOS machines on a Proxmox node, with full control over the parameters of the virtual machine.
Warning : It is highly unstable and being developed right now. You can see what's lacking at the bottom of this README. Do not use in production.
2020 NixCon : A demo will be available shorty after the talk, here and on the talk URL: https://cfp.nixcon.org/nixcon2020/talk/7RKBTE/
You would have to copy a proxmox-info-example.nix file to tailor to your Proxmox cluster.
Then, you can try any example which relies on a proxmox-info.nix using classical nixops deploy.
Destroy is mostly safe in the sense it will destroy only the created VMID.
nix-shell shell.nix # Get you in a shell with most of the dependencies.
poetry shell # Get you what you need.
nixops list-plugins # Ensure, proxmox is listed here.
# Go hack on it!
Nice to have but unknown : Skip the install phase and copy closure on /mnt directly from the live CD, so that we directly reboot on NixOS.
High priority :
pvesh when giving too much arguments.fileSystems generation through a better partitioning mechanism (<3)autoLuks for example).Medium priority :
Low priority :
proxmox-ct machine definition)10 commits
1 commits
Python
71.4%
Nix
24.2%
Shell
3.6%