mirror of
https://github.com/tuxdotrs/tshell.git
synced 2026-09-19 18:49:02 +05:30
Compare commits
1 Commits
f2268f65e7
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
352eb99568
|
111
flake.nix
111
flake.nix
@@ -15,66 +15,63 @@
|
||||
};
|
||||
};
|
||||
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
quickshell,
|
||||
treefmt-nix,
|
||||
}:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
quickshell,
|
||||
treefmt-nix,
|
||||
}: let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
|
||||
quickshellWithModules = quickshell.packages.${system}.default.withModules [
|
||||
pkgs.qt6.qtbase
|
||||
pkgs.qt6.qtdeclarative
|
||||
pkgs.qt6.qtmultimedia
|
||||
pkgs.qt6.qttranslations
|
||||
];
|
||||
quickshellWithModules = quickshell.packages.${system}.default.withModules [
|
||||
pkgs.qt6.qtbase
|
||||
pkgs.qt6.qtdeclarative
|
||||
pkgs.qt6.qtmultimedia
|
||||
pkgs.qt6.qttranslations
|
||||
];
|
||||
|
||||
treefmtEval = treefmt-nix.lib.evalModule pkgs {
|
||||
projectRootFile = "flake.nix";
|
||||
treefmtEval = treefmt-nix.lib.evalModule pkgs {
|
||||
projectRootFile = "flake.nix";
|
||||
|
||||
programs = {
|
||||
nixfmt.enable = true;
|
||||
qmlformat.enable = true;
|
||||
clang-format.enable = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
rec {
|
||||
formatter.${system} = treefmtEval.config.build.wrapper;
|
||||
|
||||
packages.${system} = {
|
||||
tshell = pkgs.callPackage ./package.nix {
|
||||
inherit quickshellWithModules;
|
||||
};
|
||||
default = packages.${system}.tshell;
|
||||
};
|
||||
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
packages = [
|
||||
quickshellWithModules
|
||||
pkgs.cava
|
||||
pkgs.wallust
|
||||
pkgs.dbus
|
||||
pkgs.cmake
|
||||
pkgs.ninja
|
||||
pkgs.qt6.qtbase
|
||||
pkgs.qt6.qtdeclarative
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
if [ -d "$PWD/plugin/dist/lib/qt-6/qml" ]; then
|
||||
export NIXPKGS_QT6_QML_IMPORT_PATH="$PWD/plugin/dist/lib/qt-6/qml''${NIXPKGS_QT6_QML_IMPORT_PATH:+:$NIXPKGS_QT6_QML_IMPORT_PATH}"
|
||||
export QML2_IMPORT_PATH="$PWD/plugin/dist/lib/qt-6/qml''${QML2_IMPORT_PATH:+:$QML2_IMPORT_PATH}"
|
||||
else
|
||||
echo "gpu plugin is not built; run from the repo root to enable 'import Tshell.Cardwire':"
|
||||
echo " cmake -S plugin -B plugin/dist -DCMAKE_INSTALL_PREFIX=\$PWD/plugin/dist"
|
||||
echo " cmake --build plugin/dist --target install"
|
||||
fi
|
||||
'';
|
||||
programs = {
|
||||
alejandra.enable = true;
|
||||
qmlformat.enable = true;
|
||||
clang-format.enable = true;
|
||||
};
|
||||
};
|
||||
in rec {
|
||||
formatter.${system} = treefmtEval.config.build.wrapper;
|
||||
|
||||
packages.${system} = {
|
||||
tshell = pkgs.callPackage ./package.nix {
|
||||
inherit quickshellWithModules;
|
||||
};
|
||||
default = packages.${system}.tshell;
|
||||
};
|
||||
|
||||
devShells.${system}.default = pkgs.mkShell {
|
||||
packages = [
|
||||
quickshellWithModules
|
||||
pkgs.cava
|
||||
pkgs.wallust
|
||||
pkgs.dbus
|
||||
pkgs.cmake
|
||||
pkgs.ninja
|
||||
pkgs.qt6.qtbase
|
||||
pkgs.qt6.qtdeclarative
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
if [ -d "$PWD/plugin/dist/lib/qt-6/qml" ]; then
|
||||
export NIXPKGS_QT6_QML_IMPORT_PATH="$PWD/plugin/dist/lib/qt-6/qml''${NIXPKGS_QT6_QML_IMPORT_PATH:+:$NIXPKGS_QT6_QML_IMPORT_PATH}"
|
||||
export QML2_IMPORT_PATH="$PWD/plugin/dist/lib/qt-6/qml''${QML2_IMPORT_PATH:+:$QML2_IMPORT_PATH}"
|
||||
else
|
||||
echo "gpu plugin is not built; run from the repo root to enable 'import Tshell.Cardwire':"
|
||||
echo " cmake -S plugin -B plugin/dist -DCMAKE_INSTALL_PREFIX=\$PWD/plugin/dist"
|
||||
echo " cmake --build plugin/dist --target install"
|
||||
fi
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
98
package.nix
98
package.nix
@@ -10,73 +10,71 @@
|
||||
cava,
|
||||
wallust,
|
||||
nerd-fonts,
|
||||
extraRuntimeDeps ? [ ],
|
||||
}:
|
||||
let
|
||||
extraRuntimeDeps ? [],
|
||||
}: let
|
||||
version = "0.1.0";
|
||||
|
||||
runtimeDeps = [
|
||||
cava
|
||||
wallust
|
||||
]
|
||||
++ extraRuntimeDeps;
|
||||
runtimeDeps =
|
||||
[
|
||||
cava
|
||||
wallust
|
||||
]
|
||||
++ extraRuntimeDeps;
|
||||
|
||||
fontconfig = makeFontsConf {
|
||||
fontDirectories = [ nerd-fonts.fira-code ];
|
||||
fontDirectories = [nerd-fonts.fira-code];
|
||||
};
|
||||
|
||||
# Unlike lib.fileset, this keeps untracked files (the flake only sees
|
||||
# git-tracked paths) while dropping build artifacts.
|
||||
src = lib.cleanSourceWith {
|
||||
src = lib.cleanSource ./.;
|
||||
filter =
|
||||
path: _:
|
||||
let
|
||||
name = baseNameOf path;
|
||||
in
|
||||
filter = path: _: let
|
||||
name = baseNameOf path;
|
||||
in
|
||||
!(name == "dist" || name == "result" || name == "result-bin" || lib.hasPrefix "build" name);
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
pname = "tshell";
|
||||
stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
pname = "tshell";
|
||||
|
||||
dontWrapQtApps = true;
|
||||
dontWrapQtApps = true;
|
||||
|
||||
preConfigure = ''
|
||||
cd plugin
|
||||
'';
|
||||
preConfigure = ''
|
||||
cd plugin
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
qt6.qtdeclarative
|
||||
];
|
||||
propagatedBuildInputs = runtimeDeps;
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
ninja
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = [
|
||||
qt6.qtbase
|
||||
qt6.qtdeclarative
|
||||
];
|
||||
propagatedBuildInputs = runtimeDeps;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin $out/share/tshell
|
||||
postInstall = ''
|
||||
mkdir -p $out/bin $out/share/tshell
|
||||
|
||||
for entry in shell.qml assets config modules services ui windows; do
|
||||
cp -r "$src/$entry" $out/share/tshell/
|
||||
done
|
||||
for entry in shell.qml assets config modules services ui windows; do
|
||||
cp -r "$src/$entry" $out/share/tshell/
|
||||
done
|
||||
|
||||
makeWrapper ${quickshellWithModules}/bin/qs $out/bin/tshell \
|
||||
--prefix PATH : "${lib.makeBinPath runtimeDeps}" \
|
||||
--set FONTCONFIG_FILE "${fontconfig}" \
|
||||
--suffix NIXPKGS_QT6_QML_IMPORT_PATH : "$out/lib/qt-6/qml" \
|
||||
--add-flags "-p $out/share/tshell"
|
||||
'';
|
||||
makeWrapper ${quickshellWithModules}/bin/qs $out/bin/tshell \
|
||||
--prefix PATH : "${lib.makeBinPath runtimeDeps}" \
|
||||
--set FONTCONFIG_FILE "${fontconfig}" \
|
||||
--suffix NIXPKGS_QT6_QML_IMPORT_PATH : "$out/lib/qt-6/qml" \
|
||||
--add-flags "-p $out/share/tshell"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "tux's widgets for wayland";
|
||||
homepage = "https://github.com/tuxdotrs/tshell";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "tshell";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
meta = {
|
||||
description = "tux's widgets for wayland";
|
||||
homepage = "https://github.com/tuxdotrs/tshell";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "tshell";
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user