The HIN Client is the access software for easy and secure access to the HIN platform. This software is installed on the workstations and thus enables HIN participants to securely access HIN protected web applications and the HIN email services.
Prerequisites: You need your JAVA_HOME
pointing to a Java 8 runtime and a flakes-enabled
nix
.
To fire off a HIN client instance quickly, just use this command:
# If you do not have Java 8 installed, run a nix shell containing it:
nix shell nixpkgs#jre8
nix run github:christianharke/hinclient-flake#.
For just installing the hinclient
binary on NixOS, this flake needs to be added to the inputs
and its overlay
registered in the pkgs
overlay.
Example
# flake.nix
{
description = "HIN client flake demo";
inputs.hinclient.url = "github:christianharke/hinclient-flake";
outputs = { self, nixpkgs, hinclient }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = { allowUnfree = true; };
overlays = [
hinclient.overlay
];
};
in
{
nixosConfigurations = {
# ...
};
devShell = pkgs.mkShell {
name = "my-dev-shell";
buildInputs = with pkgs; [
pkgs.hinclient
];
};
};
}
To get the HIN client installed as a global SystemD service, there is an
optional nixosModule
, which just needs to be registered in the nixosConfiguration
.
Example
# flake.nix
{
description = "HIN client flake demo";
inputs.hinclient.url = "github:christianharke/hinclient-flake";
outputs = { self, nixpkgs, hinclient }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = { allowUnfree = true; };
};
in
{
nixosConfigurations = {
mycomputer = nixpkgs.lib.nixosSystem {
inherit system pkgs;
specialArgs = { inherit self system; };
modules = [
my-module.nix
# Some other modules...
# Add this line:
hinclient.nixosModule
];
};
};
};
}
# my-module.nix
{ config, ... }:
{
services.hinclient = {
enable = true;
identities = "my-hin-identities";
# Watch out, settings like these will be stored in the world
# readable nix store in plaintext (on your local drive)!
passphrase = "my-hin-identity-passphrase";
keystore = "my-hin-identity-file";
language = "en";
};
}
After a nixos-rebuild switch
, there will be a systemD service which can be started via systemctl start hinclient.service
.