If salary is paid based on no. of hours worked, them creating Salary Slips based on Timesheet should work.
You can have different activity type for normal working hours and extra working hours (overtime).
https://erpnext.org/docs/user/manual/en/projects/timesheet/salary-slip-from-timesheet
If you standard pay for the employee, but just want to track actual no. of hours worked, then for processing Salary, you can make Salary Structure for the standard hours. For additional hours, you can use Timesheets.
You can create Holiday list and link to the employee master.