{ config, pkgs, ... }: let dotDir = "${config.home.homeDirectory}/.local/src/config/"; mkSl = path: config.lib.file.mkOutOfStoreSymlink path; configs = { sway = "sway"; kitty = "kitty"; foot = "foot"; qtile = "qtile"; mako = "mako"; nvim = "nvim"; }; in { home.username = "coast"; home.homeDirectory = "/home/coast"; home.stateVersion = "25.05"; xdg.configFile = builtins.mapAttrs (name: subpath: { source = mkSl "${dotDir}/${subpath}"; recursive = true; }) configs; home.packages = with pkgs; [ alsa-utils nix-search-cli neofetch dysk nsxiv tree wl-clipboard appimage-run libnotify grim slurp yazi mate.caja htop nixpkgs-fmt swaybg wmenu mako nwg-look xorg.xkill mpv vesktop wlr-randr rtorrent tor-browser nodejs gcc gnumake clang-tools ruby_3_4 pkg-config ]; programs.zsh = { enable = true; history = { path = "/home/coast/.cache/zsh/history"; size = 100000000; save = 100000000; append = true; }; enableCompletion = true; shellAliases = { nf = "neofetch"; nrs = "doas nixos-rebuild switch"; emoji = "cat ~/.local/src/local/share/emoji | grep"; ls = "ls --color=auto"; smi = "nvidia-smi"; battery = "sb-battery"; weather = "curl wttr.in/masjedsoleyman"; las = "ls"; c = "clear"; cear = "clear"; ".." = "cd .."; hotp = "htop"; main = "man"; mian = "man"; mna = "man"; dias = "doas"; delgen = "doas nix-env --delete-generations old --profile /nix/var/nix/profiles/system"; alsamixer = "alsamixer -c 0 --no-color"; la = "ls --color=auto -la"; }; initContent = '' autoload -U compinit zstyle ':completion:*' menu select zmodload zsh/complist compinit comp_options+=(globdots) zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=12" autoload -U colors && colors && setopt prompt_subst PROMPT="[%n@%m %~]%% " export LIBCLANG_PATH=/usr/lib/llvm/20/lib64 export PATH=$PATH:/home/coast/.spicetify source ~/.local/src/zsh.d/zsh-autosuggestions.zsh export PATH="/usr/bin:$PATH" export PATH="$HOME/.local/bin:$PATH" ''; }; }