{ pkgs, lib, ... }:

with lib;

{
  imports = [
    ../../options/copySysConf.nix
  ];
  config.machine = {
    allowUnfree = true;
    hostName = "Lilim";
    administrators = [ { name = "derped"; id = 1337; } ];
    conffiles = [
      "etcfiles"
      "etcvars"
      "fonts"
      "zsh"
    ];
    pkgs = [
      "base"
      "cpp"
      "dict"
      "emacs"
      "emacs::company"
      "emacs::doom-modeline"
      "emacs::doom-themes"
      "emacs::elpy"
      "emacs::fcitx"
      "emacs::flycheck"
      "emacs::flyspell"
      "emacs::latex"
      "emacs::lsp"
      "emacs::magit"
      "emacs::mu4e"
      "emacs::nix-mode"
      "emacs::org"
      "emacs::rust"
      "emacs::transmission"
      "emacs::web-mode"
      "emacs::yasnippet"
      "extra"
      "haskell"
      "mail_utils"
      "python3"
      "rustpkgs"
      "xpkgs"
      # "emacs::lsp"
      # "emacs::powerline"
      # "emacs::solarized-theme"
    ];
    services = [
      "desktop"
      "udev"
      "cups"
    ];
    firewall = {
      enable = true;
      allowPing = true;
      allowedUDPPorts = [ 24642 ];
      allowedTCPPorts = [ 24642 ];
      allowedUDPPortRanges = [ { from = 1714; to = 1764; } ];
      allowedTCPPortRanges = [ { from = 1714; to = 1764; } ];
    };
    desktop.wms = [ "none+i3" "i3" ];
  };

  config.system.copySysConf = {
    enable = false;
    addToNixPath = false;
  };
}