# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
-{ config, lib, pkgs, ... }:
+{ config, lib, pkgs, chirp, ... }:
{
imports =
# boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
nix.settings.experimental-features = [ "nix-command" "flakes" ];
+ nix.package = pkgs.nixVersions.nix_2_28;
networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
networking.firewall = {
enable = true;
- allowedTCPPorts = [ 80 443 ];
+ allowedTCPPorts = [ 80 443 9418 ];
};
# Set your time zone.
# Enable the X11 windowing system.
# services.xserver.enable = true;
-
-
-
# Configure keymap in X11
# services.xserver.xkb.layout = "us";
# services.xserver.xkb.options = "eurosign:e,caps:escape";
enable = true;
config = {
init.defaultBranch = "main";
+ user.name = "Patrick";
+ user.email = "patrick.schoenberger@posteo.de";
};
};
services.caddy = {
enable = true;
+ virtualHosts."psch.dev".extraConfig = ''
+ respond "hello :D"
+ '';
virtualHosts."chirp.psch.dev".extraConfig = ''
- reverse_proxy http://127.0.0.1:8080
+ reverse_proxy http://localhost:8080 {
+ request_buffers 8192
+ }
tls {
protocols tls1.3 tls1.3
}
'';
virtualHosts."git.psch.dev".extraConfig = ''
- reverse_proxy http://127.0.0.1:3000
'';
};
+ # services.chirp = {
+ # enable = true;
+ # };
+ users.users.chirp = {
+ isSystemUser = true;
+ group = "chirp";
+ home = "/var/lib/chirp";
+ createHome = true;
+ };
+ users.groups.chirp = {};
+
+ systemd.services.chirp = {
+ description = "Chirp SystemD Service";
+ wantedBy = ["multi-user.target"];
+ after = ["network.target"];
+ serviceConfig = {
+ WorkingDirectory = "/var/lib/chirp";
+ ExecStart = "${chirp.packages.${pkgs.system}.default}/bin/chirp";
+ Restart = "always";
+ Type = "simple";
+ User = "chirp";
+ Group = "chirp";
+ };
+ };
+
+ services.gitDaemon = {
+ enable = true;
+ basePath = "/srv/git";
+ repositories = [ "/srv/git" ];
+ exportAll = true;
+ port = 9418;
+ };
+
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];