/ 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 }