Move ssh and starship config into own files
Add helper script ssh-keygen-defaults starship: always enable hostname module, add octicon icon for package module
This commit is contained in:
parent
1cccd418b5
commit
93d1867f5f
|
@ -5,6 +5,8 @@
|
|||
}: {
|
||||
imports = [
|
||||
./git.nix
|
||||
./ssh.nix
|
||||
./starship.nix
|
||||
./bottom.nix
|
||||
./zellij.nix
|
||||
];
|
||||
|
@ -42,151 +44,6 @@
|
|||
changeDirWidgetCommand = "${pkgs.fd}/bin/fd --type d";
|
||||
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
|
||||
};
|
||||
ssh = {
|
||||
enable = true;
|
||||
forwardAgent = true;
|
||||
compression = true;
|
||||
serverAliveInterval = 15;
|
||||
serverAliveCountMax = 3;
|
||||
controlMaster = "auto";
|
||||
controlPersist = "10s";
|
||||
extraConfig = ''
|
||||
AddKeysToAgent=yes
|
||||
SetEnv TERM=xterm-256color
|
||||
'';
|
||||
matchBlocks = {
|
||||
"git*".user = "git";
|
||||
"legion" = {
|
||||
user = "pixelifytica";
|
||||
hostname = "192.168.0.31";
|
||||
};
|
||||
"vanguard" = {
|
||||
user = "pixelifytica";
|
||||
hostname = "192.168.0.90";
|
||||
};
|
||||
"ionos" = {
|
||||
user = "root";
|
||||
hostname = "77.68.67.133";
|
||||
};
|
||||
"freia" = {
|
||||
user = "elitherl";
|
||||
hostname = "freia020.hpc.l";
|
||||
forwardX11Trusted = true;
|
||||
};
|
||||
"heimdall" = {
|
||||
user = "elitherl";
|
||||
hostname = "heimdall003.jet.uk";
|
||||
forwardX11Trusted = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
enableTransience = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
c = {symbol = " ";};
|
||||
character = {
|
||||
success_symbol = "[ ](bold green)";
|
||||
error_symbol = "[ ](bold red)";
|
||||
};
|
||||
command_timeout = 2000;
|
||||
container = {symbol = " ";};
|
||||
directory = {
|
||||
truncation_length = 2;
|
||||
fish_style_pwd_dir_length = 1;
|
||||
truncate_to_repo = false;
|
||||
};
|
||||
direnv = {disabled = false;};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
only_attached = true;
|
||||
ignore_branches = ["master" "main"];
|
||||
};
|
||||
git_commit = {
|
||||
format = "[ $hash | $tag]($style) ";
|
||||
tag_symbol = " ";
|
||||
tag_disabled = false;
|
||||
};
|
||||
git_metrics = {disabled = false;};
|
||||
git_status = {
|
||||
stashed = " ";
|
||||
ahead = " ";
|
||||
behind = " ";
|
||||
up_to_date = "";
|
||||
diverged = " ";
|
||||
conflicted = " ";
|
||||
deleted = " ";
|
||||
renamed = " ";
|
||||
modified = " ";
|
||||
staged = " ";
|
||||
untracked = " ";
|
||||
typechanged = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = true;
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
jobs = {symbol = " ";};
|
||||
line_break = {disabled = false;};
|
||||
localip = {disabled = false;};
|
||||
lua = {symbol = " ";};
|
||||
memory_usage = {disabled = false;};
|
||||
nodejs = {symbol = " ";};
|
||||
os = {
|
||||
disabled = false;
|
||||
format = "on [$symbol]($style) ";
|
||||
symbols = {
|
||||
Alpine = " ";
|
||||
Arch = " ";
|
||||
Artix = " ";
|
||||
CentOS = " ";
|
||||
Debian = " ";
|
||||
EndeavourOS = " ";
|
||||
Fedora = " ";
|
||||
FreeBSD = " ";
|
||||
Gentoo = " ";
|
||||
Illumos = " ";
|
||||
Linux = " ";
|
||||
Macos = " ";
|
||||
Manjaro = " ";
|
||||
Mint = " ";
|
||||
NixOS = " ";
|
||||
OpenBSD = " ";
|
||||
openSUSE = " ";
|
||||
Pop = " ";
|
||||
Raspbian = " ";
|
||||
Redhat = " ";
|
||||
RedHatEnterprise = " ";
|
||||
Solus = " ";
|
||||
SUSE = " ";
|
||||
Ubuntu = " ";
|
||||
Unknown = " ";
|
||||
Windows = " ";
|
||||
};
|
||||
};
|
||||
python = {
|
||||
python_binary = "python3";
|
||||
symbol = " ";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
format = "using [$indicator ]($style)";
|
||||
};
|
||||
status = {
|
||||
disabled = false;
|
||||
map_symbol = true;
|
||||
pipestatus = true;
|
||||
symbol = " ";
|
||||
success_symbol = "";
|
||||
not_executable_symbol = " ";
|
||||
not_found_symbol = " ";
|
||||
sigint_symbol = " ";
|
||||
signal_symbol = " ";
|
||||
};
|
||||
sudo = {disabled = false;};
|
||||
};
|
||||
};
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
|
|
44
programs/shell/ssh.nix
Normal file
44
programs/shell/ssh.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
(writeShellScriptBin "ssh-keygen-defaults"
|
||||
''ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)"'')
|
||||
];
|
||||
programs.ssh = {
|
||||
enable = true;
|
||||
forwardAgent = true;
|
||||
compression = true;
|
||||
serverAliveInterval = 15;
|
||||
serverAliveCountMax = 3;
|
||||
controlMaster = "auto";
|
||||
controlPersist = "10s";
|
||||
extraConfig = ''
|
||||
AddKeysToAgent=yes
|
||||
SetEnv TERM=xterm-256color
|
||||
'';
|
||||
matchBlocks = {
|
||||
"git*".user = "git";
|
||||
"legion" = {
|
||||
user = "pixelifytica";
|
||||
hostname = "192.168.0.31";
|
||||
};
|
||||
"vanguard" = {
|
||||
user = "pixelifytica";
|
||||
hostname = "192.168.0.90";
|
||||
};
|
||||
"ionos" = {
|
||||
user = "root";
|
||||
hostname = "77.68.67.133";
|
||||
};
|
||||
"freia" = {
|
||||
user = "elitherl";
|
||||
hostname = "freia020.hpc.l";
|
||||
forwardX11Trusted = true;
|
||||
};
|
||||
"heimdall" = {
|
||||
user = "elitherl";
|
||||
hostname = "heimdall003.jet.uk";
|
||||
forwardX11Trusted = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
110
programs/shell/starship.nix
Normal file
110
programs/shell/starship.nix
Normal file
|
@ -0,0 +1,110 @@
|
|||
{...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
enableTransience = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
c = {symbol = " ";};
|
||||
character = {
|
||||
success_symbol = "[ ](bold green)";
|
||||
error_symbol = "[ ](bold red)";
|
||||
};
|
||||
command_timeout = 2000;
|
||||
container = {symbol = " ";};
|
||||
directory = {
|
||||
truncation_length = 2;
|
||||
fish_style_pwd_dir_length = 1;
|
||||
truncate_to_repo = false;
|
||||
};
|
||||
direnv = {disabled = false;};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
only_attached = true;
|
||||
ignore_branches = ["master" "main"];
|
||||
};
|
||||
git_commit = {
|
||||
format = "[ $hash | $tag]($style) ";
|
||||
tag_symbol = " ";
|
||||
tag_disabled = false;
|
||||
};
|
||||
git_metrics = {disabled = false;};
|
||||
git_status = {
|
||||
stashed = " ";
|
||||
ahead = " ";
|
||||
behind = " ";
|
||||
up_to_date = "";
|
||||
diverged = " ";
|
||||
conflicted = " ";
|
||||
deleted = " ";
|
||||
renamed = " ";
|
||||
modified = " ";
|
||||
staged = " ";
|
||||
untracked = " ";
|
||||
typechanged = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_only = false;
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
jobs = {symbol = " ";};
|
||||
line_break = {disabled = false;};
|
||||
localip = {disabled = false;};
|
||||
lua = {symbol = " ";};
|
||||
memory_usage = {disabled = false;};
|
||||
nodejs = {symbol = " ";};
|
||||
os = {
|
||||
disabled = false;
|
||||
format = "on [$symbol]($style) ";
|
||||
symbols = {
|
||||
Alpine = " ";
|
||||
Arch = " ";
|
||||
Artix = " ";
|
||||
CentOS = " ";
|
||||
Debian = " ";
|
||||
EndeavourOS = " ";
|
||||
Fedora = " ";
|
||||
FreeBSD = " ";
|
||||
Gentoo = " ";
|
||||
Illumos = " ";
|
||||
Linux = " ";
|
||||
Macos = " ";
|
||||
Manjaro = " ";
|
||||
Mint = " ";
|
||||
NixOS = " ";
|
||||
OpenBSD = " ";
|
||||
openSUSE = " ";
|
||||
Pop = " ";
|
||||
Raspbian = " ";
|
||||
Redhat = " ";
|
||||
RedHatEnterprise = " ";
|
||||
Solus = " ";
|
||||
SUSE = " ";
|
||||
Ubuntu = " ";
|
||||
Unknown = " ";
|
||||
Windows = " ";
|
||||
};
|
||||
};
|
||||
package = {symbol = " ";};
|
||||
python = {
|
||||
python_binary = "python3";
|
||||
symbol = " ";
|
||||
};
|
||||
shell = {
|
||||
disabled = false;
|
||||
format = "using [$indicator ]($style)";
|
||||
};
|
||||
status = {
|
||||
disabled = false;
|
||||
map_symbol = true;
|
||||
pipestatus = true;
|
||||
symbol = " ";
|
||||
success_symbol = "";
|
||||
not_executable_symbol = " ";
|
||||
not_found_symbol = " ";
|
||||
sigint_symbol = " ";
|
||||
signal_symbol = " ";
|
||||
};
|
||||
sudo = {disabled = false;};
|
||||
};
|
||||
};
|
||||
}
|
Reference in a new issue