add cs-demo-manager appimage package, and group with postgresql for cs-tools module.
This commit is contained in:
24
modules/nixos/cs-tools/default.nix
Normal file
24
modules/nixos/cs-tools/default.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{ lib, pkgs, config, namespace, ... }:
|
||||
|
||||
let
|
||||
cfg = config.${namespace}.cs-tools;
|
||||
in
|
||||
{
|
||||
options.${namespace}.cs-tools = {
|
||||
enable = lib.mkEnableOption "CS tools including CS Demo Manager and PostgreSQL";
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureDatabases = [ "csdm" ];
|
||||
ensureUsers = [{
|
||||
name = "csdm";
|
||||
}];
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
my-namespace.cs-demo-manager
|
||||
postgresql
|
||||
];
|
||||
};
|
||||
}
|
||||
43
packages/cs-demo-manager/default.nix
Normal file
43
packages/cs-demo-manager/default.nix
Normal file
@@ -0,0 +1,43 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, appimageTools
|
||||
, postgresql
|
||||
, procps
|
||||
, ...
|
||||
}:
|
||||
|
||||
let
|
||||
pname = "cs-demo-manager";
|
||||
version = "3.18.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/akiver/cs-demo-manager/releases/download/v${version}/CS-Demo-Manager-${version}.AppImage";
|
||||
hash = "sha256-REEhqvfYSKD7EyIYJVlbkQu0h5FZcofc8X7Zhu1xZnA="; # You need to add the hash after first build attempt
|
||||
};
|
||||
|
||||
appimageContents = appimageTools.extractType2 {
|
||||
inherit pname version src;
|
||||
};
|
||||
in
|
||||
appimageTools.wrapType2 {
|
||||
inherit pname version src;
|
||||
|
||||
extraPkgs = pkgs: [ postgresql procps ];
|
||||
|
||||
extraInstallCommands = ''
|
||||
install -m 444 -D ${appimageContents}/cs-demo-manager.desktop $out/share/applications/cs-demo-manager.desktop
|
||||
install -m 444 -D ${appimageContents}/cs-demo-manager.png $out/share/icons/hicolor/512x512/apps/cs-demo-manager.png
|
||||
|
||||
substituteInPlace $out/share/applications/cs-demo-manager.desktop \
|
||||
--replace 'Exec=AppRun' 'Exec=${pname}'
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "An application to manage Counter-Strike demos";
|
||||
homepage = "https://github.com/akiver/cs-demo-manager";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
maintainers = [ ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user