Hydrogen got the changes applied
This commit is contained in:
@@ -26,6 +26,8 @@
|
|||||||
userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json);
|
userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json);
|
||||||
extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [
|
extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
|
vscode-icons-team.vscode-icons
|
||||||
|
waderyan.gitblame
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+1
-10
@@ -44,12 +44,6 @@ in
|
|||||||
oldPkgs.yarn
|
oldPkgs.yarn
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable direnv for automatic environment switching
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true; # Better Nix flakes integration with caching
|
|
||||||
};
|
|
||||||
|
|
||||||
# Managed VS Code Extensions (The "Clean" Way)
|
# Managed VS Code Extensions (The "Clean" Way)
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -58,18 +52,15 @@ in
|
|||||||
extensions = (
|
extensions = (
|
||||||
with pkgs.vscode-marketplace-release; [
|
with pkgs.vscode-marketplace-release; [
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
eamodio.gitlens
|
|
||||||
graphql.vscode-graphql-syntax
|
graphql.vscode-graphql-syntax
|
||||||
graphql.vscode-graphql
|
graphql.vscode-graphql
|
||||||
hashicorp.terraform
|
|
||||||
ms-python.debugpy
|
ms-python.debugpy
|
||||||
ms-python.python
|
ms-python.python
|
||||||
ms-python.vscode-pylance
|
ms-python.vscode-pylance
|
||||||
oxc.oxc-vscode
|
oxc.oxc-vscode
|
||||||
redhat.vscode-xml
|
|
||||||
vscode-icons-team.vscode-icons
|
vscode-icons-team.vscode-icons
|
||||||
typescriptteam.native-preview
|
typescriptteam.native-preview
|
||||||
lokalise.i18n-ally
|
waderyan.gitblame
|
||||||
]
|
]
|
||||||
) ++ (
|
) ++ (
|
||||||
with pkgs.vscode-marketplace; [
|
with pkgs.vscode-marketplace; [
|
||||||
|
|||||||
+4
-3
@@ -1,5 +1,6 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
||||||
"theme": "dark",
|
"theme": "dark",
|
||||||
"agent": "plan"
|
"agent": "plan",
|
||||||
|
"denyCommands": ["code --install-extension*"]
|
||||||
}
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"extensions.autoUpdate": false,
|
"extensions.autoUpdate": false,
|
||||||
"extensions.autoCheckUpdates": false,
|
"extensions.autoCheckUpdates": false,
|
||||||
"extensions.ignoreRecommendations": false,
|
"extensions.ignoreRecommendations": false,
|
||||||
|
"denyCommands": ["code --install-extension*"],
|
||||||
"[json]": {
|
"[json]": {
|
||||||
"editor.defaultFormatter": "biomejs.biome",
|
"editor.defaultFormatter": "biomejs.biome",
|
||||||
"editor.formatOnSave": true
|
"editor.formatOnSave": true
|
||||||
|
|||||||
@@ -58,7 +58,6 @@
|
|||||||
let
|
let
|
||||||
linuxSystem = "x86_64-linux";
|
linuxSystem = "x86_64-linux";
|
||||||
darwinSystem = "aarch64-darwin";
|
darwinSystem = "aarch64-darwin";
|
||||||
userConfigs = import ./variables.nix;
|
|
||||||
mkOverlays = sys: [
|
mkOverlays = sys: [
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
unstable = import nixpkgsUnstable {
|
unstable = import nixpkgsUnstable {
|
||||||
@@ -118,16 +117,18 @@
|
|||||||
# -------------------------------------------------------------
|
# -------------------------------------------------------------
|
||||||
# Homemanager configuration
|
# Homemanager configuration
|
||||||
# -------------------------------------------------------------
|
# -------------------------------------------------------------
|
||||||
homeConfigurations."mbessette@caesium" = home-manager.lib.homeManagerConfiguration {
|
homeConfigurations."mbessette@caesium" = let
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
system = linuxSystem;
|
system = linuxSystem;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays linuxSystem;
|
overlays = mkOverlays linuxSystem;
|
||||||
};
|
};
|
||||||
|
in home-manager.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
system = linuxSystem;
|
system = linuxSystem;
|
||||||
hostname = "caesium";
|
hostname = "caesium";
|
||||||
userConfig = userConfigs."mbessette";
|
userConfig = (import ./variables.nix { inherit pkgs; })."mbessette";
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
@@ -137,16 +138,18 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations."mbessette@hydrogen" = home-manager-darwin.lib.homeManagerConfiguration {
|
homeConfigurations."mbessette@hydrogen" = let
|
||||||
pkgs = import nixpkgsUnstable {
|
pkgs = import nixpkgsUnstable {
|
||||||
system = darwinSystem;
|
system = darwinSystem;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays darwinSystem;
|
overlays = mkOverlays darwinSystem;
|
||||||
};
|
};
|
||||||
|
in home-manager-darwin.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
system = darwinSystem;
|
system = darwinSystem;
|
||||||
hostname = "hydrogen";
|
hostname = "hydrogen";
|
||||||
userConfig = userConfigs.mbessette;
|
userConfig = (import ./variables.nix { inherit pkgs; }).mbessette;
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
@@ -156,16 +159,18 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations."matthew.bessette@cleo-darwin" = home-manager-darwin.lib.homeManagerConfiguration {
|
homeConfigurations."matthew.bessette@cleo-darwin" = let
|
||||||
pkgs = import nixpkgsUnstable {
|
pkgs = import nixpkgsUnstable {
|
||||||
system = darwinSystem;
|
system = darwinSystem;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
overlays = mkOverlays darwinSystem;
|
overlays = mkOverlays darwinSystem;
|
||||||
};
|
};
|
||||||
|
in home-manager-darwin.lib.homeManagerConfiguration {
|
||||||
|
inherit pkgs;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
system = darwinSystem;
|
system = darwinSystem;
|
||||||
hostname = "cleo-darwin";
|
hostname = "cleo-darwin";
|
||||||
userConfig = userConfigs."matthew.bessette";
|
userConfig = (import ./variables.nix { inherit pkgs; })."matthew.bessette";
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
};
|
};
|
||||||
modules = [
|
modules = [
|
||||||
|
|||||||
+7
-9
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, hostname, userConfig, ... }:
|
{ config, lib, pkgs, hostname, userConfig, ... }:
|
||||||
let
|
let
|
||||||
onePassPath = if pkgs.stdenv.isDarwin
|
onePassPath = if pkgs.stdenv.isDarwin
|
||||||
then "${userConfig.homeDirectory}/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
then "${userConfig.homeDirectory}/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock"
|
||||||
@@ -7,13 +7,15 @@ let
|
|||||||
then pkgs."ghostty-bin"
|
then pkgs."ghostty-bin"
|
||||||
else pkgs.ghostty;
|
else pkgs.ghostty;
|
||||||
in {
|
in {
|
||||||
home.stateVersion = "26.05";
|
home.stateVersion = lib.mkDefault "26.05";
|
||||||
home.username = userConfig.username;
|
home.username = userConfig.username;
|
||||||
home.homeDirectory = userConfig.homeDirectory;
|
home.homeDirectory = userConfig.homeDirectory;
|
||||||
home.sessionVariables.SSH_AUTH_SOCK = onePassPath;
|
home.sessionVariables.SSH_AUTH_SOCK = onePassPath;
|
||||||
|
home.sessionVariables.CLAUDE_CONFIG_DIR = "${config.xdg.configHome}/claude";
|
||||||
|
|
||||||
xdg.enable = true;
|
xdg.enable = true;
|
||||||
xdg.configFile."ssh.conf".source = ./config.ssh.conf;
|
xdg.configFile."ssh.conf".source = ./config.ssh.conf;
|
||||||
|
xdg.configFile."claude/settings.json".source = ./config.claude.json;
|
||||||
xdg.configFile."1Password/ssh/agent.toml".text = ''
|
xdg.configFile."1Password/ssh/agent.toml".text = ''
|
||||||
[[ssh-keys]]
|
[[ssh-keys]]
|
||||||
item = "${userConfig._1PassKeyName}"
|
item = "${userConfig._1PassKeyName}"
|
||||||
@@ -26,10 +28,6 @@ in {
|
|||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
|
|
||||||
initContent = ''
|
|
||||||
export SSH_AUTH_SOCK=~/.1password/agent.sock
|
|
||||||
'';
|
|
||||||
|
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
ll = "ls -l";
|
ll = "ls -l";
|
||||||
gst = "git status";
|
gst = "git status";
|
||||||
@@ -85,9 +83,9 @@ in {
|
|||||||
extraConfig = builtins.readFile ./config.ssh.conf;
|
extraConfig = builtins.readFile ./config.ssh.conf;
|
||||||
settings = {
|
settings = {
|
||||||
"*" = {
|
"*" = {
|
||||||
controlMaster = "auto";
|
ControlMaster = "auto";
|
||||||
controlPath = "~/.ssh/master-%r@%h:%p";
|
ControlPath = "~/.ssh/master-%r@%h:%p";
|
||||||
identityAgent = onePassPath;
|
IdentityAgent = "\"${onePassPath}\"";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
+24
-30
@@ -4,9 +4,6 @@
|
|||||||
ids.gids.nixbld = 350;
|
ids.gids.nixbld = 350;
|
||||||
security.pam.services.sudo_local.touchIdAuth = true;
|
security.pam.services.sudo_local.touchIdAuth = true;
|
||||||
|
|
||||||
# 1Password SSH Socket
|
|
||||||
environment.variables.SSH_AUTH_SOCK = "~/Library/Group Containers/2BUA8C4S2C.com.1password/t/agent.sock";
|
|
||||||
|
|
||||||
# Set vim as default editor
|
# Set vim as default editor
|
||||||
environment.variables.EDITOR = "vim";
|
environment.variables.EDITOR = "vim";
|
||||||
environment.variables.VISUAL = "vim";
|
environment.variables.VISUAL = "vim";
|
||||||
@@ -14,10 +11,31 @@
|
|||||||
|
|
||||||
# Add Homebrew to PATH
|
# Add Homebrew to PATH
|
||||||
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ];
|
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ];
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim
|
||||||
|
git
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
python3
|
||||||
|
nodejs_26
|
||||||
|
home-manager
|
||||||
|
fastfetch
|
||||||
|
];
|
||||||
|
|
||||||
# Biome config
|
homebrew = {
|
||||||
environment.etc."biome.json".source = ./config.biome.json;
|
enable = true;
|
||||||
environment.etc."oxlintrc.json".source = ./config.oxlintrc.json;
|
onActivation.cleanup = "uninstall";
|
||||||
|
onActivation.autoUpdate = true;
|
||||||
|
onActivation.upgrade = true;
|
||||||
|
casks = [
|
||||||
|
"1password"
|
||||||
|
"obsidian"
|
||||||
|
"signal"
|
||||||
|
"spotify"
|
||||||
|
"claude-code"
|
||||||
|
"claude"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
system.primaryUser = "mbessette";
|
system.primaryUser = "mbessette";
|
||||||
users.users."mbessette" = {
|
users.users."mbessette" = {
|
||||||
@@ -25,30 +43,6 @@
|
|||||||
home = "/Users/mbessette";
|
home = "/Users/mbessette";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Homebrew for Casks and specific binaries
|
|
||||||
# In a nix-darwin setup, Homebrew packages are not actually stored inside the Nix store.
|
|
||||||
# Instead, nix-darwin acts as a manager that triggers the standard Homebrew installation
|
|
||||||
# process on your macOS system.
|
|
||||||
homebrew = {
|
|
||||||
enable = true;
|
|
||||||
onActivation.cleanup = "uninstall";
|
|
||||||
onActivation.autoUpdate = true;
|
|
||||||
onActivation.upgrade = true;
|
|
||||||
taps = [ "deskflow/tap" ];
|
|
||||||
brews = [
|
|
||||||
"biome"
|
|
||||||
];
|
|
||||||
casks = [
|
|
||||||
"1password"
|
|
||||||
"deskflow"
|
|
||||||
"iterm2"
|
|
||||||
"moonlight"
|
|
||||||
"obsidian"
|
|
||||||
"signal"
|
|
||||||
"spotify"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.settings.experimental-features = "nix-command flakes";
|
nix.settings.experimental-features = "nix-command flakes";
|
||||||
system.stateVersion = 4;
|
system.stateVersion = 4;
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-104
@@ -1,86 +1,18 @@
|
|||||||
{ config, pkgs, ... }: {
|
{ config, inputs, pkgs, ... }: {
|
||||||
home.stateVersion = "23.11";
|
|
||||||
|
|
||||||
home.username = "mbessette";
|
|
||||||
home.homeDirectory = "/Users/mbessette";
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
# Dev Specs
|
|
||||||
python3
|
|
||||||
pipenv
|
|
||||||
nodejs_22
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enable direnv for automatic environment switching
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
nix-direnv.enable = true; # Better Nix flakes integration with caching
|
|
||||||
};
|
|
||||||
|
|
||||||
# Managed VS Code Extensions (The "Clean" Way)
|
# Managed VS Code Extensions (The "Clean" Way)
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
profiles.default = {
|
profiles.default = {
|
||||||
userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json);
|
userSettings = builtins.fromJSON (builtins.readFile ./config.vscode.settings.json);
|
||||||
extensions = with pkgs.vscode-marketplace; [
|
extensions = with inputs.nix-vscode-extensions.extensions.${pkgs.system}.vscode-marketplace; [
|
||||||
biomejs.biome
|
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
eamodio.gitlens
|
|
||||||
github.copilot-chat
|
|
||||||
graphql.vscode-graphql-syntax
|
|
||||||
hashicorp.terraform
|
|
||||||
mechatroner.rainbow-csv
|
|
||||||
mermaidchart.vscode-mermaid-chart
|
|
||||||
ms-python.debugpy
|
|
||||||
ms-python.python
|
|
||||||
ms-python.vscode-pylance
|
|
||||||
oxc.oxc-vscode
|
|
||||||
redhat.vscode-xml
|
|
||||||
vscode-icons-team.vscode-icons
|
vscode-icons-team.vscode-icons
|
||||||
typescriptteam.native-preview
|
waderyan.gitblame
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Automatically load the 1Password agent in your shell
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
syntaxHighlighting.enable = true;
|
|
||||||
oh-my-zsh.enable = true;
|
|
||||||
oh-my-zsh.theme = "robbyrussell";
|
|
||||||
oh-my-zsh.plugins = [
|
|
||||||
"git"
|
|
||||||
"npm"
|
|
||||||
];
|
|
||||||
|
|
||||||
initContent = ''
|
|
||||||
export SSH_AUTH_SOCK=~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock
|
|
||||||
|
|
||||||
# Auto-allow direnv for directories with flake.nix
|
|
||||||
auto_allow_direnv() {
|
|
||||||
if [[ -f flake.nix ]] && [[ ! -f .envrc ]]; then
|
|
||||||
echo "use flake" > .envrc
|
|
||||||
direnv allow
|
|
||||||
elif [[ -f flake.nix ]] && [[ -f .envrc ]]; then
|
|
||||||
direnv allow
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Run auto-allow when changing directories
|
|
||||||
chpwd_functions+=(auto_allow_direnv)
|
|
||||||
'';
|
|
||||||
|
|
||||||
shellAliases = {
|
|
||||||
ll = "ls -l";
|
|
||||||
update = "sudo darwin-rebuild switch --flake ~/nixos#hydrogen";
|
|
||||||
laws = "aws --endpoint=http://localhost:4566";
|
|
||||||
dev = "nix develop -c $SHELL";
|
|
||||||
nixos = "code ~/nixos";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
# Points to the Homebrew location mentioned in your caveat
|
# Points to the Homebrew location mentioned in your caveat
|
||||||
NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global";
|
NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global";
|
||||||
@@ -93,37 +25,4 @@
|
|||||||
home.file.".npmrc".text = ''
|
home.file.".npmrc".text = ''
|
||||||
prefix=${config.home.homeDirectory}/.npm-global
|
prefix=${config.home.homeDirectory}/.npm-global
|
||||||
'' ;
|
'' ;
|
||||||
|
|
||||||
home.file.".config/1Password/ssh/agent.toml".source = ./config.agent.toml;
|
|
||||||
|
|
||||||
programs.ssh = {
|
|
||||||
enable = true;
|
|
||||||
matchBlocks = {
|
|
||||||
"thiccdata.io" = {
|
|
||||||
hostname = "192.168.1.45";
|
|
||||||
user = "mbessette";
|
|
||||||
port = 2222;
|
|
||||||
};
|
|
||||||
"*" = {
|
|
||||||
extraOptions = {
|
|
||||||
"IdentityAgent" = "\"~/Library/Group\ Containers/2BUA8C4S2C.com.1password/t/agent.sock\"";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.git = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings.user = {
|
|
||||||
name = "Matthew Bessette";
|
|
||||||
email = "bessette.matthew94@gmail.com";
|
|
||||||
};
|
|
||||||
|
|
||||||
settings.init.defaultBranch = "main";
|
|
||||||
|
|
||||||
# This creates ~/.config/git/ignore and sets core.excludesFile
|
|
||||||
ignores = [
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-3
@@ -1,7 +1,10 @@
|
|||||||
{
|
{ pkgs }:
|
||||||
|
let
|
||||||
|
homePrefix = if pkgs.stdenv.isDarwin then "/Users" else "/home";
|
||||||
|
in {
|
||||||
mbessette = {
|
mbessette = {
|
||||||
username = "mbessette";
|
username = "mbessette";
|
||||||
homeDirectory = "/home/mbessette";
|
homeDirectory = "${homePrefix}/mbessette";
|
||||||
gitName = "Matthew Bessette";
|
gitName = "Matthew Bessette";
|
||||||
gitEmail = "blade30912@gmail.com";
|
gitEmail = "blade30912@gmail.com";
|
||||||
_1PassKeyName = "Personal SSH Key";
|
_1PassKeyName = "Personal SSH Key";
|
||||||
@@ -9,7 +12,7 @@
|
|||||||
};
|
};
|
||||||
"matthew.bessette" = {
|
"matthew.bessette" = {
|
||||||
username = "matthew.bessette";
|
username = "matthew.bessette";
|
||||||
homeDirectory = "/home/matthew.bessette";
|
homeDirectory = "${homePrefix}/matthew.bessette";
|
||||||
gitName = "Matthew Bessette";
|
gitName = "Matthew Bessette";
|
||||||
gitEmail = "matthew.bessette@hicleo.com";
|
gitEmail = "matthew.bessette@hicleo.com";
|
||||||
_1PassKeyName = "Cleo SSH Key";
|
_1PassKeyName = "Cleo SSH Key";
|
||||||
|
|||||||
Reference in New Issue
Block a user