diff options
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/hosts/tente/default.nix | 56 | ||||
-rw-r--r-- | nixos/hosts/tente/monitoring.nix | 9 | ||||
-rw-r--r-- | nixos/npins/sources.json | 30 | ||||
-rw-r--r-- | nixos/profiles/workstation/dev.nix | 6 |
4 files changed, 85 insertions, 16 deletions
diff --git a/nixos/hosts/tente/default.nix b/nixos/hosts/tente/default.nix index 8904ba7..7ecb793 100644 --- a/nixos/hosts/tente/default.nix +++ b/nixos/hosts/tente/default.nix @@ -6,7 +6,7 @@ { config, lib, pkgs, ... }: let - domain = "push-f.com"; + baseDomain = "push-f.com"; acmeEmail = "martin@push-f.com"; sources = import ../../npins; helpers = import <top/helpers.nix> { inherit config; }; @@ -23,29 +23,52 @@ in ./headscale.nix ./matrix.nix ./monitoring.nix + "${sources.my-lex-surf}/service.nix" "${sources.my-osm-proposals}/service.nix" "${sources.my-geopos-link}/service.nix" + "${sources.my-rust-features}/service.nix" "${sources.my-spec-pub}/service.nix" ]; - web-personal.domain = domain; + web-personal.domain = baseDomain; web-personal.matrixApiDomain = config.matrix.apiDomain; - git.webUiDomain = "git.${domain}"; - headscale.domain = "tailscale.${domain}"; - matrix.serverName = domain; - matrix.apiDomain = "matrix.${domain}"; + git.webUiDomain = "git.${baseDomain}"; + headscale.domain = "tailscale.${baseDomain}"; + matrix.serverName = baseDomain; + matrix.apiDomain = "matrix.${baseDomain}"; + + users.users.www-generator = { + isSystemUser = true; + group = "www-generator"; + }; + users.groups.www-generator = {}; + + services.lex-surf = + let + domain = "lex.surf"; + in + { + enable = true; + domain = domain; + enableACME = true; + fetchUser = "www-generator"; + nginx = { + forceSSL = true; + extraConfig = helpers.mkNginxConfig domain; + }; + }; services.osm_proposals = let - subdomain = "osm-proposals.${domain}"; + domain = "osm-proposals.${baseDomain}"; in { enable = true; - virtualHost = subdomain; + virtualHost = domain; nginx = { enableACME = true; forceSSL = true; - extraConfig = helpers.mkNginxConfig subdomain; + extraConfig = helpers.mkNginxConfig domain; }; }; @@ -63,6 +86,21 @@ in }; }; + services.rust-features = + let + domain = "rust-features.${baseDomain}"; + in + { + enable = true; + user = "www-generator"; + virtualHost = domain; + nginx = { + enableACME = true; + forceSSL = true; + extraConfig = helpers.mkNginxConfig domain; + }; + }; + services.spec-pub = let domain = "spec.pub"; diff --git a/nixos/hosts/tente/monitoring.nix b/nixos/hosts/tente/monitoring.nix index 7e92eed..eaddacb 100644 --- a/nixos/hosts/tente/monitoring.nix +++ b/nixos/hosts/tente/monitoring.nix @@ -180,8 +180,8 @@ in forward_to = [loki.write.default.receiver] stage.match { - // Select messages from systemd services that have LogExtraFields=log_format=logfmt. - selector = "{__journal_log_format=\"logfmt\"}" + // Select messages from systemd services that have LogExtraFields=LOG_FORMAT=logfmt. + selector = "{__journal_LOG_FORMAT=\"logfmt\"}" stage.logfmt { mapping = { time = "", level = "" } } @@ -189,6 +189,11 @@ in source = "time" format = "RFC3339" } + stage.template { + // The slog package of the Go standard library prints levels as uppercase. + source = "level" + template = "{{ ToLower .Value }}" + } stage.structured_metadata { values = { level = "" } } diff --git a/nixos/npins/sources.json b/nixos/npins/sources.json index 5d0d4d9..1431463 100644 --- a/nixos/npins/sources.json +++ b/nixos/npins/sources.json @@ -26,6 +26,17 @@ "url": null, "hash": "0r2m5q7zwxms9spbg12gq6q5pc5hz2x6i14qq5s2nxvvf4fsmnnv" }, + "my-lex-surf": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.push-f.com/lex-surf" + }, + "branch": "master", + "revision": "ef3318a78050ea8aa4f6a65dd4673958c0eadf85", + "url": null, + "hash": "0v1xmv3slsb965047wi968j3n58dzy227pc5y2g79g2zdppvx94d" + }, "my-osm-proposals": { "type": "Git", "repository": { @@ -33,9 +44,20 @@ "url": "https://git.push-f.com/osm-proposals" }, "branch": "master", - "revision": "2ee6afdf3356dea2aebdd48d20dfe9eb07037ba3", + "revision": "0a531bcbd4778ef754583d52d1a6b525ee9702d4", + "url": null, + "hash": "0phmc0c4di6hial8l5017k03c9zn8iz2zk8cgrzsgypaw1wwsn67" + }, + "my-rust-features": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.push-f.com/rust-features" + }, + "branch": "master", + "revision": "60c929acab8bfcd3fdc355288f1a72c1ed303f11", "url": null, - "hash": "14j48alysvx4n06my3kspsbplx23sv07nvswrya1x3swmwn4mnnc" + "hash": "1vnwhgqqi8ihic6fz6grzikc1dra6myl2b2aly2fgzrcbzrd5390" }, "my-spec-pub": { "type": "Git", @@ -63,8 +85,8 @@ "nixpkgs-unstable": { "type": "Channel", "name": "nixpkgs-unstable", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.05pre763845.de0fe301211c/nixexprs.tar.xz", - "hash": "1iq1a41c1c6i7lr8xpp2bwbm36v8qijisx1jv4126624swr9467l" + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-25.05pre777917.b7ba7f9f45c5/nixexprs.tar.xz", + "hash": "0jb6b7sv66bn06pchj2l88z0i5dlz0c2vb3z6pjjlq2p8q11zigg" } }, "version": 3 diff --git a/nixos/profiles/workstation/dev.nix b/nixos/profiles/workstation/dev.nix index e550a4c..ea39b83 100644 --- a/nixos/profiles/workstation/dev.nix +++ b/nixos/profiles/workstation/dev.nix @@ -22,7 +22,11 @@ gcc # rustc fails if cc linker isn't found chromium - pkgs-unstable.zed-editor + # FUTURE: Check if Linux kernel of NixOS 25.05 still has this amdgpu bug. + (pkgs.writeShellScriptBin "zed" '' + export ZED_PATH_SAMPLE_COUNT=0 # workaround for https://github.com/zed-industries/zed/issues/26143 + exec ${pkgs-unstable.zed-editor}/bin/zeditor "$@" + '') vscodium # I'm installing extensions via my install-imperative script. platformio |