···
75
75
"type": "github"
76
76
}
77
77
},
78
78
+
"crane_2": {
79
79
+
"locked": {
80
80
+
"lastModified": 1771438068,
81
81
+
"narHash": "sha256-nGBbXvEZVe/egCPVPFcu89RFtd8Rf6J+4RFoVCFec0A=",
82
82
+
"owner": "ipetkov",
83
83
+
"repo": "crane",
84
84
+
"rev": "b5090e53e9d68c523a4bb9ad42b4737ee6747597",
85
85
+
"type": "github"
86
86
+
},
87
87
+
"original": {
88
88
+
"owner": "ipetkov",
89
89
+
"repo": "crane",
90
90
+
"type": "github"
91
91
+
}
92
92
+
},
78
93
"darwin": {
79
94
"inputs": {
80
95
"nixpkgs": [
···
97
112
"type": "github"
98
113
}
99
114
},
115
115
+
"fenix": {
116
116
+
"inputs": {
117
117
+
"nixpkgs": [
118
118
+
"trmnl-rs",
119
119
+
"nixpkgs"
120
120
+
],
121
121
+
"rust-analyzer-src": "rust-analyzer-src"
122
122
+
},
123
123
+
"locked": {
124
124
+
"lastModified": 1757400094,
125
125
+
"narHash": "sha256-5Rcs6juMoMTaMJSR1glravl4QB9yLAFBD8s7KLi4kdQ=",
126
126
+
"owner": "nix-community",
127
127
+
"repo": "fenix",
128
128
+
"rev": "0682b9b518792c9428865c511a4c40c9ad85c243",
129
129
+
"type": "github"
130
130
+
},
131
131
+
"original": {
132
132
+
"owner": "nix-community",
133
133
+
"repo": "fenix",
134
134
+
"type": "github"
135
135
+
}
136
136
+
},
100
137
"flake-utils": {
101
138
"locked": {
102
139
"lastModified": 1678901627,
···
104
141
"owner": "numtide",
105
142
"repo": "flake-utils",
106
143
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
144
144
+
"type": "github"
145
145
+
},
146
146
+
"original": {
147
147
+
"owner": "numtide",
148
148
+
"repo": "flake-utils",
149
149
+
"type": "github"
150
150
+
}
151
151
+
},
152
152
+
"flake-utils_2": {
153
153
+
"inputs": {
154
154
+
"systems": "systems_2"
155
155
+
},
156
156
+
"locked": {
157
157
+
"lastModified": 1731533236,
158
158
+
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
159
159
+
"owner": "numtide",
160
160
+
"repo": "flake-utils",
161
161
+
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
107
162
"type": "github"
108
163
},
109
164
"original": {
···
299
354
"type": "github"
300
355
}
301
356
},
357
357
+
"nixpkgs-stable_2": {
358
358
+
"locked": {
359
359
+
"lastModified": 1757408970,
360
360
+
"narHash": "sha256-aSgK4BLNFFGvDTNKPeB28lVXYqVn8RdyXDNAvgGq+k0=",
361
361
+
"owner": "NixOS",
362
362
+
"repo": "nixpkgs",
363
363
+
"rev": "d179d77c139e0a3f5c416477f7747e9d6b7ec315",
364
364
+
"type": "github"
365
365
+
},
366
366
+
"original": {
367
367
+
"owner": "NixOS",
368
368
+
"ref": "nixos-25.05",
369
369
+
"repo": "nixpkgs",
370
370
+
"type": "github"
371
371
+
}
372
372
+
},
302
373
"nixpkgs_2": {
303
374
"locked": {
304
375
"lastModified": 1748162331,
···
391
462
"nixos-hardware": "nixos-hardware",
392
463
"nixpkgs": "nixpkgs_5",
393
464
"organelle-hello": "organelle-hello",
465
465
+
"trmnl-rs": "trmnl-rs",
394
466
"zen-browser": "zen-browser"
395
467
}
396
468
},
469
469
+
"rust-analyzer-src": {
470
470
+
"flake": false,
471
471
+
"locked": {
472
472
+
"lastModified": 1757362324,
473
473
+
"narHash": "sha256-/PAhxheUq4WBrW5i/JHzcCqK5fGWwLKdH6/Lu1tyS18=",
474
474
+
"owner": "rust-lang",
475
475
+
"repo": "rust-analyzer",
476
476
+
"rev": "9edc9cbe5d8e832b5864e09854fa94861697d2fd",
477
477
+
"type": "github"
478
478
+
},
479
479
+
"original": {
480
480
+
"owner": "rust-lang",
481
481
+
"ref": "nightly",
482
482
+
"repo": "rust-analyzer",
483
483
+
"type": "github"
484
484
+
}
485
485
+
},
397
486
"systems": {
398
487
"locked": {
399
488
"lastModified": 1681028828,
···
406
495
"original": {
407
496
"owner": "nix-systems",
408
497
"repo": "default",
498
498
+
"type": "github"
499
499
+
}
500
500
+
},
501
501
+
"systems_2": {
502
502
+
"locked": {
503
503
+
"lastModified": 1681028828,
504
504
+
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
505
505
+
"owner": "nix-systems",
506
506
+
"repo": "default",
507
507
+
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
508
508
+
"type": "github"
509
509
+
},
510
510
+
"original": {
511
511
+
"owner": "nix-systems",
512
512
+
"repo": "default",
513
513
+
"type": "github"
514
514
+
}
515
515
+
},
516
516
+
"trmnl-rs": {
517
517
+
"inputs": {
518
518
+
"crane": "crane_2",
519
519
+
"fenix": "fenix",
520
520
+
"flake-utils": "flake-utils_2",
521
521
+
"nixpkgs": [
522
522
+
"nixpkgs"
523
523
+
],
524
524
+
"nixpkgs-stable": "nixpkgs-stable_2"
525
525
+
},
526
526
+
"locked": {
527
527
+
"lastModified": 1771700760,
528
528
+
"narHash": "sha256-MFB/CnTdDxzpktpoWEeL855rPACBw8fDmSTOnjKLaHU=",
529
529
+
"owner": "seanaye",
530
530
+
"repo": "trmnl-rs",
531
531
+
"rev": "b5e56dc623e7658d67d97ac1c08e17f2673c4b44",
532
532
+
"type": "github"
533
533
+
},
534
534
+
"original": {
535
535
+
"owner": "seanaye",
536
536
+
"repo": "trmnl-rs",
409
537
"type": "github"
410
538
}
411
539
},
···
27
27
url = "path:/home/sean/dev/organelle-hello";
28
28
inputs.nixpkgs.follows = "nixpkgs";
29
29
};
30
30
+
trmnl-rs = {
31
31
+
url = "github:seanaye/trmnl-rs";
32
32
+
inputs.nixpkgs.follows = "nixpkgs";
33
33
+
};
30
34
};
31
35
32
36
outputs =
···
1
1
{
2
2
pkgs,
3
3
config,
4
4
+
inputs,
4
5
...
5
6
}:
6
7
···
369
370
value = "8192";
370
371
}
371
372
];
373
373
+
374
374
+
# trmnl-rs server
375
375
+
systemd.services.trmnl-rs = {
376
376
+
description = "TRMNL Server";
377
377
+
wantedBy = [ "multi-user.target" ];
378
378
+
after = [ "network.target" ];
379
379
+
serviceConfig = {
380
380
+
ExecStart = "${inputs.trmnl-rs.packages.x86_64-linux.default}/bin/server";
381
381
+
Restart = "on-failure";
382
382
+
DynamicUser = true;
383
383
+
StateDirectory = "trmnl-rs";
384
384
+
WorkingDirectory = "/var/lib/trmnl-rs";
385
385
+
};
386
386
+
};
372
387
373
388
# Open ports in the firewall.
374
389
networking.firewall.allowedTCPPorts = [