| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- {
- description = "Kilo Code development environment";
- inputs = {
- nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
- };
- outputs =
- { self, nixpkgs, ... }:
- let
- systems = [
- "aarch64-darwin"
- "x86_64-linux"
- ];
- forAllSystems = nixpkgs.lib.genAttrs systems;
- mkDevShell =
- system:
- let
- pkgs = import nixpkgs { inherit system; };
- in
- pkgs.mkShell {
- name = "kilo-code";
- packages = with pkgs; [
- nodejs_20
- corepack_20
- libnotify
- jetbrains.idea-community
- jetbrains.jdk
- jdk21
- gradle
- unzip
- # Build tools for native modules
- pkg-config
- python3
- gcc
- gnumake
- # Libraries
- libsecret
- # X11 libraries for JetBrains IDEs and native-keymap
- xorg.libX11
- xorg.libX11.dev
- xorg.libXext
- xorg.libXi
- xorg.libXrender
- xorg.libXtst
- xorg.libXrandr
- xorg.libXinerama
- xorg.libXcursor
- xorg.libXdamage
- xorg.libXfixes
- xorg.libXcomposite
- xorg.libxkbfile
- xorg.libxkbfile.dev
- xorg.libxcb
- # Additional GUI libraries
- freetype
- fontconfig
- glib
- gtk3
- cairo
- pango
- gdk-pixbuf
- atk
- # JCEF dependencies
- nspr
- nss
- cups
- dbus
- at-spi2-atk
- at-spi2-core
- libdrm
- mesa
- expat
- alsa-lib
- pulseaudio
- # Github
- act
- # Microphone support
- ffmpeg_7-full
- ];
- # Set library path for dynamic linking
- shellHook = ''
- export DEVENV="nix"
- export JAVA_HOME="${pkgs.jetbrains.jdk}"
- export PATH="$JAVA_HOME/bin:$PATH"
- export LD_LIBRARY_PATH="${
- pkgs.lib.makeLibraryPath [
- pkgs.xorg.libX11
- pkgs.xorg.libXext
- pkgs.xorg.libXi
- pkgs.xorg.libXrender
- pkgs.xorg.libXtst
- pkgs.xorg.libXrandr
- pkgs.xorg.libXinerama
- pkgs.xorg.libXcursor
- pkgs.xorg.libXdamage
- pkgs.xorg.libXfixes
- pkgs.xorg.libXcomposite
- pkgs.xorg.libxkbfile
- pkgs.xorg.libxcb
- pkgs.freetype
- pkgs.fontconfig
- pkgs.glib
- pkgs.gtk3
- pkgs.cairo
- pkgs.pango
- pkgs.gdk-pixbuf
- pkgs.atk
- pkgs.libsecret
- pkgs.jetbrains.jdk
- # JCEF-specific libraries
- pkgs.nspr
- pkgs.nss
- pkgs.cups
- pkgs.dbus
- pkgs.at-spi2-atk
- pkgs.at-spi2-core
- pkgs.libdrm
- pkgs.mesa
- pkgs.expat
- pkgs.alsa-lib
- pkgs.pulseaudio
- ]
- }:$LD_LIBRARY_PATH"
- '';
- };
- in
- {
- devShells = forAllSystems (system: {
- default = mkDevShell system;
- });
- };
- }
|