diff options
| author | Davi Ribeiro <104164579+Markus328@users.noreply.github.com> | 2025-08-12 12:06:24 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-13 01:06:24 +1000 |
| commit | e34953f595eeb0a18159a569e1a1bc263f1df2c3 (patch) | |
| tree | e1fd96350e2ded538fc2c875a36cbfa0b2b6ff71 /nix/default.nix | |
| parent | nix: fix dep (diff) | |
| download | caelestia-shell-e34953f595eeb0a18159a569e1a1bc263f1df2c3.tar.gz caelestia-shell-e34953f595eeb0a18159a569e1a1bc263f1df2c3.tar.bz2 caelestia-shell-e34953f595eeb0a18159a569e1a1bc263f1df2c3.zip | |
nix: add home manager module (#402)
* nix/hm: add home manager module
* nix/hm: remove uneeded options
* nix/hm: add cli option
* nix/hm: allow shell use CLI when 'cli.enable' is false
* nix/hm: fix systemd service
* nix/hm: use config dir from xdg standard
Diffstat (limited to 'nix/default.nix')
| -rw-r--r-- | nix/default.nix | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/nix/default.nix b/nix/default.nix new file mode 100644 index 0000000..8012721 --- /dev/null +++ b/nix/default.nix @@ -0,0 +1,101 @@ +{ + rev, + lib, + stdenv, + makeWrapper, + makeFontsConf, + fish, + ddcutil, + brightnessctl, + app2unit, + cava, + networkmanager, + lm_sensors, + grim, + swappy, + wl-clipboard, + libqalculate, + inotify-tools, + bluez, + bash, + hyprland, + coreutils, + findutils, + file, + material-symbols, + rubik, + nerd-fonts, + gcc, + quickshell, + aubio, + pipewire, + caelestia-cli, + withCli ? false, +}: let + runtimeDeps = + [ + fish + ddcutil + brightnessctl + app2unit + cava + networkmanager + lm_sensors + grim + swappy + wl-clipboard + libqalculate + inotify-tools + bluez + bash + hyprland + coreutils + findutils + file + ] + ++ lib.optional withCli caelestia-cli; + + fontconfig = makeFontsConf { + fontDirectories = [material-symbols rubik nerd-fonts.caskaydia-cove]; + }; +in + stdenv.mkDerivation { + pname = "caelestia-shell"; + version = "${rev}"; + src = ./..; + + nativeBuildInputs = [gcc makeWrapper]; + buildInputs = [quickshell aubio pipewire]; + propagatedBuildInputs = runtimeDeps; + + buildPhase = '' + mkdir -p bin + g++ -std=c++17 -Wall -Wextra \ + -I${pipewire.dev}/include/pipewire-0.3 \ + -I${pipewire.dev}/include/spa-0.2 \ + -I${aubio}/include/aubio \ + assets/beat_detector.cpp \ + -o bin/beat_detector \ + -lpipewire-0.3 -laubio + ''; + + installPhase = '' + install -Dm755 bin/beat_detector $out/bin/beat_detector + + mkdir -p $out/share/caelestia-shell + cp -r ./* $out/share/caelestia-shell + + makeWrapper ${quickshell}/bin/qs $out/bin/caelestia-shell \ + --prefix PATH : "${lib.makeBinPath runtimeDeps}" \ + --set FONTCONFIG_FILE "${fontconfig}" \ + --set CAELESTIA_BD_PATH $out/bin/beat_detector \ + --add-flags "-p $out/share/caelestia-shell" + ''; + + meta = { + description = "A very segsy desktop shell"; + homepage = "https://github.com/caelestia-dots/shell"; + license = lib.licenses.gpl3Only; + mainProgram = "caelestia-shell"; + }; + } |