Compare commits
2 commits
main
...
main-nix-l
Author | SHA1 | Date | |
---|---|---|---|
564944cbdf | |||
935f13beea |
7 changed files with 211 additions and 0 deletions
|
@ -33,6 +33,11 @@
|
||||||
plymouth.enable = true;
|
plymouth.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
waydroid.enable = true;
|
waydroid.enable = true;
|
||||||
|
|
||||||
|
nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
enableKdeDevelopmentEnvironment = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
server = {
|
server = {
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
./bluetooth
|
./bluetooth
|
||||||
./gamingKernel
|
./gamingKernel
|
||||||
./keymaps
|
./keymaps
|
||||||
|
./nix-ld
|
||||||
./nvidia
|
./nvidia
|
||||||
./pipewire
|
./pipewire
|
||||||
./plymouth
|
./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/libs.nix { inherit pkgs; });
|
||||||
|
} // mkIf cfg.enableKdeDevelopmentEnvironment {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(import ../../../../pkgs/kde-builder.nix { inherit pkgs; })
|
||||||
|
] ++ (import ./kde/programs.nix { inherit pkgs; });
|
||||||
|
};
|
||||||
|
}
|
110
modules/system/hardware/nix-ld/kde/libs.nix
Normal file
110
modules/system/hardware/nix-ld/kde/libs.nix
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with pkgs; [
|
||||||
|
# From https://invent.kde.org/sysadmin/repo-metadata/-/blob/6ddda1e450fdbc093ca0138cf1c850e7b7e75044/distro-dependencies/arch.ini
|
||||||
|
|
||||||
|
# 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
|
||||||
|
] ++ (import ./programs.nix { inherit pkgs; })
|
33
modules/system/hardware/nix-ld/kde/programs.nix
Normal file
33
modules/system/hardware/nix-ld/kde/programs.nix
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
{ pkgs }:
|
||||||
|
|
||||||
|
with pkgs; [
|
||||||
|
# .. 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
|
||||||
|
]
|
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