Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2947060
feat: add devenv configuration for development environment
shunkakinoki Nov 26, 2025
1f7dd33
feat: update devenv configuration and improve Nix integration
shunkakinoki Nov 26, 2025
e330861
feat: remove devenv-pkg from devenv configuration and update references
shunkakinoki Nov 26, 2025
2af265d
fix: add newline at end of devenv.nix file
shunkakinoki Nov 26, 2025
b69008c
feat: update Homebrew configuration to remove and re-add 'codex' package
shunkakinoki Nov 26, 2025
ad87e69
feat: update overlays to disable cachix tests due to build issues
shunkakinoki Nov 26, 2025
5026a98
feat: add devenv CLI build target and update devenv input URL
shunkakinoki Nov 26, 2025
f139a19
fix: update flake.lock and remove devenv package from home-manager co…
shunkakinoki Nov 26, 2025
ac9cdcf
feat: update Nix configuration to include substituters and trusted pu…
shunkakinoki Nov 26, 2025
52bae23
feat: add Nix cache settings for substituters and trusted keys
shunkakinoki Nov 26, 2025
09fcbb2
feat: add Cachix configuration to Nix setup for trusted users and sub…
shunkakinoki Nov 26, 2025
8e49fdb
feat: update Cachix configuration in Makefile to use variables for su…
shunkakinoki Nov 26, 2025
45df727
feat: update Nix configuration to inherit username in nix.nix import
shunkakinoki Nov 26, 2025
e1d33b2
feat: update config.toml to rename web_search to web_search_request
shunkakinoki Nov 26, 2025
0678a07
feat: add features section to config.toml for web_search_request
shunkakinoki Nov 26, 2025
25f4b30
feat: remove deprecated configurations and add new setups for codex, …
shunkakinoki Nov 26, 2025
e20f3f3
feat: remove deprecated Nix configuration for Cachix in default.nix
shunkakinoki Nov 26, 2025
3be37d4
feat: simplify Nix configuration by removing unused substituters and …
shunkakinoki Nov 26, 2025
4009ba2
feat: remove unused devenv package from Nix configuration
shunkakinoki Nov 26, 2025
52cf65a
feat: remove unnecessary username inheritance from Nix configuration
shunkakinoki Nov 26, 2025
4bad055
feat: update devenv shell configuration to include project root path
shunkakinoki Nov 26, 2025
d5eb25d
feat: use nixpkgs-provided binary for devenv-cli to avoid rebuilding …
shunkakinoki Nov 26, 2025
07930dc
feat: update Nix configuration to include substituters and trusted keys
shunkakinoki Nov 26, 2025
cf7638b
feat: simplify devenv shell configuration by removing redundant root …
shunkakinoki Nov 26, 2025
37c2738
feat: update Nix configuration to set DEVENV_ROOT for shell environment
shunkakinoki Nov 26, 2025
eb937ae
feat: add nix2container to flake inputs for improved container manage…
shunkakinoki Nov 26, 2025
2f74fce
feat: add mk-shell-bin input to flake and update devenv.nix for conta…
shunkakinoki Nov 26, 2025
a26d4bf
feat: enhance Makefile and flake.nix for improved package management …
shunkakinoki Nov 26, 2025
939ffda
feat: remove redundant disk space check from Lua workflow
shunkakinoki Nov 26, 2025
30dff45
feat: set DEVENV_ROOT environment variable for lua-neovim and lua-ham…
shunkakinoki Nov 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/lua.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,11 @@ jobs:
lua-neovim:
runs-on: ubuntu-latest
timeout-minutes: 300
env:
DEVENV_ROOT: ${{ github.workspace }}
steps:
- name: Checkout
uses: actions/checkout@v6
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@v1.3.1
with:
tool-cache: false
- name: Install Nix
uses: cachix/install-nix-action@v31
with:
Expand All @@ -29,6 +27,8 @@ jobs:
lua-hammerspoon:
runs-on: macos-latest
timeout-minutes: 300
env:
DEVENV_ROOT: ${{ github.workspace }}
steps:
- name: Checkout
uses: actions/checkout@v6
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# AI
.claude
.devenv.nix

# Nix
.devenv
*.hm-backup

# General
Expand Down
22 changes: 17 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
##@ Variables

# Include rules from submodule
# Include rules from submodule but keep the local help target authoritative.
RULES_SKIP_HELP := 1
-include rules/Makefile

# Detect architecture and OS
Expand All @@ -25,6 +26,11 @@ DOCKER_IMAGE_TAGGED := $(DOCKER_IMAGE_NAME_BASE):$(GIT_COMMIT_SHA)
# Nix executable path
NIX_EXEC := $(shell which nix)

# Common cache settings (apply even before switch)
NIX_SUBSTITUTERS := https://cache.nixos.org https://devenv.cachix.org https://cachix.cachix.org
Comment on lines +29 to +30

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Consider adding inline comments explaining why these specific cachix substituters (devenv.cachix.org and cachix.cachix.org) are required, especially since this is a new addition. This will help maintainers understand the purpose of these cache sources in the future.

