nur-packages

My NUR packages
git clone git://git.sikmir.ru/nur-packages
Log | Files | Refs | README | LICENSE

openorienteering-mapper.nix (1508B)


      1 { config, lib, pkgs, ... }:
      2 
      3 with lib;
      4 let
      5   cfg = config.programs.openorienteering-mapper;
      6   configDir = "${config.xdg.configHome}/OpenOrienteering.org";
      7   configFile = "${configDir}/Mapper.conf";
      8   domain = "org.openorienteering.Mapper";
      9 in
     10 {
     11   meta.maintainers = [ maintainers.sikmir ];
     12 
     13   options.programs.openorienteering-mapper = {
     14     enable = mkEnableOption "An orienteering mapmaking program";
     15 
     16     package = mkOption {
     17       default = pkgs.openorienteering-mapper;
     18       defaultText = literalExpression "pkgs.openorienteering-mapper";
     19       example = "pkgs.nur.repos.sikmir.openorienteering-mapper-bin";
     20       description = "OpenOrienteering Mapper package to install.";
     21       type = types.package;
     22     };
     23   };
     24 
     25   config = mkIf cfg.enable (
     26     mkMerge [
     27       {
     28         home.packages = [ cfg.package ];
     29       }
     30 
     31       (
     32         mkIf pkgs.stdenv.isLinux {
     33           home.activation.createConfigFile = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
     34             $DRY_RUN_CMD mkdir -p ${configDir}
     35             $DRY_RUN_CMD touch ${configFile}
     36           '';
     37         }
     38       )
     39 
     40       {
     41         home.activation.tipsVisible =
     42           lib.hm.dag.entryAfter [ "writeBoundary" ]
     43             (
     44               if pkgs.stdenv.isDarwin then
     45                 "$DRY_RUN_CMD /usr/bin/defaults write ${domain} HomeScreen.tipsVisible -bool false"
     46               else
     47                 "$DRY_RUN_CMD ${pkgs.crudini}/bin/crudini $VERBOSE_ARG --set ${configFile} HomeScreen tipsVisible 0"
     48             );
     49       }
     50     ]
     51   );
     52 }