{ config, pkgs, ... }: { # Packages that should be installed to the user profile. home.packages = with pkgs; [ asciinema # tool to record terminal sessions atuin # tool to save shell history bat # cat-alternative cachix # tool to manage nix binary caches difftastic # tool to compare files direnv # tool to load custom environments docker-credential-helpers doggo # dns client du-dust # du alternative eza # ls-alternative faas-cli # cli for openfaas fzf # fuzzy finder git # git gitflow # tool for git workflow git-lfs # git support for large files haste-client # tool to paste files hostname # tool to get hostname jq # tool for json moar # moar is less nix-direnv # allow better nix and direnv integration libnotify # allows sending notifications lsof # who uses that drive/directory openssh # ssh client and server pass # password-store pre-commit # tool for git pre-commit hooks p7zip # tool to extract 7z archives rclone # tool for remote storages restic # backup tool ripgrep # grep-alternative rmtrash # rm wrapper to use trash shellcheck # tool for shell-syntax starship # shell prompt tokei # project-language statistics trash-cli # trash utils unzip # unzip vim # vim xdg-user-dirs # tool manage user directories yadm # dotfile manager yq # tool for YAML yt-dlp # tool to download videos from the internet zellij # terminal multiplexer zip # zip ]; # This value determines the Home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new Home Manager release introduces backwards # incompatible changes. # # You can update Home Manager without changing this value. See # the Home Manager release notes for a list of state version # changes in each release. home.stateVersion = "23.05"; # Let Home Manager install and manage itself. programs.home-manager.enable = true; targets.genericLinux.enable = true; nixpkgs.config.allowUnfree = true; }