diff --git a/nixcfgs/users/js0ny/programs/mime.nix b/nixcfgs/users/js0ny/programs/mime.nix index d728cfd..1a47a01 100644 --- a/nixcfgs/users/js0ny/programs/mime.nix +++ b/nixcfgs/users/js0ny/programs/mime.nix @@ -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"; } diff --git a/nixcfgs/users/js0ny/programs/shell.nix b/nixcfgs/users/js0ny/programs/shell.nix deleted file mode 100644 index b652010..0000000 --- a/nixcfgs/users/js0ny/programs/shell.nix +++ /dev/null @@ -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"]; -} diff --git a/nixcfgs/users/js0ny/programs/shell/aliases.nix b/nixcfgs/users/js0ny/programs/shell/aliases.nix new file mode 100644 index 0000000..9b48fa8 --- /dev/null +++ b/nixcfgs/users/js0ny/programs/shell/aliases.nix @@ -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 {} + ) diff --git a/nixcfgs/users/js0ny/programs/shell/bash.nix b/nixcfgs/users/js0ny/programs/shell/bash.nix new file mode 100644 index 0000000..76323f0 --- /dev/null +++ b/nixcfgs/users/js0ny/programs/shell/bash.nix @@ -0,0 +1,8 @@ +{pkgs, ...}: let + aliases = import ./aliases.nix {pkgs = pkgs;}; +in { + programs.bash = { + enable = true; + shellAliases = aliases; + }; +} diff --git a/nixcfgs/users/js0ny/programs/shell/fish.nix b/nixcfgs/users/js0ny/programs/shell/fish.nix new file mode 100644 index 0000000..8ef4e9f --- /dev/null +++ b/nixcfgs/users/js0ny/programs/shell/fish.nix @@ -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"]; +} diff --git a/nixcfgs/users/js0ny/programs/shell/nu.nix b/nixcfgs/users/js0ny/programs/shell/nu.nix new file mode 100644 index 0000000..a78f07c --- /dev/null +++ b/nixcfgs/users/js0ny/programs/shell/nu.nix @@ -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 + ''; + }; +} diff --git a/nixcfgs/users/js0ny/programs/shell/zsh.nix b/nixcfgs/users/js0ny/programs/shell/zsh.nix new file mode 100644 index 0000000..5f7ccae --- /dev/null +++ b/nixcfgs/users/js0ny/programs/shell/zsh.nix @@ -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; + }; +} \ No newline at end of file diff --git a/nixcfgs/users/js0ny/zephyrus.nix b/nixcfgs/users/js0ny/zephyrus.nix index 1e8fc37..252f868 100644 --- a/nixcfgs/users/js0ny/zephyrus.nix +++ b/nixcfgs/users/js0ny/zephyrus.nix @@ -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