tangled
alpha
login
or
join now
julien.rbrt.fr
/
tangled-core
forked from
tangled.org/core
0
fork
atom
Monorepo for Tangled — https://tangled.org
0
fork
atom
overview
issues
pulls
pipelines
nix fmt the flake
oppi.li
1 year ago
5014bb60
de92929c
+117
-124
1 changed file
expand all
collapse all
unified
split
flake.nix
+117
-124
flake.nix
···
21
21
};
22
22
};
23
23
24
24
-
outputs =
25
25
-
{ self
26
26
-
, nixpkgs
27
27
-
, indigo
28
28
-
, htmx-src
29
29
-
, lucide-src
30
30
-
, gitignore
31
31
-
,
32
32
-
}:
33
33
-
let
34
34
-
supportedSystems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
35
35
-
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
36
36
-
nixpkgsFor = forAllSystems (system:
37
37
-
import nixpkgs {
38
38
-
inherit system;
39
39
-
overlays = [ self.overlays.default ];
40
40
-
});
41
41
-
inherit (gitignore.lib) gitignoreSource;
42
42
-
in
43
43
-
{
44
44
-
overlays.default = final: prev: {
45
45
-
indigo-lexgen = with final;
46
46
-
final.buildGoModule {
47
47
-
pname = "indigo-lexgen";
48
48
-
version = "0.1.0";
49
49
-
src = indigo;
50
50
-
subPackages = [ "cmd/lexgen" ];
51
51
-
vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs=";
52
52
-
doCheck = false;
53
53
-
};
24
24
+
outputs = {
25
25
+
self,
26
26
+
nixpkgs,
27
27
+
indigo,
28
28
+
htmx-src,
29
29
+
lucide-src,
30
30
+
gitignore,
31
31
+
}: let
32
32
+
supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
33
33
+
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
34
34
+
nixpkgsFor = forAllSystems (system:
35
35
+
import nixpkgs {
36
36
+
inherit system;
37
37
+
overlays = [self.overlays.default];
38
38
+
});
39
39
+
inherit (gitignore.lib) gitignoreSource;
40
40
+
in {
41
41
+
overlays.default = final: prev: {
42
42
+
indigo-lexgen = with final;
43
43
+
final.buildGoModule {
44
44
+
pname = "indigo-lexgen";
45
45
+
version = "0.1.0";
46
46
+
src = indigo;
47
47
+
subPackages = ["cmd/lexgen"];
48
48
+
vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs=";
49
49
+
doCheck = false;
50
50
+
};
54
51
55
55
-
appview = with final;
56
56
-
final.pkgsStatic.buildGoModule {
57
57
-
pname = "appview";
58
58
-
version = "0.1.0";
59
59
-
src = gitignoreSource ./.;
60
60
-
postUnpack = ''
61
61
-
pushd source
62
62
-
cp -f ${htmx-src} appview/pages/static/htmx.min.js
63
63
-
cp -f ${lucide-src} appview/pages/static/lucide.min.js
64
64
-
${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css
65
65
-
popd
66
66
-
'';
67
67
-
doCheck = false;
68
68
-
subPackages = [ "cmd/appview" ];
69
69
-
vendorHash = "sha256-u9LwvapAwyVOIOAag0IRrk+ot6B0PaqyEnt0EeJciGQ=";
70
70
-
env.CGO_ENABLED = 1;
71
71
-
stdenv = pkgsStatic.stdenv;
72
72
-
};
73
73
-
knotserver = with final;
74
74
-
final.pkgsStatic.buildGoModule {
75
75
-
pname = "knotserver";
76
76
-
version = "0.1.0";
77
77
-
src = gitignoreSource ./.;
78
78
-
subPackages = [ "cmd/knotserver" ];
79
79
-
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
80
80
-
env.CGO_ENABLED = 1;
81
81
-
};
82
82
-
repoguard = with final;
83
83
-
final.pkgsStatic.buildGoModule {
84
84
-
pname = "repoguard";
85
85
-
version = "0.1.0";
86
86
-
src = gitignoreSource ./.;
87
87
-
subPackages = [ "cmd/repoguard" ];
88
88
-
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
89
89
-
env.CGO_ENABLED = 0;
90
90
-
};
91
91
-
keyfetch = with final;
92
92
-
final.pkgsStatic.buildGoModule {
93
93
-
pname = "keyfetch";
94
94
-
version = "0.1.0";
95
95
-
src = gitignoreSource ./.;
96
96
-
subPackages = [ "cmd/keyfetch" ];
97
97
-
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
98
98
-
env.CGO_ENABLED = 0;
99
99
-
};
52
52
+
appview = with final;
53
53
+
final.pkgsStatic.buildGoModule {
54
54
+
pname = "appview";
55
55
+
version = "0.1.0";
56
56
+
src = gitignoreSource ./.;
57
57
+
postUnpack = ''
58
58
+
pushd source
59
59
+
cp -f ${htmx-src} appview/pages/static/htmx.min.js
60
60
+
cp -f ${lucide-src} appview/pages/static/lucide.min.js
61
61
+
${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o appview/pages/static/tw.css
62
62
+
popd
63
63
+
'';
64
64
+
doCheck = false;
65
65
+
subPackages = ["cmd/appview"];
66
66
+
vendorHash = "sha256-u9LwvapAwyVOIOAag0IRrk+ot6B0PaqyEnt0EeJciGQ=";
67
67
+
env.CGO_ENABLED = 1;
68
68
+
stdenv = pkgsStatic.stdenv;
69
69
+
};
70
70
+
knotserver = with final;
71
71
+
final.pkgsStatic.buildGoModule {
72
72
+
pname = "knotserver";
73
73
+
version = "0.1.0";
74
74
+
src = gitignoreSource ./.;
75
75
+
subPackages = ["cmd/knotserver"];
76
76
+
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
77
77
+
env.CGO_ENABLED = 1;
78
78
+
};
79
79
+
repoguard = with final;
80
80
+
final.pkgsStatic.buildGoModule {
81
81
+
pname = "repoguard";
82
82
+
version = "0.1.0";
83
83
+
src = gitignoreSource ./.;
84
84
+
subPackages = ["cmd/repoguard"];
85
85
+
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
86
86
+
env.CGO_ENABLED = 0;
87
87
+
};
88
88
+
keyfetch = with final;
89
89
+
final.pkgsStatic.buildGoModule {
90
90
+
pname = "keyfetch";
91
91
+
version = "0.1.0";
92
92
+
src = gitignoreSource ./.;
93
93
+
subPackages = ["cmd/keyfetch"];
94
94
+
vendorHash = "sha256-t7lWrCyFWCI7zjUcC6XNWzCrUPSCFnFu9gTmRTsYrz0=";
95
95
+
env.CGO_ENABLED = 0;
96
96
+
};
97
97
+
};
98
98
+
packages = forAllSystems (system: {
99
99
+
inherit (nixpkgsFor."${system}") indigo-lexgen appview knotserver repoguard keyfetch;
100
100
+
});
101
101
+
defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview);
102
102
+
formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra);
103
103
+
devShells = forAllSystems (system: let
104
104
+
pkgs = nixpkgsFor.${system};
105
105
+
staticShell = pkgs.mkShell.override {
106
106
+
stdenv = pkgs.pkgsStatic.stdenv;
107
107
+
};
108
108
+
in {
109
109
+
default = staticShell {
110
110
+
nativeBuildInputs = [
111
111
+
pkgs.go
112
112
+
pkgs.air
113
113
+
pkgs.gopls
114
114
+
pkgs.httpie
115
115
+
pkgs.indigo-lexgen
116
116
+
pkgs.litecli
117
117
+
pkgs.websocat
118
118
+
pkgs.tailwindcss
119
119
+
];
100
120
};
101
101
-
packages = forAllSystems (system: {
102
102
-
inherit (nixpkgsFor."${system}") indigo-lexgen appview knotserver repoguard keyfetch;
103
103
-
});
104
104
-
defaultPackage = forAllSystems (system: nixpkgsFor.${system}.appview);
105
105
-
formatter = forAllSystems (system: nixpkgsFor."${system}".alejandra);
106
106
-
devShells = forAllSystems (system:
107
107
-
let
108
108
-
pkgs = nixpkgsFor.${system};
109
109
-
staticShell = pkgs.mkShell.override {
110
110
-
stdenv = pkgs.pkgsStatic.stdenv;
111
111
-
};
112
112
-
in
113
113
-
{
114
114
-
default = staticShell {
115
115
-
nativeBuildInputs = [
116
116
-
pkgs.go
117
117
-
pkgs.air
118
118
-
pkgs.gopls
119
119
-
pkgs.httpie
120
120
-
pkgs.indigo-lexgen
121
121
-
pkgs.litecli
122
122
-
pkgs.websocat
123
123
-
pkgs.tailwindcss
124
124
-
];
125
125
-
};
126
126
-
});
127
127
-
apps = forAllSystems (system:
128
128
-
let
129
129
-
pkgs = nixpkgsFor."${system}";
130
130
-
air-watcher = name:
131
131
-
pkgs.writeShellScriptBin "run"
132
132
-
''
133
133
-
${pkgs.air}/bin/air -c /dev/null \
134
134
-
-build.cmd "${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o ./appview/pages/static/tw.css && ${pkgs.go}/bin/go build -o ./out/${name}.out ./cmd/${name}/main.go" \
135
135
-
-build.bin "./out/${name}.out" \
136
136
-
-build.include_ext "go,html,css"
137
137
-
'';
138
138
-
in
139
139
-
{
140
140
-
watch-appview = {
141
141
-
type = "app";
142
142
-
program = ''${air-watcher "appview"}/bin/run'';
143
143
-
};
144
144
-
watch-knotserver = {
145
145
-
type = "app";
146
146
-
program = ''${air-watcher "knotserver"}/bin/run'';
147
147
-
};
148
148
-
});
149
149
-
};
121
121
+
});
122
122
+
apps = forAllSystems (system: let
123
123
+
pkgs = nixpkgsFor."${system}";
124
124
+
air-watcher = name:
125
125
+
pkgs.writeShellScriptBin "run"
126
126
+
''
127
127
+
${pkgs.air}/bin/air -c /dev/null \
128
128
+
-build.cmd "${pkgs.tailwindcss}/bin/tailwindcss -i input.css -o ./appview/pages/static/tw.css && ${pkgs.go}/bin/go build -o ./out/${name}.out ./cmd/${name}/main.go" \
129
129
+
-build.bin "./out/${name}.out" \
130
130
+
-build.include_ext "go,html,css"
131
131
+
'';
132
132
+
in {
133
133
+
watch-appview = {
134
134
+
type = "app";
135
135
+
program = ''${air-watcher "appview"}/bin/run'';
136
136
+
};
137
137
+
watch-knotserver = {
138
138
+
type = "app";
139
139
+
program = ''${air-watcher "knotserver"}/bin/run'';
140
140
+
};
141
141
+
});
142
142
+
};
150
143
}