{ config, pkgs, ... }: { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; # Bootloader. boot = { loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; }; kernelPackages = pkgs.linuxPackages_latest; }; networking = { hostName = "docker"; networkmanager.enable = true; # firewall.allowedTCPPorts = [ 80 443 ]; # firewall.allowedUDPPorts = [ ... ]; interfaces.ens18.ipv4.addresses = [ { address = "10.0.0.107"; prefixLength = 24; } ]; defaultGateway = "10.0.0.1"; nameservers = [ "10.0.0.1" ]; }; # Set your time zone. time.timeZone = "Europe/Zurich"; system.autoUpgrade = { enable = true; allowReboot = true; rebootWindow = { lower = "01:00"; upper = "03:00"; }; }; # Select internationalisation properties. i18n.defaultLocale = "en_US.UTF-8"; # Configure keymap in X11 services.xserver.xkb = { layout = "ch"; variant = ""; }; # Configure console keymap console.keyMap = "sg"; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.tte = { isNormalUser = true; description = "tte"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; []; }; # Allow unfree packages nixpkgs.config.allowUnfree = true; nix.settings.experimental-features = [ "nix-command" "flakes" ]; # List packages installed in system profile environment.systemPackages = with pkgs; [ vim wget curl git ]; # Enable the OpenSSH daemon. services = { openssh = { enable = true; # settings.PermitRootLogin = "without-password"; }; qemuGuest.enable = true; }; virtualisation.docker = { enable = true; rootless = { enable = true; setSocketVariable = true; }; }; systemd = { timers."start-runner" = { wantedBy = [ "timers.target" ]; timerConfig = { OnCalendar = "daily"; Persistent = true; Unit = "start-runner.service"; }; }; services."start-runner" = { script = '' /root/runner/act_runner daemon & ''; serviceConfig = { Type = "oneshot"; User = "root"; }; }; }; # leave installation default system.stateVersion = "24.05"; # Did you read the comment? }