Compare commits
	
		
			2 Commits 
		
	
	
		
			9c250f3d50
			...
			97d3e9cf81
		
	
	| Author | SHA1 | Date | 
|---|---|---|
| 
							
							
								
									
								
								 | 
						97d3e9cf81 | |
| 
							
							
								
									
								
								 | 
						33e04b631a | 
							
								
								
									
										14
									
								
								README.md
								
								
								
								
							
							
						
						
									
										14
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
```
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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": {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 = "/";
 | 
			
		||||
              };
 | 
			
		||||
            };
 | 
			
		||||
          };
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue