Simple tool for automatic file management
1# SPDX-FileCopyrightText: 2024 Łukasz Niemier <#@hauleth.dev>
2#
3# SPDX-License-Identifier: EUPL-1.2
4
5{
6 inputs = {
7 nixpkgs.url = "flake:nixpkgs";
8 systems.url = "github:nix-systems/default";
9 flake-parts.url = "github:hercules-ci/flake-parts";
10 fenix = {
11 url = "github:nix-community/fenix";
12 inputs.nixpkgs.follows = "nixpkgs";
13 };
14 devenv.url = "github:cachix/devenv";
15 };
16
17 nixConfig = {
18 extra-trusted-public-keys = "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=";
19 extra-substituters = "https://devenv.cachix.org";
20 };
21
22 outputs = {
23 self,
24 flake-parts,
25 ...
26 } @ inputs:
27 flake-parts.lib.mkFlake {inherit inputs;} {
28 imports = [
29 inputs.devenv.flakeModule
30 ];
31
32 systems = import inputs.systems;
33
34 perSystem = {
35 self',
36 pkgs,
37 ...
38 }: {
39 formatter = pkgs.alejandra;
40
41 packages = {
42 default = self'.packages.ptsd;
43 ptsd = pkgs.callPackage ./nix/ptsd.nix {};
44 };
45
46 devenv.shells.default = {
47 languages.rust = {
48 enable = true;
49 };
50
51 packages =
52 [
53 pkgs.scdoc
54 pkgs.cargo-nextest
55 pkgs.cargo-outdated
56 pkgs.reuse
57 ]
58 ++ pkgs.lib.lists.optionals pkgs.stdenv.isDarwin (with pkgs.darwin.apple_sdk; [
59 frameworks.Foundation
60 pkgs.libiconv
61 pkgs.darwin.libobjc
62 ]);
63 };
64 };
65 };
66}