Compare commits
3 commits
8f87951156
...
569a4ed564
Author | SHA1 | Date | |
---|---|---|---|
569a4ed564 | |||
9e1adfa944 | |||
3b14c37a52 |
4 changed files with 66 additions and 24 deletions
18
flake.lock
generated
18
flake.lock
generated
|
@ -18,23 +18,7 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs",
|
"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"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
25
flake.nix
25
flake.nix
|
@ -1,21 +1,34 @@
|
||||||
{
|
{
|
||||||
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
inputs.systems.url = "github:nix-systems/default-linux";
|
|
||||||
outputs =
|
outputs =
|
||||||
inputs:
|
inputs:
|
||||||
let
|
let
|
||||||
inherit (inputs.nixpkgs) lib legacyPackages;
|
systems = [
|
||||||
forEachSystem = lib.genAttrs (import inputs.systems);
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
|
inherit (builtins) map listToAttrs;
|
||||||
|
forAllSystems =
|
||||||
|
f:
|
||||||
|
listToAttrs (
|
||||||
|
map (system: {
|
||||||
|
name = system;
|
||||||
|
value = f system;
|
||||||
|
}) systems
|
||||||
|
);
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages = forEachSystem (
|
packages = forAllSystems (
|
||||||
system:
|
system:
|
||||||
let
|
let
|
||||||
pkgs = legacyPackages.${system};
|
pkgs = inputs.nixpkgs.legacyPackages.${system};
|
||||||
in
|
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
45
nix/modules/nixos.nix
Normal 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}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,7 +5,7 @@ let
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit name version;
|
inherit name version;
|
||||||
src = ./src;
|
src = ../src;
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
cp -r . $out
|
cp -r . $out
|
||||||
'';
|
'';
|
Loading…
Add table
Add a link
Reference in a new issue