Refactor Nix package definitions for improved clarity and consistency, including updates to overlays, dependencies, and build inputs across multiple packages.

This commit is contained in:
Danilo Reyes 2025-10-02 14:45:13 -06:00
parent 38959dc37b
commit e9fc085de1
14 changed files with 188 additions and 198 deletions

View File

@ -28,8 +28,8 @@
|> builtins.listToAttrs;
in
{
overlays.default = final: prev: {
scrapy = prev.scrapy.overrideAttrs (old: rec {
overlays.default = _final: prev: {
scrapy = prev.scrapy.overrideAttrs (_old: rec {
version = "2.11.2";
src = prev.fetchFromGitHub {
owner = "scrapy";
@ -42,7 +42,7 @@
packages.x86_64-linux =
let
scriptBin = path: name: pkgs.writeScriptBin name (builtins.readFile path);
pkgsBin = path: name: pkgs.callPackage path { };
pkgsBin = path: _name: pkgs.callPackage path { };
in
{
citra = pkgs.callPackage ./pkgs/citra/default.nix { branch = "nightly"; };

View File

@ -45,47 +45,46 @@ stdenv.mkDerivation {
glslang
pkg-config
python3
] ++ lib.optionals enableQt [ wrapQtAppsHook ];
]
++ lib.optionals enableQt [ wrapQtAppsHook ];
buildInputs =
[
boost
libusb1
]
++ lib.optionals enableQt [
qtbase
qtmultimedia
]
++ lib.optional enableSdl2 SDL2
++ lib.optional enableQtTranslation qttools
++ lib.optionals enableCubeb cubeb.passthru.backendLibs
++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4
++ lib.optional useDiscordRichPresence rapidjson
++ lib.optional enableFdk fdk_aac;
buildInputs = [
boost
libusb1
]
++ lib.optionals enableQt [
qtbase
qtmultimedia
]
++ lib.optional enableSdl2 SDL2
++ lib.optional enableQtTranslation qttools
++ lib.optionals enableCubeb cubeb.passthru.backendLibs
++ lib.optional (enableFfmpegAudioDecoder || enableFfmpegVideoDumper) ffmpeg_4
++ lib.optional useDiscordRichPresence rapidjson
++ lib.optional enableFdk fdk_aac;
cmakeFlags =
[
"-DUSE_SYSTEM_BOOST=ON"
"-DCITRA_WARNINGS_AS_ERRORS=OFF"
"-DCITRA_USE_BUNDLED_FFMPEG=OFF"
"-DCITRA_USE_BUNDLED_QT=OFF"
"-DUSE_SYSTEM_SDL2=ON"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBDIR=lib"
cmakeFlags = [
"-DUSE_SYSTEM_BOOST=ON"
"-DCITRA_WARNINGS_AS_ERRORS=OFF"
"-DCITRA_USE_BUNDLED_FFMPEG=OFF"
"-DCITRA_USE_BUNDLED_QT=OFF"
"-DUSE_SYSTEM_SDL2=ON"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_INSTALL_LIBDIR=lib"
# We dont want to bother upstream with potentially outdated compat reports
"-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
]
++ lib.optional (!enableSdl2) "-DENABLE_SDL2=OFF"
++ lib.optional (!enableQt) "-DENABLE_QT=OFF"
++ lib.optional enableQtTranslation "-DENABLE_QT_TRANSLATION=ON"
++ lib.optional (!enableWebService) "-DENABLE_WEB_SERVICE=OFF"
++ lib.optional (!enableCubeb) "-DENABLE_CUBEB=OFF"
++ lib.optional enableFfmpegAudioDecoder "-DENABLE_FFMPEG_AUDIO_DECODER=ON"
++ lib.optional enableFfmpegVideoDumper "-DENABLE_FFMPEG_VIDEO_DUMPER=ON"
++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON"
++ lib.optional enableFdk "-DENABLE_FDK=ON";
# We dont want to bother upstream with potentially outdated compat reports
"-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
"-DENABLE_COMPATIBILITY_LIST_DOWNLOAD=OFF" # We provide this deterministically
]
++ lib.optional (!enableSdl2) "-DENABLE_SDL2=OFF"
++ lib.optional (!enableQt) "-DENABLE_QT=OFF"
++ lib.optional enableQtTranslation "-DENABLE_QT_TRANSLATION=ON"
++ lib.optional (!enableWebService) "-DENABLE_WEB_SERVICE=OFF"
++ lib.optional (!enableCubeb) "-DENABLE_CUBEB=OFF"
++ lib.optional enableFfmpegAudioDecoder "-DENABLE_FFMPEG_AUDIO_DECODER=ON"
++ lib.optional enableFfmpegVideoDumper "-DENABLE_FFMPEG_VIDEO_DUMPER=ON"
++ lib.optional useDiscordRichPresence "-DUSE_DISCORD_PRESENCE=ON"
++ lib.optional enableFdk "-DENABLE_FDK=ON";
postPatch =
let

View File

@ -2,7 +2,6 @@
python3Packages,
gallery-dl,
ffmpeg,
callPackage,
...
}:
let
@ -21,17 +20,16 @@ python3Packages.buildPythonApplication {
build-system = [ python3Packages.setuptools ];
dependencies =
[
ffmpeg
gallery-dl
# (callPackage ../pkgs_pr/webcomix.nix { })
]
++ builtins.attrValues {
inherit (python3Packages)
pyyaml
types-pyyaml
yt-dlp
;
};
dependencies = [
ffmpeg
gallery-dl
# (callPackage ../pkgs_pr/webcomix.nix { })
]
++ builtins.attrValues {
inherit (python3Packages)
pyyaml
types-pyyaml
yt-dlp
;
};
}

View File

@ -95,7 +95,8 @@ let
cmakeFlags = [
"-GNinja"
"-DLauncher_QT_VERSION_MAJOR=${lib.versions.major qt6.qtbase.version}"
] ++ lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
]
++ lib.optionals (msaClientID != null) [ "-DLauncher_MSA_CLIENT_ID=${msaClientID}" ];
postPatch = ''
# hardcode jdk paths

View File

@ -22,7 +22,6 @@
lz4,
python3,
unzip,
nix-update-script,
nlohmann_json,
nv-codec-headers-12,
pkg-config,
@ -30,7 +29,6 @@
vulkan-headers,
vulkan-loader,
yasm,
simpleini,
zlib,
vulkan-memory-allocator,
zstd,

View File

@ -10,15 +10,14 @@ python3Packages.buildPythonApplication {
name = "${pname}-${version}";
};
build-system = [ python3Packages.setuptools ];
dependencies =
[
sqlite
]
++ builtins.attrValues {
inherit (python3Packages)
beautifulsoup4
requests
matplotlib
;
};
dependencies = [
sqlite
]
++ builtins.attrValues {
inherit (python3Packages)
beautifulsoup4
requests
matplotlib
;
};
}

View File

@ -44,35 +44,33 @@ stdenv.mkDerivation rec {
})
];
nativeBuildInputs =
[
pkg-config
sphinx
scons
]
++ lib.optionals withGui [
makeWrapper
wrapGAppsHook3
gobject-introspection
];
nativeBuildInputs = [
pkg-config
sphinx
scons
]
++ lib.optionals withGui [
makeWrapper
wrapGAppsHook3
gobject-introspection
];
buildInputs =
[
glib
json-glib
util-linux
]
++ lib.optionals withGui [
cairo
gtksourceview3
pango
polkit
python3
python3.pkgs.pygobject3
]
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [
elfutils
];
buildInputs = [
glib
json-glib
util-linux
]
++ lib.optionals withGui [
cairo
gtksourceview3
pango
polkit
python3
python3.pkgs.pygobject3
]
++ lib.optionals (lib.meta.availableOn stdenv.hostPlatform elfutils) [
elfutils
];
prePatch = ''
# remove sources of nondeterminism

View File

@ -44,29 +44,28 @@ stdenv.mkDerivation (finalAttrs: {
copyDesktopItems
];
buildInputs =
[
nss
cairo
alsa-lib
at-spi2-core
pango
libdrm
libxkbcommon
gtk3
vivaldi-ffmpeg-codecs
mesa
libGL
libglvnd
]
++ (with xorg; [
libX11
libXcomposite
libXdamage
libXrandr
libXfixes
libXcursor
]);
buildInputs = [
nss
cairo
alsa-lib
at-spi2-core
pango
libdrm
libxkbcommon
gtk3
vivaldi-ffmpeg-codecs
mesa
libGL
libglvnd
]
++ (with xorg; [
libX11
libXcomposite
libXdamage
libXrandr
libXfixes
libXcursor
]);
# Required to launch the application and proceed past the zygote_linux fork() process
# Fixes `Zygote could not fork`

View File

@ -16,7 +16,7 @@
gtk4,
}:
stdenv.mkDerivation (finaAttrs: rec {
stdenv.mkDerivation (_finaAttrs: rec {
pname = "aviator";
version = "0.6.0";
pyproject = true;

View File

@ -49,23 +49,22 @@ stdenv.mkDerivation rec {
desktop-file-utils
];
buildInputs =
[
cairo
gdk-pixbuf
glib
gtk4
libadwaita
pango
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreAudio
]
++ lib.optionals stdenv.isLinux [
alsa-lib
pulseaudio
pipewire
];
buildInputs = [
cairo
gdk-pixbuf
glib
gtk4
libadwaita
pango
]
++ lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.CoreAudio
]
++ lib.optionals stdenv.isLinux [
alsa-lib
pulseaudio
pipewire
];
meta = {
description = "Timer app for high intensity interval training";

View File

@ -2,57 +2,48 @@
lib,
python3,
fetchFromGitHub,
callPackage,
}:
python3.pkgs.buildPythonApplication rec {
pname = "qbit-manage";
version = "4.3.0";
version = "4.6.3";
pyproject = true;
src = fetchFromGitHub {
owner = "StuffAnThings";
repo = "qbit_manage";
rev = "v${version}";
hash = "sha256-Wj1s11PwHfH4hDGEn0jW/REO2gI7+AGyb2B/QKUhlyk=";
hash = "sha256-cTxM3nHQQto7lpoNjShYcCbJCSYiwS9bKqw0DWAjw6A=";
};
postPatch = ''
rm LICENSE
'';
build-system = [
python3.pkgs.setuptools
python3.pkgs.wheel
];
build-system = builtins.attrValues {
inherit (python3.pkgs)
setuptools
wheel
;
};
dependencies = with python3.pkgs; [
croniter
gitpython
humanize
pytimeparse2
bencode-py
requests
retrying
ruamel-yaml
schedule
(callPackage ./qbittorrent-api.nix {
inherit lib;
inherit (python3.pkgs)
buildPythonPackage
fetchPypi
# build-system
setuptools
setuptools-scm
# dependencies
packaging
requests
urllib3
;
})
];
propagatedBuildInputs = builtins.attrValues {
inherit (python3.pkgs)
argon2-cffi
bencode-py
croniter
fastapi
gitpython
humanize
pytimeparse2
qbittorrent-api
requests
retrying
ruamel-yaml
slowapi
uvicorn
;
};
meta = {
description = "This tool will help manage tedious tasks in qBittorrent and automate them. Tag, categorize, remove Orphaned data, remove unregistered torrents and much much more";

View File

@ -3,17 +3,16 @@
}:
pkgs.mkShell {
packages =
[
(pkgs.python3.withPackages (
ps:
builtins.attrValues {
inherit (ps) setuptools pyyaml types-pyyaml;
}
))
]
++ builtins.attrValues {
inherit (pkgs) yt-dlp gallery-dl ffmpeg;
};
packages = [
(pkgs.python3.withPackages (
ps:
builtins.attrValues {
inherit (ps) setuptools pyyaml types-pyyaml;
}
))
]
++ builtins.attrValues {
inherit (pkgs) yt-dlp gallery-dl ffmpeg;
};
buildInputs = [ ];
}

View File

@ -1,12 +1,18 @@
let pkgs = import <nixpkgs> { };
in pkgs.haskellPackages.developPackage {
let
pkgs = import <nixpkgs> { };
in
pkgs.haskellPackages.developPackage {
root = ./.;
modifier = drv:
pkgs.haskell.lib.addBuildTools drv (with pkgs.haskellPackages; [
cabal-install
ghcid
haskell-language-server
fourmolu
regex
]);
modifier =
drv:
pkgs.haskell.lib.addBuildTools drv (
with pkgs.haskellPackages;
[
cabal-install
ghcid
haskell-language-server
fourmolu
regex
]
);
}

View File

@ -1,18 +1,21 @@
{ pkgs ? import <nixpkgs> { } }:
{
pkgs ? import <nixpkgs> { },
}:
with pkgs;
mkShell {
packages = [
geckodriver
(python3.withPackages (ps:
with ps; [
(python3.withPackages (
ps: with ps; [
tweepy
requests
beautifulsoup4
selenium
webdriver-manager
]))
]
))
];
buildInputs = [ ];
}