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

279 lines
5.9 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
erdtree
age
figlet
ffmpeg-full
ouch
pinentry
gcr
gnutar
libnotify
unzip
zip
stdenv
tldr
glow
delta
btop-rocm
gnupg
imagemagick
gnutls
gettext
gnumake
nix-index
nix-du
usbutils
pciutils
util-linux
coreutils
binutils
editorconfig-core-c
openssl
exiftool
libsecret
shellcheck
libffi.dev
nodejs_18
platformio-core
icloudpd
pkg-config
ftgl
gperf
numbat
glpng
nurl
neofetch
nvd
ripgrep-all
silver-searcher
maestral
maestral-gui
powertop
age
kdotool
manix
caligula
# global node packages
nodePackages.typescript-language-server
nodePackages.vscode-langservers-extracted
nodePackages.prettier
# nodePackages.javascript-typescript-langserver
nodePackages.stylelint
nodePackages.svelte-language-server
nodePackages.typescript
nodePackages.js-beautify
nixd
nixdoc
nix-init
git-annex
bfg-repo-cleaner
fishPlugins.foreign-env
fishPlugins.fzf-fish
fishPlugins.bass
fishPlugins.autopair
fishPlugins.forgit
fishPlugins.colored-man-pages
imgcat
ghostscript
playerctl
impala
tesseract
alsa-utils
alsa-tools
dockfmt
icloudpd
borgbackup
trash-cli
poppler_utils
faircamp
];
programs = {
direnv = {
enable = true;
nix-direnv.enable = true;
};
fish = {
enable = true;
shellAliases = {
"ls" = "eza";
".j" = "just -g";
"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 = {
enable = true;
};
starship = {
enable = true;
};
ripgrep = {
enable = true;
};
thefuck = {
enable = true;
};
ghostty = {
enable = true;
enableFishIntegration = true;
installBatSyntax = true;
settings = {
command = "/home/emenel/.nix-profile/bin/fish --login --interactive";
theme = "Adventure";
font-family = "JetBrains Mono";
font-size = 12;
background = 111111;
selection-foreground = "ffffff";
selection-background = 444444;
bold-is-bright = true;
cursor-style = "bar";
adjust-cursor-thickness = 2;
resize-overlay = "never";
cursor-click-to-move = true;
clipboard-paste-protection = true;
keybind = [
"ctrl+t=new_tab"
"ctrl+w=close_surface"
"ctrl+enter=new_split:down"
"ctrl+shift+enter=new_split:right"
"ctrl+alt+enter=equalize_splits"
"ctrl+alt+z=toggle_split_zoom"
"ctrl+alt+left=previous_tab"
"ctrl+alt+right=next_tab"
"ctrl+alt+up=goto_split:left"
"ctrl+alt+down=goto_split:right"
"ctrl+backspace=text:\x1b\x7f"
];
};
};
# zellij = {
# enable = true;
# };
wezterm = {
enable = true;
package = inputs.wezterm.packages.${pkgs.system}.default;
# extraConfig = lib.readFile ./dotfiles/dot_config/wezterm/wezterm.lua;
};
bat = {
enable = true;
};
borgmatic = {
enable = true;
backups = {
eddie = {
location = {
patterns = [
"R /home/emenel"
"- home/emenel/.cache"
"- home/emenel/.nix*"
"- home/emenel/.steam*"
"- home/emenel/Dropbox"
"- home/emenel/Sync"
"- home/emenel/.dropbox*"
"- home/emenel/.BitwigStudio"
"- home/emenel/.local/share/bitwig"
];
repositories = [
{
"path" = "ssh://oyi3ydnz@oyi3ydnz.repo.borgbase.com/./repo";
"label" = "eddie on borgbase";
}
];
};
retention = {
keepDaily = 3;
keepHourly = 3;
keepMonthly = 2;
};
};
};
};
eza = {
enable = true;
};
fd = {
enable = true;
};
fzf = {
enable = true;
enableFishIntegration = false;
};
broot = {
enable = true;
};
git = {
enable = true;
lfs.enable = true;
};
htop.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."just/justfile".source = ../../homes/emenel/dotfiles/dot_config/just/justfile;
xdg.configFile."git".source = ../../homes/emenel/dotfiles/dot_config/git;
xdg.configFile."rbw".source = ../../homes/emenel/dotfiles/dot_config/rbw;
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;
}