diff --git a/README.md b/README.md new file mode 100644 index 0000000..52d85ff --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +This repository is hosted at https://git.rrv.sh/rrvsh/rrv.sh. + +It's mirrored at https://github.com/rrvsh/rrv.sh. diff --git a/flake.nix b/flake.nix index 3fc6351..2fb6c45 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,32 @@ { - inputs.nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; - outputs = inputs: { - packages.x86_64-linux.default = ./default.nix; - }; + inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + outputs = + inputs: + let + systems = [ + "x86_64-linux" + "aarch64-linux" + ]; + inherit (builtins) map listToAttrs; + forAllSystems = + f: + listToAttrs ( + map (system: { + name = system; + value = f system; + }) systems + ); + in + { + packages = forAllSystems ( + system: + let + pkgs = inputs.nixpkgs.legacyPackages.${system}; + in + { + default = pkgs.callPackage ./nix/package.nix { }; + } + ); + nixosModules.default = import ./nix/modules/nixos.nix; + }; } diff --git a/nix/modules/nixos.nix b/nix/modules/nixos.nix new file mode 100644 index 0000000..c4e48b5 --- /dev/null +++ b/nix/modules/nixos.nix @@ -0,0 +1,51 @@ +{ + 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 { + users.users.rrv-sh = mkIf (cfg.user == "rrv-sh") { + inherit (cfg) group; + isSystemUser = true; + description = "rrv.sh server user"; + }; + users.groups.rrv-sh = mkIf (cfg.user == "rrv-sh") { }; + 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}"; + }; + }; + }; +} diff --git a/default.nix b/nix/package.nix similarity index 90% rename from default.nix rename to nix/package.nix index ae22cb4..0811d98 100644 --- a/default.nix +++ b/nix/package.nix @@ -5,7 +5,7 @@ let in stdenv.mkDerivation { inherit name version; - src = ./src; + src = ../src; installPhase = '' cp -r . $out ''; diff --git a/src/blog/index.html b/src/blog/index.html new file mode 100644 index 0000000..baaa954 --- /dev/null +++ b/src/blog/index.html @@ -0,0 +1,10 @@ + + + + rrv.sh + + + +

BLOG

+ + diff --git a/src/index.html b/src/index.html index cf567af..492ed3b 100644 --- a/src/index.html +++ b/src/index.html @@ -1,10 +1,36 @@ - + + - + rrv.sh - + + -

hi

+
+

mohammad rafiq

+
+
  • blog <- start here!
  • +
  • wiki
  • +
  • + cv +
  • +
    +
    + +
    diff --git a/src/favicon.ico b/src/static/favicon.ico similarity index 100% rename from src/favicon.ico rename to src/static/favicon.ico diff --git a/src/static/lichess.svg b/src/static/lichess.svg new file mode 100644 index 0000000..b7422c8 --- /dev/null +++ b/src/static/lichess.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/static/style.css b/src/static/style.css new file mode 100644 index 0000000..471ab3e --- /dev/null +++ b/src/static/style.css @@ -0,0 +1,31 @@ +body { + background-color: black; + color: white; + font-size: 24px; +} +div.container { + margin: 0; + text-align: center; + position: absolute; + top: 50%; + left: 50%; + -ms-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); +} +div.list { + text-align: left; +} +a, +a:visited, +a:hover, +a:active { + color: inherit; +} +a.fa { + text-decoration: none; +} +.icon { + width: 24px; + height: 24px; + vertical-align: middle; +}