{ 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.05"; # Set environment variables here home.sessionVariables = { OPENAI_API_KEY = "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"; # Replace with the actual API key }; programs.git = { enable = true; userName = "Julian Sutter"; userEmail = "jsutter@symbiotip.com"; extraConfig = { core.editor = "nano"; credential.helper = "store"; init.defaultBranch = "main"; }; }; programs.go.enable= true; 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 ]; }; 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); ''; }; }; }; }; }; }