Add first test of nix-ld environment
This commit is contained in:
parent
361ecd917e
commit
935f13beea
6 changed files with 208 additions and 0 deletions
|
@ -33,6 +33,11 @@
|
|||
plymouth.enable = true;
|
||||
printing.enable = true;
|
||||
waydroid.enable = true;
|
||||
|
||||
nix-ld = {
|
||||
enable = true;
|
||||
enableKdeDevelopmentEnvironment = true;
|
||||
};
|
||||
};
|
||||
|
||||
server = {
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
./bluetooth
|
||||
./gamingKernel
|
||||
./keymaps
|
||||
./nix-ld
|
||||
./nvidia
|
||||
./pipewire
|
||||
./plymouth
|
||||
|
|
31
modules/system/hardware/nix-ld/default.nix
Normal file
31
modules/system/hardware/nix-ld/default.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
let
|
||||
cfg = config.modules.system.hardware.nix-ld;
|
||||
in
|
||||
{
|
||||
options.modules.system.hardware.nix-ld = {
|
||||
enable = mkEnableOption ''
|
||||
Enable nixLd with my custom configurations
|
||||
'';
|
||||
|
||||
enableKdeDevelopmentEnvironment = mkEnableOption ''
|
||||
Configure all required packages to develop with kde-builder
|
||||
'';
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
# Enable nix ld
|
||||
programs.nix-ld.enable = true;
|
||||
|
||||
programs.nix-ld.package = pkgs.nix-ld-rs;
|
||||
|
||||
programs.nix-ld.libraries = [
|
||||
# Empty for now but used for default packages
|
||||
] ++ lib.optionals cfg.enableKdeDevelopmentEnvironment (import ./kde-dev-packages.nix { inherit pkgs; });
|
||||
} // mkIf cfg.enableKdeDevelopmentEnvironment {
|
||||
environment.systemPackages = [
|
||||
(import ../../../../pkgs/kde-builder.nix { inherit pkgs; })
|
||||
];
|
||||
};
|
||||
}
|
140
modules/system/hardware/nix-ld/kde-dev-packages.nix
Normal file
140
modules/system/hardware/nix-ld/kde-dev-packages.nix
Normal file
|
@ -0,0 +1,140 @@
|
|||
{ pkgs }:
|
||||
|
||||
with pkgs; [
|
||||
# From https://invent.kde.org/sysadmin/repo-metadata/-/blob/6ddda1e450fdbc093ca0138cf1c850e7b7e75044/distro-dependencies/arch.ini
|
||||
|
||||
# .. gnu
|
||||
autoconf
|
||||
automake
|
||||
bison
|
||||
flex
|
||||
gcc
|
||||
gperf
|
||||
gnumake
|
||||
texinfo
|
||||
|
||||
# .. llvm
|
||||
clang
|
||||
cmake
|
||||
|
||||
# .. build systems
|
||||
meson
|
||||
ninja
|
||||
|
||||
# .. rust
|
||||
corrosion
|
||||
|
||||
# .. others
|
||||
boost
|
||||
docbook_xsl
|
||||
doxygen
|
||||
gi-docgen
|
||||
git
|
||||
intltool
|
||||
pkg-config
|
||||
|
||||
# Qt-related
|
||||
kdePackages.accounts-qt
|
||||
|
||||
libdbusmenu
|
||||
packagekit
|
||||
kdePackages.qtbase
|
||||
kdePackages.qttools
|
||||
kdePackages.qtdeclarative
|
||||
kdePackages.phonon
|
||||
kdePackages.poppler
|
||||
kdePackages.qca
|
||||
kdePackages.qcoro
|
||||
kdePackages.qtkeychain
|
||||
|
||||
# Others/Unsorted
|
||||
black-hole-solver
|
||||
check
|
||||
eigen
|
||||
enchant
|
||||
exiv2
|
||||
flatpak
|
||||
fluidsynth
|
||||
freecell-solver
|
||||
giflib
|
||||
itstool
|
||||
jasper
|
||||
kdePackages.kdsoap # QT6
|
||||
libcanberra
|
||||
libdisplay-info
|
||||
libdmtx
|
||||
libfakekey
|
||||
libgit2
|
||||
libical
|
||||
olm
|
||||
libpwquality
|
||||
libqalculate
|
||||
libraw
|
||||
libutempter
|
||||
xorg.libxcvt
|
||||
expat
|
||||
libxml2
|
||||
xorg.libX11 xorg.libXext xorg.libXft xorg.libXpm xorg.libXrandr xorg.libXScrnSaver # Replacement of libxss ?
|
||||
lmdb
|
||||
microsoft-gsl
|
||||
mlt
|
||||
mpv
|
||||
networkmanager
|
||||
openal
|
||||
openexr
|
||||
plymouth
|
||||
power-profiles-daemon
|
||||
kdePackages.qgpgme # qt6
|
||||
qrencode
|
||||
# ruby-sass
|
||||
# ruby-test-unit
|
||||
# sane
|
||||
sccache
|
||||
shared-mime-info
|
||||
kdePackages.signond
|
||||
udisks2
|
||||
upower
|
||||
vala
|
||||
vlc
|
||||
wayland
|
||||
wayland-protocols
|
||||
wayland-scanner
|
||||
xapian
|
||||
xercesc
|
||||
xorg.xf86inputlibinput
|
||||
xf86_input_wacom
|
||||
xmlto
|
||||
xorg.xorgserver
|
||||
xsd
|
||||
zxing-cpp
|
||||
gtk3
|
||||
|
||||
# plasma-desktop
|
||||
xdotool
|
||||
|
||||
# appstream
|
||||
gobject-introspection
|
||||
xorg.xf86inputevdev
|
||||
|
||||
# okular
|
||||
discount
|
||||
djvulibre
|
||||
ebook_tools
|
||||
libspectre
|
||||
libzip
|
||||
|
||||
(pkgs.python3.withPackages (python-pkgs: with python-pkgs; [
|
||||
pycairo
|
||||
pip
|
||||
setuptools
|
||||
sphinx
|
||||
|
||||
# drkonqi
|
||||
psutil
|
||||
pygdbmi
|
||||
sentry-sdk
|
||||
]))
|
||||
|
||||
# kpipewire
|
||||
pipewire
|
||||
]
|
0
pkgs/.gitkeep
Normal file
0
pkgs/.gitkeep
Normal file
31
pkgs/kde-builder.nix
Normal file
31
pkgs/kde-builder.nix
Normal file
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
pkgs
|
||||
}:
|
||||
|
||||
with pkgs;
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "kde-builder";
|
||||
version = "50a5c745e5bc6a47779abc4e441e6a13749d9f67";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
domain = "invent.kde.org";
|
||||
owner = "sdk";
|
||||
repo = "kde-builder";
|
||||
rev = version;
|
||||
sha256 = "l3V9EyiOZXKMUuUvlX8awWbHiaufc9XjNhdPb1YnaKw=";
|
||||
};
|
||||
|
||||
# https://invent.kde.org/sdk/kde-builder/-/blob/45eaedd70d39059a2fa94f4774b9c0642d02ec21/scripts/initial_setup.sh#L23
|
||||
buildInputs = [
|
||||
(pkgs.python3.withPackages (python-pkgs: with python-pkgs; [
|
||||
dbus-python
|
||||
pyyaml
|
||||
setproctitle
|
||||
]))
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp -r * $out/bin/
|
||||
'';
|
||||
}
|
Loading…
Reference in a new issue