From 1a47d8e83719d1a981626db3eb58dbdd7fea053a Mon Sep 17 00:00:00 2001 From: "Gustavo L de Mello (Guz)" Date: Thu, 12 Sep 2024 10:34:25 -0300 Subject: [PATCH] feat: add nix derivation declaration --- .gitignore | 1 + flake.lock | 21 +++++++++++++++++++++ flake.nix | 43 ++++++++++++++++++++++++++++++++++--------- package-lock.json | 5 ++++- package.json | 2 ++ 5 files changed, 62 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index 025a7f4..8aa76e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules/ /dist/ *.tar.gz +result diff --git a/flake.lock b/flake.lock index db42797..9715086 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,25 @@ { "nodes": { + "gitignore": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1709087332, + "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", + "owner": "hercules-ci", + "repo": "gitignore.nix", + "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "gitignore.nix", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1725983898, @@ -18,6 +38,7 @@ }, "root": { "inputs": { + "gitignore": "gitignore", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index b6ad75b..2138aab 100644 --- a/flake.nix +++ b/flake.nix @@ -2,10 +2,16 @@ description = "My development environment"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + gitignore = { + url = "github:hercules-ci/gitignore.nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, nixpkgs, + gitignore, + ... }: let systems = [ "x86_64-linux" @@ -19,15 +25,34 @@ in f system pkgs); in { - nixosModules = { - dot013-environment = import ./configuration.nix; - default = self.nixosModules.dot013-environment; - }; - homeManagerModules = { - dot013-environment = import ./home.nix; - default = self.homeManagerModules.dot013-environment; - }; - homeManagerModule = self.homeManagerModules.dot013-environment; + defaultPackage = forAllSystems (system: pkgs: let + app = pkgs.buildNpmPackage rec { + pname = "frappurccino-forgejo"; + version = "0.1.0"; + src = gitignore.lib.gitignoreSource ./.; + + npmDepsHash = "sha256-4wArkv3O5rhuDlrUC05K1jIz2ZLdC8M48ILz+O+O7CU="; + npmPackFlags = ["--ignore-scripts"]; + + buildPhase = '' + runHook preBuild + + npm run build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r dist $out/css + + runHook postInstall + ''; + }; + in + app); devShells = forAllSystems (system: pkgs: { default = pkgs.mkShell { buildInputs = with pkgs; [ diff --git a/package-lock.json b/package-lock.json index 66a2bbc..1578f10 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9 +1,12 @@ { - "name": "frappuccino-forgejo", + "name": "fappurccino-forgejo", + "version": "0.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { + "name": "fappurccino-forgejo", + "version": "0.1.0", "dependencies": { "@catppuccin/palette": "^1.3.0", "sass": "^1.66.1" diff --git a/package.json b/package.json index 6840667..16f1f62 100644 --- a/package.json +++ b/package.json @@ -1,4 +1,6 @@ { + "name": "fappurccino-forgejo", + "version": "0.1.0", "type": "module", "scripts": { "build": "node ./build.js"