mirror of
https://github.com/abusoww/tuxmate.git
synced 2026-04-18 00:03:23 +02:00
feat: implemented logging in scripts and fixed some logical problems
This commit is contained in:
@@ -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}
|
||||
];`;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user