Files
nixos/flake.nix
T
Greg Hellings c12ed1b8a9 Separate nixvim config
Separating the actual nixvim config out to its own file allows me to
include it directly in the devshells that I create, incluing all of the
configuration, plugins, and settings that I have. Man, the power of
nixvim is awesome
2024-10-04 09:33:53 -05:00

115 lines
3.6 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
description = "Greg's machines!";
inputs = {
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixunstable";
};
btc = {
url = "github:fort-nix/nix-bitcoin/release";
};
darwin = {
url = "github:lnl7/nix-darwin/master";
inputs.nixpkgs.follows = "nixunstable";
};
flake-parts.url = "github:hercules-ci/flake-parts";
hooks.url = "github:cachix/git-hooks.nix";
hm = {
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixstable";
};
hmunstable = {
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixstable";
};
nixvimstable.url = "github:nix-community/nixvim/nixos-24.05";
nixvimunstable.url = "github:nix-community/nixvim/main";
nix23_05.url = "github:NixOS/nixpkgs/nixos-23.05";
nixstable.url = "github:nixos/nixpkgs/nixos-24.05";
nixunstable.url = "github:nixos/nixpkgs/nixos-unstable";
nurpkgs.url = "github:nix-community/NUR";
vsext.url = "github:nix-community/nix-vscode-extensions";
wsl = {
url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixunstable";
};
zed.url = "github:zed-industries/zed/v0.154.x";
};
outputs = { self, ... }@inputs:
let
local_overlay = import ./overlays;
overlays = [
inputs.agenix.overlays.default
local_overlay
inputs.nurpkgs.overlay
inputs.vsext.overlays.default
(_: _: { zed-editor = inputs.zed.packages.x86_64-linux.default; })
];
in
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
#checks = {
# x86_64-linux = {
# unstable = self.nixosConfigurations.jude.config.system.build.toplevel;
# stable = self.nixosConfigurations.linode.config.system.build.toplevel;
# };
# aarch64-linux = {
# unstable = self.nixosConfigurations.nixos.config.system.build.toplevel;
# };
#};
flake = {
nixosConfigurations = (import ./hosts { inherit inputs overlays; });
darwinConfigurations = (import ./darwin { inherit inputs overlays; });
homeConfigurations = (import ./home { inherit inputs overlays; });
overlays = {
default = local_overlay;
};
modules = import ./modules;
};
perSystem = { pkgs, self', system, ... }: {
_module.args.pkgs = import inputs.nixstable {
inherit system overlays;
};
checks = import ./checks.nix { inherit system; inherit (inputs) hooks; };
devShells = {
default = pkgs.mkShell {
inherit (self'.checks.pre-commit-check) shellHook;
buildInputs = with pkgs; [
bashInteractive
curl
git
gnutar
gzip
inject
inject-darwin
(inputs.nixvimunstable.legacyPackages.${system}.makeNixvim (import ./home/modules/baseline/vim/config.nix { inherit pkgs; }))
self'.checks.pre-commit-check.enabledPackages
tmux
xonsh
];
};
};
packages = rec {
default = iso;
iso = self.nixosConfigurations.iso.config.system.build.isoImage;
iso-beta = self.nixosConfigurations.iso-beta.config.system.build.isoImage;
};
};
};
}