nixos-config/modules/home/shell-conf.nix

231 lines
4.3 KiB
Nix

{ nix-config, inputs, pkgs, ... }:
{
home.packages = with pkgs; [
inputs.isd.packages.x86_64-linux.default
cmake
cmake-format
just
readline
rlwrap
yt-dlp
age
figlet
ffmpeg-full
ouch
pinentry
gcr
gnutar
libnotify
unzip
zip
tldr
rich-cli
(btop-rocm.override { cudaSupport = true; })
gnupg
imagemagick
gnutls
# gettext
gnumake
nix-du
nix-melt
usbutils
pciutils
util-linux
coreutils
binutils
editorconfig-core-c
exiftool
libsecret
shellcheck
# libffi.dev
# nodejs_18
# platformio-core
icloudpd
pkg-config
# ftgl
# gperf
numbat
# glpng
nurl
fastfetch
nvd
ripgrep-all
silver-searcher
# powertop
age
# kdotool
manix
caligula
# sqlite
yaml-language-server
typescript-language-server
svelte-language-server
bash-language-server
nginx-language-server
lua-language-server
lemminx
stylelint-lsp
htmx-lsp
autotools-language-server
arduino-language-server
ccls
vscode-langservers-extracted
java-language-server
nix-config.pkgs-stable.javascript-typescript-langserver
haskell-language-server
cmake-language-server
stylelint-lsp
marksman
ruff-lsp
haskell-language-server
emacs-lsp-booster
zstd
black
jsbeautifier
typescript
prettierd
stylelint
nixd
nixdoc
nix-init
alejandra
dua
# git-annex
bfg-repo-cleaner
delta
tree
emoji-picker
fishPlugins.foreign-env
fishPlugins.fzf-fish
fishPlugins.bass
fishPlugins.autopair
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
ghostscript
playerctl
tesseract
# alsa-utils
# alsa-tools
dockfmt
trash-cli
poppler_utils
];
programs = {
nix-index = {
enable = true;
enableFishIntegration = true;
};
direnv = {
enable = true;
nix-direnv.enable = true;
};
fish = {
enable = true;
shellAliases = {
"ls" = "eza";
"em" = "emacsclient -n -r";
"mkdir" = "mkdir -pv";
};
interactiveShellInit = ''
bind --erase \ct
'';
plugins = [
{
name = "upto";
src = pkgs.fetchFromGitHub {
owner = "Markcial";
repo = "upto";
rev = "2d1f35453fb55747d50da8c1cb1809840f99a646";
sha256 = "sha256-Lv2XtP2x9dkIkUUjMBWVpAs/l55Ztu7gIjKYH6ZzK4s=";
};
}
];
};
zoxide = {
enableFishIntegration = true;
enable = true;
};
starship = {
enableFishIntegration = true;
enable = true;
};
ripgrep = {
enable = true;
package = (pkgs.ripgrep.override {withPCRE2 = true;});
};
thefuck = {
enableFishIntegration = true;
enable = true;
};
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
# extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
};
bat = {
enable = true;
};
eza = {
enable = true;
git = true;
enableFishIntegration = true;
};
fd = {
enable = true;
};
fzf = {
enable = true;
enableFishIntegration = false;
};
broot = {
enable = true;
};
lazygit.enable = true;
jq.enable = true;
rbw = {
enable = true;
package = nix-config.packages.x86_64-linux.rbw-latest;
};
};
home.file.".ssh/config".source = ../../homes/emenel/dotfiles/dot_ssh/config;
xdg.configFile."starship.toml".source = ../../homes/emenel/dotfiles/dot_config/starship.toml;
xdg.configFile."wezterm" = {
recursive = true;
source = ../../homes/emenel/dotfiles/dot_config/wezterm;
};
xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw;
xdg.configFile."isd_tui/config.yaml".source = ../../homes/emenel/dotfiles/dot_config/isd_tui/config.yaml;
home.file.".config/fish/functions" = {
source = ../../homes/emenel/dotfiles/dot_config/fish/functions;
recursive = true;
};
home.file.".config/fish/completions" = {
source = ../../homes/emenel/dotfiles/dot_config/fish/completions;
recursive = true;
};
home.file.".local/share/flf".source = ../../homes/emenel/dotfiles/dot_local/share/flf;
}