diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2018-09-08 14:52:32 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2018-09-08 14:52:32 +0200 |
| commit | e1b6b84568be92ac0c09876b58906d9cc13874b7 (patch) | |
| tree | 47c4cd4684439e64e8fdeb942ce61270fa70b5bc | |
| parent | 25c2f7d63ec570d97d84cf77f2299b6d42412266 (diff) | |
| download | nixos-e1b6b84568be92ac0c09876b58906d9cc13874b7.tar nixos-e1b6b84568be92ac0c09876b58906d9cc13874b7.tar.gz nixos-e1b6b84568be92ac0c09876b58906d9cc13874b7.tar.bz2 nixos-e1b6b84568be92ac0c09876b58906d9cc13874b7.tar.xz nixos-e1b6b84568be92ac0c09876b58906d9cc13874b7.zip | |
...
| -rw-r--r-- | custom/bar-service.nix | 6 | ||||
| -rw-r--r-- | custom/thermoprint-service.nix | 19 |
2 files changed, 20 insertions, 5 deletions
diff --git a/custom/bar-service.nix b/custom/bar-service.nix index 9a48d960..a5bb9626 100644 --- a/custom/bar-service.nix +++ b/custom/bar-service.nix | |||
| @@ -52,15 +52,17 @@ in { | |||
| 52 | }; | 52 | }; |
| 53 | }; | 53 | }; |
| 54 | 54 | ||
| 55 | config = mkIf cfg.enable { | 55 | imports = mkIf cfg.enable [ ./thermoprint-service.nix ]; |
| 56 | imports = [ ./thermoprint-service.nix ]; | ||
| 57 | 56 | ||
| 57 | config = mkIf cfg.enable { | ||
| 58 | assertions = [ | 58 | assertions = [ |
| 59 | { assertion = config.services.postgresql.enable; | 59 | { assertion = config.services.postgresql.enable; |
| 60 | message = "bar requires PostgreSQL"; | 60 | message = "bar requires PostgreSQL"; |
| 61 | } | 61 | } |
| 62 | ]; | 62 | ]; |
| 63 | 63 | ||
| 64 | packages.thermoprint.enable = true; | ||
| 65 | |||
| 64 | users.users."${cfg.user}" = { | 66 | users.users."${cfg.user}" = { |
| 65 | group = cfg.group; | 67 | group = cfg.group; |
| 66 | description = "User for the Bar Inventory System"; | 68 | description = "User for the Bar Inventory System"; |
diff --git a/custom/thermoprint-service.nix b/custom/thermoprint-service.nix index 8773706c..30588d43 100644 --- a/custom/thermoprint-service.nix +++ b/custom/thermoprint-service.nix | |||
| @@ -2,13 +2,26 @@ | |||
| 2 | 2 | ||
| 3 | with lib; | 3 | with lib; |
| 4 | 4 | ||
| 5 | { | 5 | let |
| 6 | config = { | 6 | pCfg = config.packages.thermoprint; |
| 7 | in { | ||
| 8 | options = { | ||
| 9 | packages.thermoprint = { | ||
| 10 | enable = mkEnableOption "thermoprint packages"; | ||
| 11 | |||
| 12 | extraServerPackages = mkOption { | ||
| 13 | type = types.unspecified; | ||
| 14 | default = p: []; | ||
| 15 | }; | ||
| 16 | }; | ||
| 17 | }; | ||
| 18 | |||
| 19 | config = mkIf pCfg.enable { | ||
| 7 | nixpkgs.overlays = [(selfPkgs: superPkgs: { | 20 | nixpkgs.overlays = [(selfPkgs: superPkgs: { |
| 8 | haskellPackages = superPkgs.haskellPackages.extend (selfH: superH: | 21 | haskellPackages = superPkgs.haskellPackages.extend (selfH: superH: |
| 9 | import ./custom/thermoprint { | 22 | import ./custom/thermoprint { |
| 10 | callPackage = superPkgs.lib.callPackageWith (selfH // { inherit (superPkgs) stdenv makeWrapper runCommand; }); | 23 | callPackage = superPkgs.lib.callPackageWith (selfH // { inherit (superPkgs) stdenv makeWrapper runCommand; }); |
| 11 | extraPackages = (p: []); | 24 | extraPackages = pCfg.extraServerPackages; |
| 12 | } | 25 | } |
| 13 | ); | 26 | ); |
| 14 | 27 | ||
