{ config, inputs, pkgs, ... }: { home.stateVersion = "23.11"; home.username = "mbessette"; home.homeDirectory = "/home/mbessette"; home.packages = with pkgs; []; programs.home-manager.enable = true; home.packages = with pkgs; [ claude-desktop firefox wowup-cf faugus-launcher ghostty ]; services.flatpak = { packages = [ com.spotify.Client com.discordapp.Discord ]; overrides = []; }; # Managed VS Code Extensions (The "Clean" Way) programs.vscode = { enable = true; package = pkgs.vscode-fhs; profiles.default = { userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json); extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [ bbenoist.nix ]; }; }; # Automatically load the 1Password agent in your shell programs.zsh = { enable = true; enableCompletion = true; autosuggestion.enable = true; syntaxHighlighting.enable = true; initContent = '' export SSH_AUTH_SOCK=~/.1password/agent.sock ''; shellAliases = { ll = "ls -l"; update = "sudo nixos-rebuild switch --flake ~/nixos#caesium"; nixos = "code ~/nixos"; }; }; home.sessionVariables = { NPM_CONFIG_PREFIX = "/mnt/Projects/.npm-global/.npm-global"; }; home.sessionPath = [ "/mnt/Projects/.npm-global/bin" ]; home.file.".npmrc".text = '' prefix=/mnt/Projects/.npm-global/.npm-global '' ; home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml; # ~/.config (dotfiles) xdg.enable = true; xdg.configFile."ssh.conf".source = ./config.ssh.conf; programs.ssh = { enable = true; enableDefaultConfig = false; extraConfig = builtins.readFile ./config.ssh.conf; matchBlocks = { "*" = { controlMaster = "auto"; controlPath = "~/.ssh/master-%r@%h:%p"; }; }; }; programs.git = { enable = true; signing.format = null; settings.user = { name = "Matthew Bessette"; email = "bessette.matthew94@gmail.com"; }; settings.init.defaultBranch = "main"; # This creates ~/.config/git/ignore and sets core.excludesFile ignores = [ ]; }; }