Skip to content

Commit

Permalink
filen-cli: init at 0.0.19
Browse files Browse the repository at this point in the history
  • Loading branch information
onahp committed Nov 27, 2024
1 parent 6b88838 commit 48cc65d
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 0 deletions.
6 changes: 6 additions & 0 deletions maintainers/maintainer-list.nix
Original file line number Diff line number Diff line change
Expand Up @@ -16407,6 +16407,12 @@
githubId = 1538622;
name = "Michael Reilly";
};
onahp = {
name = "Setephano Noovao";
email = "onahp@pm.me";
github = "onahp";
githubId = 54986259;
};
ondt = {
name = "Ondrej Telka";
email = "nix@ondt.dev";
Expand Down
85 changes: 85 additions & 0 deletions pkgs/applications/networking/filen/cli.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
{
stdenv,
lib,
fetchurl,
file,
}:

stdenv.mkDerivation rec {
owner = "FilenCloudDienste";
pname = "filen-cli";
version = "0.0.19";

# Define platform-specific source URL
src =
if stdenv.hostPlatform.system == "x86_64-linux" then
fetchurl {
url = "https://github.com/${owner}/${pname}/releases/download/v${version}/${pname}-v${version}-linux-x64";
sha256 = "sha256-8y58HV82uDGhHDziCyhwcHaecactY331Ztbw+uq7oh4=";
}
else if stdenv.hostPlatform.system == "aarch64-linux" then
fetchurl {
url = "https://github.com/${owner}/${pname}/releases/download/v${version}/${pname}-v${version}-linux-arm64";
sha256 = "sha256-Ee8MnwTKlHvZzK7PHoE9xft4WeeAw9qTnjk/1dcyhMY=";
}

else if stdenv.hostPlatform.system == "x86_64-darwin" then
fetchurl {
url = "https://github.com/${owner}/${pname}/releases/download/v${version}/${pname}-v${version}-macos-x64";
sha256 = "sha256-J721M6VE74iZYavp9VpzpMQSMsBB4fAlu7djgceMWE4=";
}

else if stdenv.hostPlatform.system == "x86_64-windows" then
fetchurl {
url = "https://github.com/${owner}/${pname}/releases/download/v${version}/${pname}-v${version}-win-x64";
sha256 = "sha256-ra2qbveLypV2ztDobhhOSneD3ORkuCqNy7i0k6K/7yg=";
}

else
throw "Unsupported platform: ${stdenv.hostPlatform.system}";

buildInputs = [ file ];
doCheck = false;

unpackPhase = ":";
configurePhase = ":";

# create relevant dir for single binary
buildPhase = # bash
''
mkdir -p $out/bin
'';

# install built-in artifacts into $out
installPhase = # bash
''
cp $src $out/bin/${pname}
chmod +x $out/bin/${pname}
'';

fixupPhase = ":";

# verify the installed files
installCheckPhase = # bash
''
ls -al $out/bin/
${file} $out/bin/${pname}
'';

meta = with lib; {
description = "A headless CLI that provides a set of useful tools for interacting with Filen cloud storage securely";
longDescription = ''
The filen-cli is a fully featured CLI that gives you access to your files using an interactive
and scriptable CLI in a headless environment. Perfect for advanced users who want more control
over their data from the terminal. Features include:
- WebDAV and S3
- Network drive mounting
- Fast file management like 'ls', 'mv' and many more.
'';
homepage = "https://filen.io";
license = licenses.agpl3Only;
mainProgram = "filen-cli";
platforms = platforms.unix;
maintainers = [ maintainers.onahp ];
};
}
2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -15669,6 +15669,8 @@ with pkgs;

dropbox-cli = callPackage ../applications/networking/dropbox/cli.nix { };

filen-cli = callPackage ../applications/networking/filen/cli.nix { };

maestral = with python3Packages; toPythonApplication maestral;

maestral-gui = qt6Packages.callPackage ../applications/networking/maestral-qt { };
Expand Down

0 comments on commit 48cc65d

Please sign in to comment.