inputs: { config, lib, pkgs, ... }: { imports = [ (import ./modules inputs) ]; programs.direnv = { enable = lib.mkDefault true; nix-direnv.enable = lib.mkDefault true; stdlib = '' : ''${XDG_CACHE_HOME:=$HOME/.cache} declare -A direnv_layout_dirs direnv_layout_dir() { echo "''${direnv_layout_dirs[$PWD]:=$( echo -n "$XDG_CACHE_HOME"/direnv/layouts/ echo -n "$PWD" | shasum | cut -d ' ' -f 1 )}" } ''; }; programs.chromium = { package = lib.mkDefault (pkgs.ungoogled-chromium.override { commandLineArgs = lib.concatStringsSep " " [ "--force-dark-mode" "--enable-features=UseOzonePlatform,WebUIDarkMode,VaapiVideoDecoder" "--ozone-platform=wayland" "--ignore-gpu-blocklist" "--enable-gpu-rasterization" "--enable-zero-copy" ]; }); }; programs.mpv = { config = { profile = lib.mkDefault "gpu-hq"; ytdl-format = lib.mkDefault "bestvideo+bestaudio"; }; }; home.packages = with pkgs; [ wget httpie jq ripgrep lsd # for fish-done libnotify notify-desktop ]; home.sessionVariables = { TERM = "xterm-256color"; }; programs.fish = { enable = true; shellAliases = { ls = "lsd"; l = "ls -l"; la = "ls -a"; lla = "ls -la"; lt = "ls --tree"; }; plugins = [ { name = "done"; src = inputs.done; } { name = "bobthefish"; src = inputs.bobthefish; } ]; shellInit = '' if not set -q NIX_PATH set --prepend fish_function_path ${pkgs.fishPlugins.foreign-env}/share/fish/vendor_functions.d fenv source $HOME/.nix-profile/etc/profile.d/nix.sh set -e fish_function_path[1] end ''; interactiveShellInit = '' set TERM xterm-256color set -U __done_min_cmd_duration 2000 set -U fish_key_bindings fish_default_key_bindings set -g theme_nerd_fonts yes set -g theme_display_date no eval (${pkgs.direnv}/bin/direnv hook fish) ''; }; }