{
  config,
  pkgs,
  ...
}: let
  dotDir = "${config.home.homeDirectory}/.local/src/config/";
  mkSl = path: config.lib.file.mkOutOfStoreSymlink path;
  configs = {
    kitty = "kitty";
    foot = "foot";
    qtile = "qtile";
    mako = "mako";
    nvim = "nvim";
    eww = "eww";
    waybar = "waybar";
    rofi = "rofi";
    niri = "niri";
    "starship.toml" = "starship.toml";
  };
in {
  xdg.configFile = builtins.mapAttrs (name: subpath: {
    source = mkSl "${dotDir}/${subpath}";
    recursive = true;
  }) configs;

  home = {
    username = "coast";
    homeDirectory = "/home/coast";
    stateVersion = "25.05";
    packages = with pkgs; [
      alsa-utils
      nix-search-cli
      fastfetch
      dysk
      ncurses
      tree
	  xfce.ristretto
      pyright
      stylua
      typescript-language-server
	  lua
      vscode-langservers-extracted
	  swaylock
	  starship
	  gopls
      lua-language-server
	  serve-d
      wl-clipboard
      appimage-run
      libnotify
      grim
      slurp
      yazi
      mate.caja
      htop
      nixpkgs-fmt
      swww
      wmenu
      mako
      nwg-look
      xorg.xkill
      mpv
      vesktop
      wlr-randr
      nodejs
      gcc_multi
      gnumake
      clang-tools
      ruby_3_4
      pkg-config
      dmd
      dtools
      rustup
      python3
      python313Packages.pip
      unzip
      zip
      go
      tauon
      gimp
      waybar
	  glibc_multi
	  man-pages
	  man-pages-posix
	  eww
    ];
  };

  programs.git = {
    enable = true;
    userEmail = "coasteen@proton.me";
    userName = "coast";
  };

}
