mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-05 14:59:29 -05:00
feat: add nix flake
This commit is contained in:
@@ -1,2 +1,3 @@
|
||||
__pycache__/
|
||||
/dist/
|
||||
/result
|
||||
|
||||
+82
@@ -0,0 +1,82 @@
|
||||
{
|
||||
rev,
|
||||
lib,
|
||||
python3,
|
||||
installShellFiles,
|
||||
swappy,
|
||||
libnotify,
|
||||
slurp,
|
||||
wl-clipboard,
|
||||
cliphist,
|
||||
app2unit,
|
||||
dart-sass,
|
||||
grim,
|
||||
fuzzel,
|
||||
wl-screenrec,
|
||||
dconf,
|
||||
killall,
|
||||
discordBin ? "discord",
|
||||
qtctStyle ? "Fusion",
|
||||
}:
|
||||
python3.pkgs.buildPythonApplication {
|
||||
pname = "caelestia-cli";
|
||||
version = "${rev}";
|
||||
src = ./.;
|
||||
pyproject = true;
|
||||
|
||||
build-system = with python3.pkgs; [
|
||||
hatch-vcs
|
||||
hatchling
|
||||
];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
materialyoucolor
|
||||
pillow
|
||||
];
|
||||
|
||||
pythonImportsCheck = ["caelestia"];
|
||||
|
||||
nativeBuildInputs = [installShellFiles];
|
||||
propagatedBuildInputs = [
|
||||
swappy
|
||||
libnotify
|
||||
slurp
|
||||
wl-clipboard
|
||||
cliphist
|
||||
app2unit
|
||||
dart-sass
|
||||
grim
|
||||
fuzzel
|
||||
wl-screenrec
|
||||
dconf
|
||||
killall
|
||||
];
|
||||
|
||||
SETUPTOOLS_SCM_PRETEND_VERSION = 1;
|
||||
|
||||
patchPhase = ''
|
||||
# Replace qs config call with nix shell pkg bin
|
||||
substituteInPlace src/caelestia/subcommands/shell.py \
|
||||
--replace-fail '"qs", "-c", "caelestia"' '"caelestia-shell"'
|
||||
substituteInPlace src/caelestia/subcommands/screenshot.py \
|
||||
--replace-fail '"qs", "-c", "caelestia"' '"caelestia-shell"'
|
||||
|
||||
# Use config bin instead of discord
|
||||
substituteInPlace src/caelestia/subcommands/toggle.py \
|
||||
--replace-fail 'discord' ${discordBin}
|
||||
|
||||
# Use config style instead of fusion
|
||||
substituteInPlace src/caelestia/data/templates/qtct.conf \
|
||||
--replace-fail 'Fusion' '${qtctStyle}'
|
||||
'';
|
||||
|
||||
postInstall = "installShellCompletion completions/caelestia.fish";
|
||||
|
||||
meta = {
|
||||
description = "The main control script for the Caelestia dotfiles";
|
||||
homepage = "https://github.com/caelestia-dots/cli";
|
||||
license = lib.licenses.gpl3Only;
|
||||
mainProgram = "caelestia";
|
||||
platforms = lib.platforms.all;
|
||||
};
|
||||
}
|
||||
Generated
+48
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"nodes": {
|
||||
"app2unit": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752557494,
|
||||
"narHash": "sha256-GIcH+k321WBUl//gBypaJkLRMrKDemcSpzADJoyUdec=",
|
||||
"owner": "soramanew",
|
||||
"repo": "app2unit",
|
||||
"rev": "574d764446997e30218a29a6b9871fb1b9c6554d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "soramanew",
|
||||
"repo": "app2unit",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1752480373,
|
||||
"narHash": "sha256-JHQbm+OcGp32wAsXTE/FLYGNpb+4GLi5oTvCxwSoBOA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "62e0f05ede1da0d54515d4ea8ce9c733f12d9f08",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"app2unit": "app2unit",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
{
|
||||
description = "CLI for Caelestia dots";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
|
||||
app2unit = {
|
||||
url = "github:soramanew/app2unit";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
...
|
||||
} @ inputs: let
|
||||
forAllSystems = fn:
|
||||
nixpkgs.lib.genAttrs nixpkgs.lib.platforms.linux (
|
||||
system: fn nixpkgs.legacyPackages.${system}
|
||||
);
|
||||
in {
|
||||
formatter = forAllSystems (pkgs: pkgs.alejandra);
|
||||
|
||||
packages = forAllSystems (pkgs: rec {
|
||||
caelestia-cli = pkgs.callPackage ./default.nix {
|
||||
rev = self.rev or self.dirtyRev;
|
||||
app2unit = inputs.app2unit.packages.${pkgs.system}.default;
|
||||
};
|
||||
default = caelestia-cli;
|
||||
});
|
||||
|
||||
# devShells = forAllSystems (pkgs: {
|
||||
# default = pkgs.mkShellNoCC {
|
||||
# inputsFrom = [self.packages.${pkgs.system}.caelestia-cli];
|
||||
# packages = [inputs.caelestia-shell.packages.${pkgs.system}.default];
|
||||
# };
|
||||
# });
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user