Compare commits

...

10 commits

Author SHA1 Message Date
ltadeu6
46d5651272
Add FluidSynth user service 2026-06-21 17:04:39 -03:00
ltadeu6
40c9a4b2a0
Install agent CLIs on NixOracle 2026-06-21 17:03:21 -03:00
auto-upgrade
701de54a74
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/22c81f70a5369f9b1f74bda589b3c526db575069?narHash=sha256-qUXiscmAPjcjV0yGANh9ZuivOBNBckVEpexb7phihgc%3D' (2026-06-09)
  → 'github:openclaw/nix-openclaw/a60fb12d461edfdadb6dca65a3b72230e35014ad?narHash=sha256-/F/4Kg7t7accuaAzc8khMyK%2BxXReXjpU9Tn4L0LrnyI%3D' (2026-06-10)
2026-06-10 14:30:54 -03:00
auto-upgrade
9f3d5896fc
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/48bd7a29e1904b0e0926aa94e44da14fa5b1f196?narHash=sha256-EVt8AItP8DtX96ZVAMt1JwavSE/28zAM6maIA5MD0Bc%3D' (2026-06-06)
  → 'github:openclaw/nix-openclaw/22c81f70a5369f9b1f74bda589b3c526db575069?narHash=sha256-qUXiscmAPjcjV0yGANh9ZuivOBNBckVEpexb7phihgc%3D' (2026-06-09)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/535f3e6942cb1cead3929c604320d3db54b542b9?narHash=sha256-2v9lT4ya59Lh1FqPeLnz1MoX9y/wz2huqfe9RtQZITk%3D' (2026-06-03)
  → 'github:NixOS/nixpkgs/e820eb4a444b46a19b2e03e8dfd2359439ff30fe?narHash=sha256-Fwd1%2BspDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv%2BG/Hds%3D' (2026-06-08)
2026-06-09 18:01:47 -03:00
auto-upgrade
32124b26da
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/331800de5053fcebacf6813adb5db9c9dca22a0c?narHash=sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw%3D' (2026-05-31)
  → 'github:NixOS/nixpkgs/a799d3e3886da994fa307f817a6bc705ae538eeb?narHash=sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY%3D' (2026-06-06)
2026-06-08 17:11:33 -03:00
auto-upgrade
b17b02d2dd
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/9a06fba241fa4f4806eefcb738c883dae230598c?narHash=sha256-v59l9z8n37L5G35N28m4Sh%2BY4/ZDBvuOmlEj7sIftko%3D' (2026-06-01)
  → 'github:openclaw/nix-openclaw/48bd7a29e1904b0e0926aa94e44da14fa5b1f196?narHash=sha256-EVt8AItP8DtX96ZVAMt1JwavSE/28zAM6maIA5MD0Bc%3D' (2026-06-06)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/25f538306313eae3927264466c70d7001dcea1df?narHash=sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY%3D' (2026-05-26)
  → 'github:NixOS/nixpkgs/535f3e6942cb1cead3929c604320d3db54b542b9?narHash=sha256-2v9lT4ya59Lh1FqPeLnz1MoX9y/wz2huqfe9RtQZITk%3D' (2026-06-03)
• Updated input 'zen-browser':
    'github:youwen5/zen-browser-flake/2e2c38ba20a3d614d0196e0aa44851547306e861?narHash=sha256-M/2bCPYjiBTkDNV29J/00z10RM3yYnL9X74RqAHDme0%3D' (2026-05-28)
  → 'github:youwen5/zen-browser-flake/8c62bc6a72ac5a5b8d1b41b2b88dfed9d9932c48?narHash=sha256-ngPdHinPyF0AMxRr32qt%2BTZCv0sagmooBW14u6DfjSU%3D' (2026-06-05)
