136 Commits
Author SHA1 Message Date
Ryan Yin b9610c47e0 fix(hypridle): skip lock while media is playing
The lock listener ignores inhibitors but had no playback condition, so it locked the screen at its timeout even during active media playback (screen-off already skipped via playerctl). Add the same playerctl condition to the lock listener.
2026-09-13 23:56:16 +08:00
Ryan Yin e81767c7b4 fix(hypridle): stop claiming org.freedesktop.ScreenSaver
niri already owns the org.freedesktop.ScreenSaver interface and feeds its inhibitors into the compositor idle notifier, so hypridle's own registration always fails with 'Another service is already providing...'. Set ignore_dbus_inhibit = true so hypridle no longer tries to claim it; D-Bus inhibits are still handled by niri.
2026-09-13 23:56:14 +08:00
Ryan Yin 7131041107 feat(hypridle): define config in home-manager with per-host timeouts
Replace the static hypridle.conf with services.hypridle.settings and add required timeout options so each host tunes its own values:

- idols-ai (PC): 15 min keyboard, 20 min screen-off, 30 min lock.
- 12kingdoms-shoukei (laptop): 3 / 6 / 20 min (previous values).

The options have no defaults because the right values depend on the machine. Update the home-manager eval test to inspect the settings option instead of the old config file text.
2026-09-13 23:45:42 +08:00
Ryan Yin cdfa332970 feat(easyeffects): set autogain target per host
Desktop speakers on idols-ai use the EBU R128 broadcast standard (-23 dB), while the quiet built-in laptop speakers on 12kingdoms-shoukei keep -12 dB. Move the target out of the shared preset so each host sets its own value.
2026-09-13 23:22:19 +08:00
Ryan Yin 88ed9ee432 feat(easyeffects): declare autogain and limiter output preset
Declare the output chain via services.easyeffects.extraPresets and load it with preset.output, replacing the GUI-only configuration that did not survive the tmpfs root.

