nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.package = pkgs.nixVersions.nix_2_28;
+ nix.gc = {
+ automatic = true;
+ options = "--delete-older-than 30d";
+ };
+ nix.optimise.automatic = true;
+ system.autoUpgrade = {
+ enable = true;
+ allowReboot = true;
+ };
+
networking.hostName = "nixos"; # Define your hostname.
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
- vim neovim wget file git
- zig fzf bat
+ vim wget file git fzf bat
+ helix
+ gitui
bintools
- htop
+ btop htop
+ systemctl-tui
tmux
- forgejo
- mbedtls
pkg-config
];
group = "git";
home = "/srv/git";
createHome = true;
+ homeMode = "750";
shell = "${pkgs.git}/bin/git-shell";
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICQOPefMnq0qvFjYxlrdlSmUgyCbvV85gkfRykVlTnrn ps@nixos"
}
'';
virtualHosts."git.psch.dev".extraConfig = ''
+ redir / /cgit
+ reverse_proxy localhost:8082
'';
};
port = 9418;
};
+ services.lighttpd = {
+ enable = true;
+ document-root = "/srv/www";
+ port = 8082;
+
+ cgit = {
+ enable = true;
+ subdir = "cgit";
+ configText = ''
+ scan-path=/srv/git
+ robots=noindex, nofollow
+ '';
+ };
+ gitweb.enable = true;
+ };
+ users.users."lighttpd".extraGroups = [ "git" ];
+
+ services.gitweb = {
+ gitwebTheme = false;
+ projectroot = "/srv/git";
+ };
+
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
chirp.url = "git://psch.dev/chirp";
};
- outputs = { self, nixpkgs, flake-utils, chirp, ... }@inputs: {
+ outputs = { self, nixpkgs, flake-utils, ... }@inputs: {
nixosConfigurations = {
default = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
./configuration.nix
{
- config._module.args.chirp = chirp;
+ config._module.args.chirp = inputs.chirp;
}
];
};