useless_has_attr

This commit is contained in:
mjallen18
2026-04-05 14:29:24 -05:00
parent c439495d7a
commit 159ad4cb83
24 changed files with 34 additions and 43 deletions

View File

@@ -1,7 +1,7 @@
{ inputs, ... }@args:
let
# Get self from args or default to ../.. (the flake root)
self = if args ? self then args.self else ../..;
self = args.self or ../..;
inherit (inputs.nixpkgs.lib)
genAttrs

View File

@@ -31,8 +31,8 @@ let
applyVariantOnce =
selected: variant:
let
vVars = if variant ? variables then variant.variables else { };
vSrcs = if variant ? sources then variant.sources else { };
vVars = variant.variables or { };
vSrcs = variant.sources or { };
in
{
variables = selected.variables // vVars;
@@ -47,8 +47,8 @@ let
else
let
p = variant.platforms.${system};
pVars = if p ? variables then p.variables else { };
pSrcs = if p ? sources then p.sources else { };
pVars = p.variables or { };
pSrcs = p.sources or { };
in
{
variables = selected.variables // pVars;
@@ -93,7 +93,7 @@ let
mkSrcFromRendered' =
pkgs': comp:
let
fetcher = if comp ? fetcher then comp.fetcher else "none";
fetcher = comp.fetcher or "none";
in
if fetcher == "github" then
pkgs'.fetchFromGitHub (
@@ -102,7 +102,7 @@ let
repo = comp.repo;
# Allow tag as rev (ignore null/empty tag)
rev = if comp ? tag && comp.tag != null && comp.tag != "" then comp.tag else comp.rev;
fetchSubmodules = if comp ? submodules then comp.submodules else false;
fetchSubmodules = comp.submodules or false;
hash = comp.hash;
}
// lib.optionalAttrs (comp ? name) { name = comp.name; }
@@ -111,12 +111,12 @@ let
pkgs'.fetchgit {
url = comp.url;
rev = comp.rev;
fetchSubmodules = if comp ? submodules then comp.submodules else false;
fetchSubmodules = comp.submodules or false;
hash = comp.hash;
}
else if fetcher == "url" then
let
url = if comp ? url then comp.url else comp.urlTemplate;
url = comp.url or comp.urlTemplate;
in
if useFetchZip comp then
pkgs'.fetchzip (
@@ -155,14 +155,10 @@ rec {
selectVariant =
spec: variantName: system:
let
chosen =
if variantName != null then
variantName
else
(if spec ? defaultVariant then spec.defaultVariant else null);
chosen = if variantName != null then variantName else (spec.defaultVariant or null);
baseSelected = {
variables = if spec ? variables then spec.variables else { };
sources = if spec ? sources then spec.sources else { };
variables = spec.variables or { };
sources = spec.sources or { };
};
in
resolveVariant spec baseSelected chosen system;

View File

@@ -18,7 +18,7 @@ let
in
stdenv.mkDerivation {
pname = "arm-trusted-firmware";
version = if fw ? tag then fw.tag else fw.rev;
version = fw.tag or fw.rev;
src = sources.fw;

View File

@@ -13,7 +13,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.anycubic;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.bambu_lab;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.bedjet;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.ge_home;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.govee;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.icloud3;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.llama_conversation;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.mail_and_packages;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.nanokvm;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
# python-nanokvm must be built against HA's Python interpreter.
# Re-use the source from its own version.json to avoid duplication.
@@ -26,10 +26,7 @@ let
python-nanokvm = python3Packages.buildPythonPackage {
pname = "nanokvm";
version =
if nanokvm-selected.sources."python-nanokvm" ? tag then
nanokvm-selected.sources."python-nanokvm".tag
else
nanokvm-selected.sources."python-nanokvm".rev;
nanokvm-selected.sources."python-nanokvm".tag or nanokvm-selected.sources."python-nanokvm".rev;
format = "pyproject";
src = nanokvm-sources."python-nanokvm";

View File

@@ -14,7 +14,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.openhasp;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -13,7 +13,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.overseerr;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -13,7 +13,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.petlibro;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -13,7 +13,7 @@ let
selected = selectVariant versionSpec null null;
sources = mkAllSources pkgs selected;
src-meta = selected.sources.wyzeapi;
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
in
buildHomeAssistantComponent {
owner = src-meta.owner;

View File

@@ -16,7 +16,7 @@ let
in
appimageTools.wrapType2 {
pname = "moondeck-buddy";
version = if moondeck-buddy ? tag then moondeck-buddy.tag else moondeck-buddy.rev;
version = moondeck-buddy.tag or moondeck-buddy.rev;
src = sources.moondeck-buddy;

View File

@@ -16,7 +16,7 @@ let
in
python3Packages.buildPythonPackage {
pname = "comfy-aimdo";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "pyproject";
src = sources."comfy-aimdo";

View File

@@ -16,7 +16,7 @@ let
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "magicattr";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "setuptools";
src = sources.magicattr;

View File

@@ -16,7 +16,7 @@ let
in
python3Packages.buildPythonPackage {
pname = "pipewire-python";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "pyproject";
src = sources."pipewire-python";

View File

@@ -16,7 +16,7 @@ let
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "pyoverseerr";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "setuptools";
src = sources.pyoverseerr;

View File

@@ -16,7 +16,7 @@ let
in
python3Packages.buildPythonPackage {
pname = "nanokvm";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "pyproject";
src = sources."python-nanokvm";

View File

@@ -16,7 +16,7 @@ let
in
home-assistant.python.pkgs.buildPythonPackage {
pname = "wyzeapy";
version = if src-meta ? tag then src-meta.tag else src-meta.rev;
version = src-meta.tag or src-meta.rev;
format = "pyproject";
src = sources.wyzeapy;

View File

@@ -4,14 +4,12 @@
# useless_parens: many intentional parentheses for readability.
# empty_pattern: { ... }: is a valid and readable no-arg pattern.
# unquoted_uri: false-positives inside shell heredocs in Nix strings.
# useless_has_attr: if/has-attr patterns are sometimes clearer.
disabled = [
"manual_inherit",
"manual_inherit_from",
"useless_parens",
"empty_pattern",
"unquoted_uri",
"useless_has_attr",
]
# Exclude files where statix's parser fails on complex shell-in-Nix content.