馃 my neovim config:)
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 83 lines 2.0 kB view raw
1{ 2 description = "comfysage's neovim config"; 3 4 inputs = { 5 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; 6 7 gift-wrap = { 8 url = "github:tgirlcloud/gift-wrap"; 9 inputs.nixpkgs.follows = "nixpkgs"; 10 }; 11 12 neovim-src = { 13 url = "github:neovim/neovim"; 14 flake = false; 15 }; 16 }; 17 18 outputs = 19 inputs@{ 20 self, 21 nixpkgs, 22 ... 23 }: 24 let 25 inherit (nixpkgs) lib; 26 27 forAllSystems = 28 f: 29 lib.genAttrs lib.systems.flakeExposed ( 30 system: 31 f ( 32 import nixpkgs { 33 inherit system; 34 config.allowUnfree = true; 35 } 36 ) 37 ); 38 39 mkPackages = 40 default: pkgs: 41 let 42 generatedPackages = import ./default.nix { inherit pkgs inputs; }; 43 defaultPackage = lib.optionalAttrs default { default = generatedPackages.ivy; }; 44 in 45 generatedPackages // defaultPackage; 46 in 47 { 48 formatter = forAllSystems (pkgs: pkgs.treefmt.withConfig (import ./treefmt.nix { inherit pkgs; })); 49 50 packages = forAllSystems (mkPackages true); 51 52 homeModules.default = import ./modules/home-manager.nix inputs; 53 54 overlays.default = _: mkPackages false; 55 56 devShells = forAllSystems (pkgs: { 57 default = pkgs.mkShellNoCC { 58 packages = [ 59 self.formatter.${pkgs.stdenv.hostPlatform.system} 60 pkgs.selene 61 pkgs.stylua 62 ] 63 ++ lib.optional pkgs.stdenv.hostPlatform.isLinux pkgs.npins; 64 }; 65 }); 66 67 apps = forAllSystems (pkgs: { 68 update = { 69 type = "app"; 70 program = lib.getExe ( 71 pkgs.writeShellApplication { 72 name = "update"; 73 runtimeInputs = [ pkgs.npins ]; 74 75 text = '' 76 (cd pkgs/ivy-plugins && npins update) 77 ''; 78 } 79 ); 80 }; 81 }); 82 }; 83}