{ config, pkgs, lib, inputs, ... }:

{
  nixpkgs.overlays = lib.mkAfter [
    inputs.wired.overlays.default
  ];

  programs.zsh.enable = true;

  age.secrets.users-nas-passfile.file = ./users-nas-passfile.age;
  users.users.nas = {
    isNormalUser = true;
    shell = pkgs.zsh;
    hashedPasswordFile = config.age.secrets.users-nas-passfile.path;
  };

  home-manager.users.nas = {
    home.stateVersion = config.system.stateVersion;

    ################################################################################
    # Configs
    ################################################################################

    local.keyboard.enable = lib.mkDefault true;

    local.window-manager = {
      xmonad.enable = lib.mkDefault true;
      polybar.enable = lib.mkDefault true;
    };

    xdg.enable = lib.mkDefault true;

    local.shell.enable = lib.mkDefault true;

    ################################################################################
    # Programs
    ################################################################################

    local.programs.terminals.wezterm.enable = lib.mkDefault true;

    local.programs.editors.gedit.enable = lib.mkDefault true;

    local.programs.file-managers.nautilus.enable = lib.mkDefault true;

    local.programs.share-files.croc.enable = lib.mkDefault true;

    local.programs.flameshot.enable = lib.mkDefault true;

    local.programs.libreoffice = {
      enable = lib.mkDefault true;

      spellCheckDicts = with pkgs.hunspellDicts; [
        ru_RU
      ];
    };

    ################################################################################
    # Packages
    ################################################################################

    home.packages = with pkgs.unstable; [
      image-roll
      vlc

      firefox
    ];
  };

}