{ config, pkgs, inputs, lib, system, ... }: {
  networking.hostName = "foryog";

  imports = [
    ./hardware-configuration.nix
    ../../backups.nix
    ../../boot.nix
    ../../git
    ../../gnome
    ../../gui
    ../../mercurial
    ../../vim
    ../../zsh
  ];

  fileSystems."/" = { options = [ "compress=zstd" ]; };

  services.restic.backups.home-to-b2 = {
    repository = lib.mkForce "b2:cyplo-restic-foureighty:/";
  };
  boot.kernelParams =
    [ "initcall_debug" ''dyndbg="file suspend.c +p"'' "no_console_suspend" ];
  boot.tmp.cleanOnBoot = true;
  boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
  boot.plymouth = {
    enable = true;
    logo = ./boot.png;
  };

  zramSwap = {
    enable = true;
    algorithm = "zstd";
    memoryPercent = 75;
  };

  time.timeZone = "Europe/London";

  hardware.trackpoint.enable = true;
  hardware.keyboard.qmk.enable = true;
  services.udev.packages = [ pkgs.qmk-udev-rules ];
  programs.ccache.enable = true;
  hardware.opengl.extraPackages = with pkgs; [ libva ];
  programs.steam.enable = true;
  nixpkgs.config.allowUnfreePredicate = pkg:
    builtins.elem (lib.getName pkg) [
      "spotify"
      "steam"
      "steam-original"
      "steam-runtime"
      "steam-run"
      "vscode-extension-ms-vscode-cpptools"
      "vscode-with-extensions"
      "vscode"
      "veracrypt"
    ];

  home-manager.users.cyryl = { ... }: {
    imports = [ ../../home-manager/programs/kitty.nix ];
    home.packages =
      (with inputs.nixpkgs-master.legacyPackages."${system}"; [ bisq-desktop ])
      ++ (with pkgs; [ lutris ])
      ++ (with inputs.endless-sky.legacyPackages."${system}"; [ endless-sky ]);
  };
}
