mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-07-04 14:23:16 +02:00
118 lines
4.2 KiB
Nix
118 lines
4.2 KiB
Nix
{ lib, ... }:
|
|
{
|
|
options.linuxConfigPoc = {
|
|
enable = lib.mkEnableOption "Arch linux_configuration parity proof-of-concept";
|
|
|
|
repoPath = lib.mkOption {
|
|
type = lib.types.path;
|
|
default = ../../..;
|
|
description = "Path to the linux_configuration repository root.";
|
|
};
|
|
|
|
mainUser = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "kuhy";
|
|
description = "Primary desktop username for user-scoped config (i3/i3blocks).";
|
|
};
|
|
|
|
enableImperativeBootstrap = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Run original shell installers at activation (hosts + guard + periodic setup).";
|
|
};
|
|
|
|
enableResolutionReport = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Generate a package resolution report grouped by migration category.";
|
|
};
|
|
|
|
resolutionReportEtcPath = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "linux-config-poc/package-resolution-report.txt";
|
|
description = "Path under /etc where the package resolution report is materialized.";
|
|
};
|
|
|
|
enableResolutionReportJson = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = true;
|
|
description = "Generate a machine-readable JSON package resolution report.";
|
|
};
|
|
|
|
resolutionReportJsonEtcPath = lib.mkOption {
|
|
type = lib.types.str;
|
|
default = "linux-config-poc/package-resolution-report.json";
|
|
description = "Path under /etc where the JSON package resolution report is materialized.";
|
|
};
|
|
|
|
packageMap = lib.mkOption {
|
|
type = lib.types.attrsOf lib.types.str;
|
|
default = {
|
|
# Fonts / desktop
|
|
"ttf-dejavu" = "dejavu_fonts";
|
|
"noto-fonts" = "noto-fonts";
|
|
"ttf-font-awesome" = "font-awesome";
|
|
"adobe-source-sans-pro-fonts" = "source-sans";
|
|
"ttf-liberation" = "liberation_ttf";
|
|
|
|
# Toolchain / language ecosystems
|
|
"go-tools" = "gotools";
|
|
"cargo" = "cargo";
|
|
"rust" = "rustc";
|
|
"nodejs" = "nodejs";
|
|
"npm" = "nodejs";
|
|
"yarn" = "yarn";
|
|
"node-gyp" = "nodePackages.node-gyp";
|
|
"lua52" = "lua5_2";
|
|
|
|
# Python package translations
|
|
"python-nose" = "python3Packages.nose";
|
|
"python-pyproject-metadata" = "python3Packages.pyproject-metadata";
|
|
"meson-python" = "python3Packages.meson-python";
|
|
"python-numpy" = "python3Packages.numpy";
|
|
"python-markdown" = "python3Packages.markdown";
|
|
"python-pyparsing" = "python3Packages.pyparsing";
|
|
"python-pyqt5" = "python3Packages.pyqt5";
|
|
"python-pefile" = "python3Packages.pefile";
|
|
"python-booleanoperations" = "python3Packages.booleanoperations";
|
|
"python-brotli" = "python3Packages.brotli";
|
|
"python-defcon" = "python3Packages.defcon";
|
|
"python-fontmath" = "python3Packages.fontmath";
|
|
"python-fontpens" = "python3Packages.fontpens";
|
|
"python-fonttools" = "python3Packages.fonttools";
|
|
"python-fs" = "python3Packages.fs";
|
|
"python-tqdm" = "python3Packages.tqdm";
|
|
"python-unicodedata2" = "python3Packages.unicodedata2";
|
|
"python-zopfli" = "python3Packages.zopfli";
|
|
"python-pyaml" = "python3Packages.pyyaml";
|
|
|
|
# Java / Perl
|
|
"java-hamcrest" = "hamcrest";
|
|
"perl-font-ttf" = "perlPackages.FontTTF";
|
|
"perl-sort-versions" = "perlPackages.SortVersions";
|
|
|
|
# Multimedia / desktop mismatches
|
|
"pavucontrol-qt" = "pavucontrol";
|
|
"qt5-wayland" = "qt5.qtwayland";
|
|
"qt6-tools" = "qt6.full";
|
|
"qt6-shadertools" = "qt6.qtshadertools";
|
|
"ffmpeg" = "ffmpeg-full";
|
|
"pyside6" = "python3Packages.pyside6";
|
|
|
|
# TeX stack consolidation
|
|
"texlive-plaingeneric" = "texliveFull";
|
|
"texlive-latexextra" = "texliveFull";
|
|
"texlive-bibtexextra" = "texliveFull";
|
|
"texlive-pictures" = "texliveFull";
|
|
"texlive-fontsextra" = "texliveFull";
|
|
"texlive-formatsextra" = "texliveFull";
|
|
"texlive-pstricks" = "texliveFull";
|
|
"texlive-games" = "texliveFull";
|
|
"texlive-humanities" = "texliveFull";
|
|
"texlive-science" = "texliveFull";
|
|
};
|
|
description = "Mapping from Arch package names to nixpkgs attributes.";
|
|
};
|
|
};
|
|
}
|