mirror of
https://github.com/js0ny/dotfiles.git
synced 2025-12-21 00:33:00 +00:00
feat: fish
This commit is contained in:
parent
cddd568d54
commit
e7fa83e4ec
8 changed files with 132 additions and 46 deletions
|
|
@ -15,19 +15,20 @@
|
|||
# File Explorer
|
||||
"inode/directory" = "org.kde.dolphin.desktop";
|
||||
# Image Viewer
|
||||
"image/jpeg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/jpg" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/png" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/gif" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/bmp" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/webp" = "nsxiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/jpeg" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/jpg" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/png" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/gif" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/bmp" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
"image/webp" = "vimiv.desktop;org.gnome.Loupe.desktop";
|
||||
# Browser
|
||||
"text/html" = "firefox.desktop;chromium-browser.desktop";
|
||||
"x-scheme-handler/http" = "firefox.desktop;chromium-browser.desktop";
|
||||
"x-scheme-handler/httpss" = "firefox.desktop;chromium-browser.desktop";
|
||||
"x-scheme-handler/https" = "firefox.desktop;chromium-browser.desktop";
|
||||
# URL Scheme
|
||||
"x-scheme-handler/tg" = "org.telegram.desktop.desktop";
|
||||
"x-scheme-handler/tonsite" = "org.telegram.desktop.desktop";
|
||||
};
|
||||
};
|
||||
home.sessionVariables.BROWSER = "firefox";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +0,0 @@
|
|||
{config, ...}: let
|
||||
commonAliases = {
|
||||
g = "lazygit";
|
||||
ni = "touch";
|
||||
cls = "clear";
|
||||
ii = "xdg-open";
|
||||
aic = "aichat -s";
|
||||
aicc = "aichat -c";
|
||||
nrs = "sudo nixos-rebuild switch --flake ~/.dotfiles/nixcfgs";
|
||||
};
|
||||
in {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = "set fish_greeting";
|
||||
# preferAbbrs = true;
|
||||
shellAbbrs = commonAliases;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autocd = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
dotDir = "${config.xdg.configHome}/zsh";
|
||||
shellAliases = commonAliases;
|
||||
};
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = commonAliases;
|
||||
};
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
shellAliases = commonAliases;
|
||||
extraConfig = ''
|
||||
$env.config.show_banner = false
|
||||
'';
|
||||
};
|
||||
programs.zed-editor.extensions = ["fish"];
|
||||
}
|
||||
38
nixcfgs/users/js0ny/programs/shell/aliases.nix
Normal file
38
nixcfgs/users/js0ny/programs/shell/aliases.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{pkgs}: let
|
||||
commonAliases = {
|
||||
g = "lazygit";
|
||||
ni = "touch";
|
||||
cls = "clear";
|
||||
aic = "aichat -s";
|
||||
aicc = "aichat -c";
|
||||
nrs = "sudo nixos-rebuild switch --flake ~/.dotfiles/nixcfgs";
|
||||
clip = "wl-copy";
|
||||
paste = "wl-paste";
|
||||
};
|
||||
darwinAliases = {
|
||||
reboot = "sudo reboot";
|
||||
clip = "pbcopy";
|
||||
paste = "pbpaste";
|
||||
ii = "open";
|
||||
brewi = "brew install";
|
||||
brewr = "brew remove";
|
||||
brewu = "brew upgrade && brew update";
|
||||
brewc = "brew cleanup";
|
||||
brewl = "brew list";
|
||||
};
|
||||
linuxAliases = {
|
||||
ii = "xdg-open";
|
||||
open = "xdg-open";
|
||||
};
|
||||
in
|
||||
commonAliases
|
||||
// (
|
||||
if pkgs.stdenv.isLinux
|
||||
then linuxAliases
|
||||
else {}
|
||||
)
|
||||
// (
|
||||
if pkgs.stdenv.isDarwin
|
||||
then darwinAliases
|
||||
else {}
|
||||
)
|
||||
8
nixcfgs/users/js0ny/programs/shell/bash.nix
Normal file
8
nixcfgs/users/js0ny/programs/shell/bash.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{pkgs, ...}: let
|
||||
aliases = import ./aliases.nix {pkgs = pkgs;};
|
||||
in {
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
shellAliases = aliases;
|
||||
};
|
||||
}
|
||||
50
nixcfgs/users/js0ny/programs/shell/fish.nix
Normal file
50
nixcfgs/users/js0ny/programs/shell/fish.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
{pkgs, ...}: let
|
||||
aliases = import ./aliases.nix {pkgs = pkgs;};
|
||||
in {
|
||||
programs.fish = {
|
||||
enable = true;
|
||||
interactiveShellInit = ''
|
||||
set fish_greeting
|
||||
function __last_history_item; echo $history[1]; end
|
||||
abbr -a !! --position anywhere --function __last_history_item
|
||||
function tv
|
||||
touch $argv[1] && $EDITOR $argv[1]
|
||||
end
|
||||
function mtv
|
||||
mkdir -p (dirname $argv[1]) && touch $argv[1] && $EDITOR $argv[1]
|
||||
end
|
||||
|
||||
fish_vi_key_bindings
|
||||
|
||||
bind -M default ctrl-p up-or-search
|
||||
bind -M default ctrl-n down-or-search
|
||||
bind -M default ctrl-f forward-char
|
||||
bind -M default ctrl-b backward-char
|
||||
bind -M default ctrl-a beginning-of-line
|
||||
bind -M default ctrl-e end-of-line
|
||||
bind -M default ctrl-k kill-line
|
||||
|
||||
bind -M insert ctrl-p up-or-search
|
||||
bind -M insert ctrl-n down-or-search
|
||||
bind -M insert ctrl-f forward-char
|
||||
bind -M insert ctrl-b backward-char
|
||||
bind -M insert ctrl-a beginning-of-line
|
||||
bind -M insert ctrl-e end-of-line
|
||||
bind -M insert ctrl-k kill-line
|
||||
bind -M insert ctrl-w backward-kill-path-component
|
||||
|
||||
|
||||
# ctrl + backspace
|
||||
bind -M insert ctrl-backspace backward-kill-path-component
|
||||
# alt + backspace
|
||||
bind -M insert alt-backspace backward-kill-line
|
||||
# ctrl + delete
|
||||
bind -M insert ctrl-delete kill-word
|
||||
# alt + delete (d$)
|
||||
bind -M insert alt-delete kill-line
|
||||
'';
|
||||
# preferAbbrs = true;
|
||||
shellAbbrs = aliases;
|
||||
};
|
||||
programs.zed-editor.extensions = ["fish"];
|
||||
}
|
||||
11
nixcfgs/users/js0ny/programs/shell/nu.nix
Normal file
11
nixcfgs/users/js0ny/programs/shell/nu.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{pkgs, ...}: let
|
||||
aliases = import ./aliases.nix {pkgs = pkgs;};
|
||||
in {
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
shellAliases = aliases;
|
||||
extraConfig = ''
|
||||
$env.config.show_banner = false
|
||||
'';
|
||||
};
|
||||
}
|
||||
12
nixcfgs/users/js0ny/programs/shell/zsh.nix
Normal file
12
nixcfgs/users/js0ny/programs/shell/zsh.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{config, pkgs, ...}: let
|
||||
aliases = import ./aliases.nix { pkgs = pkgs; };
|
||||
in {
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
autocd = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
dotDir = "${config.xdg.configHome}/zsh";
|
||||
shellAliases = aliases;
|
||||
};
|
||||
}
|
||||
|
|
@ -19,13 +19,17 @@
|
|||
./programs/firefox.nix
|
||||
./programs/emacs.nix
|
||||
./programs/vscode.nix
|
||||
./programs/shell.nix
|
||||
./programs/xilinx.nix
|
||||
./programs/mime.nix
|
||||
./programs/zed-editor.nix
|
||||
./programs/rime.nix
|
||||
./programs/sdcv.nix
|
||||
|
||||
# Shell
|
||||
./programs/shell/bash.nix
|
||||
./programs/shell/zsh.nix
|
||||
./programs/shell/fish.nix
|
||||
|
||||
# Desktop Linux
|
||||
./programs/plasma.nix
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue