feat: implemented logging in scripts and fixed some logical problems

This commit is contained in:
N1C4T
2026-02-23 13:35:33 +04:00
parent 06ac033f94
commit a5cef79bbb
11 changed files with 369 additions and 476 deletions

View File

@@ -1,5 +1,3 @@
// Nix declarative config generator
import { type PackageInfo } from './shared';
import { isUnfreePackage } from '../nixUnfree';
@@ -7,16 +5,19 @@ export function generateNixConfig(packages: PackageInfo[]): string {
const validPackages = packages.filter(p => p.pkg.trim());
if (validPackages.length === 0) return '# No packages selected';
const date = new Date().toISOString().split('T')[0];
const sortedPkgs = validPackages.map(p => p.pkg.trim()).sort();
const packageList = sortedPkgs.map(pkg => ` ${pkg}`).join('\n');
// Add unfree warning if needed
const unfreePkgs = sortedPkgs.filter(pkg => isUnfreePackage(pkg));
const unfreeComment = unfreePkgs.length > 0
? `# Unfree: ${unfreePkgs.join(', ')}\n# Requires: nixpkgs.config.allowUnfree = true;\n\n`
: '';
return `${unfreeComment}environment.systemPackages = with pkgs; [
return `# Generated by tuxmate — ${date}
# https://github.com/abusoww/tuxmate
${unfreeComment}environment.systemPackages = with pkgs; [
${packageList}
];`;
}