anchor.diff:          description = "hans, ip over icmp server daemon";
           after = [ "network.target" ];
           wantedBy = [ "multi-user.target" ];
  -        serviceConfig.ExecStart = "${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.server.extraConfig} -s ${cfg.server.ip} ${optionalString cfg.server.systemPings "-r"}";
  +        preStart = ''
  +          cat > /run/hans/script << EOF
  +            #!/bin/sh
  +            ${pkgs.hans}/bin/hans -f -u ${hansUser} ${cfg.server.extraConfig} -s ${cfg.server.ip} ${optionalString cfg.server.systemPings "-r"} ${optionalString (cfg.passwordFile != "") "-p $(cat \"${cfg.passwordFile}\")"}
  +          EOF
  +          chmod 700 /run/hans/script
  +        '';
  +        script = "/run/hans/script";
  +        serviceConfig.RuntimeDirectory = [ "hans" ];
         };
       };
   
  
positive.code:           type = types.str;
            default = "";
            description = "Additional command line parameters";
            example = "-p mysecurepassword";
          };
        };
  
  
negative.code:               type = types.str;
                default = "";
                description = "Additional command line parameters";
                example = "-v";
              };
  
              passwordFile = mkOption {
                type = types.str;
                default = "";
                description = "File that containts password";
              };
  
            };
          }));
        };
  