Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
ssh-store.hh
Go to the documentation of this file.
1#pragma once
3
5#include "store-api.hh"
6#include "local-fs-store.hh"
7#include "remote-store.hh"
8
9namespace nix {
10
11struct SSHStoreConfig : virtual RemoteStoreConfig, virtual CommonSSHStoreConfig
12{
13 using CommonSSHStoreConfig::CommonSSHStoreConfig;
14 using RemoteStoreConfig::RemoteStoreConfig;
15
16 SSHStoreConfig(std::string_view scheme, std::string_view authority, const Params & params);
17
18 const Setting<Strings> remoteProgram{
19 this, {"nix-daemon"}, "remote-program", "Path to the `nix-daemon` executable on the remote machine."};
20
21 const std::string name() override
22 {
23 return "Experimental SSH Store";
24 }
25
26 static std::set<std::string> uriSchemes()
27 {
28 return {"ssh-ng"};
29 }
30
31 std::string doc() override;
32};
33
34struct MountedSSHStoreConfig : virtual SSHStoreConfig, virtual LocalFSStoreConfig
35{
37 using SSHStoreConfig::SSHStoreConfig;
38
39 MountedSSHStoreConfig(StringMap params);
40
41 MountedSSHStoreConfig(std::string_view scheme, std::string_view host, StringMap params);
42
43 const std::string name() override
44 {
45 return "Experimental SSH Store with filesystem mounted";
46 }
47
48 static std::set<std::string> uriSchemes()
49 {
50 return {"mounted-ssh-ng"};
51 }
52
53 std::string doc() override;
54
55 std::optional<ExperimentalFeature> experimentalFeature() const override
56 {
57 return ExperimentalFeature::MountedSSHStore;
58 }
59};
60
61}
Definition config.hh:320
std::string host
Definition common-ssh-store-config.hh:49
LocalFSStoreConfig(PathView path, const Params &params)
Definition local-fs-store.cc:11
const std::string name() override
Definition ssh-store.hh:43
std::string doc() override
Definition ssh-store.cc:109
LocalFSStoreConfig(PathView path, const Params &params)
Definition local-fs-store.cc:11
std::optional< ExperimentalFeature > experimentalFeature() const override
Definition ssh-store.hh:55
Definition remote-store.hh:22
const std::string name() override
Definition ssh-store.hh:21
std::string doc() override
Definition ssh-store.cc:23