tangled
alpha
login
or
join now
ladas552.me
/
Flake-ocean
0
fork
atom
My NixOS config Part 3: Flake-Parts Crusaders
nix.ladas552.me
hjem
nix
nixos
impermanence
flake-parts
nvfetcher
niri
noctalia
0
fork
atom
overview
issues
pulls
pipelines
enabling spindle to see how it works
Ladas552
3 weeks ago
edb5f006
d0dffdd2
+65
-87
6 changed files
expand all
collapse all
unified
split
flake.lock
modules
homeBrew
default.nix
fastfetch.nix
hosts
NixWool
nixwool.nix
nixosModules
Server
tangled.nix
userModules
fastfetch.nix
+10
-10
flake.lock
···
96
96
"treefmt-nix": []
97
97
},
98
98
"locked": {
99
99
-
"lastModified": 1766394058,
100
100
-
"narHash": "sha256-P+59TbVusYqdx2Jt2liwvQ+hslUzU6M1ezRDy6c66Tc=",
99
99
+
"lastModified": 1771360153,
100
100
+
"narHash": "sha256-saDMqTzgo5nDMBCK9M2a0TrDpOCgat5zBYQh1+/AJ6s=",
101
101
"owner": "snugnug",
102
102
"repo": "hjem-rum",
103
103
-
"rev": "edac54b7d57ad72cc4b124da2f44e7b2e584f3c6",
103
103
+
"rev": "4a62226588cdbaef46a23c207a151d9a71961d98",
104
104
"type": "github"
105
105
},
106
106
"original": {
···
293
293
]
294
294
},
295
295
"locked": {
296
296
-
"lastModified": 1771274219,
297
297
-
"narHash": "sha256-n7CZAK+mTko+y3SSwvFt49AD1RNLY2KcHypcoly8HVc=",
296
296
+
"lastModified": 1771331465,
297
297
+
"narHash": "sha256-lTWc6reKRLQfhh4uRsBWGbdwcHt5fQpOxt6jueHZ20c=",
298
298
"owner": "notashelf",
299
299
"repo": "nvf",
300
300
-
"rev": "99bf160aaef28d47f1818deffe662ce1c4d6e6a1",
300
300
+
"rev": "0c650e0801aebbfc2817c11140c90768c178b13b",
301
301
"type": "github"
302
302
},
303
303
"original": {
···
413
413
"sqlite-lib-src": "sqlite-lib-src"
414
414
},
415
415
"locked": {
416
416
-
"lastModified": 1771310966,
417
417
-
"narHash": "sha256-Stv96R6WW+FpXsSKfILauEIcTacRSZcEaTHy17yTsNY=",
416
416
+
"lastModified": 1771327841,
417
417
+
"narHash": "sha256-+89GXfhKRS63egvI7YmdYPSzKKiOEIrW1UFNwsLLP4Q=",
418
418
"ref": "refs/heads/master",
419
419
-
"rev": "df9dddd24e954f28be6151ec9c4a5b4726e7eabf",
420
420
-
"revCount": 1973,
419
419
+
"rev": "8817c3ca119d07abef6871d2bd3d967e92e9bf20",
420
420
+
"revCount": 1975,
421
421
"type": "git",
422
422
"url": "https://tangled.org/@tangled.org/core"
423
423
},
-1
modules/homeBrew/default.nix
···
6
6
mpdris2-brew
7
7
syncthing-brew
8
8
userDirs-brew
9
9
-
fastfetch-brew
10
9
imv-brew
11
10
chawan-brew
12
11
];
-62
modules/homeBrew/fastfetch.nix
···
1
1
-
{
2
2
-
flake.modules.hjem.fastfetch-brew =
3
3
-
{
4
4
-
lib,
5
5
-
pkgs,
6
6
-
config,
7
7
-
...
8
8
-
}:
9
9
-
let
10
10
-
inherit (lib)
11
11
-
mkEnableOption
12
12
-
mkPackageOption
13
13
-
mkOption
14
14
-
mkIf
15
15
-
;
16
16
-
json = pkgs.formats.json { };
17
17
-
cfg = config.rum.programs.fastfetch;
18
18
-
19
19
-
in
20
20
-
{
21
21
-
22
22
-
options.rum.programs.fastfetch = {
23
23
-
enable = mkEnableOption "Fastfetch";
24
24
-
25
25
-
package = mkPackageOption pkgs "fastfetch" { nullable = true; };
26
26
-
27
27
-
settings = mkOption {
28
28
-
type = json.type;
29
29
-
default = { };
30
30
-
example = {
31
31
-
logo.source = "nixos_old_small";
32
32
-
display = {
33
33
-
constants = [ "██ " ];
34
34
-
};
35
35
-
modules = [
36
36
-
{
37
37
-
key = "{$1}Distro";
38
38
-
keyColor = "38;5;210";
39
39
-
type = "os";
40
40
-
}
41
41
-
];
42
42
-
};
43
43
-
description = ''
44
44
-
The configuration written to {file}`$XDG_CONFIG_HOME/fastfetch/config.jsonc`.
45
45
-
Please reference [Json Schema] for more information.
46
46
-
47
47
-
[Json Schema]: https://gitlab.com/CarterLi/fastfetch/-/wikis/Json-Schema
48
48
-
'';
49
49
-
};
50
50
-
};
51
51
-
52
52
-
config = mkIf cfg.enable {
53
53
-
packages = lib.mkIf (cfg.package != null) [ cfg.package ];
54
54
-
55
55
-
xdg.config.files = {
56
56
-
"fastfetch/config.jsonc" = mkIf (cfg.settings != { }) {
57
57
-
source = json.generate "fastfetch-config.jsonc" cfg.settings;
58
58
-
};
59
59
-
};
60
60
-
};
61
61
-
};
62
62
-
}
+18
modules/hosts/NixWool/nixwool.nix
···
41
41
globalConfig = ''
42
42
email me@ladas552.me
43
43
'';
44
44
+
virtualHosts = {
45
45
+
"blog.ladas552.me" = {
46
46
+
extraConfig = ''
47
47
+
handle {
48
48
+
reverse_proxy http://127.0.0.1:1313
49
49
+
}
50
50
+
'';
51
51
+
};
52
52
+
"nix.ladas552.me" = {
53
53
+
extraConfig = ''
54
54
+
handle {
55
55
+
reverse_proxy http://127.0.0.1:3131
56
56
+
}
57
57
+
'';
58
58
+
};
59
59
+
};
44
60
};
45
61
46
62
# ZFS needs it
47
63
networking.hostId = "fcb8b0b0";
48
64
65
65
+
# No
49
66
system.stateVersion = "26.05"; # Did you read the comment?
50
67
51
68
# It's a 2 vCPU server
···
54
71
max-jobs = lib.mkForce 1;
55
72
};
56
73
74
74
+
# I don't have firewall enabled, firewall is managed by hetzner, but just to be sure I added these ports
57
75
networking.firewall.allowedTCPPorts = [
58
76
80
59
77
443
+37
-13
modules/nixosModules/Server/tangled.nix
···
1
1
{ inputs, ... }:
2
2
{
3
3
flake.modules.nixos.tangled =
4
4
-
{ config, ... }:
4
4
+
{ config, lib, ... }:
5
5
let
6
6
cfg = config.services.tangled.knot;
7
7
in
···
29
29
owner = "did:plc:6ikdlkw64mrjygj6cea62kn4"; # @ladas552.me
30
30
};
31
31
};
32
32
-
# spindle = {
33
33
-
# enable = true;
34
34
-
# server = {
35
35
-
# listenAddr = "0.0.0.0:${toString ds.port}";
36
36
-
# hostname = ds.extUrl;
37
37
-
# owner = "did:plc:6ikdlkw64mrjygj6cea62kn4";
38
38
-
# };
39
39
-
# pipelines.workflowTimeout = "10m";
40
40
-
# };
32
32
+
spindle = {
33
33
+
enable = true;
34
34
+
server = {
35
35
+
listenAddr = "0.0.0.0:6555";
36
36
+
hostname = "spindle.ladas552.me";
37
37
+
owner = "did:plc:6ikdlkw64mrjygj6cea62kn4";
38
38
+
};
39
39
+
pipelines.workflowTimeout = "10m";
40
40
+
};
41
41
};
42
42
};
43
43
44
44
+
# use podman instead of docker for spindle
45
45
+
virtualisation.podman = {
46
46
+
enable = true;
47
47
+
# create a `docker` alias for podman, to use it as a drop-in replacement
48
48
+
dockerCompat = true;
49
49
+
# required for containers under podman-compose to be able to talk to each other.
50
50
+
defaultNetwork.settings.dns_enabled = true;
51
51
+
};
52
52
+
53
53
+
virtualisation.docker.enable = lib.mkForce false;
54
54
+
44
55
# Reverse proxy
45
45
-
services.caddy.virtualHosts."git.ladas552.me" = {
46
46
-
extraConfig = ''
56
56
+
services.caddy.virtualHosts = {
57
57
+
"git.ladas552.me".extraConfig = ''
47
58
handle {
48
59
reverse_proxy http://127.0.0.1:3050
49
60
}
50
61
'';
62
62
+
"spindle.ladas552.me".extraConfig = ''
63
63
+
handle {
64
64
+
reverse_proxy http://127.0.0.1:6555
65
65
+
}
66
66
+
'';
51
67
};
52
68
53
69
# persist for Impermanence
54
54
-
custom.imp.root.directories = [ "/home/git" ];
70
70
+
custom.imp.root = {
71
71
+
directories = [
72
72
+
"/home/git"
73
73
+
];
74
74
+
cache.directories = [
75
75
+
"/var/lib/containers"
76
76
+
"/var/log/spindle"
77
77
+
];
78
78
+
};
55
79
};
56
80
}
-1
modules/userModules/fastfetch.nix
···
51
51
};
52
52
in
53
53
{
54
54
-
# fastfetch hjem-rum is from https://github.com/snugnug/hjem-rum/pull/172
55
54
hjem.fastfetch.rum.programs.fastfetch = config-fastfetch;
56
55
homeManager.fastfetch.programs.fastfetch = config-fastfetch;
57
56
};