aboutsummaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to 'system')
-rw-r--r--system/packages/packages.nix36
1 files changed, 34 insertions, 2 deletions
diff --git a/system/packages/packages.nix b/system/packages/packages.nix
index 1acba85e..c9ac9431 100644
--- a/system/packages/packages.nix
+++ b/system/packages/packages.nix
@@ -2,9 +2,41 @@
config,
pkgs,
...
-}: {
+}: let
+ output =
+ pkgs.runCommand
+ "packages-cleaner"
+ {}
+ ''
+ mkdir $out
+ echo '[' >> $out/clean.json
+ awk '{
+ if (NF) {
+ gsub(/^[[:blank:]]*/,"")
+ gsub(/[[:blank:]]*$/,"")
+ if ( !/^#/ || !/^\/\// ) {
+ if ( /.*#/ && !/#!/ ) {
+ gsub(/#.*/,"")
+ gsub(/[[:blank:]]*$/,"")
+ if (NF) {
+ print "pkgs.%s" $0
+ }
+ } else {
+ print "pkgs.%s" $0
+ }
+ }
+
+ }
+ }' "./packages.conf" >> $out/clean.json
+ echo ']' >> $out/clean.json
+
+
+ '';
+
+ packagesList = builtins.fromJSON "${output}/clean.json"; # TODO could work
+in {
environment.systemPackages = with pkgs; [
- (builtins.readFile ./packages.conf) # TODO could work
+ packagesList
];
}
# QEMU