{ config, pkgs, ... }: { # Also install these globally programs.fish.enable = true; environment.systemPackages = with pkgs; [ fishPlugins.done fishPlugins.fzf-fish fishPlugins.forgit fishPlugins.hydro fzf fishPlugins.grc grc ]; # Keep bash as the interactive shell (bcuz fish is not posix compliant) and launch fish immediately programs.bash.interactiveShellInit = '' if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] then shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" exec ${pkgs.fish}/bin/fish $LOGIN_OPTION fi ''; # Define a user account. Don't forget to set a password with ‘passwd’. users.users.stormwind = { isNormalUser = true; description = "stormwind"; extraGroups = [ "networkmanager" "wheel" "incus-admin" ]; packages = with pkgs; []; openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN813v9B9Af6u3lvoPkcMzbh3/3gwRNLi58HCOjVLE0N'' ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBsZZ1qSy+cu1QMlPoZZ2ovv8G+4OIyI07/di68F7NtZ leon macbook'' ]; }; home-manager.users.stormwind = { pkgs, ... }: { imports = [ ./git.nix ./fish.nix ]; home.stateVersion = "24.11"; home.file = { ".config/nvim/init.vim".source = dotfiles/neovim/init.vim; ".config/helix/config.toml".source = dotfiles/helix.toml; }; }; }