/ flake.nix
flake.nix
 1  {
 2    description = "A flake of archaengel's dotfiles";
 3  
 4    inputs = {
 5      nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
 6  
 7      nixCats.url = "github:BirdeeHub/nixCats-nvim";
 8  
 9      neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
10  
11      plugins-nvim-navic = {
12        url = "github:SmiteshP/nvim-navic";
13        flake = false;
14      };
15  
16      plugins-gh-nvim = {
17        url = "github:ldelossa/gh.nvim";
18        flake = false;
19      };
20  
21      plugins-nerdcommenter = {
22        url = "github:preservim/nerdcommenter";
23        flake = false;
24      };
25  
26      plugins-nvim-dap-vscode-js = {
27        url = "github:mxsdev/nvim-dap-vscode-js";
28        flake = false;
29      };
30  
31      plugins-vscode-js-debug = {
32        url = "github:microsoft/vscode-js-debug";
33        flake = false;
34      };
35    };
36  
37    outputs =
38      inputs@{ self, nixpkgs, ... }:
39      let
40        forAllSystems = nixpkgs.lib.genAttrs [
41          "aarch64-linux"
42          "x86_64-linux"
43          "x86_64-darwin"
44        ];
45  
46        customNvim = import ./nvim/.config/nvim/default.nix { inherit inputs; };
47      in
48      {
49        packages = forAllSystems (
50          system:
51          let
52            pkgs = nixpkgs.legacyPackages.${system};
53          in
54          {
55            default = pkgs.stdenv.mkDerivation {
56              name = "dotfiles";
57              src = ./.;
58  
59              installPhase = ''
60                mkdir -p $out
61                cp -r $src/* $out
62              '';
63            };
64  
65  	  nvim = customNvim.packages.${system}.nvim;
66          }
67        );
68      };
69  }