|
1 | 1 | { |
2 | 2 | description = "Unified hosts file with base extensions."; |
3 | | - outputs = |
4 | | - { self, nixpkgs, ... }@inputs: |
| 3 | + outputs = { self, nixpkgs, ... }@inputs: |
5 | 4 | let |
6 | 5 | forAllSystems = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.unix; |
| 6 | + |
| 7 | + nixpkgsFor = forAllSystems (system: import nixpkgs { |
| 8 | + inherit system; |
| 9 | + }); |
| 10 | + |
7 | 11 | toUnboundConf = ( |
8 | 12 | file: |
9 | 13 | builtins.concatStringsSep "\n" ( |
|
23 | 27 | ) (nixpkgs.lib.strings.splitString "\n" (builtins.readFile file)) |
24 | 28 | ) |
25 | 29 | ); |
26 | | - |
27 | | - nixpkgsFor = forAllSystems ( |
28 | | - system: |
29 | | - import nixpkgs { |
30 | | - inherit system; |
31 | | - } |
32 | | - ); |
33 | 30 | in |
34 | 31 | { |
35 | | - nixosModule = |
36 | | - { config, ... }: |
| 32 | + nixosModule = { config, ... }: |
37 | 33 | with nixpkgs.lib; |
38 | 34 | let |
39 | 35 | cfg = config.networking.stevenBlackHosts; |
40 | | - alternatesList = |
41 | | - (if cfg.blockFakenews then [ "fakenews" ] else [ ]) |
42 | | - ++ (if cfg.blockGambling then [ "gambling" ] else [ ]) |
43 | | - ++ (if cfg.blockPorn then [ "porn" ] else [ ]) |
44 | | - ++ (if cfg.blockSocial then [ "social" ] else [ ]); |
| 36 | + alternatesList = (if cfg.blockFakenews then [ "fakenews" ] else []) ++ |
| 37 | + (if cfg.blockGambling then [ "gambling" ] else []) ++ |
| 38 | + (if cfg.blockPorn then [ "porn" ] else []) ++ |
| 39 | + (if cfg.blockSocial then [ "social" ] else []); |
45 | 40 | alternatesPath = "alternates/" + builtins.concatStringsSep "-" alternatesList + "/"; |
46 | 41 | in |
47 | 42 | { |
|
58 | 53 | config = mkIf cfg.enable { |
59 | 54 | networking.extraHosts = |
60 | 55 | let |
61 | | - orig = builtins.readFile ( |
62 | | - "${self}/" + (if alternatesList != [ ] then alternatesPath else "") + "hosts" |
63 | | - ); |
| 56 | + orig = builtins.readFile ("${self}/" + (if alternatesList != [] then alternatesPath else "") + "hosts"); |
64 | 57 | ipv6 = builtins.replaceStrings [ "0.0.0.0" ] [ "::" ] orig; |
65 | | - in |
66 | | - orig + (optionalString cfg.enableIPv6 ("\n" + ipv6)); |
| 58 | + in orig + (optionalString cfg.enableIPv6 ("\n" + ipv6)); |
67 | 59 | }; |
68 | 60 | }; |
69 | 61 |
|
70 | | - devShells = forAllSystems ( |
71 | | - system: |
72 | | - let |
73 | | - pkgs = nixpkgsFor.${system}; |
74 | | - in |
| 62 | + devShells = forAllSystems (system: |
| 63 | + let pkgs = nixpkgsFor.${system}; in |
75 | 64 | { |
76 | 65 | default = pkgs.mkShell { |
77 | 66 | buildInputs = with pkgs; [ |
|
80 | 69 | python3Packages.requests |
81 | 70 | ]; |
82 | 71 | }; |
83 | | - } |
84 | | - ); |
| 72 | + }); |
85 | 73 |
|
86 | 74 | overlays.default = ( |
87 | 75 | final: prev: { |
|
0 commit comments