alpha
Login
or
Join now
hermes.pds.lassul.us
/
superconfig
forked from
lass.pds.lassul.us/superconfig
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
This repository has no description
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
flake: use upstream networking
author
lassulus
date
1 year ago
(Jul 29, 2025, 10:59 PM CEST)
commit
52b9634a
52b9634a0509529f4486f1586be62b6b4c5beec9
parent
204963ef
204963ef0f66344a0e8b2702c493a617101e42eb
+2
-83
1 changed file
Expand all
Collapse all
Unified
Split
flake.nix
+2
-83
flake.nix
View file
Reviewed
···
72
72
clan = clan-core.lib.buildClan {
73
73
self = self;
74
74
specialArgs.self = self;
75
75
-
exportsModule =
76
76
-
{ lib, ... }:
77
77
-
{
78
78
-
options.networking = {
79
79
-
priority = lib.mkOption {
80
80
-
type = lib.types.int;
81
81
-
default = 1000;
82
82
-
description = ''
83
83
-
priority with which this network should be tried.
84
84
-
higher priority means it gets used earlier in the chain
85
85
-
'';
86
86
-
};
87
87
-
technology = lib.mkOption {
88
88
-
# addding more technologies requires code in the clan-cli to handle that technology
89
89
-
# at least for userspace networking
90
90
-
# maybe we can do a fallback mode for vpns where we don't need userspace networking?
91
91
-
type = lib.types.enum [
92
92
-
"direct"
93
93
-
"tor"
94
94
-
];
95
95
-
description = ''
96
96
-
the technology this network uses to connect to the target
97
97
-
This is used for userspace networking with socks proxies.
98
98
-
'';
99
99
-
};
100
100
-
# should we call this machines? hosts?
101
101
-
peers = lib.mkOption {
102
102
-
# <name>
103
103
-
type = lib.types.attrsOf (
104
104
-
lib.types.submodule (
105
105
-
{ name, ... }:
106
106
-
{
107
107
-
options = {
108
108
-
name = lib.mkOption {
109
109
-
type = lib.types.str;
110
110
-
default = name;
111
111
-
};
112
112
-
SSHOptions = lib.mkOption {
113
113
-
type = lib.types.listOf lib.types.str;
114
114
-
default = [ ];
115
115
-
};
116
116
-
host = lib.mkOption {
117
117
-
description = '''';
118
118
-
type = lib.types.attrTag {
119
119
-
plain = lib.mkOption {
120
120
-
type = lib.types.str;
121
121
-
description = ''
122
122
-
a plain value, which can be read directly from the config
123
123
-
'';
124
124
-
};
125
125
-
var = lib.mkOption {
126
126
-
type = lib.types.submodule {
127
127
-
options = {
128
128
-
machine = lib.mkOption {
129
129
-
type = lib.types.str;
130
130
-
example = "jon";
131
131
-
};
132
132
-
generator = lib.mkOption {
133
133
-
type = lib.types.str;
134
134
-
example = "tor-ssh";
135
135
-
};
136
136
-
file = lib.mkOption {
137
137
-
type = lib.types.str;
138
138
-
example = "hostname";
139
139
-
};
140
140
-
};
141
141
-
};
142
142
-
};
143
143
-
};
144
144
-
};
145
145
-
};
146
146
-
}
147
147
-
)
148
148
-
);
149
149
-
};
150
150
-
};
151
151
-
};
152
75
modules = import ./clan_modules { inherit nixpkgs; };
153
76
inventory = {
154
77
meta.name = "superconfig";
···
178
101
};
179
102
instances = {
180
103
tor = {
181
181
-
module.name = "tor";
182
182
-
module.input = "self";
183
104
roles.default.tags.all = { };
184
105
};
185
106
internet = {
186
186
-
module.name = "internet";
187
187
-
module.input = "self";
188
107
roles.default.machines = {
189
189
-
prism.settings.host = "prism.lassul.us";
190
190
-
neoprism.settings.host = "neoprism.lassul.us";
108
108
+
prism.settings.host = "ssh://prism.lassul.us:45621";
109
109
+
neoprism.settings.host = "ssh://neoprism.lassul.us:45621";
191
110
};
192
111
};
193
112
state-version = {