2024-05-30 16:54:58 -03:00
|
|
|
{
|
|
|
|
config,
|
|
|
|
pkgs,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
2024-06-05 01:18:48 -03:00
|
|
|
inherit (config.my) accent editor desktop;
|
2024-05-30 16:54:58 -03:00
|
|
|
in
|
|
|
|
{
|
2022-08-23 23:42:36 -03:00
|
|
|
config = {
|
|
|
|
programs.fish = {
|
|
|
|
enable = true;
|
2023-05-09 21:25:26 -03:00
|
|
|
shellInit = ''
|
|
|
|
set -U __accent_color "${accent.color}"
|
|
|
|
'';
|
2022-08-23 23:42:36 -03:00
|
|
|
interactiveShellInit = ''
|
2022-11-11 16:16:07 -03:00
|
|
|
set -U fish_features stderr-nocaret qmark-noglob regex-easyesc ampersand-nobg-in-token
|
|
|
|
|
2022-08-23 23:42:36 -03:00
|
|
|
set_color red
|
2022-11-07 19:35:50 -03:00
|
|
|
if not test -d "$PASSWORD_STORE_DIR"
|
2022-08-23 23:42:36 -03:00
|
|
|
echo "Password Store not yet setup"
|
|
|
|
end
|
|
|
|
if not test -f "$HOME/.ssh/id_rsa"
|
|
|
|
echo "SSH keys not yet setup"
|
|
|
|
end
|
2023-04-24 12:16:47 -03:00
|
|
|
if command -qs rustup &> /dev/null
|
|
|
|
if not command -qs rustc; or not rustc --version &> /dev/null
|
|
|
|
rustup default stable &>/dev/null &
|
|
|
|
end
|
2022-08-23 23:42:36 -03:00
|
|
|
end
|
2022-10-24 22:30:11 -03:00
|
|
|
set_color normal
|
2022-10-17 00:18:10 -03:00
|
|
|
|
|
|
|
bind \cy 'commandline | wl-copy -n'
|
2022-08-23 23:42:36 -03:00
|
|
|
'';
|
2022-10-24 22:30:11 -03:00
|
|
|
shellAliases = {
|
|
|
|
rm = "trash";
|
2023-09-13 23:20:27 -03:00
|
|
|
tree = "eza -T";
|
2024-07-17 18:01:01 -03:00
|
|
|
kill_yourself = "shutdown now";
|
2022-10-24 22:30:11 -03:00
|
|
|
};
|
2022-08-23 23:42:36 -03:00
|
|
|
shellAbbrs = {
|
2022-11-09 17:55:48 -03:00
|
|
|
off = "shutdown now";
|
2024-05-30 16:54:58 -03:00
|
|
|
v =
|
|
|
|
{
|
|
|
|
"helix" = "hx";
|
|
|
|
"kakoune" = "kak";
|
|
|
|
}
|
|
|
|
.${editor};
|
2022-08-23 23:42:36 -03:00
|
|
|
ns = "nix develop --command $SHELL";
|
2023-01-27 17:09:48 -03:00
|
|
|
wcf = "wl-copy-file";
|
2023-12-05 16:57:48 -03:00
|
|
|
c = "cargo";
|
2022-08-23 23:42:36 -03:00
|
|
|
# system
|
|
|
|
sv = "sudo systemct";
|
|
|
|
suv = "sudo systemct --user";
|
2022-08-25 12:37:53 -03:00
|
|
|
# docker abbrs
|
|
|
|
d = "docker";
|
|
|
|
dc = "docker-compose";
|
2022-08-23 23:42:36 -03:00
|
|
|
# git abbrs
|
|
|
|
g = "git";
|
|
|
|
ga = "git add";
|
|
|
|
gs = "git status";
|
|
|
|
gsh = "git show";
|
|
|
|
gl = "git log";
|
|
|
|
gg = "git graph";
|
|
|
|
gd = "git diff";
|
|
|
|
gds = "git diff --staged";
|
|
|
|
gc = "git commit";
|
|
|
|
gca = "git commit --all";
|
|
|
|
gcf = "git commit --fixup";
|
2023-08-18 00:56:56 -03:00
|
|
|
gp = "git push";
|
2022-08-23 23:42:36 -03:00
|
|
|
gw = "git switch";
|
|
|
|
gr = "cd (git root)";
|
|
|
|
gri = "git rebase --interactive FETCH_HEAD";
|
|
|
|
};
|
2024-05-30 16:54:58 -03:00
|
|
|
functions = {
|
|
|
|
fish_greeting = "";
|
|
|
|
};
|
2022-08-23 23:42:36 -03:00
|
|
|
};
|
2022-11-17 17:39:11 -03:00
|
|
|
programs = {
|
|
|
|
zoxide.enable = true;
|
2023-09-13 23:20:27 -03:00
|
|
|
eza.enable = true;
|
2022-11-17 17:39:11 -03:00
|
|
|
direnv.enable = true;
|
|
|
|
direnv.nix-direnv.enable = true;
|
|
|
|
};
|
2023-01-25 10:17:26 -03:00
|
|
|
xdg.configFile = {
|
|
|
|
"fish/conf.d/prompt.fish".source = ./fish_prompt.fish;
|
2023-08-16 16:06:35 -03:00
|
|
|
"fish/conf.d/" = {
|
|
|
|
recursive = true;
|
|
|
|
source = ./conf.d;
|
|
|
|
};
|
2022-08-23 23:42:36 -03:00
|
|
|
};
|
2023-01-19 09:20:27 -03:00
|
|
|
# programs.command-not-found.enable = true;
|
|
|
|
programs.nix-index.enable = true;
|
2024-05-30 16:54:58 -03:00
|
|
|
home.packages = (
|
|
|
|
with pkgs;
|
|
|
|
with fishPlugins;
|
|
|
|
[
|
|
|
|
trash-cli
|
|
|
|
wl-copy-file
|
|
|
|
foreign-env
|
|
|
|
]
|
|
|
|
++ (lib.optionals (desktop == "sway") [
|
|
|
|
async-prompt
|
|
|
|
done
|
|
|
|
])
|
|
|
|
);
|
2022-08-23 23:42:36 -03:00
|
|
|
};
|
|
|
|
}
|