Images: - laptopUpstream: bare OS install with AHCI, no templates - laptopSlim: essentials only (debloat, registry tweaks) - laptop: full (essentials + all apps) - win10/win11 images use rec for self-references CLI: - preserve recovery partition (4) during disk copy - expand partition 3 up to partition 4 boundary - remove VNC CLI flag (use vncDisplay in nix configs instead) Flake: - add devShell with vmix alias and PS1 prompt Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.3 KiB
Nix
46 lines
1.3 KiB
Nix
{
|
|
description = "vmix — composable QEMU VM image building and orchestration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, ... }:
|
|
let
|
|
system = "x86_64-linux";
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config.allowUnfree = true;
|
|
};
|
|
lib = pkgs.lib;
|
|
vmixLib = import ./lib { inherit pkgs lib system; };
|
|
in {
|
|
overlays.default = import ./overlay.nix;
|
|
|
|
nixosModules.default = import ./module.nix;
|
|
|
|
lib.${system} = vmixLib;
|
|
|
|
packages.${system}.default = import ./cli.nix { inherit pkgs self system; };
|
|
|
|
apps.${system}.default = {
|
|
type = "app";
|
|
program = "${self.packages.${system}.default}/bin/vmix";
|
|
};
|
|
|
|
devShells.${system}.default = pkgs.mkShell {
|
|
shellHook = ''
|
|
# vmix CLI available as local flake
|
|
export VMIX_FLAKE="path:$PWD"
|
|
alias vmix='nix run "$VMIX_FLAKE" --'
|
|
|
|
# bash prompt
|
|
PROMPT_COMMAND='PS1_CMD1=$(git branch --show-current 2>/dev/null)'; PS1='\[\e[1;7m\]$?\[\e[0m\] \[\e[2m\]\A\[\e[0m\] \[\e[91m\]\u@\h\[\e[0m\] \[\e[92;1m\]\w\[\e[0m\] \[\e[96m\]''${PS1_CMD1}\[\e[0m\] \[\e[1;2m\]$\[\e[0;1m\] \[\e[0m\]'
|
|
'';
|
|
buildInputs = with pkgs; [
|
|
bashInteractive
|
|
git
|
|
];
|
|
};
|
|
};
|
|
}
|