106 lines
2.2 KiB
Nix
106 lines
2.2 KiB
Nix
{ 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 = [
|
|
];
|
|
};
|
|
}
|