nichts/flake.nix

79 lines
2.1 KiB
Nix

{
description = "My NixOS config flake";
outputs = inputs: let
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
user = import ./modules/user {inherit inputs pkgs;};
in {
nixosConfigurations = import ./hosts inputs;
devShells.x86_64-linux.default = pkgs.callPackage ./shell.nix {};
formatter.x86_64-linux = pkgs.alejandra;
packages.x86_64-linux = user.packages;
apps.x86_64-linux.default = {
type = "app";
program = "${user.packages.fish}/bin/fish";
};
nixosModules = {
user = user.module;
shell = import ./modules/shell {inherit pkgs;};
};
};
inputs = {
# Unstable nixpkgs baby!
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# Lix, a faster nix fork.
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
# Hyprland, my main compositor
hyprland.url = "github:hyprwm/Hyprland";
# 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";
};
hyprsplit = {
url = "github:shezdy/hyprsplit";
inputs.hyprland.follows = "hyprland";
};
impermanence.url = "github:nix-community/impermanence";
# Helix my beloved
helix.url = "github:helix-editor/helix";
# I use schizofox as my personal browser. This is because I am schizophrenic.
schizofox = {
url = "github:schizofox/schizofox";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:gerg-l/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
quickshell = {
url = "git+https://git.outfoxxed.me/outfoxxed/quickshell";
inputs.nixpkgs.follows = "nixpkgs";
};
};
}