forked from aylac.top/nixcfg
this repo has no description
at main 2.1 kB view raw
1{ 2 config, 3 lib, 4 pkgs, 5 ... 6}: { 7 options.myHome.profiles.shell.enable = lib.mkEnableOption "basic shell environment"; 8 9 config = lib.mkIf config.myHome.profiles.shell.enable { 10 home = { 11 packages = with pkgs; [ 12 (lib.hiPrio uutils-coreutils-noprefix) 13 curl 14 btop 15 nixos-rebuild 16 wget 17 ]; 18 19 shellAliases = { 20 l = "eza -lah"; 21 tree = "eza --tree"; 22 top = "btop"; 23 cat = "bat -p -P"; 24 ytmusic = "yt-dlp -f 251 --remux-video opus --embed-metadata --embed-thumbnail -o \"%(album)s/%(disc_number>0)s%(disc_number)02d-%(track_number)02d %(title)s.%(ext)s\""; 25 }; 26 }; 27 28 programs = { 29 bat.enable = true; 30 btop.enable = true; 31 32 direnv = { 33 enable = true; 34 nix-direnv.enable = true; 35 silent = true; 36 37 stdlib = '' 38 : ''${XDG_CACHE_HOME:=$HOME/.cache} 39 declare -A direnv_layout_dirs 40 41 direnv_layout_dir() { 42 echo "''${direnv_layout_dirs[$PWD]:=$( 43 echo -n "$XDG_CACHE_HOME"/direnv/layouts/ 44 echo -n "$PWD" | sha1sum | cut -d ' ' -f 1 45 )}" 46 } 47 ''; 48 }; 49 50 eza = { 51 enable = true; 52 enableFishIntegration = true; 53 extraOptions = [ 54 "--group-directories-first" 55 "--header" 56 ]; 57 git = true; 58 icons = "auto"; 59 }; 60 61 fish = { 62 enable = true; 63 interactiveShellInit = '' 64 set -gx PATH $PATH /home/$USER/.local/bin 65 ''; 66 }; 67 68 fzf.enable = true; 69 70 ripgrep = { 71 enable = true; 72 arguments = ["--pretty"]; 73 }; 74 75 ripgrep-all.enable = true; 76 joshuto.enable = true; 77 78 zellij = { 79 enable = true; 80 enableFishIntegration = false; 81 settings = { 82 theme = "onedark"; 83 default_shell = "fish"; 84 show_startup_tips = false; 85 }; 86 }; 87 88 zoxide = { 89 enable = true; 90 enableFishIntegration = true; 91 options = ["--cmd cd"]; 92 }; 93 }; 94 }; 95}