about summary refs log tree commit diff
path: root/tools/url-blocker/default.nix
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-03-29T19·35+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-03-29T19·39+0100
commit946764f6bd8dc8a4c9653e0b148ed96d95aabd9c (patch)
treef47a7189a73968c77883eb46958b3c55865390b9 /tools/url-blocker/default.nix
parent75595b0126806e1f1f35802ec534e32492cb2a6c (diff)
Read and write to /etc/hosts
TL;DR:
- Rename website-blocker to url-blocker
- Add a README.md
- Reads and writes to /etc/hosts
Diffstat (limited to 'tools/url-blocker/default.nix')
-rw-r--r--tools/url-blocker/default.nix37
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/url-blocker/default.nix b/tools/url-blocker/default.nix
new file mode 100644
index 000000000000..d6a098851b88
--- /dev/null
+++ b/tools/url-blocker/default.nix
@@ -0,0 +1,37 @@
+{ ... }:
+
+let
+  pkgs = import <unstable> {};
+
+  ghc = pkgs.haskellPackages.ghcWithPackages (hpkgs: [
+    hpkgs.time
+    hpkgs.aeson
+    hpkgs.either
+  ]);
+
+  # This is the systemd service unit
+  service = pkgs.stdenv.mkDerivation {
+    name = "url-blocker";
+    src = ./.;
+    buildInputs = with pkgs; [
+    ];
+    buildPhase = ''
+    ${ghc}/bin/ghc Main.hs
+  '';
+    installPhase = ''
+    mv ./Main $out
+  '';
+  };
+
+  # This is the systemd timer unit.
+  # Run once every minute.
+  # Give root privilege.
+  systemdUnit = {
+    systemd = {
+      timers.simple-timer = {
+        wantedBy = [ "timers.target" ];
+        partOf = [];
+      };
+    };
+  };
+in null