require 'core'

-- Set up key remaps
os.execute 'setxkbmap -option "caps:escape,altwin:menu_win,altwin:meta_win"'

-- Some defaults
Browser = 'firefox-developer-edition'
Browser2 = 'chromium'
Editor = 'nvim'
Email = 'thunderbird'
Modkey = 'Mod4'
Music = 'spotify-launcher'
Terminal = 'alacritty'
Beautiful.init '.config/awesome/theme.lua'

-- Define layouts
Awful.layout.layouts = {
  Awful.layout.suit.tile.right,
  Awful.layout.suit.tile.bottom,
  Awful.layout.suit.tile.left,
  Awful.layout.suit.tile.top,
}

-- Set the terminal for applications that require it
Menubar.utils.terminal = Terminal

-- Split up the rest for readability
require 'binds' -- keyboard/mouse
require 'rules' -- client specific rules
require 'signals' -- client signals
require 'wibar' -- bar/screen/wallpaper stuff

-- Collect garbage to prevent memory leaks from widgets
Gears.timer.start_new(10, function()
  collectgarbage('step', 20000)
  return true
end)