From 295a90fb4109cca35b990e3609dfad0b80df2aa2 Mon Sep 17 00:00:00 2001 From: Xe Date: Sun, 26 Dec 2021 11:53:12 -0500 Subject: [PATCH] add xess Signed-off-by: Xe --- flake.lock | 19 ++++++++++++++++++- flake.nix | 44 ++++++++++++++++++++++++++++++++++++++------ 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/flake.lock b/flake.lock index a376f86..cb3fc51 100644 --- a/flake.lock +++ b/flake.lock @@ -65,7 +65,24 @@ "inputs": { "flake-utils": "flake-utils", "naersk": "naersk", - "nixpkgs": "nixpkgs_2" + "nixpkgs": "nixpkgs_2", + "xess": "xess" + } + }, + "xess": { + "flake": false, + "locked": { + "lastModified": 1637634344, + "narHash": "sha256-63zWhmRpppLzh+H70gHSViHfZ4JvtnOFDRrrjkXtzJE=", + "owner": "Xe", + "repo": "Xess", + "rev": "f9ffc529fca9751afdce2408089c51e73d56fce8", + "type": "github" + }, + "original": { + "owner": "Xe", + "repo": "Xess", + "type": "github" } } }, diff --git a/flake.nix b/flake.nix index 8df966c..c396bb8 100644 --- a/flake.nix +++ b/flake.nix @@ -2,18 +2,41 @@ inputs = { flake-utils.url = "github:numtide/flake-utils"; naersk.url = "github:nix-community/naersk"; + xess = { + url = "github:Xe/Xess"; + flake = false; + }; }; - outputs = { self, nixpkgs, flake-utils, naersk }: + outputs = { self, nixpkgs, flake-utils, naersk, xess }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; naersk-lib = naersk.lib."${system}"; + srcNoTarget = dir: + builtins.filterSource (path: type: + type != "directory" || builtins.baseNameOf path != "target") dir; + src = srcNoTarget ./.; in rec { # `nix build` - packages.printerfacts = naersk-lib.buildPackage { - pname = "printerfacts"; - root = ./.; + packages = rec { + printerfacts-bin = naersk-lib.buildPackage { + pname = "printerfacts"; + root = srcNoTarget ./.; + }; + printerfacts = pkgs.stdenv.mkDerivation { + inherit (printerfacts-bin) name; + inherit src; + phases = "installPhase"; + + installPhase = '' + mkdir -p $out/static + + cp -rf $src/templates $out/templates + cp -rf ${printerfacts-bin}/bin $out/bin + cp -rf ${xess}/static/css/xess.css $out/static/gruvbox.css + ''; + }; }; defaultPackage = packages.printerfacts; @@ -23,8 +46,17 @@ defaultApp = apps.printerfacts; # `nix develop` - devShell = - pkgs.mkShell { nativeBuildInputs = with pkgs; [ rustc cargo ]; }; + devShell = pkgs.mkShell { + nativeBuildInputs = with pkgs; [ + rustc + cargo + cargo-watch + rls + rustfmt + ]; + + RUST_LOG = "info"; + }; nixosModules.printerfacts = { config, lib, pkgs, ... }: with lib;