This commit is contained in:
Bryan Ramos 2026-03-12 01:36:11 -04:00
parent 2abb2ba62a
commit 5bccc6cbfa
5 changed files with 58 additions and 15 deletions

View file

@ -8,7 +8,7 @@
programs.home-manager.enable = true;
home.stateVersion = "23.11";
home.stateVersion = "25.11";
home.username = "${config.user.name}";
home.homeDirectory = "/home/${config.user.name}";
@ -17,6 +17,7 @@
user = {
bash.enable = true;
git.enable = true;
tmux.enable = true;
security = {
gpg.enable = true;

View file

@ -20,7 +20,9 @@
${config.user.name} = {
isNormalUser = true;
extraGroups = config.user.groups;
openssh.authorizedKeys.keys = [ "${config.user.keys.ssh.primary}" ];
openssh.authorizedKeys.keys = [
"${config.user.keys.ssh.desktop}"
];
};
};
@ -43,7 +45,6 @@
timeout = null;
grub = {
enable = true;
useOSProber = true;
devices = [ "nodev" ];
efiSupport = true;
configurationLimit = 5;
@ -59,11 +60,7 @@
wget
git
vim
];
fonts.packages = with pkgs; [
terminus_font
nerd-fonts.terminess-ttf
htop
];
security.sudo = {
@ -88,21 +85,31 @@
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
console.font = "Lat2-Terminus16";
networking = {
hostName = "server";
useDHCP = lib.mkDefault true;
networkmanager.enable = true;
useDHCP = false;
interfaces.eno1 = {
ipv4.addresses = [{
address = "192.168.0.154";
prefixLength = 24;
}];
};
defaultGateway = "192.168.0.1";
nameservers = [ "1.1.1.1" "8.8.8.8" ];
firewall = {
enable = true;
allowedTCPPorts = [ 22 ];
};
};
services.fail2ban = {
enable = true;
maxretry = 5;
bantime = "1h";
};
services.openssh = {
enable = true;
startWhenNeeded = true;

View file

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYXfu4Jc/HtdyhOfAdCXYzhqCubIq3Bz6Kl9NDUov76 bryan@desktop

View file

@ -29,7 +29,7 @@ case $- in
fi
''}
${optionalString tmux.enable ''
if [ -z "$DISPLAY" ] && [ -z "$TMUX" ]; then
if [ -z "$DISPLAY" ] && [ -z "$TMUX" ] && [ -z "$SSH_TTY" ]; then
exec tmux
fi
''}

View file

@ -1,10 +1,44 @@
''
bind -n M-C source-file ~/.config/tmux/tmux.conf
# Navigation (matches hyprland Alt+hjkl)
bind-key -n M-h select-pane -L
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
bind-key -n M-l select-pane -R
# Move/swap pane (matches hyprland Alt+Shift+hjkl)
bind-key -n M-H swap-pane -s '{left-of}'
bind-key -n M-J swap-pane -s '{down-of}'
bind-key -n M-K swap-pane -s '{up-of}'
bind-key -n M-L swap-pane -s '{right-of}'
# Actions
bind-key -n M-q kill-pane
bind-key -n M-Return split-window -c "#{pane_current_path}"
bind-key -n M-f resize-pane -Z
# Windows (like workspaces)
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
bind-key -n M-0 select-window -t 10
# Move pane to window (like move to workspace)
bind-key -n M-! join-pane -t :1
bind-key -n M-@ join-pane -t :2
bind-key -n M-'#' join-pane -t :3
bind-key -n M-'$' join-pane -t :4
bind-key -n M-% join-pane -t :5
bind-key -n M-^ join-pane -t :6
bind-key -n M-& join-pane -t :7
bind-key -n M-* join-pane -t :8
bind-key -n M-( join-pane -t :9
bind-key -n M-) join-pane -t :10
''