Monorepo for Tangled tangled.org

flake: remove overlay usage in modules, fix appview module and minor formatting

Users of the knotserver module not using `nixos-unstable` faces the error linked below when rebuilding their system. Removing the usage of overlays, and instead using the existing `self.packages` functionality allow packages to be less dependent on the user's configuration, avoids a pitfall like this and is thus more reproducible.

This patch also fixes the appview module referencing a non-existent package.

This patch also removes redundant usages of `with final;` and includes some minor formatting done by alejandra.

Minimum example: https://akyuu.soopy.moe/dGNHld.nix
Example build failure with master branch tip: https://akyuu.soopy.moe/4aNh8c.txt

Tangled 3e435660 bf37556b

Changed files
+28 -31
+28 -31
flake.nix
··· 55 env.CGO_ENABLED = 0; 56 }; 57 in { 58 - indigo-lexgen = with final; 59 - final.buildGoModule { 60 - pname = "indigo-lexgen"; 61 - version = "0.1.0"; 62 - src = indigo; 63 - subPackages = ["cmd/lexgen"]; 64 - vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs="; 65 - doCheck = false; 66 - }; 67 68 appview = with final; 69 final.pkgsStatic.buildGoModule { ··· 108 ''; 109 env.CGO_ENABLED = 1; 110 }; 111 - knotserver-unwrapped = with final; 112 - final.pkgsStatic.buildGoModule { 113 - pname = "knotserver"; 114 - version = "0.1.0"; 115 - src = gitignoreSource ./.; 116 - subPackages = ["cmd/knotserver"]; 117 - vendorHash = goModHash; 118 - env.CGO_ENABLED = 1; 119 - }; 120 repoguard = buildCmdPackage "repoguard"; 121 keyfetch = buildCmdPackage "keyfetch"; 122 }; ··· 208 }; 209 210 config = mkIf config.services.tangled-appview.enable { 211 - nixpkgs.overlays = [self.overlays.default]; 212 systemd.services.tangled-appview = { 213 description = "tangled appview service"; 214 wantedBy = ["multi-user.target"]; 215 216 serviceConfig = { 217 ListenStream = "0.0.0.0:${toString config.services.tangled-appview.port}"; 218 - ExecStart = "${pkgs.tangled-appview}/bin/tangled-appview"; 219 Restart = "always"; 220 }; 221 ··· 309 }; 310 311 config = mkIf config.services.tangled-knotserver.enable { 312 - nixpkgs.overlays = [self.overlays.default]; 313 - 314 environment.systemPackages = with pkgs; [git]; 315 316 system.activationScripts.gitConfig = '' 317 - mkdir -p /home/git/.config/git 318 - cat > /home/git/.config/git/config << EOF 319 - [user] 320 - name = Git User 321 - email = git@example.com 322 - EOF 323 - chown -R git:git /home/git/.config 324 ''; 325 326 users.users.git = { ··· 346 mode = "0555"; 347 text = '' 348 #!${pkgs.stdenv.shell} 349 - ${pkgs.keyfetch}/bin/keyfetch -repoguard-path ${pkgs.repoguard}/bin/repoguard -log-path /tmp/repoguard.log 350 ''; 351 }; 352 ··· 365 "KNOT_SERVER_SECRET=${config.services.tangled-knotserver.server.secret}" 366 "KNOT_SERVER_HOSTNAME=${config.services.tangled-knotserver.server.hostname}" 367 ]; 368 - ExecStart = "${pkgs.knotserver}/bin/knotserver"; 369 Restart = "always"; 370 }; 371 };
··· 55 env.CGO_ENABLED = 0; 56 }; 57 in { 58 + indigo-lexgen = final.buildGoModule { 59 + pname = "indigo-lexgen"; 60 + version = "0.1.0"; 61 + src = indigo; 62 + subPackages = ["cmd/lexgen"]; 63 + vendorHash = "sha256-pGc29fgJFq8LP7n/pY1cv6ExZl88PAeFqIbFEhB3xXs="; 64 + doCheck = false; 65 + }; 66 67 appview = with final; 68 final.pkgsStatic.buildGoModule { ··· 107 ''; 108 env.CGO_ENABLED = 1; 109 }; 110 + knotserver-unwrapped = final.pkgsStatic.buildGoModule { 111 + pname = "knotserver"; 112 + version = "0.1.0"; 113 + src = gitignoreSource ./.; 114 + subPackages = ["cmd/knotserver"]; 115 + vendorHash = goModHash; 116 + env.CGO_ENABLED = 1; 117 + }; 118 repoguard = buildCmdPackage "repoguard"; 119 keyfetch = buildCmdPackage "keyfetch"; 120 }; ··· 206 }; 207 208 config = mkIf config.services.tangled-appview.enable { 209 systemd.services.tangled-appview = { 210 description = "tangled appview service"; 211 wantedBy = ["multi-user.target"]; 212 213 serviceConfig = { 214 ListenStream = "0.0.0.0:${toString config.services.tangled-appview.port}"; 215 + ExecStart = "${self.packages.${pkgs.system}.appview}/bin/appview"; 216 Restart = "always"; 217 }; 218 ··· 306 }; 307 308 config = mkIf config.services.tangled-knotserver.enable { 309 environment.systemPackages = with pkgs; [git]; 310 311 system.activationScripts.gitConfig = '' 312 + mkdir -p /home/git/.config/git 313 + cat > /home/git/.config/git/config << EOF 314 + [user] 315 + name = Git User 316 + email = git@example.com 317 + EOF 318 + chown -R git:git /home/git/.config 319 ''; 320 321 users.users.git = { ··· 341 mode = "0555"; 342 text = '' 343 #!${pkgs.stdenv.shell} 344 + ${self.packages.${pkgs.system}.keyfetch}/bin/keyfetch \ 345 + -repoguard-path ${self.packages.${pkgs.system}.repoguard}/bin/repoguard \ 346 + -log-path /tmp/repoguard.log 347 ''; 348 }; 349 ··· 362 "KNOT_SERVER_SECRET=${config.services.tangled-knotserver.server.secret}" 363 "KNOT_SERVER_HOSTNAME=${config.services.tangled-knotserver.server.hostname}" 364 ]; 365 + ExecStart = "${self.packages.${pkgs.system}.knotserver}/bin/knotserver"; 366 Restart = "always"; 367 }; 368 };