diff --git a/configuration.nix b/configuration.nix index 7e822f4..7d2131d 100644 --- a/configuration.nix +++ b/configuration.nix @@ -11,6 +11,7 @@ ./modules/navidrome.nix ./modules/slskd.nix ./modules/smb.nix + ./modules/scripts.nix ]; nix.settings.experimental-features = [ @@ -94,6 +95,7 @@ services.tailscale.enable = true; services.rsync.enable = true; + programs.nix-ld.enable = true; programs.nh.enable = true; programs.neovim.enable = true; programs.tmux.enable = true; diff --git a/home-manager/home.nix b/home-manager/home.nix index 249b0e2..28612f3 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -1,4 +1,4 @@ -{pkgs, ... }: +{pkgs, config, ... }: { imports = [ ./beets.nix @@ -36,6 +36,10 @@ EDITOR = "nvim"; }; + home.sessionPath = [ + "${config.home.homeDirectory}/.local/bin" + ]; + programs.fish = { enable = true; interactiveShellInit = '' diff --git a/modules/scripts.nix b/modules/scripts.nix new file mode 100644 index 0000000..90c91a9 --- /dev/null +++ b/modules/scripts.nix @@ -0,0 +1,25 @@ +{ pkgs, ... }: +{ + environment.systemPackages = [ + (pkgs.writeShellScriptBin "scan" '' + find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 | + xargs -0 -P"$(nproc)" -I{} bash -c ' + if ffprobe -v quiet -show_entries format_tags \ + -of default=nw=1:nk=1 "$1" 2>/dev/null | + grep -q -E "Visit https?://[^ ]+"; then + echo "Match found in: $1" + fi + ' _ {} | sort + '') + (pkgs.writeShellScriptBin "2scan" '' + find . -type f \( -iname "*.mp3" -o -iname "*.flac" -o -iname "*.m4a" -o -iname "*.ogg" -o -iname "*.wav" -o -iname "*.aiff" \) -print0 | + xargs -0 -P"$(nproc)" -I{} sh -c ' + if ! ffprobe -v quiet -show_entries format_tags \ + -of default=nw=1:nk=1 "$1" 2>/dev/null | + grep -q -E "Visit https?://[^ ]+"; then + echo "Match found in: $1" + fi + ' _ {} + '') + ]; +} diff --git a/modules/slskd.nix b/modules/slskd.nix index 86c4a60..ed25308 100644 --- a/modules/slskd.nix +++ b/modules/slskd.nix @@ -80,6 +80,11 @@ }; }; }; + retention = { + files = { + incomplete = 20160; + }; + }; }; };