diff options
author | Cara Salter <cara@devcara.com> | 2022-08-13 16:47:10 -0400 |
---|---|---|
committer | Cara Salter <cara@devcara.com> | 2022-08-13 16:48:25 -0400 |
commit | bc8d4d7e6dbc4954afc53abc80f597b94e816bf3 (patch) | |
tree | 68e8373e162d32f32a936c9cf2ee20e0c6c52a81 /flake.nix | |
parent | f05eb9e87ce3f8f72126e82299f32b940e3b29f0 (diff) | |
download | site-bc8d4d7e6dbc4954afc53abc80f597b94e816bf3.tar.gz site-bc8d4d7e6dbc4954afc53abc80f597b94e816bf3.zip |
no nix
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/flake.nix b/flake.nix deleted file mode 100644 index 2a83e6c..0000000 --- a/flake.nix +++ /dev/null @@ -1,126 +0,0 @@ -{ - inputs = { - flake-utils.url = "github:numtide/flake-utils"; - naersk.url = "github:nix-community/naersk"; - mozillapkgs = { - url = "github:mozilla/nixpkgs-mozilla"; - flake = false; - }; - }; - - outputs = { self, nixpkgs, flake-utils, naersk, mozillapkgs }: - flake-utils.lib.eachDefaultSystem ( - system: let - pkgs = nixpkgs.legacyPackages."${system}"; - mozilla = pkgs.callPackage (mozillapkgs + "/package-set.nix") {}; - rust = (mozilla.rustChannelOf { - date = "2022-03-31"; - channel = "nightly"; - sha256 = "k6wD6/2qNQ7rmIvGi1ddtKSTUXjXFbIr0Sg2mqF2nYg="; - }).rust; - - naersk-lib = naersk.lib."${system}".override { - cargo = rust; - rustc = rust; - }; - in - rec { - # `nix build` - packages.carasite = naersk-lib.buildPackage { - pname = "carasite"; - root = ./.; - remapPathPrefix = true; - buildInputs = with pkgs; [ - git - ]; - overrideMain = attrs: { - preBuild = '' - cp -r templates /build/dummy-src/ - cp -r statics /build/dummy-src/ - ''; - - postInstall = '' - mv $out/bin/site $out/bin/carasite - - cp -rf $src/blog $out/blog - cp -rf $src/statics $out/statics - cp -rf $src/projects $out/projects - ''; - - }; - }; - defaultPackage = packages.carasite; - - # `nix run` - apps.carasite = flake-utils.lib.mkApp { - drv = packages.carasite; - }; - defaultApp = apps.carasite; - - nixosModules.site = { config, lib, ... }: { - options = { - cara.services.carasite.enable = lib.mkEnableOption "enable cara's site"; - cara.services.carasite.domain = lib.mkOption { - type = lib.types.str; - default = "devcara.com"; - description = "The domain to use"; - }; - - cara.services.carasite.port = lib.mkOption { - type = lib.types.port; - default = 3000; - description = "The port to bind to"; - }; - }; - - config = lib.mkIf config.cara.services.carasite.enable { - users.groups.cara-site = { - members = [ "cara-site" ]; - }; - users.users.cara-site = { - createHome = true; - isSystemUser = true; - home = "/var/lib/cara-site"; - group = "cara-site"; - }; - - systemd.services.cara-site = { - wantedBy = [ "multi-user.target" ]; - environment = { - PORT = "${toString (config.cara.services.carasite.port)}"; - }; - serviceConfig = { - User = "cara-site"; - Group = "cara-site"; - Restart = "always"; - WorkingDirectory = "${defaultPackage}"; - ExecStart = "${defaultPackage}/bin/carasite"; - }; - }; - - networking.firewall.allowedTCPPorts = [ 443 80 ]; - - services.nginx = { - enable = true; - recommendedProxySettings = true; - recommendedTlsSettings = true; - virtualHosts."${config.cara.services.carasite.domain}" = { - forceSSL = true; - enableACME = true; - - locations."/" = { - proxyPass = "http://127.0.0.1:${toString (config.cara.services.carasite.port)}"; - }; - }; - }; - }; - }; - - - # `nix develop` - devShell = pkgs.mkShell { - nativeBuildInputs = with pkgs; [ rustc cargo ]; - }; - } - ); -} |