{ pkgs, lib, config, ... }: { options = { promptSymbol = lib.mkOption { type = lib.types.str; description = "Prompt prefix symbol."; }; }; config = { users.defaultUserShell = pkgs.fish; users.users.nettika = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" ]; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHopty1QG8P+OfGxQ9CV0BI1IRB/q6yITzMZaZ6Zspid nettika@marauder" ]; }; nix.settings.trusted-users = [ "@wheel" ]; security.sudo.wheelNeedsPassword = false; networking.networkmanager.enable = true; environment.variables.EDITOR = "nano"; programs.git = { enable = true; lfs.enable = true; config = { init.defaultBranch = "master"; user = { email = "git@nettika.cat"; name = "Nettika"; }; credential.helper = "store"; }; }; programs.nano = { enable = true; nanorc = '' set autoindent set linenumbers ''; }; programs.fish = { enable = true; promptInit = '' function fish_prompt echo -n '${config.promptSymbol} ' if fish_is_root_user set_color red else set_color brgreen end echo -n (prompt_pwd) set_color normal echo -n ' > ' end function fish_right_prompt set_color bryellow echo -n (${pkgs.git}/bin/git branch --show-current 2>/dev/null) end ''; shellInit = '' set -g fish_greeting set -g fish_prompt_pwd_full_dirs 999 ''; }; }; }