From 31fb7b437dcdbfd334602ef35013d21f7a2c74d7 Mon Sep 17 00:00:00 2001 From: Richie Cahill Date: Tue, 14 Apr 2026 20:13:04 -0400 Subject: [PATCH] adding steve --- systems/bob/default.nix | 3 +- systems/bob/llms.nix | 1 + systems/jeeves/default.nix | 5 +-- users/steve/default.nix | 44 ++++++++++++++++++++++++ users/steve/home/cli/default.nix | 9 +++++ users/steve/home/cli/direnv.nix | 8 +++++ users/steve/home/cli/git.nix | 14 ++++++++ users/steve/home/cli/zsh.nix | 28 ++++++++++++++++ users/steve/home/global.nix | 22 ++++++++++++ users/steve/home/programs.nix | 57 ++++++++++++++++++++++++++++++++ users/steve/home/ssh_config.nix | 6 ++++ users/steve/systems/bob.nix | 5 +++ users/steve/systems/jeeves.nix | 5 +++ 13 files changed, 204 insertions(+), 3 deletions(-) create mode 100644 users/steve/default.nix create mode 100644 users/steve/home/cli/default.nix create mode 100644 users/steve/home/cli/direnv.nix create mode 100644 users/steve/home/cli/git.nix create mode 100644 users/steve/home/cli/zsh.nix create mode 100644 users/steve/home/global.nix create mode 100644 users/steve/home/programs.nix create mode 100644 users/steve/home/ssh_config.nix create mode 100644 users/steve/systems/bob.nix create mode 100644 users/steve/systems/jeeves.nix diff --git a/systems/bob/default.nix b/systems/bob/default.nix index b4267f5..0c912bf 100644 --- a/systems/bob/default.nix +++ b/systems/bob/default.nix @@ -1,8 +1,9 @@ { inputs, pkgs, ... }: { imports = [ - "${inputs.self}/users/richie" "${inputs.self}/users/math" + "${inputs.self}/users/richie" + "${inputs.self}/users/steve" "${inputs.self}/common/global" "${inputs.self}/common/optional/docker.nix" "${inputs.self}/common/optional/scanner.nix" diff --git a/systems/bob/llms.nix b/systems/bob/llms.nix index d2bc367..efa7016 100644 --- a/systems/bob/llms.nix +++ b/systems/bob/llms.nix @@ -45,6 +45,7 @@ "translategemma:12b" "translategemma:27b" "translategemma:4b" + "rinex20/translategemma3:12b" ]; models = "/zfs/models"; openFirewall = true; diff --git a/systems/jeeves/default.nix b/systems/jeeves/default.nix index 1f1b294..7828bad 100644 --- a/systems/jeeves/default.nix +++ b/systems/jeeves/default.nix @@ -4,9 +4,10 @@ let in { imports = [ - "${inputs.self}/users/richie" - "${inputs.self}/users/math" "${inputs.self}/users/dov" + "${inputs.self}/users/math" + "${inputs.self}/users/richie" + "${inputs.self}/users/steve" "${inputs.self}/common/global" "${inputs.self}/common/optional/docker.nix" "${inputs.self}/common/optional/ssh_decrypt.nix" diff --git a/users/steve/default.nix b/users/steve/default.nix new file mode 100644 index 0000000..d9bdfe3 --- /dev/null +++ b/users/steve/default.nix @@ -0,0 +1,44 @@ +{ + pkgs, + config, + ... +}: +let + ifTheyExist = groups: builtins.filter (group: builtins.hasAttr group config.users.groups) groups; +in +{ + + users = { + users.steve = { + isNormalUser = true; + + shell = pkgs.zsh; + group = "steve"; + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJH03VzDbUhzfhvwD+OsYh6GobODYaI9jdNdzWQoqFsp matth@Jove" # cspell:disable-line + ]; + extraGroups = [ + "audio" + "video" + "wheel" + "users" + ] + ++ ifTheyExist [ + "dialout" + "docker" + "hass" + "libvirtd" + "networkmanager" + "plugdev" + "scanner" + "transmission" + "uaccess" + "wireshark" + ]; + uid = 1005; + }; + + groups.steve.gid = 1005; + }; + home-manager.users.steve = import ./systems/${config.networking.hostName}.nix; +} diff --git a/users/steve/home/cli/default.nix b/users/steve/home/cli/default.nix new file mode 100644 index 0000000..863c25f --- /dev/null +++ b/users/steve/home/cli/default.nix @@ -0,0 +1,9 @@ +{ + imports = [ + ./direnv.nix + ./git.nix + ./zsh.nix + ]; + + programs.starship.enable = true; +} diff --git a/users/steve/home/cli/direnv.nix b/users/steve/home/cli/direnv.nix new file mode 100644 index 0000000..75129d9 --- /dev/null +++ b/users/steve/home/cli/direnv.nix @@ -0,0 +1,8 @@ +{ + + programs.direnv = { + enable = true; + enableZshIntegration = true; + nix-direnv.enable = true; + }; +} diff --git a/users/steve/home/cli/git.nix b/users/steve/home/cli/git.nix new file mode 100644 index 0000000..ed94921 --- /dev/null +++ b/users/steve/home/cli/git.nix @@ -0,0 +1,14 @@ +{ + programs.git = { + enable = true; + settings = { + user = { + email = "matthew.michal11@gmail.com"; + name = "Matthew Michal"; + }; + pull.rebase = true; + color.ui = true; + }; + lfs.enable = true; + }; +} diff --git a/users/steve/home/cli/zsh.nix b/users/steve/home/cli/zsh.nix new file mode 100644 index 0000000..69cf853 --- /dev/null +++ b/users/steve/home/cli/zsh.nix @@ -0,0 +1,28 @@ +{ + programs.zsh = { + enable = true; + syntaxHighlighting.enable = true; + history.size = 10000; + oh-my-zsh = { + enable = true; + plugins = [ + "git" + "docker" + "docker-compose" + "colored-man-pages" + "rust" + "systemd" + "tmux" + "ufw" + "z" + ]; + }; + shellAliases = { + "lrt" = "eza --icons -lsnew"; + "ls" = "eza"; + "ll" = "eza --long --group"; + "la" = "eza --all"; + + }; + }; +} diff --git a/users/steve/home/global.nix b/users/steve/home/global.nix new file mode 100644 index 0000000..c23a756 --- /dev/null +++ b/users/steve/home/global.nix @@ -0,0 +1,22 @@ +{ config, ... }: +{ + imports = [ + ./cli + ./programs.nix + ./ssh_config.nix + ]; + + programs = { + home-manager.enable = true; + git.enable = true; + }; + + home = { + username = "steve"; + homeDirectory = "/home/${config.home.username}"; + stateVersion = "24.05"; + sessionVariables = { + FLAKE = "$HOME/dotfiles"; + }; + }; +} diff --git a/users/steve/home/programs.nix b/users/steve/home/programs.nix new file mode 100644 index 0000000..514fa65 --- /dev/null +++ b/users/steve/home/programs.nix @@ -0,0 +1,57 @@ +{ pkgs, ... }: +{ + home.packages = with pkgs; [ + # cli + bat + btop + eza + fd + ffmpegthumbnailer + fzf + git + gnupg + imagemagick + jq + ncdu + ouch + p7zip + poppler + rar + ripgrep + starship + tmux + unzip + yazi + zoxide + # system info + hwloc + lynis + pciutils + smartmontools + usbutils + # networking + iperf3 + nmap + wget + # python + poetry + ruff + uv + # nodejs + nodejs + # Rust packages + trunk + wasm-pack + cargo-watch + cargo-generate + cargo-audit + cargo-update + # nix + nix-init + nix-output-monitor + nix-prefetch + nix-tree + nixfmt + treefmt + ]; +} diff --git a/users/steve/home/ssh_config.nix b/users/steve/home/ssh_config.nix new file mode 100644 index 0000000..8b9aa69 --- /dev/null +++ b/users/steve/home/ssh_config.nix @@ -0,0 +1,6 @@ +{ + programs.ssh = { + enable = true; + enableDefaultConfig = false; + }; +} diff --git a/users/steve/systems/bob.nix b/users/steve/systems/bob.nix new file mode 100644 index 0000000..6bbef61 --- /dev/null +++ b/users/steve/systems/bob.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../home/global.nix + ]; +} diff --git a/users/steve/systems/jeeves.nix b/users/steve/systems/jeeves.nix new file mode 100644 index 0000000..6bbef61 --- /dev/null +++ b/users/steve/systems/jeeves.nix @@ -0,0 +1,5 @@ +{ + imports = [ + ../home/global.nix + ]; +}