diff --git a/nixos/code.nix b/nixos/code.nix index c7474884..f738c496 100644 --- a/nixos/code.nix +++ b/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 [] + ); } diff --git a/nixos/flake.lock b/nixos/flake.lock index 326b1a8c..d9242354 100644 --- a/nixos/flake.lock +++ b/nixos/flake.lock @@ -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": { diff --git a/nixos/justfile b/nixos/justfile index ac0eeb72..ac80571b 100644 --- a/nixos/justfile +++ b/nixos/justfile @@ -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: