diff --git a/README.md b/README.md index 6961f1b..05c8e05 100644 --- a/README.md +++ b/README.md @@ -83,19 +83,3 @@ to crontab like that: $ crontab -l * * * * * /home/user/dev/go/bin/appvm autoballoon - -# App description - - $ cat nix/chromium.nix - {pkgs, ...}: - { - imports = [ - - - ]; - - services.xserver.displayManager.sessionCommands = - "while [ 1 ]; do ${pkgs.chromium}/bin/chromium; done &"; - } - -For create new app you should add package name (search at https://nixos.org/nixos/packages.html) and path to binary (typically same as package name). diff --git a/builtin.go b/builtin.go index 0b6b99e..7beb5d2 100644 --- a/builtin.go +++ b/builtin.go @@ -15,25 +15,32 @@ var builtin_chromium_nix = app{ Name: "chromium", Nix: []byte(` {pkgs, ...}: -{ +let + application = "${pkgs.chromium}/bin/chromium"; + appRunner = pkgs.writeShellScriptBin "app" '' + ARGS_FILE=/home/user/.args + ARGS=$(cat $ARGS_FILE) + rm $ARGS_FILE + + ${application} $ARGS + systemctl poweroff + ''; +in { imports = [ ]; - environment.etc."chromium/policies/managed/plugins.json".text = '' -{ - "ExtensionInstallForcelist": [ - // uBlock Origin (https://chrome.google.com/webstore/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm) - "cjpalhdlnbpafiamejdnhcphjbkeiagm;https://clients2.google.com/service/update2/crx", - // HTTPS Everywhere (https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp) - "gcbommkclmclpchllfjekcdonpmejbdp;https://clients2.google.com/service/update2/crx", - ] -} - ''; + programs.chromium = { + enable = true; + extensions = [ + "cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin + "gcbommkclmclpchllfjekcdonpmejbdp" # HTTPS Everywhere + "fihnjjcciajhdojfnbdddfaoknhalnja" # I don't care about cookies + ]; + }; - environment.systemPackages = [ pkgs.chromium ]; - services.xserver.displayManager.sessionCommands = "while [ 1 ]; do ${pkgs.chromium}/bin/chromium; done &"; + services.xserver.displayManager.sessionCommands = "${appRunner}/bin/app &"; } `), }