nixos: update code tooling setup
This commit is contained in:
169
nixos/code.nix
169
nixos/code.nix
@@ -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
6
nixos/flake.lock
generated
@@ -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": {
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user