diff options
Diffstat (limited to 'lass/3modules')
-rw-r--r-- | lass/3modules/default.nix | 1 | ||||
-rw-r--r-- | lass/3modules/go.nix | 61 | ||||
-rw-r--r-- | lass/3modules/realwallpaper.nix | 102 |
3 files changed, 61 insertions, 103 deletions
diff --git a/lass/3modules/default.nix b/lass/3modules/default.nix index 9b6211278..9de987bf3 100644 --- a/lass/3modules/default.nix +++ b/lass/3modules/default.nix @@ -3,6 +3,5 @@ _: { imports = [ ./xresources.nix - ./realwallpaper.nix ]; } diff --git a/lass/3modules/go.nix b/lass/3modules/go.nix new file mode 100644 index 000000000..aa900f118 --- /dev/null +++ b/lass/3modules/go.nix @@ -0,0 +1,61 @@ +{ config, lib, pkgs, ... }: + +with builtins; +with lib; + +let + cfg = config.lass.go; + + out = { + options.lass.go = api; + config = mkIf cfg.enable imp; + }; + + api = { + enable = mkEnableOption "Enable go url shortener"; + port = mkOption { + type = types.str; + default = "1337"; + description = "on which port go should run on"; + }; + redisKeyPrefix = mkOption { + type = types.str; + default = "go:"; + description = "change the Redis key prefix which defaults to `go:`"; + }; + }; + + imp = { + users.extraUsers.go = { + name = "go"; + uid = 42774411; #genid go + description = "go url shortener user"; + home = "/var/lib/go"; + createHome = true; + }; + + systemd.services.go = { + description = "go url shortener"; + after = [ "network.target" ]; + wantedBy = [ "multi-user.target" ]; + + path = with pkgs; [ + go + ]; + + environment = { + PORT = cfg.port; + REDIS_KEY_PREFIX = cfg.redisKeyPrefix; + }; + + restartIfChanged = true; + + serviceConfig = { + User = "go"; + Restart = "always"; + ExecStart = "${pkgs.go}/bin/go"; + }; + }; + }; + +in out diff --git a/lass/3modules/realwallpaper.nix b/lass/3modules/realwallpaper.nix deleted file mode 100644 index 85dd35233..000000000 --- a/lass/3modules/realwallpaper.nix +++ /dev/null @@ -1,102 +0,0 @@ -arg@{ config, lib, pkgs, ... }: - -let - inherit (lib) - mkEnableOption - mkOption - types - mkIf - ; - - lpkgs = import ../5pkgs { inherit pkgs; }; - - cfg = config.lass.realwallpaper; - - out = { - options.lass.realwallpaper = api; - config = mkIf cfg.enable imp; - }; - - api = { - enable = mkEnableOption "realwallpaper"; - - workingDir = mkOption { - type = types.str; - default = "/var/realwallpaper/"; - }; - - nightmap = mkOption { - type = types.str; - default = "http://eoimages.gsfc.nasa.gov/images/imagerecords/55000/55167/earth_lights_lrg.jpg"; - }; - - daymap = mkOption { - type = types.str; - default = "http://www.nnvl.noaa.gov/images/globaldata/SnowIceCover_Daily.png"; - }; - - cloudmap = mkOption { - type = types.str; - default = "http://xplanetclouds.com/free/local/clouds_2048.jpg"; - }; - - outFile = mkOption { - type = types.str; - default = "/tmp/wallpaper.png"; - }; - - timerConfig = mkOption { - type = types.unspecified; - default = { - OnCalendar = "*:0/15"; - }; - }; - - }; - - imp = { - systemd.timers.realwallpaper = { - description = "real wallpaper generator timer"; - - timerConfig = cfg.timerConfig; - }; - - systemd.services.realwallpaper = { - description = "real wallpaper generator"; - wantedBy = [ "multi-user.target" ]; - after = [ "network.target" ]; - - path = with pkgs; [ - xplanet - imagemagick - curl - file - ]; - - environment = { - working_dir = cfg.workingDir; - nightmap_url = cfg.nightmap; - daymap_url = cfg.daymap; - cloudmap_url = cfg.cloudmap; - out_file = cfg.outFile; - }; - - restartIfChanged = true; - - serviceConfig = { - Type = "simple"; - ExecStart = "${lpkgs.realwallpaper}/realwallpaper.sh"; - User = "realwallpaper"; - }; - }; - - users.extraUsers.realwallpaper = { - uid = 2009435407; #genid realwallpaper - home = cfg.workingDir; - createHome = true; - }; - }; - -in -out - |