From b8434ed1ea16a6cfa7a8fb1fd73fbb21e80b31ac Mon Sep 17 00:00:00 2001 From: Sense T Date: Fri, 28 Feb 2025 17:15:38 +0800 Subject: [PATCH] =?UTF-8?q?h3c=20=E7=9A=84=20iNodeClient=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flake.nix | 22 ++++------------------ h3c-inode-client/module.nix | 35 +++++++++++++++++++++++++++++++++++ h3c-inode-client/package.nix | 5 +---- 3 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 h3c-inode-client/module.nix diff --git a/flake.nix b/flake.nix index 3da3354..31a46f8 100644 --- a/flake.nix +++ b/flake.nix @@ -47,25 +47,11 @@ }; packages."${system}" = { - dev-inode = - let - pkgs = import nixpkgs { inherit system; }; - in - pkgs.buildFHSEnv { - name = "inode-dev-shell"; - targetPkgs = pkgs: [ pkgs.makeWrapper ] ++ packages-inode; - profile = '' - export FHS=1 - export PROMPT_COMMAND="echo -n '(FHS)'" - ''; - - extraBuildCommands = '' - echo $PATH - # mount --bind $HOME/.config/iNode/ $out/iNodeClient/clientfiles - ''; - }; - h3c-inode-client = pkgs.callPackage ./h3c-inode-client/package.nix { }; }; + + nixosModules = { + h3c-inode-client = import ./h3c-inode-client/module.nix; + }; }; } diff --git a/h3c-inode-client/module.nix b/h3c-inode-client/module.nix new file mode 100644 index 0000000..0538879 --- /dev/null +++ b/h3c-inode-client/module.nix @@ -0,0 +1,35 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.services.h3c-inode-client; +in +{ + options.services.h3c-inode-client = { + enable = lib.mkEnableOption "H3C iNodeClient - ssl vpn client."; + package = lib.mkPackageOption pkgs "h3c-inode-client" { }; + }; + + config = lib.mkIf cfg.enable { + environment.etc."iNode/inodesys.conf".source = "${cfg.package}/etc/iNode/inodesys.conf"; + environment.systemPackages = [ cfg.package ]; + + systemd.services.h3c-inode-client = { + wantedBy = [ + "network-online.target" + "graphical.target" + ]; + after = [ "network-online.target" ]; + serviceConfig = { + Type = "simple"; + RemainAfterExit = "yes"; + ExecStartPre = "${cfg.package}/bin/setup.sh"; + ExecStart = "${cfg.package}/bin/AuthenMngService"; + ExecStop = "${cfg.package}/bin/AuthenMngService -k"; + }; + }; + }; +} diff --git a/h3c-inode-client/package.nix b/h3c-inode-client/package.nix index 149ba0a..71e558e 100644 --- a/h3c-inode-client/package.nix +++ b/h3c-inode-client/package.nix @@ -115,8 +115,7 @@ stdenv.mkDerivation { mkdir -p $out/bin cat > $out/bin/h3c-inode-client <