mirror of
https://github.com/TECHNOFAB11/disko.git
synced 2025-12-12 16:10:03 +01:00
Merge #146
146: style: Add config for style normalisation and re-apply r=Lassulus a=cscutcher Co-authored-by: Chris Scutcher <chris@scutcher.uk>
This commit is contained in:
commit
9afae0ba36
20 changed files with 73 additions and 47 deletions
|
|
@ -16,7 +16,7 @@ let
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
inherit types;
|
types = types;
|
||||||
create = cfg: types.diskoLib.create (eval cfg).config.devices;
|
create = cfg: types.diskoLib.create (eval cfg).config.devices;
|
||||||
createScript = cfg: pkgs: pkgs.writeScript "disko-create" ''
|
createScript = cfg: pkgs: pkgs.writeScript "disko-create" ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
|
||||||
2
doc.nix
2
doc.nix
|
|
@ -19,7 +19,7 @@ let
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
options = nixosOptionsDoc {
|
options = nixosOptionsDoc {
|
||||||
inherit (eval) options;
|
options = eval.options;
|
||||||
};
|
};
|
||||||
md = (runCommand "disko-options.md" { } ''
|
md = (runCommand "disko-options.md" { } ''
|
||||||
cat >$out <<EOF
|
cat >$out <<EOF
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "partition";
|
type = "partition";
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "partition";
|
type = "partition";
|
||||||
|
|
|
||||||
|
|
@ -35,12 +35,12 @@
|
||||||
};
|
};
|
||||||
# Mountpoints inferred from subvolume name
|
# Mountpoints inferred from subvolume name
|
||||||
"/home" = {
|
"/home" = {
|
||||||
mountOptions = ["compress=zstd"];
|
mountOptions = [ "compress=zstd" ];
|
||||||
};
|
};
|
||||||
"/nix" = {
|
"/nix" = {
|
||||||
mountOptions = ["compress=zstd" "noatime"];
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
};
|
};
|
||||||
"/test" = {};
|
"/test" = { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
start = "1024MiB";
|
start = "1024MiB";
|
||||||
end = "100%";
|
end = "100%";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
content = {
|
content = {
|
||||||
type = "luks";
|
type = "luks";
|
||||||
name = "crypted";
|
name = "crypted";
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "root";
|
name = "root";
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
type = "partition";
|
type = "partition";
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "partition";
|
type = "partition";
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "partition";
|
type = "partition";
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
type = "partition";
|
type = "partition";
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{ pkgs
|
||||||
pkgs,
|
, lib
|
||||||
lib,
|
, ...
|
||||||
...
|
}:
|
||||||
}: let
|
let
|
||||||
# We just import from the repository for testing here:
|
# We just import from the repository for testing here:
|
||||||
disko = import ../../. {
|
disko = import ../../. {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
|
|
@ -41,7 +41,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
(disko.config cfg)
|
(disko.config cfg)
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Example to create a bios compatible gpt partition
|
# Example to create a bios compatible gpt partition
|
||||||
{ disks ? [ "/dev/vdb" ], lib, ... }: {
|
{ disks ? [ "/dev/vdb" ], lib, ... }: {
|
||||||
disk = lib.genAttrs [ (lib.head disks) ] (device: {
|
disk = lib.genAttrs [ (lib.head disks) ] (device: {
|
||||||
inherit device;
|
device = device;
|
||||||
type = "disk";
|
type = "disk";
|
||||||
content = {
|
content = {
|
||||||
type = "table";
|
type = "table";
|
||||||
|
|
@ -13,7 +13,7 @@
|
||||||
start = "0";
|
start = "0";
|
||||||
end = "1M";
|
end = "1M";
|
||||||
part-type = "primary";
|
part-type = "primary";
|
||||||
flags = ["bios_grub"];
|
flags = [ "bios_grub" ];
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
name = "root";
|
name = "root";
|
||||||
|
|
|
||||||
17
flake.nix
17
flake.nix
|
|
@ -57,5 +57,22 @@
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
nixosTests // { inherit shellcheck; });
|
nixosTests // { inherit shellcheck; });
|
||||||
|
formatter = forAllSystems (system:
|
||||||
|
let
|
||||||
|
pkgs = nixpkgs.legacyPackages.${system};
|
||||||
|
in
|
||||||
|
pkgs.writeShellApplication {
|
||||||
|
name = "normalise_nix";
|
||||||
|
runtimeInputs = with pkgs; [
|
||||||
|
nixpkgs-fmt
|
||||||
|
statix
|
||||||
|
];
|
||||||
|
text = ''
|
||||||
|
set -o xtrace
|
||||||
|
nixpkgs-fmt "$@"
|
||||||
|
statix fix "$@"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
let
|
let
|
||||||
types = import ./types {
|
types = import ./types {
|
||||||
inherit lib;
|
inherit lib;
|
||||||
inherit (config.disko) rootMountPoint;
|
rootMountPoint = config.disko.rootMountPoint;
|
||||||
};
|
};
|
||||||
cfg = config.disko;
|
cfg = config.disko;
|
||||||
in
|
in
|
||||||
|
|
|
||||||
4
statix.toml
Normal file
4
statix.toml
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
disabled = [
|
||||||
|
"manual_inherit", # Prefer `inherit types;` instead of `types = types;`
|
||||||
|
"manual_inherit_from", # Prefer `inherit (eval) options;` instead of `options = eval.options`.
|
||||||
|
]
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
, makeDiskoTest ? (pkgs.callPackage ./lib.nix { }).makeDiskoTest
|
, makeDiskoTest ? (pkgs.callPackage ./lib.nix { }).makeDiskoTest
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
linux-bcachefs = pkgs.callPackage ../linux-testing-bcachefs.nix {};
|
linux-bcachefs = pkgs.callPackage ../linux-testing-bcachefs.nix { };
|
||||||
in
|
in
|
||||||
makeDiskoTest {
|
makeDiskoTest {
|
||||||
disko-config = ../example/bcachefs.nix;
|
disko-config = ../example/bcachefs.nix;
|
||||||
|
|
@ -14,11 +14,13 @@ makeDiskoTest {
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
boot.supportedFilesystems = [ "bcachefs" ];
|
boot.supportedFilesystems = [ "bcachefs" ];
|
||||||
# disable zfs so we can support latest kernel
|
# disable zfs so we can support latest kernel
|
||||||
nixpkgs.overlays = [(final: super: {
|
nixpkgs.overlays = [
|
||||||
zfs = super.zfs.overrideAttrs(_: {
|
(final: super: {
|
||||||
meta.platforms = [];
|
zfs = super.zfs.overrideAttrs (_: {
|
||||||
});
|
meta.platforms = [ ];
|
||||||
})];
|
});
|
||||||
|
})
|
||||||
|
];
|
||||||
boot.kernelPackages = pkgs.lib.mkForce (pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor linux-bcachefs));
|
boot.kernelPackages = pkgs.lib.mkForce (pkgs.recurseIntoAttrs (pkgs.linuxPackagesFor linux-bcachefs));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,17 @@
|
||||||
, pkgs ? (import <nixpkgs> { })
|
, pkgs ? (import <nixpkgs> { })
|
||||||
}@args:
|
}@args:
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
lib = pkgs.lib;
|
||||||
inherit ((pkgs.callPackage ./lib.nix { inherit makeTest eval-config; })) makeDiskoTest;
|
makeDiskoTest = (pkgs.callPackage ./lib.nix { inherit makeTest eval-config; }).makeDiskoTest;
|
||||||
|
|
||||||
evalTest = name: configFile: let
|
evalTest = name: configFile:
|
||||||
disko-config = import configFile;
|
let
|
||||||
in {
|
disko-config = import configFile;
|
||||||
"${name}-tsp-create" = pkgs.writeScript "create" ((pkgs.callPackage ../. { }).create disko-config);
|
in
|
||||||
"${name}-tsp-mount" = pkgs.writeScript "mount" ((pkgs.callPackage ../. { }).mount disko-config);
|
{
|
||||||
};
|
"${name}-tsp-create" = pkgs.writeScript "create" ((pkgs.callPackage ../. { }).create disko-config);
|
||||||
|
"${name}-tsp-mount" = pkgs.writeScript "mount" ((pkgs.callPackage ../. { }).mount disko-config);
|
||||||
|
};
|
||||||
|
|
||||||
allTestFilenames =
|
allTestFilenames =
|
||||||
builtins.map (lib.removeSuffix ".nix") (
|
builtins.map (lib.removeSuffix ".nix") (
|
||||||
|
|
@ -21,8 +23,8 @@ let
|
||||||
);
|
);
|
||||||
|
|
||||||
allTests = lib.genAttrs allTestFilenames (test: import (./. + "/${test}.nix") { inherit makeDiskoTest pkgs; }) //
|
allTests = lib.genAttrs allTestFilenames (test: import (./. + "/${test}.nix") { inherit makeDiskoTest pkgs; }) //
|
||||||
evalTest "lvm-luks-example" ../example/config.nix // {
|
evalTest "lvm-luks-example" ../example/config.nix // {
|
||||||
standalone = (pkgs.nixos [ ../example/stand-alone/configuration.nix ]).config.system.build.toplevel;
|
standalone = (pkgs.nixos [ ../example/stand-alone/configuration.nix ]).config.system.build.toplevel;
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
allTests
|
allTests
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
, testBoot ? true # if we actually want to test booting or just create/mount
|
, testBoot ? true # if we actually want to test booting or just create/mount
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (pkgs) lib;
|
lib = pkgs.lib;
|
||||||
makeTest' = args:
|
makeTest' = args:
|
||||||
makeTest args {
|
makeTest args {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
documentation.enable = false;
|
documentation.enable = false;
|
||||||
|
|
||||||
nix.settings = {
|
nix.settings = {
|
||||||
substituters = lib.mkForce [];
|
substituters = lib.mkForce [ ];
|
||||||
hashed-mirrors = null;
|
hashed-mirrors = null;
|
||||||
connect-timeout = 1;
|
connect-timeout = 1;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -189,7 +189,7 @@ rec {
|
||||||
internal = true;
|
internal = true;
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
type = lib.types.functionTo diskoLib.jsonType;
|
type = lib.types.functionTo diskoLib.jsonType;
|
||||||
inherit (attrs) default;
|
default = attrs.default;
|
||||||
description = "Mount script";
|
description = "Mount script";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -327,7 +327,7 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
subTypes = lib.mapAttrs (_: diskoLib.mkSubType) {
|
subTypes = lib.mapAttrs (_: diskoLib.mkSubType) {
|
||||||
nodev = ./nodev.nix;
|
nodev = ./nodev.nix;
|
||||||
btrfs = ./btrfs.nix;
|
btrfs = ./btrfs.nix;
|
||||||
btrfs_subvol = ./btrfs_subvol.nix;
|
btrfs_subvol = ./btrfs_subvol.nix;
|
||||||
filesystem = ./filesystem.nix;
|
filesystem = ./filesystem.nix;
|
||||||
|
|
@ -343,6 +343,6 @@ rec {
|
||||||
mdadm = ./mdadm.nix;
|
mdadm = ./mdadm.nix;
|
||||||
mdraid = ./mdraid.nix;
|
mdraid = ./mdraid.nix;
|
||||||
luks = ./luks.nix;
|
luks = ./luks.nix;
|
||||||
disk = ./disk.nix;
|
disk = ./disk.nix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
vgchange -a y
|
vgchange -a y
|
||||||
${lib.concatMapStrings (x: x.dev or "") (lib.attrValues lvMounts)}
|
${lib.concatMapStrings (x: x.dev or "") (lib.attrValues lvMounts)}
|
||||||
'';
|
'';
|
||||||
inherit (lvMounts) fs;
|
fs = lvMounts.fs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
_config = lib.mkOption {
|
_config = lib.mkOption {
|
||||||
|
|
|
||||||
|
|
@ -54,8 +54,8 @@
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
default = [{
|
default = [{
|
||||||
fileSystems.${config.mountpoint} = {
|
fileSystems.${config.mountpoint} = {
|
||||||
inherit (config) device;
|
device = config.device;
|
||||||
inherit (config) fsType;
|
fsType = config.fsType;
|
||||||
options = config.mountOptions;
|
options = config.mountOptions;
|
||||||
};
|
};
|
||||||
}];
|
}];
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
default = dev: [{
|
default = dev: [{
|
||||||
swapDevices = [{
|
swapDevices = [{
|
||||||
device = dev;
|
device = dev;
|
||||||
inherit (config) randomEncryption;
|
randomEncryption = config.randomEncryption;
|
||||||
}];
|
}];
|
||||||
}];
|
}];
|
||||||
description = "NixOS configuration";
|
description = "NixOS configuration";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue