diff --git a/default-home.nix b/default-home.nix index 00fe22d..ead38a9 100644 --- a/default-home.nix +++ b/default-home.nix @@ -6,14 +6,6 @@ ... }: let - system = pkgs.stdenv.hostPlatform.system; - codex = import ./overlays/codex.nix { pkgs = unstable; }; - opencode = inputs.ngp-nur.packages.${system}.opencode-v2; - rcsh-language-server = inputs.ngp-nur.packages.${system}.rcsh-language-server.override { - nodejs = pkgs.nodejs_22; - pnpm_11 = pkgs.pnpm_11.override { nodejs-slim = pkgs.nodejs-slim_22; }; - }; - hunkPackages = import ./overlays/hunk.nix (unstable // hunkPackages) unstable; neovim-unwrapped = import ./overlays/neovim.nix { pkgs = unstable; }; in { @@ -21,6 +13,19 @@ in inputs.agenix.homeManagerModules.default ./modules/copy-nix-store-to-misaki-home.nix ./modules/secure-env-var.nix + ./modules/home/package-sets/core.nix + ./modules/home/package-sets/development-base.nix + ./modules/home/package-sets/development-beam.nix + ./modules/home/package-sets/development-clojure.nix + ./modules/home/package-sets/development-go.nix + ./modules/home/package-sets/development-jvm.nix + ./modules/home/package-sets/development-lua.nix + ./modules/home/package-sets/development-nix.nix + ./modules/home/package-sets/development-python.nix + ./modules/home/package-sets/development-systems.nix + ./modules/home/package-sets/development-web.nix + ./modules/home/package-sets/ai.nix + ./modules/home/package-sets/certificates.nix ./ssh.nix ]; home.username = "noah"; @@ -32,125 +37,6 @@ in "${config.home.homeDirectory}/.ssh/id_ed25519_terminus" ]; - home.packages = with pkgs; [ - inputs.agenix.packages."${system}".agenix - # main tool - tree - btop - htop - rsync - unzip - fd - ripgrep - catgirl - netcat - stunnel - fzf - iperf3 - entr - lf - #devenv # broken - plan9port - rc - pwgen - metastore - isync - pass - tmux - age - bzip2 - bzip3 - p7zip - rclone - unstable.vis - bubblewrap - unstable.delta - unstable.difftastic - unstable.jq - inputs.ngp-nur.packages.${system}.nixpkgs-search - rcsh-language-server - inputs.herdr.packages.${system}.herdr - unstable.zellij - unstable.typst - unstable.tinymist - - # Dev tools - gcc - go - unstable.gopls - gnumake - ccls - unstable.babashka - # Babashka common aliases - unstable.neil - unstable.clojure - unstable.clj-kondo - unstable.clojure-lsp - unstable.janet - unstable.jpm - graalvmPackages.graalvm-ce - cmake - universal-ctags - kotlin - nodejs - opam - rustup - zig - scala_3 - scalafmt - # scala LSP - unstable.metals - # Scala / Java build tool - sbt - luarocks - luajit - lua-language-server - leiningen - libressl - erlang - elixir - ghc - nil - python3 - uv - typescript - #vscode-langservers-extracted - scdoc - #dockerfile-language-server-nodejs - #yaml-language-server - mkcert - natscli - poetry - sqlite - pandoc - unstable.harec - unstable.hare - unstable.haredo - unstable.haredoc - unstable.gleam - unstable.rebar3 - unstable.bun - unstable.typescript-language-server - unstable.vscode-langservers-extracted - unstable.gh - unstable.kraft - inputs.claude-code.packages.${system}.claude-code - codex - opencode - hunkPackages.hunk - - # Python dev tools - pyright - python313Packages.python-lsp-server - python313Packages.python-lsp-ruff - - # Certificate Management - minica - mkcert - step-cli - - ]; - nix = { #package = pkgs.nix; settings = { diff --git a/host-specific/aleister-noah.nix b/host-specific/aleister-noah.nix index bcd2d34..5b40415 100644 --- a/host-specific/aleister-noah.nix +++ b/host-specific/aleister-noah.nix @@ -7,14 +7,6 @@ ... }: let - system = pkgs.stdenv.hostPlatform.system; - codex = import ../overlays/codex.nix { pkgs = unstable; }; - opencode = inputs.ngp-nur.packages.${system}.opencode-v2; - rcsh-language-server = inputs.ngp-nur.packages.${system}.rcsh-language-server.override { - nodejs = pkgs.nodejs_22; - pnpm_11 = pkgs.pnpm_11.override { nodejs-slim = pkgs.nodejs-slim_22; }; - }; - hunkPackages = import ../overlays/hunk.nix (unstable // hunkPackages) unstable; neovim-unwrapped = import ../overlays/neovim.nix { pkgs = unstable; }; in { @@ -40,122 +32,6 @@ in # I generally don't care about unfree stuff nixpkgs.config.allowUnfree = true; - home.packages = with pkgs; [ - # main tool - #fish - tree - btop - # Apple Silicon top monitoring - macpm - htop - mtr - moreutils - rsync - bash - tmux - coreutils - util-linux - p7zip - unar - watch - - unzip - fd - jq - ripgrep - bat - #netcat - #stunnel - iperf3 - entr - ncdu - bitwarden-cli - sqlite - age - inputs.agenix.packages.${system}.agenix - just - mdr - unstable.catgirl - plan9port - unstable.rc - unstable.glow - unstable.vis - nodejs - rclone - unstable.zellij - unstable.difftastic - unstable.typst - unstable.tinymist - rcsh-language-server - inputs.ngp-nur.packages.${system}.nixpkgs-search - inputs.herdr.packages.${system}.herdr - - # Dev tools - git - git-filter-repo - unstable.ruff - # Rust REPL - evcxr - unstable.go - unstable.gopls - gnumake - #unstable.ccls - unstable.clojure - unstable.cljfmt - unstable.babashka - unstable.clojure-lsp - unstable.janet - unstable.jpm - unstable.fennel-ls - unstable.graalvmPackages.graalvm-ce - unstable.gleam - unstable.beam28Packages.erlang - cmake - ctags - - # Lua - luarocks - luajit - unstable.lua-language-server - luaformatter - libressl - unstable.nil # nix language server - unstable.nixd - #typescript - # This is currently broken - unstable.vscode-langservers-extracted - scdoc - # BROKEN - #dockerfile-language-server-nodejs - unstable.yaml-language-server - python314 - unstable.uv - sqlite - unstable.bun - unstable.gh - - # Python dev tools - #unstable.pyright - unstable.basedpyright - unstable.python314Packages.python-lsp-server - unstable.python314Packages.python-lsp-ruff - - # JavaScript tools - #typescript-language-server - - # Certificate Management - minica - mkcert - step-cli - opencode - inputs.claude-code.packages.${system}.claude-code - codex - hunkPackages.hunk - - # Libraries because MacOS is kinda stupid - ncurses - ]; - #programs.fish = { # enable = true; # package = unstable.fish; @@ -276,9 +152,24 @@ in imports = [ ../modules/copy-nix-store-to-misaki-home.nix ../modules/secure-env-var.nix + ../modules/home/package-sets/core.nix + ../modules/home/package-sets/development-base.nix + ../modules/home/package-sets/development-beam.nix + ../modules/home/package-sets/development-clojure.nix + ../modules/home/package-sets/development-go.nix + ../modules/home/package-sets/development-jvm.nix + ../modules/home/package-sets/development-lua.nix + ../modules/home/package-sets/development-nix.nix + ../modules/home/package-sets/development-python.nix + ../modules/home/package-sets/development-systems.nix + ../modules/home/package-sets/development-web.nix + ../modules/home/package-sets/ai.nix + ../modules/home/package-sets/certificates.nix ../ssh.nix ]; + home.packages = [ pkgs.ncurses ]; + programs.yazi = let localPkgs = pkgs; diff --git a/modules/home/package-sets/ai.nix b/modules/home/package-sets/ai.nix new file mode 100644 index 0000000..2bce590 --- /dev/null +++ b/modules/home/package-sets/ai.nix @@ -0,0 +1,19 @@ +{ + pkgs, + unstable, + inputs, + ... +}: +let + system = pkgs.stdenv.hostPlatform.system; + codex = import ../../../overlays/codex.nix { pkgs = unstable; }; + hunkPackages = import ../../../overlays/hunk.nix (unstable // hunkPackages) unstable; +in +{ + home.packages = [ + inputs.ngp-nur.packages.${system}.opencode-v2 + inputs.claude-code.packages.${system}.claude-code + codex + hunkPackages.hunk + ]; +} diff --git a/modules/home/package-sets/certificates.nix b/modules/home/package-sets/certificates.nix new file mode 100644 index 0000000..cda6481 --- /dev/null +++ b/modules/home/package-sets/certificates.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.minica + pkgs.mkcert + pkgs.step-cli + ]; +} diff --git a/modules/home/package-sets/core.nix b/modules/home/package-sets/core.nix new file mode 100644 index 0000000..6b708c0 --- /dev/null +++ b/modules/home/package-sets/core.nix @@ -0,0 +1,67 @@ +{ + pkgs, + unstable, + inputs, + lib, + ... +}: +let + system = pkgs.stdenv.hostPlatform.system; +in +{ + home.packages = [ + pkgs.tree + pkgs.btop + pkgs.htop + pkgs.rsync + pkgs.unzip + pkgs.fd + pkgs.ripgrep + pkgs.iperf3 + pkgs.entr + pkgs.plan9port + pkgs.tmux + pkgs.age + pkgs.p7zip + pkgs.rclone + pkgs.netcat + pkgs.stunnel + pkgs.fzf + pkgs.ncdu + pkgs.watch + pkgs.bat + pkgs.sqlite + pkgs.just + pkgs.mdr + pkgs.nodejs + unstable.jq + unstable.vis + unstable.difftastic + unstable.typst + unstable.tinymist + inputs.ngp-nur.packages.${system}.nixpkgs-search + inputs.herdr.packages.${system}.herdr + unstable.rc + unstable.glow + unstable.catgirl + inputs.agenix.packages.${system}.agenix + ] + ++ lib.optionals pkgs.stdenv.isLinux [ + pkgs.pwgen + pkgs.metastore + pkgs.isync + pkgs.pass + pkgs.bzip2 + pkgs.bzip3 + pkgs.bubblewrap + ] + ++ lib.optionals pkgs.stdenv.isDarwin [ + pkgs.macpm + pkgs.mtr + pkgs.moreutils + pkgs.bash + pkgs.coreutils + pkgs.util-linux + pkgs.unar + ]; +} diff --git a/modules/home/package-sets/development-base.nix b/modules/home/package-sets/development-base.nix new file mode 100644 index 0000000..be9684b --- /dev/null +++ b/modules/home/package-sets/development-base.nix @@ -0,0 +1,22 @@ +{ + pkgs, + inputs, + ... +}: +let + system = pkgs.stdenv.hostPlatform.system; +in +{ + home.packages = [ + pkgs.gnumake + pkgs.cmake + pkgs.scdoc + pkgs.sqlite + pkgs.natscli + pkgs.pandoc + pkgs.git + pkgs.git-filter-repo + pkgs.gcc + inputs.ngp-nur.packages.${system}.rcsh-language-server + ]; +} diff --git a/modules/home/package-sets/development-beam.nix b/modules/home/package-sets/development-beam.nix new file mode 100644 index 0000000..88d62a8 --- /dev/null +++ b/modules/home/package-sets/development-beam.nix @@ -0,0 +1,9 @@ +{ unstable, ... }: +{ + home.packages = [ + unstable.gleam + unstable.erlang + unstable.elixir + unstable.rebar3 + ]; +} diff --git a/modules/home/package-sets/development-clojure.nix b/modules/home/package-sets/development-clojure.nix new file mode 100644 index 0000000..d4abdb4 --- /dev/null +++ b/modules/home/package-sets/development-clojure.nix @@ -0,0 +1,14 @@ +{ unstable, ... }: +{ + home.packages = [ + unstable.babashka + unstable.clojure + unstable.clojure-lsp + unstable.janet + unstable.jpm + unstable.cljfmt + unstable.fennel-ls + unstable.neil + unstable.clj-kondo + ]; +} diff --git a/modules/home/package-sets/development-go.nix b/modules/home/package-sets/development-go.nix new file mode 100644 index 0000000..2a598ce --- /dev/null +++ b/modules/home/package-sets/development-go.nix @@ -0,0 +1,7 @@ +{ unstable, ... }: +{ + home.packages = [ + unstable.gopls + unstable.go + ]; +} diff --git a/modules/home/package-sets/development-jvm.nix b/modules/home/package-sets/development-jvm.nix new file mode 100644 index 0000000..1e0a788 --- /dev/null +++ b/modules/home/package-sets/development-jvm.nix @@ -0,0 +1,11 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.graalvmPackages.graalvm-ce + pkgs.kotlin + pkgs.scala_3 + pkgs.scalafmt + pkgs.metals + pkgs.sbt + ]; +} diff --git a/modules/home/package-sets/development-lua.nix b/modules/home/package-sets/development-lua.nix new file mode 100644 index 0000000..89fdb40 --- /dev/null +++ b/modules/home/package-sets/development-lua.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.luarocks + pkgs.luajit + pkgs.libressl + pkgs.lua-language-server + pkgs.luaformatter + ]; +} diff --git a/modules/home/package-sets/development-nix.nix b/modules/home/package-sets/development-nix.nix new file mode 100644 index 0000000..5af7983 --- /dev/null +++ b/modules/home/package-sets/development-nix.nix @@ -0,0 +1,7 @@ +{ pkgs, unstable, ... }: +{ + home.packages = [ + unstable.nil + ] + ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ unstable.nixd ]; +} diff --git a/modules/home/package-sets/development-python.nix b/modules/home/package-sets/development-python.nix new file mode 100644 index 0000000..d135a86 --- /dev/null +++ b/modules/home/package-sets/development-python.nix @@ -0,0 +1,12 @@ +{ pkgs, unstable, ... }: +{ + home.packages = [ + pkgs.python314 + unstable.poetry + unstable.ruff + unstable.uv + unstable.basedpyright + unstable.python314Packages.python-lsp-server + unstable.python314Packages.python-lsp-ruff + ]; +} diff --git a/modules/home/package-sets/development-systems.nix b/modules/home/package-sets/development-systems.nix new file mode 100644 index 0000000..227035e --- /dev/null +++ b/modules/home/package-sets/development-systems.nix @@ -0,0 +1,19 @@ +{ pkgs, unstable, ... }: +{ + home.packages = + pkgs.lib.optionals pkgs.stdenv.isLinux [ + pkgs.ccls + pkgs.opam + pkgs.rustup + pkgs.zig + pkgs.ghc + #unstable.harec + #unstable.hare + #unstable.haredo + #unstable.haredoc + unstable.kraft + ] + ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ + pkgs.evcxr + ]; +} diff --git a/modules/home/package-sets/development-web.nix b/modules/home/package-sets/development-web.nix new file mode 100644 index 0000000..0c740dd --- /dev/null +++ b/modules/home/package-sets/development-web.nix @@ -0,0 +1,12 @@ +{ pkgs, unstable, ... }: +{ + home.packages = [ + pkgs.nodejs + unstable.bun + unstable.vscode-langservers-extracted + unstable.gh + unstable.typescript + unstable.typescript-language-server + unstable.yaml-language-server + ]; +}