2026-06-06 17:29:58 -03:00
auto-upgrade
4291bf9aa3
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/64c08a7ca051951c8eae34e3e3cb1e202fe36786?narHash=sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o%3D' (2026-05-23)
  → 'github:NixOS/nixpkgs/331800de5053fcebacf6813adb5db9c9dca22a0c?narHash=sha256-x5UQuRsH3MqI0U9afaXSNqzTPSeZlRLvFAav2Ux1pNw%3D' (2026-05-31)
2026-06-03 15:55:38 -03:00
auto-upgrade
7623ab7304
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/fc112c87a3c6a4508f1dba44d1a72df5492ad8a4?narHash=sha256-c%2BCPifTqDDIioDusdZ84nSoFkHDUZvm4pwjjSNve750%3D' (2026-05-29)
  → 'github:openclaw/nix-openclaw/9a06fba241fa4f4806eefcb738c883dae230598c?narHash=sha256-v59l9z8n37L5G35N28m4Sh%2BY4/ZDBvuOmlEj7sIftko%3D' (2026-06-01)
2026-06-01 15:49:08 -03:00
auto-upgrade
6253766489
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/773708b523201b2b632567a418ae8095e96df7da?narHash=sha256-8peHZD76kFpw1XjkzBIFioB4ZwqT2lxxUNBiwRyFVgI%3D' (2026-05-29)
  → 'github:openclaw/nix-openclaw/fc112c87a3c6a4508f1dba44d1a72df5492ad8a4?narHash=sha256-c%2BCPifTqDDIioDusdZ84nSoFkHDUZvm4pwjjSNve750%3D' (2026-05-29)
2026-05-30 05:38:57 -03:00
auto-upgrade
372740431a
flake.lock: Update
Flake lock file updates:

• Updated input 'nix-openclaw':
    'github:openclaw/nix-openclaw/ed00b170386eca78d4ed380e15de618b983c70e1?narHash=sha256-BbKrwdXnlY62bGxWsNKoHWywbewA09Do%2Bws7wTSte1c%3D' (2026-05-28)
  → 'github:openclaw/nix-openclaw/773708b523201b2b632567a418ae8095e96df7da?narHash=sha256-8peHZD76kFpw1XjkzBIFioB4ZwqT2lxxUNBiwRyFVgI%3D' (2026-05-29)
2026-05-29 18:17:22 -03:00
4 changed files with 74 additions and 13 deletions

24
flake.lock generated
View file

@ -133,11 +133,11 @@
"qmd": "qmd" "qmd": "qmd"
}, },
"locked": { "locked": {
"lastModified": 1779970580, "lastModified": 1781072789,
"narHash": "sha256-BbKrwdXnlY62bGxWsNKoHWywbewA09Do+ws7wTSte1c=", "narHash": "sha256-/F/4Kg7t7accuaAzc8khMyK+xXReXjpU9Tn4L0LrnyI=",
"owner": "openclaw", "owner": "openclaw",
"repo": "nix-openclaw", "repo": "nix-openclaw",
"rev": "ed00b170386eca78d4ed380e15de618b983c70e1", "rev": "a60fb12d461edfdadb6dca65a3b72230e35014ad",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -182,11 +182,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1779560665, "lastModified": 1780749050,
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "rev": "a799d3e3886da994fa307f817a6bc705ae538eeb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -230,11 +230,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1779796641, "lastModified": 1780952837,
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=", "narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "25f538306313eae3927264466c70d7001dcea1df", "rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -317,11 +317,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1779946062, "lastModified": 1780637620,
"narHash": "sha256-M/2bCPYjiBTkDNV29J/00z10RM3yYnL9X74RqAHDme0=", "narHash": "sha256-ngPdHinPyF0AMxRr32qt+TZCv0sagmooBW14u6DfjSU=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "2e2c38ba20a3d614d0196e0aa44851547306e861", "rev": "8c62bc6a72ac5a5b8d1b41b2b88dfed9d9932c48",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -67,6 +67,16 @@
inherit system; inherit system;
modules = [ modules = [
./hosts/NixOracle/configuration.nix ./hosts/NixOracle/configuration.nix
{
nixpkgs.overlays = [
(final: prev: {
unstable = import nixpkgs-unstable {
inherit system;
config = prev.config;
};
})
];
}
]; ];
}; };
}; };

