nichts/flake.nix
2024-07-22 22:46:11 +02:00

112 lines
3 KiB
Nix

{
description = "My NixOS config flake";
outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;} (
{withSystem, ...}: {
systems = [
"x86_64-linux"
];
imports = [
inputs.treefmt-nix.flakeModule
# #./flake/pre-commit
./parts/shell.nix
./parts/fmt.nix
];
flake = {
nixosConfigurations = import ./hosts {inherit inputs withSystem;};
};
}
);
inputs = {
# what am I doing to this config help
flake-parts.url = "github:hercules-ci/flake-parts";
# Unstable nixpkgs baby!
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs for wayland
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
# Sandboxing
nixpak = {
url = "github:nixpak/nixpak";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Lix because fast rebuild times are cool
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
# Hardware for my laptop
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
# Secret management
agenix.url = "github:ryantm/agenix";
# Hyprland, my main compositor
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
# Plugins for hyprland
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
# Plugin to get split monitor workspaces
split-monitor-workspaces = {
url = "github:Duckonaut/split-monitor-workspaces";
inputs.hyprland.follows = "hyprland";
};
treefmt-nix.url = "github:numtide/treefmt-nix";
devshell = {
url = "github:numtide/devshell";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-flake = {
url = "github:notashelf/nvf";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
doomemacs = {
url = "github:doomemacs/doomemacs";
flake = false;
};
emacs-overlay.url = "github:nix-community/emacs-overlay";
doom-emacs-config = {
url = "github:bloxx12/doom-emacs-config";
flake = false;
};
anyrun = {
url = "github:Kirottu/anyrun";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix.url = "github:danth/stylix";
ags.url = "github:Aylur/ags";
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
schizofox = {
url = "github:schizofox/schizofox";
inputs = {
nixpkgs.follows = "nixpkgs";
nixpak.follows = "nixpak";
};
};
spicetify-nix.url = "github:the-argus/spicetify-nix";
};
}