nixos: update code tooling setup

This commit is contained in:
2026-05-02 06:00:10 -07:00
parent 95739ca7b4
commit 7384d7f17c
3 changed files with 113 additions and 75 deletions

View File

@@ -1,91 +1,122 @@
{ pkgs, config, inputs, makeEnable, ... }:
{
pkgs,
config,
inputs,
lib,
makeEnable,
...
}:
makeEnable config "myModules.code" true {
programs.direnv = {
enable = true;
nix-direnv.enable = true;
};
environment.systemPackages = with pkgs; [
# LLM Tools
antigravity
claude-code
codex
inputs.codex-desktop-linux.packages.${pkgs.stdenv.hostPlatform.system}.default
gemini-cli
happy-coder
opencode
t3code
hardware.uinput.enable = lib.mkIf config.myModules.desktop.enable true;
# MCP
github-mcp-server
gitea-mcp-server
gws
playwright-mcp
playwright-cli
programs.ydotool = lib.mkIf config.myModules.desktop.enable {
enable = true;
group = "input";
};
# C
clang
home-manager.sharedModules = lib.mkIf config.myModules.desktop.enable [
{
xdg.configFile."codex-desktop/settings.json".text =
(builtins.toJSON {
"codex-linux-computer-use-ui-enabled" = true;
})
+ "\n";
}
];
# Haskell
cabal-install
cabal2nix
ghc
haskellPackages.hpack
haskellPackages.hasktags
haskellPackages.hoogle
environment.systemPackages = with pkgs;
[
# LLM Tools
antigravity
claude-code
codex
inputs.codex-desktop-linux.packages.${pkgs.stdenv.hostPlatform.system}.default
gemini-cli
happy-coder
opencode
t3code
# Scala
sbt
scala
# MCP
github-mcp-server
gitea-mcp-server
gws
playwright-mcp
playwright-cli
# Node
nodejs
yarn
prettier
# C
clang
# Typescript
typescript
typescript-language-server
# Haskell
cabal-install
cabal2nix
ghc
haskellPackages.hpack
haskellPackages.hasktags
haskellPackages.hoogle
# golang
go
# Scala
sbt
scala
# Rust
rustup
cargo-sweep
# Node
nodejs
yarn
prettier
# Clojure
boot
leiningen
# Typescript
typescript
typescript-language-server
# Ruby
ruby
# golang
go
# python
black
poetry
uv
# Rust
rustup
cargo-sweep
# kotlin
kotlin
kotlin-language-server
# Clojure
boot
leiningen
# dhall
haskellPackages.dhall
haskellPackages.dhall-json
# Ruby
ruby
# misc
perf-tools
protobuf
# python
black
poetry
uv
# nix
nixd
nil
alejandra
] ++ (if pkgs.stdenv.hostPlatform.system == "x86_64-linux" then with pkgs; [
# purescript
purescript
# Broken
# spago
] else []);
# kotlin
kotlin
kotlin-language-server
# dhall
haskellPackages.dhall
haskellPackages.dhall-json
# misc
perf-tools
protobuf
# nix
nixd
nil
alejandra
]
++ (
if pkgs.stdenv.hostPlatform.system == "x86_64-linux"
then
with pkgs; [
# purescript
purescript
# Broken
# spago
]
else []
);
}

6
nixos/flake.lock generated
View File

@@ -1217,11 +1217,11 @@
]
},
"locked": {
"lastModified": 1777434099,
"narHash": "sha256-GutKXyfGI7o89Dge4bP0yt0CQn1rqA6LyYDOH4GemdE=",
"lastModified": 1777725675,
"narHash": "sha256-nZtehV0SrY5GsAaxRJHBV7Ne9Pc4KJytEdEy6DGn/1k=",
"owner": "colonelpanic8",
"repo": "keepbook",
"rev": "240fe454c26e7dbdd25a2fa4f0b436bf1c4f937b",
"rev": "c719a94d0338f77510e1c53b3076fbd49af74486",
"type": "github"
},
"original": {

View File

@@ -1,5 +1,8 @@
switch *args:
sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false {{args}}
env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \
--override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
{{args}}
switch-remote *args:
# Switch using the remote master flake.
@@ -7,7 +10,10 @@ switch-remote *args:
switch-local *args:
# Backwards-compat alias for local switch.
sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false {{args}}
env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \
--override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
{{args}}
switch-local-taffybar *args:
# Like `switch-remote`, but use the local taffybar checkout (useful when hacking on it).
@@ -17,9 +23,10 @@ switch-local-taffybar *args:
systemctl status nixos-rebuild-switch-to-configuration.service --no-pager >&2 || true; \
while systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; do sleep 1; done; \
fi'
sudo env IMALISON_TAFFYBAR_LIVE_CHECKOUT=/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
env PATH=/run/wrappers/bin:$PATH sudo env IMALISON_TAFFYBAR_LIVE_CHECKOUT=/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
nixos-rebuild switch --flake "git+https://github.com/colonelpanic8/dotfiles.git?ref=master&dir=nixos#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \
--override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
{{args}}
remote-switch host *args: