82 lines
1.8 KiB
Nix
82 lines
1.8 KiB
Nix
{ pkgs, lib, config, ... }: {
|
|
options = {
|
|
promptSymbol = lib.mkOption {
|
|
type = lib.types.str;
|
|
description = "Prompt prefix symbol.";
|
|
};
|
|
};
|
|
|
|
config = {
|
|
nix.gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 30d";
|
|
};
|
|
|
|
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
|
|
'';
|
|
};
|
|
|
|
documentation.man.generateCaches = false;
|
|
};
|
|
}
|