forked from clan/clan-core
Merge pull request 'install-iso: use disko.makeDiskImage' (#54) from lassulus-disko-installer into main
This commit is contained in:
commit
461bd84205
@ -1,26 +1,25 @@
|
||||
{
|
||||
perSystem =
|
||||
{ config
|
||||
, pkgs
|
||||
{ pkgs
|
||||
, self'
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
name = builtins.baseNameOf ./.;
|
||||
script = config.writers.writePureShellScriptBin
|
||||
name
|
||||
[
|
||||
script = pkgs.writeShellApplication {
|
||||
inherit name;
|
||||
runtimeInputs = [
|
||||
pkgs.bash
|
||||
pkgs.coreutils
|
||||
pkgs.git
|
||||
pkgs.tea
|
||||
pkgs.openssh
|
||||
self'.packages.tea-create-pr
|
||||
]
|
||||
''
|
||||
export EDITOR=${pkgs.vim}/bin/vim
|
||||
];
|
||||
text = ''
|
||||
bash ${./script.sh} "$@"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.${name} = script;
|
||||
|
@ -6,11 +6,12 @@
|
||||
modules = [
|
||||
self.nixosModules.installer
|
||||
self.inputs.nixos-generators.nixosModules.all-formats
|
||||
self.inputs.disko.nixosModules.disko
|
||||
];
|
||||
};
|
||||
in
|
||||
{
|
||||
install-iso = installer.config.formats.install-iso;
|
||||
install-iso = self.inputs.disko.lib.lib.makeDiskImage { nixosConfig = installer; };
|
||||
install-vm-nogui = installer.config.formats.vm-nogui;
|
||||
install-vm = installer.config.formats.vm;
|
||||
};
|
||||
|
@ -1,24 +1,24 @@
|
||||
{
|
||||
perSystem =
|
||||
{ config
|
||||
, pkgs
|
||||
{ pkgs
|
||||
, ...
|
||||
}:
|
||||
let
|
||||
name = builtins.baseNameOf ./.;
|
||||
script = config.writers.writePureShellScriptBin
|
||||
name
|
||||
[
|
||||
script = pkgs.writeShellApplication {
|
||||
inherit name;
|
||||
runtimeInputs = [
|
||||
pkgs.bash
|
||||
pkgs.coreutils
|
||||
pkgs.git
|
||||
pkgs.tea
|
||||
pkgs.openssh
|
||||
]
|
||||
''
|
||||
];
|
||||
text = ''
|
||||
export EDITOR=${pkgs.vim}/bin/vim
|
||||
bash ${./script.sh} "$@"
|
||||
'';
|
||||
};
|
||||
in
|
||||
{
|
||||
packages.${name} = script;
|
||||
|
21
flake.lock
21
flake.lock
@ -1,5 +1,25 @@
|
||||
{
|
||||
"nodes": {
|
||||
"disko": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690548222,
|
||||
"narHash": "sha256-EcVjLOpbAuL/y55fLlEl3BNM4FP5Pwtp+6DbTiL6FDM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "43f17a8b31c49f6696b8b258d317161afdc7e36b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@ -74,6 +94,7 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"disko": "disko",
|
||||
"flake-parts": "flake-parts",
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs",
|
||||
|
@ -3,6 +3,8 @@
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
disko.url = "github:nix-community/disko";
|
||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||
nixos-generators.url = "github:nix-community/nixos-generators";
|
||||
nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
|
@ -1,10 +1,16 @@
|
||||
{ lib
|
||||
, pkgs
|
||||
, modulesPath
|
||||
, ...
|
||||
}: {
|
||||
systemd.tmpfiles.rules = [
|
||||
"d /var/shared 0777 root root - -"
|
||||
];
|
||||
imports = [
|
||||
(modulesPath + "/profiles/installation-device.nix")
|
||||
(modulesPath + "/profiles/all-hardware.nix")
|
||||
(modulesPath + "/profiles/base.nix")
|
||||
];
|
||||
services.openssh.settings.PermitRootLogin = "yes";
|
||||
system.activationScripts.root-password = ''
|
||||
mkdir -p /var/shared
|
||||
@ -34,7 +40,41 @@
|
||||
cat /var/shared/qrcode.utf8
|
||||
fi
|
||||
'';
|
||||
formatConfigs.install-iso = {
|
||||
isoImage.squashfsCompression = "zstd -Xcompression-level 1";
|
||||
boot.loader.grub.efiInstallAsRemovable = true;
|
||||
boot.loader.grub.efiSupport = true;
|
||||
disko.devices = {
|
||||
disk = {
|
||||
stick = {
|
||||
type = "disk";
|
||||
device = "/vda";
|
||||
imageSize = "3G";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
boot = {
|
||||
size = "1M";
|
||||
type = "EF02"; # for grub MBR
|
||||
};
|
||||
ESP = {
|
||||
size = "100M";
|
||||
type = "EF00";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user