TL;DR: - Rename website-blocker to url-blocker - Add a README.md - Reads and writes to /etc/hosts
		
			
				
	
	
		
			37 lines
		
	
	
	
		
			659 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
	
		
			659 B
		
	
	
	
		
			Nix
		
	
	
	
	
	
{ ... }:
 | 
						|
 | 
						|
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
 |