From 5bccc6cbfae7e4345a95fd7ab5754bdce544e92c Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Thu, 12 Mar 2026 01:36:11 -0400 Subject: [PATCH] updated --- .../server/modules/home-manager/default.nix | 3 +- src/system/machines/server/system.nix | 33 +++++++++++------- src/user/config/keys/ssh/desktop.pub.key | 1 + src/user/modules/bash/config/shellHook.nix | 2 +- src/user/modules/tmux/config/tmux.nix | 34 +++++++++++++++++++ 5 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 src/user/config/keys/ssh/desktop.pub.key diff --git a/src/system/machines/server/modules/home-manager/default.nix b/src/system/machines/server/modules/home-manager/default.nix index 1d99c4d..d3a7e46 100644 --- a/src/system/machines/server/modules/home-manager/default.nix +++ b/src/system/machines/server/modules/home-manager/default.nix @@ -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; diff --git a/src/system/machines/server/system.nix b/src/system/machines/server/system.nix index 5864ed7..6d33368 100644 --- a/src/system/machines/server/system.nix +++ b/src/system/machines/server/system.nix @@ -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; diff --git a/src/user/config/keys/ssh/desktop.pub.key b/src/user/config/keys/ssh/desktop.pub.key new file mode 100644 index 0000000..4604ca9 --- /dev/null +++ b/src/user/config/keys/ssh/desktop.pub.key @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOYXfu4Jc/HtdyhOfAdCXYzhqCubIq3Bz6Kl9NDUov76 bryan@desktop diff --git a/src/user/modules/bash/config/shellHook.nix b/src/user/modules/bash/config/shellHook.nix index be94e35..a252b83 100644 --- a/src/user/modules/bash/config/shellHook.nix +++ b/src/user/modules/bash/config/shellHook.nix @@ -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 ''} diff --git a/src/user/modules/tmux/config/tmux.nix b/src/user/modules/tmux/config/tmux.nix index d3ba11f..9ad7ae4 100644 --- a/src/user/modules/tmux/config/tmux.nix +++ b/src/user/modules/tmux/config/tmux.nix @@ -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 ''