Compare commits

...

2 Commits

Author SHA1 Message Date
Hektor Misplon 97d3e9cf81 Update NixOS readme 2025-10-05 12:58:45 +02:00
Hektor Misplon 33e04b631a Use disko 'single-disk-ext4' template for vm host 2025-10-05 12:58:31 +02:00
5 changed files with 60 additions and 17 deletions

View File

@ -1,9 +1,15 @@
# nixos
My NixOS config
## Set up virtual machine ([`disko`](https://github.com/nix-community/disko/blob/master/docs/interactive-vm.md))
1. Build the virtual machine
```
git clone https://git.hektormisplon.xyz/hektor/nix.git
cd nix
sudo nix --experimental-features "nix-command flakes" run 'github:nix-community/disko/latest#disko-install' -- --flake .#vm --disk root /dev/vda
nix run -L '.#nixosConfigurations.vm.config.system.build.vmWithDisko'
```
2. Run the virtual machine
```
QEMU_KERNEL_PARAMS=console=ttyS0 ./result/bin/run-nixos-vm -nographic; reset
```

View File

@ -44,11 +44,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1759439645,
"narHash": "sha256-oiAyQaRilPk525Z5aTtTNWNzSrcdJ7IXM0/PL3CGlbI=",
"lastModified": 1759580034,
"narHash": "sha256-YWo57PL7mGZU7D4WeKFMiW4ex/O6ZolUS6UNBHTZfkI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "879bd460b3d3e8571354ce172128fbcbac1ed633",
"rev": "3bcc93c5f7a4b30335d31f21e2f1281cba68c318",
"type": "github"
},
"original": {

View File

@ -17,8 +17,8 @@
nixosConfigurations.vm = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./hosts/vm/configuration.nix
disko.nixosModules.disko
./hosts/vm/configuration.nix
home-manager.nixosModules.home-manager {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;

View File

@ -18,15 +18,11 @@
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# These are needed for ZFS
# virtualisation.vmVariantWithDisko = {
# virtualisation.fileSystems."/".neededForBoot = true;
# };
networking.hostId = "25698a58";
# https://discourse.nixos.org/t/zfs-with-disko-faluire-to-import-zfs-pool/61988/3
boot = {
zfs = {
devNodes = "/dev/disk/by-uuid";
};
};
disko.devices.disk.main.device = "/dev/vda";
programs.git.enable = true;
programs.firefox.enable = true;

View File

@ -1 +1,42 @@
import ../../modules/disko.zfs-encrypted-root.nix
# USAGE in your configuration.nix.
# Update devices to match your hardware.
# {
# imports = [ ./disko-config.nix ];
# disko.devices.disk.main.device = "/dev/sda";
# }
{
disko.devices = {
disk = {
main = {
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
};
ESP = {
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
root = {
size = "100%";
content = {
type = "filesystem";
format = "ext4";
mountpoint = "/";
};
};
};
};
};
};
};
}