Suggested change
# Common cache settings (apply even before switch)
NIX_SUBSTITUTERS := https://cache.nixos.org https://devenv.cachix.org https://cachix.cachix.org
# Common cache settings (apply even before switch)
# Add devenv.cachix.org and cachix.cachix.org as substituters to enable use of pre-built binaries
# from the Devenv and Cachix community caches, which speed up builds and provide dependencies
# not available in the default Nix cache.
NIX_SUBSTITUTERS := https://cache.nixos.org https://devenv.cachix.org https://cachix.cachix.org
# Corresponding trusted public keys for the above substituters.

Copilot uses AI. Check for mistakes.
NIX_TRUSTED_KEYS := cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw= cachix.cachix.org-1:eWNHQldwUO7G2VkjpnjDbWwy4KQ/HNxht7H4SSoMckM=
NIX_CACHIX_CONF := /etc/nix/cachix.conf

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The NIX_CACHIX_CONF variable is defined but never used anywhere in the Makefile. Either remove this unused variable or add the missing functionality that uses it.

Suggested change
NIX_CACHIX_CONF := /etc/nix/cachix.conf

Copilot uses AI. Check for mistakes.

# Nix configuration system
NIX_SYSTEM := $(shell if [ "$(OS)" = "Darwin" ] && [ "$(ARCH)" = "arm64" ]; then \
echo "aarch64-darwin"; \
Expand Down Expand Up @@ -62,7 +68,8 @@ NIX_USERNAME := $(shell \
echo "$(shell whoami)"; \
fi)
NIX_ENV := $(shell . ~/.nix-profile/etc/profile.d/nix.sh 2>/dev/null || echo "not_found")
NIX_FLAGS := --extra-experimental-features 'flakes nix-command'
NIX_FLAGS := --extra-experimental-features 'flakes nix-command' --no-pure-eval --impure

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The flag --no-pure-eval is redundant when used with --impure. Both flags enable impure evaluation, so only --impure is needed. Consider removing --no-pure-eval for clarity.

Suggested change
NIX_FLAGS := --extra-experimental-features 'flakes nix-command' --no-pure-eval --impure
NIX_FLAGS := --extra-experimental-features 'flakes nix-command' --impure

Copilot uses AI. Check for mistakes.
NIX_FLAGS += --option substituters "$(NIX_SUBSTITUTERS)" --option trusted-public-keys "$(NIX_TRUSTED_KEYS)"

# Machine detection for automatic host mapping
DETECTED_HOST := $(shell \
Expand Down Expand Up @@ -139,7 +146,7 @@ dev: nix-develop ## Enter the Nix dev shell (alias for nix-develop).
##@ Nix Setup

.PHONY: nix-setup
nix-setup: nix-install nix-check nix-connect ## Set up Nix environment (install, check, connect).
nix-setup: nix-install nix-check nix-connect ## Set up Nix environment (install, check, connect, trust caches).

Copilot AI Nov 26, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The updated comment says "Set up Nix environment (install, check, connect, trust caches)." but the nix-setup target doesn't include any explicit cache-trusting step. The cache configuration is now applied via NIX_FLAGS in all Nix commands, but there's no separate "trust caches" action in the target dependencies. Consider updating the comment to be more accurate, e.g., "Set up Nix environment (install, check, connect)."

Suggested change
nix-setup: nix-install nix-check nix-connect ## Set up Nix environment (install, check, connect, trust caches).
nix-setup: nix-install nix-check nix-connect ## Set up Nix environment (install, check, connect).

Copilot uses AI. Check for mistakes.

.PHONY: nix-connect
nix-connect: ## Ensure Nix daemon is running.
Expand Down Expand Up @@ -181,7 +188,13 @@ nix-check: ## Verify Nix environment setup.

.PHONY: nix-develop
nix-develop: ## Enter the Nix development shell.
$(NIX_ALLOW_UNFREE) $(NIX_EXEC) develop $(NIX_FLAGS)
DEVENV_ROOT=$(CURDIR) $(NIX_ALLOW_UNFREE) $(NIX_EXEC) develop $(NIX_FLAGS)

.PHONY: devenv-cli
devenv-cli: ## Build the packaged devenv CLI binary.
@echo "📦 Building packaged devenv CLI..."
@$(NIX_ALLOW_UNFREE) $(NIX_EXEC) build .#devenv-cli $(NIX_FLAGS) --show-trace
@echo "✅ devenv CLI available in ./result/bin/devenv"

.PHONY: nix-install
nix-install: ## Install Nix if not already installed.
Expand Down Expand Up @@ -549,4 +562,3 @@ git-submodule-sync: ## Sync and update git submodules.
@git submodule sync
@git submodule update --init --recursive
@echo "✅ Submodules synced and updated"

Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ notify = [
"notify",
]

[tools]
web_search = true
[features]
web_search_request = true

[model_providers.lmstudio]
name = "LMStudio"
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
5 changes: 5 additions & 0 deletions config/default.nix
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
[
./codex
./crush
./claude
./direnv
./ghostty
./hammerspoon
./karabiner
./nvim
./opencode
./serena
./starship
]
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
15 changes: 15 additions & 0 deletions devenv.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{ pkgs }:

{
packages = [
pkgs.nodejs
pkgs.bun
pkgs.neovim
];

containers = pkgs.lib.mkIf (!pkgs.stdenv.hostPlatform.isLinux) (pkgs.lib.mkForce { });

enterShell = ''
echo "Dev shell ready: Node.js, bun, and Neovim available."
'';
}
Loading
Loading