{ config, pkgs, pkgs-unstable, home-manager, lib, ... }: { users.users.jsutter = { shell = pkgs.zsh; isNormalUser = true; description = "Julian Sutter"; extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "audio" "plugdev" ]; hashedPassword = "$6$tvkhGd24G6pVOsWr$j8ZAqSnXPTGwMGmIulU5Puzqd4iKdu8eAMSFis/cPqTW6u2xGQMqPHH1W9IZwKSL6.nS7Jc/NR2VwpPosyXDH/"; openssh.authorizedKeys.keys = [ "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBNVUh+RrcOSMRV6qysnsdPs5AyK8dSm4QhhnwgpikyI jsutter@symbiotrip.com" ]; packages = with pkgs; [ # Essential CLI tools and user utilities only # GUI applications have been moved to appropriate desktop modules direnv # Development environment management appimage-run # System utility for AppImages micro ]; }; # Everything below is home manager managed: home-manager = { useUserPackages = true; backupFileExtension = "backup"; users.jsutter = { home.username = "jsutter"; home.homeDirectory = "/home/jsutter"; programs.home-manager.enable = true; home.stateVersion = "25.11"; # Set environment variables here home.sessionVariables = { OPENAI_API_KEY = "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"; SYNTHETIC_L_API_KEY = "syn_5bfe68ad3826bb7872f32fcf160e959a"; }; programs.git = { enable = true; settings = { user = { name = "Julian Sutter"; email = "jsutter@symbiotip.com"; }; core.editor = "nano"; credential.helper = "store"; init.defaultBranch = "main"; }; }; programs.go.enable= true; programs.zed-editor = { enable = true; # Lets Zed update settings.json when you change agent/model settings in the UI mutableUserSettings = true; extensions = [ "nix" "markdown" "toml" "go" "dracula" ]; extraPackages = with pkgs; [ nixd nil go gopls ]; userSettings = { language_models = { openai_compatible = { SyntheticL = { api_url = "https://api.synthetic.new/openai/v1"; available_models = [ { name = "hf:zai-org/GLM-4.7"; display_name = "SyntheticL"; max_tokens = 198000; } ]; }; }; }; agent = { default_model = { provider = "SyntheticL"; model = "hf:zai-org/GLM-4.7"; }; }; ui_metrics = { overrides = { button = { padding = { top = 8; right = 12; bottom = 8; left = 12; }; corner_radius = 8; font_size = 14; }; }; }; }; }; programs.vscode = { enable = true; package = pkgs.vscodium; profiles.default.extensions = with pkgs.vscode-extensions; [ dracula-theme.theme-dracula yzhang.markdown-all-in-one mkhl.direnv golang.go bbenoist.nix arrterian.nix-env-selector jnoortheen.nix-ide saoudrizwan.claude-dev # optional alt: # continue.continue ]; }; programs.zsh = { enable = true; enableCompletion = false; # enabled in oh-my-zsh autosuggestion.enable = true; initContent = '' test -f ~/.dir_colors && eval $(dircolors ~/.dir_colors) ''; shellAliases = { ne = "nix-env"; ni = "nix-env -iA"; no = "nixops"; ns = "nix-shell --pure"; nra = "sudo nixos-rebuild switch --flake .#aurora"; nrf = "sudo nixos-rebuild switch --flake .#framework"; nrl = "sudo nixos-rebuild switch --flake .#labrizor"; }; oh-my-zsh = { enable = true; plugins = [ "git" "systemd" "rsync" "kubectl" "ansible" "battery" "colored-man-pages" "colorize" "common-aliases" "cp" "docker" "docker-compose" "git-auto-fetch" "git-extras" "github" "git-prompt" "gnu-utils" "golang" "nmap" "postgres" "python" "rust" "ssh-agent" "sudo" "systemd" "ufw" "vscode" ]; theme = "terminalparty"; }; }; programs.lsd = { enable = true; }; programs.bat.enable = true; programs.firefox = { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { extraPolicies = { CaptivePortal = false; DisableFirefoxStudies = true; DisablePocket = true; DisableTelemetry = true; DisableFirefoxAccounts = false; NoDefaultBookmarks = true; OfferToSaveLogins = false; OfferToSaveLoginsDefault = false; PasswordManagerEnabled = false; FirefoxHome = { Search = true; Pocket = false; Snippets = false; TopSites = false; Highlights = false; }; UserMessaging = { ExtensionRecommendations = false; SkipOnboarding = true; }; }; }; profiles = { jsutter = { id = 0; name = "jsutter"; settings = { "general.smoothScroll" = true; }; extraConfig = '' user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); user_pref("full-screen-api.ignore-widgets", true); user_pref("media.ffmpeg.vaapi.enabled", true); user_pref("media.rdd-vpx.enabled", true); ''; }; }; }; }; }; }