autogain target is set to -12 dB (EasyEffects defaults to -23, which is too quiet for playback); the limiter acts as a transparent -1 dB safety net via threshold=-1 and gain-boost=false.
2026-09-12 23:38:41 +08:00
Ryan Yin 7661be6a69 fix: refine shoukei idle screen off 2026-09-03 23:26:03 +08:00
ryan4yin | 二花 9db935bc87 fix(sunshine): use Intel rendering and recover remote Niri sessions (#268)
- render Niri on the Intel iGPU while retaining NVIDIA-connected physical outputs
- encode Sunshine streams with Intel VAAPI and wait for a Niri output before startup
- load VKMS persistently for headless sessions and configure `Virtual-1` at 2560x1600@60
- let Moonlight request the stream bitrate instead of enforcing a 20 Mbps host cap
- remove unsupported Dynamic Boost and global NVIDIA session overrides
- grant Sunshine access to virtual input devices
- add a Nushell recovery helper that starts a temporary greetd/Niri session from SSH
- identify and safely replace normal, standalone, or previous transient Niri sessions
- launch the transient service in the background and verify greetd, Niri, and Sunshine before returning
- ignore local `.worktrees` directories and keep eval regression coverage focused on structural behavior
2026-09-01 03:40:48 -06:00
Ryan Yin 6f40483462 feat(hypridle): power off monitors at 15min idle 2026-08-31 20:06:01 +08:00
Ryan Yin 6538c50662 feat(shoukei): enable wluma ambient-light auto brightness
- read Asahi aop-sensors ALS via iio and drive eDP-1 backlight
- drop PrivateUsers for wluma so it can reach the real user D-Bus session
- remove hypridle 10min screen-dim listener: its brightnessctl writes fight
  wluma and get learned as manual adjustments
2026-08-31 15:33:15 +08:00
Ryan Yin 2cd3a1cee4 refactor(home): share XDG base configuration 2026-08-30 12:45:24 +08:00
Ryan Yin f08b45d2bc feat(editors): restore vscode alongside zed for build123d workflows
- linux: programs.vscode via pkgs-master with gnome-libsecret password store
- darwin: visual-studio-code cask + aerospace window rules
- idols-ai: persist .vscode and .config/Code (Settings Sync handles extensions)
- xdg: code.desktop editor association and vscode:// scheme handler
2026-08-29 17:05:44 +08:00
Ryan Yin 7cba098b07 fix(home): replace deprecated stdenv.is* with hostPlatform.is* 2026-08-24 00:33:22 +08:00
Ryan Yin 3c361f316f fix(home): explicitly enable home.pointerCursor 2026-08-24 00:33:02 +08:00
Ryan Yin 9df14d8c39 chore(obs): comment out unused plugins
Keep only the plugins actually in use (screen capture, gstreamer,
input-overlay, multi-rtmp, source-clone, pipewire audio, vaapi);
disable the rest (teleport, droidcam, vkcapture, shaderfilter,
record, livesplit, looking-glass, vintage-filter, command-source,
move-transition, backgroundremoval, 3d-effect).
2026-08-23 20:06:33 +08:00
Ryan Yin 495c366938 fix(xdg): order autostart apps after xdg-desktop-portal
At login the xdg-autostart-generator starts apps at
graphical-session.target, racing the portal user services. Sandboxed
apps (nixpak firefox/telegram) end up with broken FileChooser/OpenURI
until manually restarted.

Add a template drop-in on app-@autostart.service that makes every
autostart app wait for the portal stack.
2026-08-15 00:47:59 +08:00
Ryan Yin c0f50a7d4a fix(bambu-studio): adjust HiDPI text scaling 2026-08-05 09:14:33 +08:00
Ryan Yin 20dac3bb84 docs(zoom-us): screen capture mode 2026-08-01 10:28:01 +08:00
Ryan Yin 8bb2adc436 feat(home): enable easyeffects for loudness normalization
Fix inconsistent volume across bilibili videos at the PipeWire level:
the easyeffects daemon auto-starts at login; an autogain + limiter
chain can be applied per-app (e.g. only to the browser).

Signed-off-by: Ryan Yin <xiaoyin_c@qq.com>
2026-07-26 11:29:09 +08:00
Ryan Yin f80580772a feat(blender): build 5.2 LTS with CUDA and OptiX 2026-07-24 14:34:25 +08:00
Ryan Yin 9ee947dc0a fix: clash-verge-rev ui by upgrade 2026-07-23 11:22:06 +08:00
Ryan Yin e22af008bf chore: upgrade slicer app 2026-07-10 12:40:12 +08:00
Ryan Yin 6c84c9e85b feat: add bambu studio 2026-07-10 10:04:18 +08:00
Ryan Yin d5822550b4 fix(catppuccin): use cache for themed ports 2026-07-09 17:02:28 +08:00
Ryan Yin 0e5f1801cf feat(nixos): add orca-slicer
Signed-off-by: Ryan Yin <xiaoyin_c@qq.com>
2026-06-25 22:19:14 +08:00
Ryan Yin 86f316cfdb fix: shoukei - noctalia - adjust brightness 2026-06-12 15:55:51 +08:00
Ryan Yin cfc192afc4 feat: replace vscode with zed-editor (#263)
* feat: replace vscode with zed-editor
* docs: helix
2026-06-04 23:20:59 +08:00
Ryan Yin bea4f7cf06 chore: add llm agents & helix for ruby/kana/akane
Signed-off-by: Ryan Yin <xiaoyin_c@qq.com>
2026-06-03 15:48:03 +08:00
Ryan Yin 2a26d51eaa feat(linux) - avoid compiling creative tools, update noctalia & utils.nu 2026-06-03 14:07:35 +08:00
Ryan Yin 495ed3f938 chore: remove aagl, run them via steam+dw-proton instead
Signed-off-by: Ryan Yin <xiaoyin_c@qq.com>
2026-05-10 12:42:02 +08:00
Ryan Yin 86161aeb0c fix: noctalia-shell - failed to unlock after suspend 2026-05-08 11:56:57 +08:00
Ryan Yin d3a2c49822 feat: niri - blur 2026-05-03 18:45:56 +08:00
Ryan Yin 762896ddb9 feat: update nixpkgs, fix bug 2026-05-03 13:04:01 +08:00
Ryan Yin b053027899 fix: noctalia-shell - can not find running shell instance 2026-04-28 10:38:38 +08:00
Ryan Yin 9febf86f71 chore: enable wallpapers 2026-04-28 09:23:36 +08:00
Ryan Yin 07b4f981d1 fix: aagl 2026-04-27 15:16:08 +08:00
Ryan Yin 4ceec21c14 chore: remove warnings 2026-04-27 15:00:09 +08:00
Ryan Yin 319cf87196 feat: add libreoffice 2026-04-24 12:48:57 +08:00
Ryan Yin f373f5ee5b feat(nixos): add cursor-cli/claude-code/gemini-cli/opencode 2026-03-24 12:20:47 +08:00
Ryan Yin 914239487c feat(nixos): add cursor-cli 2026-03-24 10:45:20 +08:00
Ryan Yin 84ab80c752 chore: noctalia - disabe wallpaper to save gpu memory for llm 2026-03-20 23:25:45 +08:00
Ryan Yin 2f777ff38f polish: style 2026-03-20 00:02:14 +08:00
Ryan Yin 94e4598681 chore: use latest noctalia-shell 2026-03-19 10:32:08 +08:00
Ryan Yin 424b000ab5 fix: disable heroic - failed to build 2026-03-16 18:10:38 +08:00
Ryan Yin f9e29233cc chore: fix warning - using keys like ‘XDG_SCREENSHOTS_DIR’ 2026-03-10 23:26:51 +08:00
Ryan Yin e57fc9d479 chore: remove claude-code, zed-editor & antigravity 2026-03-10 22:58:44 +08:00
Ryan Yin 91e4ab8ef7 feat(noctalia): monitor brightness
Signed-off-by: Ryan Yin <xiaoyin_c@qq.com>
2026-02-27 10:20:13 +08:00
Ryan Yin 8caece291d chore: comment out zed & antigravity 2026-02-19 17:57:26 +08:00
Ryan Yin e3115813a1 fix: nvidia open failed to build 2026-02-15 22:53:44 +08:00
Ryan Yin 91112b9283 chore: noctalia - disabe notification sounds 2026-01-26 14:51:27 +08:00
Ryan Yin 74ed0135aa feat: add Astronomy softwares 2026-01-24 16:37:26 +08:00