Skip to content

Instantly share code, notes, and snippets.

@alycda
Last active January 4, 2026 04:02
Show Gist options
  • Select an option

  • Save alycda/7a32d076961c4ea74661dfbf1de4984b to your computer and use it in GitHub Desktop.

Select an option

Save alycda/7a32d076961c4ea74661dfbf1de4984b to your computer and use it in GitHub Desktop.
_:
[
# Development Tools
claude
visual-studio-code
warp
docker-desktop
# Communication Tools
slack
# signal
# discord
# Productivity
clocker
muteme
workflowy
# Media & Entertainment
# Browsers
brave-browser
]
{ config, pkgs, ... }:
let
nix-vscode-extensions = import (builtins.fetchTarball
"https://github.com/nix-community/nix-vscode-extensions/archive/master.tar.gz"
);
in
{
imports = [
<home-manager/nix-darwin>
];
nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [
nix-vscode-extensions.overlays.default
];
users.users.alyssaevans = {
name = "alyssaevans";
home = "/Users/alyssaevans";
};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.alyssaevans = { pkgs, ... }: {
# The state version is required and should stay at the version you
# originally installed.
home.stateVersion = "25.05";
# home.sessionVariables = {
# EDITOR = "hx";
# NIXPKGS_ALLOW_UNFREE = 1;
# VISUAL = "code";
# };
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
programs.zsh = {
enable = true;
sessionVariables = {
EDITOR = "hx";
NIXPKGS_ALLOW_UNFREE = 1;
};
};
programs.git = {
enable = true;
extraConfig = {
init.defaultBranch = "main";
credential.helper = "osxkeychain";
};
};
# programs.gh = {
# enable = true;
# settings = {
# git_protocol = "ssh";
# prompt = "enabled";
# # prefer_editor_prompt = "disabled";
# };
# };
programs.helix = {
ignores = [
"target/"
"!.gitignore"
];
# editor = {
# theme = "mine";
# soft-wrap.enable = true;
# rulers = [72 80 100 120];
# inline-diagnostics = {
# cursor-line = "hint";
# other-lines = "hint";
# };
# };
themes = {
mine = {
inherits = "boo_berry";
"ui.background" = {};
"ui.cursor.primary.select" = { fg = "berry"; bg = "bubblegum"; };
"ui.cursor.primary.insert" = { fg = "berry"; bg = "mint"; };
};
};
languages = {
# language = [{
# name = "rust";
# auto-format = true;
# # scope = "source.rust"
# formatter = { command = "rustfmt" };
# file-types = ["rs"];
# language-servers = [ "rust-analyzer" ];
# }];
};
};
programs.vscode = {
enable = true;
# mutableExtensionsDir = true;
# Rust
profiles.default = {
userSettings = {
editor.wordWrap = "on";
chat.agent.enabled = false;
workbench.secondarySideBar.defaultVisibility = "hidden";
files.hotExit = "onExitAndWindowClose";
git.autofetch = true;
git.confirmSync = false;
# git.blame.editorDecoration.enabled = true;
claudeCode.preferredLocation = "panel";
gitlens.plusFeatures.enabled = false;
};
# extensions = with pkgs.vscode-marketplace; [
extensions = with pkgs; [
vscode-marketplace.jnoortheen.nix-ide
vscode-marketplace.eamodio.gitlens
vscode-marketplace.anthropic.claude-code
vscode-marketplace.rust-lang.rust-analyzer
vscode-marketplace.tamasfe.even-better-toml
# GitHub Remote Repositories
vscode-marketplace.ms-vscode.remote-repositories
vscode-marketplace.github.remotehub # required for above
vscode-marketplace.ms-vscode-remote.remote-containers # ms-vscode-remote.vscode-remote-extensionpack
# error: The version `1.12.0` of `vadimcn.vscode-lldb` is not supported.
# Try `extensions.aarch64-darwin.vscode-marketplace-universal.vadimcn.vscode-lldb`
# or `extensions.aarch64-darwin.open-vsx-universal.vadimcn.vscode-lldb`.
# vadimcn.vscode-lldb # llvm-vs-code-extensions.lldb-dap
vscode-extensions.vadimcn.vscode-lldb
];
};
profiles.ios = {
extensions = with pkgs.vscode-marketplace; [
swiftlang.swift-vscode
];
};
profiles.android = {
extensions = with pkgs.vscode-marketplace; [
# Java
# Kotlin
];
};
profiles.flutter = {
extensions = with pkgs.vscode-marketplace; [
# Dart
# Flutter
];
};
};
};
# List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget
environment.systemPackages = with pkgs;
[ direnv
ripgrep
helix
gh
jujutsu
cheat
rustup
rust-analyzer
lldb
bacon
clock-rs
nil nixd # nix LSP
];
programs.zsh = {
enable = true;
# sessionVariables = {
# EDITOR = "hx";
# };
# This gets added to /etc/zshrc
interactiveShellInit = ''
rustup update
eval "$(/opt/homebrew/bin/brew shellenv)"
eval "$(direnv hook zsh)"
'';
};
system.primaryUser = "alyssaevans";
system.defaults = {
dock = {
autohide = true;
mru-spaces = false;
wvous-tl-corner = 2; # mission control
wvous-tr-corner = 4; # desktop
wvous-br-corner = 13; # lock screen
wvous-bl-corner = 24; # quick note
};
NSGlobalDomain."com.apple.swipescrolldirection" = false;
};
# Used for backwards compatibility, please read the changelog before changing.
# $ darwin-rebuild changelog
system.stateVersion = 6;
}
# 0. Install xcode
xcode-select --install
# 1. Install Nix
## multi-user
# sh <(curl --proto '=https' --tlsv1.2 -L https://nixos.org/nix/install)
## Lix
curl -sSf -L https://install.lix.systems/lix | sh -s -- install
# 2. Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 3. Install nix-darwin
sudo nix-channel --add https://github.com/nix-darwin/nix-darwin/archive/nix-darwin-25.05.tar.gz darwin
# nix-build https://github.com/nix-darwin/nix-darwin/archive/nix-darwin-25.05.tar.gz -A installer ./result/bin/darwin-installer
# 4. Copy configuration
# /etc/nix-darwin/configuration.nix
# or /etc/nix/darwin-configuration.nix
# 5. Apply
# nix-build '<darwin>' -A darwin-rebuild
# sudo ./result/bin/darwin-rebuild switch -I darwin-config=/etc/nix-darwin/configuration.nix
sudo darwin-rebuild switch
programs.git = {
enable = true;
};
programs.gh = {
enable = true;
};
@alycda
Copy link
Copy Markdown
Author

alycda commented Nov 29, 2025

@alycda
Copy link
Copy Markdown
Author

alycda commented Nov 29, 2025

@alycda
Copy link
Copy Markdown
Author

alycda commented Jan 4, 2026

superseded by alycda/dotfiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment