diff --git a/home/hosts/linux/idols-aquamarine.nix b/home/hosts/linux/idols-aquamarine.nix index 03b60901..a67103bf 100644 --- a/home/hosts/linux/idols-aquamarine.nix +++ b/home/hosts/linux/idols-aquamarine.nix @@ -1,21 +1,3 @@ { - programs.gh.enable = true; - programs.git.enable = true; - - programs.zellij.enable = true; - programs.bash.enable = true; - programs.nushell.enable = true; - - programs.starship = { - enable = true; - enableBashIntegration = true; - enableNushellIntegration = true; - }; - programs.neovim = { - enable = true; - viAlias = true; - vimAlias = true; - }; - - home.stateVersion = "25.11"; + imports = [ ../../linux/core.nix ]; } diff --git a/home/hosts/linux/idols-kana.nix b/home/hosts/linux/idols-kana.nix index 60fdac30..a67103bf 100644 --- a/home/hosts/linux/idols-kana.nix +++ b/home/hosts/linux/idols-kana.nix @@ -1,3 +1,3 @@ { - imports = [ ./idols-aquamarine.nix ]; + imports = [ ../../linux/core.nix ]; } diff --git a/home/hosts/linux/idols-ruby.nix b/home/hosts/linux/idols-ruby.nix index 60fdac30..a67103bf 100644 --- a/home/hosts/linux/idols-ruby.nix +++ b/home/hosts/linux/idols-ruby.nix @@ -1,3 +1,3 @@ { - imports = [ ./idols-aquamarine.nix ]; + imports = [ ../../linux/core.nix ]; } diff --git a/home/linux/base/tools.nix b/home/linux/base/tools.nix index 2a1477af..74fee374 100644 --- a/home/linux/base/tools.nix +++ b/home/linux/base/tools.nix @@ -5,13 +5,5 @@ # misc libnotify wireguard-tools # manage wireguard vpn manually, via wg-quick - - virt-viewer # vnc connect to VM, used by kubevirt ]; - - # auto mount usb drives - services = { - udiskie.enable = true; - # syncthing.enable = true; - }; } diff --git a/home/linux/gui/base/desktop-tools.nix b/home/linux/gui/base/desktop-tools.nix index 5a5f1c50..7f24ba6a 100644 --- a/home/linux/gui/base/desktop-tools.nix +++ b/home/linux/gui/base/desktop-tools.nix @@ -27,6 +27,8 @@ flameshot hyprshot # screen shot wf-recorder # screen recording + + virt-viewer # vnc connect to VM, used by kubevirt ]; # screen locker @@ -34,4 +36,10 @@ # Logout Menu programs.wlogout.enable = true; + + # auto mount usb drives + services = { + udiskie.enable = true; + # syncthing.enable = true; + }; } diff --git a/home/linux/gui/base/misc.nix b/home/linux/gui/base/misc.nix index df6320b5..24218c02 100644 --- a/home/linux/gui/base/misc.nix +++ b/home/linux/gui/base/misc.nix @@ -24,4 +24,5 @@ # allow fontconfig to discover fonts and configurations installed through home.packages # Install fonts at system-level, not user-level fonts.fontconfig.enable = false; + } diff --git a/hosts/idols-akane/default.nix b/hosts/idols-akane/default.nix index cdcb329c..6ad4d894 100644 --- a/hosts/idols-akane/default.nix +++ b/hosts/idols-akane/default.nix @@ -15,6 +15,9 @@ in { imports = (mylib.scanPaths ./.) ++ [ disko.nixosModules.default + + ../idols-ruby/packages.nix + ../idols-ruby/oci-containers ]; # supported file systems, so we can mount any removable disks with these filesystems diff --git a/hosts/idols-akane/packages.nix b/hosts/idols-akane/packages.nix deleted file mode 100644 index e0d74689..00000000 --- a/hosts/idols-akane/packages.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ pkgs, ... }: -{ - # https://github.com/Mic92/nix-ld - # - # nix-ld will install itself at `/lib64/ld-linux-x86-64.so.2` so that - # it can be used as the dynamic linker for non-NixOS binaries. - # - # nix-ld works like a middleware between the actual link loader located at `/nix/store/.../ld-linux-x86-64.so.2` - # and the non-NixOS binaries. It will: - # - # 1. read the `NIX_LD` environment variable and use it to find the actual link loader. - # 2. read the `NIX_LD_LIBRARY_PATH` environment variable and use it to set the `LD_LIBRARY_PATH` environment variable - # for the actual link loader. - # - # nix-ld's nixos module will set default values for `NIX_LD` and `NIX_LD_LIBRARY_PATH` environment variables, so - # it can work out of the box: - # - # - https://github.com/NixOS/nixpkgs/blob/nixos-26.05/nixos/modules/programs/nix-ld.nix#L42-L45 - # - # You can overwrite `NIX_LD_LIBRARY_PATH` in the environment where you run the non-NixOS binaries to customize the - # search path for shared libraries. - programs.nix-ld = { - enable = true; - libraries = with pkgs; [ - stdenv.cc.cc - ]; - }; - - environment.systemPackages = with pkgs; [ - nodejs_24 - pnpm - - #-- python - conda - uv # python project package manager - (python313.withPackages ( - ps: with ps; [ - pandas - requests - pyquery - pyyaml - numpy - - # model downloaders - huggingface-hub - modelscope - ] - )) - - rustc - cargo # rust package manager - go - ]; -} diff --git a/hosts/idols-ruby/packages.nix b/hosts/idols-ruby/packages.nix index 00d77e6a..da7e79b0 100644 --- a/hosts/idols-ruby/packages.nix +++ b/hosts/idols-ruby/packages.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, llm-agents, ... }: { # https://github.com/Mic92/nix-ld # @@ -26,55 +26,68 @@ ]; }; - environment.systemPackages = with pkgs; [ - nodejs_24 - pnpm + environment.systemPackages = + with pkgs; + [ + nodejs_24 + pnpm - #-- python - conda - uv # python project package manager - (python313.withPackages ( - ps: with ps; [ - pandas - requests - pyquery - pyyaml - numpy + #-- python + conda + uv # python project package manager + (python313.withPackages ( + ps: with ps; [ + pandas + requests + pyquery + pyyaml + numpy - # model downloaders - huggingface-hub - modelscope - ] - )) + # model downloaders + huggingface-hub + modelscope + ] + )) - rustc - cargo # rust package manager - go + rustc + cargo # rust package manager + go - # cryptography - age - sops - rclone - gnupg + # cryptography + age + sops + rclone + gnupg - # cloud-native - kubectl - istioctl - kubevirt # virtctl - kubernetes-helm - fluxcd - terraform + # cloud-native + kubectl + istioctl + kubevirt # virtctl + kubernetes-helm + fluxcd + terraform - # db related - pgcli - mongosh - sqlite + # db related + pgcli + mongosh + sqlite - yt-dlp # youtube/bilibili/soundcloud/... video/music downloader + yt-dlp # youtube/bilibili/soundcloud/... video/music downloader - # need to run `conda-install` before using it - # need to run `conda-shell` before using command `conda` - # conda is not available for MacOS - conda - ]; + # need to run `conda-install` before using it + # need to run `conda-shell` before using command `conda` + # conda is not available for MacOS + conda + ] + # AI Agent Tools + ++ (with llm-agents.packages.${pkgs.stdenv.hostPlatform.system}; [ + # Agents + codex + cursor-cli + claude-code + opencode + + # Utilities + rtk # CLI proxy that reduces LLM token consumption + ]); }