View file

@ -1,6 +1,32 @@
{ config, pkgs, lib, ... }: { config, pkgs, lib, ... }:
let let
fluidsynthStart = pkgs.writeShellScript "fluidsynth-start" ''
${pkgs.fluidsynth}/bin/fluidsynth \
-a pulseaudio -m alsa_seq -g 1.0 -q \
${pkgs.soundfont-fluid}/share/soundfonts/FluidR3_GM2-2.sf2 >/dev/null &
FLUID_PID=$!
# Loop indefinitely: connect Minilab3 when it appears, reconnect if unplugged
while kill -0 "$FLUID_PID" 2>/dev/null; do
MINI=$(${pkgs.gawk}/bin/awk '/"Minilab3"/{print $2}' /proc/asound/seq/clients 2>/dev/null)
FLUID=$(${pkgs.gawk}/bin/awk '/FLUID Synth/{print $2}' /proc/asound/seq/clients 2>/dev/null)
if [ -n "$MINI" ] && [ -n "$FLUID" ]; then
if ${pkgs.alsa-utils}/bin/aconnect -l 2>/dev/null | grep -q "Connected From:.*$MINI"; then
: # already connected
else
echo "Connecting Minilab3 ($MINI) -> FluidSynth ($FLUID)" >&2
${pkgs.alsa-utils}/bin/aconnect "$MINI:0" "$FLUID:0" >&2
fi
else
echo "Waiting: MINI='$MINI' FLUID='$FLUID'" >&2
fi
${pkgs.coreutils}/bin/sleep 2
done
wait $FLUID_PID
'';
gameSaveBackupRoot = "${config.home.homeDirectory}/Backups/game-saves"; gameSaveBackupRoot = "${config.home.homeDirectory}/Backups/game-saves";
gameSaveLudusaviPath = "${gameSaveBackupRoot}/ludusavi"; gameSaveLudusaviPath = "${gameSaveBackupRoot}/ludusavi";
gameSaveLutrisWinePrefix = "${config.home.homeDirectory}/Games/none"; gameSaveLutrisWinePrefix = "${config.home.homeDirectory}/Games/none";
@ -346,6 +372,10 @@ in
sageWithDoc sageWithDoc
evince evince
poppler-utils poppler-utils
fluidsynth
soundfont-fluid
alsa-utils
spotify-player
]; ];
home.file = { home.file = {
@ -427,6 +457,20 @@ in
".config/wofi/menu.css".source = ../configs/wofi/menu.css; ".config/wofi/menu.css".source = ../configs/wofi/menu.css;
}; };
systemd.user.services.fluidsynth = {
Unit = {
Description = "FluidSynth software MIDI synthesizer";
After = [ "pipewire-pulse.service" ];
};
Service = {
Type = "simple";
ExecStart = "${fluidsynthStart}";
Restart = "on-failure";
RestartSec = "5s";
};
Install.WantedBy = [ "default.target" ];
};
systemd.user.services.game-save-ludusavi-backup = { systemd.user.services.game-save-ludusavi-backup = {
Unit.Description = "Back up game saves with Ludusavi"; Unit.Description = "Back up game saves with Ludusavi";
Service = { Service = {

View file

@ -1,4 +1,4 @@
{ pkgs, config, ... }: { pkgs, config, lib, ... }:
let let
username = "ltadeu6"; username = "ltadeu6";
sshAuthorizedKeys = [ sshAuthorizedKeys = [
@ -36,7 +36,13 @@ in {
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"claude-code"
];
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
claude-code
curl curl
fd fd
git git
@ -47,6 +53,7 @@ in {
ripgrep ripgrep
starship starship
tmux tmux
unstable.codex
wget wget
]; ];