{ config, lib, pkgs, ... }: { imports = [ ./hardware-configuration.nix ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "syedm"; # Configure network connections interactively with nmcli or nmtui. networking.networkmanager.enable = true; programs.fish.enable = true; # Set your time zone. time.timeZone = "Europe/London"; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; console = { font = "Lat2-Terminus16"; useXkbConfig = true; }; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.me = { isNormalUser = true; shell = pkgs.fish; extraGroups = [ "wheel" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJFUwk54CNtSLUyXSTLsIs5KXgEsjOgE4HGlA4FacKjV syed@tardis" ]; packages = with pkgs; []; }; # List packages installed in system profile. # You can use https://search.nixos.org/ to find more packages (and options). environment.systemPackages = with pkgs; [ eza yazi gitui bind neovim wget curl stow unzip git ]; # Enable the OpenSSH daemon. services.openssh.enable = true; services.caddy = { enable = true; virtualHosts."syedm.dev".extraConfig = '' respond "Hello, world!" ''; virtualHosts."git.syedm.dev".extraConfig = '' reverse_proxy localhost:3000 ''; }; services.gitea = { enable = true; appName = "gitea: My personal projects."; database.type = "sqlite3"; settings = { server = { DOMAIN = "git.syedm.dev"; ROOT_URL = "https://git.syedm.dev/"; HTTP_ADDR = "0.0.0.0"; HTTP_PORT = 3000; SSH_DOMAIN = "git.syedm.dev"; SSH_PORT = 22; }; service = { DISABLE_REGISTRATION = true; REQUIRE_SIGNIN_VIEW = true; }; session.COOKIE_SECURE = true; log.LEVEL = "Info"; }; lfs.enable = true; }; # Open ports in the firewall. networking.firewall.allowedTCPPorts = [ 22 80 443 ]; networking.firewall.allowedUDPPorts = []; # DO NOT CHNAGE, EVER! system.stateVersion = "26.05"; }