Set up nice tmux pairing config
- User foxsoft has SSH authorized keys - When foxsoft logs on, either attaches to running tmux session or quits
This commit is contained in:
parent
d58ac6109f
commit
03c41c55e9
|
@ -22,6 +22,7 @@
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
users.tsv = import users/tsv/home.nix;
|
users.tsv = import users/tsv/home.nix;
|
||||||
|
users.foxsoft = import users/foxsoft/home.nix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
|
@ -22,6 +22,7 @@ in
|
||||||
networking.hostName = "ritchie";
|
networking.hostName = "ritchie";
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_GB.UTF-8";
|
||||||
time.timeZone = "Europe/London";
|
time.timeZone = "Europe/London";
|
||||||
|
|
||||||
# Enable sound.
|
# Enable sound.
|
||||||
|
@ -33,15 +34,31 @@ in
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.groups.tmux.gid = 1000; # Used for tmux pairing
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
"d /var/tmux_share 770 tsv tmux"
|
||||||
|
];
|
||||||
|
|
||||||
users.users.tsv = {
|
users.users.tsv = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"docker"
|
"docker"
|
||||||
|
"tmux"
|
||||||
];
|
];
|
||||||
initialPassword = "password";
|
initialPassword = "password";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.users.foxsoft = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [
|
||||||
|
"tmux"
|
||||||
|
];
|
||||||
|
openssh.authorizedKeys.keyFiles = [
|
||||||
|
../users/foxsoft/authorized_keys
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
nix.settings.trusted-users = [ "root" "tsv" ];
|
nix.settings.trusted-users = [ "root" "tsv" ];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
|
@ -80,7 +97,10 @@ in
|
||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
settings.PasswordAuthentication = false;
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "22.11"; # Don't change this
|
system.stateVersion = "22.11"; # Don't change this
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA7Lsg564s9xAo+R3ompSmZCCvRDmfqRwH90xtj+4H3F72GSlcjqIWxZa3GtDinW3WAfjOZK99Ayxzyy3535Nkw5qubSt/vClWpwtZTMOnpShWWfA7QxeCl3BlpSY04aJZhoqQ7ehlTDcuFJZZqv8dbbr8kKeNSLje3lCDZCl1aYb+keiFS4pkWdYmtZ0mX7TYG6RiMZEPOYEdw1+hLKOvn4l2sPSN28ezru0LEo1K7p7+fn1Wlh+TqUOftIrHPmMr3F517X/hbUMVDkxkpNM2I/CvBZEx/mFNnCIkSmpX8iXVy7XnIwlhnE24WCExtvCkALytBK3W/FQUh9NaNuML9Q== andy@picasso.foxsoft.local
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxfVMoUS+1g91gdbmPlVkAQF3GPJuD6YilTvjI9i2XilpBRQ31u5JqboAPIlqo0+Or253WRUG3aoC2OS1HiVjffvSwbK3EZxDqH7TlWTkvRcVhMdEQA2thNsE207sY+t3PHu53ltjQeouk3LA87/BYVcHwbS0SGg13OZRbEUSeAznWj4NlBJkUhO47xybfLATWLNg2B0AKLUqcCsMWOlwR6E5snXEjPcnvrwPhHe5CljVW8NI79hw8xCDR4QoMFJGsnmBRftWQEGuUGOQYmpXET7chlhO0Rw97xHDyOnShMnkmz4RtpiCeiE7d6+HbUfQGoND77s3sjfYmLjywii8DQ== adre@Hart.local
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDQ56/ZOLhDERSF0q8XIRL5bLupnjbuU3er69uTG/MLKOCLdzRsaz1K8O4sFjTYxqwSvkpykNnv0hs8QeJgd/SmTkPKE19huFpmmXzE9nWgc4o4bQqXQyYawkIELou42VmXnVsrkIH5BdHAGKOeNOfTharD+c65k9N78DKWInVL/I25kslwoj0roEEmsyebN/HkUBD6YBUgguMBbLunnWvUr1A2+YnqVELzNIKTmo8KGQoGta8mC/w5UuzqTceqToZ+CAo9Vxer7XWMarKBata9GeTuUmuaM9D3j91yUT1XvC6OFetRDBLJ7wcoo5J5qrspG3CCUal+ZgvZA918SeV5TKBdGSL0rU7m13eZ6YdhOkOAQV6f+Ta9QSTohhYzWv4YGpMQO4mtbiUJLG0yir/Z2/EV1ijJUxnQVr//avW3dpNk8yCzEao9CjqyiUh1k4rrxQ/9seShw4OoNqtvs+nzABZ7qyUvrfGBwZ19VFpNLPNlq65k8P0RyHh1fG4S2iGlI4ksqgHd2GTUNqARggBveu4dIhiEVsWlmAv/2yEydWfFUNlLb/1MMjZe6cTzgbQ1BEKSI/vV8+o94dJ+09N9st4QEmsbnPlillYOD9iFbqR5lFDCU5Rq38RkZZB4Sp7Ch1yfNfAvbB354Jvto9pBLy5lRnaNdvgZPiVbvp3MiQ== daniel@limeblast.co.uk
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3SCbRzbJolhjy/TMFLMcDlzO+pFvPat/mZP/BosY3CozR2iGIeM3CmfNKB2gz3CFXjixZeLVG6ZdlfQsU/Z5/2z926N0ZK23pGQBpg78qWy7nglP8JItGwE+4K6Hw4v3qfAcOsBWAs7wGfzULOIUGcERn0s15fZ0uCpZMLU6fdSOdT9ghzAb27RKkunVNsUvXYWpMA+RIjLUC55bMYB5ntkfugeaZF8aMLkVF03tsZlRIHD5ZKnGF93zyzNSeQgovj8YnmmVg1FTC7ARV40sjH3Wjb7gs7G9x7KKh7HXJQ/5ymzNKGrmC/4NEp4Om+DdYwlXQEFhRWAnXVqxQxdnH andy@maximus
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCmWUGjQ6EMNP0sqwF0XTnL58I8dKqlPIMgpOeTFVCCW8+6A4XRuTlx0uVt96d49lwvEuSn5Mft7oMNEL0O+zFMYFru9s786Lpvd7iI7kwEIARgcHeVLifTbYd+N85G2ILKCsPHqcRJPmcbG2wASZOJEFn0Ngs5cf+/lXnISEyAHUmltVDM0V0Ne20oMcZcztaBzaASHcHGlJCGUQuScag0kPljKiWKbOVvA6hGVYwuhr/G+6vPTfml18p3KHsAIOLZaK7DsYwgHGPSu38YbHL60iz6iBn9GcEaUcWIgtqamSAfhq+cFPjzySCLmSa5rJ0Y2mNPk/YiZTSfQpIDpNAWKq+fmWg3zx/g28nN06HL9eHhTzG7VRW+CXaX67Xc6tg8I+kqF6722TEtFZ74wXBmMsn+JCn6CDtxSUtK1of8xTAO7Bl4Uq/hQ8KsdeO8J4XfRaFjiSLqiU+WcyibLkFDnW+g8sR0shOJi5Kl3ES3xgvdrxLcODKzDBHKm+jiIzVJICqPbXrzOtoXWd4xD79rGeYVrx72J8HiY6zokgUYpkVFgwzxe6OVRCQ0dfPsRtj/Mr2KAyDkRsdyeR5QhDDePoNBw5y3IbN/MB4lwOYO3mMqg589f4cUTxOQy+i7sRHVVdzdf22LdP0Kc/d9iH8lkpt7V7sn8Di3AZ/Y+NEBMw== trevor@foxsoft.co.uk
|
|
@ -0,0 +1,10 @@
|
||||||
|
SOCKET_PATH="/var/tmux_share/shared"
|
||||||
|
|
||||||
|
# Connect to tmux if a session exists
|
||||||
|
tmux -S $SOCKET_PATH attach -t shared
|
||||||
|
|
||||||
|
# If a session didn't exist, delete the socket we created
|
||||||
|
[ $? -ne 0 ] && rm -f $SOCKET_PATH
|
||||||
|
|
||||||
|
# Exit, either when exiting tmux or after failing to connect
|
||||||
|
exit
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
if [ -f ~/.bash_profile ]; then
|
||||||
|
source ~/.bash_profile
|
||||||
|
fi
|
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.username = "foxsoft";
|
||||||
|
home.homeDirectory = "/home/foxsoft";
|
||||||
|
|
||||||
|
home.stateVersion = "22.11";
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
home.file.".bash_profile".source = ./bash_profile;
|
||||||
|
home.file.".bashrc".source = ./bashrc;
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
source ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
||||||
|
|
||||||
PAGER="less -r"
|
PAGER="less -r"
|
||||||
EDITOR="nvim"
|
EDITOR="nvim"
|
||||||
VISUAL="nvim"
|
VISUAL="nvim"
|
||||||
|
@ -25,6 +23,7 @@ alias checkport="sudo netstat -tnlp | grep"
|
||||||
alias dockerpurge="docker system prune --all --force --volumes"
|
alias dockerpurge="docker system prune --all --force --volumes"
|
||||||
alias dockerkill="docker stop `docker ps -a -q`"
|
alias dockerkill="docker stop `docker ps -a -q`"
|
||||||
alias vi="nvim"
|
alias vi="nvim"
|
||||||
|
alias tp="$HOME/bin/tmux_pair.bash"
|
||||||
|
|
||||||
# Prompt setup
|
# Prompt setup
|
||||||
GIT_PS1_SHOWDIRTYSTATE=1
|
GIT_PS1_SHOWDIRTYSTATE=1
|
||||||
|
@ -45,4 +44,3 @@ PS1+=' $(__git_ps1 [$YELLOW%s$CLEAR]) \n'
|
||||||
PS1+="ॐ \[$BOLD\]"
|
PS1+="ॐ \[$BOLD\]"
|
||||||
trap 'printf "\033[0m" >&2' DEBUG
|
trap 'printf "\033[0m" >&2' DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
if [ -f ~/.bash_profile ]; then
|
||||||
|
source ~/.bash_profile
|
||||||
|
fi
|
|
@ -79,6 +79,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
home.file.".bash_profile".source = ./bash_profile;
|
home.file.".bash_profile".source = ./bash_profile;
|
||||||
|
home.file.".bashrc".source = ./bashrc;
|
||||||
home.file.".tmux.conf".source = ./tmux.conf;
|
home.file.".tmux.conf".source = ./tmux.conf;
|
||||||
xdg.configFile."git/config".source = ./git/config;
|
xdg.configFile."git/config".source = ./git/config;
|
||||||
xdg.configFile."git/config_foxsoft".source = ./git/config_foxsoft;
|
xdg.configFile."git/config_foxsoft".source = ./git/config_foxsoft;
|
||||||
|
|
Loading…
Reference in New Issue