Compare commits

...

3 commits

4 changed files with 66 additions and 24 deletions

18
flake.lock generated
View file

@ -18,23 +18,7 @@
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"systems": "systems"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
"nixpkgs": "nixpkgs"
}
}
},

View file

@ -1,21 +1,34 @@
{
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
inputs.systems.url = "github:nix-systems/default-linux";
outputs =
inputs:
let
inherit (inputs.nixpkgs) lib legacyPackages;
forEachSystem = lib.genAttrs (import inputs.systems);
systems = [
"x86_64-linux"
"aarch64-linux"
];
inherit (builtins) map listToAttrs;
forAllSystems =
f:
listToAttrs (
map (system: {
name = system;
value = f system;
}) systems
);
in
{
packages = forEachSystem (
packages = forAllSystems (
system:
let
pkgs = legacyPackages.${system};
pkgs = inputs.nixpkgs.legacyPackages.${system};
in
{
default = pkgs.callPackage ./default.nix { };
default = pkgs.callPackage ./nix/package.nix { };
}
);
nixosModules = forAllSystems (_: {
default = import ./nix/modules/nixos.nix;
});
};
}

45
nix/modules/nixos.nix Normal file
View file

@ -0,0 +1,45 @@
{
config,
lib,
pkgs,
...
}:
let
inherit (builtins) toString;
inherit (lib) mkOption mkEnableOption mkIf;
inherit (lib.types) port str;
cfg = config.services.rrv-sh;
package = pkgs.callPackage ../package.nix { };
in
{
options.services.rrv-sh = {
enable = mkEnableOption "";
port = mkOption {
type = port;
default = 2309;
};
user = mkOption {
type = str;
default = "rrv-sh";
};
group = mkOption {
type = str;
default = "rrv-sh";
};
};
config = mkIf cfg.enable {
systemd.services.rrv-sh = {
description = "the rrv.sh website";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
Restart = "on-failure";
RestartSec = "5s";
User = cfg.user;
Group = cfg.group;
ExecStart = "${pkgs.live-server}/bin/live-server -p ${toString cfg.port} ${package}";
};
};
};
}

View file

@ -5,7 +5,7 @@ let
in
stdenv.mkDerivation {
inherit name version;
src = ./src;
src = ../src;
installPhase = ''
cp -r . $out
'';