style: Disable inherit pattern check in statix

As discussed in [this
comment](https://github.com/nix-community/disko/pull/143#discussion_r1097912402),
as a blanket rule converting everything possible to `inherit` like
statements can hurt readability.

Add config file for statix to disable these checks and fixes, then rerun
the autofix with these options.
This commit is contained in:
Chris Scutcher 2023-02-07 15:37:12 +00:00
parent 08435eec4b
commit 4ba8181319
No known key found for this signature in database
GPG key ID: 19C0BED130CD39CE
11 changed files with 16 additions and 12 deletions

View file

@ -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

View file

@ -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

View file

@ -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";

View file

@ -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
View 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`.
]

View file

@ -3,8 +3,8 @@
, 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: let
disko-config = import configFile; disko-config = import configFile;

View file

@ -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;

View file

@ -187,7 +187,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";
}; };

View file

@ -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 {

View file

@ -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;
}; };
}]; }];

View file

@ -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";