diff --git a/.gitignore b/.gitignore index 53ff183..8ce9bfc 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ test/taskchampion.sqlite3 tasksquire test/*.sqlite3* +result diff --git a/flake.lock b/flake.lock index 24fd1d1..f9ae013 100644 --- a/flake.lock +++ b/flake.lock @@ -1,58 +1,59 @@ { "nodes": { - "flake-utils": { + "flake-parts": { "inputs": { - "systems": "systems" + "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { - "owner": "numtide", - "repo": "flake-utils", + "owner": "hercules-ci", + "repo": "flake-parts", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1770197578, - "narHash": "sha256-AYqlWrX09+HvGs8zM6ebZ1pwUqjkfpnv8mewYwAo+iM=", - "owner": "NixOS", + "lastModified": 1771369470, + "narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", + "owner": "nixos", "repo": "nixpkgs", - "rev": "00c21e4c93d963c50d4c0c89bfa84ed6e0694df2", + "rev": "0182a361324364ae3f436a63005877674cf45efb", "type": "github" }, "original": { - "id": "nixpkgs", + "owner": "nixos", "ref": "nixos-unstable", - "type": "indirect" + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1769909678, + "narHash": "sha256-cBEymOf4/o3FD5AZnzC3J9hLbiZ+QDT/KDuyHXVJOpM=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "72716169fe93074c333e8d0173151350670b824c", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" } }, "root": { "inputs": { - "flake-utils": "flake-utils", + "flake-parts": "flake-parts", "nixpkgs": "nixpkgs" } - }, - "systems": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 2848139..e6cbd16 100644 --- a/flake.nix +++ b/flake.nix @@ -2,18 +2,16 @@ description = "Tasksquire"; inputs = { - nixpkgs.url = "nixpkgs/nixos-unstable"; - flake-utils.url = "github:numtide/flake-utils"; + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + flake-parts.url = "github:hercules-ci/flake-parts"; }; - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = import nixpkgs { - inherit system; - }; + outputs = inputs@{ self, nixpkgs, flake-parts, ... }: + flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" ]; - tasksquire = pkgs.buildGoModule { + perSystem = { config, self', inputs', pkgs, system, ... }: { + packages.tasksquire = pkgs.buildGoModule { pname = "tasksquire"; version = "0.1.0"; src = ./.; @@ -32,13 +30,13 @@ mainProgram = "tasksquire"; }; }; - in - { - packages.default = tasksquire; - packages.tasksquire = tasksquire; - apps.default = flake-utils.lib.mkApp { drv = tasksquire; }; + # Set the default package + packages.default = self'.packages.tasksquire; + + # Development shell devShells.default = pkgs.mkShell { + inputsFrom = [ self'.packages.tasksquire ]; buildInputs = with pkgs; [ go_1_24 gcc @@ -50,14 +48,9 @@ go-tools gotests delve - taskwarrior3 - timewarrior ]; CGO_CFLAGS = "-O"; }; - - # Backward compatibility - devShell = self.devShells.${system}.default; - }); + }; + }; } -