adding a flake.nix file to build this shell with nix

This commit is contained in:
notwinder 2025-08-25 04:32:34 +03:30
parent a110a0d636
commit 48d22b85d0
No known key found for this signature in database
GPG key ID: B7747DE9EEAAE164
3 changed files with 195 additions and 0 deletions

96
nix/default.nix Normal file
View file

@ -0,0 +1,96 @@
{
rev,
lib,
stdenv,
makeWrapper,
makeFontsConf,
fish,
ddcutil,
brightnessctl,
cava,
networkmanager,
lm_sensors,
wl-clipboard,
libqalculate,
inotify-tools,
bluez,
bash,
hyprland,
coreutils,
findutils,
file,
material-symbols,
roboto-serif,
roboto-slab,
roboto-mono,
roboto-flex,
inter-nerdfont,
matugen,
cliphist,
gpu-screen-recorder,
gcc,
qt6,
quickshell,
xkeyboard-config,
extraRuntimeDeps ? [],
}: let
runtimeDeps =
[
fish
ddcutil
brightnessctl
cava
networkmanager
lm_sensors
wl-clipboard
libqalculate
matugen
cliphist
gpu-screen-recorder
inotify-tools
bluez
bash
hyprland
coreutils
findutils
file
]
++ extraRuntimeDeps;
fontconfig = makeFontsConf {
fontDirectories = [
material-symbols
roboto-serif
roboto-slab
roboto-mono
roboto-flex
inter-nerdfont
];
};
in
stdenv.mkDerivation {
pname = "noctalia-shell";
version = "${rev}";
src = ./..;
nativeBuildInputs = [gcc makeWrapper qt6.wrapQtAppsHook];
buildInputs = [quickshell xkeyboard-config qt6.qtbase];
propagatedBuildInputs = runtimeDeps;
installPhase = ''
mkdir -p $out/share/noctalia-shell
cp -r ./* $out/share/noctalia-shell
makeWrapper ${quickshell}/bin/qs $out/bin/noctalia-shell \
--prefix PATH : "${lib.makeBinPath runtimeDeps}" \
--set FONTCONFIG_FILE "${fontconfig}" \
--add-flags "-p $out/share/noctalia-shell"
'';
meta = {
description = "A sleek and minimal desktop shell thoughtfully crafted for Wayland, built with Quickshell.";
homepage = "https://github.com/noctalia-dev/noctalia-shell";
license = lib.licenses.mit;
mainProgram = "noctalia-shell";
};
}