# This is your system's configuration file.
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
{
  inputs,
  lib,
  config,
  pkgs,
  ...
}:
{
  nix = {
    settings = {
      # Enable flakes and new 'nix' command
      experimental-features = "nix-command flakes";
      # Opinionated: disable global registry
      flake-registry = "";
    };
    # Opinionated: disable channels
    channel.enable = false;
  };

  networking.networkmanager.enable = true;
 
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  systemd.sleep.extraConfig = ''
    AllowSuspend=no
    AllowHibernation=no
    AllowHybridSleep=no
    AllowSuspendThenHibernate=no
  '';

  networking.firewall.enable = true;

  time.timeZone = "America/Los_Angeles";
  
  # --- File Manager ---
  xdg.mime.enable = true;
  services.tumbler.enable = true;
  services.gvfs.enable = true;
  
  environment.systemPackages = with pkgs; [
    # -- File manager --
    imagemagick
    poppler
    ffmpeg
    ffmpegthumbnailer
    file
    # --- General utils ---
    networkmanagerapplet
  ];
  fonts.packages = [ ] ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);

  # --- General Utils ---
  programs.vim.enable = true;
  programs.git.enable = true;
}
