From 159ad4cb83ee91effa381b9c474110606d348584 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Sun, 5 Apr 2026 14:29:24 -0500 Subject: [PATCH] useless_has_attr --- lib/file/default.nix | 2 +- lib/versioning/default.nix | 26 ++++++++----------- packages/arm-trusted-firmware/default.nix | 2 +- .../homeassistant/ha-anycubic/default.nix | 2 +- .../homeassistant/ha-bambulab/default.nix | 2 +- packages/homeassistant/ha-bedjet/default.nix | 2 +- packages/homeassistant/ha-gehome/default.nix | 2 +- packages/homeassistant/ha-govee/default.nix | 2 +- packages/homeassistant/ha-icloud3/default.nix | 2 +- .../homeassistant/ha-local-llm/default.nix | 2 +- .../ha-mail-and-packages/default.nix | 2 +- packages/homeassistant/ha-nanokvm/default.nix | 7 ++--- .../homeassistant/ha-openhasp/default.nix | 2 +- .../homeassistant/ha-overseerr/default.nix | 2 +- .../homeassistant/ha-petlibro/default.nix | 2 +- packages/homeassistant/ha-wyzeapi/default.nix | 2 +- packages/moondeck-buddy/default.nix | 2 +- packages/python/comfy-aimdo/default.nix | 2 +- packages/python/magicattr/default.nix | 2 +- packages/python/pipewire-python/default.nix | 2 +- packages/python/pyoverseerr/default.nix | 2 +- packages/python/python-nanokvm/default.nix | 2 +- packages/python/wyzeapy/default.nix | 2 +- statix.toml | 2 -- 24 files changed, 34 insertions(+), 43 deletions(-) diff --git a/lib/file/default.nix b/lib/file/default.nix index a0f7129..7f542d3 100644 --- a/lib/file/default.nix +++ b/lib/file/default.nix @@ -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 diff --git a/lib/versioning/default.nix b/lib/versioning/default.nix index 1a46ae6..268a3d9 100644 --- a/lib/versioning/default.nix +++ b/lib/versioning/default.nix @@ -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; diff --git a/packages/arm-trusted-firmware/default.nix b/packages/arm-trusted-firmware/default.nix index eccbdbf..910f211 100644 --- a/packages/arm-trusted-firmware/default.nix +++ b/packages/arm-trusted-firmware/default.nix @@ -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; diff --git a/packages/homeassistant/ha-anycubic/default.nix b/packages/homeassistant/ha-anycubic/default.nix index 6840147..32ea75f 100644 --- a/packages/homeassistant/ha-anycubic/default.nix +++ b/packages/homeassistant/ha-anycubic/default.nix @@ -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; diff --git a/packages/homeassistant/ha-bambulab/default.nix b/packages/homeassistant/ha-bambulab/default.nix index 5b1c419..1812e65 100644 --- a/packages/homeassistant/ha-bambulab/default.nix +++ b/packages/homeassistant/ha-bambulab/default.nix @@ -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; diff --git a/packages/homeassistant/ha-bedjet/default.nix b/packages/homeassistant/ha-bedjet/default.nix index 3fd174d..e7a5230 100644 --- a/packages/homeassistant/ha-bedjet/default.nix +++ b/packages/homeassistant/ha-bedjet/default.nix @@ -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; diff --git a/packages/homeassistant/ha-gehome/default.nix b/packages/homeassistant/ha-gehome/default.nix index aeebd73..7dc126a 100644 --- a/packages/homeassistant/ha-gehome/default.nix +++ b/packages/homeassistant/ha-gehome/default.nix @@ -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; diff --git a/packages/homeassistant/ha-govee/default.nix b/packages/homeassistant/ha-govee/default.nix index b91d430..34939cc 100644 --- a/packages/homeassistant/ha-govee/default.nix +++ b/packages/homeassistant/ha-govee/default.nix @@ -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; diff --git a/packages/homeassistant/ha-icloud3/default.nix b/packages/homeassistant/ha-icloud3/default.nix index 4771239..cc52813 100644 --- a/packages/homeassistant/ha-icloud3/default.nix +++ b/packages/homeassistant/ha-icloud3/default.nix @@ -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; diff --git a/packages/homeassistant/ha-local-llm/default.nix b/packages/homeassistant/ha-local-llm/default.nix index a10df9c..0960d56 100644 --- a/packages/homeassistant/ha-local-llm/default.nix +++ b/packages/homeassistant/ha-local-llm/default.nix @@ -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; diff --git a/packages/homeassistant/ha-mail-and-packages/default.nix b/packages/homeassistant/ha-mail-and-packages/default.nix index 03c2ce7..6af386e 100644 --- a/packages/homeassistant/ha-mail-and-packages/default.nix +++ b/packages/homeassistant/ha-mail-and-packages/default.nix @@ -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; diff --git a/packages/homeassistant/ha-nanokvm/default.nix b/packages/homeassistant/ha-nanokvm/default.nix index 86c7896..478963d 100644 --- a/packages/homeassistant/ha-nanokvm/default.nix +++ b/packages/homeassistant/ha-nanokvm/default.nix @@ -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"; diff --git a/packages/homeassistant/ha-openhasp/default.nix b/packages/homeassistant/ha-openhasp/default.nix index f84cdfc..fad1828 100644 --- a/packages/homeassistant/ha-openhasp/default.nix +++ b/packages/homeassistant/ha-openhasp/default.nix @@ -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; diff --git a/packages/homeassistant/ha-overseerr/default.nix b/packages/homeassistant/ha-overseerr/default.nix index c865342..7ff8fe2 100644 --- a/packages/homeassistant/ha-overseerr/default.nix +++ b/packages/homeassistant/ha-overseerr/default.nix @@ -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; diff --git a/packages/homeassistant/ha-petlibro/default.nix b/packages/homeassistant/ha-petlibro/default.nix index bb38cab..7a9e1ac 100644 --- a/packages/homeassistant/ha-petlibro/default.nix +++ b/packages/homeassistant/ha-petlibro/default.nix @@ -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; diff --git a/packages/homeassistant/ha-wyzeapi/default.nix b/packages/homeassistant/ha-wyzeapi/default.nix index a295182..52155a1 100644 --- a/packages/homeassistant/ha-wyzeapi/default.nix +++ b/packages/homeassistant/ha-wyzeapi/default.nix @@ -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; diff --git a/packages/moondeck-buddy/default.nix b/packages/moondeck-buddy/default.nix index 55e8aa6..951b559 100644 --- a/packages/moondeck-buddy/default.nix +++ b/packages/moondeck-buddy/default.nix @@ -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; diff --git a/packages/python/comfy-aimdo/default.nix b/packages/python/comfy-aimdo/default.nix index c28f783..a9e84e3 100644 --- a/packages/python/comfy-aimdo/default.nix +++ b/packages/python/comfy-aimdo/default.nix @@ -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"; diff --git a/packages/python/magicattr/default.nix b/packages/python/magicattr/default.nix index 0f39753..d4501a2 100644 --- a/packages/python/magicattr/default.nix +++ b/packages/python/magicattr/default.nix @@ -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; diff --git a/packages/python/pipewire-python/default.nix b/packages/python/pipewire-python/default.nix index c916411..fe8476a 100644 --- a/packages/python/pipewire-python/default.nix +++ b/packages/python/pipewire-python/default.nix @@ -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"; diff --git a/packages/python/pyoverseerr/default.nix b/packages/python/pyoverseerr/default.nix index 3a67576..e5d518c 100644 --- a/packages/python/pyoverseerr/default.nix +++ b/packages/python/pyoverseerr/default.nix @@ -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; diff --git a/packages/python/python-nanokvm/default.nix b/packages/python/python-nanokvm/default.nix index c197b61..ee83b56 100644 --- a/packages/python/python-nanokvm/default.nix +++ b/packages/python/python-nanokvm/default.nix @@ -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"; diff --git a/packages/python/wyzeapy/default.nix b/packages/python/wyzeapy/default.nix index 4bae05d..4e7279e 100644 --- a/packages/python/wyzeapy/default.nix +++ b/packages/python/wyzeapy/default.nix @@ -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; diff --git a/statix.toml b/statix.toml index 6c1f0ec..3620bb7 100644 --- a/statix.toml +++ b/statix.toml @@ -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.